for循环里面的parfor
Parfor inside for loop
我有以下简短的 Matlab 代码:
res = cell(10*100,1);
for i = 1:10
parfor j = 1:100
idx = ((i-1) * 100) + j;
res(idx) = 5;
end
end
我收到 res(idx) = 5;
的错误。如果我不在 parfor 循环中使用变量 i 它可以工作,但我必须跟踪 i.
我该怎么做?
编辑:我已经解决了。
res = zeros(10*100,1);
for i = 1:10
temp = zeros(100,1);
parfor j = 1:100
a = i;
temp(j) = data((i-1) * 100) + j);
end
res((i-1)*100+1:i*100) = temp;
end
会
spmd
res = zeros(10*100,1);
for i = 1:10
for j = 1:100
idx = ((i-1) * 100) + j;
res(idx) = 5;
end
end
end
解决了你的问题?
我有以下简短的 Matlab 代码:
res = cell(10*100,1);
for i = 1:10
parfor j = 1:100
idx = ((i-1) * 100) + j;
res(idx) = 5;
end
end
我收到 res(idx) = 5;
的错误。如果我不在 parfor 循环中使用变量 i 它可以工作,但我必须跟踪 i.
我该怎么做?
编辑:我已经解决了。
res = zeros(10*100,1);
for i = 1:10
temp = zeros(100,1);
parfor j = 1:100
a = i;
temp(j) = data((i-1) * 100) + j);
end
res((i-1)*100+1:i*100) = temp;
end
会
spmd
res = zeros(10*100,1);
for i = 1:10
for j = 1:100
idx = ((i-1) * 100) + j;
res(idx) = 5;
end
end
end
解决了你的问题?