Matlab中diff函数的使用 您所在的位置:网站首页 Matlab求符号偏导数 Matlab中diff函数的使用

Matlab中diff函数的使用

2023-07-01 09:14| 来源: 网络整理| 查看: 265

目录

语法

说明

示例

向量元素之间的差分

矩阵行之间的差分

多阶差分

矩阵列之间的差分

使用差分求导数近似值

日期时间值之间的差

        diff函数是求差分和近似导数。

语法 Y = diff(X) Y = diff(X,n)

        以一个二维 p x m 输入数组 A 为例:

diff(A,1,1) 会对 A 的列中的连续元素进行处理,然后返回 (p-1)xm 的差分矩阵。

diff(A,1,2) 会对 A 的行中的连续元素进行处理,然后返回 px(m-1) 的差分矩阵。

​        差分数组,以标量、向量、矩阵或多维数组形式返回。如果 X 是一个非空数组,则由 diff 所处理的 X 的维度在输出中的大小将减小 n。

说明

Y= diff(X) 计算沿大小不等于 1 的第一个数组维度的 X 相邻元素之间的差分:

如果 X 是长度为 m 的向量,则 Y = diff(X) 返回长度为 m-1 的向量。Y 的元素是 X 相邻元素之间的差分。

Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]

如果 X 是不为空的非向量 p×m 矩阵,则 Y = diff(X) 返回大小为 (p-1)×m 的矩阵,其元素是 X 的行之间的差分。

Y = [X(2,:)-X(1,:); X(3,:)-X(2,:); ... X(p,:)-X(p-1,:)]

如果 X 是 0×0 的空矩阵,则 Y = diff(X) 返回 0×0 的空矩阵。

Y = diff(X,n) 通过递归应用 diff(X) 运算符 n 次来计算第 n 个差分。在实际操作中,这表示 diff(X,2) 与 diff(diff(X)) 相同。

Y = diff(X,n,dim) 是沿 dim 指定的维计算的第 n 个差分。dim 输入是一个正整数标量。

示例 向量元素之间的差分

        创建一个向量,然后计算元素之间的差分。

X = [1 1 2 3 5 8 13 21]; Y = diff(X) Y = 1×7 0 1 1 2 3 5 8

        请注意,Y 的元素比 X 少一个。

矩阵行之间的差分

        创建一个 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 矩阵。

多阶差分

        创建一个向量,然后计算元素之间的二阶差分。

X = [0 5 15 30 50 75 105]; Y = diff(X,2) Y = 1×5 5 5 5 5 5 矩阵列之间的差分

        创建一个 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 矩阵。

使用差分求导数近似值

        使用 diff 函数和语法 Y = diff(f)/h 求偏导数近似值,其中 f 是函数值在某些域 X 上计算的向量,h 是一个相应的步长大小。

        例如,sin(x) 相对于 x 的第一个导数为 cos(x),相对于 x 的第二个导数值为 -sin(x)。可以使用 diff 求这些导数的近似值。

h = 0.001; % step size X = -pi:h:pi; % domain f = sin(X); % range Y = diff(f)/h; % first derivative Z = diff(Y)/h; % second derivative plot(X(:,1:length(Y)),Y,'r',X,f,'b', X(:,1:length(Z)),Z,'k')

         在此绘图中,蓝色线条对应原始函数 sin。红色线条对应计算出的第一个导数 cos,黑色线条对应计算出的第二个导数 -sin。

日期时间值之间的差

        创建一个等间距日期时间值序列,并计算这些值之间的时间差。

t1 = datetime('now'); t2 = t1 + minutes(5); t = t1:minutes(1.5):t2 t = 1x4 datetime Columns 1 through 3 31-Jan-2020 22:40:53 31-Jan-2020 22:42:23 31-Jan-2020 22:43:53 Column 4 31-Jan-2020 22:45:23 dt = diff(t) dt = 1x3 duration 00:01:30 00:01:30 00:01:30

        diff 返回 duration 数组。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有