Sei sulla pagina 1di 21

Métodos numéricos para ingeniería

Sesión 4: Jacobi y Gauss Seidel


Métodos Numéricos para ingeniería

SESIÓN 04: JACOBI Y GAUSS SEIDEL

Carl Gustav Jacobi


Nacio en Potsdam, actual Alemania,
(1804-1851) Matemático. estudió en la
Universidad de Berlín, se doctoró en
1825. Profesor en la Universidad de
Königsberg.

Hilipp Ludwig Ritter von Seidel (24 -10-


1821, murió 13 – 08 -1896, Munich) fue
astrónomo, óptico y matemático alemán.
En 1874 publicó su trabajo sobre resolución
iterativa de sitemas de ecuaciones lineales , un
método que en cálculo numérico se conoce
como de Gauss Seidel.
Logro de sesión

Al finalizar la sesión, el
estudiante ejecuta los métodos
iterativos de Jacobi y Gauss
Seidel para resolver sistemas
lineales, aplicando los
algoritmos.
Métodos iterativos

Una técnica fundamental de computación científica es la de iteración. Se trata de


repetir un proceso hasta que se obtiene un resultado. Se usan métodos iterativos para
determinar raíces de ecuaciones, solución de sistemas lineales y no lineales y solución
de ecuaciones diferenciales.
Métodos iterativos

Los métodos iterativos representan una alternativa potente para


solucionar los sistemas de ecuaciones lineales, puesto que éstos
se acercan más a la solución real esperada a medida que se
itera, de manera que la calidad de la aproximación obtenida
dependerá de la cantidad de iteraciones que se éste dispuesto a
efectuar.

 El planteamiento consiste en suponer un valor inicial y luego


usar un método sistemático para obtener una estimación
refinada de la solución.

 Los métodos de Jacobi y de Gauss-Seidel comprenden los


métodos iterativos para la solución de sistemas de ecuaciones
lineales que estudiaremos.
Método de iteración de Jacobi

Dado el sistema de ecuaciones

La cual se podrá
escribir (*)

(*) parece converge a (2,4,3)

(**) (***)

𝑃1 = 1.75,3.375,3.00 esta mas cerca de 2,4,3 que 𝑃0


Método de iteración de Jacobi
Tras 19 pasos vemos que, al aplicar al sistema (3), conseguimos 9 cifras decimales
de aproximación

k 𝒙𝒌 𝒚𝒌 𝒛𝒌
0 1.0 2.0 2.0
1 1.75 3.375 3.0
2 1.84375 3.375 3.025
3 1.9625 3.875 2.9625
4 1.99062500 3.925 3.00000000
5 1.99414063 3.97656250 3.00093750
⋮ ⋮ ⋮ ⋮
15 1.99999993 3.99999985 2.99999993
⋮ ⋮ ⋮ ⋮
19 2.00000000 4.00000000 3.00000000
Método de iteración de Jacobi

Dado el sistema de ecuaciones −15 + 𝑦 + 5𝑧


𝑥=
La cual se podrá
2
−2𝑥 + 𝑦 + 5𝑧 = 15 escribir 21 + 4𝑥 + 𝑧
4𝑥 − 8𝑦 + 𝑧 = −21 𝑦=
8
4𝑥 − 𝑦 + 𝑧 = 7 𝑧 = 7 − 4𝑥 + 𝑦
Entonces el metodo iterativo de Jacobi es, en este caso
−15 + 𝑦𝑘 + 5𝑧𝑘
𝑥𝑘+1 = Si empezamos con el punto
2
21 + 4𝑥𝑘 + 𝑧𝑘 𝑃0 = 𝑥0 , 𝑦0 , 𝑧0 = 1,2,2
(*) 𝑦𝑘+1 =
8 entonces el proceso
𝑧𝑘+1 = 7 − 4𝑥𝑘 + 𝑦𝑘 iterativo (*) diverge

−15 + 2 + 10
𝑥𝑘+1 = = −1.5
2 El nuevo punto 𝑃1 = −1.5,3.375,5.00
21 + 4 + 2
𝑦𝑘+1 = = 3.375 esta lejos de la solución 2,4,3
8
𝑧𝑘+1 = 7 − 4𝑥𝑘 + 𝑦𝑘 = 5.00
Método de iteración de Jacobi

El proceso iterativo diverge como se muestra en la tabla

