东南大学 数值分析 第三章高斯消元 VB编程.doc_第1页
东南大学 数值分析 第三章高斯消元 VB编程.doc_第2页
东南大学 数值分析 第三章高斯消元 VB编程.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 (vb编程)39、列主元高斯消去法(1)通用程序:Public Function guass(n As Integer, a() As Single, b() As Single, x() As Single)Dim i As Integer, j As Integer, k As IntegerDim amax As Single, imax As Integer, s As SingleDim m As Single, t As Single, mm As SingleFor j = 1 To (n - 1)amax = Abs(a(j, j)imax = j比较对应于主元所在列中的各行数的绝对值大小For i = j + 1 To nIf (Abs(a(i, j) amax) Thenamax = Abs(a(i, j)imax = iEnd IfNext i 比较完毕将在主元所在列中绝对值比主元大的数对应的行与主元所在行互换If (imax j) ThenFor k = j To nt = a(imax, k)a(imax, k) = a(j, k)a(j, k) = tNext kbmax = b(imax)b(imax) = b(j)b(j) = bmaxEnd If互换完毕消去对应主元所在列的元For i = j + 1 To nt = 1# / a(j, j)t = t * a(i, j)For k = j To na(i, k) = a(i, k) - a(j, k) * tNext kb(i) = b(i) - b(j) * tNext i消元完毕Next j判断是否有等价方程,如果有则显示“无穷多解”For i = 1 To nm = 0mm = 0For j = i To nm = m + a(i, j)mm = mm - a(i, j)Next jIf (m 0.000001 And mm 0.000001) ThenMsgBox 无穷多解EndEnd IfNext i判断完毕回代,求解xx(n) = b(n) / a(n, n)For i = n - 1 To 1 Step -1m = 0For j = n To i + 1 Step -1m = m + a(i, j) * x(j)Next jx(i) = (b(i) - m) / a(i, i)Next i求解x 完毕End FunctionPrivate Sub Command2_Click()EndEnd SubPrivate Sub Command1_Click()Dim s() As Single, x() As SingleDim a() As Single, b() As SingleDim i As Integer, j As Integer, k As IntegerDim amax As Single, imax As IntegerDim m As Single, n As Integer, c As SingleDim p As StringIf Text1.Text = ThenMsgBox (请输入系数矩阵的阶数)Else:again:n = Val(Text1.Text)ReDim a(n, n) As SingleReDim b(n) As Single, x(n) As Single输入并在相应图框中输出系数矩阵a(i,j)For i = 1 To nFor j = 1 To na(i, j) = Val(InputBox(系数矩阵a( & i & & j & )数值:, 输入框)Picture1.Print a(i, j); vbTab; ;Next jPicture1.Print Chr(13)Next i系数矩阵a(i,j)读入完毕输入并在相应图框中输出矩阵b(j)For i = 1 To nb(i) = Val(InputBox(列向量b( & i & )数值:, 输入框)Picture2.Print b(i); ;Picture2.Print Chr(13)Next i矩阵b(j)读入完毕Call guass(n, a, b, x) 调用求解函数输出计算结果For j = 1 To np = x( & Str(j) & )= & Format(Str(x(j), #0.0000)Picture3.Print p; ;Picture3.Print Chr(13)Next j计算结果输出完毕On Error GoTo again:End IfEnd SubPrivate Sub Command3_Click()Picture1.Cls

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论