Nested for-Loops in parfor

조회 수: 1 (최근 30일)
LD
LD 2022년 3월 22일
댓글: LD 2022년 4월 10일
I try to put a for-loop in a parfor-loop. However, the following code is invalid.
parfor i=1:10
for j=1:10
a(j)=1;
end
end
The only way I know to fix that is
parfor i=1:10
for j=1:10
a(i,j)=1;
end
end
But I think it is inefficient when the size of "a" is large (I don't need "a" at the end of this program) . Is there a better way to implement this nested for-loop?
  댓글 수: 1
Edric Ellis
Edric Ellis 2022년 3월 23일
@Walter Roberson has provided you with a way to fix the problem. Just to explain the problem a little bit more - parfor insists on being able to prove that the iterations of your parfor loop are not (trying to be) order-dependent. In your original code, it appears as though the value of a as assigned when i==1 is still available on the next iteration when i==2. Walter's fix assigns a value to the whole of a, and this makes parfor satisfied that you cannot possibly access the old values of a in subsequent iterations.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2022년 3월 22일
parfor i=1:10
a = zeros(10, 1);
for j=1:10
a(j)=1;
end
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by