Nested for-Loops in parfor
    1 view (last 30 days)
  
       Show older comments
    
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 Comment
  Edric Ellis
    
      
 on 23 Mar 2022
				@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. 
Accepted Answer
More Answers (0)
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!