求和数组的前m个元素

时间:2013-03-19 21:34:33

标签: matlab

我有一个长度为n的数组。是否有函数允许我计算该数组的前m个元素的部分和(m <= n)?

我想到了这样的事情

sum(X,1:10) %returns the sum of the 10 first elements of the array

但这不起作用。 Sum似乎只计算整列,行或更高维度的等价物。

编辑:我想知道是否有matlab函数这样做 - 我可以自己编程,但有可能它更慢并且可以做一些奇怪的事情:)

我的功能如下:

function[sum] = partialSum(X,m)
sum = 0;
for i = 1:m
    sum = sum + X(i);
end

1 个答案:

答案 0 :(得分:7)

目前尚不清楚你想要什么。如果它只是第一个m元素的总和,那就是:

result = sum(X(1:m));

如果您想要部分和的序列,请使用cumsum()代替sum()