Você está na página 1de 8

Capítulo III

3. Solución de sistemas de ecuaciones lineales (Método Iterativo)

Los métodos numéricos para resolver sistemas de ecuaciones lineales se pueden


dividir en dos tipos, exactos e iterativos. Los métodos exactos son aquellos en los cuales
en ausencia de errores de redondeo u otros, proporcionan la solución exacta para un
número finito de operaciones aritméticas elementales. En la práctica, puesto que un
computador trabaja con una longitud de palabra finita, los métodos directos no conducen
a soluciones exactas; en realidad los errores que provienen del redondeo, inestabilidad
y pérdida de cifras significativas pueden conducir a resultados extremadamente pobres
o inútiles.
Una gran parte del análisis numérico tiene que ver con el por qué y como del
surgimiento de errores y la búsqueda de métodos para minimizar la totalidad de estos.
La técnica fundamental usada para solución directa de sistemas de ecuaciones lineales
es la eliminación de Gauss, pero aun dentro de esta clase de métodos hay una gran
variedad de escogencias que varían en eficiencia computacional y en exactitud. Es por
ello que analizaremos adicionalmente la solución de sistemas de ecuaciones, mediante
aproximaciones iterativas, el método de relajación de Jacobi y el formulado por Gauss-
Seidel, conocido como GSR, son los preferidos para resolver sistemas muy grandes que
ocurren frecuentemente en ingeniería de modelado y problemas científicos. No
obstante, para usar estos métodos, la matriz de coeficientes debe cumplir ciertas
condiciones.

Un sistema de tres ecuaciones lineales se representa de la siguiente manera:

Ax + By + Cz = D
Ex + Fy + Gz = H (3.1)
Ix + Jy + Kz = L

Dónde: (A, B, C, E, F, G, I, J, K), son coeficientes del sistema y corresponden a


los elementos de la matriz A.
(D, H, L), son valores constantes y corresponden a la matriz de
términos independientes B.
(x, y, z), variables por determinar, corresponden a la matriz de
incógnitas X.

Para resolver el problema (hallar las incógnitas), representamos las ecuaciones


(3.1), como un producto de matrices, a modo de facilitar el uso de la técnica de
eliminación y sustitución regresiva.

 A B C  x   D 
    
 D E F  y    H   A.X  B (3.2)
 G H I  z   L 
    

Recordemos que una condición para que se realice el producto de matrices, es


que el número de columnas de la primera matriz sea igual al número de filas de la
segunda, es decir:

A mxn .Bnxp  C mxp (3.3)


3.1 Esquema de Aproximación Iterativa

Anteriormente se mostró la forma de dar solución exacta a un sistema de


ecuaciones lineales; sin embargo, los métodos iterativos proporcionan una forma mucho
más práctica para solucionar sistemas mediante aproximaciones, dado que podemos
controlar el número de iteraciones requeridas para que la solución sea lo más exacta
posible, esto permite regular el tiempo de procesamiento.
El esquema de aproximación iterativa, se ejecuta identificando primero al vector
X como la solución exacta de un sistema lineal de ecuaciones AX = B y asumiendo que
X’ es un valor estimado para el vector solución; considerando esto, el valor exacto seria:
X = X’ + X,

Dónde: X = XK+1 – XK

Por lo tanto: A (X’ + X) = B


AX’ + AX = B  AX = B – AX’
Entonces:
A (XK+1 – XK) = B - AXK (3.20)

K, es el orden de aproximación. X’ se sustituye por XK dado que se trata de una


aproximación.

El lado derecho de la ecuación (3.20) contiene solo valores conocidos, por lo cual
podemos calcular X y luego X. Sobre la base de (3.20) se construyen varios esquemas
de solución.

Condiciones del Sistema a resolver por métodos iterativos

Por lo general, hay tres posibilidades para un sistema de ecuaciones lineales: ninguna
solución, una sola solución, o un número infinito de soluciones, un sistema que tiene
una o más soluciones se llama consistente, si no hay soluciones, el sistema se
llama inconsistente. Un sistema con menos ecuaciones que incógnitas se
llama indeterminado; aquellos son los sistemas que frecuentemente tienen un número
infinito de soluciones.

Un sistema en que el número de ecuaciones excede el número de incógnitas se llama


