Visual Basic - Matriz adjunta

Life is soft - evento anual de software empresarial
 
Vista:

Matriz adjunta

Publicado por Fabian Camacho (1 intervención) el 09/12/2004 03:40:22
Hola amigos necesito el codigo para sacar la adjunta de una matriz y no
se como hacerlo gracias por la ayuda
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
sin imagen de perfil

RE:Matriz adjunta

Publicado por inge_ega (26 intervenciones) el 09/12/2004 15:50:50
Es muy fácil amigo, te voy a decir como hacer una de 3*3, y tú modifica el código para hacerla de lo que quieras.

Paso 1.- Sacar los cofactores
Guardas la matriz en una matriz llamada Matriz(2,2) ' si tienes option base=0
Debes tener otras dos matrices de las mismas dimensiones llamadas cofactores y Adjunta
cofactores(0,0) = ((matriz(1,1)*matriz(2,2))-((matriz(2,1)*matriz(1,2))
cofactores(0,1)=0-((matriz(1,0)*matriz(2,2))-((matriz(2,0)*matriz(1,2))' el 0- es por que recordemos que le debemos cambiar el signo, y así te la sigues hasta terminar los cofactores, una vez que los tienes, solo hya que transponerlos para sacar la adjunta, y eso aún es más facil, pues solo debes hacer un procedimiento mas o menos así:
adjunta(0,0)=cofactores(0,0)
adjunta(0,1)=cofactores(1,0) ? si te fijas hacerlo con I,J es muy fácil puesto que adjunta(I,J) = cofactores(J,I) Y Listo!!!! ya tienes tu adjunta, incluso con una o dos operaciones más sacas la inversa (Solo sacas el determinante y divides cada mienbro de la adjunta), para hacerla de otras dimensiones haz lo siguiente:
Haz un procedimiento llamado VerificarDim() que verificará que la matriz es de dos X dos, y así obtienes el cofactor y lo guardas en cofactores(), y dile
do Until VerificarDim = true
así de la dimension que sea, siempre se irá hasta dos X dos y calculará el cofactor, pasará al siguiente nivel y hará lo mismo, y la adjunta la obtienes de la misma manera.

Espero te sirva, si tienes dudas, por favor escirbe a mi correo, o en este foro, hazme llegar tu duda.

Bye.
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