Difference between revisions of "Software:matlab"

From CAC Wiki
Jump to: navigation, search
(Matlab)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Matlab ==
+
[http://www.mathworks.com/products/matlab/ MATLAB] is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. 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.  
{|  style="border-spacing: 8px;"
+
| valign="top" width="50%" style="padding:1em; border:1px solid #aaaaaa; background-color:#e1eaf1; border-radius:7px" |
+
MATLAB® is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. 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.  
+
  
'''<u>Important</u>: The Centre for Advanced Computing does currently not have a stand-alone Matlab license. This means that users who wish to use MATLAB on our systems have to provide a valid license. This may require a connection to an external license server, or the purchase of a local license file.
+
Previously, using MATLAB required a user-supplied license (and a lot of effort) to run on our systems. '''CAC now has an academic license for MATLAB provided by Queen's University'''. For a personal MATLAB license through Queen's University, see [http://www.queensu.ca/its/software/enterprise-licenced-software/matlab the ITS software page].
  
* '''Version''': R2014b
+
* '''Version''': R2017a
* '''Location''': /opt/matlab
+
* '''List of installed toolboxes and products''': [https://www.mathworks.com/academia/tah-portal/queens-university-products.html?s_tid=tah_po_list_queensu]
* '''Related link''': For more information go to the [http://www.mathworks.com/products/matlab/ MATLAB web site]
+
* '''Statement''': [https://info.cac.queensu.ca/wiki/files/2017/05/cac-matlab-statement.pdf Necessary for accessing the software]
* '''Statement''': [http://cac.queensu.ca/wp-content/files/cac-matlab-statement.pdf Necessary for accessing the software]
+
You can check for other installed versions of matlab by
* '''Local Usage (FAQ)''': [[HowTo:matlab|MATLAB Help File]]
+
module spider matlab
* '''Related Software''':
+
 
: [[Software:petsc|PETSc]]
+
== Getting access ==
: [[Software:hypre|Hypre]]
+
 
: [[Software:fftw|FFTW]]
+
Send a signed [https://info.cac.queensu.ca/wiki/files/2017/05/cac-matlab-statement.pdf MATLAB usage statement] form to [mailto:cac.admin@queensu.ca cac.admin@queensu.ca]. This will add you to the <code>matlab</code> group that allows access to the software. To check if you have been authorized access, type <code>groups</code> while logged on to the system. If <code>matlab</code> appears in the output, you are ready to go!
: [[Software:R|R]]
+
 
 +
== Running MATLAB ==
 +
 
 +
To load MATLAB, use the command <code>module load matlab</code>. If your SSH client supports X-forwarding (and you have logged in using X-forwarding using <code>ssh -X</code>), you can bring up the MATLAB user interface with the command <code>matlab</code>. Note that this may be very slow because our nodes don't have hardware support for the graphics, so that it has to be rendered by the CPU.
 +
 
 +
To run MATLAB without the GUI use the command <code>matlab -nodisplay</code>
 +
 
 +
Although MATLAB often used interactively, if you are running a production job, you need to submit it through the SLURM scheduler.
 +
 
 +
An example of a MATLAB job script is shown below:
 +
 
 +
<pre>
 +
#!/bin/bash
 +
#SBATCH --job-name=MATLAB_test
 +
#SBATCH --mail-type=ALL
 +
#SBATCH --mail-user=myEmail@whatever.com
 +
#SBATCH --output=STD.out
 +
#SBATCH --error=STD.err
 +
#SBATCH --time=30:00
 +
#SBATCH --mem=1000
 +
module load matlab
 +
matlab -nodesktop < testsys.m
 +
</pre>
 +
 
 +
Note that a time limit and a memory limit have to be supplied (in the example above 30 minutes and 1000 MByte, respectively). If either is exceeded the job will stop. Standard output and standard error are re-directed to files (STD.out and STD.err, repsectively). Email notification when the job is scheduled and ends are sent to a specified email address. This script (let's call it matlab.sh) would thhen be submitted via
 +
 
 +
<pre>sbatch matlab.sh</pre>
 +
 
 +
== Toolboxes ==
 +
 
 +
The following toolboxes are installed / available for our MATLAB version.
 +
 
 +
<pre>
 +
MATLAB                                                Version 9.2        (R2017a)
 +
Simulink                                              Version 8.9        (R2017a)
 +
Bioinformatics Toolbox                                Version 4.8        (R2017a)
 +
Communications System Toolbox                        Version 6.4        (R2017a)
 +
Computer Vision System Toolbox                        Version 7.3        (R2017a)
 +
Control System Toolbox                                Version 10.2        (R2017a)
 +
Curve Fitting Toolbox                                Version 3.5.5      (R2017a)
 +
DSP System Toolbox                                    Version 9.4        (R2017a)
 +
Database Toolbox                                      Version 7.1        (R2017a)
 +
Econometrics Toolbox                                  Version 4.0        (R2017a)
 +
Embedded Coder                                        Version 6.12        (R2017a)
 +
Filter Design HDL Coder                              Version 3.1.1      (R2017a)
 +
Financial Instruments Toolbox                        Version 2.5        (R2017a)
 +
Financial Toolbox                                    Version 5.9        (R2017a)
 +
Fixed-Point Designer                                  Version 5.4        (R2017a)
 +
Fuzzy Logic Toolbox                                  Version 2.2.25      (R2017a)
 +
Global Optimization Toolbox                          Version 3.4.2      (R2017a)
 +
HDL Coder                                            Version 3.10        (R2017a)
 +
HDL Verifier                                          Version 5.2        (R2017a)
 +
Image Acquisition Toolbox                            Version 5.2        (R2017a)
 +
Image Processing Toolbox                              Version 10.0        (R2017a)
 +
Instrument Control Toolbox                            Version 3.11        (R2017a)
 +
MATLAB Coder                                          Version 3.3        (R2017a)
 +
MATLAB Compiler                                      Version 6.4        (R2017a)
 +
MATLAB Compiler SDK                                  Version 6.3.1      (R2017a)
 +
Mapping Toolbox                                      Version 4.5        (R2017a)
 +
Neural Network Toolbox                                Version 10.0        (R2017a)
 +
Optimization Toolbox                                  Version 7.6        (R2017a)
 +
Parallel Computing Toolbox                            Version 6.10        (R2017a)
 +
Partial Differential Equation Toolbox                Version 2.4        (R2017a)
 +
RF Toolbox                                            Version 3.2        (R2017a)
 +
Robust Control Toolbox                                Version 6.3        (R2017a)
 +
Signal Processing Toolbox                            Version 7.4        (R2017a)
 +
SimEvents                                            Version 5.2        (R2017a)
 +
Simscape                                              Version 4.2        (R2017a)
 +
Simscape Multibody                                    Version 5.0        (R2017a)
 +
Simulink 3D Animation                                Version 7.7        (R2017a)
 +
Simulink Coder                                        Version 8.12        (R2017a)
 +
Simulink Control Design                              Version 4.5        (R2017a)
 +
Simulink Design Verifier                              Version 3.3        (R2017a)
 +
Simulink Verification and Validation                  Version 3.13        (R2017a)
 +
Stateflow                                            Version 8.9        (R2017a)
 +
Statistics and Machine Learning Toolbox              Version 11.1        (R2017a)
 +
Symbolic Math Toolbox                                Version 7.2        (R2017a)
 +
System Identification Toolbox                        Version 9.6        (R2017a)
 +
Wavelet Toolbox                                      Version 4.18        (R2017a)
 +
</pre>

Latest revision as of 16:13, 2 February 2024

MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. 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.

Previously, using MATLAB required a user-supplied license (and a lot of effort) to run on our systems. CAC now has an academic license for MATLAB provided by Queen's University. For a personal MATLAB license through Queen's University, see the ITS software page.

You can check for other installed versions of matlab by 
module spider matlab

Getting access

Send a signed MATLAB usage statement form to cac.admin@queensu.ca. This will add you to the matlab group that allows access to the software. To check if you have been authorized access, type groups while logged on to the system. If matlab appears in the output, you are ready to go!

Running MATLAB

To load MATLAB, use the command module load matlab. If your SSH client supports X-forwarding (and you have logged in using X-forwarding using ssh -X), you can bring up the MATLAB user interface with the command matlab. Note that this may be very slow because our nodes don't have hardware support for the graphics, so that it has to be rendered by the CPU.

To run MATLAB without the GUI use the command matlab -nodisplay

Although MATLAB often used interactively, if you are running a production job, you need to submit it through the SLURM scheduler.

An example of a MATLAB job script is shown below:

#!/bin/bash
#SBATCH --job-name=MATLAB_test
#SBATCH --mail-type=ALL
#SBATCH --mail-user=myEmail@whatever.com
#SBATCH --output=STD.out
#SBATCH --error=STD.err
#SBATCH --time=30:00
#SBATCH --mem=1000
module load matlab
matlab -nodesktop < testsys.m

Note that a time limit and a memory limit have to be supplied (in the example above 30 minutes and 1000 MByte, respectively). If either is exceeded the job will stop. Standard output and standard error are re-directed to files (STD.out and STD.err, repsectively). Email notification when the job is scheduled and ends are sent to a specified email address. This script (let's call it matlab.sh) would thhen be submitted via

sbatch matlab.sh

Toolboxes

The following toolboxes are installed / available for our MATLAB version.

MATLAB                                                Version 9.2         (R2017a)
Simulink                                              Version 8.9         (R2017a)
Bioinformatics Toolbox                                Version 4.8         (R2017a)
Communications System Toolbox                         Version 6.4         (R2017a)
Computer Vision System Toolbox                        Version 7.3         (R2017a)
Control System Toolbox                                Version 10.2        (R2017a)
Curve Fitting Toolbox                                 Version 3.5.5       (R2017a)
DSP System Toolbox                                    Version 9.4         (R2017a)
Database Toolbox                                      Version 7.1         (R2017a)
Econometrics Toolbox                                  Version 4.0         (R2017a)
Embedded Coder                                        Version 6.12        (R2017a)
Filter Design HDL Coder                               Version 3.1.1       (R2017a)
Financial Instruments Toolbox                         Version 2.5         (R2017a)
Financial Toolbox                                     Version 5.9         (R2017a)
Fixed-Point Designer                                  Version 5.4         (R2017a)
Fuzzy Logic Toolbox                                   Version 2.2.25      (R2017a)
Global Optimization Toolbox                           Version 3.4.2       (R2017a)
HDL Coder                                             Version 3.10        (R2017a)
HDL Verifier                                          Version 5.2         (R2017a)
Image Acquisition Toolbox                             Version 5.2         (R2017a)
Image Processing Toolbox                              Version 10.0        (R2017a)
Instrument Control Toolbox                            Version 3.11        (R2017a)
MATLAB Coder                                          Version 3.3         (R2017a)
MATLAB Compiler                                       Version 6.4         (R2017a)
MATLAB Compiler SDK                                   Version 6.3.1       (R2017a)
Mapping Toolbox                                       Version 4.5         (R2017a)
Neural Network Toolbox                                Version 10.0        (R2017a)
Optimization Toolbox                                  Version 7.6         (R2017a)
Parallel Computing Toolbox                            Version 6.10        (R2017a)
Partial Differential Equation Toolbox                 Version 2.4         (R2017a)
RF Toolbox                                            Version 3.2         (R2017a)
Robust Control Toolbox                                Version 6.3         (R2017a)
Signal Processing Toolbox                             Version 7.4         (R2017a)
SimEvents                                             Version 5.2         (R2017a)
Simscape                                              Version 4.2         (R2017a)
Simscape Multibody                                    Version 5.0         (R2017a)
Simulink 3D Animation                                 Version 7.7         (R2017a)
Simulink Coder                                        Version 8.12        (R2017a)
Simulink Control Design                               Version 4.5         (R2017a)
Simulink Design Verifier                              Version 3.3         (R2017a)
Simulink Verification and Validation                  Version 3.13        (R2017a)
Stateflow                                             Version 8.9         (R2017a)
Statistics and Machine Learning Toolbox               Version 11.1        (R2017a)
Symbolic Math Toolbox                                 Version 7.2         (R2017a)
System Identification Toolbox                         Version 9.6         (R2017a)
Wavelet Toolbox                                       Version 4.18        (R2017a)