我有以下简单程序,但我希望将其扩展到更大的尺寸。我在Matlab中如何做得更容易:这里x的大小是6,但在我的真实程序中,它的大小为500.
x=[1 2 4 7 8 9];
y1=x(1);
y2=x(1)+x(2);
y3=x(1)+x(2)+x(3);
y4=x(1)+x(2)+x(3)+x(4);
y5=x(1)+x(2)+x(3)+x(4)+x(5);
y6=x(1)+x(2)+x(3)+x(4)+x(5)+x(6);
m=[y1 y2 y3 y4 y5 y6];
plot(x,m)
非常感谢
答案 0 :(得分:5)
plot(x,cumsum(x));
cumsum
完全符合您的要求。
答案 1 :(得分:1)
对于 x 的前n个元素,你可以这样做:
for i=1:n
y(i) = sum(x(1:i));
end
plot(x,y)
答案 2 :(得分:0)
您可以创建(零)y的数组,每个数组都有一个索引号。因此您可以在for循环中使用此索引号。例如:
function O=Y(i)
num=0;
for m=1:i
num=num+x(i);
end
O=num;
你可以使用类似的东西。