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: |
¿Qué entiendes por una matriz double?
// Saludos |
hola roman esto
TMatrix : array[1..10, 1..10] of double;
aqui esta lo que me pides salu2 |
¿Una matriz de 2x10? ¡Sólo las matrices cuadradas tienen inversa!
// Saludos |
hola roman
si claro solo que cuando te rrespondi no me percate de eso pero digamo que es de n*n grasias salu2
|
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 |
grasias roman
grasias por tu tiempo estoy en lo que me dijiste bien :D
|
Saludos
Cita:
|
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