网站大量收购闲置独家精品文档,联系QQ:2885784924

使用全选主元高斯消去法求解线性方程组程序.doc

使用全选主元高斯消去法求解线性方程组程序.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用全选主元高斯消去法求解线性方程组程序

使用全选主元高斯消去法求解线性方程组程序 参数 n - Integer型变量,线性方程组的阶数 dblA - Double型 n x n 二维数组,线性方程组的系数矩阵 dblB - Double型长度为 n 的一维数组,线性方程组的常数向量,返回方程组的解向量 返回值:Boolean型,求解成功为True,无解或求解失败为False ====函数代码如下==== Public Function LEGauss(n As Integer, dblA() As Double, dblB() As Double) As Boolean 局部变量 Dim i As Integer, j As Integer, k As Integer Dim nIs As Integer ReDim nJs(n) As Integer Dim d As Double, t As Double 开始求解 For k = 1 To n - 1 d = 0# 归一 For i = k To n For j = k To n t = Abs(dblA(i, j)) If t d Then d = t nJs(k) = j nIs = i End If Next j Next i 无解,返回 If d + 1# = 1# Then LEGauss = False Exit Function End If 消元 If nJs(k) k Then For i = 1 To n t = dblA(i, k) dblA(i, k) = dblA(i, nJs(k)) dblA(i, nJs(k)) = t Next i End If If nIs k Then For j = k To n t = dblA(k, j) dblA(k, j) = dblA(nIs, j) dblA(nIs, j) = t Next j t = dblB(k) dblB(k) = dblB(nIs) dblB(nIs) = t End If d = dblA(k, k) For j = k + 1 To n dblA(k, j) = dblA(k, j) / d Next j dblB(k) = dblB(k) / d For i = k + 1 To n For j = k + 1 To n dblA(i, j) = dblA(i, j) - dblA(i, k) * dblA(k, j) Next j dblB(i) = dblB(i) - dblA(i, k) * dblB(k) Next i Next k d = dblA(n, n) 无解,返回 If Abs(d) + 1# = 1# Then LEGauss = False Exit Function End If 回代 dblB(n) = dblB(n) / d For i = n - 1 To 1 Step -1 t = 0# For j = i + 1 To n t =

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档