第7章_非线性方程和非线性方程组的数值解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
得满足一定精度要求的方程的近似根也就成为迫
切需要解决的问题,为此,本章介绍几种常见的
非线性方程的近似求根方法.
上页 下页
主要讨论单变量非线性方程 f(x)=0 (1.1) 的求根问题,这里x∈R, f(x)∈C[a, b]. 在科学与工程 计算中有大量方程求根问题,其中一类特殊的问题 是多项式方程
代格式收敛,否则称为发散. (几何意义的解释见下 页)
上页 下页
上页
下页
上页
下页
例1 用迭代法求方程x4+2x2-x-3=0 在区间[1, 1.2] 内的实根.
解 对方程进行如下三种变形:
1 2 x 2 )4
x 1 ( x ) (3 x
x4 2x 2 x 3 0 x 2 ( x)
不论出现哪种情况, (a1, b1)均为新的有根区间, 它 的长度只有原有根区间长度的一半, 达到了压缩有根 区间的目的.
上页 下页
对压缩了的有根区间, 又可实行同样的步骤, 再压 缩. 如此反复进行, 即可的一系列有根区间套
[a , b] [a1 , b1 ] [an , bn ]
x x k ( x ) ( x k 1 ) L x x k 1 Lk x x0 . 因0<L<1,故当k→∞时序列{xk}收敛到x*.
上页 下页
下面证明估计式(2.5),由(2.4)有 x k 1 x k ( x k ) ( x k 1 ) L x k x k 1
* x 1 (b a ) 1 (b a) x n n n 2 2 n 1
x* , xn ( an1 , bn1 )
只要 n 足够大, (即区间二分次数足够多),误差就可 足够小. 由于在偶重根附近曲线 y=f(x) 为上凹或下凸, 即 f(a)与f(b)的符号相同, 因此不能用二分法求偶重根.
迭代法要求给出根x*的一个近似,若f(x)∈C[a, b] 且f(a)f(b)<0,根据连续函数性质中的介值定理可知方 程f(x)=0在(a, b)内至少有一个实根,这时称[a, b]为方 程(1.1)的有根区间.
上页
下页
7.1 方程求根的二分法
设f(x)在区间[a, b]上连续, f(a)· f(b)<0, 则在[a, b] 1 内有方程的根. 取[a, b]的中点 x0 (a b) , 2 将区间一分为二. 若 f (x0)=0, 则x0就是方程的根, 否则判别根 x*在 x0 的左侧还是右侧. 若f(a) · 0)<0, 则x*∈(a, x0), 令 a1= a, b1=x0; f(x 若f(x0) · f(b)<0, 则x*∈(x0 , b), 令 a1=x0, b1=b.
由连续函数性质可知存在 x*∈(a, b) 使 f(x*)=0,即
x*=(x*),x*即为(x)的不动点.
再证不动点的唯一性. 设x1*, x2*∈[a, b]都是(x) 的不动点,则由(2.4)得
x x ( x ) (x ) L x x x x .
1 2 1 2 1 2 1 2
f ( x ) a0 x a1 x
n
n 1
an1 x an (a0 0), (1.2)
其中系数ai(i=0,1,,n)为实数.
上页 下页
方程f(x)=0的根x*,又称为函数f(x)的零点,它使得 f(x*)=0,若f(x)可分解为 f(x)=(x-x*)mg(x), 其中m为正整数,且g(x*)≠0. 当m=1时,则称x*为单 根,若m>1称x*为(1.1)的m重根,或x*为函数f(x)的m 重零点. 若x*是f(x)的m重零点,且g(x)充分光滑,则
x k 1 2 ( x k )
4 k
xk 4 1
2 k
xk 1 3 ( x k ) x 2 x 3 x3 96, x4 8.495307 10
准确根 x* = 1.124123029, 可见迭代公式不同, 收敛情 况也不同. 第二种公式比第一种公式收敛快得多, 而
(2.2)
(x)称为迭代函数. 如果对任何x0∈[a, b],由(2.2)得
到的序列{xk}有极限
lim xk x .
k
则称迭代方程(2.2)收敛. 且x*=(x*)为(x)的不动点, 故称(2.2)为不动点迭代法.
上页
下页
xk 1 ( xk )
k
( k 0,1, 2,)
一步步向右搜索,若
f(a+jh)· f(a+(j+1)h)<0 (j=0,1,2,)
则区间[a+jh, a+(j+1)h]内必有根. 搜索过程也可从b开
始,这时应取步长 h<0.
上页
下页
7.2 不动点迭代法及其收敛性
7.2.1 不动点迭代法
将方程f(x)=0改写为等价方程形式 x=(x).
(2.1)
上页 下页
n 0 1 2 3 4 5 6
an bn xn 1.0 1.5 1.25 1.25 1.5 1.375 1.25 1.375 1.3125 1.3125 1.375 1.3438 1.3125 1.3438 1.3281 1.3125 1.3281 1.3203 1.3203 1.3281 1.3242
上页 下页
例2 用二分法求例1中方程 f(x)=x3-x-1=0的实根, 要求误差不超过0.005.
解 由例1可知x*∈(1, 1.5), 要想满足题意,即:
|x*-xn|≤0.005 则要
1 2
n 1
(b a)
1 2
n 1
(1.5 1)
1 2
n 2
0.005
2 由此解得 n 1 5.6, 取n=6, 按二分法计算过程见 lg 2 下表, x6 = 1.3242 为所求之近似根.
上述令p→∞, 及limxk+p=x* (p→∞)即得(2.6)式. 证毕.
f ( x ) f ( x ) f ( m 1) ( x ) 0, f ( m ) ( x ) 0.
当f(x)为代数多项式(1.2)时,根据代数基本定理 可知,n次代数方程f(x)=0在复数域有且只有n个根(含 复根,m重根为m个根).
上页 下页
n=1,2时方程的根是大家熟悉的,n=3,4时虽有求 根公式但比较复杂,可在数学手册中查到,但已不适 合数值计算,而n≥5时就不能用公式表示方程的根.因 此,通常对n≥3的多项式方程求根与一般连续函数方 程(1.1)一样都可采用迭代法求根.
L2 xk 1 xk 2 Lk x1 x0 .
于是对任意正整数p有
x k p x k x k p x k p 1 x k p 1 x k p 2 xk 1 xk ( Lk p 1 Lk p 2 Lk ) x1 x0 Lk (1 Lp ) Lk x1 x0 x1 x0 . 1 L 1 L
4
x 4 1
2
x 3 ( x) x 2x 3
分别按以上三种形式建立迭代公式,并取x0=1进行
迭代计算,结果如下:
上页 下页
xk 1 1 ( xk ) (3 xk 2 x )
1 2 4 k
x26 x27 1.124123 x6 x7 1.124123
引出矛盾,故(x)的不动点只能是唯一的. 证毕. 在(x)的不动点存在唯一的情况下,可得到迭代 法(2.2)收敛的一个充分条件.
上页 下页
定理2 设(x)∈C[a, b]满足定理1中的两个条件, 则对任意x0∈[a, b],由(2.2)得到的迭代序列{xk}收敛 到的不动点x*,并有误差估计式 Lk x xk x1 x0 . ( 2.5) 1 L L x xk xk 1 xk . ( 2.6) 1 L 证明 设x*∈[a, b]是(x)在[a, b]上的唯一不动点, 由条件1º ,可知{xk}∈[a, b],再由(2.4)得
若要求x*满足f(x*)=0,则x*=(x*);反之亦然,称x*为 函数(x)的一个不动点. 求f(x)的零点就等于求(x)的 不动点,选择一个初始近似值x0,将它代入(2.1)右端, 即可求得 x1=(x0).
上页 下页
可以如此反复迭代计算 xk+1=(xk) (k=0,1,2,).
上述令p→∞, 注意到limxk+p=x* (p→∞)即得(2.5)式.
上页 下页
又由于对任意正整数p有
x k p x k x k p x k p 1 x k p 1 x k p 2 x k 1 xk ( Lp 1 Lp 2 L) xk 1 x k 1 Lp 1 x k 1 xk xk 1 xk . 1 L 1 L
f(xn) + + + -
说明 (1) f(a)<0, f(b)>0 (2) 根据精 度要求, 取到小数 点后四位 即可.
二分法的优点是算法简单,且总是收敛的,缺 点是收敛的太慢,故一般不单独将其用于求根,只 是用其为根求得一个较好的近似值.
上页 下页
逐步搜索法
从区间[a, b]的左端点 a 出发, 按选定的步长h
( 2.4)
则(x)在[a, b]上存在唯一的不动点x*. 证明 先证不动点的存在性. 若(a)=a或(b)=b, 显然(x)在[a, b]上存在不动点. 因为a≤(x)≤b,以 下设(a)>a及(b)<b定义函数
上页 下页
f ( x ) ( x ) x. 显然f(x)∈C[a, b],且满足f(a)=(a)-a>0, f(b)=(b)-b<0,
第7章 非线性方程和方程组的数 值解法求根
• 7.1 方程求根的二分法
• 7.2 不动点迭代法
• 7.3 牛顿法、弦截法与抛物线法 • 7.4 非线性方程组的数值解法
上页
下页
7.0 引言
例如代数方程 超越方程 x5-x3+24x+1=0, sin(5x2)+e-x=0.
对于不高于4次的代数方程已有求根公式,而 高于4次的代数方程则无精确的求根公式,至于超 越方程 就更无法求出其精确的解,因此,如何求
7
第Fra Baidu bibliotek种公式不收敛.
上页 下页
当方程有多个解时,同一个迭代法的不同初值也
可能收敛到不同的根.
上页
下页
例1 表明原方程化为 x=(x) 的形式不同,有的
收敛,有的不收敛,有的发散.
例2 表明同一个迭代法的不同初值可能收敛到不
同的根. 只有收敛的的迭代过程才有意义,为此我们首 先要研究(x)的不定点的存在性及迭代法的收敛性.
lim xk x .
当(x)连续时,显然x*就是方程x=(x)之根(不动点). 于是可以从数列{xk}中求得满足精度要求的近似根. 这种求根方法称为不动点迭代法,
xk 1 ( xk ) ( k 0,1, 2,) 称为迭代格式, (x)称为迭代函数, x0 称为迭代初值,
数列{xk}称为迭代序列. 如果迭代序列收敛, 则称迭
上页
下页
7.2.2 不动点的存在性与迭代法的收敛性
首先考察(x)在[a, b]上不动点的存在唯一性. 定理1 设(x)∈C[a, b]满足以下两个条件: 1º对任意x∈[a, b]有a≤(x)≤b. 2º存在正数L<1,使对任意x,y∈[a, b]都有
( x) ( y) L x y .
由于每一区间都是前一区间的一半,因此区间 [an , bn]的长度为
1 bn an n (b a ) 2 若每次二分时所取区间中点都不是根,则上述过程将
无限进行下去. 当 n→∞ 时,区间必将最终收缩为一 点x* ,显然x*就是所求的根.
上页 下页
若取区间[an , bn]的中点 1 xn (an bn ) 2 作为x*的近似值,则有下述误差估计式