浅析二分法及其Matlab和C程序实现_第1页
浅析二分法及其Matlab和C程序实现_第2页
浅析二分法及其Matlab和C程序实现_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅析二分法及其 Matlab和C程序实现第一部分:二分法浅析用二分法求方程的近似解是紧跟在“函数的零点”之后的教学内容。从联系的角度看, 前面一节,学生已经学习了方程的根与函数的零点之间存在着对立统一的关系,这一节 则是介绍一种具体的方法来运用这一关系解决问题。从整个教材来分析,这一部分的内容是在“函数的应用”这一大章节之下。新课程标 准中强调函数的应用性,这里包括两个方面:一方面是函数在生活实践中的应用,函数建 模等内容属于这个范畴;另一方面则是函数在数学自身范围内的应用,“二分法”即是其中的代表.基于以上的分析,笔者给出了以下的一些教学建议,与读者朋友们分享。一、为什么要用二分法就通过试验

2、缩小搜索区间来讲,试验点不一定取中点,取其他的点也可以,那么为什么取中点呢?下面以搜索区间为0,门的情况作讨论。一种对所有搜索区间为0,1 的方程f (X)= 0都适用的方法,即对集合 G= f(x)=o, f (x)连续,且f(0) f(1) 0中的所有方程都适用的方法。一个合理的假设是:G中所有方程f(x) = 0的根在0,1上均匀分布.设试验点是C,那么c将0,1分成0, c和c,1两部分,它们的长度分别是c和1-c。由假设,通过试验保留的搜索区间是0, C(即方程f (x)=0的根在0,C中)的概率是C,通过试验保留的搜索区间是c,1的 概率是1-c。因此,通过一次试验保留的搜索区间的

3、期望长度为c2+ (1 c)2= 2c2- 2c+1=2(c-)2+,容易看出,当c=的时候,通过一次试验保留的搜索区间的期望长度最 小。这就是取中点作为试验点的原因。二、引入方法方法1:已知商店里一件商品的利润 y与它的价格x之间满足函数关系y=x2-4x+3, 请画出这个函数的图像,并思考当价格为多少元的时候商店不盈也不亏方法2:创设问题情景:蹦极运动。设下落的时间t秒.人离开参照点“礁石尖端”的 位移为S (S=0表示人在礁石点处,向下取负,向上取正),开始下落时,时间t=0,在t 4,6时的变化如下表:t4. 04。34. 64. 95. 25. 56。0S-5101-1018-3问:

4、这段时间内人有几次通过礁石尖端处?方法3:使用“幸运52”猜测商品价格的游戏作情景.方法4:请同学们思考下面的问题:能否解下列的方程 x2 2x仁0 lgx=3 x x4 3x/=0(2)特殊入手:不解方程求方程 x22x仁0的近似解(精确到0。01)。方法1、2、3都是以“实际问题"为情境引入.方法4以学生已有的认知水平:会求一元二次方程的实数解,对应二次函数的图像与 二轴的交点坐标。让学生探究具体的一元二次方程的根与其对应的一元二次函数的 图像与二轴的交点的横坐标的关系,再探究一般的一元二次方程的根与其对应的一元 二次函数的图像与x轴的交点的横坐标的关系.三、函数零点的处理用二分

5、法求方程近似解的理论基础是零点存在定理.下面我们来看看教材上描述的 零点存在定理.如果函数y =f (x)在区间a , b上的图像是连续不断的一条曲线, 并且有f (a ) f (b)0,那么函数y =f (x)在区间a ,b内有零点即存在c (a , b), 使 f (c) =0。由此可见,定理的题设部分有两个条件:(1) y =f (x)在区间a ,b上的图象是连续不断的一条曲线;(2) f (a ) f (b) 0.学生在运用这个定理时往往会存在以下疑问: 我怎样去判断某一函数的图像在某一区间是连续不断的呢? y =f (x)满足条件(1) (2)就一定存在零点,那么是否只存在一个零点呢

6、? 若把条件(2)改为f (a ) f (b) >0,则y =f (x)在(a , b)是否就不存在零点呢? 对于问题,我们可以告诉学生我们前面所学的一次函数、二次函数、指数函数、对数函数、幕函数在它们各自的定义域内图像都是连续的.这些函数经过加减乘除或经过复合而成的新的函数在各自的定义域内图像仍然是连续的。对于问题,主要通过观察函数图像来总结.A >s41无零点:.Jqj-i*2/»s1i®nun xb-1J图41J4ju)fby> 有两个零点3-2p1IK.,K -1 0-I1 avy-21图513有四个零点A1-i/!A1 /!/L1 X1fJ j1

