MATLAB diff函数计算符号微分/数值差分的办法

作者:风筝 | 创建时间: 2023-06-26
介绍MATLAB中计算差分微分,具有多种用途的diff函数和其用法举例。...
MATLAB diff函数计算符号微分/数值差分的办法

操作方法

首先,对于一个长度n的一维列表,直接对其使用diff函数,可以得到一个长度为n-1的列表,列表元素为相邻元素之差。

如果我们对一个列表X使用diff(diff(X)),等价于diff(X,2),相当于求二阶差分(数值微分)。

如图,当步长值取得足够小,就可以使用diff函数计算数值微分以及用来作图。请注意f=exp(-X).*sin(X),用的是 .*符号,用来将两个列表对应元素相乘。

diff还可以用来求Datetime的时间差,如图所示。

diff函数第二个参数如前所述,是差分次数。而第三个参数则是计算差分的方向(适用于多维数组)。 如图,使用diff(A,1,2)计算矩阵A沿着水平方向的一阶差分,diff(A,1,1)则是竖直方向(默认),也可写作diff(A,1)

使用diff还可以求符号微分。首先定义符号a,b,c,x,写出表达式,使用 diff(符号表达式,待微分符号)来求微分。

温馨提示

diff可以求数值微分,cumsum函数求列表的累加和列表,就有数值积分的意思。
点击展开全文

更多推荐