Autor Tema: Calcular la inversa de una matriz mxn no cuadrada en C  (Leído 19075 veces)

Sandaris

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Calcular la inversa de una matriz mxn no cuadrada en C
« en: 14 de Julio 2016, 01:31 »
Hola, necesito una ayuda me piden calcular la inversa de una matriz de tamaño n*m,pero desafortunadamente no conozco mucho de la materia y eh llegado hasta dar con la determinante y crear otra matriz (B) de identidad, espero me puedan ayudar.
Lo que me complica es al momento de transformar la Matriz A a identidad y a su vez ir haciendo los mismos cálculos en la matriz B para calcular la inversa.

Les dejo lo que llevo de codigo

Código: [Seleccionar]
#include <stdio.h>
int main(){
int n,m,i,j,b=1,c1=0,det,a;
printf("Ingrese el tamanio de la fila de la matriz\n");
scanf("%d",&n);
printf("Ingrese el tamanio de la columna de la matriz\n");
scanf("%d",&m);
int A[n][m];
for(i=0;i<n;i++){
    for(j=0;j<m;j++){
    printf("ingrese un valor en la posicion %d,%d\n",i,j);
    scanf("%d",&A[i][j]);
    }
}
for(j=0;j<m;j++){
for(i=0;i<n;i++){
a=i+j;
if(a>=m){
a=a-m;
}
b=b*A[i][a];
}
c1=c1+b;
}
int b1=1,c2=0;
for(j=0;j<m;j++){
for(i=0;i<n;i++){
a=i-1;
if(a<0){
a=a+m;
}
b1=b1*A[i][a];
}
c2=c2+b1;
}
det=c1-c2;
if(det==0){
    printf("La matriz no se puede invertir por que la determinante es 0 \n");
}
else{
printf("La determinante es: %d",det);
int B[n][m];
for(j=0;j<m;j++){
for(i=0;i<n;i++){
        if(i==j){
   B[i][j]=1;
   }

else{
    B[i][j]=0;}

}

}

}
return 0;
}
« Última modificación: 15 de Julio 2016, 17:29 por César Krall »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Calcular la inversa de una matriz en C
« Respuesta #1 en: 15 de Julio 2016, 17:28 »
Buenas, quizás no tienes el problema bien planteado. Las matrices que se consideran invertibles, es decir, de las que se puede calcular la inversa, son matrices cuadradas, no puedes calcular inversas de matrices no cuadradas tipo n*m ó m*n

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".