7、 1/ ”1V-11 d 1 /羊 $片 / O1 / /J11X/1J-图务1 /(1)对全部零点为单重零点既对应方程无重根的情况.y=f (x)在区间a, b上的图象是连续不断的一条曲线且f (a ) f (b) <0,则y =f (x) 在(a,b)上有奇数个零点若y =f(x)在区间a,b上单调则y =f(x)在(a,b)上有唯一零点.y =f (x)在区间a ,b上的图象是连续不断的一条曲线且f (a) f (b)0,则y =f (x) 在(a , b) 上有偶数个零点若y =f (x)在区间a ,b上单调则y =f (x)在(a , b)上有无零点.可以看出连续函数的零点具有

8、一个很重要的性质:函数的图象如果是连续的,当它通过 零点时,函数的值变号,也就是图象要经过该点要穿越x轴。(2)对多重零点的情况3211(-1 )2 (x-2)(x-3)1日是二曲零点1111-1-11 /45&7-2'图71r/<x)=(x-l)3Cv-2>是三重零点 /A/_Lfi01<23jr-1-图H从图7、图8可以看出偶数重零点不穿过x轴;奇数重零点穿过x轴函数若有一零 点为多重零点,当该零点为偶重零点时,图象通过该零点时,函数值不变号 ,也就是图象 经过该零点而不穿越x轴.当该零点为奇重零点时,图象经过该点时函数值要变号,也 就是图象经过该零点且穿

9、越x轴.处理好这个问题是本节课的关键.四、精度精确度的说明是一个无法避免的问题,而且需要和初中学习的“精确到”有所区分 。 教学中不可能让学生掌握严格的、 形式化的定义, 而且教科书对此也作了简化处理 :对于 达到精确度&的界定是只要精确值所在区间的长度小于£,那么这个区间的所有的值就都是满足精确度&的近似值那么,如何让学生明白这个含义呢? 一个可行的方法就是 通过简单例子来说明问题最后,在学生思考、讨论及进一步分析的基础上给出精确度 的含义:“一般地,对于数值X,如果要获得它的满足精确度0. 01的近似值,就是找到一个包含X的区间a, b,只要I ab|<0。

10、01即可."五、二分法的定义与步骤利用二分法求方程的近似解时,学生用二分法求方程的近似解最大的困难就是第一 步。 第一步确定初始区间不好把握 。 要引导学生先研究函数的性质,画出函数大致图 象,再确定初始区间 。 如果我们对函数的性质不了解,不能画出大致图象,问题比较 麻烦,只能采用尝试的办法去搜索它的初始区间 。六、信息技术的使用有意识借助计算器和几何画板帮助学生探究得到零点个数,下面以Excel为例引导学生 求y=ln (2x+6) +33X的零点.先用画函数图象工具画出函数图象.确定初始区间为1,2,然后确定第一次迭代时每个单元格的公式,最后填充即可:Xi(X计 X2)X2f(

11、X1)f(X1+X2 )f(刃)f(X1)f(X2)f (X计 X2 ) f (X计X2) /2)f精度迭代次/2/2)/2)f(X1)(X2)数11o 522. 0794420o0010723o-7o 6885581540o002229483 -0. 0039611697411 o51o 7520o1o3o-0. 003964201 -0o0017017555. 8686460. 5200107258723697411 o51o 6251. 750. 001072-0o 73642! 1. 58723-0. 001701755 0o0007895521. 1688620o2531.51.56

12、251. 6250o0o-0. 736420. 000789552 0o0003800290. 2610250o1254001072354451.51o1. 56250o-0. 1735-0. 35445-0. 000380029 -0. 0001860160. 0614970o06255531250010721.51.5156251. 531250. 0010720. 08543-0o 1735-0. 000186016 9o 0. 0148220o03125615918E051 o51o1o0 001072-0 041980o-9 15918E 05 -4o50126E050 o00358

13、70 0156257Iffl点耳|*1. 55001225001835001835001835001911. 5001955001951. 500195503906 1。0507813501953 1503906 0001072001072000204100966004198002041。15009771. 500488 1501953 0001072000429000966001072-0. 00161-0。5009771. 500244 11. 500122500183500214001072 0. 00027-0。5004880.0010720. 0004025002441. 50019

14、8 1500191500244 0500244 60004026. 75E 051E-0475E 05。 6. 75E05 15002146E05。1500198 675E-051. 500195 1。1。2。500198 2. 56E05 4。 -5.500196 5001981. 500196 150019667E-064. 67E06 -5。 1. 500196 4. 67E06 24. 50126E-05 2。 18796E-050. 000857-2。 18796E-05-1. 03521E-050. 00019703521E0500429 -4. 59805E-0600161 1-

