赞
踩
通过调用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
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,C2.我们确定方程的指定条件和边界条件.
当使用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
输出结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。