MATLAB, the MATrix LABratory, is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran. For more see: MathWorks MATLAB website and Origins of MATLAB.

The primary benefits of developing a project with MATLAB include: efficient, concise array manipulations; availability of many already-implemented numerical routines (via the standard distribution, input-group-addon toolboxes, or online software repositories); and the large community of users available for support. One particularly active MATLAB community and software repository is MATLAB Central. For more see: MATLAB Central


Toolboxes are input-group-addons to the standard MATLAB distribution. They provide additional functionality within a targeted application area. DSC has the following toolboxes available (current as of Spring 2009):

  • Control System Toolbox
  • Fixed-Point Toolbox
  • Image Processing Toolbox
  • Mapping Toolbox
  • Neural Network Toolbox
  • Optimization Toolbox
  • Partial Differential Equation Toolbox
  • Signal Processing Toolbox
  • Statistics Toolbox
  • System Identification Toolbox
  • Wavelet Toolbox

For more see: MathWorks Product Listing

High-Performance Computing with MATLAB

Beginning with MATLAB R2007b, new features have been implemented in the official MathWorks MATLAB distribution that allow for parallel and distributed computing. The MATLAB Distributed Computing Engine, used in conjunction with Distributed Computing Toolbox, enables MATLAB and Simulink users to execute applications on a computer cluster. For more see: Cleve's Corner: Parallel MATLAB: Multiple Processors and Multiple Cores.

MatlabMPI is set of MATLAB scripts that implement a subset of MPI and allow any MATLAB program to be run on a parallel computer. The key innovation of MatlabMPI is that it implements the widely used MPI look and feel on top of standard MATLAB file i/o, resulting in a pure MATLAB implementation that is exceedingly small (~300 lines of code). Thus, MatlabMPI will run on any combination of computers that MATLAB supports. For more see: MATLAB MPI.

Running MATLAB

With the exception of the classroom and hallway computers, MATLAB access is available only on the General Purpose (GP) Cluster through SGE. Unless initiated through an X11-capable terminal (i.e. Gnome Terminal, xterm, rxvt, etc.), MATLAB will start in a text-only command-line mode.

NOTE: To force MATLAB to run in command-line mode use the following flags:

matlab -nodesktop -nojvm -nosplash
-nodesktop Start MATLAB without its desktop.
-nojvm Start MATLAB without the Java virtual machine (JVM).
-nosplash Start MATLAB but does not display the splash screen.

DSC General Access

MATLAB must be run remotely using SGE

  • Open an X11 terminal and type: qlogin
  • SGE will locate the least-loaded classroom node and initiate a connection.
  • After authenticating, type: matlab

If qlogin is not available on your machine, you must run the above commands from the PAMD cluster.

  • SSH to pamd: ssh -X
  • Then follow the above instructions.

Classroom and Hallway Computers

MATLAB is installed locally on each machine.

  • Open an X11 terminal and type: matlab

In Batch Mode

There are circumstances where a user would want to run MATLAB without its graphical user interface (GUI). For example, a user may want call a MATLAB script from a Makefile, or submit multiple batch jobs to a queuing system.

From a Makefile

Use the following syntax: cd WORKING_DIRECTORY && matlab -nosplash -nojvm -r PATH_TO_MATLAB_SCRIPT where

  • WORKING_DIRECTORY is the directory that MATLAB will work in.
  • PATH_TO_MATLAB_SCRIPT is the path to the MATLAB m-file you wish to run

Learning MATLAB

There are a plethora of beginning MATLAB tutorials on the internet. A few are listed here:

One of the most overwhelming parts of learning MATLAB is becoming familiar with all of its functions. A useful resource is