Matlab的Movsum()在[X X + t]

时间:2017-01-27 11:55:34

标签: matlab indexing reference sum

假设以下内容:

A = [1;2;3;4;5;6;7];
A1 = table(A);

enter image description here

以下是对当前和下面两个单元格的总结:

A2 = movsum(A1{:, 1:end}, [0 2], 'Endpoints', 'fill');`

我想要的是上面movsum()的总和,但没有 考虑当前单元格([0 2]中的0)。此计算的第一个值(= 新表中的第一行)应为5(2 + 3),第二个为7(3 + 4)等。 如何调整我的以下代码才能进行预期的计算?

A3 = movsum(A1{:, 1:end}, [1 2], 'Endpoints', 'fill');

...因为A3返回:

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定pokus1=# select array[]; ERROR: cannot determine type of empty array LINE 1: select array[]; ^ HINT: Explicitly cast to the desired type, for example ARRAY[]::integer[]. pokus1=# select array[]::integer[]; array ------- {} (1 row) 是否支持此功能,因为帮助内容为

  

Y = movsum(X,[NB NF])[...]返回前一个的局部和   NB元素,当前元素和X的下一个NF元素。

但是,一个简单的解决方案是通过

减去不需要的当前单元格

movsum

测试它给出了

A2 = movsum(A1{:, 1:end}, [0 2], 'Endpoints', 'fill') - A1{:, 1:end};

这就是你想要的吗?