我有一个迭代20次的循环并产生矩阵“A”。我想使用命令将结果生成为A_1,A_2,...,A_20。我应该怎么做?
感谢。
答案 0 :(得分:2)
如果您不想使用单元格数组,可以考虑以下内容:
A = zeros(nrow,ncols,20)
将创建维度A
的矩阵nrow*ncol*20
。始终事先为大矩阵分配空间,不要在循环内逐个平面构建它。并将nrow
和ncol
替换为您想要的任何内容。然后
for i = 1:20
A(:,:,i) = ... stuff ...
end
现在您有一个名为A
的3D矩阵。
答案 1 :(得分: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`.