October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x...

192
p<¡,h , ^¿˜p<ª Ss October 10, 2013 Ss () p<¡,h October 10, 2013 1 / 80

Transcript of October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x...

Page 1: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

数值计算方法(第五周)第三章 非线性方程组的数值解法

张晓平

October 10, 2013

张晓平 () 数值计算方法(第五周) October 10, 2013 1 / 80

Page 2: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

目录

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 2 / 80

Page 3: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

求代数方程x4 − 10x3 + 35x2 − 50x + 24 = 0

及超越方程

e−x − sin(nπ

2

)= 0

的解。

定理

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

张晓平 () 数值计算方法(第五周) October 10, 2013 3 / 80

Page 4: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

求代数方程x4 − 10x3 + 35x2 − 50x + 24 = 0

及超越方程

e−x − sin(nπ

2

)= 0

的解。

定理

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

张晓平 () 数值计算方法(第五周) October 10, 2013 3 / 80

Page 5: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 4 / 80

Page 6: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

用近似方法求方程的根,需要知道方程的根所在区间。

定义

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

张晓平 () 数值计算方法(第五周) October 10, 2013 5 / 80

Page 7: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

二分法的基本思想

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

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

张晓平 () 数值计算方法(第五周) October 10, 2013 6 / 80

Page 8: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

二分法的基本思想

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

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

张晓平 () 数值计算方法(第五周) October 10, 2013 6 / 80

Page 9: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a0

f (a0)

b0

f (b0)

(1) 计算 f ( a0+b02 ):

I f ( a0+b02 ) = 0 =⇒ x∗ = a0+b0

2 就是 f (x) = 0的根

I f ( a0+b02 ) > 0 =⇒ 隔根区间为[a0,

a0+b02 ]

I f ( a0+b02 ) < 0 =⇒ 隔根区间为[ a0+b0

2 , b0]

张晓平 () 数值计算方法(第五周) October 10, 2013 7 / 80

Page 10: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a0

f (a0)

b0

f (b0)

a0+b02

(1) 计算 f ( a0+b02 ):

I f ( a0+b02 ) = 0 =⇒ x∗ = a0+b0

2 就是 f (x) = 0的根

I f ( a0+b02 ) > 0 =⇒ 隔根区间为[a0,

a0+b02 ]

I f ( a0+b02 ) < 0 =⇒ 隔根区间为[ a0+b0

2 , b0]

张晓平 () 数值计算方法(第五周) October 10, 2013 7 / 80

Page 11: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a0

f (a0)

b0

f (b0)

a0+b02

f ( a0+b02 )

(1) 计算 f ( a0+b02 ):

I f ( a0+b02 ) = 0 =⇒ x∗ = a0+b0

2 就是 f (x) = 0的根

I f ( a0+b02 ) > 0 =⇒ 隔根区间为[a0,

a0+b02 ]

I f ( a0+b02 ) < 0 =⇒ 隔根区间为[ a0+b0

2 , b0]

张晓平 () 数值计算方法(第五周) October 10, 2013 7 / 80

Page 12: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a0

f (a0)

b0

f (b0)

a0+b02

f ( a0+b02 )

(1) 计算 f ( a0+b02 ):

I f ( a0+b02 ) = 0 =⇒ x∗ = a0+b0

2 就是 f (x) = 0的根

I f ( a0+b02 ) > 0 =⇒ 隔根区间为[a0,

a0+b02 ]

I f ( a0+b02 ) < 0 =⇒ 隔根区间为[ a0+b0

2 , b0]

张晓平 () 数值计算方法(第五周) October 10, 2013 7 / 80

Page 13: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 14: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 15: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)x

y

x?a1

f (a1)

b1

f (b1)

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 16: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)x

y

x?a1

f (a1)

b1

f (b1)a1+b12

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 17: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)x

y

x?a1

f (a1)

b1

f (b1)a1+b12

f ( a1+b12 )

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 18: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

x?a1

f (a1)b1

f (b1)x

y

x?a1

f (a1)

b1

f (b1)a1+b12

f ( a1+b12 )

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

I f ( a1+b12 ) = 0 =⇒ x∗ = a1+b1

2 就是 f (x) = 0的根

I f ( a1+b12 ) > 0 =⇒ 隔根区间为[a1,

a1+b12 ]

I f ( a1+b12 ) < 0 =⇒ 隔根区间为[ a1+b1

2 , b1]

张晓平 () 数值计算方法(第五周) October 10, 2013 8 / 80

Page 19: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 20: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 21: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)x

y

a2

f (a2)b2

f (b2)

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 22: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)x

y

a2

f (a2)b2

f (b2)

a2+b22

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 23: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)x

y

a2

f (a2)b2

f (b2)

a2+b22

f ( a2+b22 )

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 24: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

x

y

a2

f (a2) b2

f (b2)x

y

a2

f (a2)b2

f (b2)

a2+b22

f ( a2+b22 )

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

1 f ( a2+b22 ) = 0 =⇒ x∗ = a2+b2

2 就是 f (x) = 0的根

2 f ( a2+b22 ) < 0 =⇒ 隔根区间为[ a2+b2

2 , b2]

3 f ( a2+b22 ) > 0 =⇒ 隔根区间为[a2,

a2+b22 ]

张晓平 () 数值计算方法(第五周) October 10, 2013 9 / 80

Page 25: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

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

