不动点及收敛理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 写为

下标即可)。