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

现在你有一个名为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 回答