Help:Matlab

From CECS wiki
Jump to navigation Jump to search

MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran.

Vendor homepage
http://www.mathworks.com/
Software homepage
http://www.mathworks.com/products/matlab/
Software availability
Windows, Unix, Mac OS X
Educational Purposes
Matlab for Homework / Classwork is installed on computers in the Engineering 2 atrium and other open student labs.
There is also a student version [1] [2] available for sale from Mathworks.
See also GNU Octave or julia as a possible free alternative.
Matlab may be available to students in selected classes on https://apps.ucf.edu after add/drop.
Research Purposes
selected computer science unix servers
Available to specific departments and research groups on lab computers only
Other departments check with your adviser for availability.
Matlab is licensed per-seat for research use. Contact support@cecs.ucf.edu for details.
View online documentation
http://www.mathworks.com/access/helpdesk/help/helpdesk.shtml
Related software
GNU Octave
Julia
mathcad
Mathematica (not licensed here)
freemat (free)

See also[edit]

Matlab on clusters[edit]

Matlab jobs on the cluster need to be compiled before being submitted to the job queue.

Matlab will use all cpus available unless told not to. If you are running matlab on the cluster in a batch queue, please either account for the cpus it uses or use the following options to limit it so machines are not oversubscribed:

  • -singleCompThread when not compiled
  • -R singleCompThread when compiled?

See: [3] [4] and http://www.mathworks.com/help/matlab/ref/maxnumcompthreads.html

Matlab license limits on clusters[edit]

Most clusters have more cpus than we have matlab licenses, and most jobs on the cluster run for an extended period of time without any user interaction or code changes. Therefore, we ask you to compile your matlab jobs (see above) once your code is stable and you are ready to run it on more than a few cpus.

  • If you are still writing your code and only running one or two instances, it is ok to run matlab interactively. Once you exceed this, please compile.
  • Please don't run matlab on the cluster head, use compute nodes instead. Repeat violations of this will result in your matlab session being killed.
  • We only have fewer than 4 licenses for some of the more specialized toolboxes. Please be considerate of other users don't use these for extended periods on the cluster without compiling.
  • Certain operations do not make sense and do not work inside compiled jobs. You will need to adjust your code to omit these and make other provisions.
    addpath
    instead use the mcc -a option to add library directories and additional source files so they are included in your compiled executable
    mex
    mex needs to be run only once, and must be run on the cluster head to succeed. It should never be run inside a batch job.
    mcc
    you can't compile a matlab job inside a compiled matlab job. Instead, do this once on the head node and / or include these files with the mcc -a option
    hardcoded paths
    if your code hardcodes paths to other matlab files, the base directory may be slightly different inside the mcc generated executable, and these items must be included with the mcc -a option

Unknown graphics driver[edit]

If matlab in linux crashes with "Unknown graphics driver" and you don't need high speed graphics, try

 matlab -softwareopengl