[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的根。

张晓平 () 数值计算方法(第五周) October 10, 2013 10 / 80

Page 26: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

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

[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的根。

张晓平 () 数值计算方法(第五周) October 10, 2013 10 / 80

Page 27: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

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

[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的根。

张晓平 () 数值计算方法(第五周) October 10, 2013 10 / 80

Page 28: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点xk =ak+bk

2 作为方程 f (x) = 0的近似值,即

x∗ ≈ak + bk

2.

此时所产生的误差为

|xk − x∗| ≤bk − ak

2=

b − a2k+1 .

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

|xk − x∗| ≤b − a2k+1 < ε

便可停止计算。

张晓平 () 数值计算方法(第五周) October 10, 2013 11 / 80

Page 29: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点xk =ak+bk

2 作为方程 f (x) = 0的近似值,即

x∗ ≈ak + bk

2.

此时所产生的误差为

|xk − x∗| ≤bk − ak

2=

b − a2k+1 .

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

|xk − x∗| ≤b − a2k+1 < ε

便可停止计算。

张晓平 () 数值计算方法(第五周) October 10, 2013 11 / 80

Page 30: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

实际计算时,只要二分的次数n足够大,就可取最后区间的中点xk =ak+bk

2 作为方程 f (x) = 0的近似值,即

x∗ ≈ak + bk

2.

此时所产生的误差为

|xk − x∗| ≤bk − ak

2=

b − a2k+1 .

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

|xk − x∗| ≤b − a2k+1 < ε

便可停止计算。

张晓平 () 数值计算方法(第五周) October 10, 2013 11 / 80

Page 31: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

2 × 10−2

在[1, 2]上,f ′(x) = 3x2 + 4x > 0,

故 f (x)在[1, 2]上严格单调增加,且 f (1) < 0, f (2) > 0,所以方程在[1, 2]内有惟一实根。令 b−a

2k+1 ≤12 × 10−2,则得

k + 1 ≥ln 200

ln 2,

所以至少对分7次。

张晓平 () 数值计算方法(第五周) October 10, 2013 12 / 80

Page 32: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

2 × 10−2

在[1, 2]上,f ′(x) = 3x2 + 4x > 0,

故 f (x)在[1, 2]上严格单调增加,且 f (1) < 0, f (2) > 0,所以方程在[1, 2]内有惟一实根。令 b−a

2k+1 ≤12 × 10−2,则得

k + 1 ≥ln 200

ln 2,

所以至少对分7次。

张晓平 () 数值计算方法(第五周) October 10, 2013 12 / 80

Page 33: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

2 × 10−2

在[1, 2]上,f ′(x) = 3x2 + 4x > 0,

故 f (x)在[1, 2]上严格单调增加,且 f (1) < 0, f (2) > 0,所以方程在[1, 2]内有惟一实根。令 b−a

2k+1 ≤12 × 10−2,则得

k + 1 ≥ln 200

ln 2,

所以至少对分7次。

张晓平 () 数值计算方法(第五周) October 10, 2013 12 / 80

Page 34: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法

Table: 计算结果

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 x6 = 1.359375 − [1.359375, 1.375]7 x7 = 1.3671875 + [1.359375, 1.3671875]

张晓平 () 数值计算方法(第五周) October 10, 2013 13 / 80

Page 35: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法计算步骤

(1) 准备

输入a, b, ε,计算 f (a)

(2) 循环

计算x =a + b

2

若 f (a) · f (x) < 0,则x→ b;否则x→ a

(3) 控制

若|b − a| < ε,则终止循环,x即为所求的根;否则转(2)继续循环;

张晓平 () 数值计算方法(第五周) October 10, 2013 14 / 80

Page 36: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法优缺点

优点

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

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

缺点

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

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

作用

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

张晓平 () 数值计算方法(第五周) October 10, 2013 15 / 80

Page 37: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法优缺点

优点

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

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

缺点

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

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

作用

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

张晓平 () 数值计算方法(第五周) October 10, 2013 15 / 80

Page 38: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.1 二分法优缺点

优点

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

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

缺点

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

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

作用

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

张晓平 () 数值计算方法(第五周) October 10, 2013 15 / 80

Page 39: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 16 / 80

Page 40: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

给定方程f (x) = 0, (1)

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

将(1)改写成等价形式x = ϕ(x). (2)

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

x1 = ϕ(x0),x2 = ϕ(x1),

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

...

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

张晓平 () 数值计算方法(第五周) October 10, 2013 17 / 80

Page 41: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

给定方程f (x) = 0, (1)

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

将(1)改写成等价形式x = ϕ(x). (2)

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

x1 = ϕ(x0),x2 = ϕ(x1),

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

...

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

张晓平 () 数值计算方法(第五周) October 10, 2013 17 / 80

Page 42: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

给定方程f (x) = 0, (1)

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

将(1)改写成等价形式x = ϕ(x). (2)

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

x1 = ϕ(x0),x2 = ϕ(x1),

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

...

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

张晓平 () 数值计算方法(第五周) October 10, 2013 17 / 80

Page 43: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

给定方程f (x) = 0, (1)

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

将(1)改写成等价形式x = ϕ(x). (2)

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

x1 = ϕ(x0),x2 = ϕ(x1),

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

...

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

张晓平 () 数值计算方法(第五周) October 10, 2013 17 / 80

Page 44: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

limk→∞

xk = x?,

则称迭代法收敛,否则称迭代法发散。

张晓平 () 数值计算方法(第五周) October 10, 2013 18 / 80

Page 45: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x?

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 46: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 47: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 48: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

x1

p1

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 49: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

x1

p1

q2

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 50: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

x1

p1

q2

x2

p2

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 51: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

x1

p1

q2

x2

p2

q3

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 52: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

q1

x1

p1

q2

x2

p2

q3

x3

p3

图: 几何解释(1): 0 < ϕ′(x?) < 1

张晓平 () 数值计算方法(第五周) October 10, 2013 19 / 80

Page 53: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x?

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 54: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 55: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 56: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

x1

p1

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 57: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 58: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 59: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2q3

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 60: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2q3

x3

p3

图: 几何解释(2):−1 < ϕ′(x?) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 20 / 80

Page 61: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 62: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?x0

p0

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 63: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?x0

p0q1

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 64: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?x0

p0q1

x1

p1

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 65: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?x0

p0q1

x1

p1q2

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 66: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

x

y = ϕ(x)y = x

x?x0

p0q1

x1

p1q2

x2p2

图: 几何解释(3):ϕ′(x?) > 1

张晓平 () 数值计算方法(第五周) October 10, 2013 21 / 80

Page 67: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x?

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 68: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 69: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 70: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

x1

p1

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 71: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 72: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 73: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2q3

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 74: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

y

xy = ϕ(x)

y = x

x? x0

p0q1

x1

p1 q2

x2

p2q3

x3

p3

图: 几何解释(4):ϕ′(x?) < −1

张晓平 () 数值计算方法(第五周) October 10, 2013 22 / 80

Page 75: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

由图可看出,

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

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

张晓平 () 数值计算方法(第五周) October 10, 2013 23 / 80

Page 76: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

定义 (不动点)设ϕ(x)为连续函数,则

limk→∞

xk = x? =⇒ x? = ϕ(x?) =⇒ x?是x = ϕ(x)的解,

称x?为迭代函数的不动点,简单迭代法又称为不动点迭代法。

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

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

(1) x = ϕ1(x) = sin x + 0.5

(2) x = ϕ2(x) = arcsin(x − 0.5).

对于不动点迭代法,选择迭代函数非常重要。不同的迭代函数会产生不同的

迭代序列,且收敛情况也不一定相同,即使初始值选择相同。

张晓平 () 数值计算方法(第五周) October 10, 2013 24 / 80

Page 77: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

定义 (不动点)设ϕ(x)为连续函数,则

limk→∞

xk = x? =⇒ x? = ϕ(x?) =⇒ x?是x = ϕ(x)的解,

称x?为迭代函数的不动点,简单迭代法又称为不动点迭代法。

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

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

(1) x = ϕ1(x) = sin x + 0.5

(2) x = ϕ2(x) = arcsin(x − 0.5).

对于不动点迭代法,选择迭代函数非常重要。不同的迭代函数会产生不同的

迭代序列,且收敛情况也不一定相同,即使初始值选择相同。

张晓平 () 数值计算方法(第五周) October 10, 2013 24 / 80

Page 78: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

定义 (不动点)设ϕ(x)为连续函数,则

limk→∞

xk = x? =⇒ x? = ϕ(x?) =⇒ x?是x = ϕ(x)的解,

称x?为迭代函数的不动点,简单迭代法又称为不动点迭代法。

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

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

(1) x = ϕ1(x) = sin x + 0.5

(2) x = ϕ2(x) = arcsin(x − 0.5).

对于不动点迭代法,选择迭代函数非常重要。不同的迭代函数会产生不同的

迭代序列,且收敛情况也不一定相同,即使初始值选择相同。

张晓平 () 数值计算方法(第五周) October 10, 2013 24 / 80

Page 79: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

(1) xk+1 = 10xk − 2

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

Table: 计算结果

k 迭代格式(1) 迭代格式(2)0 x0 = 0.3 x0 = 0.31 x1 = −0.0047 x1 = 0.36172 x2 = −1.0108 x2 = 0.37323 x3 = 0.37534 x4 = 0.3757

张晓平 () 数值计算方法(第五周) October 10, 2013 25 / 80

Page 80: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

(1) xk+1 = 10xk − 2

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

Table: 计算结果

k 迭代格式(1) 迭代格式(2)0 x0 = 0.3 x0 = 0.31 x1 = −0.0047 x1 = 0.36172 x2 = −1.0108 x2 = 0.37323 x3 = 0.37534 x4 = 0.3757

张晓平 () 数值计算方法(第五周) October 10, 2013 25 / 80

Page 81: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

张晓平 () 数值计算方法(第五周) October 10, 2013 26 / 80

Page 82: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

定理

设有方程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|

张晓平 () 数值计算方法(第五周) October 10, 2013 27 / 80

Page 83: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

定理

设有方程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|

张晓平 () 数值计算方法(第五周) October 10, 2013 27 / 80

Page 84: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

利用

|xk − x?| ≤Lk

1 − L|x1 − x0|,

可用于

估计迭代k次时的误差

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

若欲使|xk − x?| ≤ ε,只要

Lk

1 − L|x1 − x0| ≤ ε =⇒ k >

ln ε(1−L)|x1−x0 |

ln L

张晓平 () 数值计算方法(第五周) October 10, 2013 28 / 80

Page 85: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

利用

|xk − x?| ≤Lk

1 − L|x1 − x0|,

可用于

估计迭代k次时的误差

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

若欲使|xk − x?| ≤ ε,只要

Lk

1 − L|x1 − x0| ≤ ε =⇒ k >

ln ε(1−L)|x1−x0 |

ln L

张晓平 () 数值计算方法(第五周) October 10, 2013 28 / 80

Page 86: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

利用

|xk − x?| ≤Lk

1 − L|x1 − x0|,

可用于

估计迭代k次时的误差

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

若欲使|xk − x?| ≤ ε,只要

Lk

1 − L|x1 − x0| ≤ ε =⇒ k >

ln ε(1−L)|x1−x0 |

ln L

张晓平 () 数值计算方法(第五周) October 10, 2013 28 / 80

Page 87: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

|xk − x?| ≤L

1 − L|xk − xk−1|,

可知:

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

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

实际计算时,常采用条件|xk − xk−1| ≤ ε

来控制迭代终止。

张晓平 () 数值计算方法(第五周) October 10, 2013 29 / 80

Page 88: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法

|xk − x?| ≤L

1 − L|xk − xk−1|,

可知:

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

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

实际计算时,常采用条件|xk − xk−1| ≤ ε

来控制迭代终止。

张晓平 () 数值计算方法(第五周) October 10, 2013 29 / 80

Page 89: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法局部收敛性

定理 (设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。 �张晓平 () 数值计算方法(第五周) October 10, 2013 30 / 80

Page 90: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法局部收敛性

定理 (设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。 �张晓平 () 数值计算方法(第五周) October 10, 2013 30 / 80

Page 91: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法局部收敛性

定理 (设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。 �张晓平 () 数值计算方法(第五周) October 10, 2013 30 / 80

Page 92: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

y

x0 1 2 3 4 5

y = lg x

y = 2x − 7

x?

张晓平 () 数值计算方法(第五周) October 10, 2013 31 / 80

Page 93: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

y

x0 1 2 3 4 5

y = lg x

y = 2x − 7

x?

张晓平 () 数值计算方法(第五周) October 10, 2013 31 / 80

Page 94: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

(1) 等价方程为2x − 7 = log x

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

张晓平 () 数值计算方法(第五周) October 10, 2013 32 / 80

Page 95: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

解 (续)

(2) 建立迭代公式,判别收敛性

将方程等价变形为

x =12

(log x + 7)

迭代公式为

xk+1 =12

(log xk + 7)

因ϕ′(x) = 12 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

故迭代法收敛。

张晓平 () 数值计算方法(第五周) October 10, 2013 33 / 80

Page 96: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

解 (续)

(2) 建立迭代公式,判别收敛性

将方程等价变形为

x =12

(log x + 7)

迭代公式为

xk+1 =12

(log xk + 7)

因ϕ′(x) = 12 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

故迭代法收敛。

张晓平 () 数值计算方法(第五周) October 10, 2013 33 / 80

Page 97: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

解 (续)

(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,故方程的最大根为

x? ≈ x3 = 3.789.

张晓平 () 数值计算方法(第五周) October 10, 2013 34 / 80

Page 98: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

(1) 构造迭代公式

方程的等价形式为x = (x2 + 1)1/3 = ϕ(x)

迭代公式为xk+1 = (x2

k + 1)1/3

张晓平 () 数值计算方法(第五周) October 10, 2013 35 / 80

Page 99: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

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

(1) 构造迭代公式

方程的等价形式为x = (x2 + 1)1/3 = ϕ(x)

迭代公式为xk+1 = (x2

k + 1)1/3

张晓平 () 数值计算方法(第五周) October 10, 2013 35 / 80

Page 100: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

解 (续)

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

ϕ′(x) =2x

3(x2 + 1)2/3

因ϕ(x)在区间[1.4, 1.5]内可导,且

|ϕ′(x)| ≤ 0.5 < 1

故迭代法收敛

张晓平 () 数值计算方法(第五周) October 10, 2013 36 / 80

Page 101: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

解 (续)

(3) 计算结果

k xk |xk+1 − xk | ≤12 × 10−4

0 x0 = 1.51 x1 = 1.4812480 |x1 − x0| ≈ 0.022 x2 = 1.4727057 |x2 − x1| ≈ 0.0093 x3 = 1.4688173 |x2 − x1| ≈ 0.0044 x4 = 1.4670480 |x2 − x1| ≈ 0.0025 x5 = 1.4662430 |x2 − x1| ≈ 0.00096 x6 = 1.4658786 |x2 − x1| ≈ 0.00047 x7 = 1.4657020 |x2 − x1| ≈ 0.00028 x8 = 1.4656344 |x2 − x1| ≈ 0.000079 x9 = 1.4656000 |x2 − x1| ≤

12 × 10−4

张晓平 () 数值计算方法(第五周) October 10, 2013 37 / 80

Page 102: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法不动点迭代法计算步骤

(1) 准备

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

(2) 迭代

依公式x1 = ϕ(x0)

迭代一次得新近似值x1;

(3) 控制

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

(4) 准备迭代

若迭代次数超过预先指定的次数N,则方法失败;

否则x1 → x0,

转(2)继续迭代。

张晓平 () 数值计算方法(第五周) October 10, 2013 38 / 80

Page 103: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法优缺点

优点:

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

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

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

缺点:

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

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

张晓平 () 数值计算方法(第五周) October 10, 2013 39 / 80

Page 104: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.2 不动点迭代法优缺点

优点:

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

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

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

缺点:

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

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

张晓平 () 数值计算方法(第五周) October 10, 2013 39 / 80

Page 105: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 40 / 80

Page 106: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

牛顿法的条件

设x?为 f (x) = 0在隔根区间[a, b]内的根,

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

∀x ∈ [a, b]有 f ′(x) , 0。

张晓平 () 数值计算方法(第五周) October 10, 2013 41 / 80

Page 107: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

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

y = f (x0) + f ′(x0)(x − x0).

它与x轴交点的横坐标为

x1 = x0 −f (x0)f ′(x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 42 / 80

Page 108: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

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

y = f (x0) + f ′(x0)(x − x0).

它与x轴交点的横坐标为

x1 = x0 −f (x0)f ′(x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 42 / 80

Page 109: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

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

y = f (x0) + f ′(x0)(x − x0).

它与x轴交点的横坐标为

x1 = x0 −f (x0)f ′(x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 42 / 80

Page 110: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

(2) 过点(x1, f (x1))作切线,切线方程为

y = f (x1) + f ′(x1)(x − x1).

它与x轴交点的横坐标为

x2 = x1 −f (x1)f ′(x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 43 / 80

Page 111: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

(2) 过点(x1, f (x1))作切线,切线方程为

y = f (x1) + f ′(x1)(x − x1).

它与x轴交点的横坐标为

x2 = x1 −f (x1)f ′(x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 43 / 80

Page 112: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

(2) 过点(x1, f (x1))作切线,切线方程为

y = f (x1) + f ′(x1)(x − x1).

它与x轴交点的横坐标为

x2 = x1 −f (x1)f ′(x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 43 / 80

Page 113: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

(3) 过点(x2, f (x2))作切线,切线方程为

y = f (x2) + f ′(x2)(x − x2).

它与x轴交点的横坐标为

x3 = x2 −f (x2)f ′(x2)

张晓平 () 数值计算方法(第五周) October 10, 2013 44 / 80

Page 114: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

f2

(3) 过点(x2, f (x2))作切线,切线方程为

y = f (x2) + f ′(x2)(x − x2).

它与x轴交点的横坐标为

x3 = x2 −f (x2)f ′(x2)

张晓平 () 数值计算方法(第五周) October 10, 2013 44 / 80

Page 115: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

f2

x3

(3) 过点(x2, f (x2))作切线,切线方程为

y = f (x2) + f ′(x2)(x − x2).

它与x轴交点的横坐标为

x3 = x2 −f (x2)f ′(x2)

张晓平 () 数值计算方法(第五周) October 10, 2013 44 / 80

Page 116: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

如此下去,第n + 1条切线为

y = f (xn) + f ′(xn)(x − xn).

它与x轴交点的横坐标为

xn+1 = xn −f (xn)f ′(xn)

, n = 0, 1, 2, · · · . (1)

该方法称为牛顿法,(2)为牛顿迭代公式。

张晓平 () 数值计算方法(第五周) October 10, 2013 45 / 80

Page 117: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

因为

f (x) = 0 ⇒ x = x −f (x)f ′(x)

,

故牛顿迭代法可由等价方程写出,迭代函数为

ϕ(x) = x −f (x)f ′(x)

.

张晓平 () 数值计算方法(第五周) October 10, 2013 46 / 80

Page 118: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

定理 (局部收敛性定理)设x?为 f (x) = 0的根,若

1 f (x)在x?的邻域内有连续的二阶导数

2 在x?的邻域内 f ′(x) , 0

则∃S = {x| |x − x?| ≤ δ}, s.t. ∀x0 ∈ S,牛顿迭代所产生的数列收敛到x?。

证明.

由 ϕ′(x) =f (x) f ′′(x)[ f ′(x)]2 及条件(1)、(2)可知,ϕ(x)在x?的邻域内可导。由ϕ′(x?)及

连续函数的性质,必存在x?的某个邻域S = {x| |x − x?| ≤ δ}, s.t. ∀x ∈ S有

|ϕ′(x)| ≤ L < 1.

张晓平 () 数值计算方法(第五周) October 10, 2013 47 / 80

Page 119: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

定理 (局部收敛性定理)设x?为 f (x) = 0的根,若

1 f (x)在x?的邻域内有连续的二阶导数

2 在x?的邻域内 f ′(x) , 0

则∃S = {x| |x − x?| ≤ δ}, s.t. ∀x0 ∈ S,牛顿迭代所产生的数列收敛到x?。

证明.

由 ϕ′(x) =f (x) f ′′(x)[ f ′(x)]2 及条件(1)、(2)可知,ϕ(x)在x?的邻域内可导。由ϕ′(x?)及

连续函数的性质,必存在x?的某个邻域S = {x| |x − x?| ≤ δ}, s.t. ∀x ∈ S有

|ϕ′(x)| ≤ L < 1.

张晓平 () 数值计算方法(第五周) October 10, 2013 47 / 80

Page 120: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

牛顿法的局部收敛性对初值x0要求较高,即要求初值必须选取得充分接近方程的根才能保证迭代序列{xn}收敛到x?。

事实上,若x0不是选取得充分接近根x?时,牛顿法则收敛得很慢,甚至会发散。

张晓平 () 数值计算方法(第五周) October 10, 2013 48 / 80

Page 121: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

牛顿法的局部收敛性对初值x0要求较高,即要求初值必须选取得充分接近方程的根才能保证迭代序列{xn}收敛到x?。

事实上,若x0不是选取得充分接近根x?时,牛顿法则收敛得很慢,甚至会发散。

张晓平 () 数值计算方法(第五周) October 10, 2013 48 / 80

Page 122: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

定理

设x?为 f (x) = 0在[a, b]内的根,若

∀x ∈ [a, b], f ′(x), f ′′(x)连续且不变号

选取x0 ∈ [a, b],使 f (x0) f ′′(x0) > 0

则牛顿迭代所产生的数列收敛到x?。

张晓平 () 数值计算方法(第五周) October 10, 2013 49 / 80

Page 123: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

图: f ′(x) > 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 50 / 80

Page 124: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

图: f ′(x) > 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 50 / 80

Page 125: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

图: f ′(x) > 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 50 / 80

Page 126: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

图: f ′(x) > 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 50 / 80

Page 127: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

图: f ′(x) > 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 50 / 80

Page 128: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

图: f ′(x) > 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 51 / 80

Page 129: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?x0

f0

图: f ′(x) > 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 51 / 80

Page 130: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?x0

f0

x1

图: f ′(x) > 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 51 / 80

Page 131: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?x0

f0

x1

f1

图: f ′(x) > 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 51 / 80

Page 132: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?x0

f0

x1

f1

x2

图: f ′(x) > 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 51 / 80

Page 133: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

图: f ′(x) < 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 52 / 80

Page 134: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

图: f ′(x) < 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 52 / 80

Page 135: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

图: f ′(x) < 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 52 / 80

Page 136: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

图: f ′(x) < 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 52 / 80

Page 137: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

图: f ′(x) < 0, f ′′(x) > 0, f (x0) > 0

张晓平 () 数值计算方法(第五周) October 10, 2013 52 / 80

Page 138: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

图: f ′(x) < 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 53 / 80

Page 139: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

图: f ′(x) < 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 53 / 80

Page 140: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

图: f ′(x) < 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 53 / 80

Page 141: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

图: f ′(x) < 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 53 / 80

Page 142: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

xx?

x0

f0

x1

f1

x2

图: f ′(x) < 0, f ′′(x) < 0, f (x0) < 0

张晓平 () 数值计算方法(第五周) October 10, 2013 53 / 80

Page 143: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

由图可看出,用牛顿法求得的序列{xn}都是单调地趋于x?,故牛顿法是收敛的,并且凡满足关系式

f (x0) f ′′(x0) > 0

的x0都可做初值。

张晓平 () 数值计算方法(第五周) October 10, 2013 54 / 80

Page 144: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

使用牛顿法,初始值的选取非常重要。

问题

若[a, b]上 f ′(x), f ′′(x)的符号不容易判别,该如何选取初值?

张晓平 () 数值计算方法(第五周) October 10, 2013 55 / 80

Page 145: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

x1 = x0 −f (x0)f ′(x0)

=⇒ x1 − x?︸ ︷︷ ︸e1

= (x0 − x?)︸ ︷︷ ︸e0

−f (x0)f ′(x0)

=⇒e1

e0= 1 −

f (x0)f ′(x0)(x0 − x?)

= −f (x0) − f ′(x0)(x0 + x?)

f ′(x0)(x? − x0)

由泰勒展开

0 = f (x?) = f (x0) + f ′(x0)(x? − x0) + 12 f ′′(ξ)(x? − x0)2

0 = f (x?) = f (x0) + f ′(η)(x? − x0)

可得e1

e0=

12 f ′′(ξ)(x? − x0)2

− f ′(x0)(x? − x0)= −

12

f ′′(ξ)(x? − x0)f ′(x0)

=f ′′(ξ) f (x0)

2 f ′(x0) f ′(η)

张晓平 () 数值计算方法(第五周) October 10, 2013 56 / 80

Page 146: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

x1 = x0 −f (x0)f ′(x0)

=⇒ x1 − x?︸ ︷︷ ︸e1

= (x0 − x?)︸ ︷︷ ︸e0

−f (x0)f ′(x0)

=⇒e1

e0= 1 −

f (x0)f ′(x0)(x0 − x?)

= −f (x0) − f ′(x0)(x0 + x?)

f ′(x0)(x? − x0)

由泰勒展开

0 = f (x?) = f (x0) + f ′(x0)(x? − x0) + 12 f ′′(ξ)(x? − x0)2

0 = f (x?) = f (x0) + f ′(η)(x? − x0)

可得e1

e0=

12 f ′′(ξ)(x? − x0)2

− f ′(x0)(x? − x0)= −

12

f ′′(ξ)(x? − x0)f ′(x0)

=f ′′(ξ) f (x0)

2 f ′(x0) f ′(η)

张晓平 () 数值计算方法(第五周) October 10, 2013 56 / 80

Page 147: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

若 f ′(x), f ′′(x)在x0附近变化不大,可用 f ′(x0), f ′′(x0)近似代替 f ′(ξ), f ′′(η)。于是,只要 f ′(x0) , 0,就有近似公式

e1

e0≈

f ′′(x0) f (x0)2[ f ′(x0)]2

要使牛顿法收敛,则误差必须减少,即|e1| < |e0|,亦即

[ f ′(x0)]2 >

∣∣∣∣∣ f ′′(x0)2

∣∣∣∣∣ · | f (x0)| (∗)

初值的选取

若在x0处, f (x)满足式(∗)且 f ′(x0) , 0,就可用x0作为牛顿法的初值。

张晓平 () 数值计算方法(第五周) October 10, 2013 57 / 80

Page 148: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

若 f ′(x), f ′′(x)在x0附近变化不大,可用 f ′(x0), f ′′(x0)近似代替 f ′(ξ), f ′′(η)。于是,只要 f ′(x0) , 0,就有近似公式

e1

e0≈

f ′′(x0) f (x0)2[ f ′(x0)]2

要使牛顿法收敛,则误差必须减少,即|e1| < |e0|,亦即

[ f ′(x0)]2 >

∣∣∣∣∣ f ′′(x0)2

∣∣∣∣∣ · | f (x0)| (∗)

初值的选取

若在x0处, f (x)满足式(∗)且 f ′(x0) , 0,就可用x0作为牛顿法的初值。

张晓平 () 数值计算方法(第五周) October 10, 2013 57 / 80

Page 149: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

若 f ′(x), f ′′(x)在x0附近变化不大,可用 f ′(x0), f ′′(x0)近似代替 f ′(ξ), f ′′(η)。于是,只要 f ′(x0) , 0,就有近似公式

e1

e0≈

f ′′(x0) f (x0)2[ f ′(x0)]2

要使牛顿法收敛,则误差必须减少,即|e1| < |e0|,亦即

[ f ′(x0)]2 >

∣∣∣∣∣ f ′′(x0)2

∣∣∣∣∣ · | f (x0)| (∗)

初值的选取

若在x0处, f (x)满足式(∗)且 f ′(x0) , 0,就可用x0作为牛顿法的初值。

张晓平 () 数值计算方法(第五周) October 10, 2013 57 / 80

Page 150: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法初值的选取

若 f ′(x), f ′′(x)在x0附近变化不大,可用 f ′(x0), f ′′(x0)近似代替 f ′(ξ), f ′′(η)。于是,只要 f ′(x0) , 0,就有近似公式

e1

e0≈

f ′′(x0) f (x0)2[ f ′(x0)]2

要使牛顿法收敛,则误差必须减少,即|e1| < |e0|,亦即

[ f ′(x0)]2 >

∣∣∣∣∣ f ′′(x0)2

∣∣∣∣∣ · | f (x0)| (∗)

初值的选取

若在x0处, f (x)满足式(∗)且 f ′(x0) , 0,就可用x0作为牛顿法的初值。

张晓平 () 数值计算方法(第五周) October 10, 2013 57 / 80

Page 151: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法牛顿迭代法计算步骤

(1) 准备

选取初值x0,计算 f (x0), f ′(x0)

(2) 迭代

依公式

x1 = x0 −f (x0)f ′(x0)

迭代一次得新近似值x1,并计算 f (x1), f ′(x1)

(3) 控制

若| f (x1)| < ε,则终止迭代,x1即为所求的根;否则转(4)

(4) 准备迭代

若迭代次数超过预先指定的次数N,或 f ′(x1) = 0,则方法失败;

否则x1 → x0, f (x1)→ f (x0), f ′(x1)→ f ′(x0),

转(2)继续迭代

张晓平 () 数值计算方法(第五周) October 10, 2013 58 / 80

Page 152: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (1)用牛顿迭代法求解x3 − x2 − 1 = 0在[1.4, 1.5]内的根

令 f (x) = x3 − x2 − 1

(1) 牛顿迭代公式为xn+1 =2x3

n − x2n + 1

3x2n − 2xn

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

f (1.4) ≈ −0.2, f (1.5) ≈ 0.2,

f ′(x) = 3x2 − 2x > 0 (x ∈ [1.4, 1.5]),

f ′′(x) = 6x − 2 > 0 (x ∈ [1.4, 1.5]),

因为 f (1.5) f ′′(1.5) > 0,故可选取初值x0 = 1.5,此时牛顿迭代法收敛。

张晓平 () 数值计算方法(第五周) October 10, 2013 59 / 80

Page 153: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (1)用牛顿迭代法求解x3 − x2 − 1 = 0在[1.4, 1.5]内的根

令 f (x) = x3 − x2 − 1

(1) 牛顿迭代公式为xn+1 =2x3

n − x2n + 1

3x2n − 2xn

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

f (1.4) ≈ −0.2, f (1.5) ≈ 0.2,

f ′(x) = 3x2 − 2x > 0 (x ∈ [1.4, 1.5]),

f ′′(x) = 6x − 2 > 0 (x ∈ [1.4, 1.5]),

因为 f (1.5) f ′′(1.5) > 0,故可选取初值x0 = 1.5,此时牛顿迭代法收敛。

张晓平 () 数值计算方法(第五周) October 10, 2013 59 / 80

Page 154: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

Table: 计算结果

n xn |xn+1 − xn| ≤12 × 10−4

0 x0 = 1.5

1 x1 = 1.466667 |x2 − x1| ≈ 0.04

2 x2 = 1.465572 |x3 − x2| ≈ 0.002

3 x3 = 1.465571 |x4 − x3| ≤12 × 10−4

张晓平 () 数值计算方法(第五周) October 10, 2013 60 / 80

Page 155: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (2)用牛顿法求方程

f (x) = x41 + x3 + 1 = 0

在x0 = −1附近的实根,精确到小数点后第4位。

(1) 牛顿迭代公式为

xn+1 = xn −x41

n + x3n + 1

41x40n + 3x2

n

(2) 判断收敛性

f ′(x) = 41x40 + 3x2, 12 f ′′(x) = 820x39 + 3x,

f (−1) = −1, f ′(−1) = 44, 12 f ′′(−1) = −823,

[ f ′(−1)]2 = 442 = 1936 > | 12 f ′′(−1)| · | f (−1)| = 823

故可取x0 = −1为初始值。

张晓平 () 数值计算方法(第五周) October 10, 2013 61 / 80

Page 156: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (2)用牛顿法求方程

f (x) = x41 + x3 + 1 = 0

在x0 = −1附近的实根,精确到小数点后第4位。

(1) 牛顿迭代公式为

xn+1 = xn −x41

n + x3n + 1

41x40n + 3x2

n

(2) 判断收敛性

f ′(x) = 41x40 + 3x2, 12 f ′′(x) = 820x39 + 3x,

f (−1) = −1, f ′(−1) = 44, 12 f ′′(−1) = −823,

[ f ′(−1)]2 = 442 = 1936 > | 12 f ′′(−1)| · | f (−1)| = 823

故可取x0 = −1为初始值。

张晓平 () 数值计算方法(第五周) October 10, 2013 61 / 80

Page 157: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

Table: 计算结果

n xn

0 x0 = −1

1 x1 = −0.9773

2 x2 = −0.9605

3 x3 = −0.9525

4 x4 = −0.9525

张晓平 () 数值计算方法(第五周) October 10, 2013 62 / 80

Page 158: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (3)用牛顿法建立计算

√C(C > 0)近似值的迭代公式。

x =√

C =⇒ f (x) = x2 −C = 0

(1) 牛顿迭代公式为

xn+1 = xn −x2

n −C2xn

=12

(xn +

Cxn

)(2) 收敛性判别

当x > 0时, f ′(x) > 0, f ′′ = 2 > 0,故任意选取x0 >√

C作为初值,迭代序列必收敛到

√C,故迭代公式是收敛的。

张晓平 () 数值计算方法(第五周) October 10, 2013 63 / 80

Page 159: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (3)用牛顿法建立计算

√C(C > 0)近似值的迭代公式。

x =√

C =⇒ f (x) = x2 −C = 0

(1) 牛顿迭代公式为

xn+1 = xn −x2

n −C2xn

=12

(xn +

Cxn

)(2) 收敛性判别

当x > 0时, f ′(x) > 0, f ′′ = 2 > 0,故任意选取x0 >√

C作为初值,迭代序列必收敛到

√C,故迭代公式是收敛的。

张晓平 () 数值计算方法(第五周) October 10, 2013 63 / 80

Page 160: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法例题

例 (3)用牛顿法建立计算

√C(C > 0)近似值的迭代公式。

x =√

C =⇒ f (x) = x2 −C = 0

(1) 牛顿迭代公式为

xn+1 = xn −x2

n −C2xn

=12

(xn +

Cxn

)(2) 收敛性判别

当x > 0时, f ′(x) > 0, f ′′ = 2 > 0,故任意选取x0 >√

C作为初值,迭代序列必收敛到

√C,故迭代公式是收敛的。

张晓平 () 数值计算方法(第五周) October 10, 2013 63 / 80

Page 161: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

图: 用牛顿法求√

2 图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 162: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0

图: 用牛顿法求√

2 图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 163: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2 图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 164: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2 图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 165: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2

y

x

y = x2 − 2

x?

图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 166: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2

y

x

y = x2 − 2

x?

x0

图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 167: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 168: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 169: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.3 牛顿迭代法

y

x

y = x2 − 2

x?

x0x1

图: 用牛顿法求√

2

y

x

y = x2 − 2

x?

x0x1x2

图: 用牛顿法求√

2(局部放大)

张晓平 () 数值计算方法(第五周) October 10, 2013 64 / 80

Page 170: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

迭代法的收敛阶

定义 (迭代法的收敛阶)设数列{xn}收敛于x?,令误差en = xn − x?,若存在某个实数p ≥ 1及常数C > 0使得

limn→∞

|en+1|

|en|p = C

则称数列{xn}为p阶收敛,相应的迭代法是p阶方法。

线性收敛:p = 1且0 < C < 1

平方收敛:p = 2

超线性收敛:p > 1

p越大,数列收敛越快。故迭代法的收敛阶是对迭代法收敛速度的一种度量。

张晓平 () 数值计算方法(第五周) October 10, 2013 65 / 80

Page 171: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

迭代法的收敛阶

定义 (迭代法的收敛阶)设数列{xn}收敛于x?,令误差en = xn − x?,若存在某个实数p ≥ 1及常数C > 0使得

limn→∞

|en+1|

|en|p = C

则称数列{xn}为p阶收敛,相应的迭代法是p阶方法。

线性收敛:p = 1且0 < C < 1

平方收敛:p = 2

超线性收敛:p > 1

p越大,数列收敛越快。故迭代法的收敛阶是对迭代法收敛速度的一种度量。

张晓平 () 数值计算方法(第五周) October 10, 2013 65 / 80

Page 172: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

迭代法的收敛阶

定理

(1) 若在根x?的某个领域内有ϕ′(x) , 0,则不动点迭代法线性收敛

(2) 若在根x?的某个领域内连续,且有

ϕ′(x?) = · · · = ϕ(p−1)(x?) = 0

而ϕ(p)(x?) , 0,则不动点迭代法p阶收敛

(3) 牛顿迭代法平方收敛

张晓平 () 数值计算方法(第五周) October 10, 2013 66 / 80

Page 173: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 67 / 80

Page 174: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

对于牛顿迭代法,

优点

1 迭代格式自动生成

2 收敛速度快,具有2阶精度

缺点

1 对初值敏感

2 每次迭代都需要计算 f的导数

当 f比较复杂时,计算 f的导数就可能十分麻烦,特别是当 f ′(xk)很小时,必须精确计算,否则会产生很大的误差

本节介绍的弦截法,不需要计算导数,其收敛速度低于牛顿迭代法但高于不动

点迭代法。

张晓平 () 数值计算方法(第五周) October 10, 2013 68 / 80

Page 175: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

对于牛顿迭代法,

优点

1 迭代格式自动生成

2 收敛速度快,具有2阶精度

缺点

1 对初值敏感

2 每次迭代都需要计算 f的导数

当 f比较复杂时,计算 f的导数就可能十分麻烦,特别是当 f ′(xk)很小时,必须精确计算,否则会产生很大的误差

本节介绍的弦截法,不需要计算导数,其收敛速度低于牛顿迭代法但高于不动

点迭代法。

张晓平 () 数值计算方法(第五周) October 10, 2013 68 / 80

Page 176: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

(1) 设方程 f (x) = 0的一个隔根区间为[a, b],连接(x0, f (x0))与(x1, f (x1)),得弦的方程为

y = f (x1) +f (x1) − f (x0)

x1 − x0(x − x1)

它与x轴交点的横坐标为

x2 = x1 −f (x1)

f (x1) − f (x0)(x1 − x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 69 / 80

Page 177: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

x0

x1

(x0, f (x0))

(x1, f (x1))

(1) 设方程 f (x) = 0的一个隔根区间为[a, b],连接(x0, f (x0))与(x1, f (x1)),得弦的方程为

y = f (x1) +f (x1) − f (x0)

x1 − x0(x − x1)

它与x轴交点的横坐标为

x2 = x1 −f (x1)

f (x1) − f (x0)(x1 − x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 69 / 80

Page 178: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

x0

x1

(x0, f (x0))

(x1, f (x1))

x2

(1) 设方程 f (x) = 0的一个隔根区间为[a, b],连接(x0, f (x0))与(x1, f (x1)),得弦的方程为

y = f (x1) +f (x1) − f (x0)

x1 − x0(x − x1)

它与x轴交点的横坐标为

x2 = x1 −f (x1)

f (x1) − f (x0)(x1 − x0)

张晓平 () 数值计算方法(第五周) October 10, 2013 69 / 80

Page 179: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

x0

x1

(x0, f (x0))

(x1, f (x1))

x2

(2) 以x2为x?的近似值,连接(x1, f (x1))与(x2, f (x2)),得弦的方程为

y = f (x2) +f (x2) − f (x1)

x2 − x1(x − x2)

它与x轴交点的横坐标为

x3 = x2 −f (x2)

f (x2) − f (x1)(x2 − x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 70 / 80

Page 180: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

x0

x1

(x0, f (x0))

(x1, f (x1))

x2

(x2, f (x2))

(2) 以x2为x?的近似值,连接(x1, f (x1))与(x2, f (x2)),得弦的方程为

y = f (x2) +f (x2) − f (x1)

x2 − x1(x − x2)

它与x轴交点的横坐标为

x3 = x2 −f (x2)

f (x2) − f (x1)(x2 − x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 70 / 80

Page 181: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

y

xx?

x0

x1

(x0, f (x0))

(x1, f (x1))

x2

(x2, f (x2))

x3

(2) 以x2为x?的近似值,连接(x1, f (x1))与(x2, f (x2)),得弦的方程为

y = f (x2) +f (x2) − f (x1)

x2 − x1(x − x2)

它与x轴交点的横坐标为

x3 = x2 −f (x2)

f (x2) − f (x1)(x2 − x1)

张晓平 () 数值计算方法(第五周) October 10, 2013 70 / 80

Page 182: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

如此下去,即可得到迭代公式

xn+1 = xn −f (xn)

f (xn) − f (xn−1)(xn − xn−1), n = 0, 1, 2, · · · . (2)

该方法称为弦截法。

几何意义:依次用弦线代替曲线,用线性函数的零点作为函数 f (x)零点的近似值。

张晓平 () 数值计算方法(第五周) October 10, 2013 71 / 80

Page 183: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

如此下去,即可得到迭代公式

xn+1 = xn −f (xn)

f (xn) − f (xn−1)(xn − xn−1), n = 0, 1, 2, · · · . (2)

该方法称为弦截法。

几何意义:依次用弦线代替曲线,用线性函数的零点作为函数 f (x)零点的近似值。

张晓平 () 数值计算方法(第五周) October 10, 2013 71 / 80

Page 184: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法弦截法计算步骤

(1) 准备

选取初值x0, x1,计算 f (x0), f (x1)

(2) 迭代

依公式

x2 = x1 −f (x1)

f (x1) − f (x0)(x1 − x0)

迭代一次得新近似值x2,并计算 f (x2)

(3) 控制

若| f (x2)| < ε1或|x2 − x1| < ε2,则终止迭代,x2即为所求的根;否则转(4)

(4) 准备迭代

若迭代次数超过预先指定的次数N,则方法失败;

否则(x1, f (x1))→ (x0, f (x0)) , (x2, f (x2))→ (x1, f (x1)) .

转(2)继续迭代

张晓平 () 数值计算方法(第五周) October 10, 2013 72 / 80

Page 185: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法

定理

条件

f在x?的某邻域S内有二阶连续导数

∀x ∈ S,有 f ′(x) , 0

结论

当S充分小时,∀x0, x1 ∈ S,弦截法生成的迭代序列{xn}收敛到x?

弦截法的收敛速度为p = 1+√

52 ≈ 1.618

张晓平 () 数值计算方法(第五周) October 10, 2013 73 / 80

Page 186: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.4 弦截法与牛顿法的区别

牛顿法和弦截法都是先将 f (x)线性化后再求根(化曲为直),但线性化方式不同:

牛顿法是作切线的方程

弦截法是作弦线的方程

另外

牛顿法只需一个初值

弦截法需要两个初值

张晓平 () 数值计算方法(第五周) October 10, 2013 74 / 80

Page 187: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

1 3.1 二分法

2 3.2 不动点迭代法

3 3.3 牛顿迭代法

4 3.4 弦截法

5 3.5 小结

张晓平 () 数值计算方法(第五周) October 10, 2013 75 / 80

Page 188: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.5 小结

本章介绍 f (x) = 0求根的一些数值方法,在这些求根方法中,

先要对 f (x)的形态及根的近似位置有一个粗略了解,使用较小的有根区间把根分离出来。

在考察一种解法的有效性时,一般要讨论其收敛速度

除二分法仅限于求实根外,其他均无此限制

张晓平 () 数值计算方法(第五周) October 10, 2013 76 / 80

Page 189: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.5 小结二分法

简单易行,对 f (x)的性质要求不高

收敛较慢,仅有线性收敛速度

不能用于求偶数重根或复根

可用于确定迭代法初值

张晓平 () 数值计算方法(第五周) October 10, 2013 77 / 80

Page 190: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.5 小结不动点迭代法

一种逐次逼近的方法,是数值计算中求根的一种主要方法

使用各种迭代公式关键要判断其收敛性以及了解收敛速度

具有收敛速度

只具有局部收敛性的简单迭代法,往往对初值的选取要求特别高

张晓平 () 数值计算方法(第五周) October 10, 2013 78 / 80

Page 191: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.5 小结牛顿迭代法

具有二阶收敛速度

对初值非常敏感

张晓平 () 数值计算方法(第五周) October 10, 2013 79 / 80

Page 192: October 10, 2013xpzhang.me/teach/CM18_Fall/slide03.pdf · 2019-11-25 · Bªp„ x4 10x3 +35x2 50x +24 = 0 ex sin nˇ 2 = 0 —ª ı Ø”4!—ªp„ à¾n—B9l Ss p

3.5 小结弦截法

牛顿法的一种修改

比牛顿法收敛慢

不需要求导数

对初值非常敏感

张晓平 () 数值计算方法(第五周) October 10, 2013 80 / 80