k 𝒙𝒌 𝒚𝒌 𝒛𝒌
0 1.0 2.0 2.0
1 -1.5 3.375 5.0
2 6.6875 2.5 16.375
3 34.6875 8.015625 -17.25
4 -46.617188 17.8125 -123.73438
5 -307.929688 -36.150391 211.28125
6 502.62793 -124.929688 1202.56836

⋮ ⋮ ⋮ ⋮

En vista de los dos ejemplo se hace necesario disponer de algún criterio que
determine si el metodo iterativo de Jacobi converge
Método de Jacobi
Definición: Se dice que una matriz 𝐴 de orden 𝑛𝑥𝑛 es de diagonal estrictamente dominante
cuando 𝑛

𝑎𝑘𝑘 > 𝑎𝑘𝑗 Para 𝑘 = 1,2, … 𝑛


𝑗=1
𝑗≠𝑘

Es decir:

4𝑥 − 𝑦 + 𝑧 = 7 4 > −1 + 1 La matriz 𝐴 asociada al


4𝑥 − 8𝑦 + 𝑧 = −21 −8 > 4 + 1 sistema es de diagonal
−2𝑥 + 𝑦 + 5𝑧 = 15 5 > −2 + 1 estrictamente dominante

−2𝑥 + 𝑦 + 5𝑧 = 15 La matriz 𝐴 asociada al


−2 < 1 + 5
sistema no es de diagonal
4𝑥 − 8𝑦 + 𝑧 = −21 −8 > 4 + 1
estrictamente dominante
4𝑥 − 𝑦 + 𝑧 = 7 1 < 4 + 1
PASOS A SEGUIR…

1. Para emplear este método se nos debe proporcionar un vector inicial x(0).
 x1(0) 
 (0) 
 x2 
x (0)   x3(0) 
 
 
 x (0) 
 n 

2. Este método se basa en el despeje de cada incógnita de un sistema


de ecuaciones como el siguiente
 a11 x1  a12 x2  a13 x3 ...  a1n xn  b1
a x  a x  a23 x3 ...  a2 n xn  b2
 21 1 22 2

a31 x1  a32 x2  a33 x3 ...  a3n xn  b3




an1 x1  an 2 x2  an3 x3 ...  ann xn  bn
3. Despejamos las incógnitas (variable x) de estas ecuaciones y empleamos el
vector inicial para la primera iteración
𝑏𝟏 𝑎𝟏𝟐 𝑎𝟏𝟑 𝑎𝟏𝒏
𝑥𝟏 = − 𝑥 − 𝑥 … − 𝑥
𝑎𝟏𝟏 𝑎𝟏𝟏 𝟐 𝑎𝟏𝟏 𝟑 𝑎𝟏𝟏 𝒏

𝑏𝟐 𝑎𝟐𝟏 𝑎𝟐𝟑 𝑎2𝑛


𝑥𝟐 = − 𝑥 − 𝑥 … − 𝑥
𝑎𝟐𝟐 𝑎𝟐𝟐 𝟏 𝑎𝟐𝟐 𝟑 𝑎𝟐𝟐 𝒏
𝑏𝟑 𝑎𝟑𝟏 𝑎𝟑𝟐 𝑎𝟑𝒏
𝑥𝟑 = − 𝑥 − 𝑥 … − 𝑥
𝑎𝟑𝟑 𝑎𝟑𝟑 𝟏 𝑎𝟑𝟑 𝟐 𝑎𝟐𝟐 𝒏

⋮ ⋮ ⋮ ⋮ ⋮
𝑏𝒏 𝑎𝒏𝟏 𝑎𝒏2 𝑎𝑛𝟑
𝑥𝒏 = − 𝑥 − 𝑥 − 𝑥 …−
𝑎𝒏𝒏 𝑎𝒏𝒏 𝟏 𝑎𝒏𝒏 𝟐 𝑎𝟑𝟑 𝟑

De las ecuaciones se observa

𝑥𝒊 = 𝐴 𝒊, 𝒏 − 𝐴 1, 1: 𝒊 − 1, 𝒊 + 1: 𝑛 ∗ 𝑃 1: 𝒊 − 1, 𝒊 + 1: 𝒏 /𝐴 𝒊, 𝒏

4.- Realizamos una serie de iteraciones hasta lograr que el Ea (error absoluto: se
calcula con la norma del máximo) sea menor o igual de la tolerancia dada.
x( k )  x( k 1)  Tol

Ejemplo: Resolver por Jacobi

4𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 = 1 0
Con
𝑥1 + 5𝑥2 + 𝑥3 + 𝑥4 = 2 condiciones 𝑃 = 0 =𝑥 (0)
0
−𝑥1 + 2𝑥2 + 8𝑥3 + 4𝑥4 = −1 inicial 0
2𝑥1 + 3𝑥2 + 5𝑥3 + 12𝑥4 = 2

Solución:

Llevando a la forma 𝑥 = 𝑇𝑥 + 𝑐 para luego escribirlo en la forma iterada 𝑥 𝑘 = 𝑇𝑥 𝑘−1 +𝑐


1 1 1 𝟏
𝑥1 = 𝟎 − 𝑥2 − 𝑥3 − 𝑥4 +
4 4 4 4
4𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 = 1 1 1 1 𝟐
𝑥2 = − 𝑥1 + 𝟎 − 𝑥3 − 𝑥4 +
𝑥1 + 5𝑥2 + 𝑥3 + 𝑥4 = 2 5 5 5 5
−𝑥1 + 2𝑥2 + 8𝑥3 + 4𝑥4 = −1
2𝑥1 + 3𝑥2 + 5𝑥3 + 12𝑥4 = 2 1 2 4 𝟏
𝑥3 = 𝑥1 − 𝑥2 + 𝟎 − 𝑥4 −
8 8 8 8
2 3 5 𝟐
𝑥4 = − 𝑥1 − 𝑥2 − 𝑥3 + 𝟎 +
12 12 12 12
1 1 1 𝟏 𝟏
𝑥1 = 𝟎 − 𝑥2 0 − 𝑥3 0 − 𝑥4 0 + =
4 4 4 4 𝟒
1 1 1 𝟐 𝟐
𝑥2 = − 𝑥1 0 + 𝟎 − 𝑥3 0 − 𝑥4 0 + =
5 5 5 5 𝟓
Iteración 1: 1 2 4 𝟏 𝟏
0 0 0
𝑥3 = 𝑥 − 𝑥2 + 𝟎 − 𝑥4 − =−
8 1 8 8 8 𝟖
2 0
3 0
5 0
𝟐 𝟐
𝑥4 = − 𝑥 − 𝑥 − 𝑥 +𝟎+ =
En MatLab 12 1 12 2 12 3 12 𝟏𝟐

4 1 1 1 1 0
A= 1 5 1 1 B= 2 P= 0
-1 2 8 4 -1 0
2 3 5 12 2 0
>> X(1)=(B(1)-A(1,[2 3 4])*P([2 3 4]))/A(1,1)
>> X(2)=(B(2)-A(2,[1 3 4])*P([1 3 4]))/A(2,2)
>> X(3)=(B(3)-A(3,[1 2 4])*P([1 2 4]))/A(3,3)
>> X(4)=(B(4)-A(3,[1 2 3])*P([1 2 3]))/A(4,4)
j=1:N
X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-1,j+1:N]))/A(j,j)
1 0
1 0
1 0
𝟏 𝟏
𝑥1 = 𝟎 − 𝑥2 − 𝑥3 − 𝑥4 + =
4 4 4 4 𝟒
1 0
1 0
1 0
𝟐 𝟐
𝑥2 = − 𝑥1 + 𝟎 − 𝑥3 − 𝑥4 + =
5 5 5 5 𝟓
Iteración 1:
1 0 2 4 𝟏 𝟏
𝑥3 = 𝑥1 − 𝑥2 0 + 𝟎 − 𝑥4 0 − = −
8 8 8 8 𝟖
2 3 5 𝟐 𝟐
𝑥4 = − 𝑥1 0 − 𝑥2 0 − 𝑥3 0 + 𝟎 + =
12 12 12 12 𝟏𝟐

 k  1 1 1 1
 x1  4  x2 k 1  x3 k 1  x4 k 1
4 4 4

 x k   2  1 x k 1 1
 x3 k 1
1
 x4 k 1
Iteración k:  2 5 5
1
5 5

 x k    1  1 x k 1 1
 x2 k 1
1
 x4 k 1
 3 8 8
1
4 2
 1 1 1 5  k 1
 x4 k    x1 k 1  x2 k 1  x3
 6 6 4 12
Condiciones iniciales
Dieciochoava
Primera iteración iteración

𝑥 (18) − 𝑥 (17) ∞
= 𝑚𝑎𝑥 0.000357,0.000302,0.000317,0.000381 = 0.000381 ≤ 0.0005 = 0.5𝑥10−3

