当前位置:文档之家› 5-非线性方程组的数值解法及最优化方法

5-非线性方程组的数值解法及最优化方法


5
6 7 8
(0.2325921368,0.0562589070)
(0.2325180591,0.0564574373) (0.2325700285,0.0564399945) (0.2325640284,0.0564522316)
0.0008430541
0.0001985303 0.0000519694 0.0000122370

迭代计算过程如下表所示。
非线性方程组的数值解法
X0=[1.5;1]; k=0; while 1 k=k+1; F=[X0(1,1)+2*X0(2,1)-3;2*X0(1,1)^2+X0(2,1)^2-5]; Fd=[1 2;4*X0(1,1) 2*X0(2,1)]; Xk=X0-inv(Fd)*F; err=max(abs(Xk-X0)); if err<=0.00005 break; end X0=Xk; end
非线性方程组的数值解法
常用解法分为两类:一类是线性化方法,将非线性方程组用 一个线性方程组来近似,由此构造一种迭代公式,逐次逼近 所求的解;另一类是属于求函数极小值的方法,即由非线性 函数 f1, f 2 ,, f n 构造一个模函数,例如构造函数
x1 , x2 ,, xn fi x1 , x2 ,, xn 2


非线性方程组的数值解法
如果把迭代公式写为向量形式 并记矩阵 φx 为
xk 1 φ xk
1 x2 2 x2 n x2

1 xn 2 xn n xn
1 x 1 2 φx x1 n x1
1 4 0
非线性方程组的数值解法
x10=0; x20=0; k=0; while 1 k=k+1; x1k=(1+x20-0.1*exp(x10))/4; x2k=(x10-x10^2/8)/4; %雅克比迭代法 %x2k=(x1k-x1k^2/8)/4; %高斯-赛德尔迭代法 err1=abs(x1k-x10); err2=abs(x2k-x20); err=max(err1,err2); if err<=0.00000000005 break; end x10=x1k; x20=x2k; end
非线性方程组的数值解法
k
0
x
k
1
, x2
2
Hale Waihona Puke max xik xik 1
1 i 2
(1.5,1.0)
1
2 3 4
(1.50,0.75)
(1.488095,0.755952) (1.488034,0.755983) (1.488034,0.755983)
0.25
0.011905 0.000061 10-9
k 1 x1 k 1 x2
k 1 x1 k 1 x2 0.1e 4 1 k 1 1 k 1 2 x1 x1 4 8




迭代计算过程如下表所示
非线性方程组的数值解法
k
0 1 2
式中 f1, f 2 ,, f n 均为 x1, x2 ,, xn 的多元函数,向量形式为
Fx 0
其中
f1 x x1 0 , x R n , 0 Fx f n x xn 0
非线性方程组的数值解法
练习题:用牛顿迭代法求解方程组
2 x12 x2 4 2 2 x x 2 1 1
取 X 0 1.6,1.2T 结果: 1.5811 ,1.2247
非线性方程组的数值解法
应用经过海底一次反射到达水听器阵的特征声线传播时间, 来反演海底参数。假设水中和沉积层声速都是恒定的,海底 沉积层上界面水平,下界面倾斜。特征声线由水中声源出发 折射进入沉积层,经过沉积层的下界面反射后,再折射进入 水中,由水中水听器阵接收。特征声线的传播时间为声线在 水中和沉积层中的传播时间之和。 三维坐标关系如图所示:
上述迭代公式与求解线性方程组的雅克比迭代公式形式相 同,可以对其进行改进,构造求解非线性方程组的高斯-赛 德尔迭代公式,即
k 1 k 1 k k xik 1 i x1 ,, xi , x , , x ,2,, n 1 i n , i 1


