matlabpool的替代品

Tya*_*ers -1 parallel-processing matlab

我正在尝试使用其他人的代码,其中包含以下行:

if (m<100) || (matlabpool('size')==0)
Run Code Online (Sandbox Code Playgroud)

我正在使用MATLAB R2016a,因此此命令失败。matlabpool('size')在新版本中相当于什么?

我知道matlabpool被取代parpool。但是matlabpool('size')具体做什么呢?它实际上并没有创建并行工作器。

Adr*_*aan 5

根据更改日志

matlabpool功能matlabpool已删除功能已被删除。兼容性注意事项调用matlabpool现在会产生一个错误。您应该改用parpool创建并行池。

matlabpool('size')完全符合您的期望:它给您当前池的大小,即分配给它的工作人员的数量。gcpGetCurrentPool)为您做到这一点。其文档的第一个示例:

p = gcp('nocreate'); % If no pool, do not create new one.
if isempty(p)
    poolsize = 0;
else
    poolsize = p.NumWorkers
end
Run Code Online (Sandbox Code Playgroud)