0.183407
Es una aproximación con 3 cifras decimales de
𝑥 (18) = 0.387541
−0.276195 precisión exacta
0.154028
Método de Gauss-Seidel
El método de Gauss-Seidel es casi idéntico al método de Jacobi. La
única diferencia entre estos dos métodos esta en que, en el método
de Gauss - Seidel una vez que se ha calculado el valor de 𝒙𝒊 , este
valor se sustituye inmediatamente en la misma iteración.

 (k ) b1 a12 ( k 1) a13 ( k 1) a1n ( k 1)


 x1   x2  x3 ...  xn
a11 a11 a11 a11

 (k ) b2 a21 ( k ) a23 ( k 1) a2 n ( k 1)
 x2   x1  x3 ...  xn
a22 a22 a22 a22


 x(k ) 
b3 a31 ( k )
 x1 
a32 ( k )
x2 ... 
a3n ( k 1)
xn
 3 a33 a33 a33 a33


 bn an1 ( k ) an 2 ( k ) an 3 ( k )
 xn( k )   x1  x2  x3 ...

 ann ann ann ann
Ejemplo:

4𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 = 1 Con 0
𝑥1 + 5𝑥2 + 𝑥3 + 𝑥4 = 2 condiciones 𝑃 = 0 =𝑥 (0)
−𝑥1 + 2𝑥2 + 8𝑥3 + 4𝑥4 = −1 inicial 0
2𝑥1 + 3𝑥2 + 5𝑥3 + 12𝑥4 = 2 0

Solución

Llevando a la forma iterativa de Gauss Seidel se tiene:


1 1 1 1
𝟎 0 0 0 𝟎 − − −
4 4 4 𝑘−1 4
𝑥1 𝑘 1
−5 𝟎 0 0 𝑥1
𝑘 1 1 𝑥1 2
𝑥2
0 𝟎 − − 𝑥2
= 1 1 𝟎 0 𝑥2 +
5 5
+ 5
𝑥3 −4 𝑥3
0 0 𝟎 −
1 𝑥3 1
𝑥4
8
𝑥4 −
1 1 5 𝟎
2 𝑥4 8
− − − 12 1
6 4
0 0 0 𝟎 6
Resolver por Gauss-Seidel el sistema

1 1 1 1
𝟎 0 0 0 𝟎 − − −
4 4 4 𝑘−1 4
𝑥1 𝑘 1
−5 𝟎 0 0 𝑥1
𝑘 1 1 𝑥1 2
𝑥2
0 𝟎 − − 𝑥2
= 1 1 𝟎 0 𝑥2 +
5 5
+ 5
𝑥3 −4 𝑥3
0 0 𝟎 −
1 𝑥3 1
𝑥4
8
𝑥4 −
1 1 𝟎
2 𝑥4 8
−6 −4 − 5 1
12 0 0 0 𝟎 6

Es decir:

𝑘
1 𝒌−𝟏
1 𝒌−𝟏
1 𝒌−𝟏
1
𝑥1 = 𝟎 − 𝒙𝟐 − 𝒙𝟑 − 𝒙𝟒 +
4 4 4 4

𝑘
1 𝒌
1 𝒌−𝟏
1 𝒌−𝟏
2
𝑥2 = − 𝒙𝟏 + 𝟎 − 𝒙𝟑 − 𝒙𝟒 +
5 5 5 5

𝑘
1 𝒌
1 𝒌
1 𝒌−𝟏
1
𝑥3 = 𝒙 − 𝒙𝟐 + 𝟎 − 𝒙𝟒 −
8 𝟏 4 2 8

𝑘
1 𝒌
1 𝒌
5 𝒌
1
𝑥4 = − 𝒙𝟏 − 𝒙𝟐 − 𝒙 +𝟎+
6 4 12 𝟑 6
Condiciones iniciales
Primera iteración Sexta iteración

𝑥 (6) − 𝑥 (5) ∞
= 𝑚𝑎𝑥 0,000040, 0.000082, 0.000029, 0.000002 = 0.000082 ≤ 0.5𝑥10−3

0.183568
𝑥 (6) = 0.387656 𝑥 6 es una aproximación con 3 cifras decimales
−0.276060 de precisión exacta
0.154183
REFERENCIAS BIBLIOGRAFICAS

N° CÓDIGO AUTOR TITULO AÑO


1 518 CHAPRA, S. Métodos numéricos para 2007
CHAP/M ingenieros.
2007

519.4 MATHEWS, J. Métodos numéricos con 2000


2 MATH. MATLAB.

Potrebbero piacerti anche