Azzera filtri
Azzera filtri

for look and store in a 2x2 matrix

3 visualizzazioni (ultimi 30 giorni)
Damith
Damith il 19 Mag 2014
Commentato: Matt J il 20 Mag 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.

Risposta accettata

Matt J
Matt J il 19 Mag 2014
Modificato: Matt J il 19 Mag 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 Commenti
Image Analyst
Image Analyst il 20 Mag 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 il 20 Mag 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 !

Accedi per commentare.

Più risposte (1)

Sara
Sara il 19 Mag 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.

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!

Translated by