MATLAB如何使用diff函数求符号微分
·diff(x)命令根据由findsym(x)命令返回的自变量v,求表达式x的一阶导数。
·diff(x,n)命令根据由findsym(x)命令返回的自变量v,求表达式x的n阶导数,n必须为自然数。
·diff(x,'v')或diff(S,sym('v'))命令根据由findsym(x)命令返回的自变量v,计算x的一阶导数。
·diff(S,'v',n)命令根据由findsym(x)命令返回的自变量v,计算x的n阶导数。
例题 利用diff函数求符号微分
>> sym x
>> diff(x^3-3*x^2+4*x-9)
ans =
3*x^2 - 6*x + 4
>> diff(cos(x^3),5)
ans =
1620*x^7*cos(x^3)- 360*x*cos(x^3)+ 2160*x^4*sin(x^3)- 243*x^10*sin(x^3)
>> syms f t x
>> f=[4,t^2;t*sin(x),log(t)]
f =
[ 4, t^2]
[ t*sin(x), log(t)]
>> diff(t)
ans =
1
>> diff(f)
ans =
[ 0, 0]
[t*cos(x), 0]
>> diff(f,t,2)
ans =
[ 0, 2]
[ 0, -1/t^2]
>> diff(diff(f,x),t)
ans =
[ 0, 0]
[cos(x), 0]
从上面的示例可以看出,当未指定自变量时,系统采用默认的自变量来求导数;当需要求解的对象为数组时,diff函数将根据指定的自变量或默认自变量,对每个元素求导数。
例4.26 对多个自变量函数中的某个变量求导。
>> syms x y f
>> f=x*y-x^2+cos(y)-sin(x)
f =
cos(y)- sin(x)+ x*y - x^2
>> diff(f,y)
ans =
x - sin(y)
>> diff(f,x)
ans =
y - 2*x - cos(x)
>> diff(f,x,2)
ans =
sin(x)– 2