lunes, 19 de marzo de 2012

Metodo de la inversa de la Matriz con Gauss-Jordan en Matlab

clear all;
clc;
fprintf('Dame la matriz a la que le quieres calcular la inversa: \n')
f=input('cuantas filas:');
c=input('cuantas columnas:');  
for k=1:c
  for j=1:f
    fprintf('fila: %x\n',j)
    fprintf('columna: %x',k)
    r=input('numero de esta fila y columna: ');
    a(j,k)=r;
    j=j+1;
  end
  k=k+1;
end
a
b=a;
pause
fprintf('dame la matriz identidad del mismo grado que la matriz anterio\n\n')
for k=k:c*2
  for j=1:f
    fprintf('fila: %x\n',j)
    fprintf('columna: %x',k)
    r=input('numero de esta fila y columna: ');
    a(j,k)=r;
    j=j+1;
  end
  k=k+1;
end
a
pause 
for k=1:c
  a(k,:)=a(k,:)/a(k,k);
    for j=k+1:f
    a(j,:)=a(j,:)-a(k,:)*a(j,k);
    j=j+1;
    a
    pause
  end
  k=k+1;
  a
  pause
end
for k=f:-1:2
  for j=k-1:-1:1
    a(j,:)=a(j,:)-a(k,:)*a(j,k);
    j=j-1;
    a
    pause
  end
  k=k-1;
  a
  pause
end
 fprintf('calculo la inversa para comprobar directo con matlab\n')
c=inv(b);
c

5 comentarios: