一元方程数值解法_第1页
一元方程数值解法_第2页
一元方程数值解法_第3页
一元方程数值解法_第4页
一元方程数值解法_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 一元方程数值解法是所要求的近似值。就为止。这时候值很接近,即直到前后两次求出的。即:次的初值代入出的新值又作为下一。这样一次一次的将求得代入再将。的第一次近似值等号的右边,求出,把它代入上式定一个初值的范围,给大致估计出一个根的表达式:改写为求将是:一般迭代法的主要思想一般迭代法法。一般迭代法和牛顿迭代求解,主要有两类:)的根,通过数值算法求一元方程11433221002110|-|)()()()()()() 3()2()()() 1 ( 1 . 8(nnnxxxxxxgxxgxxgxgxxgxxgxxxxxxxgxxxfxf次迭代后仍未收敛。经输出:,也就不再进行下去,足若达到此次数

2、仍不能满一个最高的循环次数,止的迭代下去,应规定仍不收敛。为防止无休结果许多次迭代之后这样一个问题:有可能在设计算法时,应考虑。附近有一个根,设估计在:式子,可得到如下形式首先找出。例:用迭代法求解nxxxxxgxxxx|x-x|002/ ) 12()(0122n1n02323program Read(*,*)x,m Do 10 i=1,m X1=(-x*3-2*x*x-1)/2 If(abs(x-x1).gt.1e-6) then X=x1 Else Stop End if10 continue Write(*,*)x end程序运行情况如下:1,20i=1 x1=-1.0000000i=2

3、 x1=-1.5000000i=3 x1=-1.5625000.i=19 x1=-1.5436890Stop(循环19次后,已满足所给条件)。形式和初值择不收敛。因此要恰当选敛,对有的收,则可能对有的存在满足对所有的收敛速度越快。如果不越小,均收敛,且对于任意的,那么为一个定数有,若且对所有的具有一阶导数连续,而则不收敛。如果的,对有的是收敛对某些则不收敛,对同一个是收敛的,而有的有的可以写出一下形式:的形式。例如本题中,可以写出不同的应当说明:对同一个00000032323)(1q|(x)g|xg(x)x)1(qq|(x)g|)(),()()(122) 3(2) 12()2(2/ ) 12(

4、) 1 ()(),(xxgxxxqxxgxxxgxgxgxxxxxxxxxxgxxf)()(|),()6()()()5()()4()()()()()()()3()()()()2() 1 (0)( 2 . 811133322211122111221111110nnnnnnnxfxfxxxxxxfxxxxfxfxfxxfxfxxxxxfxfxxxxfxfxfxfxxxfxxxxxf顿迭代公式为:足够接近于真实根。牛就认为的根之差真正的根。当两次求出一直求下去,直到接近求出再通过。轴于的切线交作再通过。求出通过。故有。由于。可以用公式求出轴与的切线,交作过。于,交。在几何上就是作求出通过的真实根的近

5、似根选一个接近于是这样的:附近的一个实根的方法在用牛顿迭代法求牛顿迭代法。求出新的次一次地。这样就能使用循环一就代表了和个变量。也就是说只要用两,再求出新的始值值作为下一次迭代的初的将求出的下一个近似值。然后代表通过迭代求出的,代表代表代表迭代次数,的初始值,代表第一次编程思路:用求出:已知:附近的一个实根。在例:用牛顿迭代法求xxxxxxxxxxxxxffxffnxxxxxfxxxxfxxxxxfn,11) 1(1),1(1443)(142)(00142)(32122323program Read(*,*)x N=110 x1=x F=x1*3-2*x1*2+4*x1+1.0 F1=3*x1

6、*2-4*x1+4 X=x1-f/f1 Write(*,*)n,x1,x N=n+1 If(abs(x-x1).gt.1e-6)goto 10 end运行过程记录如下:1.0N=1 x1=1.0000000 x=-0.3333333N=2 x1=-0.3333333 x=-0.2287582N=3 x1=-0.2287582 x=-0.2225152N=5 x1=-0.2224945 x=-0.2224945间相当小为止。不断缩小范围,直到区间。用这个办法的中点,并舍弃一半区与区间,再取则说明根在同号,与间。如果”,并且再舍弃一半区的中点“与再找围。的办法再进一步缩小范少了一半。然后用相同这样

7、将寻找根的范围减之间,号,说明实根在是否同符号,如果不同与,检查点的中之间有一实根。取符号相反,说明和如果区间内有无一个实根。,判断和两点其基本思路是:任意取二分法22121112121212121),()()(),()()(),(),()()(),( 3 . 8xxxxxfxfxxxxxxfxfxxxxxxfxfxxxx。取附近的一个实根,在例:用二分法求重复上述步骤。找中点再根据新的区间。这就舍弃了原,作为新的同号,则用与这个区间。如果原,这就舍掉了作为新的不同符号,则用与如果区间呢?怎样做到“舍弃”一半5, 02016)(,)2(),()()(),()()() 1 (2132111122

8、1xxxxxxfxxxxxxxxfxfxxxxxfxfprogram Read(*,*)x1,x2 F1=x1*3-6*x1-1 F2=x2*3-6*x2-110 x=(x1+x2)/2 F=x*3-6*x-1 If(sign(f,f1).eq.f) then X1=x F1=f Else X2=x F2=f End if If(abs(x1-x2).gt.1e-5).and.$ (abs(f).gt.1e-6) goto 10 If(abs(f).gt.1e-6) x=(x1+x2)/2 Write(*,*) x end程序运行结果:1.0, 5.0 x=2.52891702.0, 4.0

9、x=2.5289170。区间,应舍去等于同号,则与。如果代替,以代替应以为改变符号和值。此时后,同号,则执行与。因此,如果的符号传送给的作用是将,函数的作用是传送符号说明:2, 2)2,()2,(211) 1,(11) 1,(ffxxxxfffsignffffxxfffsignffffffsignsign分法采用的方法相同。是否同符号的方法与二与判别:。可用下式求出点为轴,设交线必然交与异号,则它们之间的联与如果与二分法相同。舍去一个。取舍的方法二个区间中与,从轴的交点联线与与取。弦截法则是后从中舍弃一半的区间每次取区间的中点,然点不同,二分法二分法”相似,只有一弦截法的基本思路与“弦截法)()()()()()()(),(),()()( 4 . 821212122212121xfxfxfxfxfxxxxxxxxfxfxxxxxxxfxf为止。的值不超过求出的。要求进行到先后二次例:用弦截法求根:623100472xxxx10 Read(*,*)x1,x2 F1=x1*3-2*x1*2+7*x1+4 F2=x2*3-2*x2*2+7*x2+4 If(sign(f1,f2).eq.f1) goto 10 F=1.020 if(abs(x1-x2).gt.1e-5).and.(abs(f).gt.1e-6) then x=x2-(x2-x1)/(f2-f1)*f2 f=x*3-2

温馨提示

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

评论

0/150

提交评论