文章目录
非线性方程求根
隔根区间
即位只包含一个根的区间
描图法
画出 y = f ( x ) y=f(x) y=f(x) 的函数图像大致判断根所在的区间
可将函数变形,更好绘图
比如将 f ( x ) = x 3 − x − 1 f(x)=x^3-x-1 f(x)=x3−x−1 变形为 x 3 = x + 1 x^3=x+1 x3=x+1 作图,交点所在位置即为根所在区间
逐步搜索法
- 确定实根所在区间 [ a , b ] [a,b] [a,b]
- 确定步长 h = ( b − a ) / n h=(b-a)/n h=(b−a)/n
- 用零点定理判断每个小区间是否存在根
- 对于多项式存在以下结论
例题
二分法
通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程的近似根数列 { x n } \{x_n\} {xn}
步骤
令 f ( a ) < 0 , f ( b ) > 0 f(a)<0,f(b)>0 f(a)<0,f(b)>0
- 若 f ( a + b 2 ) = 0 f(\frac{a+b}{2})=0 f(2a+b)=0 ,则 x ∗ = ( a + b ) / 2 x^*=(a+b)/2 x∗=(a+b)/2
- 若 f ( a + b 2 ) < 0 f(\frac{a+b}{2})<0 f(2a+b)<0 ,隔根区间变为 [ ( a + b ) / 2 , b ] [(a+b)/2,b] [(a+b)/2,b]
- 若 f ( a + b 2 ) > 0 f(\frac{a+b}{2})>0 f(2a+b)>0 ,则 [ a , ( a + b ) / 2 ] [a,(a+b)/2] [a,(a+b)/2]\
讨论
- x ∗ ≈ ( a k + b k ) / 2 , x*\approx(a_k+b_k)/2, x∗≈(ak+bk)/2, k k k 足够大
- b k − a K = ( b − a ) / 2 k b_k-a_K=(b-a)/2^k bk−aK=(b−a)/2k
- 误差为 ∣ x ∗ − x k ∣ ≤ ( b k − a k ) / 2 = ( b − a ) / 2 k + 1 |x*-x_k|\leq(b_k-a_k)/2=(b-a)/2^{k+1} ∣x∗−xk∣≤(bk−ak)/2=(b−a)/2k+1
- 若事先给定精度要求 e p s eps eps ,只需要 ( b − a ) / 2 k + 1 < e p s (b-a)/2^{k+1}<eps (b−a)/2k+1<eps
- 不能求复根及偶数重根
例题
迭代法
简单迭代法
将 f ( x ) = 0 f(x)=0 f(x)=0 转化为 x = g ( x ) x=g(x) x=g(x)
假设 g ( x ) g(x) g(x) 为连续函数
任取一个初值 x 0 x_0 x0 ,代入 g ( x ) g(x) g(x)
x 1 = g ( x 0 ) x_1=g(x_0) x1=g(x0)
x 2 = g ( x 1 ) x_2=g(x_1) x2=g(x1)
⋯ ⋯ \cdots\cdots ⋯⋯
x k + 1 = g ( x k ) x_{k+1}=g(x_k) xk+1=g(xk)
该过程被称为简单迭代法
收敛性
g ( x ) g(x) g(x) 迭代函数, x 0 x_0 x0 为初始近似值, x k x_k xk 为第 k k k 步迭代值
如果存在一点 x ∗ x^* x∗ 使得 { x k } 0 ∞ \{x_k\}^{\infty}_{0} {xk}0∞
lim k → + ∞ x k = x ∗ {\lim_{k \to +\infty}}{x_k}=x^* k→+∞limxk=x∗
则称迭代法收敛,否则称为发散
例题
迭代法收敛的充分条件
将 x = g ( x ) x=g(x) x=g(x) 建图模拟
定理1
设迭代函数 g ( x ) g(x) g(x) 在 [ a , b ] [a,b] [a,b] 上连续且满足
- 当 x ∈ [ a , b ] x\in[a,b] x∈[a,b] 时, a ≤ g ( x ) ≤ b a\leq g(x) \leq b a≤g(x)≤b
- 存在一个正数 L L L , 满足 0 < L < 1 0<L<1 0<L<1 , 且 ∀ x ∈ [ a , b ] \forall x \in[a,b] ∀x∈[a,b] ,有 ∣ g , ( x ) ∣ ≤ L |g^{,}(x)|\leq L ∣g,(x)∣≤L
则
- 方程 x = g ( x ) x=g(x) x=g(x) 在 [ a , b ] [a,b] [a,b] 内有唯一解 $x^* $
- 对于任意 x 0 ∈ [ a , b ] x_0\in[a,b] x0∈[a,b], x = g ( x ) x=g(x) x=g(x) 均收敛于 x ∗ x^* x∗
- ∣ x k − x ∗ ∣ ≤ 1 1 − L ∣ x k + 1 − x k ∣ |x_k-x^*|\leq \frac{1}{1-L}|x_{k+1}-x_k| ∣xk−x∗∣≤1−L1∣xk+1−xk∣
- ∣ x k − x ∗ ∣ ≤ L K 1 − L ∣ x 1 − x 0 ∣ |x_k-x^*|\leq \frac{L^K}{1-L}|x_1-x_0| ∣xk−x∗∣≤1−LLK∣x1−x0∣
例题
牛顿迭代法
f ( x ) f(x) f(x) 在区间 $[a,b] $ 可导,且对于 x ∈ [ a , b ] x \in[a,b] x∈[a,b], 有 f ′ ( x ) ≠ 0 f^{\prime}(x) \not= 0 f′(x)=0
牛顿迭代法: x k + 1 = x k − f ( x k ) f ′ ( x k ) x_{k+1}=x_k-\frac{f(x_k)}{f^{\prime}(x_k)} xk+1=xk−f′(xk)f(xk)
其实就是泰勒展开的前两项
收敛性
用定理一可证明
用定理四可证明
弦割法
将牛顿迭代式中
f ′ ( x k ) ≈ x k − x k − 1 f ( x k ) − f ( x k − 1 ) f^{\prime}(x_k)\approx \frac{x_k-x_{k-1}}{f(x_k)-f(x_{k-1})} f′(xk)≈f(xk)−f(xk−1)xk−xk−1