for look and store in a 2x2 matrix

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.

 Accepted Answer

Matt J
Matt J on 19 May 2014
Edited: Matt J on 19 May 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 Comments

Thanks a lot. it worked.
Hi Matt,
I am trying to access the 4 elements in A(:,:,1) upto A(:,:,184). For example if I want to sum the 1,1 and 2,1, how can I do that. I need to do the same for 1,2 and 2,2.
Please let me know.
Thanks.
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().
@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 !

Sign in to comment.

More Answers (1)

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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 19 May 2014

Commented:

on 20 May 2014

Community Treasure Hunt

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

Start Hunting!