Visual Basic - Necesito un Exe o codigo Para invertir Matrices

Life is soft - evento anual de software empresarial
 
Vista:

Necesito un Exe o codigo Para invertir Matrices

Publicado por David (7 intervenciones) el 21/07/2003 21:21:09
Estos necesitando un programa o el còdigo para invertir matrices

Si o tienen o saben donde puedo conseguirlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

MatrizInv Parte 1

Publicado por J.Fernando (47 intervenciones) el 22/07/2003 18:29:53
El Siguiente codigo hace calculo de la matriz inversa con el metodo de la matriz identica adyacente . Como cualquier metodo puede generar un error si la matriz no posee inversa.
MatBas es la matriz a la cual le vas a sacar la inversa
MatInv es la matriz donde vas a poner la inversa.
Primero debes inicializar MatInv como una matriz identica, es decir una matriz cuadrada cuya diagonal principal esta compuesta de unos y el resto de sus elementos son ceros.Matinv se inicializa de la siguienete manera
Sub Inicializar()
Redim MatInv(NumFil,NumCol) ' Se hace la dim de la MatInv = a la dimensión de la matriz a la que se le va a hallar la inversa.
For fila=1 to NumFil
For col=1 to NumCol
MatInv(fila,col)=0
if fila=col then
MatInv(fila,col)=1
end if
next col
next fila
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MatrizInv Parte 2

Publicado por J.Fernando (47 intervenciones) el 22/07/2003 18:32:15
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar