Я пытаюсь выполнить этот фрагмент кода:
parpool('local',4);
range = 1000;
parfor i = 1:range
A_test(i) = sqrt(i);
end
Он отлично работает в окне MATLAB-Desktop, но когда я пытаюсь запустить его из командной строки, используя
matlab -nosplash -nodesktop -r "run script.m"
Я получаю следующую ошибку:
Error using onCleanup (line 50)
Not enough input arguments.
Error in parfor_test (line 9)
parfor i = 1:range
Error in run (line 96)
evalin('caller', [script ';']);
Я читал, что мне, возможно, придется предварительно выделить вектор A_test, поэтому я изменил код следующим образом:
parpool('local',4);
range = 1000;
A_test = zeros(1,range);
parfor i = 1:range
A_test(i) = sqrt(i);
end
Теперь я не получаю никаких ошибок, но A_test не заполняется sqrt-числами, а остается заполненным нулями. Есть ли у вас какие-либо идеи, что я могу сделать, чтобы исправить эту ошибку?