当前位置:文档之家› 非线性方程的二分法

非线性方程的二分法


使得 f ( x * ) ? 0,即[a,b]内至少有方程(2.1)的一个根,称[a,b]为f(x)
的一个含根区间。并且有
? x* ? a ? b 2
b? a 2
a? b
a x* 2
b
3 主要思想(基本思想) 把含根区间不断缩短,使含根区间之间含有一个满足误差
要求的近似解。
4 具体过程(方法)
首先,令a1 ? a,b1 ? b, h ? b ? a,
) 即序列 {x k
且 f ( x* ) ? 0.
? , 就有 x* ?
}?k ? xn
0
?
?.
此时可计算或估计二分法执行的次数 k .
?
事实上,由 b ?
2n
1
N ?n?
[ln(
ln 2
a
b
?
?
?,
a)?
两边取对数得 ln(b ?
ln b ? a
ln ?] ? ? , 可取
ln 2
a) ? N
n ?[
ln 2 ? ln ?
ln b ? a
? ]?
ln 2
1.ቤተ መጻሕፍቲ ባይዱ
优点: 1.对函数要求低 (只要连续,在两个端点异号)。
2.二分法是收敛的。
缺点:1.收敛速度不快,仅与公比为 1 的等比级数的收敛速度
2
相同。即是线性收敛的。 2.不能用于求偶重根、复根;不能推广到多元方程组求解;
例 x 2 ? 0 在 [? 1 ,1] x2 ? 1 ? 0 a
(a+b)/2
b
x ? a ? f (a ) ??b ? a ?
f (b) ? f (a)
注:试位法每次迭代比二分法多算一次乘法,而且不保证 收敛。
例2.1 用二分法求 x 3 ? 4 x 2 ? 10 ? 0在(1,2)内的根,要 求绝对误差不超过 1 ? 10? 2
2
解: f(1)=-5<0 f(2)=14>0 f (1.5)>0 f (1.25)<0 f(1.375)>0 f(1.313)<0 f(1.344)<0 f(1.360)<0 f(1.368)>0
b
不能求出所有根,(即有可能漏根)。
例 如图
x
注1 :改进的方法,
该点可求出,但漏掉了四个点
试位法(比例求根法)。
? 试位法 /* Regula Falsi Method */
Is it really better than Bisection Method?
(b, f (b))
a x*
(a, f (a))
x6 ? 1.360 x7 ? 1.368 x8 ? 1.364
若 取 近 似 根x * ? x 8 ? 1 .364 ,则
|
x
?
x*
|?
1 (1.368 ?
0,1,? , k , ? 0,1,? , k
.
(2.2)
对区间 [ak , bk ], (1) 找中点:令
xk
?
1 2
(
a
k
? bk );
ak
(2) 计算 : f k ? f ( x k () 即中点的函数值) ;
(3) 生成含根区间:
ak
x* ? xk xk
bk x
bk
若 f ( x k ) ? 0,则 x * ? x k , 如图
? ? ?
(1) [ ak ? 1 , bk ? 1 ] ? (2) bk ?1 ? ak ?1 ?
[ak ,bk ] h 2k
ak?1 ? ak bk?1 ? xk
x
? ?
(3)
f (ak?1) ? f
(bk ? 1 ) ?
0
? 含根区间 [ ak ? 1,bk ? 1] 满足(2.2)式,即
? (1) [ ak ? 1 , bk ? 1 ] ? [ ak , bk ]
有根区间 -(1,2)+ (1,1.5) (1.25,1.5) (1.25,1.375) (1.313,1.375) (1.344,1.375) (1.360,1.375) (1.360,1.368)
中点 x n
x 1 ? 1.5 x2 ? 1.25 x3 ? 1.375
x4 ? 1.313 x5 ? 1.344
一般的, 设已得含根区间 [ ai ,bi ],i ? 0,1,? , k ,满足:
? (1) [ai , bi ] ? [ai ? 1 , bi ? 1 ], i ? 1,2,? , k ,
? ? ? ?
(2) bi (3) f
? ai (ai )
? ?f
h
2i?1 (bi )
, ?
i? 0, i
ak ?1 ? xk bk?1 ? bk x
若f ( xk ) ? f (ak ) ? 0, 取ak ?1 ? xk ,bk ? 1 ? bk ,如图
若f ( xk ) ? f (ak ) ? 0,取ak ? 1 ? ak ,bk ? 1 ? xk ,如图 ak
bk
生成含根区间[ ak ?1 ,bk ? 1] ,满足(2.2)式,即
§2 非线性方程的二分法(Bisection Method)
2.1 二分法 (对分法或分半法 )
考虑非线性方程 f ( x ) ? 0
(2.1)
1 条件 f ( x ) ? C[a, b], 且f (a) ? f (b) ? 0
2 主要依据 由连续函数介值定理,则至少存在某个 x * ? (a, b),
生成含根区间[a2 , b2 ]. [a2 , b2 ]满足下式:
? (1) [a2 , b2 ] ? [a1 , b1 ]
?
h
? ?
(2) b2 ? a2 ? 2
? (3) f (a2 ) ? f (b2 ) ? 0
以[a 2 , b2 ]取代 [a1 , b1 ], 继续以上过程
, 得 [a 3 , b3 ]?? .
(1)
找中点:令
x1 ?
1 2 (a1 ? b1 );
( 2) 计算: f 1 ? f ( x 1 )(即中点的函数值 );
(3) 生成含根区间:
若 f ( x 1 ) ? 0,则 x * ? x 1 ,
若f ( x1 ) ? f (a1 ) ? 0, 取a2 ? x1, b2 ? b1 ,
若f ( x1 ) ? f (a1 ) ? 0, 取a2 ? a1 , b2 ? x1,
ak ? xk,bk ? xk
?
h
? ?
(2) bk ? 1 ? ak ? 1 ? 2k
? (3 ) f (a k ? 1 ) ? f (bk ? 1 ) ? 0
而{ak }单调上升,有上界 x *, {bk }单调下降,有下界 x * 。
? 收敛于说f明(近x:)似对? 解0于的序给一列定个{的x根误k }?k差x?*0界., 其即? 极? x0限k,?只为x*要x?*2,h(bkk2??n?a0??,
相关主题