我看到在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

在Matlab7.1(该版本的我还有)有无证件的命令行的选择-待在matlab。蝙蝠。如果它不能为你的工作版本,你很可能增加。这里是我发现了什么。该命令在底,终于启动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从你的脚本(否则将等待你的到终止它的交互式).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top