for look and store in a 2x2 matrix

1 vue (au cours des 30 derniers jours)
Damith
Damith le 19 Mai 2014
Commenté : Matt J le 20 Mai 2014
Hi,
I have this for loop and it's working fine. But the output (A) is a 2x2 matrix. How can i store the outputs in A1,A2....A183 like for all i's in the loop.
for i=122:1:305
A=DamithCount(S1(i,:),S1(i+1,:));
end
Thanks in advance for help.

Réponse acceptée

Matt J
Matt J le 19 Mai 2014
Modifié(e) : Matt J le 19 Mai 2014
This will store them in slices A(:,:,1), A(:,:,2), ...A(:,:,184) of a 3D array, a much better data organization than A1,...,A184.
for i=122:305
A(:,:,i-121)=DamithCount(S1(i,:),S1(i+1,:));
end
  4 commentaires
Image Analyst
Image Analyst le 20 Mai 2014
How is that 4 elements instead of 184 elements? And why are you giving only two 2-D coordinates instead of four 3-D coordinates?
By the way, you might need to use squeeze().
Matt J
Matt J le 20 Mai 2014
@Damith,
If you mean you want to sum across slices, you would simply do
Asum=sum(A,3)
Note how much harder this would have been if you had stored in separate matrices A1,...A184 !

Connectez-vous pour commenter.

Plus de réponses (1)

Sara
Sara le 19 Mai 2014
for i = 122:305
assignin('base',['A',num2str(i)],DamithCount(S1(i,:),S1(i+1,:)));
end
Look up assignin to be sure to use the right workspace.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by