Está en la página 1de 4

APLICACIÓN DEL MÉTODO DE JACOBI

En una mezcla se hace el balance de materia por componente, y se obtuvo


la siguiente tabla:

Componente Balance de materia


Etanol 10M1+M2+2M3-3M4=0
Metanol 4M1+6M2-M3-9M4=0
Agua -2M1+3M2+8M3-51M4=0

Encontrar los posibles valores de M1 M2 M3


Solución:
Fijando una base de cálculo, por ejemplo M 4=1Kg, se obtiene el sistema:
10 M 1 + M 2 +2 M 3 =3

4 M 1 +6 M 2−3 M 3=9

−2 M 1+ 3 M 2 +8 M 3=51

Antes de proceder con la solución respectiva, se observa que los elementos


ubicados en la diagonal principal cumplen satisfactoriamente con el criterio
de convergencia o diagonal pesada. Las ecuaciones de recurrencia son:
(k ) (k)
3−M 2 −2 M 3
M (k+1
1
)
=
10

(k ) (k )
( k+1 ) 9−4 M 1 −M 3
M 2 =
6

( k) (k)
(k+1 ) 51−2 M 1 −3 M 2
M 3 =
8

La primera iteración k =1 es:

[]
3
10
(1) 9
Ḿ =
6
51
8
[ ]
0,3
(1)
Ḿ = 1,5
6,375

1
La segunda iteración k =2 se obtiene sustituyendo al vector M ( 16) en
las primeras ecuaciones de recurrencia

3−(1,5)−2(6,375)
M (2)
1 =
10

9−4 (0,3)−6,375
M (22)=
6

51−2( 0,3)−3(1,5)
M (2)
3 =
8

[ ]
−1,125
2
Ḿ = 2,3625
5,8875

Las sucesivas se muestra en el cuadro 1. Se dice que después de trece


iteraciones, con una tolerancia= 0,000007, el vector solución es:

[ ]
−1,00000
(12)
Ḿ = 2,99998
5,00004

Cuadro 1: iteraciones 0 a 6 por el método de Jácobi

Iteraci M0 M1 M2 M3 M4 M5 M6
ón
M1 0,3000 - - - - - -
0 1,1250 1,1137 1,0346 0,9880 0,9908 0,9970
0 5 9 2 7 5
M2 1,5000 2,3625 3,2312 3,1104 3,0239 2,9824 2,9929
0 0 5 7 3 1 2
M3 6,3750 5,8875 5,2078 4,8848 4,9424 4,9940 5,0088
0 0 1 4 0 2 8
tolera 1,7355 1,1031 0,3482 0,1291 0,0663 0,0192
ncia 7 0 9 5 1 2

CODIFICACIÓN DEL PROGRAMA


%Aplicación del método de Jacobi
clc, clear
A=[10 1 2; 4 6 -3; -2 3 8]
b=[3 9 51]
X0=zeros(1,3)
k=0; Norma=1;
fprintf('k X(1) X(2) X(3) X(4) Norma\n')
while Norma >0.0001
k=k+1;
fprintf('%2d',k)
for i=1:3
suma=0;
for j=1:3
if i~=j
suma=suma+A(i,j)*X0(j);
end
end
X(i)=(b(i)-suma)/A(i,i);
fprintf('%10.4f\n',X(i))
end
Norma=norm(X0-X);
fprintf('%10.4f\n', Norma)
X0=X;
if k>25
disp('No se alcanzó la convergencia')
break
end
end

 Corremos el programa y obtenemos lo siguiente:

A = 10 1 2
4 6 -3
-2 3 8
b=3 9 51
X0 = 0 0 0

k X(1) X(2) X(3) Norma


1 0.3000 1.5000 6.3750 6.5560
2 -1.1250 4.4875 5.8875 3.3457
3 -1.3262 5.1938 4.4109 1.6491
4 -1.1016 4.5896 4.0958 0.7175
5 -0.9781 4.2823 4.3785 0.4355
6 -1.0039 4.3413 4.5246 0.1597
7 -1.0391 4.4316 4.4960 0.1010
8 -1.0424 4.4407 4.4534 0.0437
9 -1.0347 4.4216 4.4491 0.0210
10 -1.0320 4.4144 4.4582 0.0119
11 -1.0331 4.4171 4.4616 0.0045
12 -1.0340 4.4195 4.4603 0.0029
13 -1.0340 4.4195 4.4592 0.0011
14 -1.0338 4.4189 4.4592 0.0006
15 -1.0337 4.4188 4.4595 0.0003
16 -1.0338 4.4189 4.4595 0.0001
17 -1.0338 4.4189 4.4595 0.0001

También podría gustarte