非线性方程求根

非线性方程求根

隔根区间

即位只包含一个根的区间

描图法

画出 y = f ( x ) y=f(x) y=f(x) 的函数图像大致判断根所在的区间

可将函数变形,更好绘图

比如将 f ( x ) = x 3 − x − 1 f(x)=x^3-x-1 f(x)=x3x1 变形为 x 3 = x + 1 x^3=x+1 x3=x+1 作图,交点所在位置即为根所在区间

逐步搜索法
  1. 确定实根所在区间 [ a , b ] [a,b] [a,b]
  2. 确定步长 h = ( b − a ) / n h=(b-a)/n h=(ba)/n
  3. 用零点定理判断每个小区间是否存在根
  • 对于多项式存在以下结论

在这里插入图片描述

例题

在这里插入图片描述

二分法

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

步骤

f ( a ) < 0 , f ( b ) > 0 f(a)<0,f(b)>0 f(a)<0,f(b)>0

  1. 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
  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]
  3. 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 bkaK=(ba)/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} xxk(bkak)/2=(ba)/2k+1
  • 若事先给定精度要求 e p s eps eps ,只需要 ( b − a ) / 2 k + 1 < e p s (b-a)/2^{k+1}<eps (ba)/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] 上连续且满足

  1. x ∈ [ a , b ] x\in[a,b] x[a,b] 时, a ≤ g ( x ) ≤ b a\leq g(x) \leq b ag(x)b
  2. 存在一个正数 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

  1. 方程 x = g ( x ) x=g(x) x=g(x) [ a , b ] [a,b] [a,b] 内有唯一解 $x^* $
  2. 对于任意 x 0 ∈ [ a , b ] x_0\in[a,b] x0[a,b] x = g ( x ) x=g(x) x=g(x) 均收敛于 x ∗ x^* x
  3. ∣ x k − x ∗ ∣ ≤ 1 1 − L ∣ x k + 1 − x k ∣ |x_k-x^*|\leq \frac{1}{1-L}|x_{k+1}-x_k| xkx1L1xk+1xk
  4. ∣ x k − x ∗ ∣ ≤ L K 1 − L ∣ x 1 − x 0 ∣ |x_k-x^*|\leq \frac{L^K}{1-L}|x_1-x_0| xkx1LLKx1x0

在这里插入图片描述

例题

在这里插入图片描述

牛顿迭代法

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=xkf(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(xk1)xkxk1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值