化工过程模拟与分析(第四章非线性方程组的求解)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 非线性方程组的求解
4.1 概述
一、非线性方程组的一般形式
f1 x1 , x2 , , xn 0 f 2 x1 , x2 , , xn 0 f n x1 , x2 , , xn 0

x x ,x 1 1 1, x 2, n x x ,x 2 2 1, x 2, n x x ,x n n 1, x 2, n
k 阻尼因子应使J非奇异; x x J x I f x k k k k 1

1
且迭代点更靠近解
目的:克服J的奇异和病态
3、雅可比矩阵计算的简化 迭代k0步之后,固定J为
Jx

k 0
通常取k0=2,此时算法具有三阶收敛速度。 对于规模较大的化工问题,上述算法不适合。

T k
k k n 1 ,v 其中 u
n个方程,2n个自变量
则可得到:
uk
f k Jk xk
v x
k T
k
k k k 1 此时,若确定 v ,则由 J 推断 J
k k k f J x k k k 显然, v x 最为方便且合理,此时 u kT k x x
Newton-Broyden法原理
设第k步解已求出,则可计算出:
k k 1 k
k
f f f x f x J x x x xxk x 则第k+1步迭代时的雅克比矩阵可以通过修正获得:
k 1 k
k
k 1 k 1 k 1 f x f x J x x

非线性方程组线性展开示例
下列方程组在[2, 2]处线性展开
2 x x 1 0 1 2 2 2 x 2 x 0 . 5 1 0 2 1
五、误差分析
误差分类
模型误差、观测误差、方法误差、舍入误差、初值误差
数值稳定性
某算法在运算过程中,误差不增长或增长很少,则称 该算法数值稳定性较好。 收敛检验

可确定 J u v 最后 J
k 1 k k kT
由此,只要确定了初始矩阵J,则后面迭代中可通过秩 一修正来计算矩阵J,减少了计算量。

k
迭代公式
k x x J x f x
k 1

1 k
在解附近 二阶收敛
二、牛顿-拉弗逊法的修正
1、在迭代公式中引入搜索步长
k x x t J x f x k k k 1

1 k
步长用一维搜 索确定
目的:扩大收敛域 2、引入阻尼因子(Damping factor)
* x k x 0 ,k
收敛速度
对于一个收敛于解的序列x (k),若存在一个正实数α和 一个与迭代步数k无关的正常数q,由某k0开始下式成立, 则称该迭代序列具有α阶收敛速度。
x k 1 x q x k x
* *

k k 0
三、算法选择标准
计算量太大 J表达式过于复杂
三、拟牛顿法(Quasi Newton method)
概述 研究目的:避免雅可比矩阵的计算和求逆 一般迭代公式:
k 1 k 1 k A A A x x A f x k 1 k k k

实质:割线法在多维空间的拓展 最常用形式:Newton-Broyden法

x xk
n个方程,n×n个自变量
k 1k 1k k 1 k J x x f x f x

k

kT
k 1 k J x fk
J J u v
k
k 1

k k J x u v x f k k k
1、迭代算法适应性 收敛域越大越好,即压缩映射D0应尽量大 2、迭代算法收敛性 除需要在解附近,对初始点的其他要求越少越好 3、迭代算法收敛速度
越快越好
4、计算量
四、非线性方程组的线性展开
对于一个n维多元函数组 f (x),在某一点附近,有:
0 0 0 f x f x J x x x
解法:
1. 迭代逼近的方法:牛顿法等 2. 最优化方法
二、解的存在性—压缩映射原理 不动点
n n * * * * 设 G : D ,若 x D 满足 x G x ,则称 x 为映
G x 的不动点
压缩映射

n n 假定 G : D ,若存在常数 0 , 1 ,使 x , y D D 有 0
成立,则称 G x 在 D 上为压缩映射, 为压缩系数 0
压缩映射原理 若G在闭集D0上是压缩映射,且G D0 D0 ,则G (x)在D0 上存在唯一的不动点
G x G y x y
收敛性
对于某个非线性方程组,若其解为 x * ,某一算法产生
迭代序列x (k),且有下式成立,则称该算法收敛。

... ... ... ... f1 x x n f 2 x x n f n x x n x x0
其中J被称为雅可比矩阵,其计算如下:
f1 x f1 x x x 2 1 f 2 x f 2 x x1 x 2 0 J x ... f n x f n x x x 2 1
x
( k 1)
x
源自文库(k )
(k )
x

4.2
f (x) = 0的求解
一、牛顿-拉弗逊法(Newton-Raphson method) 原理 第k步迭代时,将非线性方程组展开为线性方程组 L (x)=0,并将线性方程组的解作为下一个迭代点。
k k k f x f x J x x x L x
相关文档
最新文档