vb.net矩阵求逆 vb矩阵乘法

怎样用VB编程矩阵求逆

矩阵求逆的VB程序

成都创新互联公司是一家专业提供合肥企业网站建设,专注与成都做网站、成都网站建设、H5网站设计、小程序制作等业务。10年已为合肥众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

Private Function MRinv(N As Integer, mtxA() As Double) As Boolean

'****************************************************************************************

' 功能: 实现矩阵求逆的全选主元高斯-约当法

' 参数: n - Integer型变量,矩阵的阶数

' mtxA - Double型二维数组,体积为n x n。存放原矩阵A;返回时存放其逆矩阵A-1。

' 返回值:Boolean型,失败为False,成功为True

'****************************************************************************************

ReDim nIs(N) As Integer, nJs(N) As Integer

Dim i As Integer, j As Integer, k As Integer

Dim D As Double, p As Double

' 全选主元,消元

For k = 1 To N

D = 0#

For i = k To N

For j = k To N

p = Abs(mtxA(i, j))

If (p D) Then

D = p

nIs(k) = i

nJs(k) = j

End If

Next j

Next i

' 求解失败

If (D + 1# = 1#) Then

MRinv = False

Exit Function

End If

If (nIs(k) k) Then

For j = 1 To N

p = mtxA(k, j)

mtxA(k, j) = mtxA(nIs(k), j)

mtxA(nIs(k), j) = p

Next j

End If

If (nJs(k) k) Then

For i = 1 To N

p = mtxA(i, k)

mtxA(i, k) = mtxA(i, nJs(k))

mtxA(i, nJs(k)) = p

Next i

End If

mtxA(k, k) = 1# / mtxA(k, k)

For j = 1 To N

If (j k) Then mtxA(k, j) = mtxA(k, j) * mtxA(k, k)

Next j

For i = 1 To N

If (i k) Then

For j = 1 To N

If (j k) Then mtxA(i, j) = mtxA(i, j) - mtxA(i, k) * mtxA(k, j)

Next j

End If

Next i

For i = 1 To N

If (i k) Then mtxA(i, k) = -mtxA(i, k) * mtxA(k, k)

Next i

Next k

' 调整恢复行列次序

For k = N To 1 Step -1

If (nJs(k) k) Then

For j = 1 To N

p = mtxA(k, j)

mtxA(k, j) = mtxA(nJs(k), j)

mtxA(nJs(k), j) = p

Next j

End If

If (nIs(k) k) Then

For i = 1 To N

p = mtxA(i, k)

mtxA(i, k) = mtxA(i, nIs(k))

mtxA(i, nIs(k)) = p

Next i

End If

Next k

' 求解成功

MRinv = True

End Function

来源:

帮忙解释一下这个vb求逆矩阵语句

1采用二维数组存放矩阵各元素值

2根据数矩阵运算规则进行相应计算

矩阵的逆怎么计算?

求矩阵的逆常用的有如下三种做法。经济数学团队帮你解答,请及时采纳。谢谢!

一、公式法:A的逆阵=(1/|A|)A*,其中A*是A的伴随阵。

二、初等变换法:对分块矩阵(A,E)做行初等变换,前半部分A化成单位阵E时,后半部分E就化成了A的逆阵。

三、猜测法:如果能通过已知条件得出AB=E或BA=E,则B就是A的逆矩阵。


当前名称:vb.net矩阵求逆 vb矩阵乘法
当前链接:http://azwzsj.com/article/doscood.html