MATLAB by liuzedongsd


									MATLAB: An introduction

       Christian Ruff
Course overview

•   Autumn 2007: Using MATLAB for data analysis and visualisation
     –   Session 1: Introduction
     –   Session 2: Data types, handling data
     –   Session 3: Statistical data analysis and Visualisation
     –   Session 4: Producing graphs in MATLAB
     –   Session 5: User-defined Topics, questions and answers

•   Spring 2008: Using MATLAB to run experiments and collect data

•   April or May 2008: SPM – a MATLAB “toolbox”

•   Summer 2008: Advanced experimental and data analysis procedures

 Practical demonstration with code, not lecture

 All materials online at
What is MATLAB?

•   “MATrix LABoratory”, a high-level programming language / computing environment

•   Developed in the late 70s for computer science students
     commands for linear algebra routines (matrix operations)

•   Now also contains ‘intuitive’ routines for graphing, user interfaces, hardware control

•   Today most popular environment in scientific computing (ahead of Mathematica,
    Octave, or Python); over 1.000.000 users in science, engineering, industry, etc.

•   Learning MATLAB is good for almost any scientist

     –   Many specialised toolboxes available (e.g., statistics; neural network modelling; image
         processing, etc.)

     –   A lot of code for specific scientific purposes freely available on the internet (e.g., COGENT,

     –   Easy to modify existing routines / write your own code / learn how others solve problems
How do I get started?


•   Academic license is £128 for basic package; £128 for each toolbox (e.g.,
    statistics); free trial version available

•   Windows, Mac, LINUX versions

•   Excellent documentation and tutorial (both online and in pdf form) at or by typing help or doc in MATLAB

•   Other MATLAB tutorials on the web:

•   A good book: “Mastering Matlab” by Hanselmann and Littlefield

•   Lots of functions at
Demo: Structure and handling of MATLAB

•   Starting MATLAB
•   Command window
•   Evaluating commands: comma and semicolon
•   Variables: Scalars and matrices
•   operators
•   errors
•   Help (F1) / doc
•   cls

•   Workspace
•   Clear: variables and all
•   load / save .mat files
•   Current directory, pwd, ls, cd + graphical options for this

•   Command history; arrow up/down
•   Editor: save series of commands as .m files, execute with F9 / button / run
•   Dock editor
Demo: Functions

• Functions: function [output1,output2,…] = myfun(input1, input2,…)

• Functions:
   – Input needs to be defined in command, output not
   – Function workspace: a separate module of the workspace
       • contains inputs to functions, transformation variables, and outputs from
       • These variables are not visible from the global workspace
       • Functions can call other functions and contain subfunctions
   – Commands without semicolon are visible in command window
   – Graphical output is visible
Demo: Functions in MATLAB

• MATLAB – just a collection of functions:
   – Built-in functions cannot be edited but have an .m-file (for help)
   – Add-on functions are just an ordinary .m file that you can see/edit/add

• How MATLAB finds a function:
   –   Embedded in the function as subfunction
   –   Built-in functions
   –   Local directory
   –   Path in descending order

• Add functions to directory outside of the MATLAB toolbox (e.g.,
  ‘work’ – otherwise MATLAB might overwrite them when re-installed

• Dependency report
Demo: Errors and debugging

• Errors in functions:
    – Error message with pointer to problem (but workspace problem)

• Help text and doc text

• debugging mode: access the function workspace and go through
  code/functions step by step:
    – Stop if error
    – Breakpoints

To top