2012-01-16 22 views
2

执行脚本时遵循一些伟大的意见,因为这样:suppress start message of Matlab我现在用的这条线从我的首选编辑器中执行MATLAB脚本,而无需启动整个Matlab的机器:保持Matlab的绘图窗口可见,从终端

matlab -nosplash -nojvm -logfile /tmp/matlab-log -wait < "$(FilePath)" \ 
> /dev/null 2 && sed '1,9d' /tmp/matlab-log 

-nodisplay开关省略,因为我希望能够看到绘图输出。

但是,当使用上面的命令行来唤起产生绘图的脚本时,绘图窗口出现,然后立即消失。

如何保持绘图窗口可见,考虑上述执行线?


我知道我可以在每个剧情脚本添加waitforbuttonpress;,但寻找的东西更多自动W/O复杂执行线太多

回答

0

尝试在你的脚本中使用命令uiwait

f = figure(); 
uiwait(f); 
+0

与在脚本中添加'waitforbuttonpress;'类似。我正在寻找不改变Matlab脚本的方法 – theta 2012-01-16 16:19:13

0

据推测,您的脚本包含exitquit声明,这是什么原因MATLAB关闭。你需要拦截并在实际退出之前等待按键。

MATLAB在关闭前运行finish script,所以你可以使用它。但它需要在路上。

请原谅我的问题,但有没有一个很好的理由,你不想使用MATLAB编辑器?

+0

不,脚本不包含退出或退出,并且如果可以的话,您可以使用简单的情节尝试自己。我无法确切知道Matlab shell脚本的长度大概是2000行,但也许有一些原因。至于你的问题,可能有很多原因,从资源管理到熟悉的用户环境,比如首选编辑器。如果开发一些东西,Matlab环境很好,但对于通常的脚本测试和简单的函数计算,过滤器测试代码等等。我不需要启动整个Matlab环境 – theta 2012-01-16 17:59:22

+0

我在'finish.m'脚本里面写了一行' waitforbuttonpress;”并将其复制到我的主文件夹,放置在执行脚本的文件夹中,在Matlab文件夹和Matlab/toolbox/local中。绘图在所有情况下终止 – theta 2012-01-16 18:08:03