Matlab Version Check



The student edition of matlab version 5 users guide Nov 20, 2020 Posted By C. Lewis Library TEXT ID b5190935 Online PDF Ebook Epub Library provides easy access to matrix software developed by the linpack and eispack projects the program is written in fortran. The particular example you give, syms, is part of the Symbolic Toolbox, which is an optional (extra-cost) toolbox in any Academic or Commercial license, but which is included in each Student Version (but not installed by default.) syms predates the switch to MuPAD in R2009b (I think it was), back to when Maple was the symbolic engine. Syms dates back to at least R13SP2. Version loaded indicator specifying if this version is loaded, returned as logical. MATLAB loads Python when you type a py. If MATLAB cannot load Python, isloaded is 0 and MATLAB displays Unable to resolve the name py.myfunc when you type py.myfunc for a command you want to execute. It was the last version that supported 32-Bit Matlab on any operating system (specifically on Linux and Windows, as support for 32-Bit Matlab for OSX was cancelled already in 3.0.10). Going on, only 64-Bit Octave and Matlab are supported on all operating systems, and only 32-Bit Octave continues to be supported on Linux. Join the conversation where MATLAB, MathWorks, and the community come together — MATLAB Spoken Here in MATLAB Central Blogs.

On This Page:

MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, and Fortran.

The University of Massachusetts Amherst has a Total Academic Headcount (TAH) license for MATLAB, Simulink and companion toolboxes, which allows us to offer the product at a significantly reduced price. The TAH license covers on-campus and home software use as well as classroom and lab installations for all instructors, eligible staff, researchers, and students.

The agreement is advantageous to the campus community as it includes MATLAB, Simulink, and 16 other toolboxes that do not come with a normal license. Note: Not for commercial use.

License Includes:

MATLABBioinformatics ToolboxCommunications System ToolboxControl System Toolbox
Curve Fitting ToolboxData Acquisition ToolboxDSP System ToolboxImage Processing Toolbox
Instrument Control ToolboxOptimization ToolboxParallel Computing ToolboxSignal Processing Toolbox
SimMechanicsSimscapeSimulinkSimulink Control Design
StateflowStatistics ToolboxSymbolic Math Toolbox


Note: If you need toolboxes that are not included in the TAH license, contact MathWorks directly to purchase them. MathWorks Contact: Alyssa Silverman at 508-647-4343 or alyssa.silverman@mathworks.com.

How to Obtain MATLAB

MATLAB is available for the use of all UMass Amherst faculty, staff and students at a 100% discount. To receive a MATLAB license:

  1. Visit the University of Massachusetts Amherst MATLAB Portal and click ‘Sign in to get started’
  2. Login with your University Credentials when prompted
  3. Create a MathWorks Account or Login to your Existing Account
  4. Click Download to complete the Installation

Terms & Conditions

  • A MATLAB license can be used for research and instruction.
  • Faculty & Staff: A MATLAB Designated Computer (stand alone) license entitles you to install on a university-owned device with a second copy allowed on a personal device owned by faculty or staff, but not on a student device.
  • Students: A MATLAB student trial membership entitles you to install on your personal device.

Note: Not for commercial use.

Download & Install MATLAB

  1. Check MATLAB'ssystem requirements before downloading.
  2. Once your payment is received you will get a confirmation email from MathWorks. In the email, click the link, log in with the temporary password provided, and then change your password. Note: If you already have an account with MathWorks, go to the site and log in with your current password.
  3. If you are unsure of your password, use the Forgot Password link.
  4. Once logged in to the MathWorks site, you will see the My Software page. Your license with the university is listed in the table in the middle of the page. Toward the right of that line, click the blue arrow, pointing down; this is the download link.
  5. On the Downloads page, click the blue button in the middle of the page to download the latest version. For an earlier version, select the version you need from the list on the right.
  6. This will open a screen with the choice to download the Windows, Mac or Linux version of the installer. Click on the appropriate link to choose the appropriate version for your computer. Your download will begin.
  7. Next, follow MathWorks Install Software Instructions.

Get Help

For license information, contact the Help Center at (413) 545-TECH (545-8324) or it@umass.edu.

For questions about MATLAB software or to add toolboxes, contact MathWorks directly. MathWorks Contact: Alyssa Silverman at 508-647-4343 or alyssa.silverman@mathworks.com.

