- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析 课程设计
求解线性方程组
作者姓名: 学号:
指导教师
学院名称 理 学 院 信息与计算科学 2012年6月
一、 问题的提出
分别用SOR方法和高斯消元的LU分解算法(lii=1, i=1,…,n)求解给定的线性方程组AX=B, 以感受迭代法和直接法的不同特点。
二、 实验内容
自定义函数 SOR(A, B, w, MAXN, TOL),以实现SOR方法求解线性方程组AX=B,其中
A——系数矩阵;
B——常数列向量;
w——松弛因子;
MAXN——迭代的最大次数
TOL——达到的精度上限
返回值有以下四种可能:
-2:SOR方法不收敛;(不收敛的依据为的某个分量值超出区间[-108, 108]。)
-1:矩阵有一列全为0;
0:算法经过MAXN次迭代还未收敛;
k:SOR方法经k次迭代收敛,求得方程组的解向量X记录下来.
自定义函数Direct(A, B),以实现高斯LU分解的方法求解线性方程组AX=B,其中
A——系数矩阵;
B——常数列向量;
返回值有两种可能:
“LU decompsition failed.”:分解过程中U的对角线元素至少一个为0;
X:分解过程中
分别使用步骤1中定义的函数SOR(A, B, w, MAXN, TOL)和步骤2中定义的函数Direct(A, B)进行测试,记录返回值及X值(算法收敛或有效的情形, 保留4位小数):
测试1:
MAXN =1000,TOL =10-9,w分别取1, 1.05, 1.1, 1.2, 1.3, 1.6, 1.95;
测试2:
MAXN =1000,TOL =10-9,w=1;
测试3:
MAXN =1000,TOL =10-9,w=1.2;
测试4:
MAXN =1000,TOL =10-9,w=1, 1.1, 1.3, 1.8;
测试5:: n阶Hilbert矩阵定义为
取n=3, MAXN =1000,TOL =10-9,w=1, 1.3, 1.6, 1.9;
测试6:A为4阶Hilbert矩阵,MAXN =10000,TOL =10-6,w=1, 1.3, 1.6, 1.8, 1.9.
三、实验结果及分析
(一) SOR方法
1. SOR法分析:
(1)利用高斯SOR法可得迭代公式:
X1(k+1)=(1-w)X1(k)-w/4(-X2(k)-X4(k))
X2(k+1)=(1-w)X2(k)-w/4(-X1(k+1)-X3(k)-X5(k)-5)
X3(k+1)=(1-w)X3(k)-w/4(-X2(k+1)-X6(k))
X4(k+1)=(1-w)X4(k)-w/4(-X1(k+1)-X5(k)-6)
X5(k+1)=(1-w)X5(k)-w/4(-X2(k+1)-X4(k+1)-X(k+1)+2)
X6(k+1)=(1-w)X6(k)-w/4(-X3(k)-X5(k)-6);
将松弛系数w的不同德值代入计算出X的值。
利用迭代使|X(k+1)-X(k)|e(e为精度,e=10^(-9))。
(2)由于矩阵出现了,一列为0,所以不能使用迭代,在程序中会出现r=-1.
(3)X1(k+1)=(1-w)X1(k)-w/3(-X2(k)+3X3(k))
X2(k+1)=(1-w)X2(k)-w/6(3X1(k+1)+3X3(k))
X3(k+1)=(1-w)X3(k)-w/3(3X1(k+1)+3X2(k+1))
利用迭代使|X(k+1)-X(k)|e(e为精度,e=10^(-9))。
(4)将方程组变为:
X1+0X2+2X3+0X4+3X5+0X6+4X7=3
3X1-1X2+0.5X3+8X4+2.2X5+1.6X6+0X7=8
3X1+3X2+0.5X3+12.5X4+5.4X5+3.6X6+X7=10
5X1+2X2+5.5X3+8X4+2.2X5+1.6X6+3.3X7=12
X1-4X2-1.5X3+9X4+2.2X5+1.6X6+3.3X7=9
5.5X1+3.5X2+0.5X3+8X4+3.2X5+1.6X6+0X7=6
-0.5X1-1.5X2+3X3+2X4+0X5+X6-X7=5
迭代公式为:
X1(k+1)=(1-w)X1(k)-w(2X3(k)+3X5(k)+4X7(k)-3)
X2(k+1)=(1-w)X2(k)+w(3X1(k+1)+0.5X3(k)+8X4(k)+2.2X5(k)+1.6X6(k)W=1的时候:
(2)W=1.05的时候:
(3)W=1.1的时候:
(4)W=1.2的时候
文档评论(0)