У меня проблема с моей функцией, поскольку она не дает мне подходящего значения из Matrix MB.Функция предназначена для вычисления обратной матрицы.Каждый раз, когда я нажимаю на кнопку, Label1.text показывает «0», что не является правильным числом.Можете ли вы помочь мне выяснить, что я сделал здесь неправильно, чтобы получить правильное значение для обратной матрицы jA при jA (1,1)
Public Class Form1
Function MatrixInverse(ma(,), cf, c) As Double
Dim JJ = 0
Dim J = 0
Dim L = 0
Dim K = 0
Dim F = 0
Dim D As Double = 0
Dim EA As Double = 0.0
Dim i
i = ma.GetLength(0)
J = 0
JJ = 0
Dim MB(i, i)
While JJ < i
While J < i
If J = JJ Then
MB(JJ, J) = 1
Else
MB(JJ, J) = 0
End If
J = J + 1
End While
JJ = JJ + 1
End While
JJ = 0
J = 0
While JJ < i
While J < i
D = 1 / ma(JJ, JJ)
L = JJ
While K < i
ma(L, K) = ma(L, K) * D
MB(L, K) = MB(L, K) * D
K = K + 1
End While
EA = ma(J, JJ)
If J <> JJ Then
F = 0
While F < i
ma(J, F) = ma(J, F) - (EA * ma(JJ, F))
MB(J, F) = MB(J, F) - (EA * MB(JJ, F))
F = F + 1
End While
End If
J = J + 1
End While
F = 0
EA = 0
D = 0
K = 0
J = 0
JJ = JJ + 1
End While
Return MB(cf, c)
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim jA(3, 3)
jA = {{11, 4, 12, 5}, {7, 5, 6, 2.1}, {13, 14, 10, 8.1}, {3.1, 2, 1.09, 3.4}}
Label1.Text = MatrixInverse(jA, 1, 1)
End Sub
Конечный класс