Está en la página 1de 25

Universidad Nacional Experimental del Táchira

Decanato de Docencia
Departamento de Matemática y Física
Métodos numéricos

SISTEMAS DE ECUACIONES LINEALES – MÉTODO DE


JACOBI

Integrantes:
Cabriles Maria V-20.479.882
Márquez Victor V-20.480.047
Valero Carlos V-21.319.340
Profesora: Jenny Pérez.

San Cristóbal, Septiembre del 2019


2

Índice
INTRODUCCIÓN......................................................................................................................................... 3

MARCO TEÓRICO....................................................................................................................................... 4

DEFINICIONES BÁSICAS.............................................................................................................................. 5

DEMOSTRACIÓN DE FORMULA DEL MÉTODO DE JACOBI...........................................................................7

ALGORITMO.............................................................................................................................................. 9

EJERCICIO 1............................................................................................................................................. 10

EJERCICIO 2............................................................................................................................................. 14

ALGORITMO EN MATLAB......................................................................................................................... 18

COMPROBACION DE RESULTADOS DEL EJERCICIO 2:................................................................................21

CONCLUSIONES....................................................................................................................................... 22

BIGLIOGRAFÍA......................................................................................................................................... 23
3

Introducción

EL método de Jacobi es un proceso o técnica iterativa las cuales son recomendadas


en grandes SEL (Sistemas de ecuaciones lineales) donde se presenten gran cantidad de
ceros, el método requiere de una solución inicial arbitraria, comúnmente x=0 o x=1, misma
que va generando nuevas soluciones más próximas a la que satisface el SEL, este método es
posible de aplicar solo en SEL cuadrados, es decir, con tantas incógnitas como ecuaciones.

La condición necesaria para la convergencia del método de Jacobi, es que los


elementos de la diagonal principal de la matriz de coeficientes sean mayores, en valor
absoluto, que los demás elementos del reglón. Si esto se cumple, no se puede asegurar la
convergencia, pero si no se cumple, se asegura la no convergencia del método. Por otra
parte, existe una condición suficiente para la convergencia del método de Jacobi, éste
ocurre siempre y cuando los elementos de la diagonal principal sean dominantes, es decir,
son mayores en valor absoluto que la suma de los restantes elementos del reglón, también
en valor absoluto.
4

Marco teórico

Biografía

Carl Gustav Jakob Jacobi (10 de diciembre de 1804, Potsdam, Prusia, actual
Alemania - 18 de febrero de 1851, Berlín) fue un matemático judío alemán. Autor muy
prolífico, contribuyó en varios campos de la matemática, principalmente en el área de las
funciones elípticas, el álgebra, la teoría de números y las ecuaciones diferenciales. También
destacó en su labor pedagógica, por la que se le ha considerado el profesor más estimulante
de su tiempo. Fue el primer matemático judío en ocupar el cargo de profesor en una
universidad alemana.

Carl Gustav Jakob Jacobi (1804-1851)


5

Definiciones Básicas

Matriz Cuadrada: Una matriz de n por m elementos, es una matriz cuadrada si el


número de filas es igual al número columnas, es decir, n=m y se dice, entonces, que la
matriz es de orden n:

a 11 a12 ⋯ a1 n

(
A= a21 a22
⋮ ⋮
an 1 an 2
⋯ a2 n
⋱ ⋮
⋯ a nn
)
Matriz Diagonal: Una matriz diagonal es una matriz cuadrada en que las entradas
son todas nulas salvo en la diagonal principal, y éstas pueden ser nulas o no. Así, la matriz
D=(d ij ) es diagonal si:

d ij =0 sii ≠ j

a 11 0 ⋯ 0

0
(
D= 0 a 22
⋮ ⋮
0
⋯ 0
⋱ ⋮
⋯ ann
)
Matriz Triangular: Una matriz triangular es un tipo especial de matriz cuadrada
cuyos elementos por encima o por debajo de su diagonal principal son cero. Debido a que
los sistemas de ecuaciones lineales con matrices triangulares son mucho más fáciles de
resolver, las matrices triangulares son utilizadas en análisis numérico para resolver sistemas
de ecuaciones lineales, calcular inversas y determinantes de matrices. El método de
descomposición LU permite descomponer cualquier matriz invertible como producto de
una matriz triangular inferior L y una superior U.