super determinado. En un sistema super determinado, cualquier cosa puede pasar, pero
tal sistema es frecuentemente inconsistente.
Las condiciones del Sistema a resolver por métodos iterativos son: ser
consistente de solución única, bien determinado con el mismo número de ecuaciones
que de incógnitas y finalmente la matriz de coeficientes debe tener diagonal dominante,
en matemáticas, y concretamente en álgebra lineal, una matriz es de
diagonal dominante, cuando lo es por filas o por columnas.
Lo es por filas cuando, para todas las filas, el valor absoluto del elemento de la diagonal
de esa fila es estrictamente mayor que la suma de los valores absolutos del resto de
elementos de esa fila. Lo es por columnas cuando, para todas las columnas, el valor
absoluto del elemento de la diagonal de esa columna es estrictamente mayor que la
suma de los valores absolutos del resto de elementos de esa columna.

Formalmente, se dice que la matriz A de n x n es estrictamente diagonal


dominante por filas cuando se satisface:
(3.21)

3.2 Método de relajación de Jacobi

Empezaremos definiendo la matriz cuadrada A como: A = D + L + R, donde D


contiene solo los elementos de la diagonal de la matriz A; L y R contienen los elementos
del lado izquierdo inferior y derecho superior de A, respectivamente.

Las matrices pueden escribirse como:

 a 11 a 12 ......... a 1n   0 0 ...... 0   a 11 0 .... 0   0 a 12 .... a 1n 


       
 21
a a ......... a 2n   a 0 ...... 0   0 a 22 0... 0  0 0 a 23 .... a 2n 
 .
22
   21  
. . . . ...... 0  . . . 0  . . . . 
       
a      
a nn   0 0 0 
 n1 a n2 ......... a nn   a n1 ...... a nn1 0  0 0 0 ......

Recordando que A (XK+1 – XK) = B - AXK y reemplazando A = D + L + R, obtenemos la


formula matricial del método de Relajación de Jacobi:

DXK+1 = B + (D – A) xK (3.22)

Resolviendo la ecuación matricial (3.22) tenemos:


N
a x
ii i
K 1
 bi   aij x Kj (3.23)
j i

Dónde: i = 1, 2, 3,......., N
K, es el orden de aproximación y N el orden del sistema de ecuaciones.

Sabemos que el método de relajación converge mejor para una matriz de coeficientes
A con diagonal dominante; sin embargo el comportamiento de convergencia puede ser
determinado analizando los auto-valores de la matriz – [L+R]. Escribiendo el esquema
de Jacobi en la forma:
X K 1  D 1 B  JX K

Donde la matriz J, se denomina matriz bloque de Jacobi y está definida como:


J  D1[D  A]  D1[L  R ]

La convergencia requiere que todos los auto-valores de J sean menores que 1 (en valor
absoluto). Denotando al auto-valor más grande (radio espectral) de J como J tendremos
que la tasa asintótica de convergencia ocurre cuando:

X K 1  X K
rJ   J  1
XK X
Ejemplo:

En el circuito mostrado en la figura (3.1), determinar la corriente que marca el


amperímetro. Considere R = 5, 1 = 5V, 2 = 10V, 3 = 15V.

Figura (3.1). Circuito de corriente continua.

Aplicando las reglas de Kirchhoff, resolvemos para cada malla.

Para la malla A:
 1  I1R  2  2R(I1  I2 )  I13R  0

Reemplazando valores, se tiene:


6I1  2I 2  3
Para la malla B:
 3  3RI 2  2R (I 2  I1 )   2  0
Reemplazando valores, se tiene:
5I 2  2I1  5
Escribiendo el sistema en notación matricial:

 6  2  I1    3 
     
  2 5  I 2   5 

Dónde: I1 = x1, I2 = x2 y N = 2

Utilizaremos una tolerancia de 0.02 y el siguiente vector de aproximación:

 x 0  0.1
X 0   10 
 x  0.8 
 2 

Para obtener la primera aproximación (K = 1), usaremos la ecuación (3.23) para K = 0 y


N = 2, haciendo variar i desde 1 hasta N.

i=1
2
a 11x 11  b1   a 1j x 0j
j 1

b1  a 12 x 02 - 3  (-2)0.8
a x  b1  a 12 x
1
11 1
0
2  x  1
1   -0.23
a 11 6
i=2
2
a 22 x 12  b 2   a 2j x 0j
j 2

b 2  a 21x 10 5  (-2)- 0.1


a 22 x  b 2  a x
1
2
0
21 1  x  1
2   0.96
a 22 5

El vector solución en primera aproximación es:


 - 0.23 
X1   
 0.96 
Evaluamos ahora la convergencia:
X K 1  X K  tolerancia (TOL)
Operando:
  0.23    0.1  0.13 
       
 0.96   0.8   0.16 

Dado que aún no se ha logrado cumplir la condición para detener las iteraciones, se
continúa el proceso para una segunda aproximación (K = 2). Ahora para K = 1y N = 2

i=1
2
a 11x 12  b1   a 1j x 1j
j 1

b1  a 12 x 12 - 3  (-2)0.96 
a 11x 12  b1  a 12 x 12  x 12    -0.18
a 11 6
i=2
2
a 22 x 22  b 2   a 2j x 1j
j 2

b 2  a 21x 11 5  (-2)- 0.23


a 22 x 22  b 2  a 21x 11  x 22    0.908
a 22 5

El vector solución en segunda aproximación es:


 - 0.18 
X 2   
 0.908 
Calculando si se cumple ó no la condición de convergencia se tiene:

  0.18    0.23   0.05 


       
 0.908   0.96   0.052 

Como aún no se ha logrado cumplir la condición para detener las iteraciones, se


continúa el proceso para una tercera aproximación (K = 3), es decir para K = 2 y N = 2.
i=1
2
a 11x 13  b1   a 1j x 2j
j 1

b1  a 12 x 22 - 3  (-2)0.908
a x  b1  a 12 x
3
11 1
2
2  x  3
1   -0.197
a 11 6
i=2
2
a 22 x  b 2   a 2j x 2j
3
2
j 2

b 2  a 21x 12 5  (-2)- 0.18


a 22 x 32  b 2  a 21x 12  x 32    0.928
a 22 5

El vector solución en tercera aproximación es:

 - 0.197 
X 3   
 0.928 

Calculando si se cumple ó no la condición de convergencia se tiene:

  0.197    0.18   0.017 


       
 0.928   0.908   0.02 

Se observa que cumple la condición y se detienen las iteraciones, por lo tanto la solución
aproximada es:

I1 = -0.1978 y I2 = 0.9280

Los resultados computacionales con el programa en Fortran son:

SOLUCION DE SISTEMAS LINEALES RELAJACION-JACOBI


===============================================
INGRESO DE DATOS
DIMENSION DEL SISTEMA
2
TOLERANCIA
0.02
INGRESE MATRIZ DE COEFICIENTES A
6 -2
-2 5
INGRESE ELEMENTOS DE B
-3
5
INGRESE ELEMENTOS DE VECTOR APROXIMADO
-0.1
0.8
===============================================
RESULTADOS EN TODOS LOS ORDENES
===============================
X: 1 -0.1000 -0.2333 -0.1800 -0.1978 -0.1907
X: 2 0.8000 0.9600 0.9067 0.9280 0.9209
===============================
TOLERANCIA: 0.020000 NUM ITERACIONES: 4

Con el computador resulta en una iteración adicional debido a que


manualmente se ha redondeado algunas cantidades.

Codificación:

La codificación que genera los resultados mostrados del ejemplo anterior es la


siguiente:

PROGRAM RELAJACION_JACOBI

REAL(4) A(100,100),B(100),XP(100,100)

5 WRITE (*,*)''
WRITE (*,*)' SOLUCION DE SISTEMAS LINEALES RELAJACION-JACOBI'
WRITE (*,*)' ==============================================='
WRITE (*,*)' INGRESO DE DATOS'
WRITE (*,*)' DIMENSION DEL SISTEMA'
READ (*,*)M
WRITE (*,*)' TOLERANCIA'
READ(*,*)TOL
WRITE (*,*)' INGRESE MATRIZ DE COEFICIENTES A'
DO I=1,M
READ (*,*)(A(I,J),J=1,M)
END DO
WRITE (*,*)' INGRESE ELEMENTOS DE B'
DO I=1,M
READ(*,*)B(I)
END DO
WRITE(*,*)''
WRITE (*,*)' INGRESE ELEMENTOS DE VECTOR APROXIMADO'
K2=1
DO I=1,M
READ(*,*)XP(K2,I)
END DO
WRITE (*,*)' ==============================================='
WRITE (*,*)''
10 DO I=1,M
SUMA1=0
DO J=1,M
IF (J.NE.I) THEN
SUMA1=SUMA1+A(I,J)*XP(K2,J)
END IF
XP(K2+1,I)=(B(I)-SUMA1)/A(I,I)
END DO
END DO
DO I=1,M
QWE=ABS(XP(K2+1,I)-XP(K2,I))
IF (QWE.GT.TOL)THEN
K2=K2+1
GOTO 10
ELSE
END IF
END DO
20 WRITE(*,*)' RESULTADOS EN TODOS LOS ORDENES'
WRITE(*,*)' ==============================='
DO J=1,M
WRITE(*,25)J,(XP(MM,J),MM=1,K2+1)
END DO
WRITE(*,*)' ==============================='
WRITE(*,23)TOL,K2
23 FORMAT (' TOLERANCIA:',F9.6,1X,'NUM ITERACIONES:',I3)
25 FORMAT (' X:',I3,8(1X,F8.4))
END

Você também pode gostar