资源描述:
《科学与计算工程办法第2章.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第二章方程求根§2.0引言§2.1二分法§2.2简单迭代法§2.3牛顿(Newton)法§2.4其它求根方法(迭代过程的加速方法)§2.5作业讲评§2.0引言非线性科学是当今科学发展的一个重要研究方向,非线性方程的求根也成为其中一个重要内容。一般而言,非线性方程的求根非常复杂。在实际应用中有许多非线性方程的例子,例如(1)在光的衍射理论(thetheoryofdiffractionoflight)中,需要求x-tanx=0的根(2)在行星轨道(planetaryorbits)的计算中,对任意的a和b,需要求x-asinx=b的根(3)在数学中,需要求n
2、次多项式nn-1axnn++ax-1...+ax1+a0=0的根。非线性方程的一般形式fx()0=这里fx()是单变量x的函数,它可以是代数多项式nn-1f()xaxax=++nn-1...++a1xa0(an≠0)也可以是超越函数,即不能表示为上述形式的函数。满足方程fx()0=的x值通常叫做方程的根或解,也叫函数fx()0=的零点。§2.1二分法(BisectionMethod)1概念:二分法也称对分区间法、对分法等,是最简单的求根方法,属于区间法求根类型。在用近似方法时,需要知道方程的根所在区间。若区间[a,b]含有方程f(x)=0的根,则称[a
3、,b]为f(x)=0的有根区间;若区间[a,b]仅含方程f(x)=0的一个根,则称[a,b]为f(x)=0的一个单根区间。2.基本思想根的存在定理(零点定理):f(x)为[a,b]上的连续函数,若f(a)·f(b)<0,则[a,b]中至少有一个实根。如果f(x)在[a,b]上还是单调递增或递减的,则f(x)=0仅有一个实根。ax1x*x2b图示:二分法3.构造原理直接取区间[a,b]的中点x=(a+b)/2作为问题的近似解,那么我们可以估计出绝对误差限仅为区间长的一半,即e=(b-a)/2。如果这个结果能满足精度要求,我们就停止进一步的计算;如果不能,
4、就求出f(x),结果只能是下面三种情况之一:(1)f(a)·f(x)<0,此时我们有x*∈[a,x];(2)f(x)·f(b)<0,此时我们有x*∈[x,b];(3)f(x)=0,此时x即为问题的精确解。在前两种情况下,我们可以用x分别替换原问题中的b或a,从而把求解的区间减小了一半。这样我们又可以取新区间[a,b]的中点。经过NN次迭代后,剩下的区间长为(b-a)/2。这也是结果的绝对误差限。如此继续下去就达到是有根区间逐步缩小的目的,在这一些相互包含的{}x*子区间中构造收敛的数列k来逼近根x。例求方程的有根区间.解根据有根区间定义,对方程的根进行
5、搜索计算,结果如下表:方程的三个有根区间为[1,2],[3,4],[5,6].非线性方程f(x)=0求根,包括求超越方程和代数方程的根x*,方程的根也是f(x)的零点,即f(x*)=0,x*可以是实根也可以是复根,本章以求实根为主。求实根首先要确定根x*所在区间,称为有根区间。根据连续函数性质,若f(x)在上连续,当f()f(b)<0时,为有根区间,为找到方程f(x)=0的有根区间,可用逐次搜索法,也就是在x的不同点上计算f(x),观察f(x)的符号,如例2.1表中所示,只要在相邻两点f反号,则得到有根区间,本例得到三个有根区间,分别为[1,2][3,
6、4][5,6].4.基本步骤假设f(x)=0,在区间[a,b]中只有一个根,且满足f(a)f(b)<0,则利用二分法构造求根过程为:While(
7、a-b
8、>eps)x=(a+b)/2计算f(x)若(
9、f(x)
10、11、
12、x1−≤x*
13、22第k步产生的xabkk⊆[,k]有误差ba−
14、x−≤x*
15、kk2对于给定的精度ε,可估计二分法所需的步数k:ba−⎡⎣ln(ba−−)lnε⎤⎦<⇒εk>k2ln2注:用二分法求根,最好先给出f(x)草图以确定根的大概位置。或用搜索程序,将[a,b]分为若干小区间,对每一个满足f(ak)·f(bk)<0的区间调用二分法程序,可找出区间[a,b]内的多个根,不必要求f(a)·f(b)<0。6例题例1证明方程1-x-sinx=0在区间[0,1]内有一个根,使用二分法求-4误差不超过0.5×10的根要迭代多少次?证明令f(x)=1-x-si
16、nx,∵f(0)=1>0,f(1)=-sin1<0∴f(x)=1-x-sinx=0在[0,1]