Visual Basic 可以求矩阵的逆吗?

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:08:41

'矩阵求逆源程序
'本程序无满秩检查,默认要计算的矩阵是可逆的
'本程序也没有选主元,不仅凑整误差大而且有些可逆矩阵也不能计算

Private Sub Command1_Click()
Dim a() As Single
Dim i%, j%, k%, am!, bm!, cm!
n = InputBox("请输入方阵的阶数N")
ReDim a(n, 2 * n) As Single
For i = 1 To n
For j = 1 To n
a(i, j) = InputBox("请输入a(" & i & "," & j & ")的值")
If i = j Then
a(i, j + n) = 1
Else
a(i, j + n) = 0
End If
Next j, i
Print "原矩阵的增广矩阵元素"
For i = 1 To n
For j = 1 To 2 * n
If j Mod 2 * n <> 0 Then
Print a(i, j);
Else
Print a(i, j)
End If
Next j, i
'逆矩阵计算
For k = 1 To n '用主元除主元所在行的所有元素
am = 1 / a(k, k) '将主元变为1
For j = k To 2 * n
a(k, j) = a(k, j) * am
Next j

'____________________________________
For i = k + 1 To n '将原矩阵变为下三角矩阵
bm = a(i, k)
For j = 1 To 2 * n
a(i, j) = a(i, j) - a(k, j) * b