1 / 131

第四章 非线性方程和非性方程组的解法

第四章 非线性方程和非性方程组的解法. 4.1 非线性方程的解法 4.2 非线性方程组的 线性化解法    4.3 非线性方程组的 极值求解法 4.4 最速下降法 4.5 共轭梯度法 4.6 牛顿过程及变度量法 4.7 直接法 4.8 方法的选择与总结. 1 . 非线性方程的解法   2 . 非线性方程组的 线性化解法 --牛顿迭代法   3 . 非线性方程组的 极值求解法 --最速下降法  | 单纯形法    --共轭梯度法  | Powell 方法    --变尺度法 | (可变矩阵方法) |  直接法

cathal
Download Presentation

第四章 非线性方程和非性方程组的解法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 非线性方程和非性方程组的解法 4.1非线性方程的解法 4.2 非线性方程组的线性化解法    4.3 非线性方程组的极值求解法 4.4 最速下降法 4.5 共轭梯度法 4.6 牛顿过程及变度量法 4.7 直接法 4.8 方法的选择与总结 《实用数值计算方法》

  2. 1.非线性方程的解法   2.非线性方程组的线性化解法 --牛顿迭代法   3.非线性方程组的极值求解法 --最速下降法 |单纯形法    --共轭梯度法 |Powell 方法    --变尺度法 | (可变矩阵方法)| 直接法 DFP 方法 | 《实用数值计算方法》

  3. 4.1引言 在科学研究中,常常会遇到非线性方程 或非线性方程组的问题。例如解方程  或  一般的,我们记非线性方程为 《实用数值计算方法》

  4. 4.1 非线性方程组的一般形式是: 其中fi(i=1,2,…,n)是n维实空间Rn上的   实值函数。用向量形式表示: 这里     均是n维向量。为了方便   计,还是用分别表示上述向量。 简记为: 《实用数值计算方法》

  5. 4.1 d c a d b c a 图 4.1 非线性方程求根示意图 《实用数值计算方法》

  6. 4.1  方程的解亦称方程的根或函数的零点。 根可能是实数或复数。   若          则 称为单根; 若    而     ,则 称为 k 重根。 常见的求解问题有两种: (1) 要求定出在给定范围内的某个解。 (2) 要求定出在给定范围内的全部解。 非线性问题,除少数情况外,一般不能 不利用公式求解。而要采用某种迭代解法。   即构造出一近似值序列           逼近真解 。 《实用数值计算方法》

  7. 4.1 迭代过程的收敛性一般与初值的选取和方 程的性态有关,某些解法仅与初值有关。  收敛速度一般由迭代方法所决定,方程的   性态也会起一些作用。 本章主要介绍非线性方程组的解法, 而方程的解法用较少的篇幅在4.2中扼要介绍。 解非线性方程和方程组有很大区别。后者   要困难得多。主要的区别在于一维情形可   以找到一个根的范围,然后缩小,最终找   到根。而多维情况则很难确定根的存在。   直到你求得它的解。 《实用数值计算方法》

  8. 4.2 非线性方程的解法 4.2.1 二分法    对于连续函数  ,如果在      和   处异号:          则  在  内至少有一个根。 《实用数值计算方法》

  9. 4.2.1 用图来表示这个过程: y a a b b 0 a b x 图 4.2 二分法方程求根 确定根所在的范围[a,b]对有的函数   也是一件困难的事。所幸的是,在实际应   用中,根据其物理或工程的背景,在绝大   部分场合是不困难的。对给定的函数也有   确定范围的方法。 《实用数值计算方法》

  10. 4.2.1 a x1 b c f c x1 d a x2 x3 b 图 4.3 寻找隔根区间示意1 《实用数值计算方法》

  11. 4.2.1 图 4.4 寻找隔根区间示意2 a c b 图 4.5 寻找隔根区间示意3 《实用数值计算方法》

  12.   例如,在[a,b]之间寻找 f(x) 可能有   的根可以用等分试探法: 4.2.1 a b 图 4.6 等分试探法寻找隔根区间示意 《实用数值计算方法》

  13. 4.2.1 用二分法求函数FUNC位于(x1,x2)之间的根,准确性为XACC。 FUNCTION RTBIS (FUNC,X1,X2,XACC) PARAMETER (JMAX=40) FMID=FUNC(X2) F=FUNC(X1) IF (F*FMID.GE.0.) PAUSE '函数FUNC在x1,x2处不异号' IF (F.LT.0.) THEN RTIBIS=X1 DX=X2-X1 ELSE RTBIS=X2 DX=X1-X2 ENDIF DO 11 J=1, JMAX DX=DX*0.5 XMID=RTBIS+DX FMID=FUNC(XMID) IF (FMID.LE.0.) RTBIS=XMID IF (ABS(DX) .LT. XACC .OR. FMID .EQ. 0.) RETURN 11 CONTINUE PAUSE '迭代次数越界' END 《实用数值计算方法》

  14. 4.2.1 FUNCTION FF(X) FF = X*X + 2.5*X + 0.5+SIN(X) END PROGRAM ROOTFIND EXTERNAL FF X1=-1.0 X2=0.0 ROOT=RTBIS(FF, X1, X2, 1.0E-5) PRINT *, '方程在(-1,0)区间内有一个根,X=', ROOT STOP END 《实用数值计算方法》

  15. 4.2.2 线性插值法(又称弦位法) f(x) x 图 4.7 Secant Method 《实用数值计算方法》

  16. 4.2.2 《实用数值计算方法》

  17. 4.2.2 《实用数值计算方法》

  18. 4.2.2 f(x) 2 3 4 x 1 图 4.8 线性插值法求根示意 《实用数值计算方法》

  19. 4.2.2 f(x) x 1 3 4 5 图 4.9 线性插值法发散示例 《实用数值计算方法》

  20. 4.2.3 Newton 法 F(x) x 图 4.10 Newton 法示意 《实用数值计算方法》

  21. 4.2.3 F(x) x 图 4.11 导数变化对算法的影响 《实用数值计算方法》

  22.     每次函数求值相当的收敛阶为: b. 求 fk' 有时工作量大,甚至不可能。 (4) 选用收敛域较大的方法(如二分法)    先进行迭代,然后再用Newton法。 --组合方法。 4.2.4 二次插值法 设 f(x)=0 的三个近似解及函数值 构造二次函数g(y)使得: 《实用数值计算方法》

  23. 4.2.4 《实用数值计算方法》

  24. 4.2.4 F(x) g(x) f(x) x 图 4.12 二次插值法求根示意 《实用数值计算方法》

  25. 4.2.4 (1) 要有三个初始值 (2) 当 。且收敛速度 是 1.84阶。(单根) 二重根的收敛阶是1.23。 (3) (4) 发生超射、越界。 表 4.1 各种插值方法的比较 《实用数值计算方法》

  26. 4.2.5 组合方法(Brent Method) 能否有一种方法综合上述方法的优   点呢?Brent 做了一些工作。 Brent 把二分法和二次插值法结合   起来。   (1)一定收敛。   (2)收敛速度至少线性。   (3)在解附近足够光滑时,收敛速度       将是 1.84 或 1.23。 有关多项式的求根还有一些特殊方法。 《实用数值计算方法》

  27. 4.3 非线性方程组及牛顿法 非线性方程组的向量形式可表示为 解法: 1. 几乎不可能用直接法 2. 线性化,迭代逼近。牛顿法 3. 最优化,求函数极小值。下降法。 例如, 求 的极小值点。 最速下降法,共轭梯度法,变尺度方法。 《实用数值计算方法》

  28. 4.3.1 牛顿法     为方便计,用二维情形来讨论。 假定(4-6)的解   作线性函数(Taylor 展开,取一阶精度) 《实用数值计算方法》

  29. 4.3.1     在    内用线性函数(4-7)代替   非线性方程组(4-6)中的f1,f2, 从而 如果在    中矩阵(称Jacobi矩阵) 非奇异,则可解出。 《实用数值计算方法》

  30. 4.3.1 《实用数值计算方法》

  31. 4.3.1 《实用数值计算方法》

  32. 4.3.1 《实用数值计算方法》

  33. 4.3.2 牛顿法的改进 改进1 带松弛因子的牛顿迭代格式改善了   对初始值近似程度的要求。 《实用数值计算方法》

  34. 4.3.2 (4-10) 中引入了松弛因子  ,有 《实用数值计算方法》

  35. 4.3.2 图 4.13 凸函数示例 《实用数值计算方法》

  36. 4.3.2 《实用数值计算方法》

  37. 4.3.2 图 4.14 0.618法搜索极小点过程 《实用数值计算方法》

  38. 4.3.2 (2) 二次插值法求一维函数极小值: 图 4.15 二次插值法进行一维极小点搜索 《实用数值计算方法》

  39. 4.3.2 改进2.带阻尼因子的牛顿迭代格式 克服了矩阵   的奇异或病态。(4-10)中 引入阻尼因子 :  的选取可以在满足(4-12)的前提下取很大值。  (1)改善对初值的要求  (2)当 =0时为牛顿法,收敛最快。  (3)为满足(4-12),实际上需要多次试算,     工作量大。 改进3.修正牛顿法 尽可能减少矩阵求逆次数。 《实用数值计算方法》

  40. 4.3.2 一种简单的办法是每次使用同一个Jacobi   矩阵的逆。 但大大影响收敛速度。   另一种办法是若干次迭代后求一个矩阵逆: 它减少了矩阵求逆,又保证了收敛。    换一个角度看,如果说它的求逆次数与   牛顿法相同(k次),则它的收敛阶为m+1。 《实用数值计算方法》

  41. 4.3.2 作为特例,取m=2:   或 迭代格式(4-15)具有3阶收敛速度。 对一维情况,Newton法  在几何上表现为m步迭代  过程保持斜率 f'(xk) 不变。  如图4.16: f(x) 0 x 图 4.16 m=2的迭代效果 《实用数值计算方法》

  42. 4.3.2 非线性代数方程组求解问题 1. Newton--Raphson 迭代法 2. 极值化求解。 问题的转化: 《实用数值计算方法》

  43. 4.4最速下降法 4.4.1 极值化   求解   的零极值点。 求解(4-16)的极值点也是一个无约束的最   优化问题。 《实用数值计算方法》

  44. 4.4.1 求解最优化问题,通常采用下降法。下降法 一般描述如下: 《实用数值计算方法》

  45. 4.4.1 下降法的迭代步骤 《实用数值计算方法》

  46. 4.4.1 最速下降法取 因此 《实用数值计算方法》

  47. 4.4.1 等高线图: f(x)=Ci f(x1,x2)=Ci 图 4.17 等高线 图 4.18 偏导数示意 《实用数值计算方法》

  48. 4.4.2讨论与改进 优点: 1. 程序简单,每步迭代计算量少,存储省。 2. 对于不太好的初始点x0,往往也能收敛。 缺点: 最速下降法是名不符实的,一般来说,  它只有线性的收敛速度。 《实用数值计算方法》

  49. 4.4.2 图 4.19 锯齿形搜索路径情况 《实用数值计算方法》

  50. 4.4.2 《实用数值计算方法》

More Related