第二章非线性方程的解法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
二分法的精度控制
bk ak 事后估计:每计算一次判别是否成立 2 一旦满足,计算即告结束.
ln b a ln 事先估计:由 bk ak b a k 2 ln 2 2k
这样可以事先确定计算次数k. 二分法的一种改进称0.618法: xk ak 0.618 bk ak
显然两个方程 u x 0, f x 0 有相同的解 这两种方法在重根的情况下仍有二阶收敛的速度
12
牛顿法的几种常用改进
1.简化牛顿法
f xk xk 1 xk f x0
避免了每次迭代求导数值,但收敛速度只有一阶. xk xk 1 2. 割线法 xk 1 xk f xk f xk f xk 1
则该迭代是m阶收敛. 迭代的加速收敛方法(Atiken方法) 对于线性收敛的序列,可以通过简单的处理达到加速收敛的效果
对于方程x g x , g x* 0 x * xk 1 g x * g xk g k x* xk x* xk * / * x * xk 2 g x * g xk 1 g k 1 x xk 1 x xk 1
避免了求导数值,但需要两个初值收敛速度为1.6阶
3.Steffenson方法
xk 1 xk f xk f xk f xk f 2 xk
避免了求导数值,收敛速度仍为二阶,但每次迭代需计算二次 函数值 .
13
a2 a1 ,b2 x1 判别: a2 x1 ,b2 b1
f a1 f x1 0 f a1 f x1 0
再令: x2 a2 0.5 b2 a2
* 由于 x xk
bk ak b a k , xk 就是满足精度要求的近似解 2 2
如此重复上述线性化过程,可得:
f xk xk 1 xk , k 0,1, 2, f xk
f x g x x f x
这个算法称牛顿法. 牛顿法也是一种迭代法,其迭代函数为:
9
下面的定理给出了牛顿法的收敛特性 定理 设f (x)有二阶连续的导数,则牛顿法在单根附近是二阶收敛.
e0 。
若要求误差都达到108,对一阶收敛于而言, ek 0.75k 108 k 63 对二阶收敛于而言, ek 0.752 1 108 k 6
注意:二阶收敛对初值有更高的要求.
6
收敛阶的判别
定理:对于方程x = g (x),如果满足: (1) g (x)在x*附近有连续的m阶导数; (2) g x* g x* g m1 x* 0, g m x* 0
x xk 1
*
x
2
*
xk 2
x
*
xk x xk 2
*
xk 2 xk 1
2
xk 2 2 xk 1 xk
7
把上述过程写为迭代形式就称为Aitken方法:
yk g xk , zk g yk 2 z y k k x z k 1 k zk 2 yk xk k 0,1, 2
证明: 因为f x 连续, 且x*是方程f x =0的单根, 即 f x* 0 , f x* 0 f x f x f x f x f x f x g x x , g x 1 2 2 f x f x f x
g x0 1
4.精度控制一般采用事后估计的方法,以 xk 1 xk 作为停机准
定义:序列 xk 收敛于x*,ek =x* -xk ,如果存在实数p和c p 1, c 0 , 使lim ek 1 ek
p
=c,则称序列 xk p阶收敛于x* , c称误差常数。
二分法的特点: 1.条件宽松,计算简单; 2.全局收敛; 3.在x*的附近收敛慢.
3
第三节 简单迭代法 基本思想:把方程f (x)=0转化为一种等价的形式x = g (x) 选定x0 ,由xk 1 g xk , k 0,1, 2, , 构造序列xk 使xk x* 显然:这个序列的产生取决于函数g (x)的选择,g (x)称为迭代函数。 序列的收敛与否以及收敛的速度也取决于迭代函数的性质. 注意:由f (x)=0形式转化为x=g (x)的形式是不唯一的. 定理(收敛基本定理):对于方程x=g (x),如果满足:
m m 1, 且f (x* ) 0
若f(x)有阶的连续导数, 则x*是f(x)=0的m重根 f ( k ) ( x* ) 0, k 0,1,
一般说来非线性方程没有求根公式,所以本章我们采用的都是迭 代法,即用某种方法构造一个近似解序列 xk ,并使之收敛于精确 解x* . xk x* 当然我们还要考虑它的收敛速度,在同样的精度要求下,收敛速度 越快意味着计算量越小.
在线性收敛的情况下,若收敛率接近于1时,上述方 法加速收敛的效果很好.
8
第四节 牛顿法 基本思想:把非线性方程线性化,用线性方程的解来逐步逼近 线性方程的解. 对方程f (x)=0,若f (x)的二阶导数连续,则对f (x)作二阶Tayor展开
0 f x f x0 f x0 x x0 1 2 f x x0 2! f x0 f x0 f x0 x x0 0 x x0 x1 f x0
有时就直接称该迭代函数或该迭代法是p阶收敛.
当P=1,0<c<1时,称线性收敛,这时称c是收敛率。
5
把一阶收敛和二阶收敛做一个比较: 设有两个收敛于同一个x*的序列,它们有相同的初始误差1和收 敛常数c=0.75,p分别等于1和2。 ek 1 * * 序列 xk 是一阶收敛于x ,ek =x -xk , lim =c<1,则 ek
1 * x xk xk 1 xk 3 有误差估计式: 1 L Lk x1 x0 . 1 L
4
。 几点注意:1.这个定理的条件是收敛的充分条件而非充要条件; 2.收敛不仅与迭代函数g(x)有关,且L越小收敛越快,另外它还与所 给的初值有关,即它是局部收敛的. 来代替。 则. 收敛速度是衡量算法优劣的一个重要标准,我们引进刻画收敛速度的一个量. 3.由于 g x L 1 的条件判别困难,所以常用条件
10
百度文库
关于牛顿法的几点说明;
与二分法和简单迭代法比较,牛顿法有如下特点:
1.二分法只要求函数连续,简单迭代法要求迭代函数的一阶导 数连续,而牛顿法则要求函数的二阶导数连续; 2.每次迭代的计算,二分法只需要判别函数值的正负,简单迭代 法要计算一次函数值,牛顿法除了函数值以外还需计算导数值; 3.牛顿法可求复数根(简单迭代法也可求复根),且在单根附近是 二阶收敛(但对初值的要求也相应提高); 4.基于牛顿法的基本原理和特点,容易作相应的改进和推广.
2
g x* 0, g x
f x
d * f x , g x 2 f x dx f x x* f
f x
f x*
所以牛顿法在单根附近是二阶收敛的.
ek 1 c ek c 2 ek 1 c k 1 e0 。
* *
序列 x k 是阶收敛于x , ek =x - xk , lim ek 1 c ek c3 ek 1
k
ek 1 ek
2
k 1
2
=c,则
2 1
k 1
2
4
c2
k 1
1
e0
= ce0
注意:牛顿法在重根的情况下依然可以使用,但收敛是 一阶的,且重数越大收敛越慢.
11
关于重根的处理 设x*是方程的m重根,可以用以下两种改进牛顿法来计算
1
f xk xk 1 xk m , k 0,1, 2, f xk
u xk f x , k 0,1, 2, 2 u x , xk 1 xk f x u xk
第二章 非线性方程的解法
第一节 引言 对于方程f ( x )=0,如果存在x* 使f ( x* )=0,则x* 是f ( x )=0的根, 或称函数f ( x )的零点.本章都把方程的精确解记为 x* .
x 是f x =0的m重根 f ( x) x x
*
*
m
h(x)且h(x* ) 0
1
第二节 二分法
如果f (x)满足: 在[a,b]上连续; 且f (a)f (b) < 0 那么方程f (x)=0在[a,b]上至少有一个实根 x* bk ak * 把区间逐次对分,使包含 x 的区间长度逐次缩小直到 2 b a 算法: 令 a1 a, b1 b, x1 1 1 a1 0.5 b1 a1 2
1当x [a,b]时,g(x)[a,b]; g x L 1. 2 g x 在[a, b]上连续, 且x [a, b]有: * 则有结论: 1 方程在 [a,b] 上有唯一的解 x ; 2 x0 [a, b],由xk 1 g xk , k 0,1, , 产生的 xk 必收敛于x* ;