Parent page: Programming Applications

# Introduction

MATLABĀ® is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.

You can use MATLAB in a wide range of applications, including signal and image processing, communications, control design, test and measurement, financial modeling and analysis, and computational biology. Add-on toolboxes (collections of special-purpose MATLAB functions, available separately) extend the MATLAB environment to solve particular classes of problems in these application areas.

MATLAB provides a number of features for documenting and sharing your work. You can integrate your MATLAB code with other languages and applications, and distribute your MATLAB algorithms and applications.

# MATLAB R2010a Installation Instructions

You will need superuser privileges. The assumption is that MATLAB install files are in

**/media/MATHWORKS_R2010A**.

1. Create the directory MATLAB will be installed to. It is recommended that you use **/usr/local/matlabR2010a**:

sudo mkdir /usr/local/matlabR2010a

2. Change your working directory to the directory MATLAB will be installed to:

cd /usr/local/matlabR2010a/

3. Run the MATLAB installer:

sudo sh /media/MATHWORKS_R2010A/install

The above "installer" gives you the choice between the 32-bit and 64-bit platform. However, if you are running the student version on a 64-bit machine, you need to set the -glnx86 flag:

sudo sh /media/MATHWORKS_R2010A/install_unix.sh -glnx86

**DO NOT START MATLAB AT THE END OF THE INSTALLATION**

*Starting MATLAB at the end of Product Activation creates a permissions problem for storing MATLAB preferences, since the directory and files inside of ~/.matlab will be created for the root user. However this inconvenience can be easily fixed running the following command:*

sudo chown -R ${USER}:${USER} ~/.matlab

Note: For MATLAB 2010b, you can choose NOT to activate at the end of the install and after you run MATLAB again, you will be asked for licensing credentials. You can now activate MATLAB and the preference files will not be created for root, but you instead.

4. Set the value of the $MATLAB variable in /etc/bash.bashrc as follows

export MATLAB=/usr/local/matlab2010a

## Create A MATLAB Launcher

1. Get an icon:

sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/icons/matlab.png

2. Get the launcher file:

sudo wget 'https://help.ubuntu.com/community/MATLAB?action=AttachFile&do=get&target=matlab-r2010a.desktop' -O /usr/share/applications/matlab.desktop

## MEX functions

If you try to compile MEX functions you may see a message like the following:

Warning: You are using gcc version "4.4.3-4ubuntu5)". The version currently supported with MEX is "4.2.3". For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release/

**Note** this is a warning - the MEX function will still compile.

The following instructions will setup gcc 4.2 and make it the default compiler for MATLAB on versions of Ubuntu prior to 10.04 LTS (Lucid):

1. Install The GNU Compiler Collection 4.2 and The GNU Standard C++ Library

sudo aptitude install gcc-4.2-multilib libstdc++6-4.2-dev

2. Make a MATLAB specific 'bin' directory for gcc symlink.

mkdir ~/.matlab/bin

3. Symlink gcc to gcc-4.2 via user MATLAB specific 'bin' directory.

ln -s /usr/bin/gcc-4.2 ~/.matlab/bin/gcc

4. Add MATLAB specific 'bin' directory to the front of your system $PATH within your local startup.m file.

printf "setenv(\'PATH\',sprintf(\'/home/%%s/.matlab/bin:%%s\',getenv(\'USER\'),getenv(\'PATH\')));\n" >> ~/Documents/MATLAB/startup.m

## Possible Problems

### Preferences Permission

When you launch your MATLAB Desktop you might see an error message similar to the following:

The desktop configuration was not saved successfully Cannot write to preference file "matlab.prf" in "/home/username/.matlab/R2010a". Check file permissions.

You can resolve this by exiting all instances of MATLAB and issuing the following command in your terminal:

sudo chown -R ${USER}:${USER} ~/.matlab

### Missing JRE

1. Install the 32-bit version of the the Sun Java Runtime Environment.

sudo apt-get install ia32-sun-java6-bin

For Maverick, you need to add the "Canonical Partners - Software packaged by Canonical for their partners" repository in Synaptic to make the above package show up in Synaptic.

2. Set the value of $MATLAB_JAVA environment variable in the /etc/bash.bashrc file (You need to be root to do this)

export MATLAB_JAVA=/usr/lib/jvm/ia32-java-6-sun-1.6.0.24/jre

### Installing student version on 64-bit systems

The student version is 32-bit. Make the following changes to the $MATLAB/bin/.matlab7rc.sh file to make it work in a 64-bit environment

1. Add the following line at the beginning of the $MATLAB/bin/.matlab7rc.sh file.

ARCH='glnx86'

2. Set the value of the $MATLAB_UTIL_DIR variable

MATLAB_UTIL_DIR='/usr/local/matlab2010a/bin/util/'

### Slow GUI/Matlab freezes on some plot commands

Incompatibilities between Matlab, X11 and Java are reported to cause issues with the Matlab GUI; for example, the GUI may freeze with a simple plot command such as plot(1:100000,1:100000). The following _might_ help:

- Setting MATLAB_JAVA to the system java. In $MATLABROOT/bin/.matlab7rc.sh, add the line

MATLAB_JAVA=/usr/lib/jvm/java-6-sun/jre/

(or wherever the JRE might be installed on your system). Run matlab -e and verify that MATLAB_JAVA is indeed set. Then run matlab as usual.

- Forcing Matlab to work with an older version of X11. Copy /opt/lib/libX11.so.6.*.* (*.* is the subversion number) from an old version of Ubuntu (Karmic will do) to a new folder (for example /X11old) on the Lucid install. Then add symlinks to this .so,

ln -s libX11.so.6.*.* libX11.so.6 ln -s libX11.so.6.*.* libX11.so

- Finally add

LD_LIBRARY_PATH='/X11old'

- at the end of .matlab7rc.sh.

For more ideas, try this thread or this one.

# Previous Versions

# External Links

For more information about MATLAB see the following links

< http://www.mathworks.com/ > - MathWorks - MATLAB and Simulink for Technical Computing.

< http://www.mathworks.com/products/matlab/ > - MATLAB - The Language Of Technical Computing

< http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html > - MATLAB Documentation.

< http://www.mathworks.com/support/ > - The MathWorks Support.

< http://www.mathworks.com/matlabcentral/ > - MATLAB Central.

< http://www.mathworks.com/matlabcentral/fileexchange/ > - MATLAB Central File Exchange.