减去矩阵项

时间:2013-10-29 07:08:21

标签: matlab

在matlab上: 我有一个矢量P. 我想将值P(k + 1) - P(k)存储在一个新的向量M中。我可以用for循环来做,但是有更高效的东西(我有一个巨大的向量)。

3 个答案:

答案 0 :(得分:1)

正如Marcin所说,使用diff。对于1D向量,diff(a)。对于沿着暗淡1的差异,diff(a,[],1)。沿着昏暗的2,使用diff(a,[],2)

答案 1 :(得分:1)

简单的解决方案

差值= V(2:n) - V(1:n-1)其中n是向量V的大小;

n =大小(V,1);

答案 2 :(得分:-1)

我认为制作矢量P可能更容易,然后将其复制并稍微移位。如果你制作向量Pk(你的常规P向量,但在上面填充),然后使Pk + 1(让我们称之为Pkp1)并在下面填充它。

Pk   = [0 P];
Pkp1 = [P 0];
M    = Pkp1 - Pk

这使它成为元素矩阵运算,它总是比循环更快。如果你的递归算法要求,你可以改为0填充。

我希望这对你有所帮助。 马丁