Una matriz cuadrada de orden n se dice que es triangular superior si es de la forma:


6

a11 a12 ⋯ a1 n

0
(
U = 0 a22
⋮ ⋮
0
⋯ a2 n
⋱ ⋮
⋯ ann
)
Análogamente, una matriz de la forma:

a11 0 ⋯ 0

(
L= a21 a 22
⋮ ⋮
a n1 an 2



0

ann
)
Se dice que es una matriz triangular inferior.

Se suelen emplear las letras U y L, respectivamente, ya que U es la inicial de "upper


triangular matrix" y L de "lower triangular matrix", los nombres que reciben estas matrices
en inglés.

Matriz Inversa: Una matriz cuadrada A de orden n se dice que es invertible, no


singular, no degenerada o regular si existe otra matriz cuadrada de orden n, llamada matriz
inversa de A y representada como A −1, tal que: A ∙ A−1= A−1 ∙ A=I n, donde I n es la matriz
identidad de orden n y el producto utilizado es el producto de matrices usual.

Matriz Identidad: la matriz identidad es una matriz que cumple la propiedad de ser
el elemento neutro del producto de matrices. Esto quiere decir que el producto de cualquier
matriz por la matriz identidad (donde dicho producto esté definido) no tiene ningún efecto.

Norma Infinita: ‖x‖∞=i=1


max {|x i|}
,… ,n

Método Iterativo: Un método iterativo es un método que progresivamente va


calculando aproximaciones a la solución de un problema. En matemática, en un método
iterativo se repite un mismo proceso de mejora sobre una solución aproximada: se espera
que lo obtenido sea una solución más aproximada que la inicial. El proceso se repite sobre
esta nueva solución hasta que el resultado más reciente satisfaga ciertos requisitos. A
diferencia de los métodos directos, en los cuales se debe terminar el proceso para tener la
respuesta, en los métodos iterativos se puede suspender el proceso al término de una
7

iteración y se obtiene una aproximación a la solución.


8

Demostración de formula del Método de Jacobi

En análisis numérico el método de Jacobi es un método iterativo, usado para resolver


sistemas de ecuaciones lineales del tipo Ax=b y se aplica solo a sistemas cuadrados, es
decir a sistemas con tantas incógnitas como ecuaciones. El algoritmo toma su nombre del
matemático alemán Carl Gustav Jakob Jacobi. El método de Jacobi consiste en usar
fórmulas como iteración de punto fijo.

La base del método consiste en construir una sucesión convergente definida


iterativamente. El límite de esta sucesión es precisamente la solución del sistema. A efectos
prácticos si el algoritmo se detiene después de un número finito de pasos se llega a una
aproximación al valor de x de la solución del sistema.

La sucesión se construye descomponiendo la matriz del sistema A en la forma


siguiente:

A=D−R

Donde D, es una matriz diagonal y R, es la suma de una matriz triangular inferior L y


una matriz triangular superior U , por lo tanto R=L+U . Partiendo de Ax=b, podemos
reescribir dicha ecuación como:

A=D−L−U

L+U=D− A

Si tomamos como ejemplo una matriz pequeña 2 x 2, donde:

a 11 0 a11 a12
D=
( 0 a 22)y A= (
a21 a22 )
, entonces:

a 11 0 a a
L+U=
( )(
0 a 22
− 11 12
a21 a22 )
0 −a12
L+U=
(−a21 0 )
9

n
0 a12
L+U=−
( a21 0 )
=− ∑ aij
j ≠ i; j=1

Reemplazando A=D−L−U en Ax=b

( D−L−U )x=b

Dx−( L+ U ) x=b

Multiplicando por D −1 para despejar una de las x:

D−1 Dx−D−1 ( L+U ) x=D−1 b Donde D−1 D=I (matriz identidad )

x−D −1 ( L+U ) x=D−1 b

x=D −1 ( L+U ) x+ D −1 b

x=D −1 ( b+ ( L+U ) x )

Si consideramos una iteración k-ésima es posible obtener el origen a la forma matricial del
método de Jacobi:

x k =D−1( b+ ( L+U ) x k−1 )

