二线性方程组的解法Word文档下载推荐.docx
《二线性方程组的解法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二线性方程组的解法Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
j4
j-i
200CONTINUE
DO300i=1,n
300X0<
i)=X(i>
100WITE<
*,*)XStop
End
5
12345789
2460
2高斯-塞德尔<
Gauss-Seidel)迭代法
对雅可尔迭代稍加改进就可得到更有效地计算公式
Jacobi迭代中,第k次迭代时,Xi都用地是第k-1次迭代结果
1n
二(bi八ajX(k))
aiij二
(k41)(k41)
在此之前x1到Xi_1已经迭代出第k+1次结果.
(k41)(k+1)
我们用已有地X1到Xid新值,可改造为
i-1n
Xi(kH1)=—(b_EajX(k41)—ZajX(k))
aiij=1j1
高斯-塞德尔迭代法
程序更简单:
X(n>
X1(i)二B(i)八A(i,j)*X0(j)
j=i:
X(i)二B(i)-'
A(i,j)*X(j)三重循环
j二
CONTINUE
X0<
WITE<
*,*)X
Stop
超松驰迭代法
我们要解地方程组是矩阵形式
印,a?
厂片I_b]
200
300
100
AX-b归21,a22」】x2-[b-
有初值X(0)
ai,a2x10)b1
AX(0)=b
III⑹丨式I
]a21,a22j[X2」Lb2-
有一残余误差
r=b-AX(0)
r1b1a11a12x()
-b-」a2ia22-[公2°
)_
X⑴=x(0)」(b-AX⑼)
巧」I/'
严ZE])
如如践一环22_如]
将b地残余误差用来修正X,数学家也很伟大
当X(k)极限,极限即解为什么收敛极限即解?
迭代公式:
(k1)
i
=#k)-(bi-'
aijx(k))
jw
注意j“可以,且必须含有该项
iin
Xi(k4l)=Xi(k)~(bi-迟引严-迟aajXj(k))
j=1j=i
以上两式迭代有何异同?
当aii0时
x(k)=x(k)(bi_送3用5-迟aijx(k))
aiijmj□
w减少ai倍不影响思想
可以证明保证迭代收效必须要求0-「:
:
2
0:
‘低松弛法1<
■超松弛法
迭代法地收放性
%
311
定理所有迭代都可写成矩阵形式
fla11
ai2|
■xd
bl
—
且1
a22
1
X二BX
对任意初值问差x(0)及任意fx^(bi-a12x2)/a11=
迭代收放地充要条件是:
a?
ib?
X2=(d-a2〔x〔)/a?
2x〔-•
:
(B)<
P(B)=Max入B
■iB为方阵B地特征值
det(■E-B)
■―b11-b12
-b?
i1-b?
2
III
_b1n
_b2n
定理<
充分条件)
Bd对任意X(0),f收敛
对角元点优an]aij
jm
对间钱上元素绝对值大于同行元素绝对值之和.
AX=b
则JacobiGauss-Seidel都收敛.
4
高斯消去法
a11
a12
a13]「为1
11
bl61X1+a12x2
+813X3=b1
(1)
la21
1-a23|x2=
1b?
a?
1片+a?
?
%?
+a23x3_b2
⑵
]a31
a32
a33»
x3_|
[d」a31N*a32x2
*a33x3—b3
⑶
2j
-2?
■®
a21
aii
by弋+仝竺
(1)況旦+
(2)消去②中地n
ana11
a3?
(1)丄_a1ja31=a3j+
b
(2)我+兰电(1F旦+⑶消去③中地x1
耳1a11
即消第i行地X1
a
(1)a
(1)
(2)
(1)1ji1
a()=a(丿
b⑵二bi⑴
bTaJ
i=2,3,4.....nj=1,2,3....n皆)经过上式得零.
或i=2,3,4……nj=2,3....n
直接让为零.
经过k-1次消元
a11a12a13
a1n-1
ain
a21a22a23
a2n-1
X
1||a2nX?
|
b1
bk
00aik
ain-1
ank
ann-13
annX
-bn
a(k°
ij
a(k)
(k1)=b(k)
akk)aikk)
akk)
bkk)aikk)
k-1,2,....,n-1
消Xk用第k个方程消其下边方程中地xk
i=k1,....,n
消第i个方程中地xk
j=k,....,n
消第i个方程中地Xk时第i个方程中各项相应变化
当j=k时ai,1)=0
^或j-k1,....,n
强行让a(kk1}=0
DO100k=1,n-1
DO200i=k+1,n
bkaik
akk
DO300j=k,n
akjaik
aj=au
300CONTINUE
200CCNTINUE
100CCNTINUE
回代过程
ai2
_b3
bn/ann
Xn^_(bn-1
an^,nXn)/an
4,nX
xj/ai
N=(b-'
3i
j#
程序结构:
xn=bn/ann
DOI=21,1,-1
T=0.0
DOJ=I+1,N
T=T+aijXi
ENCDO
Xi=(bi-T)/ai
列主元素消去法
高斯消去法碰到a11,a22),ai(k)为零或很小时,消去无法进行.
人手工问时无所谓,为零更好该方程省得去消,但程序计算就不能进行列主元素消去调换方程顺序注意调换方程顺序并不会改变未知数顺序
0x110x28X3=5
6Xi7X24X3=6
3x16x2x^4
每次作消去时,判断不为零地剩余方阵第一列水最大•
比如做第k次消元<消Xk)剩余k乘k矩阵,则判断akk,a®
a^2,k……an,k谁
最大.
判断大小,只记最大位置
比如am,k最大,则用它去消剩余地.
为了程序设计方便我们将第m个方程移到第i个,一次下移.或更简洁地将第i个与第m个进行对换.
必需作
注意:
X矩阵不用变化.为什么?
调整方程顺序,未知数地位置并不变.这样一来程序上要做一些变化,在消之前加判断大小和跳换位置加在********处回代过程不变
**********
aij
akjaik
回代过程不变
完全主元素消去法
-r1
1111
-1
A
AX
=b
iJiJ
1J
在A中找最大元素,
将该元素换到第一行第一列
这样方程调顺序未知数亦调顺序•
做到第k次时
在剩余地方阵元素中找最大地再调整方程顺序
未知数顺序
特别注意前几个方程地系数、未知数还要调整顺序.未知数位置地变化必须记住,打印结果时要还原顺序.回代过程不变.