Está en la página 1de 9

Cálculo Digital Numérico Unidad III

3 Unidad III. Solución numérica de sistemas de ecuaciones lineales y no


lineales.
3.1 Introducción
Cuando una situación debe describirse matemáticamente, no es raro que surja un conjunto de
ecuaciones. Por ejemplo, suponga que el administrador de una fábrica establece un plan de producción
para dos modelos de un producto nuevo. El modelo A requiere de 4 piezas del tipo I y 9 piezas del
tipo II. El modelo B requiere de 5 piezas del tipo I y 14 piezas del tipo II. De sus proveedores, la
fábrica obtiene 335 piezas del tipo I y 850 piezas del tipo II cada día. ¿Cuántos productos de cada
modelo debe producir cada día, de modo que todas las piezas del tipo I y piezas del tipo II sean
utilizadas? Es buena idea construir una tabla que resuma la información importante. La tabla 4.2
muestra el número de piezas del tipo I y piezas del tipo II requeridas para cada modelo, así como el
número total disponible.

Modelo A Modelo B Total


disponible
Piezas tipo I 4 5 335
Piezas tipo II 9 14 850

Suponga que hacemos x igual al número de artículos del modelo A fabricados cada día, y y igual al
número de artículos del modelo B. Entonces éstos requieren de 4x+5y piezas del tipo I y 9x+14y
piezas del tipo II. Como están disponibles 335 y 850 piezas del tipo I y II, respectivamente, tenemos
4x + 5y = 335 (1)
9x + 14y = 850 (2)
A este conjunto de ecuaciones le llamamos sistema de dos ecuaciones lineales en las variables (o
incógnitas) x y y. El problema es encontrar valores de x y y para los cuales ambas ecuaciones sean
verdaderas de manera simultánea. Estos valores se llaman soluciones del sistema.
Los sistemas de ecuaciones pueden incluir dos o más variables, además de involucrar dos o más
ecuaciones lineales. En la unidad III se analizan métodos numéricos e implementan los respectivos
algoritmos mediante programas de computadora para resolver sistemas de ecuaciones lineales de 3 o
más variables y con 3 o más ecuaciones. Para desarrollar los métodos se requiere manejar los sistemas
de ecuaciones mediante una representación matemática como son las matrices.

3.2 Matrices
En general, una matriz es una colección de números reales dispuestos de forma rectangular en filas y
columnas. De manera más formal
Una matriz con m filas y n columnas se dice que es de orden m x n. En general, una letra
mayúscula A denota una matriz, mientras que las correspondientes minúsculas aij indican uno
de los números que forman la matriz, de manera que se escribe

1/9
Cálculo Digital Numérico Unidad III

siendo aij el número que ocupa la posición (i; j) (es decir, que está en la i-ésima fila y la j-
ésima columna de la matriz). Se puede escribir la matriz A en forma desarrollada, es decir,

3.3 Sistemas de ecuaciones lineales


Los sistemas de ecuaciones lineales simultáneas surgen en muchos problemas de ingeniería y ciencia.
Ocurren en una amplia variedad de situaciones incluyendo el análisis de circuitos eléctricos, la
determinación de fuerzas sobre una estructura, balance de reactivos de una reacción química,
economía, distribución de calor, entre otros. Los algoritmos de solución, para los sistemas de
ecuaciones lineales, pueden ser directos o iterativos.
En los métodos directos (Eliminación de Gauss y Gauss-Jordan), la solución se obtiene mediante un
número fijo de pasos sujeto solamente a errores de redondeo, mientras que los métodos iterativos
(Jacobi o Gauss-Seidel) se basan en mejorar sucesivamente los valores iniciales de la solución. El
orden para estudiarlos primero se aborda los métodos directos y posteriormente se trabajará con los
iterativos.
En la práctica es frecuente encontrarse con sistemas de ecuaciones lineales que tienen n ecuaciones
con m incógnitas, lo cual se escribe como
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2
… … ……
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 = 𝑏𝑚

donde las aij son coeficientes constantes y las bi son constantes. La solución para el sistema es el
conjunto de número reales 𝑥1 , 𝑥2 , … , 𝑥1𝑛 que satisfacen simultáneamente todas las ecuaciones. Los
primeros métodos a presentar son los directos.

