使用 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})