文档

diff

差分和近似导数

描述

例子

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

  • 如果X是长度向量吗,然后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 (Xn方法计算第n个差值diff (X)运营商递归n次了。实际上,这意味着diff (X, 2)diff (diff (X))

例子

Y= diff (Xn昏暗的第n个差值是否沿着指定的尺寸计算昏暗的.的昏暗的输入是一个正整数标量。

例子

全部折叠

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

X = [1 1 2 3 5 8 13 21];Y = diff(X)
Y =1×70 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×34 4 4 20 20 20 20

Y是一个2 × 3矩阵。

创建一个向量并计算元素之间的二阶差。

X = [0 5 15 30 50 75 105];Y = diff(X,2)
Y =1×55 5 5 5 5 5

创建一个3 × 3矩阵,然后计算列之间的一阶差。

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

Y是一个3 × 2矩阵。

使用diff函数近似偏导数的语法Y = diff(f)/h,在那里f是一个函数值在定义域上求值的向量,X,h是一个合适的步长。

例如,一阶导数sin (x)关于xcos (x)的二阶导数xsin (x).你可以用diff来近似这些导数。

H = 0.001;步长%X = -pi:h:pi;%的域f = sin(X);%的范围内Y = diff(f)/h;%一阶导数Z = diff(Y)/h;%二阶导数情节(X(: 1:长度(Y)), Y,“r”f, X,,“b”X(: 1:长度(Z)), Z,“k”

在这个图中,蓝线对应原始函数,.红线对应的是一阶导数,因为,黑线对应计算出的二阶导数,sin

创建一个等间距的datetime值序列,并找出它们之间的时间差。

T1 = datetime(“现在”);T2 = t1 + min (5);T = t1:minutes(1.5):t2
t =1x4 datetime数组第四列01-Feb-2020 00:25:58
Dt = diff(t)
dt =1x3持续时间数组00:01:30 00:01:30 00:01:30

diff返回一个持续时间数组中。

输入参数

全部折叠

输入数组,指定为向量、矩阵或多维数组。X可以是数字数组、逻辑数组、日期时间数组或持续时间数组。

复数支持:金宝app是的

差分顺序,指定为正整数标量或[].的默认值。n是1。

这是可以指定的n足够大昏暗的简化为单个(size(X,dim) = 1)维度。当这种情况发生时,diff沿着大小不等于1的下一个数组维度继续计算。这个过程将继续,直到返回一个0 × 0的空矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要操作的维度,指定为正整数标量。如果没有指定值,则默认为大小不等于1的第一个数组维度。

考虑一个二维p × m输入数组,一个

  • diff (1, 1)的连续元素一个并返回一个(p-1) × m的差分矩阵。

  • diff (1 2)行的连续元素一个并返回一个p-by-(m-1)差分矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

差分数组,作为标量、向量、矩阵或多维数组返回。如果X是一个非空数组,那么维数X受…影响diff尺寸减少了n在输出中。

扩展功能

另请参阅

|||

R2006a之前介绍过