收藏 分享(赏)

理学院 数值计算方法 实验二.doc

上传人:dreamzhangning 文档编号:2313386 上传时间:2018-09-10 格式:DOC 页数:12 大小:1.21MB
下载 相关 举报
理学院 数值计算方法 实验二.doc_第1页
第1页 / 共12页
理学院 数值计算方法 实验二.doc_第2页
第2页 / 共12页
理学院 数值计算方法 实验二.doc_第3页
第3页 / 共12页
理学院 数值计算方法 实验二.doc_第4页
第4页 / 共12页
理学院 数值计算方法 实验二.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、实验二实验名称 线性方程组的数值解法姓 名 张见 学 号 08119054 班 级 信计(2)指导教师 张昆 实验日期 2010-11-12 成 绩一、实验目的1、掌握 Gauss 消去法及 Gauss 列主元消去法,能用这两种方法求解方程组;2、掌握 Jacobi 和 G-S 迭代法,能应用 Jacobi 和 G-S 迭代法求解方程组;1、掌握相应数值算法的程序编写;2、理解迭代法收敛的充要条件,会判断迭代法的收敛性。二、实验题目1、分别用列主元消去法与不选主元消去法求解,分析算法对结果的影响:a) =0.3101559.14 3 15.291 6.1301 211.2 9 5 21 2 1

2、 1,=59.1746.7812 b) =10 7 0 13 2.0999996 25 1 5 10 1 0 2,= 85.90990151 2、给定矩阵 A=hilb(n)与向量 b, =1 12 1512 13 16 15 16 19,=12345a) 求 的 LU 分解;Ab) 利用 的 LU 分解求解方程组: ; ; x=b;= 2= 3c) 利用 的 LU 分解求 ,n 值自己给定。1三、实验原理1、当系数矩阵 A 的秩 增广矩阵 B 的秩时,方程组无解向量;当系数矩阵 A 的秩=增广矩阵 B 的秩 d Thend = Abs(a(i, k)Ni = iEnd IfNext iFor

3、 j = k To nt = a(Ni, j)a(Ni, j) = a(k, j)a(k, j) = tNext je = b(Ni)b(Ni) = b(k)b(k) = eFor i = k + 1 To ng = a(i, k) / a(k, k)For j = k To na(i, j) = a(i, j) - a(k, j) * gNext jb(i) = b(i) - b(k) * gNext iNext kx(n) = b(n) / a(n, n)For i = n - 1 To 1 Step -1t = 0For j = i + 1 To nt = t + a(i, j) * x

4、(j)Next jx(i) = (b(i) - t) / a(i, i)Next iPicture2.Print “解得结果为:“For i = 1 To nPicture2.Print x(i)Next iEnd Sub(b) 不选主元消元法Private Sub Command1_Click()Dim a() As Double, b() As Double, p As Double, t As Double, d As Double, Ni As Integer, x() As DoubleDim n As Integer, m As Integerm = 0n = Val(InputB

5、ox(“输入线性方程组的阶数 n“)输入系数矩阵ReDim Preserve a(n, n)Picture1.Print “系数矩阵:“For v = 1 To nFor w = 1 To na(v, w) = Val(InputBox(“a(“ If m Mod n = 0 Then Picture1.PrintNext wNext vPrintPicture1.Print “常数向量:“ReDim Preserve x(n)ReDim Preserve b(n)For v = 1 To nb(v) = Val(InputBox(输入常数向量 Next vFor k = 1 To nFor

6、i = k + 1 To ng = a(i, k) / a(k, k)For j = k To na(i, j) = a(i, j) - a(k, j) * gNext jb(i) = b(i) - b(k) * gNext iNext kx(n) = b(n) / a(n, n)For i = n - 1 To 1 Step -1t = 0For j = i + 1 To nt = t + a(i, j) * x(j)Next jx(i) = (b(i) - t) / a(i, i)Next iPicture2.Print “解得结果为:“For i = 1 To nPicture2.Pri

7、nt x(i)Next iEnd Sub2) Private Sub Command1_Click()Dim a() As Double, b() As Double, t As Double, d As Double, Ni As Integer, U() As Double, L() As Double, m As DoubleDim n As IntegerDim x() As Double, y() As Doublem = 0n = Val(InputBox(“输入线性方程组的阶数 n“)输入系数矩阵ReDim Preserve a(n, n)ReDim Preserve U(n,

8、n)ReDim Preserve L(n, n)Picture1.Print “系数矩阵:“For v = 1 To nFor w = 1 To na(v, w) = Val(InputBox(“a(“ If m Mod n = 0 Then Picture1.PrintNext wNext vReDim Preserve b(n)Picture1.Print “常数向量:“For v = 1 To nb(v) = Val(InputBox(输入常数向量 Next vFor k = 1 To nFor i = k + 1 To nm = a(i, k) / a(k, k)L(i, k) = m

9、For j = k To na(i, j) = a(i, j) - a(k, j) * mNext jb(i) = b(i) - b(k) * mNext iNext kFor i = 1 To nFor j = i To nU(i, j) = a(i, j)Next jNext iPicture2.Print “L 为:“For i = 1 To nFor j = 1 To nL(i, i) = 1Picture2.Print L(i, j); Space(5);Next jPicture2.PrintNext iPicture2.Print “*“Picture2.Print “U 为:“

10、For i = 1 To nFor j = 1 To nPicture2.Print U(i, j); Space(5);Next jPicture2.PrintNext iPicture2.Print “*“ReDim Preserve x(n)ReDim Preserve y(n)x(n) = b(n) / a(n, n)For i = n - 1 To 1 Step -1t = 0For j = i + 1 To nt = t + a(i, j) * x(j)Next jx(i) = (b(i) - t) / a(i, i)Next iFor i = 1 To nPicture2.Print “X(“ “)“ x(i)Next iEnd Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报