n
Luego, para obtener las soluciones x i(k), reemplazamos ( L+U )=− ∑ aij
j ≠i ; j=1

n
1
(k)
x =
i
aii ( j ≠ i , j =1
)
b i− ∑ aij x (jk−1 ) ,i=1,2,3 , … , n

Donde k =iteracion ( k ≥ 1 )

Criterio de convergencia:

El método de Jacobi es susceptible de los efectos del pivoteo. En consecuencia, su criterio


de convergencia lo conforman los criterios de la diagonal pesada. Mismo que posee dos
condiciones:
10

1. Condición necesaria: Es condición necesaria que el elemento ubicado en la diagonal


principal de cada ecuación sea mayor en el valor absoluto que el resto de elementos
de la misma ecuación.
2. Condición suficiente: Es condición suficiente que el elemento ubicado en la
diagonal principal de cada ecuación sea mayor en el valor absoluto que la suma del
resto de elementos de la misma ecuación.

Algoritmo

Para resolver un sistema de ecuaciones lineales Ax=b de orden ( n × n ) en forma


iterativa es necesario conocer un vector de aproximación inicial:

x(0) ¿( x 1(0 ) , x 2(0) , … , x n( 0) )t

Para calcular una solución aproximada x={ x1(i ) , x 2(i) , … , x n(i ) } que se acerque a la
solución buscada por medio del método de Jacobi, se deben seguir los siguientes pasos
descritos a continuación:

Entradas: ε=Tolerancia permitida ,

a=Matriz cuadrada A ,

b=Vector columna b ,

(0)
x =Vector aproximacion inicial

Paso 1: Haga k=1

Paso 2: Para cada i=1 , … , n ; hacer

n
1
x i(k) = (b − ∑ a x (k−1) )
aii i j ≠i ; j=1 ij j

Paso 3 :Se calcula elerror de tolerancia utilizando lanorma infinita

‖x (k )−x(k−1)‖∞= max {|x 0


(k)
−x0(k−1)|, … ,| xn(k)−x n(k−1 )|}
i=1 ,… , n
11

Si‖x (k)−x (k−1)‖∞ <ε → vaya al paso 5

Si‖x (k)−x (k−1)‖∞ >ε → vaya al paso 4

Paso 4 : Haga k=k +1 y vaya al paso 2

Paso 5 :Finaliza el proceso

Ejercicio 1.

Aplique el algoritmo del método de Jacobi paso a paso para resolver el sistema lineal dado
a continuación, aplique la norma infinita con una tolerancia de 0.0001, aritmética de
redondeo a 5 (cinco) dígitos decimales, considere el vector x(0) =0 como aproximación
inicial.

4 x 1−1 x2 +0 x 3 +0 x 4=1

