• 沒有找到結果。

数值计算方法 非线性方程的数值解法

N/A
N/A
Protected

Academic year: 2021

Share "数值计算方法 非线性方程的数值解法"

Copied!
185
0
0

加載中.... (立即查看全文)

全文

(1)

数值计算方法

非线性方程的数值解法

张晓平

2019 年 11 月 4 日

武汉大学数学与统计学院

(2)

Table of contents

1. 二分法

2. 不动点迭代法

3. 牛顿迭代法

4. 弦截法

(3)

求代数方程

x4− 10x3+ 35x2− 50x + 24 = 0 及超越方程

e−x− sin( nπ 2

)= 0 的解。

定理

高于 4 次的代数方程无精确的求根公式。

(4)

求代数方程

x4− 10x3+ 35x2− 50x + 24 = 0 及超越方程

e−x− sin( nπ 2

)= 0 的解。

定理

高于 4 次的代数方程无精确的求根公式。

(5)

二分法

(6)

二分法

用数值方法求方程的根,必须知道方程的根所在的区间。

定义 : 隔根区间

对方程f (x)= 0,若在区间[a, b]内有且只有一个根,则称[a, b]为 它的一个隔根区间。

(7)

二分法

二分法的基本思想

通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程 的近似根数列{xn}。

f (x)= 0的隔根区间是[a, b],且f (a)< 0, f (b) > 0

(8)

二分法

二分法的基本思想

通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程 的近似根数列{xn}。

f (x)= 0的隔根区间是[a, b],且f (a)< 0, f (b) > 0

(9)

二分法

x y

x

a0

f (a0)

b0 f (b0)

(1) 计算f (a0+b2 0):

(10)

二分法

x y

x

a0

f (a0)

b0 f (b0)

a0+b0 2

(1) 计算f (a0+b2 0):

(11)

二分法

x y

x

a0

f (a0)

b0 f (b0)

a0+b0 2 f (a0+b2 0)

(1) 计算f (a0+b2 0):

(12)

二分法

x y

x

a0

f (a0)

b0 f (b0)

a0+b0 2 f (a0+b2 0)

(1) 计算f (a0+b2 0):

(13)

二分法

x y

x

a1 f (a1)

b1 f (b1)

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(14)

二分法

x y

x

a1 f (a1)

b1 f (b1)

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(15)

二分法

x y

x

a1 f (a1)

b1 f (b1)

x y

x

a1

f (a1)

b1 f (b1)

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(16)

二分法

x y

x

a1 f (a1)

b1 f (b1)

x y

x

a1

f (a1)

b1 f (b1) a1+b1

2

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(17)

二分法

x y

x

a1 f (a1)

b1 f (b1)

x y

x

a1

f (a1)

b1 f (b1) a1+b1

2 f (a1+b2 1)

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(18)

二分法

x y

x

a1 f (a1)

b1 f (b1)

x y

x

a1

f (a1)

b1 f (b1) a1+b1

2 f (a1+b2 1)

(2) 将新的隔根区间记为[a1, b1],计算f (a1+b1

2 ):

f (a1+b1)= 0 =⇒ x=a1+b1就是f (x)= 0的根

(19)

二分法

x y

a2 f (a2) b2

f (b2)

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(20)

二分法

x y

a2 f (a2) b2

f (b2)

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(21)

二分法

x y

a2 f (a2) b2

f (b2)

x y

a2

f (a2) b2

f (b2)

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(22)

二分法

x y

a2 f (a2) b2

f (b2)

x y

a2

f (a2) b2

f (b2)

a2+b2 2

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(23)

二分法

x y

a2 f (a2) b2

f (b2)

x y

a2

f (a2) b2

f (b2)

a2+b2 2 f (a2+b2 2)

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(24)

二分法

x y

a2 f (a2) b2

f (b2)

x y

a2

f (a2) b2

f (b2)

a2+b2 2 f (a2+b2 2)

(3) 将新的隔根区间记为[a2, b2],计算f (a2+b2

2 ): 1 f (a2+b2)= 0 =⇒ x=a2+b2就是f (x)= 0的根

(25)

二分法

重复上述过程,可得到一系列的隔根区间

[a0, b0] ⊃ [a1, b1] ⊃ ··· ⊃ [a2, b2] ⊃ ···

