我想把这个矢量放在一个LOOP中。我不知道怎么做!
y=[a ...
a + b ...
a + b + c ...
a + b + c + b ...
a + b + c + b + c ...
a + b + c + b + c + b ...
a + b + c + b + c + b + c];
其中, a,b,c都是预定义的值。 我希望这个循环运行'n'次。
答案 0 :(得分:1)
如果要在循环中构造此类向量,请尝试以下操作:
v = zeros(n, 1);
for i=1:n
if (i==1)
v(i) = a;
elseif (mod(i,2)==0)
v(i) = v(i-1)+b;
else
v(i) = v(i-1)+c;
end
end
或者,不使用循环,如下:
v=[a,repmat([b,c],[1,(n-1)/2])];
v=cumsum(v)';
答案 1 :(得分:1)
您不需要循环。要获取每次迭代时添加的元素,请使用:
n=30 %size
v=[a,repmat([b,c],[1,(n-1)/2])];
然后使用累积总和:
v=cumsum(v);