Sub Invertir()
On Error Goto LineMensaje
For NumCol = 1 To NumFil
uno = MatBas(NumCol, NumCol)
If uno < 0 Then
factor = -1
Else
factor = 1
End If
For i = 1 To NumFil
MatBas(NumCol, i) = MatBas(NumCol, i) / (factor * uno)
MatInv(NumCol, i) = MatInv(NumCol, i) / (factor * uno)
Next i
For j = 1 To NumFil
If j = NumCol Then
GoTo LineSeguir
End If
factor = MatBas(j, NumCol)
For k = 1 To NumFil
MatBas(j, k) = MatBas(j, k) + (-(factor * MatBas(NumCol, k)))
MatInv(j, k) = MatInv(j, k) + (-(factor * MatInv(NumCol, k)))
Next k
LineSeguir:
Next j
Next NumCol
Exit sub
LineMesaje:
Mensaje=("Matriz No Invertible"; VBOkOnly,"Error")
End Sub
Listo, en MatInv esta la inversa de MatBas !
Recuerda que en VB debes utilizar la Instruccion Option Base 1 para que los arreglos arranquen en 1 y no en cero, de lo contrario este codigo no funcionará .
Espero que te sirva, es con gusto.
Saludos