MATLAB不启动图形界面运行

简介

转载:MATLAB可以不启动图形界面运行

启动

matlab -nodesktop -nosplash
或者
matlab -nodisplay
或者
matlab -nojvm -nosplash

运行程序

matlab程序也可以在命令行里直接运行,只需要使用-r选项。比如运行当前目录下的example.m
matlab -nodesktop -nosplash -r example
或者
matlab -nojvm -nosplash -r example
或者
matlab -nodisplay -r example

也可以将如下命令加到~/.bashrc文件
alias mrun='matlab -nodesktop -nosplash -r'
这样下次(或者执行source ~/.bashrc)之后就可以直接
mrun example
来在命令行运行matlab文件。

如果使用-nodisplay -r选项运行,当程序中有figure()命令时会出错,可以使用如下选项抑制图形的显示:
figure('visible','off');
并使用如下命令将图形输出到文件:
print('-deps','example.eps');
或者
hgsave('example.fig');

具体设置

  • 在 UNIX 下

-nodesktop 启动jvm(Jave Virtual Machine),不启动desktop,但help界面,preferences界面等仍可通过cmdline调出,即jvm启动但不启动desktop,可以启动其他显示;但是matlab不会在cmd history记录本次执行的命令

-nodisplay 启动jvm,不启动desktop,不启动任何显示相关,忽略任何DISPLAY 环境变量;即jvm启动但不能显示

-nojvm 不启动jvm,则与之相关的一切活动将无法进行,包括图形界面显示,help界面,preferences界面等 即jvm不启动故不能显示

-nosplash 只是不显示启动时的log画面,jvm,desktop等正常启动

对UNIX 而言,推荐通过Desktop > Desktop Layout > Command Window > Only 设置只显示 command-line interface 而 不要用-nodesktop (why?)

  • 在Windows下

对windows而言,-nodisplay似乎无效,还是会显示desktop-nojvm-nodesktop不显示desktop,但是会出现简洁的command-line 窗口,也就是说并不会完全没有图形界面,无法像linux一样,只在cmdline操作
Desktop > Desktop Layout > Command Window > Only 设置只显示 command-line interface 后,其他窗口并不会消失

  • 另外

-r 运行matlab cmd命令,多条命令相互用分号或逗号隔开(空格不行),用双引号引起;一条命令可以不用双引号。 这多用在批处理模式下,所运行的文件必须在matlab的启动目录下或者在其搜索路径上,且不能带有路径名和后缀名,
-logfile保存cmdline输出到文件

一分一毛,也是心意。