MATLAB diff()求导函数的用法(附带实例)
符号微分运算实际上就是计算函数的导(函)数,MATLAB 提供的 diff() 函数不仅可求函数的一阶导数,还可以计算函数的高阶导数与偏导数。
diff() 函数的调用格式如下:
注意,函数 f 为矩阵时,是对元素逐个进行求导的,且自变量定义在整个矩阵上。
【实例】已知下面的函数:
试求下面表达式的值:
在命令行窗口中输入以下语句,并查看输出结果:
diff() 函数的调用格式如下:
Df=diff(f) % 求符号表达式 f 的 1 阶导数,求导变量由 symvar(f,1)确定 Df=diff(f,n) % 计算 f 的第 n 阶导数,求导变量由 symvar 确定 Df=diff(f,var) % 对 f 关于变量 var 进行求导 % var 可以是符号变量(如 x)、符号函数(如 f(x)),或导数函数(如 diff(f(t),t)) Df=diff(f,var,n) % 计算 f 关于变量 var 的第 n 阶导数 Df=diff(f,var1,...,varN) % 对 f 分别关于多个变量 var1,...,varN 进行求导 Df=diff(f,mvar) % 对符号矩阵表达式 f 关于变量 mvar 进行求导求函数高阶导数很容易通过输入参数 n 的值来实现;对于求多元函数的偏导数,除指定的自变量外的其他变量均当作常数处理。
注意,函数 f 为矩阵时,是对元素逐个进行求导的,且自变量定义在整个矩阵上。
【实例】已知下面的函数:

试求下面表达式的值:

在命令行窗口中输入以下语句,并查看输出结果:
>> syms a t x >> f=[a t^5; t*sin(x) log(x)]; >> df=diff(f) df = [ 0, 0, 0] [t*cos(x), 1/x] >> dfdt2=diff(f,t,2) dfdt2 = [0, 20*t^3] [0, 0] >> dfdxdtt=diff(diff(f,x),t) dfdxdtt = [ 0,0] [cos(x),0]即:
