MATLAB - PowerPoint PPT Presentation

About This Presentation
Title:

MATLAB

Description:

MATLAB Basics MATLAB User Environment Getting help System Environment Windows MATLAB installed in c:\matlab6.5 Your code anywhere convenient (e.g. h:\matlab) Linux ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 25
Provided by: IanBr6
Category:
Tags: matlab | double | root

less

Transcript and Presenter's Notes

Title: MATLAB


1
MATLAB
  • Basics

2
MATLAB User Environment
Workspace/Variable Inspector
Command Window
Command History
3
Getting help
There are several ways of getting help Basic
help on named commands/functions is echoed to the
command window by gtgt help command-name A
complete help system containing full text of
manuals is started by gtgt helpdesk
4
System Environment
  • Windows
  • MATLAB installed in c\matlab6.5
  • Your codeanywhere convenient (e.g. h\matlab)
  • Linux (Environment network)
  • MATLAB installed in /apps/matlab
  • Your code in /home/username/matlab
  • Your environment configuration in /.matlab

5
startup.m
  • The script matlab_root\toolbox\local\matlabrc.m
    is always run at startup it reads system
    environment variables etc, and initialises
    platform dependent settings. If present it will
    run a user defined initialisation script
    startup.m
  • Linux /home/user/matlab/startup.m
  • Windows matlab_root\toolbox\local\startup.m
  • Use startup.m for setting paths, forcing
    preferred settings, etc.

6
Example startup.m file (for my laptop)
------------------------------------- Matlab
startup file for IMB's laptop -------------------
------------------ -- add paths for my m-files
-- addpath d/matlab addpath d/matlab/bulk2.5 add
path d/matlab/bulk2.6 addpath d/matlab/coastal a
ddpath d/matlab/lidar addpath d/matlab/ndbc addp
ath d/matlab/page addpath d/matlab/sections addp
ath d/matlab/sharem addpath d/matlab/wavelet add
path d/matlab/LEM addpath d/matlab/GPSbook addpa
th d/matlab/FAAM addpath d/matlab/FAAM/winds add
path d/matlab/faam/bae -- add netCDF toolbox
-- addpath c/matlab701/bin addpath
c/matlab701/bin/win32 addpath d/matlab/netcdf ad
dpath d/matlab/netcdf/ncfiles addpath
d/matlab/netcdf/nctype addpath
d/matlab/netcdf/ncutility
-- add path for generic data -- addpath
d/matlab/coastlines coastline
data addpath d/cw96/flight_data/jun02 raw
cw96 addpath d/cw96/flight_data/jun07
aircraft data addpath d/cw96/flight_data/jun11 ad
dpath d/cw96/flight_data/jun12 addpath
d/cw96/flight_data/jun17 addpath
d/cw96/flight_data/jun19 addpath
d/cw96/flight_data/jun21 addpath
d/cw96/flight_data/jun23 addpath
d/cw96/flight_data/jun26 addpath
d/cw96/flight_data/jun29 addpath
d/cw96/flight_data/jul01 addpath d/cw96/runs
run definitions for cw96 flights
------------------------------------------------
---------------------- -- set default figure
options -- set(0,'DefaultFigurePaperType','a4')
this should be the default in EU
anyway set(0,'DefaultFigurePaperUnits','inches')
v6 defaults to cm for EU
countries set(0,'DefaultFigureRenderer','painters'
) v7 default OpenGL causes problems
7
  • addpath adds directories to the search path.
    MATLAB will look in ALL directories on the path
    for
  • Functions and scripts (.m files)
  • MATLAB data files (.mat files)
  • It will also look in the current directory
  • The set commands in the example startup.m file
    set some default graphics properties, overriding
    the defaults will cover these later.

8
The WORKSPACE
  • MATLAB maintains an active workspace, any
    variables (data) loaded or defined here are
    always available.
  • Some commands to examine workspace, move around,
    etc

who lists variables in workspace
gtgt who Your variables are x y
9
whos lists names and basic properties of
variables in the workspace
gtgt whos Name Size Bytes
Class x 3x1 24
double array y 3x2
48 double array Grand total is 9 elements
using 72 bytes
pwd, cd, dir, ls similar to operating system
(but no option switches)
gtgt pwd ans D\ gtgt cd cw96\jun02 gtgt dir .
30m_wtv.mat edson2km.mat
jun02_30m_runs.mat .. 960602_sst.mat
edson_2km_bulk.mat
10
VARIABLES
  • Everything (almost) is treated as a
    double-precision floating point array by default
  • Typed variables (integer, float, char,) are
    supported, but usually used only for specific
    applications. Not all operations are supported
    for all typed variables.
  • IDL uses typed variables, but allows mixing of
    types...at least to some extent

