非线性方程组求解及matlab实现.pptx





《非线性方程组求解及matlab实现.pptx》由会员分享,可在线阅读,更多相关《非线性方程组求解及matlab实现.pptx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复习与练习复习与练习按以下要求编写一个函数计算 的值,其中x0时,y=;x4时,则没有通解公式可用,对于超越方程既不知有几个根,也没有同样的求解方式。实际上,对于n3代数方程以及超越方程都采用数值方法求近似根。第4页/共54页非线性方程数值求解原理非线性方程数值求解原理第5页/共54页逐步扫描法逐步扫描法逐步扫描法效率较低,常用于求根的初始近似值第6页/共54页逐步扫描法计算示例逐步扫描法计算示例-方程x2-2=0的正数解计算方程 的正数解第7页/共54页二分法二分法n若函数f(x)在区间a,b内单调连续,且f(a)f(b)epsx=(a+b)/2;if sign(f(x)=sign(f(b)
2、b=x;elsea=x;endk=k+1;end二分法的图形解释二分法的图形解释 二分法的二分法的MATLAB程序程序 二分法是一种可靠的算法,但计算速度较慢第8页/共54页二分法计算示例二分法计算示例-方程x2-2=0的正数解计算方程 的正数解第9页/共54页求方程根的精确解求方程根的精确解非线性方程(组)的求解一般采用迭代法进行。迭代法迭代法是一种重要的逐次逼近方法。这种方法用某个固定公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的结果。常见的迭代算法有不动点迭代牛顿法弦截法抛物线法 威格斯坦法(Wegstein)第10页/共54页不动点迭代法不动点迭代法 我们可以通过多种方
3、法将方程式转化为例如方程可以转化为以下不同形式(1)(2)(3)第11页/共54页不动点迭代法不动点迭代法从给定的初值x0,按上式可以得到一个数列:x0,x1,x2,xk,如果这个数列有极限,则迭代格式是收敛的。这时数列xk的极限 就是方程的根 上述求非线性代数方程式数值解的方法称为直接迭代法(或称为不动点迭代法)。这个方法虽然简单,但根本问题在于当k-时,xk是否收敛于x*,也就是必须找出收敛的充分条件 第12页/共54页例题例题:正确的收敛的迭代格式第13页/共54页例题例题:发散的迭代格式第14页/共54页例题例题:错误的收敛迭代格式第15页/共54页不动点不动点定义定义:函数g(x)的
4、一个不动点(fixed point)是指一个实数P,满足P=g(P)从图形角度分析,函数y=g(x)的不动点是y=g(x)和y=x的交点 第16页/共54页不动点定理不动点定理 设有(i)g,g Ca,b,(ii)K是一个正常数,(iii)p0(a,b),(iv)对所有x a,b,有g(x)a,b如果对于所有x a,b,有|g(x)|K1,则迭代pn=g(pn-1)将不会收敛到P点。在这种情况下,P称为排斥(repelling)不动点,而且迭代显示出局部发散性 第17页/共54页不动点迭代的图形解释不动点迭代的图形解释 单调收敛单调收敛 振荡收敛振荡收敛 第18页/共54页不动点迭代的图形解释
5、不动点迭代的图形解释 单调发散单调发散 振荡发散振荡发散 第19页/共54页牛顿法牛顿法牛顿法也称为牛顿-拉普森法或者切线法。由于这个方法的计算结果颇佳,而计算过程也比较简单,所以被普遍采用。牛顿法的核心内容是通过泰勒级数将非线性方程式转化为线性方程式,然后用迭代法求解。第20页/共54页牛顿法原理牛顿法原理 设方程式 的近似根为则 对 的泰勒级数展开式为第21页/共54页牛顿法的几何意义牛顿法的几何意义YOX切线方程切线方程 第22页/共54页例例:牛顿法计算牛顿法计算x2-25=0的解的解f(x)=x2-25,则f(x)=2x可构造迭代公式如下:取x0=2代入上式,得x1=7.25,继续递
6、推,依次得5.35、5.0114、5.000001、5.0000000001 第23页/共54页牛顿法注意事项牛顿法注意事项在有根区间a,b上,连续且不变号,则只要选取的初始近似根x0满足 ,切线法必定收敛。在单根附近,牛顿公式恒收敛,而且收敛速度很快。但是需要注意如果初始值不在根的附近,牛顿公式不一定收敛在实际使用中,牛顿法最好与逐步扫描法结合起来,先通过逐步扫描法求出根的近似值,然后用牛顿公式求其精确值,以发挥牛顿法收敛速度快的优点 牛顿迭代法收敛速度快,但它要求计算函数导数的值第24页/共54页弦截法弦截法牛顿迭代法收敛速度快,但它要求计算函数导数的值。在科学与工程计算中,常会碰到函数导
7、数不易计算或者算式复杂而不便计算的情况 弦截法的基本思想与牛顿法相似,即将非线性函数线性化后求解。两者的差别在于弦截法实现函数线性化的手段采用的是两点间的弦线(用差商代替导数),而不是某点的切线 弦截法示意图弦截法示意图 第25页/共54页弦截法注意事项弦截法注意事项与牛顿法只需给出一个初值不同,弦截法需要给出两个迭代初值。如果与逐步扫描法结合起来,则最后搜索的区间的两个端点值常可作为初值弦截法虽比牛顿法收敛速度稍慢,但在每次迭代中只需计算一次函数值,又不必求函数的导数,且对初值要求不甚苛刻,是工程计算中常用的有效计算方法之一 弦截法虽比牛顿法收敛速度稍慢,但计算量小第26页/共54页逆二次插
8、值逆二次插值(IQI)若已知三个点a,b,c,及其函数值f(a),f(b),f(c),可以将这三点插值为关于y的二次函数。此抛物型一定与x轴有交点,在交点处y=0,对应点x=P(0)为下一步迭代解。IQI法在迭代终点时收敛速度很快,但整个过程中速度不稳定第27页/共54页松弛迭代法松弛迭代法有些非线性方程用前面的不动点迭代法求解时,迭代过程是发散的。这时可以引入松弛因子,利用松弛迭代法。通过选择合适的松弛因子,就可以使迭代过程收敛 迭代法是计算数学的一种重要方法,用途很广,求解线性方程组和矩阵特征值时也要用到这种方法第28页/共54页松弛法注意事项松弛法注意事项由上式可知,当松弛因子=1时,松
9、弛迭代法变为不动点迭代法;当松弛因子1时,松弛法使迭代步长加大,可加速迭代,但有可能使原理收敛的迭代变为发散;当01时,松弛法使迭代步长减小,这适合于迭代发散或振荡收敛的情况,可使振荡收敛过程加速;当0时,将使迭代反方向进行,可使一些迭代发散过程收敛 松弛迭代法是否有效的关键因素是松弛因子的值能否正确选定。如果值选用适当,能使迭代过程加速,或者使原来不收敛的过程变成收敛;但如果值选用不合适,则效果相反,有时甚至会使原来收敛的过程变得不收敛。松弛因子的数值往往要根据经验选定,但选用较小的松弛因子,一般可以保证迭代过程的收敛第29页/共54页威格斯坦法威格斯坦法威格斯坦法在化工流程模拟中得到了广泛
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 非线性 方程组 求解 matlab 实现

限制150内