二线性方程组的解法.docx
- 文档编号:6958509
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:11
- 大小:53.28KB
二线性方程组的解法.docx
《二线性方程组的解法.docx》由会员分享,可在线阅读,更多相关《二线性方程组的解法.docx(11页珍藏版)》请在冰点文库上搜索。
二线性方程组的解法
第二章线性方程组地解法
基本解法迭代法和直接法•
直接方法大家已学过,我们重在分析程序写法.
§1雅可比vJacobi)迭代法
例:
求解线性方程组
10咅-x2-2X3=7.2
〈一X[+10x2-2x3=8.3
i-%-x2+5x3=4.2
分离出x1、x2、x3,构造迭代
Xi
X=x2
3
b2
当X(k)极限存在就是方程组地解,本方法也适用于非线性方程组
迭代极限存在极限即为解
程序思想:
定义数组A
读入组数ABX0(初值>
Do100k=1,10
Do200i=1,n
n
X(i)二B(i)-'A(i,j)*X0(j)三重循环
j4
j-i
200CONTINUE
DO300i=1,n
300X0
100WITE<*,*)XStop
End
5
12345789
2460
§2高斯-塞德尔 对雅可尔迭代稍加改进就可得到更有效地计算公式 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 高斯-塞德尔迭代法 程序更简单: 定义数组A 读入组数ABX0(初值> Do100k=1,10 Do200i=1,n n X1(i)二B(i)八A(i,j)*X0(j) j=i: n X(i)二B(i)-'A(i,j)*X(j)三重循环 j二 j-i CONTINUE DO300i=1,n X0 WITE<*,*)X Stop End 超松驰迭代法 我们要解地方程组是矩阵形式 印,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 n =#k)-(bi-'aijx(k)) jw 注意j“可以,且必须含有该项 iin Xi(k4l)=Xi(k)~(bi-迟引严-迟aajXj(k)) j=1j=i 以上两式迭代有何异同? 当aii0时 i-1n 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)<1 P(B)=Max入B ■iB为方阵B地特征值 det(■E-B) ■―b11-b12 -b? i1-b? 2 III _b1n _b2n 定理<充分条件) Bd对任意X(0),f收敛 n 对角元点优an]aij jm 对间钱上元素绝对值大于同行元素绝对值之和. AX=b 则JacobiGauss-Seidel都收敛. §4 高斯消去法 a11 a12 a13]「为1 11 bl61X1+a12x2 +813X3=b1 (1) la21 a22 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+ a11 b (2)我+兰电(1F旦+⑶消去③中地x1 耳1a11 即消第i行地X1 a (1)a (1) (2) (1)1ji1 a()=a(丿 a11 b⑵二bi⑴ bTaJ aii 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 b2 bk 00aik ain-1 ain ank ann-13 annX -bn a(k° ij a(k) (k1)=b(k) akk)aikk) akk) bkk)aikk) akk) 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 消第i个方程中地Xk时第i个方程中各项相应变化 强行让a(kk1}=0 DO100k=1,n-1 DO200i=k+1,n bkaik akk DO300j=k,n akjaik aj=au akk 300CONTINUE 200CCNTINUE 100CCNTINUE 回代过程 aii ai2 ai2 a22 b2 _b3 bn/ann Xn^_(bn-1 an^,nXn)/an 4,nX n 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 ENCDO 列主元素消去法 高斯消去法碰到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矩阵不用变化.为什么? 调整方程顺序,未知数地位置并不变.这样一来程序上要做一些变化,在消之前加判断大小和跳换位置加在********处回代过程不变 DO100k=1,n-1 ********** aij akjaik akk 300CONTINUE 200CONTINUE 100CCNTINUE 回代过程不变 完全主元素消去法 -r1 1111 -1 11 A AX =b iJiJ 1J 在A中找最大元素, 将该元素换到第一行第一列 这样方程调顺序未知数亦调顺序• 做到第k次时 在剩余地方阵元素中找最大地再调整方程顺序 未知数顺序 特别注意前几个方程地系数、未知数还要调整顺序.未知数位置地变化必须记住,打印结果时要还原顺序.回代过程不变.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性方程组 解法