我想使用parfor matlab代码来快速实现,但有两个问题。使用的代码如下:
for i=1:4
...
parfor j=1:10
...
para{i,j,:}=cell(1,1,2); %first type of definition
Alpha{i,j,:}=cell(1,1,2); %first type of definition
B{i,j,:}=cell(1,1,2); %first type of definition
para=cell(1,1,2); %second type of definition
Alpha=cell(1,1,2); %second type of definition
B=cell(1,1,2); %second type of definition
for k=1:2
...
para{i,j,k}=x1;
Alpha{i,j,k}=alpha;B{i,j,k}=b;
end
...
end
mysave(alpha,para,B)
end
现在我的问题是:
我几乎阅读了与parfor matlab相关的所有帖子,但我无法得到答案。 提前致谢
答案 0 :(得分:1)
这就是我的建议。它工作并为结果单元格数组Alpha,para,B
提供了维度4*10*2
。请看你的代码。使用mysave
命令编写了alpha
而不是Alpha
,它为您提供了循环的最后一个值。如果这是拼写错误,请尝试以下代码。这应该有用。
Alpha=cell(4,10,2); % Number of times the three loops run (4,10,2)
para=cell(4,10,2);
B=cell(4,10,2);
for i=1:4
% ...
parfor j=1:10
% ...
for k=1:2
% ...
para{i,j,k}=x1;
Alpha{i,j,k}=alpha;
B{i,j,k}=b;
end
end
end
mysave(Alpha,para,B)