matlab 中 diff() 函数的使用
来源于 matlab 帮助中心, 这里将 diff() 的说明和例子整理一起, 方便我自己理解和记忆.
diff(A)
如果 X 是长度为 m 的向量, 则 Y = diff(X) 返回长度为 m-1 的向量. Y 的元素是 X 相邻元素之间的差分.
- Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]
- X = [1 1 2 3 5 8 13 21];
- Y = diff(X)
- Y = 1*7
- 0 1 1 2 3 5 8
请注意, Y 的元素比 X 少一个.
如果 X 是不为空的非向量 p*m 矩阵, 则 Y = diff(X) 返回大小为 (p-1)*m 的矩阵, 其元素是 X 的行之间的差分.
Y = [X(2,:)-X(1,:); X(3,:)-X(2,:); ... X(p,:)-X(p-1,:)]
创建一个 3*3 矩阵, 然后计算各行之间的一阶差分.
- X = [1 1 1; 5 5 5; 25 25 25];
- Y = diff(X)
- Y = 2*3
- 4 4 4
- 20 20 20
Y 是 2*3 矩阵.
diff(X,n)
Y = diff(X,n), 通过递归应用 diff(X) 运算符 n 次来计算第 n 个差分. 在实际操作中, 这表示 diff(X,2) 与 diff(diff(X)) 相同.
- X = [0 5 15 30 50 75 105];
- Y = diff(X,2)
- Y = 1*5
- 5 5 5 5 5
- diff(X,n,dim)
Y = diff(X,n,dim) 是沿 dim 指定的维计算的第 n 个差分. dim 输入是一个正整数标量.
创建一个 3*3 矩阵, 然后计算各列之间的一阶差分.
- X = [1 3 5;7 11 13;17 19 23];
- Y = diff(X,1,2)
- Y = 3*2
- 2 2
- 4 2
- 2 4
Y 是一个 3*2 矩阵.
learn more
来源: http://www.bubuko.com/infodetail-3730277.html