3.4 Métodos directos


Primeramente se revisan e implementaremos los métodos clásicos para resolver un sistema de
ecuaciones lineales.

3.4.1 Eliminación de Gauss


La eliminación de Gauss consiste en: (1) eliminación hacia adelante y (2) sustitución hacia atrás. La
eliminación hacia adelante se usa para reducir el conjunto de ecuaciones a un sistema triangular
inferior, procede como sigue:
El paso inicial será el de eliminar la primera incógnita 𝑥1 desde la segunda hasta la n-ésima ecuación,
para ello la primera ecuación es multiplicada por
𝑎21
𝑎11
se resta de la segunda ecuación y se repite el proceso. Una vez terminado el proceso, el término inicial
de cada ecuación del sistema anterior recibe el nombre de pivote. El procedimiento de sustitución
hacia atrás comienza con la última ecuación.

Para una descripción amplia del procedimiento se recomienda revisar el apartado 3. Algoritmo de
Eliminación Gaussiana del siguiente material

2/9
Cálculo Digital Numérico Unidad III

https://www.cimat.mx/~angeluh/webpage_ANI/Lecciones/Leccion10.pdf

3.4.2 Eliminación Gauss-Jordan con pivoteo


El método de Gauss supone una situación ideal simple en la que ningún pivote (o coeficiente diagonal)
aii se vuelve cero. Si cualquier pivote se vuelve cero en el proceso de resolución, la eliminación hacia
adelante no procederá. El pivoteo evita esto, pero además contribuye a aumentar la exactitud de la
solución incluso cuando todos los coeficientes diagonales son distintos de cero.
El pivoteo consiste en intercambiar el orden de las ecuaciones de modo que el coeficiente del pivote
aii tenga una magnitud mayor que cualquier otro coeficiente que esté debajo de él en la misma
columna y que por lo tanto vaya a ser eliminado.
Antes de que inicie la eliminación debe comparar el primer pivote con los demás coeficientes, es
decir, debe comprobar que:
|𝑎11 | ≥ |𝑎𝑖1 |
para toda i > 1.
En caso contrario deba intercambiar la fila 1 con la fila la que tenga el |𝑎𝑖1 | más grande. Antes de
cada eliminación debe hacer esta comparación con el pivote correspondiente y los elementos que
están debajo de él.
La eliminación de Gauss-Jordan con pivoteo es una variación de la eliminación de Gauss con pivoteo
mediante la cual se eliminan los números que están arriba y abajo del pivote además que se
normalizan las filas.
EJEMPLO 1.
En el siguiente ejemplo se resuelve el sistema de ecuaciones (1) mediante el método de Gauss-Jordan
con pivoteo
2 1 −3 𝑥1 −1
[−1 3 2 ] [𝑥2 ] = [ 12 ] (1)
3 1 −3 𝑥3 0

1. Antes de hacer la primera eliminación hacia adelante se debe intercambiar la fila uno y tres.
En la siguiente representación en forma de matriz aumentada se puede ver el resultado
𝑅1 3 1 −3 0
𝑅2 [−1 3 2 | 12 ]
𝑅3 2 1 −3 −1
La letra R se utiliza para identificar las filas en las operaciones siguientes.

2. Para normalizar la fila uno hay que dividir toda la fila entre 3, es decir 𝑅1/3, quedando:
1 1/3 −1 0
[−1 3 2 | 12 ]
2 1 −3 −1

3. Mediante las operaciones 1 × 𝑅1 + 𝑅2 y −2 × 𝑅1 + 𝑅3 se elimina las filas dos y tres,


quedando:
1 1/3 −1 0
[0 10/3 1 | 12 ]
0 1/3 −1 −1
4. En este paso se hace ningún intercambio, por lo tanto la fila dos es normalizada dividiendo
𝑅2
entre 10/3, es decir 10/3
1 1/3 −1 0
[0 1 3/10 |36/10]
0 1/3 −1 −1

3/9
Cálculo Digital Numérico Unidad III

