如何在matlab中轻松计算出一些数字的总和

时间:2014-02-08 11:21:08

标签: matlab matlab-figure

我有以下简单程序,但我希望将其扩展到更大的尺寸。我在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)

非常感谢

3 个答案:

答案 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;

你可以使用类似的东西。