matlab (Linux) - Start MATLAB program from Linux system prompt - MATLAB (original) (raw)
Start MATLAB program from Linux system prompt
Syntax
Description
matlab
is a Bourne shell script that launches the MATLAB® program from a Linux® system prompt. Here the term matlab
refers to this script and MATLAB refers to the program.
The matlab
script:
- Determines the MATLAB root folder, the value returned by the
matlabroot
function - Processes command-line options, if any
- Reads the MATLAB startup file,
.matlab7rc.sh
- Sets MATLAB environment variables
matlab `option1 ... optionN`
launches MATLAB with the specified startup options.
Alternatively, assign startup options in the MATLAB.matlab7rc.sh Startup File. Modifying the.matlab7rc.sh
file defines startup options every time you start MATLAB.
The -nojvm
option starts MATLAB without loading the JVM®. Functionality that requires Java® will not be available in this session.
Input Arguments
One or more startup options, specified as strings corresponding to valid startup options from the following tables.
Mode Options
Option | Result |
---|---|
-desktop | Start MATLAB without a controlling terminal. Use this option when you start MATLAB from a window manager menu or desktop icon. |
-nodesktop | Run MATLAB without opening the desktop. You can use development environment tools by calling them as functions. For example, call theedit function to open the Editor.To run in batch processing mode, use the-batch option.If you use the > constructor to pipe to MATLAB, then the nodesktop option is used automatically.To ensure that output displays as intended, make sure that your Linux system prompt uses a monospaced font.For a more accessible alternative to using MATLAB with the -nodesktop option, use the Command Window Only layout instead. Using the Command Window Only layout gives you access to more keyboard shortcuts and, when needed, the full functionality of the MATLAB desktop. To select the Command Window Only layout, go to the Home tab, and in the Environment section, click the Layout button and then select . (since R2025a) |
-nojvm | Start MATLAB without loading the JVM software in the session. Features that require Java software are not supported. |
Display Options
Option | Result |
---|---|
-noFigureWindows | Disable the display of figure windows in MATLAB. |
-nodisplay | Suppress desktop tools and graphics. This option does not display X commands. It overrides theDISPLAY environment variable. |
-display xDisp | Send X commands to X Window Server displayxDisp. This option overrides the DISPLAY environment variable. |
Set Initial Working Folder
The initial working folder is the current folder when MATLAB starts. For more information, see MATLAB Startup Folder.
Option | Result |
---|---|
-sd folder | Set the MATLAB folder to folder, specified as a string.Example: matlab -sd "C:\work" |
-useStartupFolderPref | Set the MATLAB folder to the value specified by the Initial working folder setting, located in the General Settings page of the Settings window. |
Specify MATLAB Version
Option | Result |
---|---|
v=variant | Start the version of MATLAB in thebin/arch/variant folder instead of thebin/arch folder, where:arch is the system architecture, the value returned by thecomputer('arch') function_variant_ is a string representing a MATLAB version |
Debugging Options
Option | Result |
---|---|
-logfile_filename_ | Copy Command Window output, including error reports, into filename, specified as a string.Example:-logfile output.log |
-n | Display, without starting MATLAB, the final values of the environment variables and arguments passed to the MATLAB executable. This option also displays other diagnostic information for use when working with a Technical Support Representative. |
-e | Display, without starting MATLAB, all environment variables and their values to standard output. If the exit status is not0 on return, then the variables and values might not be correct. |
-D_debugger_ debugopts | Start MATLAB in debug mode. This option uses the debugger program name,debugger, specified as a string, for example, gdb,lldb, ordbx. You can specify the full path to the debugger. This option must be the first option in the matlab script.Debugger program command-line options, debugopts, specified as a string of valid options for_debugger_. See your debugger documentation for details. Do not use any other matlab script options when using_debugopts_.Do not add a space between D and_debugger_.Example:-Dgdb |
-jdb_portnumber_ | Enable use of the Java debugger. The Java debugger uses the default_portnumber_ value 4444 to communicate with MATLAB.The port number is optional. However, to use the Java debugger while running multiple MATLAB sessions, you must specify a port number. The portnumber value must be an integer in the range 0–65535. The integer cannot be reserved or currently in use by another application on your system. |
-debug | Display information for debugging X-based problems. Use this option only when working with a Technical Support Representative from MathWorks, Inc. |
Execute MATLAB Script or Function
Option | Result |
---|---|
-batch_statement_ | Execute MATLAB script, statement, or function non-interactively. MATLAB:Starts without the desktopDoes not display the splash screenExecutes_statement_Displays figure windows, unless combined with the -noFigureWindows or-nodisplay optionsDisables changes to settingsDisables toolbox cachingLogs text to stdout andstderrExits automatically with exit code 0 if_statement_ executes successfully. Otherwise, MATLAB terminates with a non-zero exit code.statement is MATLAB code enclosed in double quotation marks. If statement is the name of a MATLAB function or script, do not specify the file extension. Any required file must be on the MATLAB search path or in the startup folder.Use the-batch option in non-interactive scripting or command line workflows. Do not use this option with the-r option.If you run code that creates dialog boxes that require user input, MATLAB throws an error.To test if a session of MATLAB is running in batch mode, call thebatchStartupOptionUsed function.Example: -batch "myscript" |
-r_statement_ | Execute the MATLAB_statement_. Use this option for interactive workflows. Do not use this option with the -batch option.NoteTo set the initial working folder, use the-sd option. For example:-sd _folder_Example: -r "disp(['Current folder: ' pwd])"Example:-r "myscript" |
Use Single Computational Thread
By default, MATLAB uses the multithreading capabilities of the computer on which it is running.
Option | Result |
---|---|
-singleCompThread | Limit MATLAB to a single computational thread. This option is for numerical computations only. |
Disable Searching Custom Java Class Path
Specify License File
Option | Result |
---|---|
-c_license_ | Use the specified license file,license, specified as a string, a colon-separated list of license file names, or a port@host entry. For more information, see Update or Modify Network License Files. |
Help Options
Option | Result |
---|---|
-h | Display startup options without starting MATLAB. |
-help | Same as -h option. |
Examples
matlab -r "disp(['Current folder: ' pwd])"
More About
The .matlab7rc.sh
shell script contains variable definitions used by the matlab
script.
Use the .matlab7rc.sh
file to redefine variables defined in thematlab
script. matlab
looks in these folders for the first occurrence of .matlab7rc.sh
in the following order:
- Current folder
- Home folder
($HOME)
matlabroot
/bin
folder
To edit the .matlab7rc.sh
file, use the template located in the_matlabroot
_/bin
folder.
This table lists the variables. For more information, see the comments in the.matlab7rc.sh
file.
Variable | Definition and Standard Assignment Behavior |
---|---|
ARCH | Machine architectureMATLAB checks these values in this order: ARCH, passed with the-arch or-arch/ext argument to the scriptValue of the environment variableMATLAB_ARCH |
DISPLAY | Host name of the X Window display MATLAB uses for outputThe value ofXdisplay passed with the-display argument to the script is used; otherwise, the value in the environment is used. MATLAB ignores DISPLAY if the-nodisplay argument is passed. |
LD_LIBRARY_PATH | Final Load library pathThe final value is normally a colon-separated list of four sublists, each of which could be empty. The sublists are: Defined in .matlab7rc.sh asLDPATH_PREFIX Computed in the script and includes folders inside the MATLAB root folder and relevant Java foldersContains any nonempty value ofLD_LIBRARY_PATH from the environment possibly augmented in.matlab7rc.sh Defined in .matlab7rc.sh asLDPATH_SUFFIX |
MATLAB | MATLAB root folder |
MATLABPATH | MATLAB search pathThe final value is a colon-separated list with the MATLABPATH from the environment prepended to a list of computed defaults. At startup, you can add subfolders of userpath to the MATLAB search path. See userpath for details. |
SHELL | Shell to use with MATLAB “!” orunix commandsThis value is taken from the environment, unless SHELL is reset in .matlab7rc.sh.The default .matlab7rc.sh file does not resetSHELL. |
MATLAB_SHELL | Shell to use instead ofSHELLMATLAB checks for MATLAB_SHELL first. If it is empty or not defined, then checksSHELL. If SHELL is also empty or not defined, then MATLAB uses the Bourne shell,/bin/sh.Use an absolute path for the value of MATLAB_SHELL, that is,/bin/sh, not simplysh. The default.matlab7rc.sh file does not reference or setMATLAB_SHELL. |
The matlab
script determines the path of the MATLAB root folder by looking up the folder tree from the_matlabroot
_/bin
folder (where thematlab
script is located). MATLAB use the MATLAB
variable to locate all files within the MATLAB folder tree.
You can change the definition of MATLAB
. For example, you might change the definition:
- To run a different version of MATLAB
- When your system uses certain types of automounting schemes and the path determined by the
matlab
script is not correct
Version History
If you start MATLAB using the matlab
command with the-nojvm
startup option, desktop tools and graphics appear as expected. In previous releases, desktop tools and graphics were not supported when MATLAB was started using the -nojvm
startup option.
To prevent desktop tools and graphics from appearing, use the-nodisplay
or -nodesktop
options. For example:
The matlab
command -nosplash
startup option is no longer supported. If you specify the -nosplash
option at startup, MATLAB ignores the option. Previously, you could use the-nosplash
startup option to suppress the display of the splash screen.
If you use the -batch
option and run code that creates dialog boxes that require user input, MATLAB throws an error. The exception is if you create the dialog box in a test created using the app testing framework, such asmatlab.uitest.TestCase.chooseDialog
, in which case the code runs without an error.
If you specify any of the following OpenGL® startup options, MATLAB issues a warning and the option has no effect.
-softwareopengl
-nosoftwareopengl
-softwareopenglmesa
-noopengl
This change was announced in R2022a.
To start MATLAB non-interactively, use the -batch
option. To start MATLAB interactively, use the -r
option.