查找cumsum中的最后一个元素

lak*_*esh 0 arrays matlab

例如,我会使用 cumsum 来找到最多为 5 的总和,但我想要的不是所有中间值。

例如:

A = [1:5];
B = cumsum(A)
Run Code Online (Sandbox Code Playgroud)

返回

B =

     1     3     6    10    15
Run Code Online (Sandbox Code Playgroud)

我只想要 15 个而不是其他的。

我尝试过的:

B = cumsum(A)(end) 但它给了我这个错误:

??? Error: ()-indexing must appear last in an index expression.
Run Code Online (Sandbox Code Playgroud)

Den*_*din 5

cumsum 的最后一个元素根据定义等于总和。因此你只需要:

A = [1:5];
B = sum(A)
Run Code Online (Sandbox Code Playgroud)

当然你也可以做你想做的事,绕道而行:

A = [1:5];
B = cumsum(A);
B(end)
Run Code Online (Sandbox Code Playgroud)