数值分析第七章非线性方程求根习题答案

发布时间 : 星期二 文章数值分析第七章非线性方程求根习题答案更新完毕开始阅读

第七章非线性方程求根

(一)问题简介 求单变量函数方程

f(x)?0 (7.1)

的根是指求x*(实数或复数),使得f(x*)?0.称x*为方程(7.1)的根,也称x*为函数f(x)?的零点.若f(x)可以分解为 f(x)?(xx*)g( xm其中m为正整数,g(x)满足g(x)?0,则x*是方程(7.1)的根.当m=1时,称x*为单根;当m>1时,称x*为m重根.若g(x)充分光滑,x*是方程(7.1)的m重根,则有 f(x*)?f'(x*)?...?f(m?1)(x*)?0,f(m)(x*)?0

若f(x)在[a,b]上连续且f(a)f(b)?0,则方程(7.1)在(a,b)内至少有一个实根,称[a,b]为方程(7.1)的有根区间.有根区间可通过函数作图法或逐次搜索法求得. (二)方程求根的几种常用方法 1.二分法

设f(x)在[a,b]上连续,f(a)f(b)?0,则f(x)?0在(a,b)内有根x*.再设f(x)?0在(a,b)内

x0?12(a0?b0)仅有一个根.令算;若

a0?a,b0?b,计算和

f(x0).若

f(x0)?0则x*?x,结束计

,则令

f(a0)f(x0)?0,则令

a1?x0,b1?b,得新的有根区间

[a1,b1];若

f(a0)f(x0)?012a1?a0,b1?x0,得新的有根区间

[a1,b1].

[a0,b0]?[a1,b1],

b1?a1?(b0?a0).再令

x1?12(a1?b)1计算

f(x1),同上法得出新的有根区间

[a2,b2],如此反复进行,可得一有根区

间套

...?[an,bn]?[an?1,bn?1]?...?[a0,b0]12

12n且

an?x*?bn,n?0,1,2,...,bn?an?(bn?1?a?1)?...?(b0?a0).

lim(bn?an)?0,limxn?limn??n??12n??(an?bn)?x*

因此,

xn?12(an?bn)可作为f(x)?0的近似根,且有误差估计

12n?1 2.迭代法

|xn?x*|?(b?a) (7.2)

将方程式(7.1)等价变形为 x??(x) (7.3)

若要求x*满足f(x*)?0则x*??(x*);反之亦然.称x*为函数?(x)的一个不动点.求方程(7.1)的根等价于求?(x)的不动点由式(7.3)产生的不动点迭代关系式(也称简单迭代法)为

xk?1??(xk)k,?0,1,2... (7.4)

xk?1??(xk),k?0,1,2...函数?(x)称为迭代函数.如果对任意极限

limxk?x*k??,由式(7.4)产生的序列

?xk?有

则称不动点迭代法(7.4)收敛.

定理7.1(不动点存在性定理)设?(x)?C[a,b]满足以下两个条件: 1.对任意x?[a,b]有a??(x)?b;

2.存在正常数L?1,使对任意x,y?[a,b],都有|?(x)??(y)|?|x?y| (7.5) 则?(x)在[a,b]上存在惟一的不动点x*.

定理7.2(不动点迭代法的全局收敛性定理)设?(x)?C[a,b]满足定理7.1中的两个条件,则对任意

x0?[a,b],由(7.4)式得到的迭代序列

|xk?x*|?L?xk?收敛.到?(x)的不动点,并有误差估计式

|xk?xk?1|

1?LLk (7.6)

|xk?x*|?1?L|xk?xk?1| (7.7)

定理7.3(不动点迭代法的局部收敛性定理)设x*为?(x)的不动点,?'(x)在x*的某个邻域连续,且|?'(x)|?1,则迭代法(7.4)局部收敛.

收敛阶的概念 设迭代过程(7.4)收敛于方程x??(x)的根x*,如果迭代误差

ek?xk?x*当k??时成产下列渐近关系式

ek?1?C(常数C?0)

ek (7.8)

则称该迭代过程是p阶收敛的.特别地,p=1时称线性收敛,p>1时称超线性收敛,p=2时称平方收敛.

定理7.4(收敛阶定理)对于迭代过程(7.4),如果??'(x*)??''(x*)?...???(p)(p?1)(K)(x)在所求根x*的邻近连续,并且

(x*)?0(x*)?0 (7.9)

则该迭代过程在点x*的邻近是收敛的,并有

limek?1epk

k???1p!?(p)(x*) (7.10)

斯蒂芬森(Steffensen)迭代法 当不动点迭代法(7.4)只有线性收敛阶,甚至于不收敛时,可用斯蒂芬森迭代法进行加速.具体公式为

yk??(xk),zk??(yk)xk?1?xk?(yk?xk)2zk?2yk?xkk?0,1,2,... (7.11)

此法也可写成如下不动点迭代式

xk?1??(xk),k?0,1,2,...?(x)?x?(?(x)?x)2?(?(x))?2?(x)?x (7.12)

?(x)定理7.5(斯蒂芬森迭代收敛定理) 设x*为式(7.12)中的不动点,则x*是?(x)的不动点;?(x)设?''(x)存在,?'(x*)?1,则x*是的不动点,则斯蒂芬森迭代法(7.11)是2阶收敛的.

3.牛顿迭代法

牛顿迭代法是一种特殊的不动点迭代法,其计算公式为

xk?1?xk?f(xk)f'(xk),k?0,1,2,... 其迭代函数为

?(x)?x?f(x)f'(x) (7.13)

牛顿迭代法的收敛速度 当f(x*)?0,f'(x*)?0,f''(x*)?0时,容易证

明,f'(x*)?0,

?''(x*)?f''(x*)f'(x*)?0,由定理7.4知,牛顿迭代法是平方收敛的,且

f''(x*)limek?1ek2

k???2f'(x*) (7.14)

?(x)?x?f(x)f'(x)重根情形的牛顿迭代法 当x*是f(x)?0的m重根(m?2)时,迭代函数

?'(x*)?1?1m?0在x*处的导数

,且|?'(x*)|?1.所以牛顿迭代法求重根只是线性收敛.若

x*的重数m知道,则迭代式

xk?1??xk?mf(xk)f'(xk),k?0,1,2,... (7.15)

?(x)?f(x)f'(x)的单重零点,此时迭代式

求重根二阶收敛.当m未知时,x*一定是函数

xk?1?xk??(xk)?'(xk)?xk?f(xk)f'(xk)[f'(xk)]?f(xk)f''(xk) k?0,1,2,...也是二阶收敛的.

xk?1?xk?f(xk)f'(x0),k?0,1,2,... (7.16)

简化牛顿法 如下迭代法

称为简化牛顿法或平行弦法.

牛顿下山法 为防止迭代不收敛,可采用牛顿下山法.具体方法见教材. 4.弦截法

将牛顿迭代法(7.13)中的

xk?1?xk?f'(xk)xx用f(x)在k?1,k处的一阶差商来代替,即可得弦截法

(xk?xk?1)f(xk)f(xk)?f(xk?1) 定理7.6假设

f(x) (7.17)

在其零点x*的邻域?:|x?x*|??内具有二阶连续导数,且对任意x??x0,x1??有f'(x)?0,又初值

p?1?25?1.618,,则当邻域?充分小时,弦截法(7.17)将按阶

收敛到x*.这里p是方程????1?0的正根.

25.抛物线法

联系合同范文客服:xxxxx#qq.com(#替换为@)