Está en la página 1de 8

ECUACIONES LINEALES

- Eliminación de Gauss: La técnica de eliminación de Gauss es llamada así porque involucra combinación
de ecuaciones para eliminar las incógnitas. Aunque es uno de los métodos más antiguos para resolver
ecuaciones simultáneas, permanece como el más importante de los algoritmos en uso hoy y es la base
para resolver ecuaciones lineales en muchos software incluyendo Matlab.

Resolviendo un número pequeño de ecuaciones. antes de proceder a la eliminación de Gauss,


describiremos varios métodos apropiados para resolver un sistema pequeño de ecuaciones (n≤3) que no
requieren computación. Estos son el método gráfico, la regla de Cramer y la eliminación de incógnitas.

Método gráfico. Una solución gráfica para un sistema de dos ecuaciones lineales se obtiene graficando
en coordenadas cartesianas con un eje correspondiendo a x1 y el otro a x2, Debido a que las ecuaciones
son lineales, cada ecuación originará una línea recta. Por ejemplo, suponga que tenemos las siguientes
ecuaciones:

3 x1 + 2 x2 = 18

− x1 + 2 x2 = 2

Si asumimos que x1 es la abscisa, se puede resolver cada una de las ecuaciones para x2 de la forma:

3
x2 = − x1 + 9
2

1
x2 = x1 + 1
2

Las ecuaciones están ahora de la forma de líneas rectas, x2 = (pendiente) x1 + intercepto. Cuando estas
ecuaciones son graficadas, los valores de x1 y x2 en la intersección de las líneas representa la solución.
Para este caso x1 = 4 y x2 = 3.

Para tres ecuaciones simultáneas, cada ecuación será representada por un plano en un sistema de
coordenadas de tres dimensiones. El punto donde los tres planos se interceptan representa la solución.
Más allá de tres ecuaciones, los métodos gráficos no funcionan, por lo que tienen poco valor práctico
para resolver ecuaciones simultáneas. Sin embargo, son útiles para visualizar las propiedades de las
soluciones.

Determinantes y la regla de Cramer. La regla de Cramer es otra técnica que se ajusta perfectamente a
solución de sistemas pequeños de ecuaciones. Esta regla estipula que cada incógnita en un sistema de
ecuaciones lineales algebraicas puede ser expresada como una fracción de dos determinantes con el
denominador D y con el numerador utilizando D pero reemplazando la columna de coeficientes de la
incógnita que se está resolviendo por las constantes b1, b2, . . . , bn . Por ejemplo, para tres ecuaciones,
x1 sería calculado como:

b1 a12 a13
b2 a22 a23
b3 a32 a33
x1 =
D

Ejemplo. Use la regla de Cramer para resolver:

0.3 x1 + 0.52 x2 + x3 = −0.01


0.5 x1 + x2 + 1.9 x3 = 0.67
0.1x1 + 0.3 x2 + 0.5 x3 = −0.44

Solución. El determinante puede ser calculado directamente en MATLAB con la función det. Primero
creamos la matriz A y calculamos su determinante (D):

>> A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];

>> D=det(A);

La regla de Cramer aplicada para x1 sería:

>> A(:,1)=[-0.01;0.67;-0.44]

>> b=[-0.01 0.67 -0.44]';

>> A(:,1)=b;

>> x1=det(A)/D

x1 =
-14.9000

Siguiendo el mismo procedimiento, x2=-29.5 y x3=19.8.

Para más de tres ecuaciones, la regla de Cramer se vuelve impráctica, debido a que el número de
ecuaciones se incrementa y los determinantes son difíciles de obtener en poco tiempo. Como
consecuencia, otros métodos son usados.

Eliminación de incógnitas. La eliminación de incógnitas por medio de la combinación de ecuaciones es


una aproximación algebraica que puede ser ilustrada para un sistema de dos ecuaciones como:

a11x1 + a12x2 = b1

a21x1 + a22x2 = b2

La estrategia básica es multiplicar las ecuaciones por constantes de tal forma que una de las incógnitas
sea eliminada cuando las dos ecuaciones sean combinadas. El resultado es una ecuación única que
puede ser resuelta para la incógnita restante. Este valor puede ser substituido en la ecuación original
para calcular la otra variable.

