0

20回反復して行列「A」を生成するループがあります。コマンドを使用して結果を A_1、A_2、...、A_20 として生成したいと考えています。どうすればいいですか?

ありがとう。

4

2 に答える 2

2

セル配列を使用したくない場合は、次のことを検討してください。

A = zeros(nrow,ncols,20)

A次元の行列を作成しますnrow*ncol*20。ループ内でプレーンごとに構築しないでください。nrowそして、とncolをあなたが望むものに置き換えてください。それで

for i = 1:20
    A(:,:,i) = ... stuff ...
end

これで、 という 1 つの 3D マトリックスができましたA

于 2012-10-29T22:12:09.473 に答える
0

必要なことを行うには多くの方法があります。より楽な方がおそらく

  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`.
于 2012-10-29T20:56:24.813 に答える