《实验四导数应用.ppt》由会员分享,可在线阅读,更多相关《实验四导数应用.ppt(38页珍藏版)》请在三一办公上搜索。
1、MATLAB,高等数学实验,实验四 导数应用,实验目的理解并掌握用函数的导数确定函数的单调区间、凹凸区间和函数的极值的方法。进一步熟悉和掌握用MATLAB做平面图形的方法和技巧,掌握用MATLAB求方程的根(包括近似根)和求函数极值(包括近似极值)的方法。,4.1 学习MATLAB命令,4.1.1 求多项式方程近似根的命令,用MATLAB求多项式方程的解的命令是roots,使用方法为:roots(c)其中c是上述方程左端多项式的系数向量,4.1.2 求方程f(x)=0近似根的命令,命令的一般形式如下:(1)建立函数:f=inline(表达式)(2)求函数零点:c=fzero(f,a,b)%求函
2、数f(x)在区间a,b内的零点cc=fzero(f,x0)%求函数f(x)在x0附近的零点c,4.1.3 求非线性函数f(x)的极小值,用MATLAB求一元函数极小值命令是fminbnd,格式如下:(1)x=fminbnd(fun,x1,x2)(2)x,fav1=fminbnd(fun,x1,x2)(3)x,fav1,exitflag,output=fminbnd(fun,x1,x2)其中:x=fminbnd(fun,x1,x2)是求(x1,x2)上fun函数的最小值x。x,fav1=fminbnd(fun,x1,x2)返回解x处目标函数的值。x,fav1,exitflag,output=fm
3、inbnd(fun,x1,x2)返回包含优化信息的结构输出。,注(1)函数fminbnd的算法基于黄金分割法和二次插值法,要求目标函数必须是连续函数,此命令可能给出局部最优值。注(2)命令fminbnd是求函数f(x)的极小值,若要求函数f(x)的极大值,只需求-f(x)的极小值即可。,4.2 实验内容,4.2.1 求函数的单调区间,【例1】求 的单调区间。输入:syms xdy=diff(x3-2*x+1)执行后得到函数的一阶导数:dy=3*x2-2输入:x=-4:0.1:4;y1=x.3-2*x+1;y2=3*x.2-2;plot(x,y1,k-,x,y2,b*)其输出如图4-1,其中米字
4、线是导函数的图形。,图4-1,观察函数的增减与导函数的正负之间的关系。输入:c=roots(3,0,-2)得到导函数的两个零点为:c=0.8165-0.8165因为导函数连续,在它的两个零点之间,导函数保持相同符号。因此,只需在每个小区间上取一点计算导数值,即可判定导数在该区间的正负,从而得到函数的增减。再输入:x=-1;daoshuzhi=eval(dy)x=0;daoshuzhi=eval(dy)x=1;daoshuzhi=eval(dy),输出:daoshuzhi=1daoshuzhi=-2daoshuzhi=1说明导函数在区间(-,-0.8165),(-0.8165,0.8165),(
5、0.8165,+)上分别取+,-,+。因此,函数在区间(-,-0.8165和0.8165,+)上单调增加,在区间-0.8165,0.8165上单调减少。,4.2.2 求函数的极值,【例2】求函数 的极值输入:ezplot(x/(1+x2),-6,6)如图4-2所示。观察它的两个极值,输入:f=x/(1+x2);xmin,ymin=fminbnd(f,-10,10)输出:xmin=-1.0000ymin=-0.5000表明x=-1是极小值点,极小值为-0.5。,图4-2,接下来将求极大值的问题转换为求极小值,输入:f1=-x/(1+x2);xmax,ymax=fminbnd(f1,-10,10)
6、输出:xmax=1.0000ymax=-0.5000注意f=-f1,所以x=1是极大值点,极大值为-(-0.5)=0.5。,4.2.3 求函数的凹凸区间和拐点,【例3】求函数 的凹凸区间和拐点。输入:syms xy=1/(1+2*x2);y1=diff(y,x)y2=diff(y,x,2)执行后得到函数的一阶、二阶导数分别为:y1=-(4*x)/(2*x2+1)2y2=(32*x2)/(2*x2+1)3-4/(2*x2+1)2,再输入:x=-3:0.1:3;y=(1+2*x.2).(-1);y1=-4*x.*(1+2*x.2).2).(-1);y2=32*(x.2).*(1+2*x.2).3)
7、.(-1)-.4*(1+2*x.2).2).(-1);y3=zeros(1,length(x);plot(x,y,b-,x,y1,g*,x,y2,r:,x,y3)输出如图4-3所示。其中虚线是函数的二阶导数,米字线是函数的一阶导数。观察二阶导数的正负值与函数的凹凸之间的关系。,图4-3,输入:f=inline(32*(x.2).*(1+2*x.2).3).(-1)-4*(1+2*x.2).2).(-1);c1=fzero(f,-3,0)c2=fzero(f,0,3)得到二阶导数的零点为:c1=-0.4082c2=0.4082即得到二阶导数等于零的点是0.4082。用例1中类似的方法可知,在(-
8、,-0.4082)和(0.4082,+)上二阶导数大于零,曲线弧向上凹。在(-0.4082,0.4082)上二阶导数小于零,曲线弧向上凸。,再输入:x=-0.4082;zhi=eval(1/(1+2*x2)x=0.4082;zhi=eval(1/(1+2*x2)输出:zhi=0.7500zhi=0.7500说明函数在-0.4082和0.4082的值都是0.75。因此两个拐点分别是(-0.4082,0.75)和(0.4082,0.75),4.2.4 求极值的近似值,【例4】求 位于区间 内的极值的近似值。输入:f=2*(sin(2*x)2+5/2*x*(cos(x/2)2;f1=-2*(sin(
9、2*x)2-5/2*x*(cos(x/2)2;xmin,ymin=fminbnd(f,0,pi)xmax1,ymax1=fminbnd(f1,0,1)xmax2,ymax2=fminbnd(f1,2,pi),输出:xmin=1.6239ymin=1.9446xmax1=0.8642ymax1=-3.7323xmax2=2.2449ymax2=-2.9571输入ezplot(f,0,pi)输出如图4-4。从图中可看出,极大值为3.7323和2.9571,极小值为1.9946.,图4-4,4.2.5 证明函数的不等式,【例5】证明不等式,当 时。先做图,输入:x=0:0.1:3;y1=exp(x)
10、;y2=1+x;plot(x,y1,k-,x,y2,b*)输出如图4-5所示。,图4-5,再输入:syms x;y=exp(x)-x-1;f1=diff(y,x)c=fzero(exp(x)-1,0)输出:f1=exp(x)-1c=0当X=0时两曲线交于一点,当x增加时,差距逐渐增大。这正是用单调性证明不等式的典型特征。通过计算知y(0)=0,且y(x)=,仅当x=0时,y(x)=0。因为x0时,所以当x0时,y(x)0。于是y(x)单调增加,当x0时,有。,【例6】证明,当x1,且x0时。作图,输入:x=-1:0.1:1/2;y1=exp(x);y2=(1-x).(-1);plot(x,y1
11、,b-,x,y2,r*)如图4-6所示,两条曲线在x=0处相交,在两侧差距逐渐增大。一个证明方法是用单调性,此时应从点x=0出发,向两侧分别证明。另一个证明是用最大值。为此,改写不等式为。,图4-6,输入:syms xf=exp(x)*(1-x);g=diff(f,x)h=diff(f,x,2)输出:g=exp(x)*(1-x)-exp(x)h=exp(x)*(1-x)-2*exp(x)输入:c1=fzero(exp(x)*(1-x)-exp(x),-1,0)c2=fzero(exp(x)*(1-x)-exp(x),0,1)x=0;h1=eval(exp(x)*(1-x)-2*exp(x)f1
12、=eval(exp(x)*(1-x),输出:c1=0c2=0h1=-1f1=1即函数有唯一驻点x=0,且g(0)=f(0)=-10,f(0)=1。由于在驻点x=0处函数的二阶导数小于0,该点是极大值点。又因为这是唯一驻点,所以它是函数的最大值点。于是,在x=0取最大值1。因此当x1且x0时,有,【例7】证明,其中x0。作图,输入:ezplot(atan(x)+1/x,4,20)输出如图4-7所示。当x趋向于正无穷时,直线 是 的渐近线。这也是用单调性证明的不等式。,图4-7,输入:syms xy=atan(x)+1/x;y1=diff(y,x)limit(y,x,inf)输出:y1=1/(1+
13、x2)-1/x2ans=1/2*pi,再研究单调性,输入c=fzero(1/(1+x2)-1/x2,1,inf)输出:c=Inf即当x0时,函数y=arctan(x)+1/x无驻点。再输入:x=2;y2=eval(1/(1+x2)-1/x2)输出:y2=-0.0500即当x0时,y1(x)=y(x)0时,有。,【例8】证明,当 时。作图,输入:x=0:0.1:pi/2;y1=sin(x);y2=2*x/pi;plot(x,y1,b-,x,y2,r)输出如图4-8所示。,图4-8,当x=0或x=时,两曲线相交。在两点之间差距较大。这是需要用凹凸性证明的不等式的特征。输入:x=0;f1=eval(sin(x)-2*x/pi)x=pi/2;f2=eval(sin(x)-2*x/pi)输出:f1=0f2=0即在区间端点,函数值等于零。,再输入:syms xf=sin(x)-2*x/pi;g=diff(f,x,2)输出:g=-sin(x)即g(x)=f(x)=-sin(x)。注意在区间(0,)内f(x)=-sin(x)0,函数f(x)的曲线上凸。又在区间的两个端点都等于零,因此在区间内部f(x)恒大于零,即当 时,有。,