5. Ahora se eliminan los elementos de la columna dos que están arriba y abajo del pivote.
Primero se multiplica la fila dos por -1/3 y se suma con la fila 1, es decir −1/3 × 𝑅2 + 𝑅1.
El resultado es el siguiente
1 0 −11/10 −36/30
[ 0 1 3/10 | 36/10 ]
0 1/3 −1 −1
Segundo, para eliminar el elemento de abajo se multiplica la fila dos por -1/3 y se suma a la
fila tres, es decir −1/3 × 𝑅2 + 𝑅3. De la operación se obtiene el siguiente resultado

1 0 −11/10 −36/30
[0 1 3/10 | 36/10 ]
0 0 −11/10 −11/5
𝑅3
6. Como siguiente paso se normaliza la fila tres dividiendo entre -11/10, es decir
−11/10
1 0 −11/10 −36/30
[0 1 3/10 | 36/10 ]
0 0 1 2

7. Ahora se eliminan los elementos que están arriba del pivote de la tercera fila. Primero se
multiplica la tercera fila por -3/10 y se suma a la fila dos, es decir −3/10 × 𝑅3 + 𝑅2.
Obteniendo la siguiente matriz
1 0 −11/10 −36/30
[0 1 0 | 3 ]
0 0 1 2

Segundo se multiplica la fila tres por 11/10 y se suma el resultado a la fila uno, es decir
11/10 × 𝑅3 + 𝑅1. La matriz resultante es
1 0 0 1
[0 1 0 | 3]
0 0 1 2

Al finalizar el proceso la solución del sistema de ecuaciones lineales es:


𝑥1 = 1
𝑥2 = 3
𝑥3 = 2

Se puede comprobar la solución haciendo la sustitución en alguna de las ecuaciones que


forman parte del sistema:
−𝑥1 + 3𝑥2 + 2𝑥3 = 12
−1 + 3(3) + 2(2) = 12
12 = 12
Como se observa al hacer la sustitución de los valores para cada variable x se satisface la
igualdad. Si se desea se puede hacer la verificación con las otras ecuaciones que forman parte
del sistema.
3.5 Métodos iterativos
Los métodos iterativos o aproximados proveen una alternativa en los métodos de eliminación de
Gauss y Gauss-Jordan descritos en la sección 3.3. La solución iterativa de ecuaciones lineales no es
aplicable a todos los problemas, pero resulta útil para resolver cierto tipo de problemas. Sin embargo,
si el número de incógnitas es muy grande pero la matriz de coeficientes está despoblada, la
eliminación de Gauss resulta ineficiente y en algunos casos inaplicable. La ventaja de los métodos

4/9
Cálculo Digital Numérico Unidad III

iterativos es que la programación es sencilla y es fácil aplicarlos cuando los coeficientes no son
lineales. Aunque hay que tener en cuenta que las soluciones son aproximaciones.
Existen muchas versiones de los métodos iterativos, este apartado presenta dos de ellos: el Método
iterativo de Jacobi y el Método de Gauss-Seidel.

3.5.1 Método Jacobi


Considere la ecuación lineal
𝐴𝑥 = 𝑦
donde 𝐴 es una matriz cuadrada, 𝑥 es el vector de variables y 𝑦 es el término de origen. Todos los
métodos requieren de una estimación inicial para comenzar la iteración, mismo que es representado
por 𝑥 (0) . La estimación inicial puede ser cualquier vector arbitrario. Si se dispone de una buena
estimación, la convergencia de la resolución iterativa será rápida; si no, se puede utilizar como
estimación inicial un vector de ceros.
Una condición suficiente para que la solución iterativa converja es:
𝑛
|𝑎𝑖𝑖 | ≥ ∑ |𝑎𝑖𝑗 |
𝑗=1,𝑗≠𝑖
para toda 𝑖.
El método iterativo de Jacobi se describe como
(𝑡−1)
(𝑡)
𝑦𝑖 − ∑𝑛𝑗=1,𝑗≠𝑖 𝑎𝑖𝑗 𝑥𝑗
𝑥𝑖 =
𝑎𝑖𝑖
donde el índice superior 𝑡 cuenta las iteraciones. Cuando 𝑡 = 1 en la ecuación anterior, 𝑥 del miembro
derecho tiene superíndice 0, lo que significa que el valor es la estimación inicial.

