Você está na página 1de 2

%****************************************************************

%** Calculo de la inversa con el


**
%** Metodo de Gauss Jordan
UdeG **
%**
Maestria en Electronica **
%** Ing. Jesus Norato Valencia
**
%** Materia: Metodos Numericos
**
%** Maestro: M.C. J.Gilberto Mateos Suarez
5/Nov/99 **
%****************************************************************
clear;
clc;
fprintf('Dame la matriz a la que le quieres calcular la inversa\n')
f=input('cuantas filas:');
c=input('cuantas columnas:');
%*********************************************************
%** Los siguientes for anidados son para introducir
**
%** los datos de la matriz a que se quiere calcular
**
%** su inversa
**
%*********************************************************
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
%********************************************************
%** Enseguida se coloca la matriz identidad del grado **
%** de la martiz a que se quire calcular la inversa
**
%********************************************************
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

%**********************************************************
%** En la siguiente seccion se normalizan todos los
**
%** pivotes (se hacen 1 los numeros en la diagonal
**
%** principal) y se hacen ceros los valores por debajo **
%**********************************************************
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
%***********************************************************
%** Se hacen cero los numeros por encima de la diaonal
**
%** principal de la matriz que se quiere sacar la inversa **
%***********************************************************
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
%***********************************************************
%** Se calcula la inversa para comprobar el resultado
**
%***********************************************************
fprintf('calculo la inversa para comprobar directo con matlab\n')
c=inv(b);
c

Você também pode gostar