MATLAB Notes
Yet another program like IDL and R with similar function but
more mathematical emphasis, and slightly different syntax
for everything.
A. BASIC SYNTAX
cd % show current directory
cd .. % like unix, move up a directory
cd /home/hartigan/programs % change directory
ls % like unix, shown in side window
open file.dat % read in data from a file
% % the comment character
x % prints x to screen
clear % clear variables from workspace (listed in right panel)
save stuff.dat % save variables from current session
save y y % saves vector y into file y.mat, which is a binary format
% that matlab can open, e.g. via the menu 'open' command
load stuff.dat % load variables from previous session
str = ' a string' % define a character string
str1 = [str ' = ' num2str(a)] % combine strings. num2str converts number to string
doc command % manual on command
help command % short help on command
type test.dat % print contents of test.dat to screen
B. NUMERICAL OPERATIONS
pi*exp(1) % pi and e
log10(x) % logarithm base 10. log is natural log
x^3 % cube of x. x**3 does not work
x=0:0.5:4; % sequence, x=0,0.5,1.0,...4.0
cos(x) % basic trig functions work
acos(x) % inverse trig functions in radians
max(a) % maximum value of a
%
x=[2,5;3,-3] % define a matrix
inv(x) % matrix inverse
det(x) % matrix determinant
x' % matrix transpose
zeros(3,2) % 3x2 matrix of zeros
[x;x;x] % stack 3 x's to form a taller matrix
a(2,:) % all values in row 2 of array ':' is wildcard
%
rand(30,2) % 2 columns of 30 random numbers
%
mean(y) % mean of y
var(y) % variance of y
C. PLOTTING
plot(x,y) % the plot command, black line
plot(x,y,'b--') % dashed blue line, b-. for dot-dash, g* for green stars
% d for diamonds, k- for black line, etc
xlabel('Wavelength') % xlabels and ylabels
title('Important Graph') % title of plot
legend('Temp','Density') % legend for plot
surf(x,y,x) % surface plot. use meshgrid to embed grid
subplot(2,2,1); plot commands ; % plot 1 of 4 in a 2x2 grid
char(176) % the degree character
D. PRINTING
E. PROGRAMMING
for k=1:n % syntax for looping
c(i)=y(3*i)
end
%scripts
file % runs script of matlab commands from file.m ; the .m matters
% cannot be named 'try.m' as that is something else in the path
% open a file and read columns of data from it
fid=fopen('name.dat','r'); % 'r' to read, 'w' to write, fid is a logical unit number
fgetl(fid) % read a single line to skip over header
a=fscanf(fid,'%f',[5,Inf]); % '%f' is for floating point, 5-column file, %d for integers
col3=a(3,:)' % column 3 of name.dat
fclose(fid) % close the file
frewind(fid); % rewind file to beginning
pause(0.5) % sleep for 0.5 seconds
F. WAVELETS
waveletAnalyzer %launches wavelet gui; useful for seeing coefficients
%click on Property Editor, then click the axis to change font
% Tools->Data Cursor and click to see values; Right-click to delete
cwt(x,'haar','NumberofOctaves',8,'VoicesperOctave',10,seconds(1)) %Continuous wavelet spectrogram
% Haar is the wavelet, seconds tells it to do periods
% icwt is the inverse transform