第六章 非线性方程的迭代法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y = ϕ( x) 又 x = ϕ( x) 的解⇔ 的解 y = x
(两条线的交点) 两条线的交点)
迭代法的几何意义
y
y
y=x
y = ϕ ( x)
y = ϕ ( x)
x
xபைடு நூலகம்
迭代法的几何意义
y
y=x
y
y=x
y=ϕ(x)
y=ϕ(x)
0
x1
x3 x5ξ x4 x2 x0
x
0
x3 x1 ξ x0 x2
求根问题包括:根的存在性、 求根问题包括:根的存在性、根的范围 和根的精确化。 和根的精确化。
引
例1
例
求 程 (x) = x3 −11x2 + 38x − 41= 0 有 方 f 的 根 间 区 .
解
30 20
描图或逐步搜索法找有根区间
f[x_]:=x^3-11x^2 +38x-41 Plot[f[x],{x,1,7}] NSolve[f[x]==0,x]
k→∞
* *
*
x ϕ 且 则称迭代方程收敛, 则称迭代方程收敛, = ϕ( x )为 ( x)的不动
x . 点,称 k+1 = ϕ( xk )为不动点迭代法
迭代法的几何意义
二、迭代法的几何意义
因为: f 因为: ( x) = x −ϕ( x)
所以: 所以:f ( x) = 0 的解⇔ x = ϕ( x) 的解
只要二分足够多次(即充分大), 只要二分足够多次( k充分大),
则有 x*−xk < ε
ε . 这里 为预定的精度
区间二分法
对分区间次数的估计
bn − an b − a 由 x*−xn ≤ = n+1 < ε 2 2
不难得出: 不难得出:
ln( b − a) − lnε n> −1 ln 2
区间二分法例题
的求根问题
一般提法与结论
x f 若 f ( x*) = 0, 则 称为函数 ( x)的零点
*
若 f ( x) = ( x − x* )m g( x), m为正整数, g 其中 为正整数,且 ( x* ) ≠ 0. m 时 x 为单根, 则: (1) 当 = 1 ,称 *为单根, (2) 当 > 1称 *为 重根,或 *为 ( x)的 重零点 m x m重根, x f m . x f m , g 充分光滑, 若 *是 ( x)的 重零点且 ( x)充分光滑,则 f ( x* ) = f ′( x* ) = ⋯= f (m−1) ( x* ) = 0, f (m) ( x* ) ≠ 0.
简单迭代法程序
Do[x1=(x0+1)^(1/3);Print["第",n,"次迭代 第 次迭代 x",n,"=",x1];x0=x1,{n,1,7}] Print["方程 方程f[x]=0的精确实根为: 的精确实根为: 方程 的精确实根为 ",N[Solve[f[x]==0,x],10][[1]]]
10
2
3
- 10
Out[13]=
8 <8 <8 <
4 5 6 7
x ® 2.19806 , x ® 3.55496 , x ® 5.24698
[1 方程的有根区间为 .5,2.5],[3,4],[5,6].
引例求解方法
搜索法: 搜索法:
先求出使 的点, f ′( x) = 0 的点,然后将这些点
放在定义域内,将定义域分成几部分,即可知道 放在定义域内,将定义域分成几部分, 方程的有根区间。 方程的有根区间。
第六章 非线性方程的解法
引 言
第一节 对分区间法
线性方程 本章主要讨论单变量非 f ( x) = 0 的求根问题
本章重点研究对象
多项式方程 f ( x) = a0 xn + a1 xn−1 +⋯+ an−1 x + an (a0 ≠ 0), a . 其中系数 i (i = 0,1,⋯, n)为实数
x4
x
简单迭代法例题
例3
求方程
f ( x) = x3 − x − 1 = 0
*
x x 在 0 = 1.5 附近的根 .
解(迭代法) 迭代法)
设方程改写成下列形式
x = 3 x +1
据此建立迭代公式
xk+1 = 3 xk + 1
(k = 0,1,2,⋯ ).
Mathematica程序
f[x_]:=x^3-x-1; Print["f[x]图象如下:"] 图象如下: 图象如下 Plot[f[x],{x,-2,2}] x0=1.5;
n次方程在复数域有且只 n个根 有
一般提法与结论
n , 当 ≥ 5时 方程
f ( x) = a0 xn + a1 xn−1 + ⋯+ an−1 x + an (a0 ≠ 0),
,因此,通常对 ≥ 3的 n 的根不能用公式表示 因此,
连续函数方程 多项式方程求根与一般
f ( x) = 0一样多可采用迭代法求 . 根
例2
求方程 f ( x) = x3 − x −1 = 0在区间 [1 1.5] 内的 , , 2位 一个实根 要求准确到小数点后第 .
解(二分法) a = 1.0, b = 1.5, f (a) < 0, f (b) > 0 二分法)
x 取中点 0 = 1.25 将区间二等分, ,将区间二等分,
∵ f ( x0 ) < 0,∴令 1 = x0 = 1.25, b1 = b = 1.5, a
Print "方程的精确解为 N Solve f x Š 0 , 10 ",
@D D @ @A @ D 8 <D H L L @ @ D @D A @ @ @D D DE E @ @ @ D D D@ D E A
x0 ^ 2 + 10 ; If Abs x1 - x0 < e, Break Print "迭代第 i, "次的近似解为 : x= ", N x1, 10 , ", 次的近似解为: x0 = x1; :", ", "x", i, "与 x", i - 1, "的误差为 N Abs x1 - x0 , 10 ; 3
x = ϕ(x).
x f x 反之亦然, 若要求 满足 ( x ) = 0,则 = ϕ( x );反之亦然,
* * * *
x 称 *为函数的一个不动点
f 求 (x)的零点等价于求不动点
基本概念
按下列公式反复迭代
xk+1 = ϕ( xk )
(k = 0,1⋯ )
ϕ(x)称为迭代函数
{ 若相应的序列 xk }: lim xk = x
1
-2
Out[159]=
-1 -1 -2 -3 -4
1
2
第1次迭代x1= 1.35721 第2次迭代x2= 1.33086 第3次迭代x3= 1.32588 第4次迭代x4= 1.32494 第5次迭代x5= 1.32476 第6次迭代x6= 1.32473 第7次迭代x7= 1.32472
方程f x = 0的精确实根为: x ® 1.324717957
第二节 简单迭代法
一、迭代法及其收敛性概念 基本思想 构造不动点方程,以求得近似根。 构造不动点方程,以求得近似根。
)=0变换为其等价形式 即由方程f(x)=0变换为其等价形式x=ϕ(x), 然后建立迭代格式, k+ 然后建立迭代格式,xk+1 = ϕ( xk ) 由迭代格式可求得数列{ 当给定初值x0 后, 由迭代格式可求得数列{xk}。 此数列可能收敛,也可能不收敛。如果{ 此数列可能收敛,也可能不收敛。如果{xk}收敛于 x*,则它就是方程的根。因为: 则它就是方程的根。因为:
x1与x0的误差为:0.1326530612 x2与x1的误差为:0.05356723419 x3与x2的误差为:0.02174506194 x4与x3的误差为:0.008811305529 x5与x4的误差为:0.003573216400 x6与x5的误差为:0.001448586732 x7与x6的误差为:0.0005873332363 x8与x7的误差为:0.0002381236323 x9与x8的误差为:0.00009654491801 x10与x9的误差为:0.00003914287239 x11与x10的误差为:0.00001587001891
[a 得新的有根区间 1, b1]
如此二分下去即可。 如此二分下去即可。现估计二分次数
x − xn < 0.005 ⇒ n ≥ 5.64
*
所以二分6次可达到要求。 所以二分6次可达到要求。
区间二分法程序
5 4 3 2 1
0.5
1.0
1.5
2.0
-1
区间二分法分析
区间二分法的分析 优点: 优点: 对函数要求低,计算简单 对函数要求低,计算简单; 缺点: 缺点: 收敛慢且对有偶数重根的情况不适合。 收敛慢且对有偶数重根的情况不适合。
二、区间二分法
上连续且单调, f 设 f ( x) 在[a, b]上连续且单调, (a)⋅ f (b) < 0 则在 , [a, b] 有且仅有一个根。 有且仅有一个根。
根存在,但未必好求, 可用对分法: 根存在,但未必好求, 可用对分法:
不妨设 f (a) < 0, f (b) > 0
a+b a +b a +b 否则: (1)若 f , 否则:若f = 0 则根为x = < 0, 2 2 2 a+b a+b b , a1 = a. 令 a1 = ,1 = b 反之 b1 = 2 2
方程的精确解为 x ® 1.594562117
8
<
In[167]:=
Clear f, x1, x0 f x_ := x ^3 + 10 x - 20;
e = 10- 5 ; x0 = 2; Plot f x , x, - 3, 4 For i = 1, i £ 10, i ++ , x1 = x0^3 + 11 x0 - 20; If Abs x1 - x0 < e, Break Print "迭代第", i, "次的近似解为: x", i, "= ", N x1, 10 , 次的近似解为: " x0 = x1;
@D
8
<
简单迭代法例题
例4
f ( x) = x3 + 10x − 20 = 0 求方程
x x 在 0 = 1.5 附近的根 * , 要求精确到六位小数
解
设方程分别改写成下列形式
3
(1) x = x + 11x − 20
据此建立迭代公式
(2)
20 x= 2 x + 10
(1) xn+1 = xn + 11xn − 20 20 (2) xn+1 = 2 xn +10
x= 1.632653061 x= 1.579085827 x= 1.600830889 x= 1.592019583 x= 1.595592800 x= 1.594144213 x= 1.594731546 x= 1.594493423 x= 1.594589968 x= 1.594550825 x= 1.594566695
(2) 对[a1, b1]区间重复(1)的计算,并产生[a2 , b2 ],⋯ 的计算,
区间二分法
b−a b1 − a1 b − a b1 − a1 = , b2 − a2 = = 2 2 2 2
考察有根区间 , b] [a ,
a
a1 = a
a1 + b1 2
b1 =
a+b 2
b
x
如此反复二分下去, 可得出一系列有根区间 如此反复二分下去,即 [a, b] ⊃ [a1, b1] ⊃ [a2 , b2 ] ⊃ ... ⊃ [ak , bk ] ⊃ ...,
3
(n = 0,1,2,⋯ ).
In[83]:=
Clear f, x1, x0 f x_ := x ^3 + 10 x - 20; e = 10-5 ; M = 100; 3 x0 = ; 2 Plot f x , x, - 3, 4 For i = 1, i £ M, i ++ , x1 = 20 "
;
50
-3
-2
-1
1
2
3
4
- 50
迭代第1次的近似解为: 迭代第2次的近似解为: 迭代第3次的近似解为: 迭代第4次的近似解为: 迭代第5次的近似解为: 迭代第6次的近似解为: 迭代第7次的近似解为: 迭代第8次的近似解为: 迭代第9次的近似解为: 迭代第10次的近似解为: 迭代第11次的近似解为:
x* = limxk+1= limϕ( xk ) = ϕ(lim xk ) = ϕ( x* )
k→∞ k→∞ k→∞
k充分大时, x 故 充分大时, k可作为方程根的近似值
基本概念 按上述方法构造迭代格式来求解方程的方法称为 简单迭代法或逐次迭代法。 简单迭代法或逐次迭代法。
: (1)不动点迭代法: (1)不动点迭代法:将方程 f ( x) = 0 改写为 不动点迭代法
其中
k 当 →∞时 [ak , bk ]的长度 k − ak = (b − a) / 2k →0, b
于一点 * , 该点显然就是所求的根 x . 即这些区间最终必收敛
区间二分法
a
a1 = a
a1 + b1 2
a+b b1 = 2
b
x
由于 bk − ak b − a x *−xk ≤ = k+1 , 2 2
(两条线的交点) 两条线的交点)
迭代法的几何意义
y
y
y=x
y = ϕ ( x)
y = ϕ ( x)
x
xபைடு நூலகம்
迭代法的几何意义
y
y=x
y
y=x
y=ϕ(x)
y=ϕ(x)
0
x1
x3 x5ξ x4 x2 x0
x
0
x3 x1 ξ x0 x2
求根问题包括:根的存在性、 求根问题包括:根的存在性、根的范围 和根的精确化。 和根的精确化。
引
例1
例
求 程 (x) = x3 −11x2 + 38x − 41= 0 有 方 f 的 根 间 区 .
解
30 20
描图或逐步搜索法找有根区间
f[x_]:=x^3-11x^2 +38x-41 Plot[f[x],{x,1,7}] NSolve[f[x]==0,x]
k→∞
* *
*
x ϕ 且 则称迭代方程收敛, 则称迭代方程收敛, = ϕ( x )为 ( x)的不动
x . 点,称 k+1 = ϕ( xk )为不动点迭代法
迭代法的几何意义
二、迭代法的几何意义
因为: f 因为: ( x) = x −ϕ( x)
所以: 所以:f ( x) = 0 的解⇔ x = ϕ( x) 的解
只要二分足够多次(即充分大), 只要二分足够多次( k充分大),
则有 x*−xk < ε
ε . 这里 为预定的精度
区间二分法
对分区间次数的估计
bn − an b − a 由 x*−xn ≤ = n+1 < ε 2 2
不难得出: 不难得出:
ln( b − a) − lnε n> −1 ln 2
区间二分法例题
的求根问题
一般提法与结论
x f 若 f ( x*) = 0, 则 称为函数 ( x)的零点
*
若 f ( x) = ( x − x* )m g( x), m为正整数, g 其中 为正整数,且 ( x* ) ≠ 0. m 时 x 为单根, 则: (1) 当 = 1 ,称 *为单根, (2) 当 > 1称 *为 重根,或 *为 ( x)的 重零点 m x m重根, x f m . x f m , g 充分光滑, 若 *是 ( x)的 重零点且 ( x)充分光滑,则 f ( x* ) = f ′( x* ) = ⋯= f (m−1) ( x* ) = 0, f (m) ( x* ) ≠ 0.
简单迭代法程序
Do[x1=(x0+1)^(1/3);Print["第",n,"次迭代 第 次迭代 x",n,"=",x1];x0=x1,{n,1,7}] Print["方程 方程f[x]=0的精确实根为: 的精确实根为: 方程 的精确实根为 ",N[Solve[f[x]==0,x],10][[1]]]
10
2
3
- 10
Out[13]=
8 <8 <8 <
4 5 6 7
x ® 2.19806 , x ® 3.55496 , x ® 5.24698
[1 方程的有根区间为 .5,2.5],[3,4],[5,6].
引例求解方法
搜索法: 搜索法:
先求出使 的点, f ′( x) = 0 的点,然后将这些点
放在定义域内,将定义域分成几部分,即可知道 放在定义域内,将定义域分成几部分, 方程的有根区间。 方程的有根区间。
第六章 非线性方程的解法
引 言
第一节 对分区间法
线性方程 本章主要讨论单变量非 f ( x) = 0 的求根问题
本章重点研究对象
多项式方程 f ( x) = a0 xn + a1 xn−1 +⋯+ an−1 x + an (a0 ≠ 0), a . 其中系数 i (i = 0,1,⋯, n)为实数
x4
x
简单迭代法例题
例3
求方程
f ( x) = x3 − x − 1 = 0
*
x x 在 0 = 1.5 附近的根 .
解(迭代法) 迭代法)
设方程改写成下列形式
x = 3 x +1
据此建立迭代公式
xk+1 = 3 xk + 1
(k = 0,1,2,⋯ ).
Mathematica程序
f[x_]:=x^3-x-1; Print["f[x]图象如下:"] 图象如下: 图象如下 Plot[f[x],{x,-2,2}] x0=1.5;
n次方程在复数域有且只 n个根 有
一般提法与结论
n , 当 ≥ 5时 方程
f ( x) = a0 xn + a1 xn−1 + ⋯+ an−1 x + an (a0 ≠ 0),
,因此,通常对 ≥ 3的 n 的根不能用公式表示 因此,
连续函数方程 多项式方程求根与一般
f ( x) = 0一样多可采用迭代法求 . 根
例2
求方程 f ( x) = x3 − x −1 = 0在区间 [1 1.5] 内的 , , 2位 一个实根 要求准确到小数点后第 .
解(二分法) a = 1.0, b = 1.5, f (a) < 0, f (b) > 0 二分法)
x 取中点 0 = 1.25 将区间二等分, ,将区间二等分,
∵ f ( x0 ) < 0,∴令 1 = x0 = 1.25, b1 = b = 1.5, a
Print "方程的精确解为 N Solve f x Š 0 , 10 ",
@D D @ @A @ D 8 <D H L L @ @ D @D A @ @ @D D DE E @ @ @ D D D@ D E A
x0 ^ 2 + 10 ; If Abs x1 - x0 < e, Break Print "迭代第 i, "次的近似解为 : x= ", N x1, 10 , ", 次的近似解为: x0 = x1; :", ", "x", i, "与 x", i - 1, "的误差为 N Abs x1 - x0 , 10 ; 3
x = ϕ(x).
x f x 反之亦然, 若要求 满足 ( x ) = 0,则 = ϕ( x );反之亦然,
* * * *
x 称 *为函数的一个不动点
f 求 (x)的零点等价于求不动点
基本概念
按下列公式反复迭代
xk+1 = ϕ( xk )
(k = 0,1⋯ )
ϕ(x)称为迭代函数
{ 若相应的序列 xk }: lim xk = x
1
-2
Out[159]=
-1 -1 -2 -3 -4
1
2
第1次迭代x1= 1.35721 第2次迭代x2= 1.33086 第3次迭代x3= 1.32588 第4次迭代x4= 1.32494 第5次迭代x5= 1.32476 第6次迭代x6= 1.32473 第7次迭代x7= 1.32472
方程f x = 0的精确实根为: x ® 1.324717957
第二节 简单迭代法
一、迭代法及其收敛性概念 基本思想 构造不动点方程,以求得近似根。 构造不动点方程,以求得近似根。
)=0变换为其等价形式 即由方程f(x)=0变换为其等价形式x=ϕ(x), 然后建立迭代格式, k+ 然后建立迭代格式,xk+1 = ϕ( xk ) 由迭代格式可求得数列{ 当给定初值x0 后, 由迭代格式可求得数列{xk}。 此数列可能收敛,也可能不收敛。如果{ 此数列可能收敛,也可能不收敛。如果{xk}收敛于 x*,则它就是方程的根。因为: 则它就是方程的根。因为:
x1与x0的误差为:0.1326530612 x2与x1的误差为:0.05356723419 x3与x2的误差为:0.02174506194 x4与x3的误差为:0.008811305529 x5与x4的误差为:0.003573216400 x6与x5的误差为:0.001448586732 x7与x6的误差为:0.0005873332363 x8与x7的误差为:0.0002381236323 x9与x8的误差为:0.00009654491801 x10与x9的误差为:0.00003914287239 x11与x10的误差为:0.00001587001891
[a 得新的有根区间 1, b1]
如此二分下去即可。 如此二分下去即可。现估计二分次数
x − xn < 0.005 ⇒ n ≥ 5.64
*
所以二分6次可达到要求。 所以二分6次可达到要求。
区间二分法程序
5 4 3 2 1
0.5
1.0
1.5
2.0
-1
区间二分法分析
区间二分法的分析 优点: 优点: 对函数要求低,计算简单 对函数要求低,计算简单; 缺点: 缺点: 收敛慢且对有偶数重根的情况不适合。 收敛慢且对有偶数重根的情况不适合。
二、区间二分法
上连续且单调, f 设 f ( x) 在[a, b]上连续且单调, (a)⋅ f (b) < 0 则在 , [a, b] 有且仅有一个根。 有且仅有一个根。
根存在,但未必好求, 可用对分法: 根存在,但未必好求, 可用对分法:
不妨设 f (a) < 0, f (b) > 0
a+b a +b a +b 否则: (1)若 f , 否则:若f = 0 则根为x = < 0, 2 2 2 a+b a+b b , a1 = a. 令 a1 = ,1 = b 反之 b1 = 2 2
方程的精确解为 x ® 1.594562117
8
<
In[167]:=
Clear f, x1, x0 f x_ := x ^3 + 10 x - 20;
e = 10- 5 ; x0 = 2; Plot f x , x, - 3, 4 For i = 1, i £ 10, i ++ , x1 = x0^3 + 11 x0 - 20; If Abs x1 - x0 < e, Break Print "迭代第", i, "次的近似解为: x", i, "= ", N x1, 10 , 次的近似解为: " x0 = x1;
@D
8
<
简单迭代法例题
例4
f ( x) = x3 + 10x − 20 = 0 求方程
x x 在 0 = 1.5 附近的根 * , 要求精确到六位小数
解
设方程分别改写成下列形式
3
(1) x = x + 11x − 20
据此建立迭代公式
(2)
20 x= 2 x + 10
(1) xn+1 = xn + 11xn − 20 20 (2) xn+1 = 2 xn +10
x= 1.632653061 x= 1.579085827 x= 1.600830889 x= 1.592019583 x= 1.595592800 x= 1.594144213 x= 1.594731546 x= 1.594493423 x= 1.594589968 x= 1.594550825 x= 1.594566695
(2) 对[a1, b1]区间重复(1)的计算,并产生[a2 , b2 ],⋯ 的计算,
区间二分法
b−a b1 − a1 b − a b1 − a1 = , b2 − a2 = = 2 2 2 2
考察有根区间 , b] [a ,
a
a1 = a
a1 + b1 2
b1 =
a+b 2
b
x
如此反复二分下去, 可得出一系列有根区间 如此反复二分下去,即 [a, b] ⊃ [a1, b1] ⊃ [a2 , b2 ] ⊃ ... ⊃ [ak , bk ] ⊃ ...,
3
(n = 0,1,2,⋯ ).
In[83]:=
Clear f, x1, x0 f x_ := x ^3 + 10 x - 20; e = 10-5 ; M = 100; 3 x0 = ; 2 Plot f x , x, - 3, 4 For i = 1, i £ M, i ++ , x1 = 20 "
;
50
-3
-2
-1
1
2
3
4
- 50
迭代第1次的近似解为: 迭代第2次的近似解为: 迭代第3次的近似解为: 迭代第4次的近似解为: 迭代第5次的近似解为: 迭代第6次的近似解为: 迭代第7次的近似解为: 迭代第8次的近似解为: 迭代第9次的近似解为: 迭代第10次的近似解为: 迭代第11次的近似解为:
x* = limxk+1= limϕ( xk ) = ϕ(lim xk ) = ϕ( x* )
k→∞ k→∞ k→∞
k充分大时, x 故 充分大时, k可作为方程根的近似值
基本概念 按上述方法构造迭代格式来求解方程的方法称为 简单迭代法或逐次迭代法。 简单迭代法或逐次迭代法。
: (1)不动点迭代法: (1)不动点迭代法:将方程 f ( x) = 0 改写为 不动点迭代法
其中
k 当 →∞时 [ak , bk ]的长度 k − ak = (b − a) / 2k →0, b
于一点 * , 该点显然就是所求的根 x . 即这些区间最终必收敛
区间二分法
a
a1 = a
a1 + b1 2
a+b b1 = 2
b
x
由于 bk − ak b − a x *−xk ≤ = k+1 , 2 2