1、1,数值方法,主讲:郭同彤 哈尔滨工业大学深圳研究生院 基础科学学科部,2,今日主题,第三章:非线性方程的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton 迭代法,3,今日主题,第三章:非线性方程的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton 迭代法,4,3.1 引言 (1),本章主要讨论数值求解方程 f(x)=0 (4.1.1) 其中xR, f Ca,b。 根和零点的定义。如果函数f(x)是多项式函数,即,则称为代数方程,另一类方程称为超越方程:,5
2、,3.1 引言 (2),设f(x)可分解为,其中m为正整数, 函数g满足g(x*) 0。则称x*是 f(x) 的 m重零点, 或x*是方程 f(x)=0 的m重根 。,6,今日主题,第三章:非线性方程的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton 迭代法,7,3.2.1 二分法 (1),假设 已找到方程 f(x)=0 的一个有根区间 a,b;f(a)f(b) 0 , 则将 an+1,bn+1 替换为 xn,bn。,8,3.2.1 二分法 (2),区间中点序列xn就是方程的根x*的近似解序列。,而xn是an,bn的中点,所
3、以有,9,3.2.1 二分法 (3),例 4.2.1 X3-15x2+319=0,是否可以用二分法在区间5,10 内求解,要求误差小于0.510-5,需要用二分法计算多少次?设 f(x)=X3-15x2+319 = f(5)0, f(10)0 。 因此可以用二分法求解。误差小于 0.5 10-5,即,即 20 次二分可满足要求,10,3.2.1 二分法 (4),例 4.2.2 用二分法求解 f(x)=sinx-x2/4,要求误差小于 10-2,需要用二分法计算多少次? 解法1 f(x)=0等价于求两条曲线的交点 取区间a,b=1.5,2 应用公式计算对分5次即可,x51.93。,11,3.2.
4、1 二分法 (5),解法2f(p/2)0, f(p)0 f(x)=cosx- p/20, x p/2, p 因此,f(x) 在 p/2, p 内为单调下降函数,有唯一的实根 可取a,b= p/2, p 类似解法1进行求解。,12,3.2.2 试位法,假设 已找到方程 f(x)=0 的一个有根区间 a,b;f(a)f(b)0; 方程在区间 a,b 只有一个根。 试位法步骤: 取点(an, f(an) 和(bn, f(bn) 连线与x轴的交点,即,如果 f(xn)=0 ,就找到了方程的根,否则: 若 f(an)f(xn) 0 , 则 an+1,bn+1 = xn,bn ; 若 f(an)f(xn)
5、0 , 则 an+1,bn+1 = an,xn 。,13,今日主题,第三章:非线性方程的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton 迭代法,14,3.3.1 不动点和不动点的迭代 (1),为解方程f(x)=0 (4.3.1) 将其变换为等价的方程x = f (x) (4.3.2) 其中是连续函数。构造迭代公式:x k+1 = f (xk) (4.3.3)如果则称为迭代函数, x*是函数 的一个不动点,也就是方程的根。此迭代法称为不动点迭代法。,15,3.3.1 不动点和不动点的迭代 (2),可以通过不同的途径将方程 f
6、(x)=0 变换成方程 x = f (x) 的形式。例如,(x)x - f(x) (x) x - Af(x), 其中A为常数, 也可以用其他的方法。,16,3.3.1 不动点和不动点的迭代 (3),设序列 xk 收敛到 x*,记误差 ek=xk-x*. 若存在实数p1及非零常数C,使:则称 xk 为 p 阶收敛,C称为渐进误差常数。 当 p=1 时,称 xk 线性收敛 当 p1 时,称 xk 超线性收敛 当 p=2 时,称 xk 平方收敛,17,今日主题,第三章:非线性方程的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton
7、迭代法,18,3.4.1 Aitken加速方法 (1),设 xk 线性收敛到 x*,记 ek = xk x* ,有当充分大时有其中 |c| =C ,由可解出,19,3.4.1 Aitken加速方法 (2),定义差分记号,写成它是x*的一个新的近似值从序列xk, 用上式得到序列 的方法,称为itken加速方法。,20,3.4.1 Aitken加速方法 (3),可以证明,只要xk满足且则序列 是完全确定的,而且有说明 ?,21,今日主题,第三章:非线性方程和方程组的数值解法 3.1 引言 3.2 二分法和试位法 3.3 不动点迭代法 3.4 迭代加速收敛的方法 3.5 Newton 迭代法,22,
8、3.5.1 Newton迭代法公式和收敛性 (1),为求解方程 f(x)=0 的根 x,假设 有一个近似值 xk x f 存在且连续因 f (x*)=0, 则:若 f (x*) 0,23,3.5.1 Newton迭代法公式和收敛性 (2),其中 x 在x*与xk之间。 略去最后一项,右端为x*的一个新的近似值,记为xk+1:,即Newton迭代法的迭代公式,24,3.5.1 Newton迭代法公式和收敛性 (3),Newton 法的几何解释,25,3.5.1 Newton迭代法公式和收敛性 (4),Newton 法不收敛的情形,26,3.5.1 Newton迭代法公式和收敛性 (5),Newt
9、on迭代法的几何解释:求 x* 就是求曲线 y=f(x) 与x轴的交点。 在曲线 y=f(x) 上的点(xk,f(xk)上作曲线的切线,切线方程为 y-f(xk)=f (xk)(x-xk), 切线与x轴交点的横坐标就是 xk+1, 把它作为 x*新的近似。 可以证明Newton迭代法是超线性收敛的。,27,3.5.1 Newton迭代法公式和收敛性 (6),定理4.5.1 设 f(x*)=0, f (x*) 0, 且 f 在包含 x* 的一个区间上有二阶连续导数,则 Newton 迭代法局部收敛到x*,且至少是二阶导数,并有,28,3.5.1 Newton迭代法公式和收敛性 (7),29,3.
10、5.1 Newton迭代法公式和收敛性 (8),30,3.5.1 Newton迭代法公式和收敛性 (9),例 用Newton法计算方程 x3+4x2-10=0 在区间 1,2 的根,计算公式是取 x0=1.5 x1=1.3733333, x2=1.3652620, x3=1.3652300 Newton法是二阶的,所以收敛较快。,31,3.5.2 Newton 法的重根情形 (1),设x*是方程f(x)=0的m重根,m1,即 f (x) = (x-x*)m g(x) 其中g(x)有二阶导数,g(x*)0,重根情况下有 f (x*) =0 :,32,3.5.2 Newton 法的重根情形 (2)
11、,有: f (x*)=1-1/m因m1, 所以 f (x*)0 ,且 | f (x*) |1Newton法是收敛的,但只是线性收敛。,33,第二种迭代方法:将迭代函数改取为可验证 f (x*) = x* , f (x*)=0此种迭代至少有两阶收敛,3.5.2 Newton 法的重根情形 (3),34,第三种迭代方法: 令 m (x) = f(x) / f (x) 若x*是方程 f(x)=0 的m重根,则 所以x*是方程 m(x)=0 的单根,3.5.2 Newton 法的重根情形 (4),35,应用Newton法,迭代函数为:得到迭代法:这种方法也是至少二阶收敛的。,3.5.2 Newton 法的重根情形 (5),36,3.5.2 Newton 法的重根情形 (6),例 方程 x4-4x2+4=0 的根x*= 是二重根,用3种方法求解。f(x)=(x2-2)2 f (x)=4x(x2-2) f “(x)=4(3x2-2).方法1(Newton法):,37,3.5.2 Newton 法的重根情形 (7),方法2(上述第二种方法,m=2);方法3(上述第三种方法),38,3.5.2 Newton 法的重根情形 (8),3种方法均取 x0=1.5, 各迭代三次结果如下表:方法2和方法3都是二阶方法,x3都达到了10-9的精确度 而方法1要近30次迭代才能达到同样的精确度。,