使用 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')
最后,从 Home → Environment → Parallel → Monitor 作业打开 monitor job gui
,并通过以下方式删除作业:
delete(job)
要加载批处理函数,只需使用此语句,其中 fcn
是函数名称,N
是输出数组的数量,x1
,...
,xn
是输入数组:
j=batch(fcn, N, {x1, x2, ..., xn})