Diff for "MATLAB"


Differences between revisions 99 and 100
Revision 99 as of 2012-10-12 18:00:59
Size: 10586
Editor: 205
Comment: Add java not compliant with Java 7 (source: https://wiki.archlinux.org/index.php/Matlab)
Revision 100 as of 2012-10-12 18:58:19
Size: 10744
Editor: 205
Comment: sudo apt-get install ... -> [[apt:...|...]]
Deletions are marked like this. Additions are marked like this.
Line 87: Line 87:
1. Install The GNU Compiler Collection 4.3 and The GNU Standard C++ Library
{{{
sudo apt-get install gcc-4.3-multilib libstdc++6-4.3-dev
}}}

2. Make a MATLAB specific 'bin' directory for gcc symlink.
1. Install The [[apt:gcc-4.3-multilib|GNU Compiler Collection 4.3]] and [[apt:libstdc++6-4.3-dev|The GNU Standard C++ Library]]

2. Make a MATLAB specific `bin` directory for gcc symlink.
Line 95: Line 93:
3. Symlink gcc to gcc-4.3 via user MATLAB specific 'bin' directory. 3. Symlink gcc to `gcc-4.3` via user MATLAB specific `bin` directory.
Line 99: Line 97:
4. Add MATLAB specific 'bin' directory to the front of your system $PATH within your local startup.m file. 4. Add MATLAB specific `bin` directory to the front of your system $PATH within your local startup.m file.
Line 115: Line 113:
This will copy to your home directory a local copy of the file mexopts.sh. This will copy to your home directory a local copy of the file `mexopts.sh`.
Line 121: Line 119:
and replace all instances of CC='gcc' to CC='gcc-4.3', CXX='g++' to CXX='g++-4.3', and FC='gfortran' to FC='gfortran-4.3'. Save and exit. The next time you run MEX in MATLAB to compile it will work properly. and replace all instances of `CC='gcc'` to `CC='gcc-4.3'`, `CXX='g++'` to `CXX='g++-4.3'`, and `FC='gfortran'` to `FC='gfortran-4.3'`. Save and exit. The next time you run MEX in MATLAB to compile it will work properly.
Line 194: Line 192:
=== java: not found === === Java problems ===
Line 199: Line 197:
or
{{{
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.awt.Component
 at java.lang.Class.forName0(Native Method)
 ...
Finished
}}}
Line 200: Line 205:
Simply install the `ia32-libs` package
{{{
sudo apt-get install ia32-libs
}}}
Simply [[apt:ia32-libs|install the `ia32-libs` package]].

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 R2012a

Important Note Regarding Ubuntu 12.04

MATLAB R2012a was released on March 1, 2012. Please note that this is prior to the release of Ubuntu 12.04. Consequently Ubuntu 12.04 is not a supported operating system for MATLAB R2012a as it can be seen in the MATLAB Roadmap.

MATLAB R2012a users are strongly encouraged to install R2012a on Ubuntu 10.04 LTS or Ubuntu 10.10 for best results. Help for the installation of MATLAB R2012a on Ubuntu 12.04 will however be given through this tutorial.

Installation Instructions

  • You will need superuser privileges. The assumption is that MATLAB install files are located at /media/MATHWORKS_R2012a in your filesystem.

See the Troubleshooting section if you get into trouble during the installation.

1. Run the MATLAB installer with the following Terminal command (The -v argument is for the install script to be verbose which means, it is more likely to warn you if something weird happens):

sudo /media/MATHWORKS_R2012A/install -v

If it complains about java, try installing install ''OpenJDK Java 6'' package because MATLAB is not compliant with Java 7.

2. When prompted to 'Choose installation type' you should select custom. This will allow you to create symbolic links to MATLAB in /usr/local/bin.

Choose installation type

3. When prompted to 'Specify installation folder' it is recommended that you use the default folder /usr/local/MATLAB/R2012a (or the default /usr/local/MATLAB/R2012a_student if you have a student version).

Specify installation folder If you have a student version, the default folder will be

4. When given the option to 'Create symbolick links to MATLAB scripts in:' it is recommended that you check the box and use the supplied path /usr/local/bin.

Create symbolick links to MATLAB scripts in:

5. You can check that your installation work by executing the following command

matlab

See the Troubleshooting section if you get errors.

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-r2012a.desktop' -O /usr/share/applications/matlab.desktop

If you get two MATLAB launcher icons in your Unity laucher, try uncommenting the following line in /usr/share/applications/matlab.desktop:

StartupWMClass=com-mathworks-util-PostVMInit

If your launcher does not work, see the Troubleshooting section.

MEX functions


Warning

The content of this section has been written for R2011a with Ubuntu 10.04 and 10.10. It may vary a lot if you are using the R2012a with Ubuntu 12.04.


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

Warning: You are using gcc version "4.4.4-14ubuntu5)".  The version
         currently supported with MEX is "4.3.4".
         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.3 and make it the default compiler for MATLAB:

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

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

mkdir ~/.matlab/bin

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

ln -s /usr/bin/gcc-4.3 ~/.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

Steps 3 and 4 above may not work for at least one instance of a user trying to compile using MEX in MATLAB R2011a running on Ubuntu 10.10. An alternative is to do the following:

  • 3a. At the MATLAB Command Window prompt, type:

mex -setup

and choose option 2 which says:

 2: /usr/local/MATLAB/R2011a/bin/mexopts.sh :
      Template Options file for building MEX-files via the system ANSI compiler

This will copy to your home directory a local copy of the file mexopts.sh.

  • 4a. Then edit this local file:

sudo gedit ~/.matlab/R2011a/mexopts.sh

and replace all instances of CC='gcc' to CC='gcc-4.3', CXX='g++' to CXX='g++-4.3', and FC='gfortran' to FC='gfortran-4.3'. Save and exit. The next time you run MEX in MATLAB to compile it will work properly.

For more ideas, try this thread or this one.

Troubleshooting

No MATLAB bin directory for glnxa64

If MATLAB tells you

    ---------------------------------------------------------------------------
    Warning: Cannot locate Java Runtime Environment (JRE) . . .

             1. Either a correct JRE was not available for redistribution when
                this release was shipped, in which case you should refer to the
                Release Notes for additional information about how to get it.

             2. Or you have tried to use the MATLAB_JAVA environment variable
                to specify an alternate JRE, but MATLAB cannot find it.  Please
                run 'matlab -n' to determine what value you are using for
                MATLAB_JAVA and fix accordingly.
    ---------------------------------------------------------------------------

    matlab: No MATLAB bin directory for this machine architecture.

           ARCH = glnxa64

when you launch it, you will need to force it to use glnx86.


Solution for the command line (CLI) launch

To do so, run

matlab -glnx86

If you like launching MATLAB from the command line, you will maybe find it inconvenient to write -glnx86 each time you need to launch it. You can then add it in your ~/.bashrc (at the end if you hesitate where to put it)

alias matlab='matlab -glnx86'


Solution for the graphical (GUI) launch

You will need to add the -glnx86 argument to matlab in the exec line of your file /usr/share/applications/matlab.desktop If you have followed the 'Create a MATLAB Launcher' section, you can just comment the line with the argument -glnx86 and uncomment the next line as explained in the file.


libc.so.6 not found

If you have Ubuntu 12.04, you will probably get

/usr/local/bin/matlab: 1: /usr/local/MATLAB/R2012a_Student/bin/util/oscheck.sh: /lib64/libc.so.6: not found

or

/usr/local/bin/matlab: 1: /usr/local/MATLAB/R2012a_Student/bin/util/oscheck.sh: /lib/libc.so.6: not found

when you launch MATLAB. R2012a is aimed at Ubuntu 10.04 for which libc.so.6 was located in /lib for 32 bits and in /lib64 for 64 bits. It are now both located in a different subdirectory of /lib. To help MATLAB find it, just make a symbolic link

For 64 bits users (that got the first error):

sudo ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6

For 32 bits users (that got the second error):

sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6

For 64 bits users with the Student version of MATLAB, it is apparently advised by MathWorks to do

sudo ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib/libc.so.6

but the thread mentioned above is for R2011a so I don't know whether it is still accurate or not.

Java problems

If you get

exec: 2433: /tmp/install.dir.880/Linux/resource/jre/bin/java: not found

or

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.awt.Component
        at java.lang.Class.forName0(Native Method)
        ...
Finished

during the installation. Simply install the `ia32-libs` package.

Source

http://www.mathworks.nl/support/solutions/en/data/1-C7174M/index.html?product=PB&solution=1-C7174M

Previous Versions

External Links

Compatibility information:

For more information about MATLAB see the following links


CategoryScience

MATLAB (last edited 2015-10-30 17:51:30 by ip-37-201-246-20)