第7章 非线性方程求根本章主要内容:1.区间二分法. 2切线法. 3.弦位法. 4.一般迭代法.重点、难点一、区间二分法区间二分法是求方程f(x)=0根的近似值的常用方法。
基本思想:利用有根区间的判别方法确定方程根的区间[a,b] ,将有根区间平分为二;再利用有根区间的判别方法判断那一个区间是有根区间;重复上述步骤,直到小区间端点差的绝对值小于等于精度要求的数值,则用将上一区间的分半值作为方程的根的近似值。
区间二分法的计算步骤如下: 1.计算区间端点的函数值f(a) , f(b)(不妨设f(a)<0,f(b)>0);确定初始有根区间[a,b]. 2.二分有根区间[a,b],并计算)2(ba f + 取21b a x +=3.判断: 若0)(1=x f ,则方程的根为1x x =*;若 0)(1>x f ,则有根区间为[]1,x a x ∈*;令[]],[,111b a x a =若 0)(1<x f ,则有根区间为[]b x x ,1∈*;令 []],[,111b a b x =4. 如果│b-a │<ε(ε为误差限),则方程的根为2ba x +=*;否则转向步骤2,继续二分有根区间[a 1,b 1],并计算中点值,继续有根区间的判断,直到满足精度要求为止,即│b n -a n │<ε二分次数的确定:如果给定误差限ε,则需要二分的次数可由公式12ln ln )ln(---≥εa b n 确定应二分的次数。
例1 用区间二分法求方程0353=+-x x 在某区间内实根的近似值(精确到0.001)【思路】参见上述区间二分法的计算步骤解 ∵f(1.8)=-0.168<0, f(1.9)=0.359>0 ∴f(x)在区间[1.8 ,1.9]内有一个根。
由公式 644.512ln 001.0ln 1.0ln 12ln ln )ln(=--=---≥εa b n取n=6, 计算结果列表如下:则方程在区间[1.8,1.9]内所求近似值为x *≈ x = 1.8328125区间二分法的优点是计算程序简单,只要f (x )在区间[a,b]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。
迭代序列收敛阶的概念设迭代序列{}n x 收敛于*x ,如果存在实数1≥p 与正常数c ,使得c xx x x pn n n =--**+∞→1lim,则称序列{}n x 是p 阶收敛于*x 。
特别地,当1=p 时,称序列{}n x 为线性(一次)收敛; {}n x 为线性收敛时,必须要求1<c 。
当2=p 时,称序列{}n x 为平方(二次)收敛; 当21<<p 时,称序列{}n x 为超线性收敛;收敛阶p 越大,则序列{}n x 与*x 的误差缩减越快,也就是序列{}n x 收敛越快。
二、切线法(牛顿法)1. 切线法的基本思想:假设方程f(x)=0在区间[a,b]上有唯一根x *,过曲线y= f(x)上的一点(x 0,f(x 0)),作曲线的切线,用此切线与x 轴的交点的横坐标x 1作为方程的根x *的新的近似值, 再过点(x 1,f(x 1)),作曲线的切线,则又得到新的近似值,按此方法进行迭代计算,直到满足精度要求为止。
切线法(牛顿法)的迭代公式为 ,...)1,0()()(1='-=+n x f x f x x n n n n2.切线法的收敛性我们利用定理(7.1)来判断切线法的收敛性。
定理(7.1)还给出了一个初始值x 0的选择方法,定理7.1. 设f (x )在[a ,b ]上存在二阶连续导数,且满足条件 ⑴ f(a )f (b)< 0;⑵f /(x ) 在[a ,b ]上不等于零 (3)f //(x ) 在[a ,b ]上不变号则对任意初值x 0∈[a ,b ] ,只要满足f (x 0) f //(x )≥0. 则由切线法迭代公式得到的近似根序列{}n x 平方收敛于方程f (x )=0在区间[a ,b ]的唯一根x *。
2. 切线法的计算步骤:先判断有根区间[a,b],然后选择初始值x 0(一般地,若f //(x)>0,则选择区间的右端点;若f //(x)< 0,则选择区间的左端点),再建立迭代公式进行计算(列表计算)。
例2 用切线法求例1中方程在[1,2]内根的近似值,精确到0.000001【思路】根据f(x 0)f //(x)>0在有根区间上选择初始值x 0,代入迭代公式进行计算解 5332)()(2012)2(,01)2(6)(53)(35)(23111023--='-==∴>=''>==''-='+-=---n n n n n n x x x f x f x x x f f xx f x x f x x x f 代入迭代公式取初始值 计算得834243185.1000001.0000000319.034≈*∴<=-x x x例3 证明 计算3a 的切线法迭代公式为 )2(3121nn n x ax x +=+ (n=0,1,…) 解 因为计算3a 等同于求方程03=-a x 的根,将233)(,)(x x f a x x f ='-=,代入切线法迭代公式得: ,1,0,)(3132231=+=--=+n x a x x a x x x nn n n n n 三 、弦位法1. 弦位法的基本思想:假设方程f(x)=0在区间[a,b]上有唯一根x *,在区间[a,b]内的曲线y= f(x)上任取两点作弦,用此弦与x 轴的交点横坐标作为方程根的近似值。
按此方法进行迭代计算,直到满足精度要求为止。
弦位法分为单点弦法和双点弦法。
2.单点弦法 建立弦的迭代公式时,固定其中一个点,而另一个点变动的迭代求根方法。
单点弦法的迭代公式,...)1,0()()()(1=---=+n x f x f c f x c x x n n nn n(1)单点弦法的收敛性利用定理7.2判断其收敛性。
单点弦法收敛所满足条件和切线法的收敛条件相同,不同的是单点弦法迭代公式所产生的序列是线性收敛于f(x)=0在区间[a,b]上有唯一根x *。
我们计算时应注意,在选择固定点c 时,也要求满足条件0)()f(x 0.(x )f f(c)0≤''>''x f 。
(2)单点弦法的计算步骤同切线法类似。
3.双点弦法 建立弦的迭代公式时,两个点都变动的迭代求根方法。
双点弦法的迭代公式为: ,...)1,0()()()(111=---=--+n x f x f x f x x x x n n n n n n n(1)双点弦法收敛性利用定理(7.3)判断。
f(x)在[a,b]上满足的条件为: ⑴ f(a)f(b)< 0; ⑵f /(x)≠0⑶KR ≤ρ<1,其中K=M 2/2m 1, M 2 = max │f //(x)│, m 1 = min │f /(x)│, R=max {│x 0-x *│,│x 1-x *│}. 则以a,b 为初始值,由双点弦法迭代公式得到的序列超线性收敛于方程f(x)=0在区间[a,b]的唯一根x *。
(2)双点弦法的计算步骤同切线法类似。
但在计算时应注意收敛性的判断和初始值的选择。
例4 试导出计算)0(>a a 的单点弦法迭代公式,并用它计算3,准确到610-。
解 因为计算)0(>a a 等同于求方程02=-a x 的正根,令 x x f a x x f 2)(,)(2='-=,代入单点弦法迭代公式,得:,1,0,)()()()(2221=++=----=---=+n x c acx a x x c x c x x f x f c f x c x x nn n nn n n n nn n例5 分别用单点弦法和双点弦法求方程0133=--x x 在[1,2]内根的近似值, 精确到10-3【思路】参见单点弦法和双点弦法的计算步骤 解 方法一. 单点弦法()得方程根的近似值代入迭代式取初始值内且在区间内有根在区间)()()(,106)(,033)(]2,1[]2,1[01)2(,03)1(13)(1023n n nn n x f x f c f x c x x x x x f x x f x f f f x x x f ---==〉=''〉-='∴>=<-=--=+()()()()()()007432423.0,878406099.1087483863.0)087483863.0(1867768595.12867768595.1087483863.0,867768595.1890625.0)890625.0(175.1275.1890625.0,75.13)3(1121332211-==-----=-==-----=-==-----=x f x x f x x f x()()879378365.1,10000075196.0,000052236.0)(879378365.1000623407.0)000623407.0(1879303169.12879303169.1000623407.0)(879303169.1007432423.0)001130637.0(1878406099.12878406099.13455544≈≤=--==-----=-==-----=*-x x x x f x x f x 方程的近似根为 方法二. 双点弦法()得方程根的近似值代入迭代式,取且有根内方程在区间)()()(0)()2(00)()9.1(01)2(0159.0)9.1(2,9.106)(,033)(.0]2,1[01)2(,03)1(13)(1111023n n n n n n n x f x f x f x x x x x f f x f f f f x x x x f x x f x f f f x x x f --+---=>''⋅>''⋅>=>===>=''>-='=>=<-=--=()()()().879429134.11000009913.0,879429134.1001086562.0012996164.0001086562.0881093936.1879528266.1879528266.1001086562.0,879528266.1012996164.01012996164.02881093936.1881093936.1012996164.0,881093936.11)159.0(19.122433443322=≈∴≤=-=---===---===⨯---=*-x x x x x x f x x f x 方程根的近似值为四、 一般迭代法一般迭代法的基本思想:若方程f(x)=0在区间[a,b]上有唯一根x *,将方程变形为同解方程x=φ(x ),且φ(x )连续,则建立迭代公式x n+1=φ(x n )(n=0,1,…,)。