En cada iteración se evalúa 𝑎𝑥𝑖 en orden creciente según i. El error de la iteración se calcula con el
criterio
𝑗 𝑗−1
|𝑥 − 𝑥𝑖 |
|𝜀𝑖 | = 𝑖 𝑗
𝑥𝑖
Algoritmo para el Método iterativo de Jacobi1
(0)
Para resolver Ax = b dada una aproximación inicial x :

ENTRADA. El número de ecuaciones e incógnitas n; los elementos a i , j , 1  i, j  n de la matriz A;

los elementos bi ,1  i  n de b; la aproximación inicial X0, la tolerancia TOL y el número máximo


de iteraciones N.
Salida. La solución aproximada o el mensaje de que se rebaso el número de iteraciones.
Paso 1: k = 1
Paso 2: Mientras k ≤ N haga pasos 3-6
Paso 3: Para i = 1,…,n

  a i , j XO j   bi
n

j 1
j i
xi 
a i ,i
Paso 4: Si x  X 0  TOL entonces
salida( x )

1
Recuperado de https://www.cimat.mx/~dnvr30/CursoMinas/jacobi.htm [Acceso: 24 de marzo 2020]

5/9
Cálculo Digital Numérico Unidad III

PARAR
Paso 5: k = k + 1
Paso 6: X 0  x
Paso 7: Salida (Numero max. de iteraciones excedido)
PARAR.

EJEMPLO 2
Usar el método de Jacobi para obtener una solución al siguiente sistema de ecuaciones:

3𝑥1 − 0.2𝑥2 − 0.5𝑥3 = 8 (2)


0.1𝑥1 + 7𝑥2 + 0.4𝑥3 = −19.5
0.4𝑥1 − 0.1𝑥2 + 10𝑥3 = 72.4

Con una tolerancia de |𝜀| < 0.01


1. Primerio se debe observar si se cumple el criterio de convergencia:
3 > 0.2 + 0.5, 7 > 0.1 + 0.4 𝑦 10 > 0.4 + 0.1,
por lo cual el método de Jacobi se puede aplicar usando la fórmula del paso iterativo que es:
(𝑡−1)
(𝑡)
𝑦𝑖 − ∑𝑛𝑗=1,𝑗≠𝑖 𝑎𝑖𝑗 𝑥𝑗
𝑥𝑖 =
𝑎𝑖𝑖

2. Para aplicar la formula, hay que despejar la incógnitas 𝑥1 , 𝑥2 𝑦 𝑥3 de las ecuaciones del
sistema (2). Quedando como:
8 + 0.2𝑥2 + 0.5𝑥3 (3)
𝑥1 =
3
−19.5 − 0.1𝑥1 − 0.4𝑥3 (4)
𝑥2 =
7
72.4 − 0.4𝑥1 + 0.1𝑥2 (5)
𝑥3 =
10
3. Con las ecuaciones (3), (4) y (5) se realizan las iteraciones. Inicialmente, se usa el valor cero2
para cada variable, es decir, 𝑥1 = 0, 𝑥2 = 0 𝑦 𝑥3 = 0.
8
𝑥1 = = 2.666
3
19.5 (6)
𝑥2 = − = −2.785714
7
𝑥3 = 7.24

Con valores de las variables 𝑥 calculados en el paso 3 se establece una primera aproximación
a la solución del sistema:

2
Se puede escoger cualquier valor inicial para las variables. El vector cero simplifica las operaciones. Si
disponemos de una primera aproximación la convergencia será rápida.

6/9
Cálculo Digital Numérico Unidad III

𝑥1 = 2.66666 𝑥2 = −2.785714 𝑥3 = 7.24


4. Hasta este paso no se puede calcular el error relativo debido a que es necesario realizar la
siguiente iteración. Para la segunda iteración se utilizan los valores obtenidos en el paso 3:
8 + 0.2(−2.785714) + 0.5(7.4)
𝑥1 = = 3.687619
3
−19.5 − 0.1(2.666666) − 0.4(7.24)
𝑥2 = = −3.237524
7
72.4 − 0.4(2.666666) + 0.1(−2.785714)
𝑥3 = = 7.105476
10