{ −1 x 1 +4 x 2−1 x 3+ 0 x 4=1
0 x 1−1 x 2+ 4 x 3−1 x 4=1
0 x 1 +0 x 2−1 x 3 + 4 x 4=1

Solución: A continuación, se sigue el algoritmo de Jacobi, realizando 3 iteraciones paso a


paso, luego se presentará una tabla con el resultado de cada una de las iteraciones.

Antes de seguir el algoritmo podemos expresar la ecuación de forma matricial

Ax=b

4 −1 0 0 1

[ −1 4 −1 0 x= 1
0 −1 4 −1
0 0 −1 4
1
1
] []
Algoritmo paso a paso:
12

Entradas: ε=0,0001

4 −1 0 0 1 0

0
[
a= −1 4 −1 0
0 −1 4 −1
0 −1 4
] [] []
b= 1
1
1
x(0) = 0
0
0

Paso 1: Haga k=1

Paso 2: Para cada i=1 , 2 ,3 , 4 ; hacer

n
1
x = (bi − ∑ aij x j(k−1) )
(k)
i
aii j ≠i ; j=1

1
x 1(1)= { 1−[ ( (−1 )∗0 ) +( 0∗0 )+(0∗0)] }=0,25000
4

1
x 2(1)=
4
{1−[ ( (−1 )∗0 ) +( (−1)∗0 )+(0∗0)] }=0,25000

1
x 3(1)= {1−[ ( 0∗0 ) + ( (−1)∗0 )+((−1)∗0)] }=0,25000
4

1
x 4(1 )= {1− [ ( 0∗0 )+ ( 0∗0 ) +((−1)∗0)] }=0,25000
4

0,25000
(1)
Se obtiene la solución: x =
[ ]
0,25000
0,25000
0,25000

Paso 3 :Se calcula el error de toleranciautilizando lanorma infinita

‖x (k )−x(k−1)‖∞

‖x (1) −x(0)‖∞= max {|0,25000−0|,|0,25000−0|,|0,25000−0| ,|0,25000−0|}


i=1 ,2 ,3,4

‖x (1) −x(0)‖∞=0,25000

Como‖x (1)−x(0)‖∞ >0,0001 → se va al paso 4


13

Paso 4 : Haga k=k +1 y vaya al paso 2

0,25000

[ ]
Paso 2: k=2 ; x(1)= 0,25000
0,25000
0,25000

1
x 1(2)= { 1−[ ( (−1 )∗0,25000 ) +( 0∗0,25000 ) +(0∗0,25000) ] }=0,31250
4

1
x 2(2)=
4
{1−[ ( (−1 )∗0,25000 ) +( (−1)∗0,25000 ) +(0∗0,25000)] }=0,37500

1
x 3(2)= {1−[ ( 0∗0,25000 ) + ( (−1)∗0,25000 ) +((−1)∗0,25000) ]}=0,37500
4

1
x 4(2 )= {1− [ ( 0∗0,25000 )+ ( 0∗0,25000 )+((−1)∗0,25000)] }=0,31250
4

0,31250
Se obtiene la solución: x =
0,37500
(2)
0,37500
0,31250
[ ]
Paso 3 :Se calcula el error de tolerancia utilizando la norma infinita

‖x (k )−x(k−1)‖∞

max |0,31250−0,25000|,|0,37500−0,25000|,|0,37500−0,25000| ,
i=1 ,2 ,3,4{ |0,31250−0,25000| }
‖x (2) −x(1)‖∞=0,12500

Como‖x (2)−x(1)‖∞ >0,0001→ se va al paso 4

Paso 4 : Haga k=k +1 y vaya al paso 2

0,31250

[ ]
Paso 2: k=3 ; x (2) = 0,37500
0,37500
0,31250
14

1
x 1(3)= {1−[ ( (−1 )∗0,37500 ) +( 0∗0,37500 ) +(0∗0,31250)] }=0,34375
4

1
x 2(3)=
4
{1−[ ( (−1 )∗0,31250 ) +( (−1)∗0,37500 ) +(0∗0,31250)] }=0,42188

1
x 3(3) = {1−[ ( 0∗0,31250 ) + ( (−1)∗0,37500 ) +((−1)∗0,31250) ] }=0,42188
4

1
x 4(3 )= {1−[ ( 0∗0,31250 )+ ( 0∗0,37500 )+((−1)∗0,37500)] }=0,34375
4

0,34375
Se obtiene la solución: x =
0,42188
(3)
0,42188
0,34375
[ ]
Paso 3 :Se calcula el error de toleranciautilizando lanorma infinita

‖x (k )−x(k−1)‖∞

max |0,34375−0,31250|,|0,42188−0,37500|,|0,42188−0,37500| ,
i=1 ,2 ,3,4{ |0,34375−0,31250| }
‖x (3 )−x(2)‖∞=0,04688

Como‖x (3)−x (2)‖∞ >0,0001 → se va al paso 4

El proceso se repite para cada iteración hallando el valor del vector x(k) y la diferencia de
este con x(k−1). El proceso acaba cuando la norma infinita de la diferencia sea menor a la
tolerancia dada.

A continuación se presenta una tabla con los valores de x(k) y ‖x (k )−x(k−1)‖∞ para cada
iteración.

k x 1(k) x 2(k) x 3(k) x 4(k) ‖x (k )−x(k−1)‖∞


0 0,00000 0,00000 0,00000 0,00000
1 0,25000 0,25000 0,25000 0,25000 0,25000
2 0,31250 0,37500 0,37500 0,31250 0,12500
3 0,34375 0,42188 0,42188 0,34375 0,04688
15

4 0,35547 0,44141 0,44141 0,35547 0,01953


5 0,36035 0,44922 0,44922 0,36035 0,00781
6 0,36230 0,45239 0,45239 0,36230 0,00317
7 0,36310 0,45367 0,45367 0,36310 0,00128
8 0,36342 0,45419 0,45419 0,36342 0,00052
9 0,36355 0,45440 0,45440 0,36355 0,00021
1 0,36360 0,45449 0,45449 0,36360 0,00008
0

0,36360
Después de 10 iteraciones se obtiene el resultado: x
[ ]
= 0,45449 el cuál es la solución al
(10)
0,45449
0,36360
sistema de ecuaciones lineales dado.

Ejercicio 2.

Resolver por el método de Jacobi el sistema de ecuaciones lineales

4 x 1+3 x 2 +0 x3 =24

{ 3 x 1 +14 x 2−1 x3 =30


0 x 1−1 x2 + 4 x 3=24

Dado un vector de aproximación inicial x = (1, 1,1) y una tolerancia de 0.0001. Realice dos
iteraciones y llene una tabla.

Solución: A continuación, se sigue el algoritmo de Jacobi, realizando 2 iteraciones paso a


paso, luego se presentará una tabla con el resultado de cada una de las iteraciones.

Antes de seguir el algoritmo podemos expresar la ecuación de forma matricial

Ax=b

4 3 0 24
[ ][ ]
3 14 −1 x = 30
0 −1 4 −24

Paso 1: Haga k=1


16

Paso 2: Para cada i=1 , 2 ,3 , 4 ; hacer

n
1
x = (bi − ∑ aij x j(k−1) )
(k)
i
aii j ≠i ; j=1

1 21
x 1(1)= { 24− [ (3∗1 ) + ( 0∗1 ) ] }= =5.25
4 4

1 28
x 2(1)= { 30−[ ( 3∗1 ) + (−1∗1 ) ] }= =2
14 14

1 −23
x 3(1)= {−24−[ ( 0∗1 )+ (−1∗1 ) ] }= =−5.75
4 4

5.25000
Se obtiene la solución: x(1)
=
[
2.00000
−5.75000 ]
Paso 3 :Se calcula el error de tolerancia utilizando la norma infinita

‖x (k )−x(k−1)‖∞

‖x (1) −x(0)‖∞= max {|5.25000−1|,|2.00000−1| ,|0,25000−1|,|−5.75000−1|}


i=1 ,2 ,3,4

‖x (1) −x(0)‖∞=6.75000

Como‖x (1)−x(0)‖∞ >0,0001 → se va al paso 4

Paso 4 : Haga k=k +1 y vaya al paso 2

5.25000
(1)
Paso 2: k=2 ; x = 2.00000
−5.75000 [ ]
1
x 1(2)=
4
{24−[ (3∗2.00000 ) + ( 0∗−5.75000 ) ]}= 18
4
=4.5

1 17
x 2(2)= { 30−[ ( 3∗5.25000 ) + (−1∗−5.75000 ) ] }= =0.60714
14 28
17

1 −22
x 3(2)= {−24−[ ( 0∗5.25000 )+ (−1∗2.00000 ) ] }= =−5.5
4 4

4.50000
(2)

[
Se obtiene la solución: x = 0.60714
−5.50000 ]
Paso 3 :Se calcula el error de toleranciautilizando lanorma infinita

‖x (k )−x(k−1)‖∞

max |4.500000−5.25000|,|0.60714−2.00000|,
{
i=1 ,2 ,3,4 |−5.50000+ 5.75000| }
‖x (2) −x(1)‖∞=1.39286

Como‖x (2)−x(1)‖∞ >0,0001→ se va al paso 4

Paso 4 : Haga k=k +1 y vaya al paso 2

El proceso se repite para cada iteración hallando el valor del vector x(k) y la diferencia de
este con x(k−1). El proceso acaba cuando la norma infinita de la diferencia sea menor a la
tolerancia dada.

A continuación se presenta una tabla con los valores de x(k) y ‖x (k )−x(k−1)‖∞ para cada
iteración.

k x 1(k) x 2(k) x 3(k) ‖x (k )−x(k−1)‖∞


0 1.00000 1.00000 1.00000
1 5.25000 2.00000 -5.75000 6.75000
2 4.50000 0.60714 -5.50000 1.39286
3 5.54464 0.78571 -5.84821 1.04464
4 5.41071 0.53699 -5.80357 0.24872
5 5.59726 0.56888 -5.86575 0.18654
6 5.57334 0.52446 -5.85778 0.04442
7 5.60665 0.53016 -5.86888 0.03331
8 5.60238 0.52223 -5.86746 0.00793
9 5.60833 0.52324 -5.86944 0.00595
1 5.60757 0.52183 -5.86919 0.00142
0
18

1 5.60863 0.52201 -5.86954 0.00106


1
1 5.60849 0.52175 -5.86950 0.00025
2
1 5.60868 0.52179 -5.86956 0.00019
3
1 5.60866 0.52174 -5.86955 0.00005
4

5.60866
Después de 14 iteraciones se obtiene el resultado: x
(14)

[ ]
= 0.52174 el cuál es la solución al
−5.86955
sistema de ecuaciones lineales dado.

Algoritmo en MATLAB

Para comparar resultados se realizo un algoritmo en MATLAB que realiza el


metodo de Jacobi y ofrece resultados iteracion por iteracion, ademas de presentar la
solucion final al sistema. Las entradas del algoritmo son las mismas que las vistas
anteriormente, solo que se incluye un limite de iteraciones las cuales seran ingresadas por el
usuario a su conveniencia.

A continuacion se presenta el algoritmo programado en MATLAB (Jacobi.m):


19
20

Utilizando este algoritmo se puede resolver el ejercicio anterior.

4 x 1−1 x2 +0 x 3 +0 x 4=1

{−1 x 1 +4 x 2−1 x 3+ 0 x 4=1


0 x 1−1 x 2+ 4 x 3−1 x 4=1
0 x 1 +0 x 2−1 x 3 + 4 x 4=1
21

Tomando como entradas:

ε =0,0001

4 −1 0 0 1 0

[
a= −1 4 −1 0
0 −1 4 −1
0 0 −1 4
] [] []
b= 1
1
1
x(0) = 0
0
0

Maximo de iteraciones=50

Los resultados arrojados por el algoritmo son los siguientes:


22

0,36360

[ ]
Se puede observar que la solucion arrojada por el algoritmo es: x=
0,45449
0,45449
0,36360
Comparando esta

con la solucion dada por medio del algoritmo paso a paso se observa que los resultados son
identicos. Por lo tanto la solucion para el sistema de ecuaciones dado:

4 x 1−1 x2 +0 x 3 +0 x 4=1 0,36360

{−1 x 1 +4 x 2−1 x 3+ 0 x 4=1


0 x 1−1 x 2+ 4 x 3−1 x 4=1
0 x 1 +0 x 2−1 x 3 + 4 x 4=1
[ ]
es: x= 0,45449
0,45449
0,36360
23

Comprobacion de resultados del ejercicio 2:

Conclusiones

Gracias al método de Jacobi, muchos problemas en el campo de la ingeniería se pueden


expresar en términos de sistemas de ecuaciones algebraicas lineales.

Cuando se resuelven numéricamente ecuaciones diferenciales pueden surgir sistemas


lineales con 20,000 variables. Los equipos de cómputo disponibles en la actualidad podrían
requerir incluso días para resolver estos sistemas por métodos directos (como eliminación o
factorización). Este siendo un método iterativo es capaz de resolver estos problemas más
fácilmente.
24

Pero tiene sus desventajas ya que este método al generar las aproximaciones sucesivas
depende fundamentalmente de su criterio de convergencia. En este caso, del criterio de la
diagonal pesada.

Es difícil establecer que tan pesada es una diagonal. No se establece una relación numérica
que diga la relación que debe guardar el elemento aii sobre el resto de los coeficientes aij de
su ecuación.

En todo caso, entre más evidente sea el dominio de los elementos sobre la diagonal
principal. Más rápida será la convergencia de la solución.
25

Bigliografía

Rodriguez, E. Metodos numéricos con Matlab. San Cristobal: Universidad Nacional


Experimental del Tachira.

También podría gustarte