化工过程模拟与分析(非线性方程组的求解).ppt

化工过程模拟与分析(非线性方程组的求解).ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
化工过程模拟与分析(非线性方程组的求解)

三、弧长参数微分法(Path parameterization by arc length) 曲线x (t)的弧长 x t dt dx ds 对于n维向量函数xi=xi(t),下式成立: 此即广义Pythagorean定理 根据广义勾股定理,可利用弧长参数微分法求取同伦曲线 记 则有: n个常微分方程,n+1个自变量 与广义勾股定理联立即可求解 该问题如何求解最方便? 数值方法每求解出dx和dt后,可应用牛顿-拉佛逊法修正一次以使(x (t), t)更接近同伦曲线。 初始条件为: 该方程组方程数比自变量数少1 联立求解则可获得修正值 * * 第四章 非线性方程组的求解 4.1 概述 一、非线性方程组的一般形式 解法: 迭代逼近的方法:牛顿法等 最优化方法 或 二、解的存在性—压缩映射原理 不动点 压缩映射 压缩映射原理 若G在闭集D0上是压缩映射,且G D0 ? D0 ,则G (x)在D0上存在唯一的不动点 收敛性 对于某个非线性方程组,若其解为 ,某一算法产生 迭代序列x (k),且有下式成立,则称该算法收敛。 收敛速度 对于一个收敛于解的序列x (k),若存在一个正实数α和一个与迭代步数k无关的正常数q,由某k0开始下式成立,则称该迭代序列具有α阶收敛速度。 三、算法选择标准 1、迭代算法适应性 收敛域越大越好,即压缩映射D0应尽量大 2、迭代算法收敛性 除需要在解附近,对初始点的其他要求越少越好 3、迭代算法收敛速度 越快越好 4、计算量 四、非线性方程组的线性展开 对于一个n维多元函数组 f (x),在某一点附近,有: 其中J被称为雅可比矩阵,其计算如下: 非线性方程组线性展开示例 下列方程组在[2, 2]处线性展开 五、误差分析 误差分类 模型误差、观测误差、方法误差、舍入误差、初值误差 数值稳定性 某算法在运算过程中,误差不增长或增长很少,则称该算法数值稳定性较好。 收敛检验 4.2 f (x) = 0的求解 一、牛顿-拉弗逊法(Newton-Raphson method) 原理 第k步迭代时,将非线性方程组展开为线性方程组 L (x)=0,并将线性方程组的解作为下一个迭代点。 迭代公式 在解附近 二阶收敛 二、牛顿-拉弗逊法的修正 1、在迭代公式中引入搜索步长 步长用一维搜 索确定 目的:扩大收敛域 2、引入阻尼因子(Damping factor) 目的:克服J的奇异和病态 阻尼因子应使J非奇异; 且迭代点更靠近解 3、雅可比矩阵计算的简化 迭代k0步之后,固定J为 通常取k0=2,此时算法具有三阶收敛速度。 对于规模较大的化工问题,上述算法不适合。 计算量太大 J表达式过于复杂 三、拟牛顿法(Quasi Newton method) 研究目的:避免雅可比矩阵的计算和求逆 一般迭代公式: 实质:割线法在多维空间的拓展 最常用形式:Newton-Broyden法 概述 Newton-Broyden法原理 设第k步解已求出,则可计算出: 则第k+1步迭代时的雅克比矩阵可以通过修正获得: 其中 n个方程,n×n个自变量 n个方程,2n个自变量 则可得到: 由此,只要确定了初始矩阵J,则后面迭代中可通过秩一修正来计算矩阵J,减少了计算量。 最后 可确定 Sherman-Morrison公式 迭代中可 对矩阵逆修正 Newton-Broyden法迭代公式: 或 效果较好 超线性收敛 以增加内存占用 提高计算效率. 也可通过一维搜索最优步长因子加快收敛。 inv_J1 = 0.3373 0.1557 0.1103 0.5124 iJ1 = 0.2710 0.1232 0.0371 0.4040 理论结果与实际计算结果: 四、阻尼最小二乘法(Levenberg-Marquardt method) 而此最小化问题,可通过牛顿法来求解: 其中: m≥ n m=n为方程组求解 阻尼因子 以上述迭代公式为基础,即可得到LM算法,除用于求解非线性方程组,也可用于非线性参数估计。 该方法计算量较大,但效果较好,实际中阻尼因子需要通过迭代进行调节。 阻尼因子设置和调整原则 初始可设λ =0.001 当函数值未下降时,增加阻尼因子值; 函数值下降时,减小阻尼因子值。 λ很 大趋向于最速下降法 很小则趋向于牛顿法 mu_init = 1e-3; mu_inc = 10; mu_dec = 0.1; mu_max = 1e5; while (mu = mu_max) dx = -(jj+ii*mu) \ je; 计算新的函数值new_f if (new_f f), break, end mu = mu * mu_inc;

文档评论(0)

taotao0c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档