并有f (ak)· f (bk)< 0, x∈ (ak, bk),且后一区间的长度都是前一区间长 度的一半,即

bk− ak=bk−1− ak−1

2 = ··· =b0− a0

2k =b− a 2k

→ 0, k → ∞. 即这些区间最终收缩于一点x,显然x就是方程f (x)= 0的根。

(26)

二分法

重复上述过程,可得到一系列的隔根区间

[a0, b0] ⊃ [a1, b1] ⊃ ··· ⊃ [a2, b2] ⊃ ···

并有f (ak)· f (bk)< 0, x∈ (ak, bk),且后一区间的长度都是前一区间长 度的一半,即

bk− ak=bk−1− ak−1

2 = ··· =b0− a0

2k =b− a

2k → 0, k → ∞.

即这些区间最终收缩于一点x,显然x就是方程f (x)= 0的根。

(27)

二分法

重复上述过程,可得到一系列的隔根区间

[a0, b0] ⊃ [a1, b1] ⊃ ··· ⊃ [a2, b2] ⊃ ···

并有f (ak)· f (bk)< 0, x∈ (ak, bk),且后一区间的长度都是前一区间长 度的一半,即

bk− ak=bk−1− ak−1

2 = ··· =b0− a0

2k =b− a

2k → 0, k → ∞.

(28)

二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点 xk=ak+b2 k 作为方程f (x)= 0的近似值,即

x≈ak+ bk

2 .

此时所产生的误差为

|xk− x| ≤bk− ak

2 =b− a 2k+1.

若事先给定的精度要求为ϵ,则只需

|xk− x| ≤b− a 2k+1 < ϵ 便可停止计算。

(29)

二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点 xk=ak+b2 k 作为方程f (x)= 0的近似值,即

x≈ak+ bk

2 .

此时所产生的误差为

|xk− x| ≤bk− ak

2 =b− a 2k+1.

若事先给定的精度要求为ϵ,则只需

|xk− x| ≤b− a 2k+1 < ϵ 便可停止计算。

(30)

二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点 xk=ak+b2 k 作为方程f (x)= 0的近似值,即

x≈ak+ bk

2 .

此时所产生的误差为

|xk− x| ≤bk− ak

2 =b− a 2k+1.

若事先给定的精度要求为ϵ,则只需

(31)

用二分法求方程 x3+ 4x2− 10 = 0 在[1, 2] 内的根的近似解,要求 绝对误差不超过 12× 10−2

在[1, 2]上,

f(x)= 3x2+ 4x > 0,

f (x)在[1, 2]上严格单调增加,且f (1)< 0f (2)> 0,所以方程

在[1, 2]内有惟一实根。令 b−a

2k+112× 10−2,则得 k+ 1 ≥ln 200

ln 2 , 所以至少对分 7 次。

(32)

用二分法求方程 x3+ 4x2− 10 = 0 在[1, 2] 内的根的近似解,要求 绝对误差不超过 12× 10−2

在[1, 2]上,

f(x)= 3x2+ 4x > 0,

f (x)在[1, 2]上严格单调增加,且f (1)< 0f (2)> 0,所以方程

在[1, 2]内有惟一实根。

b−a

2k+112× 10−2,则得 k+ 1 ≥ln 200

ln 2 , 所以至少对分 7 次。

(33)

用二分法求方程 x3+ 4x2− 10 = 0 在[1, 2] 内的根的近似解,要求 绝对误差不超过 12× 10−2

在[1, 2]上,

f(x)= 3x2+ 4x > 0,

f (x)在[1, 2]上严格单调增加,且f (1)< 0f (2)> 0,所以方程

在[1, 2]内有惟一实根。令 b−a

2k+112× 10−2,则得 k+ 1 ≥ln 200

,

(34)

二分法

表 1: 计算结果

k xk f (xk)符号 隔根区间

1 x1= 1.5 + [1, 1.5]

2 x2= 1.25 [1.25, 1.5]

3 x3= 1.375 + [1.25, 1.375]

4 x4= 1.3125 [1.3125, 1.375]

5 x5= 1.34375 [1.34375, 1.375]

6 x = 1.359375 [1.359375, 1.375]

(35)

二分法

计算步骤 (1) 准备

输入a, b, ϵ,计算f (a) (2) 循环

