文档介绍:非线性方程(组)求解 2017 年4月 18日星期二 2引言?在 ( )、 时,容器中充以 2mol 氮气,试求容器体积。已知此状态下氮气的 P-V-T 关系符合范德华方程, 其范德华常数为 a= ? L/mol 2,b= ?数学模型:范德华方程变形可得,这是关于V的非线性方程 22 ( ) ( )( ) 0 an f V p V nb nRT V ? ? ??? 2017 年4月 18日星期二 3本章内容? 非线性方程(组)数值求解基本原理? Matlab 函数? 多项式求根函数 roots ? 非线性方程求解函数, fzero 和 fsolve ? 关系和逻辑运算? Matlab 程序流程控制 2017 年4月 18日星期二 4非线性方程?与线性方程相比,非线性方程问题无论从理论上还是从计算公式上都要复杂得多?非线性方程一般形式?方程的解称为方程的根或函数的零点?对于高次代数方程,当次数>4 时,则没有通解公式可用,对于超越方程既不知有几个根,也没有同样的求解方式。实际上, 对于 n≥3代数方程以及超越方程都采用数值方法求近似根?? 0?xf 2017 年4月 18日星期二 5数值法求根?首选要给出一个初始猜测解,然后通过各种迭代格式使其逐次逼近准确解?初值好坏对迭代收敛性有很大影响,因此初值的选取很重要?对于有专业背景的问题,初值可以按条件选择,对于没有经验的问题,可以用图解法和计算机试算搜索法初估近似解 2017 年4月 18日星期二 6 逐步扫描法求根的初始近似值?用数值法求方程的根可分为两步,首先要找出根的某个近似值,又称为“初始值”, 然后再采用特定算法将初始值逐步接近真实值,直到获得满足要求的结果?逐步扫描法 2017 年4月 18日星期二 7逐步扫描法 0 yx ab y = f(x)0 yx ab y = f(x)a+ha +2 h 2017 年4月 18日星期二 8 求方程根的精确解?非线性方程(组)的求解一般采用迭代法进行。迭代法是一种重要的逐次逼近方法。这种方法用某个固定公式反复校正根的近似值, 使之逐步精确化,最后得到满足精度要求的结果?常见的迭代算法有不动点迭代、二分法、牛顿法、弦截法、威格斯坦法( Wegstein )、抛物线法等 2017 年4月 18日星期二 9不动点迭代法?? 0?xf?? xgx?我们可以通过多种方法将方程式转化为 2017 年4月 18日星期二 10 迭代方程 0,0 2???ccxcxxx??? 2x cx????????????x cxx cxxx2 12 2例如方程可以转化为以下不同形式(1) (2) (3)