不动点及收敛理论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 一元方程求根/非线性方程组数值解法初步 4.1 一元方程求根的主要概念、思想和二分法 1.
主要概念
包含一个未知量的x 的一元方程的一般形式记为 0)(=x f 通常,考虑如下的情形:
(1) 一元函数f 在某个区间比如],[b a 上连续,即],[b a C f ∈的情形。 (2) f 是x 的二次以上的代数多项式,如 0
10423=-+x x
这时称方程为多项式方程或高次代数方程。 (3) f 不是代数多项式,如 01=-x
xe , 0cos 2312=--x x , ;012222=-+-x
e x x
这称为超越方程,也是本章的研究内容。
通常,对于f 不是x 的线性函数的方程,人们统称为一元非线性方程,简称一元方程或非线性方程。
在实际应用中,f 可能是非常复杂的表达式,甚至还包含多个其他参数,令人眼花缭乱。因此,首先一定要识别未知量是哪一个,是不是这里所研究的一元非线性方程的情形。只有这样,才能使用一元非线性方程求根的计算方法。我们将看到,非线性方程的求根的方法主要是迭代法。
方程0)(=x f 的解*x ,即0)(*=x f ,也称为方程的根,或函数f 的零点。这里 *x 可为实数或复数,但我们主要考虑实数根。
我们熟悉一元二次方程有单根与重根 的概念。推广到一般非线性方程,若f 可表示为
)()()(*
x g x x x f m
-=
其中 m 为正整数,0)(*≠x g ,则称*x 是方程0)(=x f 的m 重根,或函数
f
的m 重零点。当1=m 时,*x 是方程0)(=x f 的单根,或函数f 的单重
零点。由此,若*x 是0)(=x f 的m 重根且)(x g 充分光滑,则意味着
⎪⎩⎪⎨⎧≠===-0*)(0
)(,,0)(',0)()
(*
)
1(*
*x f
x f
x f x f m m
2. 主要思想
如果假设方程在区间],[b a 有根,就称为],[b a 为方程的有根区间;如果还已知方程在],[b a 上有且只有一个根,即有根区间把根隔离了,那样更好。显然,在已知有根区间的前提下,把有根区间不断缩小,便可逐步得出根的近似值。这正是一元非线性方程求根的基本思想。 这样说来,方程求根的全过程,就是先谋求“有根区间”或“根的邻域”。然后展开对根的粗粗糙近似值的精确化。
寻找有根区间(包括根的邻域),通常有这样的一些线索: (1)
如果f 是n 次多项式,则由代数基本定理知,在复数域内方程
有n 个根;如果f 还是实系数多项式,则复根将成对出现。 (2)
对一般方程,利用连续函数性质,如果
]
,[b a C f ∈,且
0)()(
,则方程在],[b a 内至少有一实根;又)('x f 在],[b a 中不变号且不为0,则方程在],[b a 内只有惟一根。 (3) 如果希望找出方程的所有实根,则可用一个适当的步长,对f 的
定义区间进行“扫描“,利用(2)的方法搜索出对应的有根区间。 (4) 此外,对具体的问题也可使用具体的试算手段。
在有根区间或根的邻域的基础上,各种著名的求根方法(如第一张介
绍的不动点迭代法、Newton 迭代法等等)就从这里开始,把粗糙近似值进行不断的精确化,直到满足精度为止。
3.二分法(对半法)
二分法本来是一个独立的求根方法,在计算机查找算法中也是很常用的简单算法。但在数值计算中,直接用它来求根已经不多,但用它来快速缩小有根区间则相当有效。
无妨设 0)(b f ,则],[b a 为有根区间。记],[],[00b a b a =,第一次计算中点
2
01b a x +=
及其函数值)(1x f ,这时有 0)()(00
间
],[],[1110b a x a =且 2
11a b a b -=
-
第二次计算中点 2
1
12
b a x +=
及其函数值)(2x f ,这时有0)()(21>x f a f ,
于是得新有根区间 ],[],[2212b a x x =且 2
22
2
a b a b -=
-
如此继续,第n 次计算中点 2
1
1--+=
n n n b a x 及其函数值)(n x f 后,可得新
有根区间
],[n n b a 且 n
n n
a b a b
2
-=
-
于是在],[n n b a 中任取一点,如取n a 或n b (其中一个就是n x )或其他,比如记为x (不一定是中点)作为方程根*x 的近似值,则至少有误差估计
n
a b x x 2
||*
-≤
-(若
x
取
]
,[n n b a 的中点
2
1n
n n b a x +=
+,则
1
1*
2
||++-≤
-n n a b x x )
可见 1+n x 必收敛于*x .
二分法简单可靠,只要求)(x f 连续,收敛性总能得到保证。其缺点是不能用来求复数和偶重根。二分法主要用来快速(一半一半地)缩小有根区间,从而可提供较好的精确化初值。如果用来求],[b a 的根,通常不假定],[b a 内只有一个根,而是先用一个适当的步长h 对],[b a 进行扫描搜索,当发现哪个子区间有根时,便调用上述二分算法过程求出其中之根。所谓适当的步长h ,就是既不因为h 过大而漏掉包含的根,也不因h 过小而耗费计算精力。
4.2 不动点迭代法及其收敛性理论 1.迭代法 (不动点迭代法)
迭代法是求解一元非线性方程 0)(=x f 的主要方法。其做法是(类似线性代数方程组的迭代法):将方程
)(=x f 改写为等价方程
)(x x ϕ=
这时,方程)(x x ϑ=成为“隐式”形式,除非ϑ是x 的线性函数,否则不能直接算出它的根。对此,从某个初始值0x 开始,对应)(x x ϕ=构造迭代公式(格式)
)
,2,.1,0)((1 ==+k x x k k ϕ
这就可确定序列{}),2,1,0( =k x k (因x 是单变量,所以迭代标记k 写为
下标即可)。