MATLAB导数计算通过调⽤diff命令,我们可以使⽤MATLAB计算符号导数,只需要把要求的求导函diff命令
例⼀:计算
syms x t
f=x.^3+x.^2
g=cos(10.*t)
diff(f)
diff(g)
输出结果:
例⼆:我们要得到f更⾼阶的导数,我们使⽤diff(f,n),让我们求得 2te.^-5t的⼆阶导数
代码:
syms t
f=2.*t.*exp(-5.*t)
diff(f,2)
输出结果:
1.2求函数在某⼀区间的最值
例⼀:求函数f(x)=x.^4+3x.^3+7x.^2+12在区间[0,5]的最值
⾸先我们输⼊函数并绘制该函数在给定区间内的图像
syms x
matlab求导f = x.^4 + 5*x.^3 + 7*x.^2 + 12
ezplot(f,[0,5])
输出结果:
再求出最⼤值和最⼩值,我们求导数并出等于0的点
g=diff(f)
最后调⽤pretty命令
pretty(g)
1.3导数有两个根,但实际上可以看到的或许只有⼀个临界点,我们可以从图像中看到最⼤值出现在终点我们可以利⽤subs命令带⼊符号函数的某⼀个值,如果设置x=c,那么我们可以调⽤subs(f,c)
例⼀:
f = x.^4 + 5*x.^3 + 7*x.^2 + 12下⾯我们求x=0,1,2时f的值
syms x
f = x.^4 + 5*x.^3 + 7*x.^2 + 12
ezplot(f,[0,5])
subs(f,0),subs(f,1),subs(f,2)
输出结果:
1.4在MATLAB中可以使⽤dsolve命令求解符号微分⽅程,使⽤dsolve求解某个⽅程的语法是dsolve('equ'),其中equ⽤来表⽰⽅程的字符串。这个命令会返回⼀个任意常量符号解,这些常量表⽰为C1,C
2.我们确定⽅程的指定条件和边界条件.
当使⽤dsolve是导数D表⽰,可以表⽰为:
我们写成:'Df=-2.*f+cos(t)'
1.5常微分⽅程求解
例⼀:
》s=dsolve('Dy=t+3','y(0)=7')
得出结果
接着调⽤ezplot来产⽣图像
例⼆:
s=dsolve('Dy=-y/sqrt(1-t^2)')
s=dsolve('Dy=-y/sqrt(1-t^2)')
for i=0:10:50
f=subs(s,'C1',i)
ezplot(f,[-1,1])
hold on
0,10*exp(-asin(t)),20*exp(-asin(t)),30*exp(-asin(t))    hold off
end
输出结果: