Vous êtes sur la page 1sur 2

%Programa para resolver un sistema de ecuaciones lineales mediante la

%Eliminación gaussiana.

function x = EliminacionGaussiana(A,B)

% A Matriz de coeficientes del sistema de ecuaciones lineales.


% B es el vector del lado derecho de entradas del sistema de ecuaciones
% lineales
N = rank(A);%Número de incognitas del sistema de ecuaciones
%Proceso de eliminación Gaussiana
for k= 1:N-1
for m = k+1 : N
MT = -A(m,k)/A(k,k); %Multiplicadores
A(m,:)=A(m,:)+MT*A(k,:);%Modificación de matriz A
B(m)=B(m)+ MT*B(k);%Modificación del vector B.
end
end
%Proceso de sustitución regresiva.
x(N)=B(N)/A(N,N);
for k= N-1: -1:1
ind = N-k;
x(k)=0;
for m=1 :ind
x(k)=x(k)-A(k,k+m)*x(k+m);
end
x(k)=(B(k)+x(k))/A(k,k);
end

////////

>> A = [5 4 8 1 6;9 5 1 6 4;4 1 9 8 6;4 5 9 7 6;6 2 9 7 1];

>> B = [9 1 2 9 1];

>> x = EliminacionGaussiana(A,B)

Reference to a cleared variable A.

Error in EliminacionGaussiana (line 9)

N = rank(A);%Número de incognitas del sistema de ecuaciones

>> x = EliminacionGaussiana(A,B)

x=
-0.6904 1.6307 0.5418 -0.4772 0.3454

///////////////
%Programa para resolver un sistema de ecuaciones lineales mediante la
%eliminación de Gauss-Joprdan
function x=EliminacionGaussJordan(A,B)
%A Matriz de coeficientes del sistema de ecuaciones lineales
%B es el vector del lado derecho de entradas del sistema de ecuaciones
%lineales
N = rank(A);

for k=1:N
B(k)=B(k)/A(k,k);%Modificación del vector Bdebido a la normalización
del pivote
A(k,:)=A(k,:)/A(k,k);%normalización del pivote
for m = 1:N
if m ~= k
MT = -A(m,k);%Multiplicadores
A(m,:)=A(m,:) + MT*A(k,:);%Modificación de la matriz A.
B(m)=B(m)+ MT*B(k); %Modificación del vector B
end
end
end
%Nota la solución queda en el vector B
B
…………

>> EliminacionGaussJordan(A,B)

B=

-0.6904 1.6307 0.5418 -0.4772 0.3454

>>

Vous aimerez peut-être aussi