Por ejemplo, si multiplicamos la primer ecuación por a21 y la segunda ecuación por a11 tenemos que

a21a11x1 + a21a12x2 = a21b1

a11a21x1 + a11a22x2 = a11b2

Restando las ecuaciones eliminamos el término x1 de las ecuaciones para dar:

a11a22x2 − a21a12x2 = a11b2 − a21b1

La cual puede ser resuelta para x2:

a11b2 − a21b1
x2 =
a11a22 − a21a12

reemplazando para x1 tendríamos:

a22b1 − a12b2
x2 =
a11a22 − a21a12

La eliminación de incógnitas puede ser extendida a sistemas con más de dos o tres ecuaciones. Sin
embargo, los cálculos numerosos que son requeridos para grandes sistemas hace que el método sea
tedioso para hacerlo a mano.

- Eliminación de Gauss sencilla. En la sección anterior la eliminación de incógnitas fue usada para
resolver un par de ecuaciones simultáneas. El procedimiento consiste en dos partes:
1. Las ecuaciones fueron manipuladas para eliminar una de las incógnitas de las ecuaciones. El resultado
de esta eliminación es una ecuación con una incógnita.

2. Consecuentemente, esta ecuación puede ser resuelta directamente y el resultado se sustituye de


vuelta en la ecuación original para resolver la incógnita remanente.

Esta aproximación básica puede ser extendida a grandes números de ecuaciones desarrollando un
esquema o algoritmo para eliminar variables y sustituir en la anterior. La eliminación de Gauss es el más
básico de estos esquemas. Aunque estas técnicas son adecuadas para implementación en
computadores, algunas modificaciones se deben realizar para obtener un algoritmo confiable. En
particular, el programa debe evitar la división por cero. El siguiente método se llama eliminación de
Gauss sencilla porque no evita este problema.

Ejemplo. Resolver el siguiente sistema de ecuaciones mediante el método de eliminación de Gauss

4x1 − 2x2 + x3 = 11 (a)

−2x1 + 4x2 − 2x3 = −16 (b)

x1 − 2x2 + 4x3 = 17 (c)

Fase de eliminación. Esta fase utiliza sólo una operación elemental para multiplicar una ecuación
(digamos la ecuación j ) por una constante λ y substraerla de otra ecuación (equation i ).

Eq. (i ) ← Eq. (i ) − λ × Eq. ( j)

La ecuación siendo substraída, Eq. ( j ), es llamada la ecuación pivote.

Comencemos con la ecuación (a) para ser la ecuación pivote y escogemos el multiplicador λ para
eliminar x1 de las ecuaciones (b) y (c):

Eq. (b) ← Eq. (b) − ( − 2/4) × Eq. (a)

Eq. (c) ← Eq. (c) − 1/4 × Eq. (a)

Después de la transformación, las ecuaciones se convierten en

4x1 − 2x2 + x3 = 11 (a)

3x2 − 1.5x3 = −10.5 (b)

−1.5x2 + 3.75x3 = 14.25 (c)

Esto completa el primer paso, ahora escogemos (b) como la ecuación pivote y eliminamos x2 de (c):

Eq. (c) ← Eq. (c) − ( − 1.5/3) × Eq. (b)

lo cual origina las ecuaciones


4x1 − 2x2 + x3 = 11 (a)

3x2 − 1.5x3 = −10.5 (b)

3x3 = 9 (c)

Terminando así la fase de eliminación. Las ecuaciones originales han sido reemplazadas por ecuaciones
equivalentes que pueden ser resueltas fácilmente mediante sustitución. Una mejor forma de
representar las ecuaciones es mediante la matriz de coeficientes aumentada como instrumento para
desarrollar los cálculos. Así de las ecuaciones originales sería:

4 − 2 1 11
− 2 4 − 2 − 16
1 − 2 4 17

4 −2 1 11
0 3 − 1.5 − 10.5
0 − 1.5 3.75 14.25

4 −2 1 11
0 3 − 1.5 − 10.5
0 0 3 9

Fase de sustitución. Las incógnitas pueden ser calculadas sustituyendo en reversa desde la última
ecuación:

x3 = 9/3 = 3

x2 = (−10.5 + 1.5x3)/3 = [−10.5 + 1.5(3)]/3 = −2