For download & installation questions, contact the IT Help Center. UMass Amherst IT provides limited support for MATLAB and related products.

Need help using MATLAB? Try the MathWorks TAH Resource Kit.


On this page

Related
Description

The MATLAB Compiler can be used to create a stand-alone executable from a MATLAB application. This executable can then be run on Biowulf or your local machine without utilizing a MATLAB license. Thus, the compiler can be used to build an executable which can then be run as a swarm of jobs on hundreds or thousands of CPUs distributed across the Biowulf cluster.

The compiler can also be used to incorporate MATLAB-based algorithms into applications built using C/C++, .NET, Java, or Python. See the Mathworks documentation for details. Most MATLAB functions can be compiled, but a few cannot. Check this list to see if your code can be compiled.

Users of the NIH HPC systems should call the MATLAB compiler using the function mcc2 which wraps the MATLAB fuction mcc. mcc2 utlizes the MATLAB compiler license more efficiently than mcc by releasing the license whencompilation is completed. See A note on mcc2 vs. mcc for details.

The MATLAB .m files used in these examples, along with other sample files, can be found on Biowulf in the /usr/local/matlab64/extern/examples/compiler directory.

A MATLAB program may produce different results after it has been compiled.Test your application again after compiling to be sure its behavior has not changed.See the articles listed under 'Programming Considerations for Compiling MATLAB code' below to learn how to avoid these issues.

Programming Considerations for Compiling MATLAB code


MATLAB Component Runtime (MCR)
back to top
Once MATLAB code has been compiled, it is run using the MATLAB Component Runtime (MCR). There are several versions of the MCR available on the systems. The MCR version must match the version of MATLAB that was used to compile the code. On our systems, the MCR is located in /usr/local/matlab-compiler.
MATLAB to MCR mapping
MATLAB VersionMCR Version
R2019bv97
R2019av96
R2018bv95
R2018av94
R2017bv93
R2017av92
R2016bv91
R2016av901
R2015bv90
R2015av85
R2014bv84
R2014av83
R2013bv82
R2013av81
R2012bv80
R2012av717
R2011bv716
R2011av715
R2010bv714
R2010av7.13
R2009bv711
back to top

Compilation involves loading the matlab module and executing one simple command. (user input in bold):

Note that these and following mcc2 commands can also be executed directlyfrom within MATLAB.

Several new files are produced by the compilation process, so it may be best to create a new directory in which to compile the executable. You may cd to that directory and issue the mcc2 command using the full path and file name of the .mfile to be compiled, or you may send the new files to the directory of your choice using the -d argument like so:

Users who wish to run compiled MATLAB code on Biowulf are strongly encouraged to add the singleCompThread runtime flag to their mcc2 command to ensure that compiled MATLAB jobs run a single thread per core.

Other options and runtime flags are available. Type help mcc at the MATLAB command prompt to see more. These options identical for mcc2.

Compilation example

The following demonstrates how to compile a .m file and then call the resulting executable.

In this example, the user copies the magicsquare.m example file to a new directoryin their home space. They then compile it into an executable using mcc2. Several files are generated including a binary executable version of magicsquare and a shell script that sets up runtime libraries to make it easier to run the compiled executable (run_magicsquare.sh). Finally, the binary is executed using run_magicsquare.sh with arguments providing the location of the (appropriate) MATLAB MCR and the variable for generating the magic square (first 3, then 5).

magicsquare.m contains the following code:


MatlabFirst the user copies the Matlab Version Check.mfile to a new directory in their home space.

Then the user executes mcc2 (here from within the shell) to compile the code.

The two new files magicsquare and run_magicsquare.sh are mostimportant for our purposes. Finally, the user runs the compiled code directly from theshell by entering the path and name of the run_*.sh shell script followed by the fullpath to the correct MCR for the version of matlab used to compile followed bythe variable(s) needed by the compiled MATLAB function.

back to top

When checked out using mcc, the MATLAB compiler license remains allocated to a user for as long as an interactive session is open, or allocated to a node for a minimum of 30minutes. The in-house function called mcc2 (used in the examples above) has been written to avoid this problem.mcc2 compiles MATLAB code and immediately releases the compiler license when finished. Users are strongly encouraged to use mcc2 in place of mcc. It's usage is identical to mcc. Like mcc, mcc2 is available in the shell environment after loading a matlab module file like so.