计算x=a+ b 2

f (a)· f (x) < 0,则x→ b;否则x→ a (3) 控制

(36)

二分法

优点

• 运算简单,方法可靠,易于在计算机上实现

• 对函数f (x)的要求不高,只要求y= f (x)在区间[a, b]连续

缺点

• 不能用于求复根及偶数重根

• 收敛速度较慢 (因为每步误差是以1/2因子下降)

用途

常用该方法为其他求根方法提供较好的初始值,再用其他的求根 方法精确化。

(37)

二分法

优点

• 运算简单,方法可靠,易于在计算机上实现

• 对函数f (x)的要求不高,只要求y= f (x)在区间[a, b]连续

缺点

• 不能用于求复根及偶数重根

• 收敛速度较慢 (因为每步误差是以1/2因子下降)

用途

常用该方法为其他求根方法提供较好的初始值,再用其他的求根 方法精确化。

(38)

二分法

优点

• 运算简单,方法可靠,易于在计算机上实现

• 对函数f (x)的要求不高,只要求y= f (x)在区间[a, b]连续

缺点

• 不能用于求复根及偶数重根

• 收敛速度较慢 (因为每步误差是以1/2因子下降)

(39)

不动点迭代法

(40)

不动点迭代法

给定方程

f (x)= 0, (1)

其中f (x)在有根区间[a, b]上连续,并设x0 是方程的一个近似根。

将 (1) 改写成等价形式

x= φ(x). (2)

为了求得 (1) 的根,可由 (2) 构造迭代序列

















x1 = φ(x0), x2 = φ(x1),

...

xk+1 = φ(xk), ...

该方法成为迭代法,φ(x)称为迭代函数。

(41)

不动点迭代法

给定方程

f (x)= 0, (1)

其中f (x)在有根区间[a, b]上连续,并设x0 是方程的一个近似根。

将 (1) 改写成等价形式

x= φ(x). (2)

为了求得 (1) 的根,可由 (2) 构造迭代序列

















x1 = φ(x0), x2 = φ(x1),

...

xk+1 = φ(xk), ...

该方法成为迭代法,φ(x)称为迭代函数。

(42)

不动点迭代法

给定方程

f (x)= 0, (1)

其中f (x)在有根区间[a, b]上连续,并设x0 是方程的一个近似根。

将 (1) 改写成等价形式

x= φ(x). (2)

为了求得 (1) 的根,可由 (2) 构造迭代序列









x1 = φ(x0), x2 = φ(x1),

..

该方法成为迭代法,φ(x)称为迭代函数。

(43)

不动点迭代法

给定方程

f (x)= 0, (1)

其中f (x)在有根区间[a, b]上连续,并设x0 是方程的一个近似根。

将 (1) 改写成等价形式

x= φ(x). (2)

为了求得 (1) 的根,可由 (2) 构造迭代序列









x1 = φ(x0), x2 = φ(x1),

..

(44)

不动点迭代法

若由迭代法产生的序列{xk}的极限存在,即 lim

k→∞xk= x, 则称迭代法收敛,否则称迭代法发散。

(45)

不动点迭代法

y

x y= φ(x) y= x

x

(46)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0

(47)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

(48)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1

(49)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1 q2

(50)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1 q2

x2 p2

(51)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1 q2

x2 p2 q3

(52)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1 q2

x2 p2 q3

x3 p3

(53)

不动点迭代法

y

x y= φ(x) y= x

x

(54)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0

(55)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

(56)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1 p1

(57)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1

p1 q2

(58)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1

p1 q2

x2 p2

(59)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1

p1 q2

x2 p2 q3

(60)

不动点迭代法

y

x y= φ(x) y= x

x x0

p0 q1

x1

p1 q2

x2 p2 q3

x3 p3

(61)

不动点迭代法

y

x y= φ(x) y= x

(62)

不动点迭代法

y

x y= φ(x) y= x

p0

(63)

不动点迭代法

y

x y= φ(x) y= x

p0 q1

(64)

不动点迭代法

y

x y= φ(x) y= x

p0 q1

p1

(65)

不动点迭代法

y

x y= φ(x) y= x

p0 q1

p1 q2

(66)

不动点迭代法

y

x y= φ(x) y= x

p0 q1

p1 q2

(67)

不动点迭代法

