我在MATLAB help(matlab -h)中看到我可以使用该-r标志来指定m要运行的-file.我注意到,当我这样做时,MATLAB似乎启动了脚本,但立即返回.脚本处理正常,但主应用程序已经返回.
有没有办法让MATLAB只在命令完成后返回?如果你从一个单独的程序中调用它,似乎等待进程比使用文件或套接字确认完成更容易.
为了说明,这是一个示例函数waitHello.m:
function waitHello
disp('Waiting...');
pause(3); %pauses 3 seconds
disp('Hello World');
quit;
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方式运行:
matlab -nosplash -nodesktop -r waitHello
Run Code Online (Sandbox Code Playgroud) 我有一个matlab文件,它接收一个文件.我想在matlab shell中运行该程序,例如prog.我需要实现它,以便它需要一些参数,例如"prog filename.txt 1 2,这意味着我可以在我的程序中使用filename.txt和1 2作为变量.
谢谢!
在我看来,有两种方法可以在批处理模式下运行Matlab:
第一个:
unset DISPLAY
matlab > matlab.out 2>&1 << EOF
plot(1:10)
print file
exit
EOF
Run Code Online (Sandbox Code Playgroud)
第二个使用选项"-r MATLAB_command":
matlab -nojvm -nosplash -r MyCommand
Run Code Online (Sandbox Code Playgroud)
这两个是等价的吗?
"<< EOF"和最后一个"EOF"在第一种方法中意味着什么?
感谢致敬!
我想直接从桌面打开 GUI 而不打开 MATLAB 并从中运行它。当我右键单击主MATLAB code文件并Run在 Windows 环境中选择时,MATLAB 启动,然后我的 GUI 自动运行,但我希望通过双击图标(快捷方式)或桌面来实现。我怎样才能做到这一点?我不想编译我的应用程序。
我正在使用命令行 Matlab(即远程 ubuntu linux 工作站)并尝试执行脚本。
当我跑步时:
matlab -nodesktop -nosplash -r "my_script.m"
Run Code Online (Sandbox Code Playgroud)
matlab 将打开并给我一条错误消息,指出
Undefined variable "my_script" or class "my_script.m"
Run Code Online (Sandbox Code Playgroud)
我在 stackoverflow 上发现了一个线程,用户有类似的问题: Matlab: Running an m-file from command-line
但是当我尝试实现建议的语法时:
matlab -nodesktop -nosplash -r "run('my_script.m');"
Run Code Online (Sandbox Code Playgroud)
我现在遇到语法错误,
Unexpected MATLAB expression.
Error in run (line 96)
evalin('caller', [script ';'])
Run Code Online (Sandbox Code Playgroud)
我很少使用 Matlab,更很少使用 oa gui,所以我一直在尝试使用在线留言板中的信息来修复语法,但没有成功。