Within an interactive MATLAB session, mcc2 resides in the compiler toolbox. Thisfunction might not be visible to MATLAB if the toolbox cache is out of date. To testthis enter:

The following error shows that the toolbox cache is out of date and MATLAB does notrecognize mcc2.

To correct this error, enter:

The previous command should now return a few lines of help for mcc2.

The change should persist across MATLAB sessions.

Compiling a .m file to produce an executable via a MATLAB GUI
back to top

Open an sinteractive session on Biowulf and start up MATLAB. It is a good idea to test your MATLAB script before compilation by running it at the prompt.

Type deploytool to start the Compiler GUI. In the window that appears, select (for the purposes of this example) 'Application Compiler' to get started. Of course, you can select 'Library Compiler' if you want to build a shared library. (See the Mathworks documentation for details.)

The Application Compiler window will appear on your screen

Select the plus sign beside 'Add main file' (highlighted in pink at the top) and in the resultant window, select the MATLAB file that you want to compile Add required files in the 'Files required for your application to run' section.

Click the 'Package' button, which is the green check button at the top right.

Once your build is complete, follow the instructions above or below on running your compiled code.

Submitting the compiled executable as a batch job on the Biowulf computational nodes
back to top

Set up a batch script along the following lines:

Submit this job with:

The sbatch command has many options available. If you need to allocate more memory, cpus, or time for your job, want to run your job on another partition,or you have other special requirements, check the manual pages with:

More info can also be found in the Biowulf User Guide under Job Submission.

Running a swarm of compiled jobs
back to top

The great advantage of a compiled executable is that a large number of simultaneous jobs can be run on the Biowulf cluster without requiring the use of a MATLAB license. For example, a program could be run with several hundred different sets of parameters. The in-house swarm program is an easy and powerful way to run many processes in parallel on the cluster, also known as a job array.

When running a job array, it helps to store the MATLAB runtime on the localfile system (in /lscratch/$SLURM_JOB_ID) in order to relieve the central file system of thecombined load of accessing the Matlab runtime tree from all of your subjobs.

Matlab Check Variable Type

In the following example, the MATLAB program magicsquare takes 1 parameter as input. Once the program has been compiled either on the command line or using the GUI, a swarm file can be set up along the following lines:

This swarm file can be submiited to the Biowulf cluster with:

You typically would not want to write swarm files manually. Instead, you should write code that will generate swarm files for you. That way, if you decide to rerun your analysis with some new parameters or on some new files, it will be trivial to generate a new swarm file even if it contains thousands of commands. Here's some example MATLAB code that will generate the swarm file above.

For more tips and tricks on automating the swarm submission process in MATLAB, see this recorded training session.

MCR cache location can affect performance

Matlab Check Matlab Version

back to top

When a user executes compiled MATLAB code, MATLAB creates a hidden cache containing binaries,links, scripts, etc. By default this cache will be located in a user's home directory (i.e.~/.mcrCache9.0/). Performance of the compiled MATLAB code can be poor if the MCR cache directory is located on a network filesystem and a large number of parallel processesattempt to access it simultaneously.

To address this issue the cache directory can be made local to each node in a swarm. The location of the directory can be determined by setting theMCR_CACHE_ROOT environmental variable. Local scratch space should be requested for this purpose in the swarm or sbatch command. See using local disk for more information.

The following command could be incorporated into the wrapper script generated by the matlab compiler:

Setting the directory to the value of $SLURM_JOB_ID is important to prevent multiple jobs running on the same nodes from interfering with one another. Otherwise, one job may attempt to read from a file in the cache while another file is overwriting it. This means the variable must be set after a job has initiated and been assigned a job id. (This approachwill work with swarm because each subjob in a job array actually has a unique job id.)

If you don't want to manually edit the run_X.sh script generated by MATLAB uponcompilation, another strategy would be to add this command to each line of youswarm file like so.

Of course, these commands could be added automatically by a script that generatesthe swarm file as explained above.

Finally, you must remember to request the lscratch resource in your swarm command.For instance, the following command would allocate 10GB of local disk space for each job to use as the mcr cache and to hold the Matlab runtime. This should be more than enough.

Matlab Java Version Check

See this thread on MATLAB answers for more information.