Al finalizar la segunda iteración el resultado para las variables es:


𝑥1 = 3.687619 𝑥2 = −3.237524 𝑥3 = 7.105476

5. Con dos iteraciones es posible calcular el erro relativo para cada variable de la siguiente
manera:
|3.687619 − 2.666666|
|𝜀1 | = = 0.276859
3.687619
|−3.237524 − (−2.785714)|
|𝜀2 | = = 0.139554
−3.237524
|7.105476 − 7.24|
|𝜀3 | = = 0.018932
7.105476

Se requiere que el error relativo sea menor a 0.01 para todas las variables 𝑥. Lo cual no se
cumple, por lo tanto se continúa a una siguiente iteración con el resultado calculado en el
paso 4.

7/9
Cálculo Digital Numérico Unidad III

6. Las operaciones de la tercer iteración son:


8 + 0.2(−3.237524) + 0.5(7.105476)
𝑥1 = = 3.635507
3
−19.5 − 0.1(3.687619) − 0.4( 7.105476)
𝑥2 = = −3.244421
7
72.4 − 0.4(3.687619) + 0.1(−2.785714)
𝑥3 = = 7.060120
10

El resultado de la tercera iteración para cada variable x es:


𝑥1 = 3.635507 𝑥2 = −3.244421 𝑥3 = 7.060120

7. Para la tercera iteración los cálculos de los errores correspondientes son:


|𝜀1 | = 0.014454 |𝜀2 | = 0.002126 |𝜀3 | = 0.006424

Se observa que no todos los errores tiene un valor menor al indicado como tolerancia en el
ejercicio. Por lo tanto, es necesario continuar con otra iteración.

8. En la cuarta iteración el resultado es:


𝑥1 = 3.627059 𝑥2 = −3.241079 𝑥3 = 7.062153

9. Para la cuarta iteración los errores correspondientes son:


|𝜀1 | = 0.002211 |𝜀2 | = 0.001031 |𝜀3 | = 0.000288

Debido a que cada error es menor a la tolerancia definida en el ejercicio, se detienen el


procedimiento. La solución del sistema de ecuaciones es:
𝑥1 = 3.627059 𝑥2 = −3.241079 𝑥3 = 7.062153

3.5.2 Método Gauss-Seidel


Aunque el Método de Jacobi es útil en muchos casos, se le pueden hacer mejoras que proporcionen
una mejor estimación. Una de las mejoras es el Método de Gauss-Seidel que se describe como:
(𝑡) (𝑡−1)
(𝑡)
𝑦𝑖 − ∑𝑖−1
𝑗=1 𝑎𝑖𝑗 𝑥𝑗 − ∑𝑛𝑗=𝑖+1 𝑎𝑖𝑗 𝑥𝑗 (7)
𝑥𝑖 =
𝑎𝑖𝑖

Este método se relaciona con el Método de Jacobi como sigue: En la ecuación (7), 𝑥𝑗 para 𝑗 < 𝑖 tiene
superídice 𝑡 en lugar de (𝑡 − 1). Es decir, siempre que están disponibles valores actualizados del
método iterativo, se utilizan. Esto ayuda a acelerar la convergencia y también simplifica la
programación porque cada vez que se obtiene un valor nuevo, éste se puede escribir sobre el anterior.

8/9
Cálculo Digital Numérico Unidad III

Referencias
Chapra, Raymond P. Canale Steven C. 2007. Métodos numéricos para ingenieros. México, etc: MC
GRAW HILL.
Haeussler, Ernest F, Richard Paul, y Vc̕tor Hugo Ibarra Mercado. 2003. Matemáicas para
administració y economia. México, D.F.: Pearson Educación.

Tuyub Puc, Dennis R. “Sistemas de ecuaciones”. Presentación PDF, Curso Métodos numéricos,
Universidad Autónoma de Yucatán, Marzo, 2018
Uh Zapata, Miguel A. “Lección 8. Matrices y Sistemas de Ecuaciones Lineales”. Notas de clase,
Curso Análisis Numérico I, Universidad Autónoma de Yucatán, Diciembre, 2014

9/9

También podría gustarte