西交大计算方法上机报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算方法(B)实验报告
姓名:
学号:
学院:专业:
实验一 三对角方程组 Tx f 的求解
实验目的
掌握三对角方程组 Tx f 求解的方法。 实验内容
求三对角方程组 Tx f 的解,其中:
4 -1 3 -1
4
-1
2
T O O O , f M -1 4 1
2 -1 4
3
三、
算法组织 设系数矩阵为三对角矩阵
b i C i
a 2
b 2
c 2 a 3 b 3 C 3
T
OOO
a n i
b n i C n i
b n
则方程组 Tx f 称为三对角方程组。
设矩阵T 非奇异,T 可分解为T=LU,其中L 为下三角矩阵,U 为单位上三角矩 阵,记
2. 将Tx f 压缩为四个一维数组 a 、b i 、C 、d i , a i > b 、G 是T 的三对角 线性方程组的三个对
角,
d i 是右端向量。将分解矩阵压缩为三个一维数组
l i
、
i
、 r
i
3. 对T 做Crout 分解(也可以用Doolittle 分解)导出追赶法的计算步骤如下:
i b i , r i c i
1
l 2
L
1
l 3 1 ,
O O ,
l n 1 1
L l n 1 可先依次求
出 L,U 中的元素后,令 Ux 再求解上三角方程组 Ux y 。
追赶法的算法组织如下:
1. 输入三对角矩阵 T 和右端向量 f ;
i
r i
i r
2
U
i r
3
O
O
n i
r n i
y ,先求解下三角方程组 Ly f 得出 y ,
n
for i 2: n
l i a
i , i 1
, i b a i r i 1,
r i C i ,y i d i li% 1
end
4. 回代求解x
x n y n / n
for i n 1: 1
X i (Y i GX i1)/ i
end
5•停止,输出结果。 四、 MATLAB 程序 MATLA 程序见附件1.
五、
结果及分析
实验结果为:
x (1.0000 1.0000 L 1.0000 1.0000)T
实验二Jacobi迭代和Gauss-Seidel迭代解线性方程组
实验目的
掌握Jacobi迭代和Gauss-Seidel迭代解线性方程组的方法。
实验内容
用Jacobi迭代和Gauss-Seidel迭代解电路电流方程组,使各部分电流误差
均小于103。
28i13i
2 10
% 38i210i3 0
10i2253 15i4 0
15i3 45i40
5i230i s 0
二、算法组织
形如Ax b的方程组,用Jacobi迭代求解x,算法组织如下:
1. 将系数矩阵A分解成对角元D、下三角部分元E和上三角部分兀F,于是
A D E F .
2. 由Ax b (D E F)x b Dx (E F)x b x D 1(E F)x D 1b。
3. 从而构成形如x(k 1)Gx(k)d迭代格式:
x(k 1) D 1(E F)x(k) D 1b
其中
G D 1(E F)
d D 1b
4. 选取初始向量x(0)进行迭代计算。
5. 当迭代后的解满足题中的约束条件max x(k 1) X(k)时迭代停止
1 i n
形如Ax b的方程组,用Gauss— Seidel迭代求解x,算法组织如下:
1•将系数矩阵A分解成对角元D、下三角部分元E和上三角部分元 F ,于是
A D E F .
2. 由
Ax b (D E F)x b (D E)x Fx b x (D E) 1Fx (D E)1b 3. 从而构成形如x(k1)Gx(k)d迭代格式:
x(k1)(D E)1Fx(k) (D E)1b
其中
G (D E) 1F
d (D E)1b
4.选取初始向量x(0)进行迭代计算。
5.当迭代后的解满足题中的约束条件max x(k1) x(k)时迭代停止
四、MATLAB程序
MATLA程序见附件2,其中1为Jacobi迭代,2为Gauss-Seidel迭代。
五、结果及分析
Jacobi迭代结果:
方程组的解为x (0.3607 0.0335 0.0163 0.0054 0.0055)T
迭代次数i 8
Gauss— Seidel 迭代结果:
方程组的解为x (0.3607 0.0335 0.0166 0.0055 0.0056)T
迭代次数i 4
由以上结果可知,达到相同的计算精度,Gauss— Seidel迭代比Jacobi迭代的速度快,Gauss— Seidel迭代比Jacobi迭代次数少。