求和数组的前m个元素

Phi*_*ipp 1 matlab

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

我想到了这样的事情

sum(X,1:10) %returns the sum of the 10 first elements of the array
Run Code Online (Sandbox Code Playgroud)

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

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

我的功能看起来像这样:

function[sum] = partialSum(X,m)
sum = 0;
for i = 1:m
    sum = sum + X(i);
end
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 7

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

result = sum(X(1:m));
Run Code Online (Sandbox Code Playgroud)

如果你想要部分和的序列,那么使用cumsum()而不是sum().