MATLAB软件提供求函数导数的指令是diff,具体使用格式如下:
(1)diff(f, x)表示对f(这里f是一个函数表达式)求关于符号变量x的一阶导数.若x缺省,则表示求f对预设独立变量的一阶导数.
(2)diff(f, x, n) 表示对f求关于符号变量x的n阶导数.若x缺省,则表示求f对预设独立变量的n阶导数.
例1 ax2+bx+c的一阶导二阶导
解>> syms a b c x
>> f='a*x^2+b*x+c'
f =
a*x^2+b*x+c
>> diff(f, x)
ans =
2*a*x+b
>> diff(f,2)
ans =
2*a
例2 已知 求f(x)的一阶导三阶导。
解: >> syms x
>>f=sym('exp(2*x)*log(x^2+1)*tan(-x)')
f =
exp(2*x)*log(x^2+1)*tan(-x)
>> diff(f, x)
ans =
-2*exp(2*x)*log(x^2+1)*tan(x)-2*exp(2*x)*x/(x^2+1)*tan(x)-exp(2*x)*log(x^2+1)…
*(1+tan(x)^2)
>>diff(f,x,3)
ans =
-24*exp(2*x)*x/(x^2+1)*tan(x)-12*exp(2*x)/(x^2+1)*tan(x)-24*exp(2*x)*x/(x^2+1)…
*(1+tan(x)^2)+24*exp(2*x)*x^2/(x^2+1)^2*tan(x)-12*exp(2*x)*log(x^2+1)*tan(x)…
*(1+tan(x)^2)+12*exp(2*x)/(x^2+1)^2*tan(x)*x+12*exp(2*x)*x^2/(x^2+1)^2*(1+…
tan(x)^2)-16*exp(2*x)*x^3/(x^2+1)^3*tan(x)-2*exp(2*x)*log(x^2+1)*(1+tan(x)^2)^2…
-4*exp(2*x)*log(x^2+1)*tan(x)^2*(1+tan(x)^2)-8*exp(2*x)*log(x^2+1)*tan(x)-12…
*exp(2*x)*log(x^2+1)*(1+tan(x)^2)-6*exp(2*x)/(x^2+1)*(1+tan(x)^2)-12*exp(2*x)…
*x/(x^2+1)*tan(x)*(1+tan(x)^2)
解 >>syms x yt
>>dx=diff(t*(1-sin(t)),t);dy=diff(t*cos(t),t);
>> dy/dx
ans =
(cos(t)-t*sin(t))/(1-sin(t)-t*cos(t))
例4 若sin(xy)=0,求dy/dx
解:>> syms x y
>>-diff(sin(x*y),x)/diff(sin(x*y),y)
ans=
-y/x
即dy/dx=-y/x