第2章--非线性方程求根与二分法

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

迭代法的求根过程分成两步,第一步先提供根的 某个猜测值,即所谓迭代初值,然后将迭代初值逐步 加工成满足精度要求的根。
迭代法的设计思想是,将隐式方程
归结为计算一组显式公式
,也就是说,
迭代过程实质上是一个逐步显式化的过程。
下面将介绍几种常用的数值解法: ——二分法 ——简单迭代法 ——牛顿迭代法 ——弦截法
一、本章解决的问题 二、求根的两个步骤 三、二分法
二分法 计算步骤
步骤1 准备 计算f(x)在有根区间[a,b]端点处的值f(a),f(b)
步骤2 二分 步骤3 判断
计算f(x)在区间中间
������
+ 2
������
处的值
������ + ������ ������( 2
������ + ������
一、本章解决的问题 二、求根的两个步骤 三、二分法
例如 考虑方程 f ( x) x3 x 1 0 解 由于 f (0) 0, f () 0
故方程至少有一个正实根。 设从x=0出发,取h=0.5为步长向右计算, 将各个点上的函数值列于下表:
一、本章解决的问题 二、求根的两个步骤 三、二分法
例如 考虑方程 f ( x) x3 x 1 0 解 由于 f (0) 0, f () 0
故方程至少有一个正实根。 设从x=0出发,取h=0.5为步长向右计算, 将各个点上的函数值列于下表:
一、本章解决的问题 二、求根的两个步骤 三、二分法
x 0 0.5 1.0 1.5 f(x) ― ― ― +
四、简单迭代法
五、牛顿法
六、弦截法
1、牛顿法的思想、牛顿迭代公式; 2、牛顿法的收敛性; 3、牛顿法的收敛速度; 3、弦截法思想。
四、简单迭代法
五、牛顿法
六、弦截法
由前面的讨论可知,选择合适的迭代函数
,是提高迭代数列
的收敛速度的关键。
本节介绍一种确定迭代函数
的方法 ── 牛顿法。
牛顿法是求解方程
最后来证明 的收敛性。 由微分中值定理 其中 在 与 之间,由条件(2)
应用不等式(3.11),由归纳法可得
因为
,所以有

,迭代收敛。
六、弦截法
四、简单迭代法
五、牛顿法
六、弦截法
迭代过程的收敛性
定理:设函数
(1)当

(2)
满足如下条件
即对任意
,
成立
其中
,我们称L为李普希斯常数。
则方程在[a,b]上存在唯一解 , 并且迭代格式收敛,
反复执行步骤2和步骤3,直到
|������ − ������| < ������ ,则
������∗
=
������
+ 2
������
一、本章解决的问题 二、求根的两个步骤 三、二分法
上机实验:二分法程序实现
例如 考虑方程 f ( x) x3 x 1 0
下面将介绍几种常用的数值解法: ——二分法 ——简单迭代法 ——牛顿迭代法 ——弦截法
并有误差估计
例题分析
求方程
在[0,1] 内的一个根 。
解:将方程写成迭代格式 由于
迭代法收敛,任取初值,比如 利用程序进行计算,得到一列近似值。
当k=14时,有 可以看作方程很好的近似根。
迭代法步骤
42
迭代法总结
迭代法是一种逐次逼近法,这种方法使用某个固 定公式-所谓迭代公式反复校正根的近似值,使之逐 步精确化,直至满足精度要求的结果。
五、牛顿法
六、弦截法
迭代过程的收敛性
• 定理: 设迭代函数

上具有连续的一阶导数,且
(1)当
时,有

(2)存在正数 ,使对任意的
,有
成立。

在 上存在唯一的解 ,并且对任意选取的初

,迭代过程所产生的迭代数列收敛于 。
四、简单迭代法
五、牛顿法
六、弦截法
迭代过程的收敛性证明
证明:先证 的存在性。
由条件可知,在 上 存在,所以 是连续函数
a
x1 x*
x2 b
f(ak)0, f(bk)0, f(x*)=lim f(ak)= lim f(bk)
一、本章解决的问题 二、求根的两个步骤 三、二分法
When to stop?
取xk=(ak+bk)/2 ([ak,bk]的中点),
a
显然有 limxk=x*.
x* xa1
xb2
b
——算法和收敛性说明。 xk1 xk ε1 或
(3) x0← x0+h,转(2);对整个区间[a,b]进行扫描
一、本章解决的问题 二、求根的两个步骤 三、二分法
例如 考虑方程 f ( x) x3 x 1 0 解 由于 f (0) 0, f () 0
故方程至少有一个正实根。 设从x=0出发,取h=0.5为步长向右计算, 将各个点上的函数值列于下表:
一、本章解决的问题 二、求根的两个步骤 三、二分法
如何求有根区间呢?
逐步扫描法
一、本章解决的问题 二、求根的两个步骤 三、二分法
逐步扫描法
原理:设f(x)在[a, b]连续,且f(a)f(b)<0。 则由连续函数的性质知:
f(x)=0在(a, b)内至少有一个根。
若f(x)在[a, b]上单调,则f(x)=0在(a, b)上有且仅有一个根。
科学计算 求解方程组
一、本章解决的问题 二、求根的两个步骤 三、二分法
科学计算 求解方程组
这些方程 看似简单,
高次代数方程
但难于求 超越方程
其精确解。
x5 3x 7 0
ex

x
cos

0
3
一、本章解决的问题 二、求根的两个步骤 三、二分法
实际问题:只要能获得满足已定精确度的近似
根就可以了。
一、本章解决的问题 二、求根的两个步骤 三、二分法
上述算法问题?
适合函数严 格单调情况!
一、本章解决的问题 二、求根的两个步骤 三、二分法
改进算法: (1) x0←a;
(2) 若 f( x0) f( x0+h)<0,则x*必在( x0 , x0+h)中,取 (x0, x0+h)作为一个有根区间,再转(3);
若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*是单根; 当m > 1,称x*是m重根.
一、本章解决的问题 二、求根的两个步骤 三、二分法
方程根的几何意义 y
0
y=f(x) x
一、本章解决的问题 二、求根的两个步骤 三、二分法
• (1)确定根的初始近似值(称之为初始近似根) ,一般
为一个包含根的区间,称为“有根区间”
• (2)根的精确化。根据根的初始近似值按某种方法逐步
精确化,直至满足预先要求的精度为止。
一、本章解决的问题 二、求根的两个步骤 三、二分法
设f(x)的有根区间为[a,b]= [a0,b0], f(a)<0, f(b)>0.
将[a0,b0],对分,中点x0= ((a0+b0)/2),计算f(x0),
若f(x0) =0, x*=x0
<0,有根区间: [a1,b1]=[x0,b]
>0,有根区间: [a1,b1]=[a, x0]

则 在 上也连续,由条件(1)可得,

由连续函数的性质可知,在
使
,即
上必存在一点
四、简单迭代法
五、牛顿法
再证其唯一性.
设有
,均满足 ������ = φ(������) 即
则由微分中值定理得
六、弦截法
即 其中 在 与 又由条件(2), 所以只有
之间,所以
,则
,即

唯一。
四、简单迭代法
五、牛顿法
四、迭代法
五、牛顿法
Leabharlann Baidu
六、弦截法
四、迭代法
五、牛顿法
六、弦截法
k
xk
k
xk
0
1.5
5
1.32476
1
1.35721
6
1.32473
2
1.33086
7
1.32472
3
1.32588
8
1.32472
4
1.32494
四、迭代法
五、牛顿法
六、弦截法
四、简单迭代法
五、牛顿法
迭代法的结束条件
六、弦截法
四、简单迭代法
本章解决的问题:
求 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的根(零点)。 单根: 重根:
一、本章解决的问题 二、求根的两个步骤 三、二分法
y
y= f(x)
故总假设(a,b)
0
x
上有唯一根
一、本章解决的问题 二、求根的两个步骤 三、二分法
逐步扫描算法 (1) x0←a; (2) 若 f( x0) f( x0+h)<0,则x*必在( x0 , x0+h)中, 取 (x0, x0+h)作为有根区间,否则转(3); (3) x0← x0+h,转(2);
四、迭代法
五、牛顿法
六、弦截法
• 迭代法是数值计算中一种典型的重要方法,尤其是计算机 的普遍使用,使迭代法的应用更为广泛。
• 所谓迭代法就是用某种收敛于所给问题的精确解的极限过 程,来逐步逼近的一种计算方法,从而可以用有限个步骤 算出精确解的具有指定精度的近似解。简单说迭代法是一 种逐步逼近的方法。
ln2
①简单,总收敛;
② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根 ② 收敛慢
一、本章解决的问题 二、求根的两个步骤 三、二分法
注: 用二分法求根,最好先给出 f (x) 草图以确定根的大概位置。 或用搜索程序,将[a, b]分为若干小区间,对每一个满足 f (ak)·f (bk) < 0 的区间调用二分法程序,可找出区间[a, b]内 的多个根,且不必要求 f (a)·f (b) < 0 。
f (x) ε2
不能保证 x 的 精度
2
x*
x
一、本章解决的问题 二、求根的两个步骤 三、二分法
误差分析
第1步产生的
ab x1 2
有误差
|x1

x*|

b
2
a

k
步产生的
xk
有误差
|xk
x*|
ba 2k
对于给定的精度 ,可估计二分法所需的步数 k :
ba 2k

ε
k lnb a lnε
的一种重要方法,它的最大优点是:
方程在单根附近具有较高的收敛速度,它还可以用于求代数方程的重根、复根;
也可以拓广用于求解非线性方程组的问题。
牛顿法
取 将
在 x0 做一阶Taylor展开:
一、本章解决的问题 二、求根的两个步骤 三、二分法
1. 二分法的原理
原理:若 f C[a, b],且 f (a) ·f (b) < 0, 则 f 在 (a, b) 上必有一根 x*。
一、本章解决的问题 二、求根的两个步骤 三、二分法
2. 二分法的实施
将方程根的区间平分为两个小区间,然 后判断根在哪个小区间,舍去无根的区间, 而把有根区间再一分为二,再判断根属于哪 个更小的区间,如此周而复始,直到求出满 足精度要求的近似根。
对[a1,b1]对分,如此反复进行,得到一系列有根区 间:
[a,b] [a1,b1] [a2,b2 ] [ak ,bk ]
bk
ak

bk 1
ak1 2


b 2k
a

0,
k


ak ,bk , ak b,bk a,
x, s.t. lim ak lim bk x, and f (x) 0.
若 ������( 2 ) = 0, 则
������ + ������ 2
即是根,计算结果结束
否则检验:

������ ������(
+ 2
������ )������(������)
<
0,

b=������+2 ������
������ + ������
������ + ������
������( 2 )������(������) > 0, 则 ������ = 2
由于f (1) 0, f (1.5) 0 , 且 f(x)在区间[1,1.5]上满足
f ( x) 3 x 2 1 3 1 1 2 0
由此可知在(1,1.5)内有且仅有一个实根, 故可取 (1,1.5) 作为有根区间。
下面将介绍几种常用的数值解法: ——二分法 ——简单迭代法 ——牛顿迭代法 ——弦截法
第第二七章章 非非线线性性方方程程的的求求根根
求 f (x) = 0 的根
李颖 153844033@qq.com
第二章 非线性方程求根
一、本章解决的问题 二、求根的两个步骤 三、二分法 三、牛顿法 三、弦截法
一、本章解决的问题 二、求根的两个步骤 三、二分法
科学计算 求解方程组
一、本章解决的问题 二、求根的两个步骤 三、二分法
相关文档
最新文档