matlab低优先级系统调用

时间:2013-07-10 07:53:11

标签: windows matlab

我想检查/改进我使用的一些校正算法。

整个事情都是在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或者启动但是然后调用不会等到它完成后才会继续。检查输出文件是否存在会有一个肮脏的黑客,但是我再次问自己是否有更好的解决方案......

非常感谢任何帮助

你的 麻姑_

1 个答案:

答案 0 :(得分:2)

尝试使用/wait命令中的start标志:

>> system( 'start /LOW /WAIT matlab.exe' );

启动了一个新的matlab实例,并在我关闭打开的应用程序后才恢复执行。

当然,您需要将我建议的解决方案中的matlab.exe替换为您要运行的模拟程序名称。