y

x y= φ(x) y= x

x

(68)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0

(69)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

(70)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

x1 p1

(71)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

x1

p1 q2

(72)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

x1

p1 q2

x2 p2

(73)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

x1

p1 q2

x2 p2 q3

(74)

不动点迭代法

y

x y= φ(x) y= x

x x0 p0 q1

x1

p1 q2

x2 p2 q3

x3 p3

(75)

不动点迭代法

由图可看出,

• 当φ(x)x处满足不同条件时,迭代过程的收敛情况也有所不 同。

• 迭代过程的收敛依赖于迭代函数的构造,为使迭代法有效,必须 保证其收敛性。

(76)

不动点迭代法

定义 : 不动点

φ(x)为连续函数,则

klim→∞xk= x =⇒ x= φ(x) =⇒ xx= φ(x)的解, 称x为迭代函数的不动点,简单迭代法又称为不动点迭代法。

f (x)= 0转化为等价方程x= φ(x)的方法有多种,且不惟一。如

f (x)= x − sinx − 0.5 = 0 ⇐⇒



(1) x= φ1(x)= sinx + 0.5 (2) x= φ2(x)= arcsin(x − 0.5). 对于不动点迭代法,选择迭代函数非常重要。不同的迭代函数会产生 不同的迭代序列,且收敛情况也不一定相同,即使初始值选择相同。

(77)

不动点迭代法

定义 : 不动点

φ(x)为连续函数,则

klim→∞xk= x =⇒ x= φ(x) =⇒ xx= φ(x)的解, 称x为迭代函数的不动点,简单迭代法又称为不动点迭代法。

f (x)= 0转化为等价方程x= φ(x)的方法有多种,且不惟一。如

f (x)= x − sinx − 0.5 = 0 ⇐⇒



(1) x= φ1(x)= sinx + 0.5

对于不动点迭代法,选择迭代函数非常重要。不同的迭代函数会产生 不同的迭代序列,且收敛情况也不一定相同,即使初始值选择相同。

(78)

不动点迭代法

定义 : 不动点

φ(x)为连续函数,则

klim→∞xk= x =⇒ x= φ(x) =⇒ xx= φ(x)的解, 称x为迭代函数的不动点,简单迭代法又称为不动点迭代法。

f (x)= 0转化为等价方程x= φ(x)的方法有多种,且不惟一。如

f (x)= x − sinx − 0.5 = 0 ⇐⇒



(1) x= φ1(x)= sinx + 0.5

(79)

不动点迭代法

已知10x−x −2 = 0在[0.3, 0.4]内有一个根,用两种不同的迭代公

式,

(1) xk+1= 10xk− 2 (2) xk+1= log(xk+ 2)

表 2: 计算结果

k 迭代格式 (1) 迭代格式 (2) 0 x0= 0.3 x0= 0.3 1 x1= −0.0047 x1= 0.3617 2 x2= −1.0108 x2= 0.3732

3 x3= 0.3753

4 x4= 0.3757

(80)

不动点迭代法

已知10x−x −2 = 0在[0.3, 0.4]内有一个根,用两种不同的迭代公

式,

(1) xk+1= 10xk− 2 (2) xk+1= log(xk+ 2)

表 2: 计算结果

k 迭代格式 (1) 迭代格式 (2) 0 x0= 0.3 x0= 0.3

(81)

不动点迭代法

由迭代法的几何意义可知,为了保证迭代过程收敛,就要求迭代函数 φ(x)在区间[a, b]上变化不是很大,即φ(x)的绝对值应较小。

(82)

不动点迭代法

定理

设有方程x= φ(x),若

(1) 当x∈ [a,b]时,φ(x) ∈ [a,b]

(2) φ(x)[a, b]上可导,且有(x)| ≤ L < 1, x ∈ [a,b]

(1) x= φ(x)存在惟一解x

(2) 对任意初值x0∈ [a,b],迭代公式

xk+1= φ(xk), k= 0,1,2,···

产生的数列{xk}收敛于方程的惟一根 x,即limk→∞xk= x (3) 误差估计

|xk− x| ≤ Lk

1− L|x1− x0|

|xk− x| ≤ L

1− L|xk− xk−1|

(83)

不动点迭代法

定理

设有方程x= φ(x),若

