how do i store a matrix value inside a parfor loop?
    10 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Naveen kumar Elumalai
 il 17 Feb 2018
  
    
    
    
    
    Commentato: ahmad eldeeb
 il 18 Nov 2022
            I wanted to use the A matrix outside the parfor loop for further computation, i get an error stating "cannot run due to way variable A", is there any solution to this problem ??is there any other way to save the matrix???
thank you
N=50;
parfor n=1:Nc
    b=rand(300,103);
    [Q,R]=qr(b,0);
    A((n-1)*(N+1)+1:n*(N+1),:)=R
end
0 Commenti
Risposta accettata
  Greg
      
 il 17 Feb 2018
        Pre-allocate A to store each R along the third dimension, then reshape it outside the loop. Iterations of parfor can't use indexing that depends on other iterations of the loop (i.e., n-1).
A = zeros(N+1,numColsofR,Nc);
parfor ...
  A(:,:,n) = R;
end
reshape(permute(A,[1,3,2]),[],numColsofR);
4 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


