Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   inverza de una matriz (https://www.clubdelphi.com/foros/showthread.php?t=27238)

gulder 15-11-2005 20:51:43

inverza de una matriz
 
hola foro como andan mi pregunta parece un poco complicada y es la siguiente existe alguna funcion para sacar la inverza a una matriz double.

grasias de antemano gulder :confused:

roman 15-11-2005 21:27:28

¿Qué entiendes por una matriz double?

// Saludos

gulder 15-11-2005 21:35:14

hola roman esto
 
TMatrix : array[1..10, 1..10] of double;
aqui esta lo que me pides salu2

roman 15-11-2005 21:41:35

¿Una matriz de 2x10? ¡Sólo las matrices cuadradas tienen inversa!

// Saludos

gulder 15-11-2005 21:46:53

hola roman
 
si claro solo que cuando te rrespondi no me percate de eso pero digamo que es de n*n grasias salu2

roman 15-11-2005 22:32:04

Pues es cuestión de ir siguiendo las definiciones y traducirlas a código.

Primero que nada debes calcular el determinante de la matriz para asegurarte que es distinto de cero, de lo contrario, la matriz no es invertible. Si te fijas en la definición, el determinante de una matriz de nxn se calcula en términos de determinantes de matrices de (n-1)x(n-1)- los cofactores -, de manera que puedes implementar una función recursiva.

Una vez calculado el determinante, formas su matriz adjunta, la transpones y divides sobre el determinante.

Claro que esto es aplicar el método sin ningún tipo de optimización. De entrada, para formar la matriz adjunta, necesitas calcular sus cofactores, que son los mismos que usas para calcular el determinante, así que sería recomendable no repetir los pasos.

También podrías tratar de examinar la matriz para ver que fila o columna tiene mayor número de entradas cero y desarrollar el determinante sobre tal fila o columna.

// Saludos

gulder 15-11-2005 22:36:54

grasias roman
 
grasias por tu tiempo estoy en lo que me dijiste bien :D

vtdeleon 15-11-2005 23:40:29

Saludos
Cita:

Empezado por roman
....
Primero que nada debes calcular el determinante de la matriz para asegurarte que es distinto de cero, de lo contrario, la matriz no es invertible. Si te fijas en la definición, el determinante de una matriz de nxn se calcula en términos de determinantes de matrices de (n-1)x(n-1)- los cofactores -, de manera que puedes implementar una función recursiva.

Una vez calculado el determinante, formas su matriz adjunta, la transpones y divides sobre el determinante.
....
....
También podrías tratar de examinar la matriz para ver que fila o columna tiene mayor número de entradas cero y desarrollar el determinante sobre tal fila o columna.

Ay dios mio :rolleyes: , en esto temas ni me meto :p y menos discutirle a un matematico (roman)


La franja horaria es GMT +2. Ahora son las 17:40:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi