我目前正在使用Matlab .m文件的外部编辑器,其自定义构建系统从命令行调用Matlab来运行Matlab脚本(使用-nosplash
和-nodesktop
)。然而,这会产生两个问题:
1)Matlab在运行脚本后立即关闭:我在脚本中调用的任何窗口或图都在运行脚本后立即关闭,这显然会在几秒钟内发生。
2)每次运行脚本都会有一点延迟,因为Matlab实际上是从头开始的。
所以我想知道是否有可能让Matlab在后台运行,并且只是在我想要的时候运行脚本?
我正在运行Linux 64位,Matlab 2013a和Sublime Text 3.
编辑:我使用基本脚本测试设置:
a=5;
figure
plot(a);
EDIT2:我通过运行的Sublime Text构建系统调用Matlab:
matlab -nosplash -nodesktop <[script].m
答案 0 :(得分:0)
没有办法让Matlab在后台运行,并且只需要随时运行脚本即可。没有在某个地方打开交互式会话。
假设您的系统有一个自定义包装器matlab-wrapper
,用于在后台提交脚本。您可以这样调用您的脚本:
$ matlab-wrapper myscript.m
可能,matlab-wrapper
正在做这样的事情:
#!/bin/bash
/apps/matlab14a/bin/matlab -nodesktop -nosplash -r run\ "$1",exit
甚至更多,通过qsub
或其他命令将上述脚本提交给调度程序。
密钥是修改包装器脚本以找到实际调用Matlab二进制文件的部分。如果您的系统允许,您可以复制包装器脚本并进行修改。 (通过简单地删除-r run\ "$1"
文本或更复杂的内容。)然后,您应该能够根据系统上的自定义配置启动Matlab的交互式版本,并从Matlab命令窗口调用脚本。 / p>