How to save vector output from for loop?
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
For i=1:10 A=[i i+1 i+2; i+1 i i+1; i+2 i+1 i]; end
Now I want to make a new matrix Such that it's first element is the output of loop's eleration and so on.
Like this B = [A1 A2 A3.....A10 ]
0 commentaires
Réponse acceptée
  madhan ravi
      
      
 le 30 Mar 2019
        Save it as a 3D matrix:
A=zeros(3,3,10); % pre-allocate
for k = 1:10
A(:,:,k)=[k k+1 k+2; k+1 k k+1; k+2 k+1 k];
end
3 commentaires
  madhan ravi
      
      
 le 30 Mar 2019
				B=bsxfun(@plus,[0 1 2;1 0 1;2 1 0],(reshape(1:10,1,1,numel(1:10))));
reshape(B,3,[])
Plus de réponses (1)
  Stephen23
      
      
 le 31 Mar 2019
        
      Modifié(e) : Stephen23
      
      
 le 31 Mar 2019
  
      Much simpler without a loop:
>> A = toeplitz(1:3)+reshape(1:9,1,1,[])
A(:,:,1) =
   1   2   3
   2   1   2
   3   2   1
(:,:,2) =
   2   3   4
   3   2   3
   4   3   2
A(:,:,3) =
   3   4   5
   4   3   4
   5   4   3
... more pages here
A(:,:,9) =
    9   10   11
   10    9   10
   11   10    9
A(:,:,10) =
   10   11   12
   11   10   11
   12   11   10
For MATLAB versions prior to R2016b replace the + with bsxfun and plus.
2 commentaires
Voir également
Catégories
				En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
			
	Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