x1 = (11 + 2x2 − x3)/4 = [11 + 2(−2) − 3]/4 = 1

- Algoritmo de eliminación de Gauss.

Fase de eliminación. Si se observan las ecuaciones en algún instante durante la fase de eliminación, se
puede asumir que las primeras filas k de A han sido transformadas a una forma triangular superior. Por
eso, la actual ecuación de pivote es la ecuación k-ésima y todas las ecuaciones debajo de ella aún no han
sido transformadas. La situación es descrita mediante la matriz aumentada como se muestra a
continuación. Note que los componentes de A no son los coeficientes de las ecuaciones originales (a
excepción de la fila 1) ya que han sido alterados por el proceso de eliminación. Lo mismo se aplica para
las constantes b.
Hagamos la fila i como la ecuación pivote que será transformada, lo que significa que el elemento Aik
será eliminado. Esto se puede hacer multiplicando la fila pivote por λ = Aik/Akk y sustrayéndolo de la fila i.
El cambio correspondiente en la fila i es:

Aik ← Aik − λAkk,

bi ← bi − λbk

Para transformar la matriz de coeficientes entera a la forma matricial triangular, k e i deben tener el
rango de :

k = 1, 2, . . . , n− 1 ( selecciona la fila pivote), i = k+ 1, k+ 2 . . . , n (escoge la fila a ser transformada). El


algoritmo sería entonces:

for k = 1:n-1
for i= k+1:n
if A(i,k) ˜= 0
lambda = A(i,k)/A(k,k);
A(i,k+1:n) = A(i,k+1:n) - lambda*A(k,k+1:n);
b(i)= b(i) - lambda*b(k);
end
end
end

De acuerdo al algoritmo si Aik es cero, se salta la transformación de la fila i.

Fase de sustitución. Después de la eliminación de Gauss, la matriz de coeficientes aumentada queda de


la forma:
La última ecuación, Annxn = bn, se resuelve para dar

xn=bn\Ann

Considere ahora el estado de la sustitución en retroceso donde xn, xn−1, . . . , xk+1 ya han sido calculadas
(en ese orden), y vamos a calcular xk de la ecuación k:

Akkxk + Ak,k+1xk+1 +· · ·+ Aknxn = bk

La solución es:

n
1
xk = (bk − ∑
j = k +1
Akj x j )
Akk
, k = n − 1, n − 2,...,1

El correspondiente algoritmo para la sustitución es:

for k = n:-1:1
b(k) = (b(k) - A(k,k+1:n)*b(k+1:n))/A(k,k);
end

Archivo m. El siguiente código utiliza el método simple de eliminación de Gauss para resolver un sistema
de n ecuaciones lineales:

function x = GaussNaive(A,b)
% GaussNaive: naive Gauss elimination
% x = GaussNaive(A,b): Gauss elimination without pivoting.
% input:
% A = coefficient matrix
% b = right hand side vector
% output:
% x = solution vector
[m,n] = size(A);
if m~=n, error('Matrix A must be square'); end
nb = n+1;
Aug = [A b];
% forward elimination
for k = 1:n-1
for i = k+1:n
factor = Aug(i,k)/Aug(k,k);
Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb);
end
end
% back substitution
x = zeros(n,1);
x(n) = Aug(n,nb)/Aug(n,n);
for i = n-1:-1:1
x(i) = (Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
end

Problema. Utilize la funcion GaussNaive para resolver los siguientes sistemas de ecuaciones lineales:

a).

3x1 − 0.1x2 − 0.2x3 = 7.85


0.1x1 + 7x2 − 0.3x3 = −19.3
0.3x1 − 0.2x2 + 10x3 = 71.4
b).
2x1 + 3x2 +4x3 − 2x4 = 1
x1 − 2x2 +4x3 − 3x4 = 2
4x1 + 3x2 − x3 + x4 = 2
3x1 − 4x2 +2x3 − 2x4 = 5

Referencias:

- J. Kiusalaas, Numerical methods in engineering with Matlab, Cambridge University Press (2005).

- S.C. Chapra, Applied numerical methods with Matlab, Mc Graw Hill (2008).

- C. Woodford y C. Phillips, Numerical methods with worked examples, Springer (1997).

También podría gustarte