matlab-1 中 diff()的使用

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 矩阵。

X = [1 3 5;7 11 13;17 19 23];
Y = diff(X,2,2)

Y =

     0
    -2
     2

learn more

posted @ 2021-02-25 20:09  杨宜qin  阅读(887)  评论(0)    收藏  举报