对上例采用高斯-赛德尔迭代公式计算
f1 x f1 x x xn 1 Fx f n x f n x x1 xn
称为 Fx 的雅克比矩阵。
非线性方程组的数值解法
例题2:用牛顿迭代法求解下面非线性方程组
x1 2 x2 3 0 2 2 2 x x 2 5 0 1
非线性方程组的数值解法
当 n 2 ,并且 fi , i 1,2,, n 中至少有一个是自变量 xi , i 1,2,, n 的非线性实函数时,称方程组 Fx 0 为 非线性方程组。其求根问题就是确定方程组在指定范围内的 一组解,可以通过对单个非线性方程求根问题的直接推广得 到非线性方程组的求解算法。


0 0 0 x0 x1 , x2 ,, xn 则由迭代公式可以得到一个向量序列 x1 , x2 , x3 , 。如果 k k * * lim x x 0 x 方程组有唯一解向量 x ,并且k ,则 可
* x 作为逐次逼近 的近似解。
由牛顿迭代公式得到
k k k 2 x 2 x 2 x 1 k 1 k 2 1 2 3 x x k k 2 k k k 2 2 x2 8 x1 4 x1 1 2 x1 x2 5
i 1
n
然后通过各种下降法或优化算法求出模函数的极小值点,此 极小值点即为非线性方程组的一组解。
非线性方程组的数值解法
不动点迭代法:根据非线性方程求根的迭代法,将方程组改 写为如下等价方程组
xi i x1, x2 ,, xn , i 1,2,, n
构造迭代公式 选取初始向量
k k k xik 1 i x1 , x2 ,, xn , i 1,2,, n
9
10 … 18 19
(0.2325672770,0.0564508188)
(0.2325668213,0.0564515837) … (0.2325670051,0.0564515197) (0.2325670051,0.0564515197)
0.0000032485
0.0000007649 …
非线性方程组的数值解法
则可以证明当 φx L 1 时,迭代公式是收敛的。
非线性方程组的数值解法
例题1:用迭代法解如下非线性方程组
取初值 x0 0,0T。 解:构造迭代公式
4 x1 x2 0.1e x1 1 1 2 x1 4 x2 x1 0 8
k 1 x1 k 1 x2
非线性方程组的数值解法
若对任意 A C mn 都有一个实数 A 与之对应,且满足: (1)非负性:当 A O 时, A 0 ;当 A O 时,A 0;
(2)齐次性:对任何 C ,A A ;
(3)三角不等式:对任意 A, B C nn ,都有 A B A B ; (4)相容性:对任意 A, B C nn ,都有 AB A B , 则称 A 为 C mn 上矩阵 A 的范数,简称矩阵范数。
Fx F xk F xk x xk
则得到线性方程组



Fx

k
k k F x xx 0


非线性方程组的数值解法
方程组的解为
k 1 k
x
x
F x

k
F x
1 k
上式即为求解非线性方程组的牛顿迭代公式。式中
0.0000055305 0.0000001511 0.0000000041 0.0000000001
非线性方程组的数值解法
牛顿迭代法:根据求解非线性方程的牛顿迭代法,如果已经 k k T ,则 ,, xn 给出方程组 Fx 0 的一个近似根 xk x1k , x2 可把函数 Fx 的分量 fi x, i 1,2,, n 在 x k 处按多元函数泰 勒公式展开,取其线性部分做近似,得
(0.2325668498,0.0564514831) (0.2325670008,0.0564515487) (0.2325670050,0.0564515196) (0.2325670051,0.0564515197) (0.2325670051,0.0564515197)
0.0002023950


所以有
1 x φx 1 2 x1
0
T
取初值 x 代公式收敛。
T 0 x 0 , 0 附近 φx 1,所以迭 0,0 ,在
1 1 x 1 e 40 x2 2 1 1 x1 x2 4 16
计算时取初始值 x0 1.5,1.0 。 解:先求雅克比矩阵
T
2 1 x1 2 x2 3 Fx 2 , Fx 2 4 x 2 x 2 1 2 x1 x2 5
非线性方程组的数值解法
F x
1
2 x2 2 1 4 x 1 2 x2 8 x1 1
m
A 1 max aij
1 j n i 1
A max aij
相关主题