




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 极限与导数【实验目的】1.了解函数极限、导数的基本概念。2.学习、掌握MATLAB软件有关求曲线、导数的命令。【实验内容】1.判断极限的存在性。2.验证极限。3.验证极限。4.求函数的单调区间及极值。【实验准备】1.极限导数的基本概念2.求极限、导数的MATLAB命令MATLAB主要用limit,diff分别求函数的极限与导数。来源:建立符号变量命令sym和syms调用格式: x=sym(x), 建立符号变量x; syms x y z , 建立多个符号变量x,y,z; matlab求导命令diff调用格式: diff(函数) , 求的一阶导数; diff(函数, n) , 求的n阶导数(n是具体整数); diff(函数,变量名), 求对的偏导数; diff(函数, 变量名,n) ,求对的n阶偏导数;matlab求雅可比矩阵命令jacobian,调用格式: jacobian(函数;函数; 函数, )给出矩阵: 【实验重点】1.极限的计算2.导数的计算【实验难点】1.导数的曲线表示【实验方法与步骤】一、观察与练习练习1 首先分别作出函数在区间等区间上的图形,观察图形在附近的形状。在区间绘图的MATLAB代码为x=(-1):0.0001:(-0.01); y=cos(1./x);plot(x,y)运行结果如图2.1。图2.1根据图形能否判断极限的存在性?当然,也可以用limit命令直接求极限,相应的MATLAB命令为clear;syms x; %说明x为符号变量limit(sin(1/x),x,0)结果为ans=1 .1,即极限值在-1,1之间,而如果极限存在则必唯一,故极限不存在。同样极限也不存在。练习2 首先分别作出函数在区间等区间上的图形,观察图形在点x=0附近的形状。在区间绘图的MATLAB代码为x=(-1):0.0001:(-0.01); y=sin(x)./x; plot(x,y)运行结果如图2.2。图2.2根据图形,能否判断极限的正确性?当然,也可以用limit命令直接求极限,相应的MATLAB命令为clear;syms x; limit(sin(x)/x),x,0)结果为ans=1。二、极限计算例2.1.观察数列当时的变化趋势.解:输入命令: n=1:100;xn=n./(n+1)得到该数列的前100项,从这前100项看出,随的增大,与1非常接近,画出的图形. stem(n,xn)或 for i=1:100; plot(n(i),xn(i),r) hold on end其中for end语句是循环语句,循环体内的语句被执行100次,n(i)表示n的第i个分量.由图可看出,随的增大,点列与直线无限接近,因此可得结论: .对函数的极限概念,也可用上述方法理解. 例2.2.分析函数,当时的变化趋势. 解:画出函数在上的图形. x=-1:0.01:1;y=x.*sin(1./x);plot(x,y)从图上看,随着的减小,振幅越来越小趋近于0,频率越来越高作无限次振荡.作出的图象. hold on;plot(x,x,x,-x) 例2.3.分析函数当时的变化趋势.解:输入命令: x=-1:0.01:1;y=sin(1./x);plot(x,y)从图上看,当时,在-1和1之间无限次振荡,极限不存在.仔细观察该图象,发现图象的某些峰值不是和-,而我们知道正弦曲线的峰值是和-,这是由于自变量的数据点选取未必使取到和-的缘故,读者可试增加数据点,比较它们的结果 例2.4.考察函数当时的变化趋势. 解:输入命令: x=linspace(-2*pi,2*pi,100);y=sin(x)./x;plot(x,y)从图上看,在附近连续变化,其值与1无限接近,可见 . 例2.5.考察当时的变化趋势.解:输入命令: x=1:20:1000;y=(1+1./x).x;plot(x,y)从图上看,当时,函数值与某常数无限接近,我们知道,这个常数就是. 5求函数极限 例2.6.求. 解:输入命令: syms x;f=1/(x+1)-3/(x3+1);limit(f,x,-1)得结果ans=-1.画出函数图形. ezplot(f);hold on;plot(-1,-1,r.) 例2.7.求 解:输入命令: limit(tan(x)-sin(x)/x3)得结果:ans=1/2 例2.8.求 解:输入命令: limit(x+1)/(x-1)x,inf)得结果:ans=exp(2)来源: 例2.9.求 解:输入命令: limit(xx,x,0,right)得结果:ans =1 例2.10.求 解:输入命令: limit(cot(x)(1/log(x),x,0,right)得结果:ans=exp(-1)三、导数计算导数是函数的变化率,几何意义是曲线在一点处的切线斜率. ()点导数是一个极限值. 例3.1.设,用定义计算. 解:在某一点的导数定义为极限: 我们记,输入命令: syms h;limit(exp(0+h)-exp(0)/h,h,0)得结果:ans=可知 ()导数的几何意义是曲线的切线斜率. 例3.2.画出在处()的切线及若干条割线,观察割线的变化趋势. 解:在曲线上另取一点,则的方程是: .即 取,分别作出几条割线. h=3,2,1,0.1,0.01;a=(exp(h)-1)./h;x=-1:0.1:3; plot(x,exp(x),r);hold on for i=1:5; plot(h(i),exp(h(i),r.) plot(x,a(i)*x+1) end axis square 作出在处的切线plot(x,x+1,r)从图上看,随着与越来越接近,割线越来越接近曲线的割线 求一元函数的导数. ()的一阶导数. 例3.3.求的导数. 解:打开matlab指令窗,输入指令: dy_dx=diff(sin(x)/x).得结果: dy_dx=cos(x)/x-sin(x)/x2. matlab的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx表示 例3.4.求的导数. 解: 输入命令: dy_dx=diff(log(sin(x).得结果: dy_dx=cos(x)/sin(x).在matlab中,函数用log(x)表示,而log10(x)表示 例3.5.求的导数. 解: 输入命令:dy_dx=diff(x2+2*x)20).得结果: dy_dx=20*(x2+2*x)19*(2*x+2). 注意输入时应为2*x. 例3.6.求的导数. 解: 输入命令: dy_dx=diff(xx).得结果: dy_dx =xx*(log(x)+1). 利用matlab 命令diff一次可以求出若干个函数的导数. 例3.7.求下列函数的导数: 1. 2. 3. 4. 解: 输入命令: a=diff(sqrt(x2- 2*x+5),cos(x2)+2*cos(2*x),4(sin(x),log(log(x).得结果: a= 1/2/(x2-2*x+5)(1/2)*(2*x-2),-2*sin(x2)*x-4*sin(2*x), 4sin(x)*cos(x)*log(4), 1/x/log(x). dy1_dx=a(1) dy1_dx=1/2/(x2-2*x+5)(1/2)*(2*x-2). dy2_dx=a(2) dy2_dx=-2*sin(x2)*x-4*sin(2*x). dy3_dx=a(3) dy3_dx=4sin(x)*cos(x)*log(4). dy4_dx=a(4) dy4_dx=1/x/log(x). 由本例可以看出,matlab函数是对矩阵或向量进行操作的,a(i)表示向量a的第i个分量. ()参数方程所确定的函数的导数.来源:设参数方程确定函数,则的导数 例3.8.设,求解: 输入命令: dx_dt=diff(a*(t-sin(t);dy_dt=diff(a*(1-cos(t); dy_dx=dy_dt/dx_dt.得结果: dy_dx=sin(t)/(1-cos(t).其中分号的作用是不显示结果. 求多元函数的偏导数. 例3.9.设 求 u的一阶偏导数.解: 输入命令: diff(x2+y2+z2)(1/2), x).得结果: ans=1/(x2+y2+z2)(1/2)*x.在命令中将末尾的x换成y将给出y的偏导数: ans=1/(x2+y2+z2)(1/2)*y.也可以输入命令: jacobian(x2+y2+z2)(1/2),x y).得结果: ans=1/(x2+y2+z2)(1/2)*x, 1/(x2+y2+z2)(1/2)*y给出矩阵 例3.10.求下列函数的偏导数: 1. 2. 解: 输入命令: diff(atan(y/x).得结果: ans=-y/x2/(1+y2/x2).输入命令: diff(atan(y/x), y).得结果: ans=1/x/(1+y2/x2).输入命令: diff(xy, x).得结果: ans=xy*y/x.输入命令: diff(xy, y).来源:得结果: ans=xy*log(x). 使用jacobian命令求偏导数更为方便.输入命令: jacobian(atan(y/x),xy,x,y).得结果: ans= -y/x2/(1+y2/x2), 1/x/(1+y2/x2) xy*y/x, xy*log(x). 求高阶导数或高阶偏导数. 例3.11.设 ,求.解:输入指令: diff(x2*exp(2*x),x,20).得结果: ans =99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x2*exp(2*x) 例3.12.设,求,解:输入命令: diff(x6-3*y4+2*x2*y2,x,2)可得到: ans=30*x4+4*y2.将命令中最后一个x换为y得: ans=-36*y2+4*x2.输入命令: diff(diff(x6-3*y4+2*x2*y2,x),y)可得: ans=8*x*y同学们可自己计算比较它们的结果.注意命令:diff(x6-3*y4+2*x2*y2,x,y),是对y求偏导数,不是求 求隐函数所确定函数的导数或偏导数 例3.13.设,求 解:,先求,再求输入命令: df_dx=diff(log(x)+exp(-y/x)-exp(1),x)得到: df_dx=1/x+y/x2*exp(-y/x).输入命令: df_dy=diff(log(x)+exp(-y/x)-exp(1),y)得到: df_dy=-1/x*exp(-y/x)输入命令: dy_dx=-df_dx/df_dy可得所求结果: dy_dx=-(-1/x-y/x2*exp(-y/x)*x/exp(-y/x). 例3.14.设 ,求,来源:数理化网解:输入命令: a=jacobian(sin(x*y)+cos(y*z)+tan(z*x),x,y,z)可得矩阵 a= cos(x*y)*y+(1+tan(z*x)2)*z,cos(x*y)*x-sin(y*z)*z, -sin(y*z)*y+(1+tan(z*x)2)*x.输入命令: dz_dx=-a(1)/a(3)得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论