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

上传人:平*** 文档编号:15486807 上传时间:2017-11-04 格式:DOC 页数:3 大小:25.78KB
返回 下载 相关 举报
使用全选主元高斯消去法求解线性方程组程序_第1页
第1页 / 共3页
使用全选主元高斯消去法求解线性方程组程序_第2页
第2页 / 共3页
使用全选主元高斯消去法求解线性方程组程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《使用全选主元高斯消去法求解线性方程组程序》由会员分享,可在线阅读,更多相关《使用全选主元高斯消去法求解线性方程组程序(3页珍藏版)》请在金锄头文库上搜索。

1、使用全选主元高斯消去法求解线性方程组程序 参数 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 Intege

2、r, k As IntegerDim nIs As IntegerReDim nJs(n) As IntegerDim d As Double, t As Double 开始求解For k = 1 To n - 1d = 0# 归一For i = k To nFor j = k To nt = Abs(dblA(i, j)If t d Thend = tnJs(k) = jnIs = iEnd IfNext jNext i 无解,返回If d + 1# = 1# ThenLEGauss = FalseExit FunctionEnd If 消元If nJs(k) k ThenFor j = k

3、 To nt = dblA(k, j)dblA(k, j) = dblA(nIs, j)dblA(nIs, j) = tNext jt = dblB(k)dblB(k) = dblB(nIs)dblB(nIs) = tEnd Ifd = dblA(k, k)For j = k + 1 To ndblA(k, j) = dblA(k, j) / dNext jdblB(k) = dblB(k) / dFor i = k + 1 To nFor j = k + 1 To ndblA(i, j) = dblA(i, j) - dblA(i, k) * dblA(k, j)Next jdblB(i)

4、= dblB(i) - dblA(i, k) * dblB(k)Next iNext kd = dblA(n, n) 无解,返回If Abs(d) + 1# = 1# ThenLEGauss = FalseExit FunctionEnd If 回代dblB(n) = dblB(n) / dFor i = n - 1 To 1 Step -1t = 0#For j = i + 1 To nt = t + dblA(i, j) * dblB(j)Next jdblB(i) = dblB(i) - tNext i 调整解的次序 nJs(n) = nFor k = n To 1 Step -1If nJs(k) k Thent = dblB(k)dblB(k) = dblB(nJs(k)dblB(nJs(k) = tEnd IfNext k 求解成功LEGauss = TrueEnd Function

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号