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是一个比我可以使用的#踏板数大的数字。这种正常情况需要一段时间才能运行,同时我想将计算机用于其他(不需要cpu)任务。因此,我想以低优先级运行系统调用。

我已经尝试过使用new或start来完成这项操作,但通话没有等到结束,而是继续进行。检查输出文件是否存在会有一个肮脏的黑客攻击,但我再次问自己,是否没有更好的解决方案。。。

如有任何帮助,将不胜感激

你的magu_

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

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

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

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

最新更新