Você está na página 1de 2

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

%
Mtodo de Gauss (Triangularizacin) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Versin 1.00 Mayo 1999
% Desarrollado por Marelys, MUJICA
clear all
clc

disp('
disp('

Mtodo de Gauss')
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)
if PP == 1
for j=2:M
piv=j-1;
pivm=max(a(:,piv)); %pivote maximo
for k=piv:M
if a(k,piv) == pivm
tempo=a(piv,:);
a(piv,:)=a(k,:);
a(k,:)=tempo;
end
end
for i=j:M
a(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end
end
end
if PP == 2
for j=2:M
piv=j-1;
for i=j:M
a(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end
end
end
a;
%retrosustitucin
cont=0;
for p=Na+1:N
x(M)=a(M,p)/a(M,M);
cont=cont+1;
for m = M-1: -1: 1
S=0;
for n = M: -1: m+1
S=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
clear all
clc

disp('
disp('

Mtodo de Gauss Jordan')


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
for j=2:M+1
piv=j-1;
pivm=max(a(:,piv)); %pivote mximo
for k=piv:M
if a(k,piv) == pivm
tempo=a(piv,:);
a(piv,:)=a(k,:);
a(k,:)=tempo;
end
end
for i=j:M
a(i,:)=a(i,:)-a(i,piv)*a(piv,:)/a(piv,piv);
end
for l=1:piv-1
a(l,:)=a(l,:)-a(l,piv)*a(piv,:)/a(piv,piv);
end
end
a
%resultado
for h=1:M
x(h)=a(h,N)/a(h,h);
end
x

Você também pode gostar