for look and store in a 2x2 matrix

2 views (last 30 days)
Damith
Damith on 19 May 2014
Commented: Matt J on 20 May 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.

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
Image Analyst
Image Analyst on 20 May 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 on 20 May 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 !

Sign in to comment.

More Answers (1)

Sara
Sara on 19 May 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.

Categories

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

Community Treasure Hunt

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

Start Hunting!