访问循环的所有结果而不是最后一个值

时间:2013-11-21 04:02:08

标签: matlab

我有一个for循环如下:

for k=20:120;
    a1=(t1.*g)./(v1+t1.*k);
end

t1是一个5x8矩阵,使用for循环生成101个5x8矩阵,名为a1

在命令窗口中,我只能使用k=120访问最后一个5x8矩阵。

我想访问所有101个5x8矩阵。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

那是因为你在每次循环迭代时都覆盖了前一个矩阵。您需要将结果矩阵存储在单元阵列或三维矩阵中。例如,要将它们存储在单元格数组中,您可以执行以下操作:

a1 = cell(1,101);
for k=20:120
    a1{k-19} = (t1.*g)./(v1+t1.*k); % subtract 19 so the index starts at 1
end

然后,您可以使用a1{1}访问每个结果矩阵,依此类推