第三章 非线性方程求根

3.2 根的搜索

3.2.1 数值求解的一般过程

  • 确定根的大概位置,一般称为"根的搜索";
  • 将结果精细化,通常迭代来完成。

3.2.2 根的搜索

  1. 作图法,譬如将等式两边图像画出,以此确定交点大概位置。
  2. 分析法,利用求导函数、单调性、凹凸性、零点定理等进行分析。
  3. 近似方程法,简化方程的方法,将方程中一些变化很小的量暂时忽略。
  4. 定步长搜索法,依据零点定理,划分区间,将有根区间减小到需要的长度。效率低、易操作。

3.2.3 二分法

依据也是零点定理。

理论分析:假设y=f(x)C[a,b]

给定有根区间[a,b],且f(a)f(b)<0,如果将区间进行对分,得到的[a,a+b2],[a+b2,b]中至少有一个是又跟区间。如果f(a)f(a+b2)<0,取[a,a+b2]作为有根区间,新的有根区间[a1,b1]。重复以上操作。

假设进行了n次对分,则小区间的长度变为ba2n

那么可以选取最后一个有根区间的中点作为近似值 ba2n+1εnlog2baε1n一般向上取整。

3.3 不动点迭代法

3.3.1 方法介绍

满足x=φ(x)x称为映射φ的不动点。

一个不动点迭代算法需要:

  • 合适的初值
  • 恰当的不动点形式

收敛速度:不动点迭代法的收敛速度至少是线性的。设极限limk|ek+1||ek|p=C

  • p=1C<1,则称迭代格式线性收敛;
  • p>1,则称迭代格式是超线性收敛;

3.3.2 不动点迭代的收敛定理

φ(x)C1[a,b]且满足:

  1. 如果x[a,b],则φ(x)[a,b]
  2. 存在L<1,使得|φ(x)|L<1对任意x[a,b]成立。

则如下结论成立:

  1. 存在唯一的x[a,b],使得φ(x)=x
  2. 对任意初值x0[a,b],迭代xk+1=φ(xk)收敛且limkxk+1=x
  3. 事后误差估计:|xxk|L1L|xkxk1|
  4. 事前误差估计:|xxk|Lk1L|x1x0|
  5. ek=xxklimkek+1ek=φ(x),即算法至少是线性收敛。

3.4 Newton法

3.4.1 Newton法的导出

对于xk+1=φ(xk),若φ(x)=0,则迭代格式至少是2阶收敛。

注:已知结论limkek+1ek=φ(x). 由Taylor展开,

xxk+1=φ(x)φ(xk)=φ(x)(xxk)φ(θk)2(xxk)2=φ(θk)2(xxk)2

所以limkek+1ek2=φ(x)2

f(x)=0有根xf(x)=0,对于一般的函数f(x)一种很容易想到的不动点格式为x=x+f(x),而一般1+f(x)不为零。引入h(x),并设h(x)0,此时x=x+h(x)f(x)φ(x)=x+h(x)f(x)

求导数有φ(x)=1+f(x)h(x)+f(x)h(x),令x处导数为零,有h(x)=1f(x)

得到2阶算法xk+1=xkf(xk)f(xk)

posted @   uyest  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示