COMS E6998-1: Matlab Tutorial


Matlab is one of the best tools for designing machine learning algorithms and many of the class assignments and class projects will be easiest to implement and explore with it. Alternatively, it is possible to use other mathematical software like Mathematica or MathCad although these will be much more awkward. Furthermore, it is possible to use C/C++ or Java as the implementation platform but you will require matrix libraries. One standard source of matrix libraries and supporting funcitons is Numerical Recipes. Other libraries for C/C++ include Lapack and Blas which are available for Intel Windows as well as unix.

Matlab is available to the Columbia community through AcIS.
You just connect (i.e. using ssh) to an AcIS CUNIX machine like:
ssh -lyourusername cunix.cc.columbia.edu
And then run 'matlab' (which lives in /opt/local/bin/matlab).

See the following for more details (Windows or Unix):
AcIS Matlab Software
License Information

The Columbia University Computer Science department also has Matlab available on various Unix machines (in /usr/local/bin/matlab).

Matlab Tutorials (from simplest to most elaborate):
UNH Matlab Tutorial
US Navy Matlab Tutorial
MTU Introduction to Matlab
Mathworks' Matlab documentation


Example code (plots a 2D Gaussian ellipse contour):
plotGauss.m

Example code (plots several Gaussians using the above function):
plotClust.m

Example code (randomly initializes and plots M Gaussians for a data set):
randInit.m

Example code (plots a point from dataset3 or dataset 4 as an image, type 'help imageData'):
imageData.m