第八节 方程的近似解
求解高次代数方程或其他类型方程的精确值比较困难,因此需要寻求方程的近似解.
第一步:确定具有唯一实根的所有隔离区间
[
a
,
b
]
[a,b]
[a,b],称为根的隔离.
第二步:以根的隔离区间的端点作为根的初始近似值,逐步改善根的近似值的精确值,直至求得满足精度要求的近似解.
一、二分法
\quad 为方便举例,将隔离区间 [ a , b ] [a,b] [a,b] 假设为 [ 1 , 5 ] , [1,5], [1,5],
\quad
设
f
(
x
)
f(x)
f(x) 在区间
[
1
,
5
]
[1,5]
[1,5] 上连续,
f
(
1
)
⋅
f
(
5
)
<
0
f(1)\cdot f(5)\lt0
f(1)⋅f(5)<0,且方程
f
(
x
)
f(x)
f(x) 在
(
1
,
5
)
(1,5)
(1,5) 内仅有一个实根
ξ
\xi
ξ,于是
[
1
,
5
]
[1,5]
[1,5] 即是这个根的隔离区间.
\quad
取
[
1
,
5
]
[1,5]
[1,5] 的中点
ξ
1
=
1
+
5
2
=
3
\xi_1=\frac{1+5}{2}=3
ξ1=21+5=3,计算
f
(
3
)
.
f(3).
f(3).
\quad
如果
f
(
3
)
=
0
f(3)=0
f(3)=0,那么
ξ
=
3
\xi=3
ξ=3;
\quad
如果
f
(
3
)
f(3)
f(3) 与
f
(
1
)
f(1)
f(1) 同号,那么
f
(
3
)
⋅
f
(
5
)
<
0
f(3)\cdot f(5)\lt0
f(3)⋅f(5)<0,此时取
a
1
=
3
,
b
1
=
5
,
[
3
,
5
]
a_1=3,b_1=5,[3,5]
a1=3,b1=5,[3,5] 成为新的隔离区间;
\quad
如果
f
(
3
)
f(3)
f(3) 与
f
(
5
)
f(5)
f(5) 同号,那么
f
(
1
)
⋅
f
(
3
)
<
0
f(1)\cdot f(3)\lt0
f(1)⋅f(3)<0,此时取
a
1
=
1
,
b
1
=
3
,
[
1
,
3
]
a_1=1,b_1=3,[1,3]
a1=1,b1=3,[1,3] 成为新的隔离区间;
\quad 将隔离区间重复 n n n 次以上操作,求得隔离区间 [ a n , b n ] [a_n,b_n] [an,bn],若以 a n a_n an 或 b n b_n bn 作为 ξ \xi ξ 的近似值,其误差小于 1 2 n ( b − a ) . \frac{1}{2^n}(b-a). 2n1(b−a).
二、切线法
\quad
设
f
(
x
)
f(x)
f(x) 在
[
a
,
b
]
[a,b]
[a,b] 上具有二阶导数,
f
(
a
)
⋅
f
(
b
)
<
0
f(a)\cdot f(b)\lt0
f(a)⋅f(b)<0 且
f
′
(
x
)
f'(x)
f′(x) 及
f
′
′
(
x
)
f''(x)
f′′(x) 在
[
a
,
b
]
[a,b]
[a,b] 上保持定号(不变号),则方程
f
(
x
)
=
0
f(x)=0
f(x)=0 在
(
a
,
b
)
(a,b)
(a,b) 内有唯一的实根
ξ
\xi
ξ.
\quad
如果
f
(
b
)
f(b)
f(b) 与
f
′
′
(
x
)
f''(x)
f′′(x) 同号,所以令
x
0
=
b
x_0=b
x0=b,在点
(
x
0
,
f
(
x
0
)
)
(x_0,f(x_0))
(x0,f(x0)) 处的切线方程为
y
−
f
(
x
0
)
−
f
′
(
x
0
)
(
x
−
x
0
)
.
y-f(x_0)-f'(x_0)(x-x_0).
y−f(x0)−f′(x0)(x−x0).令
y
=
0
y=0
y=0,解得
x
x
x,即与
x
x
x 轴的交点横坐标为
x
1
=
x
0
−
f
(
x
0
)
f
′
(
x
0
)
,
x_1=x_0-\frac{f(x_0)}{f'(x_0)},
x1=x0−f′(x0)f(x0),它比
x
0
x_0
x0 更接近方程的根
ξ
\xi
ξ. 同理,在
(
x
1
,
f
(
x
1
)
)
(x_1,f(x_1))
(x1,f(x1)) 处作切线,得到根的近似值
x
2
.
x_2.
x2.
\quad
以此类推,在点
(
x
n
,
f
(
x
n
)
)
(x_n,f(x_n))
(xn,f(xn)) 处作切线,得根的近似值
x
n
+
1
=
x
n
−
f
(
x
n
)
f
′
(
x
n
)
.
x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.
xn+1=xn−f′(xn)f(xn).
\quad
如果
f
(
a
)
f(a)
f(a) 与
f
′
′
(
x
)
f''(x)
f′′(x) 同号,那么切线作点
(
a
,
f
(
a
)
)
(a,f(a))
(a,f(a)) 处,可记
x
0
=
a
x_0=a
x0=a,按上述公式计算切线与
x
x
x 轴交点的横坐标.
三、割线法
\quad 利用切线法计算函数的导数比较复杂时,可考虑用割线代替切线 f ( x n ) − f ( x n − 1 ) x n − x n − 1 \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} xn−xn−1f(xn)−f(xn−1)此时迭代公式成为 x n + 1 = x n − x n − x n − 1 f ( x n ) − f ( x n − 1 ) ⋅ f ( x n ) , x_{n+1}=x_n-\frac{x_n-x_{n-1}}{f(x_n)-f(x_{n-1})}\cdot f(x_n), xn+1=xn−f(xn)−f(xn−1)xn−xn−1⋅f(xn),其中, x 0 、 x 1 x_0、x_1 x0、x1 为初始值,用割线代替切线,用割线与 x x x 轴交点的横坐标作为新的近似值. 这个方法叫做 割线法 或 弦截法.