for-----parfor
parfor('local'); 不推荐
parfor(8); 使用8个Core(worker?) 进行并行计算。 目前电脑是8核16线程32G内存的,最大可以开8,但是建议循环变量是核的整数倍,效率更高。
具体语句:
%% 启动并行计算
CoreNum=5;
if isempty(gcp('nocreat')); %% 当前池对象是否为空
parpool=CoreNum;
end
%% 结束并行计算
delete(gcp('nocreat'));
或者,开始: p=parfor(5); 结束: delete(p);
或者,左下角手动开关。
使用parfor的注意事项:
1. 并行循环内所有变量必须符合下面的分类,否则MATLAB会报错“无法对parfor循环中的变量?进行分类”。
1) 循环变量
2)切片变量
3)临时变量
4)广播变量
5)简约变量