主要内容

差分和近似导数

描述

例子

y= diff(X的相邻元素之间的差值X沿着第一个阵列维度,其大小不等于1:

  • 如果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-by-m矩阵,然后y = diff(x)返回大小(p-1)-by-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个差值差异(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×7.1 1 2 3 5 5

注意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

y是一个2 × 3矩阵。

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

X = [0 5 15 30 50 75 105];Y = diff (X, 2)
y =1×55 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矩阵。

使用用语法近似偏端的功能Y =差异(f)/ h, 在哪里F是在某个域中进行评估的功能值的矢量,X,H是一个适当的阶梯尺寸。

例如,的一阶导数sin (x)关于Xcos(x)和第二衍生物相对于Xsin (x).您可以使用来近似这些导数。

h = 0.001;% 一步的大小X = -π:h:π;% 领域f = sin(x);%的范围内Y = diff (f) / h;%首先衍生z =差异(y)/ h;%第二衍生物绘图(x(:,1:长度(y)),y,'r',x,f,'B',x(:,1:长度(z)),z,“k”

图中包含一个坐标轴。轴线包含3个线型对象。

在此绘图中,蓝线对应于原始功能,.红线对应于计算的第一衍生物,因为并且黑线对应于计算的第二衍生物,sin

创建一系列同等间隔的DateTime值,并找到它们之间的时间差异。

t1 = datetime ('现在');T2 = T1 +分钟(5);T = T1:分钟(1.5):T2
t =1x4 DateTime.第1至3列23-Feb-2021 14:59:31 23-Feb-2021 15:01:01 23-Feb-2021 15:02:31
dt = diff(t)
dt =1x3持续时间00:01:30 00:01:30 00:01:30

返回A.期间大批。

输入参数

全部收缩

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

复数支持:金宝app是的

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

可以指定N足够大以至于暗淡减少到单身(大小(X,昏暗的)= 1)维度。当这种情况发生时,继续沿着下一个阵列维度计算其大小不等于1.此过程继续返回0乘0个空矩阵。

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

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

考虑一个二维的p- m输入数组,一种

  • diff (1, 1)处理列中的连续元素一种并返回(p-1)-by-m差矩阵。

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

数据类型:双倍的|单身的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

输出参数

全部收缩

差分阵列,作为标量,向量,矩阵或多维数组返回。如果X是一个非空数组,那么X由此采取行动尺寸减小N在输出中。

扩展能力

也可以看看

|||

之前介绍过的R2006a