Es un método que se define como un conjunto finito de operaciones por lo cual es directo. La idea principal del método es convertir un sistema de ecuaciones en otro equivalente mas sencillo, mediante operaciones elementales de fila. que se define como un conjunto finito de operaciones por lo cual es directo. La idea principal del método es convertir un sistema de ecuaciones en otro equivalente mas sencillo, mediante operaciones elementales de fila.
Como funciona el método:
Dado un sistema de ecuaciones AX=b, donde A representa la matriz de coeficientes de tamaño nxn, X el vector columna de incógnitas y b el vector de términos independientes; se procede de la siguiente forma:
1. Se obtiene la matriz de aumentada Ab del sistema.
2. Todos los elementos debajo de A11 se convierten en ceros utilizando la segunda operación fila presentada anteriormente. Dentro del proceso se halla un multiplicador.
3. Todos los elementos de debajo de A22 se convierten en cero.
4. Se continua con un proceso análogo a los procesos 3 y 4 hasta obtener una matriz triangular inferior, es decir, una matriz con todos los elementos debajo de la diagonal principal igual 0.
5. Se halla el valor del término Xn, con este valor el de Xn-1 y así sucesivamente mediante una sustentación regresiva hasta obtener el termino X1.
Problemas que puede presentar el método:
· Un elemento de la diagonal es 0: Si en alguna etapa k del proceso un elemento de la diagonal principal es 0 se va a presentar una división por cero a la hora de calcular el multiplicador, ya que, éste se define como Aik/Akk.
· Un elemento de diagonal es próximo a cero: En este caso, al igual que el problema anterior, el elemento va a estar en el denominador de la división que define el multiplicador. En consecuencia, se estará infringiendo una de las reglas para evitar el efecto de los errores de redondeo.
· Error de propagación y redondeo: Es el error que se expande en las operaciones intermedias realizadas y que se ve reflejado en el resultado final.
Seudo-código
En el seudocódigo que se presenta a continuación A es la matriz de coeficientes nxn, b el vector de términos independientes y k es el contador de etapas.
Function eliminación gaussiana (A,b,n)
Ab=Matriz aumentada [Ab]
for k=1 to n-1 do
for i=k+1 to n do
multiplicador=Abik/Abkk
for j=k to n+1 do
Abij=Abij-multiplicador*Abkj
end for
end for
end for
Xn1=(Abnn+1)/(Abnn)
for i=n-1 to 1 step -1
sumatoria=0
for p=i+1 to n
sumatoria=sumatoria +Abip*Xp1
end for
Xi1=(Abin+1-sumatoria)/Abii
end for
end function
Código
function [x]=eliminacion_gaussiana(A,b,n)
Ab=[A,b];
for k=1:n-1
for i=k+1:n
multiplicador=(Ab(i,k))/(Ab(k,k));
for j=k:n+1
Ab(i,j)=Ab(i,j)-multiplicador*Ab(k,j);
end
end
end
x(n,1)=(Ab(n,n+1))/(Ab(n,n));
for i=n-1:-1:1
sumatoria=0;
for p=i+1:n
sumatoria=sumatoria + Ab(i,p)*x(p,1);
end
x(i,1)=(Ab(i,n+1)-sumatoria)/Ab(i,i);
end
end