for look and store in a 2x2 matrix

1 回表示 (過去 30 日間)
Damith
Damith 2014 年 5 月 19 日
コメント済み: Matt J 2014 年 5 月 20 日
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.

採用された回答

Matt J
Matt J 2014 年 5 月 19 日
編集済み: Matt J 2014 年 5 月 19 日
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 件のコメント
Image Analyst
Image Analyst 2014 年 5 月 20 日
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 2014 年 5 月 20 日
@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 !

サインインしてコメントする。

その他の回答 (1 件)

Sara
Sara 2014 年 5 月 19 日
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.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by