数值分析 第7章 非线性方程的数值解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x0 , x1, x2 , xk , ,
且 x*xk (bk ak )/2 (ba)/ 2k1,
(1.3)
(4) 要使
x * xk
,
k ln(b a) ln 1
ln 2
只要二分足够多次(即 k充分大),便有
x * xk , 这里 为预定的精度.
例3 用二分法求方程 x3 x 1 0 在区间 [1,1.5] 上的根,误差
➢结论若 是x * 的f (x重) 零点m,且 充分g光(x滑) ,则
f ( x*) f ( x*) f (m1)( x*) 0, f (m)( x*) 0.
n次方程在复数域有且只有 个n根(含重根, 重m根为 个根m).
本章将介绍常用的求解非线性方程的近似根的几种数值解法
通常方程根的数值解法大致分为2个步骤进行:
得到新的有根区间 [a1, b1].
欲使
x*xk
(bk
ak
)
/
2
(b
a)
/
2k
1
1 2
1 2 k 1
0.005,
只需 k ,6 即只要二分6次,便能达到预定的精度.
k ak 0 1.0
bk
xk
f ( xk )符号
1.5 1.25
1 1.25
1.375
2
1.375 1.3125
3 1.3125
1.3438
xi=x0+ih (i=0,1,2,……) 考察函数值f(xi)的符号,当f(x)连续且f(xi) .f(x i+1)<0,则区
间[xi , x i+1]为有根区间,若导数不变号有唯一根。
例2 求方程 f (x) x3 11.1x2 的38有.8x根区41间.77. 0
对 f (x) 的 0根进行搜索计算,
例1 求方程3x-1-cosx=0的有根区间。
方程等价变形为3x-1=cosx,
y=3x-1与y=cosx的图像只有一个交点位于[0.5,1]内。
(2)解析法
根据函数的连续性、介值定理和单调性寻找有根区间和唯一 根的区间。
(3)定步长搜索法
在某一区间[a,b]上,从x0=a 出发,以步长 h=(b-a)/n 其中n是正整数,在[a,b]内取定节点:
得到序列
{
x
k
}有极限 k0
lim
k
xk
x *. 则称迭代法收敛,
且 x* 为(x*) 的不 (动x)点。
不动点迭代是一种逐次逼近的方法,用某个固定公式反复校正根
的近似值,使之逐步精确化,最后得到满足精度要求的结果。
➢迭代终止的判定 对预先给定的精度要求ε,只要某个k满足 即可结束计算并取 x* xk
38年后,即1870年,法国数学家若当(C·Jordan)在专著 《论置换与代数方程》中阐发了伽罗华的思想,一门现代 数学的分支—群论诞生了。
在前几个世纪中,曾开发出一些求解代数方程的有效算法, 它们构成了数值分析中的古典算法。至于超越方程则不存 在一般的求根方式。
在科学研究的数学问题中更多的是非线性问题,它们又常 常归结为非线性方程或非线性方程组的求解问题。
其中 a0 0, ai (i 为0,1实,数,, n则) 称方程(1.2)为 次代数方程.
(1.2)
n
超越函数 不能表示为多项式的函数
如 (x)=3x5-2x4+8x2-7x+1=0 (x)=e2x+1-xln(sinx)-2=0
高次代数方程
超越方程
➢方程的根与函数的零点
f ( x) 0 (1.1)
解 表7 -1 计算结果
x
0123456
f (x)的符号
由此可知方程的有根区间为 [1,2],[3,4],[5,6].
7.1.2 二分法/* Bisection Method */ 求解方程f(x)= 0的近似根的最直观、最简单方法。
➢原理 设函数f(x) C[a,b]上连续,且f(a)f(b)<0,则 f(x)= 0在(a,b) 内至少存在一个根。
若 x满* 足 f (x*,) 则0
x;*反 之(亦x*然) ,称
x*
为函数 (的x)一个不动点.
求 f (x)的零点就等价于求 (x) 的不动点.
迭代格式 xk1 (xk ) (k 0,1, ).
(2.2)
(称x)为迭代函数.
➢格式的收敛性
如果对任何 x0 [,a, 由b]迭代 xk1 ( xk ) (k 0,1, ). 不动点迭代法
0 y
输 出x 结束
n
x a
n
例4 求方程 f (x) x3 x 1 0 在区间 [1.0,1内.5的] 一个实根,要求准确到小数点后第2位. 解 a 1.0, b 1.5 f (a) 0, f (b) 0
x0 1.25 f (x0 ) 0 a1 x0 1.25, b1 b 1.5
① 根的搜索。 寻找根的大概位置,及有根区间,进而找出有唯一根的区间。 即将每一个根用区间隔离开来,这个过程实际上是获得方程 各根的初始近似值。 ② 根的精确化。 将根的初始近似值按某种方法逐步精确化,直到满足预先要求 的精度为止. ➢ 根的存在性定理——闭区间上连续函数的介值定理 有根区间
设 f(x)∈C[a, b], 且 f(a) f(b)<0, 至少存在ξ∈(a,b) ,使 f(ξ)=0.
a
2
b
b1
b2
b3
由二分法的过程知
(1) [a, b] [a1, b1] [a2 , b2 ] [ak , bk ] , f (ak ). f (bk ) 0, x* [ak ,bk ],
(2)
bk ak
bk1 ak1 2
ba 2k
(3)
xk
ak
bk 2
作为根的近似
近似根的序列
首先取一个粗糙的近似值,然后用同一个递推公式,反复 校正这个初值,直到满足预先给出的精度要求为止。 7.2.1 不动点与不动点迭代法/*Fixed-Point Iteration*/
已知方程 f ( x)在 0区间[a,b] 内有一个根x*,在区间[a,b]
f ( x) 0 x ( x). (x) C[a,b] (2.1)
注:用二分法求根,最好先给出 f (x) 草图以确定根的大概 位置。或用搜索程序,将[a, b]分为若干小区间,对每一个 满足 f (ak)·f (bk) < 0 的区间调用二分法程序,可找出区间 [a, b]内的多个根,且不必要求 f (a)·f (b) < 0 。
7.2 不动点迭代法及其收敛性 迭代法——逐次逼近的方法 如何构造一个合适的递推公式?
但在以后的几十年中仍然没有找出高次代数方程的公式解。 一直到18世纪,法国数学家拉格朗日用根置换方法统一了 二、三、四方程的解法。
但求解五次方程时未能如愿,开始意识到有潜藏其中的奥妙, 用现代术语表示就是置换群理论问题。
在继续探索5次以上方程解的艰难历程中,第一个重大突破 的是挪威数学家阿贝尔(N·Abel1802-1829) 1824年阿贝 尔发表了“五次方程代数解法不可能存在”的论文,但并 未受到重视,连数学大师高斯也未理解这项成果的重要意 义。
方法二: x 3 x 1 取迭代函数 2( x) 3 xk 1
构造迭代格式 xk1 3 xk 1 (k 0,1,2, ) 取初值 x0 1.5
表7 3
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
7.1 方程求根与二分法
7.1.1 引言 单变量非线性方程的一般形式
f (x) 0 其中 x R, f (x) C[也a,可b]以, [是a,无b]穷区间. ➢代数方程与超越方程 如果函数 f是(x多) 项式函数,即
(1.1)
f ( x) a0 xn a1 xn1 an1 x an (a0 0),
远在公元前1700年的古巴比伦人就已有关于一、二次方程 的解法。《九章算术》(公元前50~100年)其中“方程术” 有联立一次方程组的一般解法。
1535年意大利数学家坦特格里亚(TorTaglia)发现了三次方 程的解法,卡当(H·Cardano)从他那里得到了这种解法, 于1545年在其名著《大法》中公布了三次方程的公式解, 称为卡当算法。
如果实数 x满* 足 f (x*,) 0 则称 x是* 方程(1.1)的根,或称 是x * 的f 零(x点) .
若f (可x)分解为
其中 m为正整数,
f ( x) ( x x*)m g( x),
g( x*) 0.
则称 x为*方程(1.1)的 重m根,或 为x *的f 重(x零) 点m,
m 时1为单根.
第7章 非线性方程与方程组的数值解法
/* Numerical Solutions of Nonlinear Equations*/
7.1 方程求根与二分法 7.2 不动点迭代法及其收敛性 7.3 迭代收敛的加速方法 7.4 牛顿法 7.5 弦截法与抛物线法 7.6 求根问题的敏感性与多项式的零点 7.7 非线性方程组的数值解法
4 1.32494
如果仅取6位数字,
结果x7与 完x8全相同, x即7 为所求的根.
说明:①迭代函数不唯一,②迭代点列可能收敛,也可能 发散,迭代收敛与否不仅与迭代函数有关,还与初始 点有关。
➢不动点迭代的几何解释
x
(x)
y
y x
(x)
交点的横坐标
y=x
y (x)
( x0 )
( x2 ) ( x1 )
后来卡当的学生弗瑞里(Ferrari)又提出了四次方程的解法。 此成果更激发了数学家们的情绪,但在以后的二个世纪中, 求索工作始终没有成效,导致人们对高次代数方程解的存 在性产生了怀疑。
1799年,高斯证明了代数方程必有一个实根或复根的定理, 称此为代数基本定理,并由此可以立刻推理n次代数方程必 有n个实根或复根。
后来伽罗华命运不佳,投考名校巴黎工科大学落榜,屈就高 等师院,并卷入政事两次入狱,被开除学籍,又决斗受伤, 死于1832年。决斗前,他把关于五次代数求解的研究成果写 成长信,留了下来。
十四年后,法国数学家刘维尔(J·Liouville)整理并发表了 伽罗华的遗作,人们才意识到这项近代数学发展史上的重 要成果的宝贵。
1828年17岁的法国数学家伽罗华(E·Galois 1811-1832)写出 了划时代的论文“关于五次方程的代数解法问题”,指出即 使在公式中容许用n次方根,并用类似算法求五次或更高次 代数方程的根是不可能的
文章呈交法兰西科学院后,因辈份太低遭到冷遇,且文稿丢 失。1830年伽罗华再进科学院递稿,得到泊松院士的判词 “完全不能理解”。
xk xk1
例5 求方程
f (x) x3 x 1 0
(2.3)
在 x0 附1.5近的根 x *.
解 构造迭代格式。
方法一: x x3 1 取迭代函数 1( x) x3 1
构造迭代格式 xk1 xk3 1 (k 0,1,2, ) 取初值 x0 1.5
k0 1
2
3
发散
xk 1.5 2.375 12.396 1904.002
如果f(x)在[a,b]上单调递增或递减的,则f(x)=0仅有一个实根。
如何求方程 f ( x)的有0 根区间? (1)描图法
画出y=f(x)的略图,从而看出曲线与x轴交点的大致位置。 将f(x)=0等价变形为g1(x)=g2(x)的形式,y=g1(x)与y=g2(x) 两曲线交点的横坐标所在的子区间即为有根区间。
限为 102,问至少需对分多少次?
解: a 1, b 1.5, 102;
k ln(b a) ln 1
ln 2
ln(1.5 1) ln102 1 4.64
ln 2 k 5
➢二分法的算法
y
xb
开始 输 入 a , b,ε
(a+b)/2 x
f(a) f(x )<0 ?
|b-a|< ε
4
1.3438 1.3281
5
1.3281 1.3203
6 0.3203
1.3242
优点 不管有根区间多大,总能求出满足精度要求的根, 且对函数f(x)的要求不高,只要连续即可,计算亦简单。
缺点 二分法对多个零点的情况,只能算出其中一个零点。 即使 f(x)在[a, b]上有零点,也未必有 f(a) f(b)<0。
➢基本思想
逐步将区间二等分, 通过判断区间端点f(x)的符号, 将有根区 间缩小,直至有根区间足够地小, 便可求出满足精度要求的近 似根。
➢具体做法
[a1, b1] [a2 , b2 ] [a3, b3]
y
a3Βιβλιοθήκη Baidu
a2
b2 2
x2
a1
y f (x)
以
o
a
•••
x
bx
此
类 推
a2
a1
b1 2
x1
x0
且 x*xk (bk ak )/2 (ba)/ 2k1,
(1.3)
(4) 要使
x * xk
,
k ln(b a) ln 1
ln 2
只要二分足够多次(即 k充分大),便有
x * xk , 这里 为预定的精度.
例3 用二分法求方程 x3 x 1 0 在区间 [1,1.5] 上的根,误差
➢结论若 是x * 的f (x重) 零点m,且 充分g光(x滑) ,则
f ( x*) f ( x*) f (m1)( x*) 0, f (m)( x*) 0.
n次方程在复数域有且只有 个n根(含重根, 重m根为 个根m).
本章将介绍常用的求解非线性方程的近似根的几种数值解法
通常方程根的数值解法大致分为2个步骤进行:
得到新的有根区间 [a1, b1].
欲使
x*xk
(bk
ak
)
/
2
(b
a)
/
2k
1
1 2
1 2 k 1
0.005,
只需 k ,6 即只要二分6次,便能达到预定的精度.
k ak 0 1.0
bk
xk
f ( xk )符号
1.5 1.25
1 1.25
1.375
2
1.375 1.3125
3 1.3125
1.3438
xi=x0+ih (i=0,1,2,……) 考察函数值f(xi)的符号,当f(x)连续且f(xi) .f(x i+1)<0,则区
间[xi , x i+1]为有根区间,若导数不变号有唯一根。
例2 求方程 f (x) x3 11.1x2 的38有.8x根区41间.77. 0
对 f (x) 的 0根进行搜索计算,
例1 求方程3x-1-cosx=0的有根区间。
方程等价变形为3x-1=cosx,
y=3x-1与y=cosx的图像只有一个交点位于[0.5,1]内。
(2)解析法
根据函数的连续性、介值定理和单调性寻找有根区间和唯一 根的区间。
(3)定步长搜索法
在某一区间[a,b]上,从x0=a 出发,以步长 h=(b-a)/n 其中n是正整数,在[a,b]内取定节点:
得到序列
{
x
k
}有极限 k0
lim
k
xk
x *. 则称迭代法收敛,
且 x* 为(x*) 的不 (动x)点。
不动点迭代是一种逐次逼近的方法,用某个固定公式反复校正根
的近似值,使之逐步精确化,最后得到满足精度要求的结果。
➢迭代终止的判定 对预先给定的精度要求ε,只要某个k满足 即可结束计算并取 x* xk
38年后,即1870年,法国数学家若当(C·Jordan)在专著 《论置换与代数方程》中阐发了伽罗华的思想,一门现代 数学的分支—群论诞生了。
在前几个世纪中,曾开发出一些求解代数方程的有效算法, 它们构成了数值分析中的古典算法。至于超越方程则不存 在一般的求根方式。
在科学研究的数学问题中更多的是非线性问题,它们又常 常归结为非线性方程或非线性方程组的求解问题。
其中 a0 0, ai (i 为0,1实,数,, n则) 称方程(1.2)为 次代数方程.
(1.2)
n
超越函数 不能表示为多项式的函数
如 (x)=3x5-2x4+8x2-7x+1=0 (x)=e2x+1-xln(sinx)-2=0
高次代数方程
超越方程
➢方程的根与函数的零点
f ( x) 0 (1.1)
解 表7 -1 计算结果
x
0123456
f (x)的符号
由此可知方程的有根区间为 [1,2],[3,4],[5,6].
7.1.2 二分法/* Bisection Method */ 求解方程f(x)= 0的近似根的最直观、最简单方法。
➢原理 设函数f(x) C[a,b]上连续,且f(a)f(b)<0,则 f(x)= 0在(a,b) 内至少存在一个根。
若 x满* 足 f (x*,) 则0
x;*反 之(亦x*然) ,称
x*
为函数 (的x)一个不动点.
求 f (x)的零点就等价于求 (x) 的不动点.
迭代格式 xk1 (xk ) (k 0,1, ).
(2.2)
(称x)为迭代函数.
➢格式的收敛性
如果对任何 x0 [,a, 由b]迭代 xk1 ( xk ) (k 0,1, ). 不动点迭代法
0 y
输 出x 结束
n
x a
n
例4 求方程 f (x) x3 x 1 0 在区间 [1.0,1内.5的] 一个实根,要求准确到小数点后第2位. 解 a 1.0, b 1.5 f (a) 0, f (b) 0
x0 1.25 f (x0 ) 0 a1 x0 1.25, b1 b 1.5
① 根的搜索。 寻找根的大概位置,及有根区间,进而找出有唯一根的区间。 即将每一个根用区间隔离开来,这个过程实际上是获得方程 各根的初始近似值。 ② 根的精确化。 将根的初始近似值按某种方法逐步精确化,直到满足预先要求 的精度为止. ➢ 根的存在性定理——闭区间上连续函数的介值定理 有根区间
设 f(x)∈C[a, b], 且 f(a) f(b)<0, 至少存在ξ∈(a,b) ,使 f(ξ)=0.
a
2
b
b1
b2
b3
由二分法的过程知
(1) [a, b] [a1, b1] [a2 , b2 ] [ak , bk ] , f (ak ). f (bk ) 0, x* [ak ,bk ],
(2)
bk ak
bk1 ak1 2
ba 2k
(3)
xk
ak
bk 2
作为根的近似
近似根的序列
首先取一个粗糙的近似值,然后用同一个递推公式,反复 校正这个初值,直到满足预先给出的精度要求为止。 7.2.1 不动点与不动点迭代法/*Fixed-Point Iteration*/
已知方程 f ( x)在 0区间[a,b] 内有一个根x*,在区间[a,b]
f ( x) 0 x ( x). (x) C[a,b] (2.1)
注:用二分法求根,最好先给出 f (x) 草图以确定根的大概 位置。或用搜索程序,将[a, b]分为若干小区间,对每一个 满足 f (ak)·f (bk) < 0 的区间调用二分法程序,可找出区间 [a, b]内的多个根,且不必要求 f (a)·f (b) < 0 。
7.2 不动点迭代法及其收敛性 迭代法——逐次逼近的方法 如何构造一个合适的递推公式?
但在以后的几十年中仍然没有找出高次代数方程的公式解。 一直到18世纪,法国数学家拉格朗日用根置换方法统一了 二、三、四方程的解法。
但求解五次方程时未能如愿,开始意识到有潜藏其中的奥妙, 用现代术语表示就是置换群理论问题。
在继续探索5次以上方程解的艰难历程中,第一个重大突破 的是挪威数学家阿贝尔(N·Abel1802-1829) 1824年阿贝 尔发表了“五次方程代数解法不可能存在”的论文,但并 未受到重视,连数学大师高斯也未理解这项成果的重要意 义。
方法二: x 3 x 1 取迭代函数 2( x) 3 xk 1
构造迭代格式 xk1 3 xk 1 (k 0,1,2, ) 取初值 x0 1.5
表7 3
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
7.1 方程求根与二分法
7.1.1 引言 单变量非线性方程的一般形式
f (x) 0 其中 x R, f (x) C[也a,可b]以, [是a,无b]穷区间. ➢代数方程与超越方程 如果函数 f是(x多) 项式函数,即
(1.1)
f ( x) a0 xn a1 xn1 an1 x an (a0 0),
远在公元前1700年的古巴比伦人就已有关于一、二次方程 的解法。《九章算术》(公元前50~100年)其中“方程术” 有联立一次方程组的一般解法。
1535年意大利数学家坦特格里亚(TorTaglia)发现了三次方 程的解法,卡当(H·Cardano)从他那里得到了这种解法, 于1545年在其名著《大法》中公布了三次方程的公式解, 称为卡当算法。
如果实数 x满* 足 f (x*,) 0 则称 x是* 方程(1.1)的根,或称 是x * 的f 零(x点) .
若f (可x)分解为
其中 m为正整数,
f ( x) ( x x*)m g( x),
g( x*) 0.
则称 x为*方程(1.1)的 重m根,或 为x *的f 重(x零) 点m,
m 时1为单根.
第7章 非线性方程与方程组的数值解法
/* Numerical Solutions of Nonlinear Equations*/
7.1 方程求根与二分法 7.2 不动点迭代法及其收敛性 7.3 迭代收敛的加速方法 7.4 牛顿法 7.5 弦截法与抛物线法 7.6 求根问题的敏感性与多项式的零点 7.7 非线性方程组的数值解法
4 1.32494
如果仅取6位数字,
结果x7与 完x8全相同, x即7 为所求的根.
说明:①迭代函数不唯一,②迭代点列可能收敛,也可能 发散,迭代收敛与否不仅与迭代函数有关,还与初始 点有关。
➢不动点迭代的几何解释
x
(x)
y
y x
(x)
交点的横坐标
y=x
y (x)
( x0 )
( x2 ) ( x1 )
后来卡当的学生弗瑞里(Ferrari)又提出了四次方程的解法。 此成果更激发了数学家们的情绪,但在以后的二个世纪中, 求索工作始终没有成效,导致人们对高次代数方程解的存 在性产生了怀疑。
1799年,高斯证明了代数方程必有一个实根或复根的定理, 称此为代数基本定理,并由此可以立刻推理n次代数方程必 有n个实根或复根。
后来伽罗华命运不佳,投考名校巴黎工科大学落榜,屈就高 等师院,并卷入政事两次入狱,被开除学籍,又决斗受伤, 死于1832年。决斗前,他把关于五次代数求解的研究成果写 成长信,留了下来。
十四年后,法国数学家刘维尔(J·Liouville)整理并发表了 伽罗华的遗作,人们才意识到这项近代数学发展史上的重 要成果的宝贵。
1828年17岁的法国数学家伽罗华(E·Galois 1811-1832)写出 了划时代的论文“关于五次方程的代数解法问题”,指出即 使在公式中容许用n次方根,并用类似算法求五次或更高次 代数方程的根是不可能的
文章呈交法兰西科学院后,因辈份太低遭到冷遇,且文稿丢 失。1830年伽罗华再进科学院递稿,得到泊松院士的判词 “完全不能理解”。
xk xk1
例5 求方程
f (x) x3 x 1 0
(2.3)
在 x0 附1.5近的根 x *.
解 构造迭代格式。
方法一: x x3 1 取迭代函数 1( x) x3 1
构造迭代格式 xk1 xk3 1 (k 0,1,2, ) 取初值 x0 1.5
k0 1
2
3
发散
xk 1.5 2.375 12.396 1904.002
如果f(x)在[a,b]上单调递增或递减的,则f(x)=0仅有一个实根。
如何求方程 f ( x)的有0 根区间? (1)描图法
画出y=f(x)的略图,从而看出曲线与x轴交点的大致位置。 将f(x)=0等价变形为g1(x)=g2(x)的形式,y=g1(x)与y=g2(x) 两曲线交点的横坐标所在的子区间即为有根区间。
限为 102,问至少需对分多少次?
解: a 1, b 1.5, 102;
k ln(b a) ln 1
ln 2
ln(1.5 1) ln102 1 4.64
ln 2 k 5
➢二分法的算法
y
xb
开始 输 入 a , b,ε
(a+b)/2 x
f(a) f(x )<0 ?
|b-a|< ε
4
1.3438 1.3281
5
1.3281 1.3203
6 0.3203
1.3242
优点 不管有根区间多大,总能求出满足精度要求的根, 且对函数f(x)的要求不高,只要连续即可,计算亦简单。
缺点 二分法对多个零点的情况,只能算出其中一个零点。 即使 f(x)在[a, b]上有零点,也未必有 f(a) f(b)<0。
➢基本思想
逐步将区间二等分, 通过判断区间端点f(x)的符号, 将有根区 间缩小,直至有根区间足够地小, 便可求出满足精度要求的近 似根。
➢具体做法
[a1, b1] [a2 , b2 ] [a3, b3]
y
a3Βιβλιοθήκη Baidu
a2
b2 2
x2
a1
y f (x)
以
o
a
•••
x
bx
此
类 推
a2
a1
b1 2
x1
x0