第2章--非线性方程求根与二分法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、本章解决的问题
二、求根的两个步骤
三、二分法
上述算法问题?
适合函数严
格单调情况!
一、本章解决的问题
二、求根的两个步骤
三、二分法
改进算法:
(1) x0←a;
(2) 若 f( x0) f( x0+h)<0,则x*必在( x0 , x0+h)中,取 (x0,
x0+h)作为一个有根区间,再转(3);
(3) x0← x0+h,转(2);对整个区间[a,b]进行扫描
,则
的根。
四、简单迭代法
取
五、牛顿法
在 在x0 做一阶Taylor展开:
六、弦截法
, 在 x0 和 x 之间。 将 看成高阶小量,则有:
(牛顿法迭代公式) 只要 ,每一步迭代都有 ,则 ,而 且 的根。
牛顿法几何表示
从几何的角度来分析一下牛顿公式的直观结构。
方程 的根就是曲线 与 轴的交点。
设
第七章 非线性方程的求根 第二章 非线性方程的求根
求 f (x) = 0 的根
李颖 153844033@qq.com
第二章
非线性方程求根
一、本章解决的问题 二、求根的两个步骤 三、二分法
三、牛顿法 三、弦截法
一、本章解决的问题
二、求根的两个步骤
三、二分法
科学计算
求解方程组
一、本章解决的问题
二、求根的两个步骤
f(x*)=lim f(ak)= lim f(bk) f(ak)0, f(bk)0,
一、本章解决的问题
二、求根的两个步骤
When to stop?
三、二分法
取xk=(ak+bk)/2 ([ak,bk]的中点),
a
xk 1 xk ε1
或
x1 a
x*
b x2 b
显然有 limxk=x*.
根就可以了。
本章解决的问题:
求 f (x) = 0 的根
f(x):非线性函数或高次代数方程
若有数x*使f(x*) = 0成立,则称x*为方程f(x) = 0的根(零点)。
一、本章解决的问题
二、求根的两个步骤
三、二分法
复习
单根: 重根:
m是正整数,且g(x*)≠0
根:若有数x*使f(x*) = 0成立,则称x*为方程f(x) = 0的根(零点)。
f ( x) x x 1 0
3
三、二分法
例如 考虑方程
解 由于
f ( 0) 0 ,
f ( ) 0
故方程至少有一个正实根。 设从 x=0 出发,取 h=0.5 为步长向右计算,
将各个点上的函数值列于下表:
一、本章解决的问题
二、求根的两个步骤
f ( x) x x 1 0
四、简单迭代法
最后来证明
由微分中值定理
五、牛顿法
的收敛性。
六、弦截法
其中
在
与
之间,由条件(2)
应用不等式(3.11),由归纳法可得
因为
即
,所以有
,迭代收敛。
四、简单迭代法
五、牛顿法
六、弦截法
迭代过程的收敛性
定理:设函数 (1)当 (2) 即对任意 其中 时
满足如下条件
, ,我们称L为李普希斯常数。
精确化,直至满足预先要求的精度为止。
一、本章解决的问题
二、求根的两个步骤
三、二分法
如何求有根区间呢?
逐步扫描法
一、本章解决的问题
二、求根的两个步骤
三、二分法
逐步扫描法
原理:设f(x)在[a, b]连续,且f(a)f(b)<0。
则由连续函数的性质知:
f(x)=0在(a, b)内至少有一个根。
若f(x)在[a, b]上单调,则f(x)=0在(a, b)上有且仅有一个根。
证明:先证 的存在性。
上 存在,所以 是连续函数 由条件可知,在
令 则 在 上也连续,由条件(1)可得, , 由连续函数的性质可知,在 使 ,即 上必存在一点
四、简单迭代法
再证其唯一性.
五、牛顿法
六、弦截法
设有
,均满足
即
则由微分中值定理得
即 其中
在
与
之间,所以
,则
又由条件(2),
所以只有
,即
,
唯一。
,是提高迭代数列
的方法 ── 牛顿法。 的一种重要方法,它的最大优点是:
方程在单根附近具有较高的收敛速度,它还可以用于求代数方程的重根、复根;
也可以拓广用于求解非线性方程组的问题。
牛顿法
取 在 x0 做一阶Taylor展开: , 在 x0 和 x 之 间。 将 看成高阶小量,则有:
(牛顿公式) 只要 ,每一步迭代都有 ,而 且
3
三、二分法
例如 考虑方程
解 由于
f ( 0) 0 ,
f ( ) 0
故方程至少有一个正实根。 设从 x=0 出发,取 h=0.5 为步长向右计算,
将各个点上的函数值列于下表:
一、本章解决的问题
二、求根的两个步骤
三、二分法
x f(x)
由于f (1) 0 ,
0 0.5 1.0 1.5 ― ― ― +
一、本章解决的问题
二、求根的两个步骤
三、二分法
二分法 计算步骤
步骤1 准备 计算f(x)在有根区间[a,b]端点处的值f(a),f(b) 步骤2 二分 计算f(x)在区间中间 处的值
步骤3 判断 若
否则检验:
则
即是根,计算结果结束
若
则
则
反复执行步骤2和步骤3,直到
,则
一、本章解决的问题
若f(x0) =0, x*=x0 <0,有根区间: [a1,b1]=[x0,b]
a x1 x* x2 b
>0,有根区间: [a1,b1]=[a, x0]
对[a1,b1]对分,如此反复进行,得到一系列有根区 间:
[a, b] [a1 , b1 ] [a2 , b2 ] [ak , bk ] bk 1 ak 1 ba bk ak k 0, k 2 2 ak , bk , ak b, bk a, x , s.t. lim ak lim bk x , and f ( x ) 0.
成立
则方程在[a,b]上存在唯一解
, 并且迭代格式收敛,
并有误差估计
例题分析
求方程 在[0,1] 内的一个根 。
解:将方程写成迭代格式 由于 迭代法收敛,任取初值,比如 利用程序进行计算,得到一列近似值。 当k=14时,有 可以看作方程很好的近似根。
迭代法步骤
42
迭代法总结
迭代法是一种逐次逼近法,这种方法使用某个固 定公式-所谓迭代公式反复校正根的近似值,使之逐 步精确化,直至满足精度要求的结果。 迭代法的求根过程分成两步,第一步先提供根的 某个猜测值,即所谓迭代初值,然后将迭代初值逐步 加工成满足精度要求的根。 迭代法的设计思想是,将隐式方程 归结为计算一组显式公式 ,也就是说, 迭代过程实质上是一个逐步显式化的过程。
为
的一个近似值,过曲线
上横坐标为
的点
,
引一条切线,其方程为
令其为零,得切线
牛顿公式实际上就是用曲线
迭代法的结束条件
四源自文库简单迭代法
五、牛顿法
六、弦截法
迭代过程的收敛性
• 定理: 设迭代函数 时,有 ,使对任意的 在 上具有连续的一阶导数,且 ; ,有 成立。 。 (1)当 (2)存在正数
则
值
在
上存在唯一的解
,并且对任意选取的初
,迭代过程所产生的迭代数列收敛于
四、简单迭代法
五、牛顿法
六、弦截法
迭代过程的收敛性证明
而把有根区间再一分为二,再判断根属于哪
个更小的区间,如此周而复始,直到求出满 足精度要求的近似根。
一、本章解决的问题
二、求根的两个步骤
三、二分法
设f(x)的有根区间为[a,b]= [a0,b0], f(a)<0, f(b)>0.
将[a0,b0],对分,中点x0= ((a0+b0)/2),计算f(x0),
下面将介绍几种常用的数值解法:
——二分法
——简单迭代法 ——牛顿迭代法 ——弦截法
四、简单迭代法
五、牛顿法
六、弦截法
1、牛顿法的思想、牛顿迭代公式;
2、牛顿法的收敛性;
3、牛顿法的收敛速度;
3、弦截法思想。
四、简单迭代法
五、牛顿法
六、弦截法
由前面的讨论可知,选择合适的迭代函数 的收敛速度的关键。 本节介绍一种确定迭代函数 牛顿法是求解方程
f (1.5) 0
2
, 且 f(x)在区间[1,1.5]上满足
f ( x ) 3 x 1 3 1 1 2 0
由此可知在 (1 , 1.5) 内有且仅有一个实根, 故可取 (1,1.5) 作为有根区间。
下面将介绍几种常用的数值解法:
——二分法
——简单迭代法 ——牛顿迭代法 ——弦截法
x1 ab 2
lnb a ln ε k
ln 2
①简单,总收敛;
② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根
② 收敛慢
一、本章解决的问题
二、求根的两个步骤
三、二分法
注: 用二分法求根,最好先给出 f (x) 草图以确定根的大概位置。
或用搜索程序,将[a, b]分为若干小区间,对每一个满足 f (ak)· f (bk) < 0 的区间调用二分法程序,可找出区间[a, b]内 的多个根,且不必要求 f (a)· f (b) < 0 。
若f(x)可分解为
f ( x ) ( x x*)
m
g( x )
当m = 1,称x*是单根; 当m > 1,称x*是m重根.
一、本章解决的问题
二、求根的两个步骤
三、二分法
m是正整数,且g(x*)≠0
若f(x)可分解为
f ( x ) ( x x*)
m
g( x )
当m = 1,称x*是单根;
——算法和收敛性说明。
f ( x ) ε2
不能保证 x 的 精度
2
x* x
一、本章解决的问题
误差分析
二、求根的两个步骤
三、二分法
对于给定的精度 ,可估计二分法所需的步数 k :
ba ε k 2
ba |x x*| 第1步产生的 有误差 1 2 ba |x x*| 第 k 步产生的 xk 有误差 k 2k
一、本章解决的问题
二、求根的两个步骤
三、二分法
y
y= f(x) x
0
故总假设 (a,b) 上有唯一根
一、本章解决的问题
二、求根的两个步骤
三、二分法
逐步扫描算法
(1) x0←a; (2) 若 f( x0) f( x0+h)<0,则x*必在( x0 , x0+h)中,
取 (x0, x0+h)作为有根区间,否则转(3); (3) x0← x0+h,转(2);
一、本章解决的问题
二、求根的两个步骤
三、二分法
1. 二分法的原理
原理:若 f C[a, b],且 f (a) ·f (b) < 0, 则 f 在 (a, b) 上必有一根 x*。
一、本章解决的问题
二、求根的两个步骤
三、二分法
2. 二分法的实施
将方程根的区间平分为两个小区间,然 后判断根在哪个小区间,舍去无根的区间,
二、求根的两个步骤
三、二分法
上机实验:二分法程序实现
例如 考虑方程
f ( x) x x 1 0
3
下面将介绍几种常用的数值解法:
——二分法
——简单迭代法 ——牛顿迭代法 ——弦截法
四、迭代法
五、牛顿法
六、弦截法
• 迭代法是数值计算中一种典型的重要方法,尤其是计算机 的普遍使用,使迭代法的应用更为广泛。 • 所谓迭代法就是用某种收敛于所给问题的精确解的极限过 程,来逐步逼近的一种计算方法,从而可以用有限个步骤 算出精确解的具有指定精度的近似解。简单说迭代法是一 种逐步逼近的方法。
当m > 1,称x*是m重根.
一、本章解决的问题
二、求根的两个步骤
三、二分法
方程根的几何意义 y
y=f(x) x
0
一、本章解决的问题
二、求根的两个步骤
三、二分法
•
(1)确定根的初始近似值(称之为初始近似根)
为一个包含根的区间,称为“有根区间”
,一般
•
(2)根的精确化。根据根的初始近似值按某种方法逐步
一、本章解决的问题
二、求根的两个步骤
f ( x) x x 1 0
3
三、二分法
例如 考虑方程
解 由于
f ( 0) 0 ,
f ( ) 0
故方程至少有一个正实根。 设从 x=0 出发,取 h=0.5 为步长向右计算,
将各个点上的函数值列于下表:
一、本章解决的问题
二、求根的两个步骤
三、二分法
科学计算
求解方程组
一、本章解决的问题
二、求根的两个步骤
三、二分法
科学计算
求解方程组
这些方程 高次代数方程 看似简单, 但难于求 超越方程 其精确解。
x 3x 7 0 x x e cos 0 3
5
一、本章解决的问题
二、求根的两个步骤
三、二分法
实际问题:只要能获得满足已定精确度的近似
四、迭代法
五、牛顿法
六、弦截法
四、迭代法
五、牛顿法
六、弦截法
k
0
1 2 3 4
xk
1.5
1.35721 1.33086 1.32588 1.32494
k
5
6 7 8
xk
1.32476
1.32473 1.32472 1.32472
四、迭代法
五、牛顿法
六、弦截法
四、简单迭代法
五、牛顿法
六、弦截法