我在网上看了一下,似乎无法找到这个问题的答案。我想在matlab中声明一个向量,然后有一个for循环,每次我进入for循环时都会向向量添加一个元素。
这是我尝试过的,它似乎没有起作用
vector[];
for k = 1 ; 10
%calculate some value
%calculated value stored in temp variable
vector(k) = temp;
end
这不起作用。有人知道如何解决这个问题吗?
答案 0 :(得分:1)
正如ypnos所说,你不需要预先声明向量变量。例如,如果您这样做:
vector(50) = 1;
MATLAB会生成长度为50且第50个值为1的向量。如果要提高性能并希望事先创建适当大小的向量,请执行以下操作:
vector = zeros(10, 1);
你拥有它的代码(只要你按照ypnos说的那样修复循环)将起作用,除了你如何声明vector,这是不正确的。我打赌你收到的错误信息是:"Error: Unbalanced or unexpected parenthesis or bracket."
你没有在MATLAB中指定变量是否为矩阵/向量。
答案 1 :(得分:0)
vector = [vector; temp];
或
vector(end+1) = temp;