非线性方程求根
- 格式:doc
- 大小:179.00 KB
- 文档页数:8
计算方法非线性方程求根第十章非线性方程求根知识点:求根的基本概念,对分法,迭代法,误差,编程停机判断,算法说明1.概念(1)根的概念方程f(x)=0的解叫做方程的根或f(x)的零点。
例如x-cosx=0,x-e x=0求方程的根是数值计算的任务之一,当不易求得f(x)=0的解析解时,可以考虑求其近似根。
求实根问题包括:根的存在性;根的分布;根的精确化.(2)根的存在性如果f(x)是[a,b]上的连续函数,且f(a) f(b)<0,则f(x)=0在(a,b)至少有一个根;若单调,则f(x)=0在(a,b)有惟一根。
(3)根的分布若有根区间的根多于一个,为了得到根的数值解,可以将该有根区间分割若干个子区间,使每个子区间只包含f(x)=0的一个根,这个过程称根的隔离,每个子区间称为隔根区间。
一般情形下,隔根区间内任一点都可作为相应根的近似值,隔根区间越小,近似程度越好。
(4)根的精确化在隔根区间内得到方程f(x)=0相应根的初步近似值后,为使近似值程度更好、符合预先期望,通常应继续逐步精确化根的近似值,直到满足规定的精度要求为止。
精确化方法有很多,常见的有二分法,迭代法等。
2.二分法二分法是利用隔根区间的两个端点来逐步求得满足预先给定精度的近似根。
(1)基本思想对分有根区间,判断f(x)的符号,逐步将有根区间缩小,使得在足够小的区间内取得满足预先给定精度要求的近似值。
(2)具体做法设区间[a,b]为有根区间,记α是f(x)=0在(a,b)的惟一根,二等分区间[a,b]。
令x0=(a+b)/2,如果f(x0)=0,则求得实根α=(a+b)/2。
否则,若f(a)f(x0)<0,则α∈[a,x0],取a1=a,b1=x0;若f(b)f(x0)<0,则α∈[x0,b],取a1=x0,b1=b。
在新的有根区间上重复二等分过程,得有根区间套序列[a,b]? [a1,b1]? [a2,b2] ?…? [a k,b k] ?…b-a>b1-a1>b2-a2>…>b k-a k…,a k≤α≤b k其中每个区间为前一个区间的一半,经过k次二分后,有根区间的长度为如此无限二等分区间[a,b](k→∞)有b k- a k→0(k→∞)或lim a k=lim b k=α(k→∞)。
第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]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。
非线性方程求根本章主要内容: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 x x 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 x x 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,…,)。