方程求根的二分法

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

第六章非线性方程组的迭代解法
• 本章介绍方程的迭代解法,它既可以用来求解代 数方程,也可以用来解超越方程,并且仅限于求
方程的实根。
• 运用迭代法求解方程的根应解决以下两个问题:
–确定根的初值;
–将进一步精确化到所需要的精度。
6.2 二分法 根的一种常用的简单方法。
第六章非线性方程组的迭代解法
二分法又称二分区间,是求解方程(2.1)的近似
f ( x* ) f ( x* )
f ( m1) ( x* ) 0, f ( m) ( x* ) 0
第六章非线性方程组的迭代解法
当 f (x)不是x的线性函数时,称对应的函数方程为非线性 方程。如果f(x)是多项式函数,则称为代数方程,否则称为超
越方程(三角方程,指数、对数方程等)。一般称n次多项式 构成的方程
(1) 画图法
第六章非线性方程组的迭代解法
• 画出y = f (x)的略图,从而看出曲线与x轴交点的
大致位置。
• 也可将f (x) = 0分解为1(x)= 2(x)的形式,1(x) 与 2(x)两曲线交点的横坐标所在的子区间即为含根 区间。 例如 xlogx-1= 0
可以改写为logx=1/x
例如在控制系统的设计领域中在研究人口增长率等问题中都最后可化为方程求根的问非线性方程和方程组的数值解法第六章非线性方程组的迭代解法61引言在科学研究和工程设计中61的求根问题其中为非线性函数
第六章非线性方程组的迭代解法
第6章 非线性方程和方程组 的数值解法
教学目的 1. 掌握解非线性方程(组)的二分法和插值法; 2. 掌握解非线性方程(组)的一般迭代法及有关收敛性 的证明与牛顿法; 3. 掌握解非线性方程(组)的牛顿法 4. 了解加速收敛的方法。 教学重点及难点 重点是解非线性方程(组)的牛顿法; 难点是迭代法的收敛性的证明。
第六章非线性方程组的迭代解法
6.1 引言
在科学研究和工程设计中 , 经常会遇到的一大类问
题是非线性方程
f(x)=0 的求根问题,其中f(x)为非线性函数。 方程f(x)=0的根, 亦称为函数f(x)的零点 * m f ( x ) ( x x ) g ( x) , 其中m为正整数 如果f(x)可以分解成 且 g ( x* ) 0 ,则称x*是f(x)的m重零点,或称方程f(x)=0的m重根。 当m=1时称x*为单根。若f(x)存在m阶导数,则是方程f(x)的m重 根(m>1) 当且仅当 (6.1)
bk 1 bk x
bk
生成含根区间[ak 1 , bk 1 ] ,满足(6.2)式,即 a a k 1 k bk 1 xk (1) [ak 1 , bk 1 ] [ak , bk ] ( 2) bk 1 ak 1 h 2k 1 (3) f (a ) f (b ) 0 k 1 k 1
(1) 找中点:令xk
(2) 计算: f k f ( xk (即中点的函数值) ) ;
1 (ak bk ); 2
x
ak
(3) 生成含根区间:
xk
bk
ak 1 xk 若f ( xk ) 0 ,则 x* xk , 如图 若f ( xk ) f (ak ) 0, 取ak 1 xk , bk 1 bk , 如图 若f ( xk ) f (ak ) 0, 取ak 1 ak , bk 1 xk , 如图 ak
(3) 生成含根区间:
若f ( x0 ) 0 ,则 x* x0 ,
若f ( x0 ) f (a0 ) 0, 取a1 x0 , b1 b0 , 若f ( x0 ) f (a0 ) 0, 取a1 a0 , b1 x0 ,
生成含根区间 [a1 , b1 ]. [a1 , b1 ] 满足下式:
小, 直至有根区间足够地小, 便可求出满足精度要 求的近似根。
第六章非线性方程组的迭代解法
确定有根区间的方法
• 为了确定根的初值,首先必须圈定根所在的范围, • 称为圈定根或根的隔离。 • 在上述基础上,采取适当的数值方法确定具有一定 • 精度要求的初值。 • 对于代数方程,其根的个数(实或复的)与其次数 • 相同。至于超越方程,其根可能是一个、几个 或无 • 解,并没有什么固定的圈根方法 • 求方程根的问题,就几何上讲,是求曲线 y=f (x)与 • x轴交点的横坐标。
2
a
b
x
该点可求出,但漏掉了四个点
注1 :改进的方法,
试位法(比例求根法)。
注2 :另外还有区间搜索法。
第六章非线性方程组的迭代解法
[11.5] , 内的一个 例6.1 求方程f ( x) x3 x 1 0在区间
实根,要求准确到小数点后的第2位。
解 这里a 1, b 1.5, f (a) 0, f (b) 0.取[a, b]的
第六章非线性方程组的迭代解法
考虑非线性方程
f (x)=0
(6.1)
1 条件 f ( x ) C[a, b], 且f (a ) f (b) 0 2 主要依据 由连续函数介值定理,则至少存在某个 x* (a, b),
使得f ( x* ) 0,即[a,b]内至少有方程(2.1)的一个根,称[a,b]为f(x)
第六章非线性方程组的迭代解法
由高等数学知识知, 设f (x)为区间[a,b]上的单
值连续, 如果f (a)· f (b)<0 , 则[a,b]中至少有一个
实根。如果f (x)在[a,b]上还是单调地递增或递减, 则仅有一个实根。 y y=f(x) a

