第 3 章:非线性方程求解(一)
目录:
- 引言
- 实根的对分法
- 不动点迭代法
- Newton迭代法
- 弦截法和抛物线法
- 解线性方程组的Newton方法
3.0引言
问题背景
- 在数学中,要求n次多项式的根(n次方程)
- \(a_nx^n + a_{n-1}x^{n-1} + \cdots + a_1x + a_0 = 0 \quad (a_n \neq 0)\)
- 在光的衍射理论中,要求解非线性方程
- \(x - \tan x = 0\)
- 在行星轨道的计算中,对任意a和b,要求解
- \(x - a\sin x = b\)
因此我们要研究求解非线性方程 \(f(x)=0\)的数值方法
基本概念
对于单个变量的方程 \(f(x)=0\)
- 如果存在一点 \(x^*\),使得\(f(x^*)=0\),称\(x^*\)为方程的根或零点
- 如果方程\(f(x)=0\)在区间\([a,b]\)只有一个根,称\([a,b]\)为单根区间
- 如果方程\(f(x)=0\)在区间\([a,b]\)上有多个根,称\([a,b]\)为多根区间
- 如果方程\(f(x)=0\)在区间\([a,b]\)上有根,称\([a,b]\)为有根区间
本章主要研究单根区间上的求解方法
- 例一:求方程\(f(x) = x^3-11.1x^2+38.8x-41.77=0\)的有根区间
- 方程的三个有根区间为\([2,3],[3,4],[5,6]\)
3.1实根的对分法
算法
- 假设\(f(a)f(b)<0,f∈C[a,b]\)
- 记\(a_0 = a,b_0 = b\)
- 取\(x_0 = \frac{a_0 + b_0}{2}\),将区间[a_0,b_0]分为两半
- 若\(f(a_0)\)与\(f(x_0)\)同号,则取\(a_1=x_0,b_1=b_0\)
- 否则取\(a_1=a_0,b_1=x_0\)
- 取\(x_1 = \frac{a_1 + b_1}{2}\),将区间\([a_1,b_1]\)分为两半
- 若\(f(a_1)\)与\(f(x_1)\)同号,则取\(a_2=x_1,b_2=b_1\)
- 否则取\(a_2=a_1,b_2=x_1\)
- ......
- 取\(x_n = \frac{a_n + b_n}{2}\),将区间\([a_n,b_n]\)分为两半
- 若\(f(a_n)\)与\(f(x_n)\)同号,则取\(a_{n+1}=x_n,b_{n+1}=b_n\)
- 否则取\(a_{n+1}=a_n,b_{n+1}=x_n\)
- 得到一系列的有根区间
- \([a, b] = [a_0, b_0] \supset [a_1, b_1] \supset \cdots \supset [a_n, b_n] \supset \cdots\)
- 其中每个区间的长度都是前一个区间长度的一半
- 以上方法称为对分法
误差估计
- 由于
- \(|x^* - x_k| \leq \frac{b_k - a_k}{2} = \frac{b - a}{2^{k+1}}\)
- 只要二分足够多次(即k充分大),便有
- \(|x^* - x_k| < \varepsilon\)
- 其中 \(\varepsilon\) 为给定的精度
算例
求方程
在区间\([1.0,1.5]\)内的一个根,要求精确到小数点后的第 2 位




算法特点
二分法的优点是算法简单,只要函数在区间内是连续的,就能保证是收敛的。缺点是收敛速度太慢,且当\(f(x)\)在\([a,b]\)上有多个零点时,也只能算出一个零点。因此二分法一般不单独用于求根,而是求根的近似值
3.2不动点迭代法
不动点
对于给定方程 \(f(x) = 0\),将它改写为等价形式
若要求\(x^*\)满足\(f(x^*)=0\),则\(x^*=φ(x^*)\),反之亦然。称\(x^*\)为函数\(φ(x)\)的一个不动点
不动点迭代法
求\(f(x)\)零点的方法就等价于求\(φ(x)\)的不动点,选择一个初始近似值\(x_0\),构造迭代序列
如果对任何\(x_0∈[a,b]\),由上得到的序列\({x_k}\)右极限
则称迭代方程收敛,且\(x^*=φ(x^*)\)为\(φ(x)\)的不动点。因此算法称为不动点迭代法。取\(x^*=x_{l+1}\)为方程\(f(x)=0\)的根


算法的收敛性
方程f(x)=0的等价形式可能有很多,比如\(x^3-2x-5-0\)的三种等价形式及其迭代格式:
- $ x^3 = 2x + 5, \quad x = \sqrt[3]{2x + 5}$ ,迭代格式:\(x_{k+1} = \sqrt[3]{2x_k + 5}\)
- \(2x=x^3-5\),迭代格式:\(x_{k+1} = \frac{x_k^3 - 5}{2}\)
- \(x^3 = 2x + 5, \quad x = \frac{2x + 5}{x^2}\),迭代格式:\(x_{k+1} = \frac{2x_k + 5}{x_k^2}\)
对于各种迭代格式,怎么判断其是否收敛?收敛速度与哪个量有关?收敛是否与迭代的初值有关?
关于\(φ(x)\)在\([a,b]\)上不动点的存在唯一性,有如下定理
\(若φ(x)定义在[a,b]上,如果φ(x)满足\)
\(1. 当x∈[a,b]时有a≤φ(x)≤b;\)
\(2. φ(x)在[a,b]上可导,并且存在正数 L<1,使对任意的 x∈(a,b),有|φ'(x)|≤L\)
\(则φ(x)在[a,b]上存在唯一的不动点x,迭代对任意的初值x_0∈[a,b]均收敛\)
\(且有误差估计式\)
算例
求代数方程 \(x^3-2x-5=0\)在\(x_0=2\)附近的实根



局部收敛性
定义一:
\(\text{设 } \varphi(x) \text{ 有不动点 } x^*,\text{ 如果存在 } x^* \text{ 的某个邻域 } \Delta: |x - x^*| \leqslant \delta,\)
\(\text{ 对任意 } x_0 \in \Delta, \text{ 迭代法 } x_{k+1} = \varphi(x_k)\text{ 产生的序列 } \{x_k\} \subset \Delta, \text{ 且收敛到 } x^*,\text{ 则称迭代法局部收敛。}\)
定理二:
\(设x^*为φ(x)的不动点,φ'(x)在x^*的某个领域连续,且|φ'(x^*)|<1,则迭代法局部收敛\)
收敛速度
\(用不同的迭代格式求方程 x^2-3=0的根x^*=\sqrt{3}\)




为了衡量迭代法收敛速度的快慢可以给出如下定义:

定理:


浙公网安备 33010602011771号