【发布时间】:2015-08-19 17:19:09
【问题描述】:
我正在尝试执行这段代码:
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 数字,而是填充零。 你有什么想法,我可以做些什么来修复这个错误?
【问题讨论】:
标签: matlab parallel-processing parfor