Está en la página 1de 4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Mtodo de Gauss (Triangularizacin) %


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Versin 1.00 Mayo 1999
% Desarrollado por Marelys, MUJICA
clearall
clc
disp(' Mtodo de Gauss')
disp(' Resuelve el sistema Ax=b')
a=input('Introduzca la matriz A: ');
b=input('Introduzca la matriz b (en vectores fila): ');
[Ma,Na]=size(a);
[Mb,Nb]=size(b);
a=[a, b'];
[M,N]=size(a);%tamano de la matriz aumentada
PP=input('Desea usar el metodo del pivote maximo Si(1) No(2) ');
ifPP == 1
forj=2:M
piv=j-1;
pivm=max(a(:,piv));%pivote maximo
fork=piv:M
ifa(k,piv) == pivm
tempo=a(piv,:);
a(piv,:)=a(k,:);

a(k,:)=tempo;
end
end
fori=j:Ma(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end end
end
ifPP == 2
forj=2:M
piv=j-1;
fori=j:Ma(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end end
end
a;
%retrosustitucin
cont=0;
forp=Na+1:N
x(M)=a(M,p)/a(M,M);
cont=cont+1;
form = M-1: -1: 1
S=0;
forn = M: -1: m+1S=S+a(m,n)*x(n);
end
x(m)=(a(m,p)-S)/a(m,m);
end
fprintf('Solucion%3.0f\n', cont)

x
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Mtodo de Gauss Jordan (Diagonalizacin) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Versin 1.00 Mayo 1999
% Desarrollado por Marelys, MUJICA
clearall
clc
disp(' Mtodo de Gauss Jordan')
disp(' Resuelve el sistema Ax=b')
a=input('Introduzca la matriz A: ');
b=input('Introduzca la matriz b: ');
[Ma,Na]=size(a);
[Mb,Nb]=size(b);
a=[a, b'];
[M,N]=size(a);%tamao de la matriz aumentada
forj=2:M+1
piv=j-1;
pivm=max(a(:,piv));%pivote mximo
fork=piv:M
ifa(k,piv) == pivm
tempo=a(piv,:);
a(piv,:)=a(k,:);

a(k,:)=tempo;
end
end
fori=j:Ma(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end forl=1:piv-1
a(l,:)=a(l,:)-a(l,piv)*a(piv,:)/a(piv,piv);
end
end
a
%resultado
forh=1:M
x(h)=a(h,N)/a(h,h);
end
x

También podría gustarte