使用 batch 命令并行执行各种计算

要在 MATLAB 中使用多线程,可以使用 batch 命令。请注意,你必须安装 Parallel Computing 工具箱。

例如,对于耗时的脚本,

for ii=1:1e8
   A(ii)=sin(ii*2*pi/1e8);
end

要以批处理模式运行它,可以使用以下命令:

job=batch("da")

这使得 MATLAB 能够以批处理模式运行,并且可以在此期间使用 MATLAB 来执行其他操作,例如添加更多批处理。

要在完成作业后检索结果并将数组 A 加载到工作区中:

load(job, 'A')

最后,从 HomeEnvironmentParallelMonitor 作业打开 monitor job gui,并通过以下方式删除作业:

delete(job)

要加载批处理函数,只需使用此语句,其中 fcn 是函数名称,N 是输出数组的数量,x1...xn 是输入数组:

 j=batch(fcn, N, {x1, x2, ..., xn})