我正在尝试在不同的文件上运行一个函数;我想使用Bash-Like脚本来做到这一点。当我在网上看时;我发现我可以使用.bat文件。
我的.bat文件包含此
matlab -bodesktop -nosplash -r myFunction('input_1.txt')
matlab -bodesktop -nosplash -r myFunction('input_2.txt')
matlab -bodesktop -nosplash -r myFunction('input_3.txt')
matlab -bodesktop -nosplash -r myFunction('input_4.txt')
matlab -bodesktop -nosplash -r myFunction('input_5.txt')
当我双击该文件时,似乎这些命令并行运行,这会导致PC崩溃。
我在Matlab论坛上寻找替代解决方案,但无法与我合作
我找到了另一种选择:
start -wait matlab -bodesktop -nosplash -r "myFunction('input_1.txt');exit"
..
以前用过这个吗?
答案 0 :(得分:1)
有两个matlab二进制文件,一个matlabroot/bin
另一个matlabroot/bin/win64/
。第一个只是一个启动器应用程序,通常在主应用程序成功启动后立即终止。要在主应用程序终止之前保持打开状态,您必须在-wait
中使用matlab.exe
选项(不要与start -wait
选项混淆,可以一起使用bot。)
在你的情况下试试:
matlab -wait -nodesktop -nosplash -r myFunction('input_1.txt')
(我假设您打算使用" nodesktop")。
解释了窗口的所有启动参数here in the documentation。 (您必须单击"选项1 ...选项N"以展开相关部分。)
答案 1 :(得分:-2)
首先检查您是否正确拼写了拼写选项。 Click here for the options.
试试这个:
matlab -wait -nodesktop -nosplash -r "myFunction('input_1.txt')"
编辑:
默认情况下,当您从脚本调用matlab命令时,该命令将启动MATLAB,然后立即执行脚本中的下一个语句。 -wait选项暂停脚本,直到MATLAB终止。
在启动脚本中使用-wait选项来处理MATLAB的结果。使用此选项调用MATLAB会阻止脚本继续运行,直到生成结果。