Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-07, 23:17   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 在命令行脚本完成之前,如何停止MATLAB返回?

我在MATLAB帮助( matlab -h )中看到可以使用-r标志指定要运行的m文件。我注意到当我这样做时,MATLAB似乎启动了脚本,但立即返回。脚本运行正常,但是主应用程序已经返回。

有什么方法可以让MATLAB仅在命令完成后才返回?如果您是从一个单独的程序中调用它,似乎等待该过程要比使用文件或套接字来确认完成要容易得多。

为了说明,这是一个示例函数waitHello.m :

function waitHello disp('Waiting...'); pause(3); %pauses 3 seconds disp('Hello World'); quit; 我尝试使用以下命令运行它:

matlab -nosplash -nodesktop -r waitHello 回答:
快速回答:

matlab -wait -nosplash -nodesktop -r waitHello 在Matlab 7.1(我拥有的版本)中,matlab.bat中有未记录的命令行选项-wait。如果它不适用于您的版本,则可以将其添加。这就是我发现的。最终启动matlab的底部命令是(第153行):

start "MATLAB" %START_WAIT% "%MATLAB_BIN_DIR%\%MATLAB_ARCH%\matlab" %MATLAB_ARGS% 在这种情况下,启动命令的相关语法(请参阅cmd.exe中的“帮助启动”):

start ["window title"] [/wait] myprogram.exe args ... 我发现,在所有记录的命令行选项中,高一点(第60行):

) else if (%opt%) == (-wait) ( set START_WAIT=/wait ) else ( 因此,只要您还从脚本中退出matlab,指定-wait应该可以完成您想要的操作(否则它将等待您以交互方式终止它)。
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:23


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.