Matlab (1) : The Basics
Matlab (1) : The Basics
Basics
Workspace/Variable Inspector
Getting help
There are several ways of getting help: Basic help on named commands/functions is echoed to the command window by: >> help command-name A complete help system containing full text of manuals is started by: >> helpdesk
System Environment
Windows
MATLAB installed in c:\matlab6.5 Your codeanywhere convenient (e.g. h:\matlab)
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
addpath d:/cw96/flight_data/jun02 % raw cw96 addpath d:/cw96/flight_data/jun07 % aircraft data addpath d:/cw96/flight_data/jun11 addpath 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
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)
The set commands in the example startup.m file set some default graphics properties, overriding the defaults will cover these later.
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
>> who Your variables are: x y
D:\
>> cd cw96\jun02 >> dir . 30m_wtv.mat .. 960602_sst.mat
VARIABLES
Everything (almost) is treated as a doubleprecision 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]
>> x=[1 2 3] x = 1 2
3 A newline or semicolon forces a new row; these 2 statements are equivalent. NB. you can break definitions across multiple lines.
Element-by-element multiplication
8 Matrix addition & subtraction operate element-by-element anyway. Dimensions of matrix must still match!
15
18
INDEXING ARRAYS
n m
>> A = [1:3;4:6;7:9] A = 1 2 3 4 5 6 7 8 9 >> A(2,3) ans = 6 >> A(1:3,2) ans = 2 5 8 >> A(2,:) ans = 4 The colon indicates a range, a:b (a to b)
15
25
35
To extract ALL the elements of an array (extracts everything to a single column vector)
>> A = [1:3; 10:10:30;
100:100:300] A = 1 10 100 2 20 200 3 30 300
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.
>> X = [1:10] X = 1 ii = 0 >> X(ii) ans = 7 8 9 10 0 0 0 0 0 1 1 1 1 2 3 4 5 6 7 8 9 10 >> ii = X>6
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.
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
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 switches
save filename v6