15、0. 00027-0. 00027 0. 000271E-0456E-05 1. 6E-0567E-0616E-058E-06 16E056E-07 58E06。 -5. 6E-0772346E06-28677E07-1. 07627E-07-1。-6。0。 007812580. 00390625 4。 59805E-064。 14E 05 1. 72346E-06-2. 8677E 074 。 31423E-072 。 71495E-0880465E-08674688E0974688E-09109724E0972755E0909724E09-419598E-1016389E107. 5961

16、9E-112. 70718E-11-270718E 116. 89E-064。1.-1。3E-071E-078E-082. 67E-081。63E-092E106E-119. 43E-1162675E-123。 26E 120. 0019531250009765630. 0004882811112130002441410。 00012207146. 10352E-05151605176E-051. 52588E-05171862939E 063 。 8147E-06 19。 2090735E 06-2. 62675E 129。1. 2E-12。 211。1.500195 1. 5001962。

17、 7. 46E-07-5. 6E-07-1. 15526E12 1。53249E124。2E-134。2250019505E-0676837E 07七、二分法思想的应用注意用二分法的思想解决其他问题.(2006浙江 16题)设 f(x) =3ax: - -i , f(0)>0, f (1)>0,求证:(I )a> 0 且-2 < ' v 1;b(n)方程f(x) =0在(0, 1)内有两个实根。证明:(I) (略)戈(II)解法1:抛物线: lv -的顶点坐标为I -1 ':,3a 3a利用二分法思想在-的两边乘以- ' ,得卫31b 2<

18、< 3免丁又因为: -.-'b位2 +疋而,"-'3a3a所以方程1在区间.-.与-内分别有一实根.3a3a故方程在.:内有两个实根解法2采用“二分法”,只需证:区间(0, 1)两个端点处f(0), f(1)的符号都为正;在区间(0, 1)内寻找一个二分点,使这个二分点所对应的函数值小于0,它保证抛物线与x轴有两个不同的交点(因a> 0抛物线开口方向向上)。综合、,由函数的图 象可知:方程f(x)= 0在(0, 1)内必有两个不同实根。11331在区间(0, 1)内选取二等分点,因 f(._ ) = . a+b+c= a+ ( a) = a< 0,所

19、以结论得证.(若f (二)< 0不成立,可看f(-)是否为负,若还不成立,再看f (-)是否为负,总之,在区间(0, 1)内存在一个分点,使它对应的函数值为负即可。)例2( 2006全国II12题)函数f (x)=| x1| + x19 |的最小值为()(A) 190(B) 171(C) 90(D)45分析 因X n|表示数轴上的动点x到点n之间的距离。当| x1| + | x19 |最 小时,x为区间1 ,19内的任意一个分点;以此类推,当| x 9| + | x 11|最小时,x为区间9,11 内的任意一个分点;当x-10最小时,x=10。利用“二分法”的思想 方法,当x是区间1,

20、19, 2, 18,3,17,9,11共同二等分点,即x=10时, f(x)取得最小值,所以 f (x)min= 10 1 + 10 2 + 10 3 + + 10 -9 + 10 10 + 10 - 11 + + 10 19 = 90。第一部分:二分法的 Matlab 和 C 程序实现 第二部分主要通过一个实例来研究单变量非线性方程 f(x)=0 的二分法求解及此方 法的收敛性,根据误差估计确定二分次数并进行求解同时实现Matlab和C语言程序编写。从而掌握过程的基本形式和二分法的基本思想,在以后的学习过程中得以应用 .一、引 言在科学研究与工程技术中常会遇到求解非线性方程 f( x)=0

21、的问题。而方程 f( x) 是多项式或超越函数又分为代数方程或超越方程。 对于不高于四次的代数方程已有求根 公式 ,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。因此,如何求得满足一定精度要求的方程的近似根也就成为了我们迫切需要解决的 问题。近年来 ,随着数学科学研究的不断进展 ,又更新了许多方程求解的方法。我们知道, 对于单变量非线性方程f(x) =0, 一般都可采用迭代法求根,由此产生了二分法。二、Matlab 实现function c,err, yc =bisect( f, a, b,delta)f 是要求解的函数%a和b分别是有根区间的左右限%delta是允

22、许的误差界%c为所求近似解%yc为函数f在c的误差估计if nargin<4 delta=1e5;endya=feval( , fa');yb=feval(f';,b)if yb=0 , c=b, return, endif ya*yb>0disp( '(a,b)不是有根区间);return,endmax1=1+round(log( ba)-log ( delta)/log ( 2); for k=1:max1 c=( a+b) /2; ye=feval( f,' c);if yc=0 a=c;b=c; break, elseif yb*yc 0 b=c;yb=yc; elsea=c; ya=c; endif(b-a)end k,c=(a+b)/2,err=abs(ba),yc=feval(,f' c) 例如,要求f (x) =x3-x 仁0在区间1, 2内的根 先在命令窗口中输入:>> fplot ( 'xA3-x1,0, 1 2 ;grid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论