(1) 当x∈ [a,b]时,φ(x) ∈ [a,b]

(2) φ(x)[a, b]上可导,且有(x)| ≤ L < 1, x ∈ [a,b]

(1) x= φ(x)存在惟一解x

(2) 对任意初值x0∈ [a,b],迭代公式

xk+1= φ(xk), k= 0,1,2,···

产生的数列 收敛于方程的惟一根 ,即 = x

(84)

不动点迭代法

利用

|xk− x| ≤ Lk

1− L|x1− x0|, 可用于

• 估计迭代k 次时的误差

• 估计达到给定精度要求ϵ时,所需迭代的次数 k

若欲使|xk− x| ≤ ϵ,只要 Lk

1− L|x1− x0| ≤ ϵ =⇒ k >ln|xϵ(1−L)

1−x0|

ln L

(85)

不动点迭代法

利用

|xk− x| ≤ Lk

1− L|x1− x0|, 可用于

• 估计迭代k 次时的误差

• 估计达到给定精度要求ϵ时,所需迭代的次数 k 若欲使|xk− x| ≤ ϵ,只要

k

=⇒ k >ln|xϵ(1−L)

1−x0|

ln L

(86)

不动点迭代法

利用

|xk− x| ≤ Lk

1− L|x1− x0|, 可用于

• 估计迭代k 次时的误差

• 估计达到给定精度要求ϵ时,所需迭代的次数 k 若欲使|xk− x| ≤ ϵ,只要

k lnϵ(1−L)

(87)

不动点迭代法

|xk− x| ≤ L

1− L|xk− xk−1|, 可知:

• 0< L < 1越小,{xk}收敛越快。

• 只要相邻两次迭代的差|xk− xk−1|足够小,就可保证近似解xk 有 足够的精度

实际计算时,常采用条件

|xk− xk−1| ≤ ϵ 来控制迭代终止。

(88)

不动点迭代法

|xk− x| ≤ L

1− L|xk− xk−1|, 可知:

• 0< L < 1越小,{xk}收敛越快。

• 只要相邻两次迭代的差|xk− xk−1|足够小,就可保证近似解xk 有 足够的精度

实际计算时,常采用条件

(89)

不动点迭代法

定理 : 局部收敛性

x 是方程 x= φ(x) 的根,φ(x)x 的某一邻域连续,且

(x)| < 1,则存在 x 的一个邻域 S= {x : |x − x| ≤ δ},使得

∀x0∈ S,由迭代公式

xk+1= φ(xk), k= 0,1,2,···

产生的数列{xk}收敛于方程的根x

证明

[a, b]= [x−δ,x+δ],只需验证前面定理的条件 (1)。

x∈ S, 即当|x − x| ≤ δ时,由微分中值定理及(x)| < 1,有

|φ(x) − x| = |φ(x) − φ(x)| = |φ(x− x)| ≤ L|x − x| < |x − x| ≤ δ,φ(x) ∈ S

(90)

不动点迭代法

定理 : 局部收敛性

x 是方程 x= φ(x) 的根,φ(x)x 的某一邻域连续,且

(x)| < 1,则存在 x 的一个邻域 S= {x : |x − x| ≤ δ},使得

∀x0∈ S,由迭代公式

xk+1= φ(xk), k= 0,1,2,···

产生的数列{xk}收敛于方程的根x

证明

[a, b]= [x−δ,x+δ],只需验证前面定理的条件 (1)。设x∈ S, 即当|x − x| ≤ δ时,由微分中值定理及(x)| < 1,有

(91)

不动点迭代法

f (x)= 2x − logx − 7 = 0的最大根,要求精度为 10−4

(92)

不动点迭代法

(1) 等价方程为

2x− 7 = logx

由以下示意图知方程的最大根在 [3.5, 4]内。

y

y= lgx y= 2x − 7

(93)

不动点迭代法

解 (续) :

(2) 建立迭代公式,判别收敛性 将方程等价变形为

x=1

2(log x+ 7) 迭代公式为

xk+1=1

2(log xk+ 7)

φ(x)= 1

2 ln 10·1x,故φ(x)在[3.5, 4]内可导。因φ(x)在 [3.5, 4]内为增函数,且

φ(3.5) ≈ 3.77, φ(4) ≈ 3.80 故当x∈ [3.5,4] 时,φ(x) ∈ [3.5,4]。因为