b
x
由此可大体确定根所在子区间,方法有: (1) 画图法 (2) 逐步搜索法
的一个含根区间。并且有
ab x* 2

ba 2
a
x*
ab 2
b
3 主要思想(基本思想) 把含根区间不断缩短,使含根区间之间含有一个满足误差 要求的近似解。
第六章非线性方程组的迭代解法
4 具体过程(方法)
首先, 令a0 a, b0 b, h b a, 1 (1) 找中点:令x0 (a0 b0 ); 2 (2) 计算: f0 f ( x0 )(即中点的函数值 );
设函数f(x)在闭区间[a,b]上连续,且f(a)f(b)<0,
根据连续函数的性质可知, f(x)= 0在 (a,b)内必有实根,称区间[a,b]为有根区间。为明确 起见,假定方程f(x)=0在区间[a,b]内有惟一实根x*。 二分法的基本思想是: 首先确定有根区间,将区
间二等分, 通过判断f(x)的符号, 逐步将有根区间缩
0
A
B a1 b1 a2 b2
x
第六章非线性方程组的迭代解法
例1 方程f(x)=x3-x-1=0 确定其有根区间 解:用试凑的方法,不难发现 f(0)<0 f(2)>0
在区间(0,2)内至少有一个实根
设从x=0出发,取h=0.5为步长向右进行根的搜索,列表如下
0 0.5 – –
1.0 –
1.5 +
第六章非线性方程组的迭代解法
第6章 非线性方程和方程组 的数值解法
代数方程求根问题是一个古老的数学问题.早在16 世纪就找到了三次,四次方程的求根公式.但直到19世 纪才证明了n≥5次的一般代数方程式不能用代数公式求 解.因此需要研究用数值方法求得满足一定精度的代数 方程式的近似解. 而在工程和科学技术中许多问题常归结为求解非 线性方程式问题。例如在控制系统的设计领域中,在 研究人口增长率等问题中都最后可化为方程求根的问 题。
中点x0 1.25, 将区间 [a, b]二等分,由于 f ( x0 ) 0,
即f ( a )与f ( x0 )同号,故在x0的右侧有方程的一个 实根,这时,令a1 x0 1.25, b1 b 1.5而新的 有限区间为[ a1 , b1 ]。二分过程可如此反复下去, 计算结果如表6 1 。
第六章非线性方程组的迭代解法
(2) 搜索法
(2) 逐步搜索法
对于给定的f (x),设有根区间为[A,B],从x0=A出发,以步长 h=(B-A)/n(n是正整数),在[A,B]内取定节点:xi=x0+ih (i=0,1,2,…,n),从左至右检查f (xi)的符号,如发现xi与端点x0的函 数值异号,则得到一个缩小的有根子区间[xi-1,xi]。 y
2k 1
0, 且 f ( x* ) 0.
此时可计算或估计二分法执行的次数k.
第六章非线性方程组的迭代解法
事实上,由
ba , 两边取对数得 ln(b a ) (n 1) ln2 ln n 1 2
ln ba
1 [ln( b a ) ln ] N n 1 ln 2
, 可取 ln2
ba ln ] 1. N [ ln2
优点: 1.对函数要求低 (只要连续,在两个端点异号)。 2.二分法是收敛的。
第六章非线性方程组的迭代解法
缺点: 1.收敛速度不快,仅与公比为 1 的等比级数的收敛速度 相同。 即是线性收敛的。 2.不能用于求偶重根、复根;不能推广到多元方程组求解; 例 x 2 0在[1,1] x 2 1 0 不能求出所有根,(即有可能漏根)。 例 如图
x
第六章非线性方程组的迭代解法

含根区间 [ak 1 , bk 1 ] 满足(6.2)式,即
ak xk,bk xk
(1) [ak 1 , bk 1 ] [ak , bk ] h ( 2) bk 1 ak 1 k 1 2 (3) f (ak 1 ) f (bk 1 ) 0
画出对数曲线y=logx,与双曲线y= 1/x,它们交 点的横坐标位于区间[2,3]内
第六章非线性方程组的迭代解法
(1) 画图法
y
1 y x
y logx
0 2 3 x
第六章非线性方程组的迭代解法
(1) 画图法

对于某些看不清根的函数,可以扩大一下曲线
y y=kf(x) y=f(x)
0
x
2 +
f(x)
可以看出,在[1.0,1.5]内必有一根
x
第六章非线性方程组的迭代解法
用逐步搜索法进行实根隔离的关键是选取步长h
要选择适当h ,使之既能把根隔离开来,工作量
又不太大。
为获取指定精度要求的初值,可在以上隔离根的
基础上采用对分法继续缩小该含根子区间
二分法可以看作是搜索法的一种改进。
3 方程求根的二分法(对分法或分半法) (bisection method)
(1) [a1 , b1 ] [a0 , b0 ] h ( 2 ) b a 1 1 2 (3) f (a1 ) f (b1 ) 0
以[a1 , b1 ]取代 [a0 , b0 ],继续以上过程 , 得[a2 , b2 ] .
第六章非线性方程组的迭代解法 一般的, 设已得含根区间 [ai , bi ] ,i 0,1,, k ,满足: (1) [ai , bi ] [ai 1 , bi 1 ], i 1,2,, k , ( 2) b a h , i 0,1,, k , i i (6.2) 2i (3) f (a ) f (b ) 0, i 0,1,, k . i i x* xk bk ak 对区间 [ak , bk ],
而{ak }单调上升,有上界 x*,
{bk }单调下降,有下界 x *。
* { x } , x , ( k ) 其极限为 即序列 { x } 近似解序列 k k 0 k k 0
* 收敛于f ( x ) 0 的一个根 x . 即 xk x
*
h
* ba x , 就有 xn . 说明: 对于给定的误差界 0, 只要 n 1 2
an x an1 x
n
n1
a1 x a0 0
(an 0)
为n次代数方程,当n>1时,方程显然是非线性的. 一般稍微复杂的3次以上的代数方程或超越方程,很难甚 至无法求得精确解。本章将介绍常用的求解非线性方程的近 似根的几种数值解法.
第六章非线性方程组的迭代解法
通常方程根的数值解法大致分为三个步骤进行 ①判定根的存在性。即方程有没有根?如果有 根,有几个根? ②确定根的分布范围。即将每一个根用区间隔 离开来,这个过程实际上是获得方程各根的 初始近似值. ③根的精确化。将根的初始近似值按某种方法 逐步精确化,直到满足预先要求的精度为止.
相关文档
最新文档