11
gtgt x1 2 3 x 1 2 3 gtgt
x1,2,3 x 1 2 3 gtgt x1
2 3 4 gtgt x1234 x 1
2 3 4
When defining variables, a space or comma
separates elements on a row.
A newline or semicolon forces a new row these 2
statements are equivalent. NB. you can break
definitions across multiple lines.
12
  • 1 2D arrays are treated as formal matrices
  • Matrix algebra works by default

1x2 row oriented array (vector)(Trailing
semicolon suppresses display of output)
gtgt a1 2 gtgt b3 4 gtgt ab ans
11 gtgt ba ans 3 6 4 8
2x1 column oriented array
Result of matrix multiplication depends on order
of terms (non-cummutative)
13
  • Element-by-element operation is forced by
    preceding operator with .

gtgt a1 2 gtgt b3 4 gtgt a.b ??? Error
using gt times Matrix dimensions must agree.
Size and shape must match
14
gtgt a1 2 A 1 2 gtgt b3 4 gtgt a.b ans
3 8 gtgt cab c 4 6
No trailing semicolon, immediate display of result
Element-by-element multiplication
Matrix addition subtraction operate
element-by-element anyway. Dimensions of matrix
must still match!
15
gtgt A 134679 A 1 2 3
4 5 6 7 8 9 gtgt mean(A) ans
4 5 6 gtgt sum(A) ans 12
15 18
Most common functions operate on columns by
default
16
INDEXING ARRAYS
n
m
  • MATLAB indexes arrays
  • 1 to N
  • row,column
  • 1,1 1,2 . 1,n
  • 2,1 2,2 . 2,n
  • 3,1 3,2 . 3,n
  • . . .
  • m,1 m,2 . m,n
  • IDL indexes arrays
  • 0 to N-1
  • column,row
  • 0,0 1,0 . n-1,0
  • 0,1 1,1 . n-1,1
  • 0,2 1,2 . n-1,2
  • . . . .
  • 0,m-1 1,m-1 . n-1,m-1

17
gtgt A 134679 A 1 2 3
4 5 6 7 8 9 gtgt A(2,3) ans
6 gtgt A(13,2) ans 2 5 8 gtgt A(2,) ans
4 5 6
The colon indicates a range, ab (a to b)
A colon on its own indicates ALL values
18
THE COLON OPERATOR
  • Colon operator occurs in several forms
  • To indicate a range (as above)
  • To indicate a range with non-unit increment

gtgt N 51035 N 5 15 25 35 gtgt P 13
30-1010 P 1 2 3 30 20 10
19
  • To extract ALL the elements of an array (extracts
    everything to a single column vector)

gtgt A 13 101030 100100300 A
1 2 3 10 20 30 100 200 300
gtgt A() ans 1 10 100 2 20 200 3 30 300
20
LOGICAL INDEXING
  • Instead of indexing arrays directly, a logical
    mask can be used an array of same size, but
    consisting of 1s and 0s usually derived as
    result of a logical expression.

gtgt X 110 X 1 2 3 4 5 6 7 8
9 10 gtgt ii Xgt6 ii 0 0 0 0 0 0
1 1 1 1 gtgt X(ii) ans 7 8 9 10
21
Basic Operators
  • , -, , / basic numeric operators
  • \ left division (matrix division)
  • raise to power
  • transpose (of matrix) flip along diagonal
  • fliplr(), flipud() flip matrix about vertical
    and horizontal axes.

22
SAVING DATA
  • MATLAB uses its own platform independent file
    format for saving data files have a .mat
    extension
  • The save command saves variables from the
    workspace to a named file (or matlab.mat if no
    filename given)
  • save filename saves entire workspace to
    filename.mat
  • save var1 var2 filename saves named variables
    to filename.mat
  • By default save overwrites an existing file of
    the same name, the append switch forces
    appending data to an existing file (but variables
    of same name will be overwritten!)
  • save var1 var2 filename -append

23
  • Data is recovered with the load command
  • load filename loads entire .mat file
  • load filename var1 var2 loads named variables
  • load filename ascii loads contents of an ascii
    flatfile in a variable filename. The ascii
    file must contain a rectangular array of numbers
    so that it loads into a single matrix.
  • Xload(filename,-ascii) loads the ascii
    file into a variable X
  • save var1 filename ascii saves a single
    variable to an ascii flat file (rectangular array
    of numbers)

24
  • There have been changes to the internal format of
    .mat files between MATLAB v4 and v5 (major
    changes to allow arrays with more than 2
    dimensions, structures, cell arrays), and again
    with v7 (minor change to use unicode instead of
    ascii).Later versions will load old format
    files. You can force save to an old file format
    with v4 and v6 switchessave filename v6
Write a Comment
User Comments (0)
About PowerShow.com