Мне нужно распараллелить скрипт в MATLAB. У меня есть массив ячеек, в который я возвращаю значения. Но MATLAB не принимает способ, которым я структурирую распараллеливание моего скрипта.
N_h = 4;
N_r = 6;
N_s = 20;
P{1:N_h, 1} = zeros(N_s, N_r);
workers = 4; % number of cores (workers) for parallel computing
multicore = parpool('local', workers); % open multiple workers (cores) for parallel computation
for h = 1:1:N_h
for r = 1:1:N_r
parfor s = 1:N_s
P{h,1}(s,r) = some function ...
end
end
end
delete(multicore); % delete multiple workers (cores) opened for parallel computation
MATLAB отвечает, что переменная P
индексируется способом, несовместимым с parfor
. Как мне изменить свой сценарий?