- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
and Accelerating Convergence)
3 .1 引言- 问题的提出
函数方程 f(x)=0 (1)
若f(x)不是x的线性函数, 则称(1)为非线性方程, 特别
若f(x)是n次多项式,则称(1)为n次多项式方程或代数方 程;若f(x)是超越函数,则称(1)为超越方程。
对于代数方程: a n x n + a n −1 x n −1 + + a1 x + a 0 = 0 理论上已证明,当次数n≤4时,它的根可以用公式表示,而 当次数n≥5时,它的根一般不能用解析表达式表示. 对于超越方程,如:x 3 –e-x =0,没有求根公式。 因此对于函数方程:f(x)=0,一般来说,不存在根的解析表 达式,求根需要求助于数值方法。
采用某种方法解方程,求得 λ ≈ 0.1010.
将 N0 = 1564000, ν = 435000, t = 1, λ = 0.1010 代入公式(1), 求得 N (1) = 2,187, 939.
即第二年末该社区的人口为2,187,939人.
基本概念
求根问题包括:根的存在性、根的范围和根的精 确化。
非线性方程求根方法
3 .1 引言----问题的提出及有关概念 3 .2 二分法 (The Bisection Method) 3 .3 不动点迭代法(Fixed-Point Iteration) 3 .4 牛顿法(Newton‘s Method) 3 .5 收敛阶与加速收敛(Convergence Order
取[a,b]区间的中点x0 =(a+b)/2,
若f(x0)=0,则x0是f(x)=0的实根x*.
若f(a)f(x0)<0 成立,则 x* 必在区间(a, x0)内,取 a1=a,b1= x0;否则x*必在区间(x0,b)内,取 a1=x0,b1=b. 这样,得到新的有根区间(a1,b1),其长度为[a,b]的 一半,如此继续下去,进行k次2分后,得到一组有 根区间,[a,b],[a1,b1],... [ak,bk] ....见图二。
若区间[a,b]含有方程f(x )=0的根,则称 [a,b]为f(x )=0的有根区间;若区间[a,b]仅含方 程f(x )=0的一个根,则称[a,b]为f(x )=0的一 个隔根区间。P48,Df3-2
y
重根的判别
a
bx
图1
根的存在定理(介值定理)
假设函数y=f(x)连续,x∈[a,b],
且f(a)· f(b)<0, 则至少存在一点x ∈[a,b] 使得f(x )=0。函数图象如图1
−1)
设某社区年初人口数为1,000,000,这一年外地移民率为 435,000,年末该社区人口数为1,564,000.若假设第二年人口出 生率与外地移民率不变,试预测第二年年末该社区的人口数.
解 首先确定人口出生率λ.
将已知数据代入公式
N (t )
=
N0eλt
+
ν λ
(eλt
−1)
(1)
得方程 1,564, 000 = 1, 000, 000eλ + 435, 000 (eλ −1) λ
定义1 若有x* 满足 ƒ(x*)=0 , 则称x*为方程的根或函数 ƒ(x)的零点,特别地,如果函数ƒ(x)可分解为
ƒ(x)=(x− x* )mg(x) 且lim x→x*g(x )≠0, 则称x*是ƒ(x)的m重零点或ƒ(x)=0的m重根。 当m=1时,称x*是ƒ(x)的单根 或单零点。 P47,Df3-1
1
定理1 设函数 f(x) ∈Cm[a,b], 则点x*∈(a,b)是 f(x)的m重零点,当且仅当 0=f(x*)=f’(x*)=f”(x*)=…=f(m-1)(x*), 但 f(m)(x*) ≠0
例题 给定方程:
x-sinx=0
问x*=0是方程的 几重根.
P48,Th3-1
解:设 f(x)=x-sinx ,则 f(0)=0;
f ’(x)=1-cosx , f ’(0)=0;
f ’’(x)=sinx , f ’’(0)=0;
f (3)(x)=cosx , f (3)(0)=1≠0;
由定理1,
x*=0是f(x)的3重零点.
方程求根方法分为区间法和迭代法两大类。
3.2 二分法(The Bisection Method) P48
解:令
f (x) = 2x3 − 5x −1
f(1)<0, f(2)>0 记I0=[1,2] , x0 =(1+2)/2=1.5
因为 f(x0) f(1)>0 得I1=[1.5, 2] , x1 =(1.5+2)/2=1.75
f(x1) f(1.5)<0 得I2=[1.5, 1.75] , x2 =(1.5+1.75)/2=1.625 …….
≤ bk − ak 2
=
b−a 2k +1
对给定精度 ε,
若有 则有
bk
− ak 2
=
b−a 2k +1
≤ε
x* − xk
≤ ε , k ≥ ln(b − a) − lnε ln2
−1
此时xk 即为所求方程的近似解.
例题求解
例1:用二分法求方程 2x3 − 5x − 1 = 0在区间(1,2)
内的实根,要求误差限为 ε ≤ 10 −2 。
区间求根方法中最直观最简单的 方法是二分法。
二分法就是将方程的隔根区间对 分,然后再选择比原区间缩小一半 的隔根区间,如此继续下去,直到 得到满足精度要求的近似根为止。
给定方程f(x)=0的一个有根区间[a,b],设f(x)连续, 且f(a)f(b)<0,则方程f(x)在(a,b)内至少有一根x*。
图2
其中每一个区间的长度都是前一个长度的一半, 从而k次2分后,
区间[ ak , bk ]的长度为
bk
− ak
=
b−a 2k
区间 [ ak , bk ]的长度为
bk- ak=(b-a)/2k
当k→∞, 这些区间将收敛于一点x* ,点x*即为所求的根.
在第k次2分后,取中点
xk
=
ak
+ bk 2
有
x* − xk
方程求根问题广泛存在于工程实际中。
引例(人口预测问题)在短时期内,人口增长满足下述微分 方程
dN (t) = λ N (t) +ν dt
这里,N(t)表示t 时刻的人口,λ表示人口出生率,ν表示
外地移民率.若假设N0 为某一社区的初始人口,则微分方程
的解可表为:N (t)
=
N0eλt
+
ν λ
(eλt