1

我有一个长度为 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
4

1 回答 1

7

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

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

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

于 2013-03-19T21:36:43.750 回答