20回反復して行列「A」を生成するループがあります。コマンドを使用して結果を A_1、A_2、...、A_20 として生成したいと考えています。どうすればいいですか?
ありがとう。
20回反復して行列「A」を生成するループがあります。コマンドを使用して結果を A_1、A_2、...、A_20 として生成したいと考えています。どうすればいいですか?
ありがとう。
セル配列を使用したくない場合は、次のことを検討してください。
A = zeros(nrow,ncols,20)
A
次元の行列を作成しますnrow*ncol*20
。ループ内でプレーンごとに構築しないでください。nrow
そして、とncol
をあなたが望むものに置き換えてください。それで
for i = 1:20
A(:,:,i) = ... stuff ...
end
これで、 という 1 つの 3D マトリックスができましたA
。
必要なことを行うには多くの方法があります。より楽な方がおそらく
save([MyOutput,int2str(i)], 'A'); %where i is your iteration index,
%thus you will have 20 different files.
また
save(MyOutput, 'A','-append'); %which generates one file in which
%all your matrices are stored consequently.
しかし、実際には何百万もの方法があります。必要なものをより具体的にするようにしてください。
ワークスペースで行列を使用する必要がある場合は、セルの使用を検討してください。
N = 20;
A_t = cell(N,1);
%in cycle
for ...
A_t(i) = {A};
Now your `A_t{i}` (note different parenthesis) is a cell containing your `A_i`.