第二章 非线性方程的数值解法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§2 迭代法的理论 /* Theory of Iteration Method*/
一、不动点迭代 /*Fixed-Point Iteration*/
等价变换
f (x) = 0
x = g (x)(迭代函数)
f (x) 的根x
g (x) 的不动点 x
xk1 g( xk ) k 0,1, 2,
(*)
y f (x)
a
x*
o
b
x
基本定理
Th2.如1 果函数 在f ( x) 上连[a续, b],且
则至少有一个数 使得 f ( ),若0同时
在 f内(存x)在且[a保, b]持定号,即
(或
在 f 内( x唯) 一0 。
[a,b]
f (a) f (b) 0 的一f (阶x)导数
)f则(这x)样 的0
Step 4 If |x| < TOL , STOP; Output the solution x.
Step 5 If x*f(a)<0 , Set b=x; Else Set a=x;
Step 6 Set k=k+1; Compute x=f((a+b)/2);Go To Step 3 ;
Step 7 Output the solution of equation: x; STOP.
由二分法的过程可知:
1、 a,b a1,b1 ak ,bk
f ak f bk 0, x ak ,bk
2、
1 bk ak 2
bk1 ak1
1 2k b a
3、
误差
xk1
分析
ak
bk 2
,且
x xk1
源自文库
1 2k 1
b
a
,
k
1, 2,
Th2.2
4、对分次数的计算公式:
2
x*
x
二分法算法
给定区间[a,b] ,求f(x)=0 在该区间上的根x. 输入: a和b; 容许误差 TOL; 最大对分次数 Nmax. 输出: 近似根 x. Step 1 Set k = 1; Step 2 Compute x=f((a+b)/2); Step 3 While ( k Nmax) do steps 4-6
找到了三次、四次方程的求根公式,但直到19世纪才证明大于 等于5次的一般代数方程式不能用代数公式求解,而对于超越 方程就复杂的多,如果有解,其解可能是一个或几个,也可能 是无穷多个。一般也不存在根的解析表达式。因此需要研究数 值方法求得满足一定精度要求的根的近似解。
求方程 f ( x) 0 几何意义 y
第二章 非线性方程的数值解法
/* Numerical Solutions of Nonlinear Equations*/
本章主要内容: 1、二分法(重点) 2、不动点迭代的构造及其收敛性判定 3、Newton(重点)和Steffensen迭代 4、割线法 5、非线性方程组的迭代解法
历史背景
n 代数方程的求根问题是一个古老的数学问题。理论上, 次 n 代数方程在复数域内一定有 个根(考虑重数)。早在16世纪就
1、x x x3 4x2 10 即 g( x) x x3 4x2 10
2、4x2 10 x3
x1
10 x3
1 2

gx 1
10 x3
1 2
2
2
1
1
3、x2 10 4x x
x
10 x
4
x
2

g
x
10 x
4
x
2
1
4、x
10 4 x
2
1

g
x
10 4 x
ln 2
4.64
n5
优点
①简单; ② 对f (x) 要求不高(只要连续即可) .
缺点
①无法求复根及偶重根 ②收敛慢
注:用二分法求根,最好先给出 f (x) 草图以确定根的大概 位置。或用搜索程序,将[a, b]分为若干小区间,对每一个 满足 f (ak)·f (bk) < 0 的区间调用二分法程序,可找出区间 [a, b]内的多个根,且不必要求 f (a)·f (b) < 0 。
2
5、x x x3 4x 2 10 3x2 8x
f (x)

g(x) x f ( x)
取 x0 1.5 计算结果如下:
法1
法2
法3
x1 0.875
x1 1.28695 x1 0.81650
x2 6.732
x2 1.40254 x2 2.99691
x3 469.720 x3 1.34546 x4 1.0275108 x4 1.37517
x xk1
1 2k 1
b a 令
ln b a ln
k
1
ln 2
例1:用二分法求方程 x3 x 在1 区0间
限为 ,问至少1需0对2 分多少次?
解:
a 1,b 1.5, 102;
上[的1,1根.5,] 误差
n ln(b a) ln 1
ln 2
ln(1.5 1) ln102
1
从一个初值 x0 出发,计算 x1 = g(x0), x2 = g(x1), …,

xk+1 = g(xk), … 若
xk
k0
收敛,即存在 x* 使得

lim
k
xk
x *,且
g
连续,则由
lim
k
xk 1
l可im知g
k
x*k
=
g(x* ),即x* 是 g 的不动点,也就是f 的根。
如看何起判来定很这简种单方,法令人 有是点收不敛相的信呢,?那么问 题是什么呢?
几何意义
y
p1 p0
y=x y=g(x)

x
x0
x1 x*
y
y=g(x) y = x
p0
p1
x x1 x0 x*
y p0
y=x

y=g(x) p1
x0
x*
y
y=g(x) p0
x x1
y=x
p1
x x0 x* x1
例2:已知方程 x3 4x2 10 0在[1, 2]上有一个根(正根)
下面选取5种迭代格式:
[a1, b1] [a2 , b2 ] [a3, b3]
以 此 类 推
y
a3
a
2
b
x3
a1
oa
•••
x
y f (x) bx
a2
a1
b1 2
x2
x1
a
2
b
b1
b2
b3
W终h止en法to则st?op?
a
xa1 x*
xb2 b
xk1 xk ε1 或 f ( xk ) ε2
不能保证 x 的精 度
§1 二分法 /* Bisection Method */
原理:若 f C[a, b],且 f (a) ·f (b) < 0,则 f 在 (a, b) 上至 少有一实根。
基本思想:逐步将区间分半,通过判别区间端点函数值的符号, 进一步搜索有根区间,将有根区间缩小到充分小,从而求
出满足给定精度的根 x的近似值。
相关文档
最新文档