非线性方程组数值解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(k ) (k )
1
f (x )
1
(k )
( k 1)
x
(k )
f ( x )
f (x )
(k )
称上述公式为Newton迭代格式。 Newton迭代方法在实际迭代时,转化为求方程组的解
f ( x )( x
(k )
( k 1)
x ) f (x )
(k ) (k ) (k )
Broyden秩1方法的迭代公式变为:
x x ( A ) f ( x ) , k 0 , 1 , 2 ( 0) 1 1 ( 0) ( A ) f ( x )
( k 1) (k ) ( k ) 1 (k)
Broyden秩1算法 ( 0) n 选取初值 x R
(1)
x
( 0)
x
( 0)
0.8 0.88
计算结果如下
要求 精度 0.001 迭代 次数 2
方程组的近似解
(1.0000 1.0000)
0.0001
3
(1.0000 1. 0000)
Broyden秩1方法(拟Newton方法中的一种)
利用多元函数的Taylor展开公式得
(A ) (k ) ( k ) 1 (k ) x (A ) f (x )
( k ) 1
满足给定的精度要求,迭代终止。
Broyden秩1算法 ( 0) n 选取初值 x R
计算
( A ) (f ( x ))
( 0)
( 0) 1
1
x x (A ) f (x )
(1) ( 0) ( 0)
A y ( k 1) T ( k 1) (y ) y
( k 1)
( k 1)
u
( k 1)
( k 1)
唯一确定
A
(k )
A
( k 1)

g
( k 1)
A y ( k 1) T ( k 1) (y ) y
A R
n n
( k 1)
(y
( k 1) T
)
引理 6. 1 如果
T
A
g
( k 1)
u
( k )T
( k 1)
待定向量
代入拟Newton方程得
f (x ) f (x
(k ) ( k 1)
( k 1)
) A y
(k ) ( k 1) T
( k 1)
A
y
( k 1)
u
( k 1)
(y
) y
( k 1)
u
( k 1)

g
( k 1)
2 1 2 2
2 x2 2 x1 10 f ( x ) 2 x2 1 2 x1 x2 10
解方程组
f ( x )x
( 0)
( 0)
f (x )
( 0)
10 0 ( 0) 8 即 1 10 x 8 x
( 0) 1
For k=0 , 1 , 2 , …
g f (x ) f (x (k ) ( k 1) y x x
(k )
( k 1)
)
利用前式计算
x
( k 1)
(A ) (k ) ( k ) 1 (k ) x (A ) f (x )
( k ) 1
满足给定的精度要求,迭代终止。
用非线性方程的解法器解
fi ( x1( k ) ,, xi 1( k ) , u, xi 1( k ) ,, xn( k ) ) 0
如果迭代停止条件满足,则中止循环并输出 x ( k 1)
end
得出u。 xi ( k 1) u
end
算法6.2(非线性Gauss-Seidel迭代)
x1 x 2 x xn
利用多元函数的Taylor展开公式得
f ( x ) f ( x )( x
(k ) (k )
()
x )0
(k)
其中
f ( x )
称之为函数
f ( x )的Jacobi矩阵
f1 ( x ) x 1 f 2 ( x ) f ( x ) x1 f n ( x ) x 1
6 非线性方程组的迭代解法
/* The Iterative Method for Systems of Nonlinear Equations */
n个方程的n元非线性方程组的一般形式:
2 f1 ( x1 , x2 , , xn ) 0 如 xy z 1 2 2 xyz y x 2 f 2 ( x1 , x2 , , xn ) 0 () x y e z e 3 f n ( x1 , x2 , , xn ) 0
end end
如果迭代停止条件满足,则中止循环并输出 x ( k 1)
这三种方法一定条件下收敛,但一般较慢。
二、Newton迭代法及其改进算法
Newton迭代法的迭代格式
令:
f1 ( x1 , x2 , , xn ) f ( x , x , , x ) 2 1 2 n f f n ( x1 , x2 , , xn )
for k=0 , 1 , 2 , …
for i 1, 2, , n
用非线性方程的解法器解
fi ( x1( k 1) ,, xi 1( k 1) , u, xi 1( k ) ,, xn( k ) ) 0 得出u。 xi ( k 1) u end 如果迭代停止条件满足,则中止循环并输出 x ( k 1) end
(k )
)
下列关系式称之为拟Newton方程
A (x
(k )
(k )
x
( k 1)
) f (x ) f (x
(k)
( k 1)
)

A
(k )
秩1矩阵
A
( k 1)
( k 1)
u
( k 1)
( k 1)
x
y
x
u
( k 1)

其中 f
i
(i
1, 2,, n) 是定义在区域 D
R
n上的n
元实值函数,且
fi
中至少有一个是非线性函数。
一、非线性Jacobi迭代、Gauss-Seidel迭代和SOR迭代 类似于线性方程组的经典迭代法,我们有:
算法6.1(非线性Jacobi迭代)
for k=0 , 1 , 2 , …
for i 1, 2, , n
f1 ( x ) x 2
f1 ( x ) x n f 2 ( x ) f 2 ( x ) x 2 x n f n ( x ) f n ( x ) x 2 x n
x x
()
x
(k )
f ( x )
T
如果矩阵
1
非奇异, x,
T
yR
n
y A x 1 ,则 A xy
T 1 1 1
也可逆,且有
T 1
A xy A ( A xy ) A T 1 1 y A x
(A )
( k ) 1
的计算公式:
( k 1) 1
(A ) (A
( k ) 1
)
( k 1) 1 ( k 1) ( k 1) ( k 1) T ( k 1) 1 (A ) g y (y ) (A ) ( k 1) T ( k 1) 1 ( k 1) (y ) (A ) g
f ( x )x
(k )
f (x )
(k )
每迭代一次需要计算Jacobi矩阵并求解方程组,故计 算量很大。拟Newton方法就是对上述问题的改进。
例: 用Newton迭代法求解下列方程组
x 10 x1 x 8 0 2 x1 x2 x1 10 x2 8 0 解: 2 2 x1 10 x1 x2 8 ( 0) 0 f ( x) 取x 2 x1 x2 x1 10 x2 8 0
算法6.3(非线性SOR迭代)
for k=0 , 1 , 2 , …
for i 1, 2, , n
用非线性方程的解法器解
fi ( x1( k 1) ,, xi 1( k 1) , u, xi 1( k ) ,, xn( k ) ) 0
得出u。 xi ( k 1) xi ( k ) (u xi ( k ) )
计算
( A ) (f ( x ))
( 0)
( 0) 1
1
x x (A ) f (x )
(1) ( 0) ( 0)
( 0) 1
For k=0 , 1 , 2 , …
g f (x ) f (x (k ) ( k 1) y x x
(k )
( k 1)
)
利用前式计算
x
( k 1)
fi ( x
( k 1)
f i ( x ) ( k 1) (k ) ) fi ( x ) xj xj x j j 1
(k ) n (k )


写成矩阵形式
i 1, 2, , n
( k 1)
f ( x
(k )
) x
x
(k )
f (x
( k 1)
) f (x
相关文档
最新文档