Está en la página 1de 3

ELIMINACIÓN GAUSSIANA

Este es uno de los algoritmos más usados para resolver un sistema lineal de
ecuaciones y uno de los primeros en ser analizados en su estabilidad:

Ax = b

El algoritmo se llama Eliminación Gaussiana y puede ser expresado en


diferentes formas. Implantaremos en la computadora algunos códigos en
MATLAB que nos permitan resolver este problema y entender la
infraestructura detrás de él.

La principal característica de la Eliminación Gaussiana es transformar el


sistema original:

Ax = b

en un sistema lineal equivalente de la forma:

Ux = y

Donde U es una matriz triangular superior. La razón de lograr ésta


transformación del sistema es que el nuevo sistema es más simple y
resolverlo sólo requiere un proceso hacia atrás. Por ejemplo, contando con
el sistema:

Su solución sería:

Este proceso se le conoce como "sustitución hacia atrás".

Luis Cabezas Tito Página 1


ALGORITMO EN MATLAB
Crear un Script o archivo M. Luego escribir el siguiente código:

%Programa para resolver sistemas de ecuaciones lineales


clear all
clc
fprintf('Resolución del sistema Ax = b \r')
fprintf('Realizado por Luis Cabezas Tito \r')
fprintf('Eliminación Gaussiana con Sustitución Hacia Atrás \r')
n=input('Ingrese el orden del sistema = ');
fprintf('Introduzca los Coeficientes de la Matriz A del sistema:\r')
for i=1:n
for j=1:n
fprintf('coeficiente A(%d,%d) = ', i,j ) % Definición de la matriz
c(i,j)=input(' '); % coeficientes del sistema
end
end
fprintf('Introduzca los coeficientes independientes del del Vector B: \r')
for i=1:n
fprintf('término b(%d) = ', i ) % Definición del vector de
c(i,n+1)=input(' '); % términos independientes
end
for i=1:n-1
for j=i+1:n
L=c(j,i)/c(i,i); % Cálculo de los coeficientes L
c(j,:)=c(j,:)-L*c(i,:); % Eliminación
end
end
x(n)=c(n,n+1)/c(n,n); % Cálculo de la última incógnita
for i=n-1:-1:1
Suma=0;
for j=i+1:n
Suma=Suma+c(i,j)*x(j);
end
x(i)=(c(i,n+1)-Suma)/c(i,i); % Cálculo del resto de las incógnitas
end
fprintf('Solución: \r')
for i=1:n
fprintf('x(%d) = %d\r',i,x(i)); % Presentación de resultados
end

Un algoritmo sólo para encontrar la triangular inferior de la Matriz A es


el siguiente:

%Programa para resolver hallar la Triangular Inferior de la matriz A


clear all
clc
A=input('Ingrese los valores de la Matriz A entre corchetes: ')
B=input('Ingrese los valores el Vector Columna B entre corchetes: ')
[m n]=size(A)
if m ~= n
error('Matriz del sistema NO Cuadrada')
end
if m ~= length(B)
error('Sistema NO Coherente')
end

Luis Cabezas Tito Página 2


% Transformación del sistema en un Sistema Triangular
for i=1:n-1
for k=i+1:n
p=A(k,i)/A(i,i);
for j=i+1:n
A(k,j)=A(k,j)-p*A(i,j);
end
B(k)=B(k)-p*B(i);
end
end
A=triu(A)
%x=resolución_triangular(A,b);

Construya la función resolución_triangular para la resolución de un sistema


triangular superior y complete el código para resolver un sistema de
ecuaciones lineales por Eliminación Gaussiana.

----- oOo -----

Luis Cabezas Tito Página 3

También podría gustarte