Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/04/2010, 06:45
jbourne
 
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Multiplicar 2 matrices en C

Cita:
Iniciado por guzmy5 Ver Mensaje
Buenas tardes!! Soy nuevo por el foro, estaba buscando algún sitio dónde gente que sepa del tema pudiera ayudarme a resolver las dudas que tengo sobre C++

Resulta que estoy intentando hacer el Método de los Mínimos cuadrados, y he llegado a la siguiente ecuación de matrices At*A*X=At*B

A es una matriz de orden 2x10
B es una matriz de orden 10x2
X es la matriz de los coeficientes (a)
(b)
At es la traspuesta de A, por lo tanto de orden 10x2

Esto es lo que llevo de código:

Mi problema es que no se bien como hacer la multiplicación, he segido los pasos que ponen ahí pero no me sale correctamente, a ver si alguien le puede echar un vistazo y decirme dónde me estoy equivocando.

Un saludo y muchas gracias de antemano!!
Buenas Guzmy, no he entrado en profundidad a comprobar que has realizado bien las multiplicaciones de A*At y de At*b, aunque por las dimensiones de las matrices resultantes parecen estar bien.

Ahora bien, con esos productos calculados, lo siguiente sería que resolvieras el Sistema de Ecuaciones Lineales Determinado que resulta. Tendrías que coger A ampliada, es decir: (A*At|At*b), y triangularizarla.

Ahora mismo no tengo ni idea de como triangularizar una matriz, pero seguro que en San Google está.

Un último apunte, la matriz A tiene que ser base, por lo que no estaría de más introducir una comprobación después de que el usuario introduzca los valores de A, que verificara que los vectores de la matriz resultante son linealmente independientes.