我有一个循环,它迭代 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
现在你有一个名为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`.