我想检查/改进我使用的一些校正算法。
整个事情都是在Matlab中实现的,就像这样
for ii = 1:nn
... % Prepare some input files
parfor i = 1:n
system('...'); % simulation code
end
... % Use the output and prepare some stuff that can be used to prep the next iteration
end
其中n是一个比我可以使用的#Treads更大的数字。这通常需要一段时间才能运行,与此同时我想将计算机用于其他(非cpu饥饿)任务。因此,我想以低优先级运行系统调用。
我已经尝试过使用new或者启动但是然后调用不会等到它完成后才会继续。检查输出文件是否存在会有一个肮脏的黑客,但是我再次问自己是否有更好的解决方案......
非常感谢任何帮助
你的 麻姑_
答案 0 :(得分:2)
尝试使用/wait
命令中的start
标志:
>> system( 'start /LOW /WAIT matlab.exe' );
启动了一个新的matlab实例,并在我关闭打开的应用程序后才恢复执行。
当然,您需要将我建议的解决方案中的matlab.exe
替换为您要运行的模拟程序名称。