L= max|φ(x)| ≈ φ(3.5)≈ 0.06 < 1 故迭代法收敛。

(94)

不动点迭代法

解 (续) :

(2) 建立迭代公式,判别收敛性 将方程等价变形为

x=1

2(log x+ 7) 迭代公式为

xk+1=1

2(log xk+ 7)φ(x)= 1

2 ln 10·1x,故φ(x)在[3.5, 4]内可导。因φ(x)在 [3.5, 4]内为增函数,且

φ(3.5) ≈ 3.77, φ(4) ≈ 3.80

(95)

不动点迭代法

解 (续) : (3) 计算

x0= 3.5,有

x1=12(log x0+ 7) ≈ 3.78989, x2=12(log x1+ 7) ≈ 3.78931, x3=12(log x2+ 7) ≈ 3.78928.

因为|x3− x2| ≤ 10−4,故方程的最大根为

(96)

不动点迭代法

用迭代法求x3− x2− 1 = 0在隔根区间[1.4, 1.5]内的根,要求精确 到小数点后第 4 位。

(1) 构造迭代公式 方程的等价形式为

x= (x2+ 1)1/3= φ(x) 迭代公式为

xk+1= (x2k+ 1)1/3

(97)

不动点迭代法

用迭代法求x3− x2− 1 = 0在隔根区间[1.4, 1.5]内的根,要求精确 到小数点后第 4 位。

(1) 构造迭代公式 方程的等价形式为

x= (x2+ 1)1/3= φ(x)

(98)

不动点迭代法

解 (续) :

(2) 判断迭代法的收敛性

φ(x)= 2x 3(x2+ 1)2/3φ(x)在区间[1.4, 1.5]内可导,且

(x)| ≤ 0.5 < 1

(99)

不动点迭代法

解 (续) : (3) 计算结果

k xk |xk+1− xk| ≤12× 10−4 0 x0= 1.5

1 x1= 1.4812480 |x1− x0| ≈ 0.02 2 x2= 1.4727057 |x2− x1| ≈ 0.009 3 x3= 1.4688173 |x2− x1| ≈ 0.004 4 x4= 1.4670480 |x2− x1| ≈ 0.002 5 x5= 1.4662430 |x2− x1| ≈ 0.0009 6 x = 1.4658786 |x − x | ≈ 0.0004

(100)

不动点迭代法

计算步骤 (1) 准备

选取初值x0,确定f (x)= 0的等价方程x= φ(x); (2) 迭代

依公式

x1= φ(x0) 迭代一次得新近似值 x1

(3) 控制

|x1− x0| < ϵ,则终止迭代,x1 即为所求的根;否则转(4);

准备迭代

(101)

不动点迭代法

优点

• 计算程序简单,可计算复根

• 若迭代公式收敛,只要迭代次数足够,可使结果达到指定精 度

L越接近于零,收敛速度越快

缺点

• 需自行选取合适的迭代函数

L接近于 1 时,收敛速度越很慢

(102)

不动点迭代法

优点

• 计算程序简单,可计算复根

• 若迭代公式收敛,只要迭代次数足够,可使结果达到指定精 度

L越接近于零,收敛速度越快 缺点

• 需自行选取合适的迭代函数

(103)

牛顿迭代法

(104)

牛顿迭代法

牛顿法的条件

xf (x)= 0在隔根区间[a, b]内的根,

f (x)[a, b]上可导

∀x ∈ [a,b]f(x)̸= 0

(105)

牛顿迭代法

y

x x

(1) 任取初值x0∈ [a,b],过点(x0, f (x0))作切线,切线方程为

(106)

牛顿迭代法

y

x x

x0 f0

(1) 任取初值x0∈ [a,b],过点(x0, f (x0))作切线,切线方程为

參考文獻

相關文件

0.8 Liquid−Vapor Coexistence Region 0.7... Saturation

Figures 4 shows the Schlieren image of the results for the density and pressure at ten different times t = i × 0.4µs, for i = 1, 2, · · · , 10 (measured relative to a time when

In fact, it was proven that Schr¨ odinger-Langevin equation ususally can have no solitary type solutions in the damped free- particle case in energy sapce [1], and that the

[r]

[r]

[r]

[r]

[r]