matlab在命令行和脚本,命令行运行matlab

matlab可以不启动图形界面运行,比如

```

matlab -nodesktop -nosplash

```

或者

~~~undefined

matlab -nojvm -nosplash

~~~

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

~~~undefined

matlab -nodesktop -nosplash -r example

~~~

或者

~~~undefined

matlab -nojvm -nosplash -r example

~~~

或者

~~~undefined

matlab -nodisplay -r example

~~~

可以将如下命令加到~/.bashrc文件

~~~bash

alias mrun='matlab -nodesktop -nosplash -r'

~~~

这样下次(或者执行source ~/.bashrc)之后就可以直接

~~~undefined

mrun example

~~~

来在命令行运行matlab文件。

如果使用 -nodisplay -r 选项运行,当程序中有figure()命令时会出错,可以使用如下选项抑制图形的显示:

[figure](https://link.jianshu.com?t=http://www.mathworks.com/access/helpdesk/help/techdoc/ref/figure.html)('visible','off');

并使用如下命令将图形输出到文件:

[print](https://link.jianshu.com?t=http://www.mathworks.com/access/helpdesk/help/techdoc/ref/print.html)('-deps','example.eps');

或者

~~~bash

hgsave('example.fig');

~~~

有关matlab startup option 和 command line 运行

在 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输出到文件

## fish shell脚本实现

```

function mmatlab

string match '*.m' $argv && #匹配 .m文件

test -f "$argv" && # 看看文件是否存在

cd (dirname $argv)&&

set src (string split -r -m1 / $argv ) && #把路径前缀去掉

set src (string replace '.m' '' $src[2]) && #去掉文件 .m 的后缀

echo $src &&

matlab -nosplash -nodesktop -r $src #调用matlab程序

end

```

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值