数值分析解非线性方程的迭代法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 解非线性方程的迭代法
本章讨论求非线性方程
(x)=0
(4.1)
的根的问题. 其中(x)是高次多项式函数或超越函数.如
(x)=3x5-2x4+8x2-7x+1
(x)=e2x+1-xln(sinx)-2
等等.
§1 二 分 法
设(x)在区间[a,b]上连续且(a)(b)<0,根据连续函 数的介值定理,区间[a,b]上必有方程(x)=0的根,称[a,b] 为方程(x)=0的有根区间.
x=(x) 取一个合适的初始值x0,然后作迭代
xk+1=(xk) , k=0,1,2,…
(4.2) (4.3)
得到迭代序列{xk} , 如果xk ,则有=(), 即是方 程(x)=0的根.这种求方程根的方法称为简单迭代法,或逐 次逼近法.其中(x) 称为迭代函数 ,式(4.3)称为迭代格式. 若迭代序列{xk} 收敛 , 则称简单迭代法是收敛的.
0.00049
如果取精度=10-5,则要使
| xk
ba |
2 k 1
1 2 k 1
10 5
只需k>5ln210-115.61.即需取x16. 二分法要求函数在区间[a,b]上连续,且在区间两端
点函数值符号相反,二分法运算简便、可靠、易于在计算
机上实现。但是,若方程(x)=0在区间[a,b]上根多于1
而且有根区间[a1,b1]长度是有根区间[a0,b0]长度的一半,
再对有根区间[a1,b1]重复上面运算,
即:
计算
x1
a1
2
b1
,
若|(x1)|<, 则取x1; 否则,若(a1)(x1)<0,取a2=a1 ,
b2=x1 ;若(a1)(x1)>0, 取a2=x1 ,b2=b1,得到新的有根区
间[a2,b2]. 而且有根区间[a2,b2]长度是有根区间[a1,b1]
8
1.89328921
3
1.89333233
9
1.89328920
4
1.89329722
10
1.89328920
5
1.89329069
…
……
由计算结果有,x10=x9,因此可取x10=1.89328920.
方程也可改写成x=(x3-3)/2, 建立迭代格式
xk+1=(xk3-3)/2 , k=0,1,2,… 仍取初值x0=1.9, 则有 x1=1.9295, x2=2.0917, x3=3.0760, x4=13.0529 可见,xk,此迭代格式是发散的.
定理4.3 若(x)为I上的压缩映射, 则(x)在I上存 在唯一的一个不动点,且对任何x0I,由迭代格式
xk+1=(xk) , k=0,1,2,… 产生的序列{xk}收敛于(x)的不动点.
证 不妨设I=[a,b],作函数(x)=(x)-x,由于xI时, (x)I,则(a)=(a)-a0,(b)=(b)-b0,由(x)的连 续性, 必存在I, 使()=()-=0,即=(),就是 (x)的不动点.
个时,也只能求出其中的一个根。另外,若方程(x)=0在
区间[a,b]有重根时,也未必满足(a)(b)<0. 而且由于
二分法收敛的速度不是很快,一般不单独使用,而多用于为
其他方法提供一个比较好的初始近似值.
§2 简 单 迭 代 法
§2.1 简单迭代法的一般形式 首先把方程(x)=0改写成等价(同解)形式
取x0=1.5,由于(x0)=2.375,得新有根区间[1,1.5],
x1=1.25,由于(x1)=-0.0468,得新有根区间[1.25,1.5],
x2=1.375,由于(x2)=1.0996,得新有根区间[1.25,1.375],
x3=1.3…12…5,…由…于…(…x3…)=…0.…51…1,…得…新…有…根…区…间…[1….2…5,.1.3125],
x9=1.254882813,得有根区间[1.254882813,1.255859375],
x10=1.255371094, (x10)=-0.000105285
取x10=1.255371094作为方程根的近似值,且有
| x10
|
b10
a10 2
1.255859375
1.254882813 2
y 设(x)在区间[a,b]上连续 且(a)(b)<0 .
y=(x)
记a0=a,b0=b,计算 x0
a0
2
b0
,
若|(x0)|< ,则取x0 ;否则, 0
a
x1 x0
b
x
若(a0)(x0)<0,取a1=a0,b1=x0 ;
若(a0)(x0)>0,取a1=x0,b1=b0 ,得到新的有根区间[a1,b1],
长度的一半.一直进行下去,直到求出有根区间[ak,bk].
此时,再计算
xk
ak
bk . 2
或者有|(xk)|<
,或者有
xk
bk
ak 2
bk 1 ak 1 22
b0 a0 2 k 1
ba
2 k 1
可见,k趋向无穷大时,xk收敛于 .
而且,若要|xk-|< ,只要
ห้องสมุดไป่ตู้
b a
2 k 1
或者
k
log 2
b
a
1
此时可取近似根xk .
在计算过程中,若出现|(xk)|<1,或bk-ak<2 .则可取 xk作为方程(x)=0的近似根,终止运算.
例1 用二分法求x3+4x-10=0在区间[1,2]内根的近似
值,并估计误差.
解 这里(x)=x3+4x-7, (1)(2)=-18<0,而且 (x)=3x2+4>0,所以(x)=0在[1,2]区间有唯一根.
例2 求方程x3-2x-3=0在[1,2]内的根.
解 改写原方程为等价方程 x 3 2x 3 ,建立迭代
格式
xk1 3 2xk 3
如果取初值x0=1.9 ,计算得
, k 0,1,2,
k
xk
k
xk
0
1.9
6
1.89328947
1
1.89453647
7
1.89328925
2
1.89352114
定理4.1 若(x)为I上的压缩映射,则(x)在I上连 续. 定理4.2 若(x)为I到自身上的映射,且(x)C1(I), |(x)| L<1,则(x)为I上的压缩映射.
证 对任意x1,x2I,有 |(x2)-(x1)|=|()||x2-x1| L|x2-x1|
定义4.3 若(x)为I到自身上的映射,且I满足,= (),则称为(x)的不动点.
§2.2 简单迭代法的收敛条件 定义4.1 设(x)为定义在区间I上的函数, 且对任何 xI,均有(x)I,则称(x)为I到自身上的映射.
定义4.2 设(x)为I到自身上的映射,且存在0<L<1, 使对任何x1,x2I,有|(x2)-(x1)| L|x2-x1|,则称(x) 为I上的压缩映射, L称为Lipschitz常数.
本章讨论求非线性方程
(x)=0
(4.1)
的根的问题. 其中(x)是高次多项式函数或超越函数.如
(x)=3x5-2x4+8x2-7x+1
(x)=e2x+1-xln(sinx)-2
等等.
§1 二 分 法
设(x)在区间[a,b]上连续且(a)(b)<0,根据连续函 数的介值定理,区间[a,b]上必有方程(x)=0的根,称[a,b] 为方程(x)=0的有根区间.
x=(x) 取一个合适的初始值x0,然后作迭代
xk+1=(xk) , k=0,1,2,…
(4.2) (4.3)
得到迭代序列{xk} , 如果xk ,则有=(), 即是方 程(x)=0的根.这种求方程根的方法称为简单迭代法,或逐 次逼近法.其中(x) 称为迭代函数 ,式(4.3)称为迭代格式. 若迭代序列{xk} 收敛 , 则称简单迭代法是收敛的.
0.00049
如果取精度=10-5,则要使
| xk
ba |
2 k 1
1 2 k 1
10 5
只需k>5ln210-115.61.即需取x16. 二分法要求函数在区间[a,b]上连续,且在区间两端
点函数值符号相反,二分法运算简便、可靠、易于在计算
机上实现。但是,若方程(x)=0在区间[a,b]上根多于1
而且有根区间[a1,b1]长度是有根区间[a0,b0]长度的一半,
再对有根区间[a1,b1]重复上面运算,
即:
计算
x1
a1
2
b1
,
若|(x1)|<, 则取x1; 否则,若(a1)(x1)<0,取a2=a1 ,
b2=x1 ;若(a1)(x1)>0, 取a2=x1 ,b2=b1,得到新的有根区
间[a2,b2]. 而且有根区间[a2,b2]长度是有根区间[a1,b1]
8
1.89328921
3
1.89333233
9
1.89328920
4
1.89329722
10
1.89328920
5
1.89329069
…
……
由计算结果有,x10=x9,因此可取x10=1.89328920.
方程也可改写成x=(x3-3)/2, 建立迭代格式
xk+1=(xk3-3)/2 , k=0,1,2,… 仍取初值x0=1.9, 则有 x1=1.9295, x2=2.0917, x3=3.0760, x4=13.0529 可见,xk,此迭代格式是发散的.
定理4.3 若(x)为I上的压缩映射, 则(x)在I上存 在唯一的一个不动点,且对任何x0I,由迭代格式
xk+1=(xk) , k=0,1,2,… 产生的序列{xk}收敛于(x)的不动点.
证 不妨设I=[a,b],作函数(x)=(x)-x,由于xI时, (x)I,则(a)=(a)-a0,(b)=(b)-b0,由(x)的连 续性, 必存在I, 使()=()-=0,即=(),就是 (x)的不动点.
个时,也只能求出其中的一个根。另外,若方程(x)=0在
区间[a,b]有重根时,也未必满足(a)(b)<0. 而且由于
二分法收敛的速度不是很快,一般不单独使用,而多用于为
其他方法提供一个比较好的初始近似值.
§2 简 单 迭 代 法
§2.1 简单迭代法的一般形式 首先把方程(x)=0改写成等价(同解)形式
取x0=1.5,由于(x0)=2.375,得新有根区间[1,1.5],
x1=1.25,由于(x1)=-0.0468,得新有根区间[1.25,1.5],
x2=1.375,由于(x2)=1.0996,得新有根区间[1.25,1.375],
x3=1.3…12…5,…由…于…(…x3…)=…0.…51…1,…得…新…有…根…区…间…[1….2…5,.1.3125],
x9=1.254882813,得有根区间[1.254882813,1.255859375],
x10=1.255371094, (x10)=-0.000105285
取x10=1.255371094作为方程根的近似值,且有
| x10
|
b10
a10 2
1.255859375
1.254882813 2
y 设(x)在区间[a,b]上连续 且(a)(b)<0 .
y=(x)
记a0=a,b0=b,计算 x0
a0
2
b0
,
若|(x0)|< ,则取x0 ;否则, 0
a
x1 x0
b
x
若(a0)(x0)<0,取a1=a0,b1=x0 ;
若(a0)(x0)>0,取a1=x0,b1=b0 ,得到新的有根区间[a1,b1],
长度的一半.一直进行下去,直到求出有根区间[ak,bk].
此时,再计算
xk
ak
bk . 2
或者有|(xk)|<
,或者有
xk
bk
ak 2
bk 1 ak 1 22
b0 a0 2 k 1
ba
2 k 1
可见,k趋向无穷大时,xk收敛于 .
而且,若要|xk-|< ,只要
ห้องสมุดไป่ตู้
b a
2 k 1
或者
k
log 2
b
a
1
此时可取近似根xk .
在计算过程中,若出现|(xk)|<1,或bk-ak<2 .则可取 xk作为方程(x)=0的近似根,终止运算.
例1 用二分法求x3+4x-10=0在区间[1,2]内根的近似
值,并估计误差.
解 这里(x)=x3+4x-7, (1)(2)=-18<0,而且 (x)=3x2+4>0,所以(x)=0在[1,2]区间有唯一根.
例2 求方程x3-2x-3=0在[1,2]内的根.
解 改写原方程为等价方程 x 3 2x 3 ,建立迭代
格式
xk1 3 2xk 3
如果取初值x0=1.9 ,计算得
, k 0,1,2,
k
xk
k
xk
0
1.9
6
1.89328947
1
1.89453647
7
1.89328925
2
1.89352114
定理4.1 若(x)为I上的压缩映射,则(x)在I上连 续. 定理4.2 若(x)为I到自身上的映射,且(x)C1(I), |(x)| L<1,则(x)为I上的压缩映射.
证 对任意x1,x2I,有 |(x2)-(x1)|=|()||x2-x1| L|x2-x1|
定义4.3 若(x)为I到自身上的映射,且I满足,= (),则称为(x)的不动点.
§2.2 简单迭代法的收敛条件 定义4.1 设(x)为定义在区间I上的函数, 且对任何 xI,均有(x)I,则称(x)为I到自身上的映射.
定义4.2 设(x)为I到自身上的映射,且存在0<L<1, 使对任何x1,x2I,有|(x2)-(x1)| L|x2-x1|,则称(x) 为I上的压缩映射, L称为Lipschitz常数.