我在Matlab中编写了一个代码,我预先定义变量“a”,然后设置一个5次迭代的for循环,其中变量“a”经历了一些基本操作。但是,for循环输出仅保存“a”的第五次迭代。如何在1x5阵列中保存所有5次迭代?
代码如下:
a = 10;
k = 0.5;
n = 2;
for m = 1:5
a = a + (a*k) + n;
end
编辑: 我刚发现我必须创建一个新变量。
a = 10;
k = 0.5;
n = 2;
a_n = zeros(1,5);
for m = 1:5
a = a + (a*k) + n;
a_n(m) = a;
end
答案 0 :(得分:2)
您可能需要在每次迭代后将a
的值存储到另一个变量x
a = 10;
k = 0.5;
n = 2;
for m = 1:5
a = a + (a*k) + n;
x(m) = a;
end
x
输出:
x =
17.000 27.500 43.250 66.875 102.312
答案 1 :(得分:1)
您需要使用另一个变量将5次迭代存储为数组。
代码看起来像这样:
a = 10;
k = 0.5;
n = 2;
b = [];
for m = 1:5
a = (a + (a*k) + n)
b = [b a];
end
现在,您可以为所有5个迭代值打印b
。
以下是将值更新为1-D矩阵的另一种方法。