实验二极限与导数
- 格式:doc
- 大小:300.00 KB
- 文档页数:7
实验二 极限与导数【实验目的】1.了解函数极限、导数的基本概念。
2.学习掌握MATLAB 软件有关求极限、导数的命令。
【实验内容】1. 判断极限x x x x 1sinlim ,1cos lim 00→→的存在性2. 验证极限1sin lim 0=→xxx3. 验证极限 71828.2)11(lim )11(lim ==+=+∞→∞→e xn xx n n4. 求数363+-=x x y 的单调区间及极值【实验准备】1. 极限、导数的基本概念数列极限:如果对于0>∀ε,存在正整数N ,使得当N n >时有ε<-a x n 。
则称a 为数列n x 的极限,或称n x 收敛于a ,记为a x n n =∞→lim 。
直观上表示:n 趋于无穷大时,nx 无限接近a 。
函数极限:如果当0x x →时有A x f →)(,则称A 为函数)(x f 当0x x →时的极限。
记为A x f x x =→)(lim 0。
若仅当0x x →且0x x >(或0x x <)时有A x f →)(,则称A 为函数)(x f 当0x x →时的右极限(左极限),记为)0(0+x f (或)0(0-x f )。
当且仅当)0()0(00-=+x f x f 时,)(x f 当0x x →时的极限存在且等于这个值。
导数:函数)(x f 在点0x x =的导数的定义为:hx f h x f x f h )()(lim)('0000-+=→它反映了在0x 点附近函数)(x f 的变化率。
当0)('0>x f 时,函数在0x 点附近是上升的,反之0)('0<x f 时,函数在0x 点附近是下降的,而当0)('0=x f 时,往往(但不一定)标志函数在0x 点达到局部极大或局部极小。
函数在0x 点达到局部极大(或局部极小)的充分条件是0)('0=x f 且0)("0<x f (或0)("0>x f )。
从几何意义上说,)('0x f 是函数在点0x 切线的斜率。
2.求极限、导数的MATLAB 命令MATLAB 中主要用limit,diff 分别求函数的极限与导数。
可以用help limit, help diff 查阅有关这些命令的详细信息【实验方法与步骤】练习1 首先分别作出函数xy 1cos=在区间[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间上的图形,观测图形在0=x 附近的形状。
在区间[-1,-0.01]绘图的MATLAB 代码为:>>x=(-1):0.0001:(-0.01); y=cos(1./x); plot(x,y) 结果如图2.1图2.1函数xy 1cos=的图形 根据图形,能否判断出极限xx x x 1sinlim ,1cos lim 0→→的存在性? 当然,也可用limit 命令直接求极限,相应的MATLAB 代码为:>>clear;>>syms x; %说明x 为符号变量 >>limit(sin(1/x),x,0)结果为ans =-1 .. 1,即极限值在-1,1之间,而极限如果存在则必唯一,故极限xx 1sinlim 0→不存在,同样,极限xx 1coslim 0→也不存在。
练习2 首先分别作出函数xxy sin =在区间[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间上的图形,观测图形在0=x 附近的形状。
在区间[-1,-0.01]绘图的MA TLAB 代码为:>>x=(-1):0.0001:(-0.01); y=sin(x)./x; plot(x,y) 结果如图2.2图2.2 函数xy =的图形 根据图形,能否判断出极限1sin lim0=→xxx 的正确性?当然,也可用limit 命令直接求极限,相应的MATLAB 代码为:>>clear; >>syms x;>>limit(sin(x)/x,x,0)结果为ans =1.练习3 观测当n 趋于无穷大时,数列nn na )11(+=和1)11(++=n n nA 的变化趋势。
例如,当100,,2,1 =n 时,计算n n A a ,的MATLAB 代码为:>>for n=1:100, a(n)=(1+1/n)^n;,A(n)=(1+1/n)^n ;, end在同一坐标系中,画出下面三个函数的图形:e y xy xy x x =+=+=+,)11(,)11(1观测当x 增大时图形的走向。
例如,在区间[10,400]绘制图形的MA TLAB 代码为>>x=10:0.1:400;>>y1=exp(x.*log(1+1./x)); y2=exp((x+2).*log(1+1./x)); y3=2.71828; >>plot(x,y1,'-.',x,y2,':',x,y3,'-'); %’-.’表示绘出的图形是点线,’-’是实线结果如图2.3,其中点线表示1)11(++=x x y 的图形,虚点线表示x xy )11(+=的图形。
图2.3通过观测可以看到,当n 增大时,nn na )11(+=递增,1)11(++=n n nA 递减。
随着n 的无穷增大,n a 和n A 无限接近,趋于共同的极限 71828.2=e .当然,也可用limit 命令直接求极限,相应的MATLAB 代码为:>>clear; >>syms n;>>limit((1+1/n)^n,n,inf)结果为ans =exp(1)。
在下面的实验三,我们将用级数求无理数e 的近似值。
练习4 (极限的定义和判别)用MATLAB 语言来表达推理过程是比较困难的,它必须与实际的数值联系起来,比如无法用无穷小和高阶无穷小的概念,只能用200110,10--等数职。
极限的定义恰恰是用了δ和ε等数值的概念,因此不难用程序表述。
用函数极限的定义,对于函数)(x f y =,当任意给定一个正数ε时,有一个对应的正数δ存在,使得当δ<-<x x c 0时,有ε<-)(x f A ,则A 就是)(x f 在c x x →时的极限,如果找不到这样的δ,A 就不是它的极限,只考虑左极限时,因x x c -必为正数,可去掉绝对值符号。
检验左极限是否正确的程序为:>>clear>>disp('A 是否是 f(xc)的左极限?') >>eps=1.0e-10; %给定计算最小误差 >>A=input('A=,例如A=1'), %输入左极限>>xc=input('xc=,例如xc=0'), %输入对应的自变量值>>fxc=input('f(x)的表达式为,例如sin(x)/x','s'), %输入函数表达式 >>flag=1; delta=1; x=xc-delta; n=1; %初始化>>while flag==1 epsilon=input('任给一个小的数ε=') %任意给出ε>>while abs(A-eval(fxc))>epsilon delta=delta/2; x=xc-delta; %找δ >>if abs(delta)<eps disp('找不到d'), n=0; break %找不到δ,跳出内循环>>end , >>end>>if n==0 disp('左极限不正确'), break , end %极限不正确,跳出外循环 >>disp('delta='), delta %找到了δ >>disp('左极限可能正确')>>flag=input('再试一个ε吗?再按1,不是按0或任意数字健') %再试?>>end我们来检验(1) 8)(2-=x x f 在3=→c x x 时是否以1.001为左极限; (2) xxx f sin )(=在0=→c x x 时是否以1为左极限. 对(1)得出的结果是”左极限不正确”,而对(2)得出”左极限可能正确”的结果.图者可分析为什么要加”可能”二字而不给出肯定回答.练习5 先求函数363+-=x x y ,然后在同一坐标系里作出函数363+-=x x y 及其导函数63'2-=x y 的图形。
函数求导相应的MA TLAB 代码为:>>clear; >>syms x;>>diff(x.^3-6*x+3,x,1) 结果为ans =3*x^2-6。
函数绘图相应的MA TLAB 代码为:>>x=-4:0.1:4; y1=x.^3-6*x+3; y2=3*x.^2-6; >>plot(x,y1,x,y2,’:’)结果如图2.4,其中实线是363+-=x x y 的图形,点线是63'2-=x y 的图形。
图2.4 函数及其导数这里画的是区间[-4,4]上的图形,你也可以选别的区间试试。
观测以下现象: (i) 当0'>y 或0'<y 时y 的图形的升降情况,当0'=y 时y 是否有极大值或极小值? (ii) 当'y 上升或下降时y 的图形的凹凸情况,当'y 取极值时y 的图形是否出现拐点? (iii) 观测得出方程0=y 的根的近似值,比如在区间[-4,-2] 上有一个根,在用以下代码求出根的更精确的值:>>a=fzero(‘x^3-6*x+3’,[-4,-2]) %fzero 为方程求根命令计算结果得a =-2.6691。
事实上,在整个数轴上方程0=y 共有三个根,其余两个根分别是0.5240和2.1451,请将它们求出来。
(iv) 观测使函数y 取极大或极小值的x ,比如从图1.3可看出在5.1=x 附近有一个极小值,在5.1-=x 附近有一个极大值,而这些点的解析解为414.12±≈±=x ,再用MATLAB 代码求极大或极小更精确的值。
为了方便,用文本编辑器编写一个脚本M 文件,并用fmin 求出数值上极值点,MATLAB 代码如下:>>% fmin1.m>>fun1=‘x^3-6*x+3’; %定义求最小值的语句函数 >>xmin=fmin(fun1,1,2) %在1<x<2的范围内搜索>>x=xmin; %因为fun1以x 为变量,所以需将xmin 赋给x >>ymin=eval(fun1) %求xmin 处函数y 的值>>fun2=‘-(x^3-6*x+3)’; %定义求最大值的语句函数,注意负号 >>xmax=fmin(fun2,-2,-1) %在-2<x<-1的范围内搜索>>x=xmax; %因为fun2以x 为变量,所以需将xmax 赋给x >>ymax=eval(fun2) %求xmax 处函数y 的值 下面是M 文件的运行结果:xmin = 1.4142 ymin = -2.6569 xmax = -1.4142 ymax = -8.6569【练习与思考】1. 求下列各极限(1)n n n)11(lim -∞→ (2)nn n n 3lim3+∞→ (3))122(lim n n n n ++-+∞→ (4))1112(lim 21---→x x x (5)x x x 2cot lim 0→ (6))3(lim 2x x x x -+∞→ (7)x x x m )(cos lim ∞→ (8))111(lim 1--→x x e x (9)x x x 11lim30-+→ 2. 考虑函数22),sin(3)(32<<-=x x x x f作出图形,并说出大致单调区间;使用diff 求)('x f ,并求)(x f 确切的单调区间。