You are on page 1of 9

“AÑO DEL BUEN SERVICIO AL CIUDADANO”

UNIVERSIDAD NACIONAL DEL CENTRO


DEL PERÚ

FACULTAD DE INGENIERÍA QUÍMICA

SISTEMA DE ECUACIONES NO LINEALES

CATEDRA: Métodos Numéricos

CATEDRÁTICO: Ms. Wilder Eufracio Arias

INTEGRANTES:

Mayta Armas Angie Fiorella

CICLO Y SECCIÓN: IV “A”

HUANCAYO-PERÚ

2017
En un reactor se efectúan las siguientes reacciones en fase gaseosa:

A+B C+D
A+C 2E
A la temperatura de la reacción, las constantes de equilibrio son kp¡=2.6 y = 3.1 Las
composiciones iniciales son 2 mol/L de A y 1 mol/L de B.
Calcule la composición a la salida del reactor, asumiendo que se alcanza el equilibrio.

Solución

Si x1 representa los moles de A convertidos en la reacción (1), y x2 los moles de A


convertidos en la reacción (2), entonces en el equilibrio tenemos:

moles de A =2 –x1- x2
moles de B= 1-x1
moles de C= x1- x2
moles de D= x1
moles de E=2x2

moles totales=3

Con la aplicación de la ley de acción de masas se obtiene:

Para la reacción (1)

(x1 − x2)(x1)
2.6 =
(2 − x1 − x2)(l − x1)

Para la reacción (2)

(2x2)2
3.1 =
(2 − 𝑥1 − 𝑥2)(𝑥1 − 𝑥2)

Que es un sistema de dos ecuaciones no lineales en dos incógnitas.

(𝑥1 − 𝑥2)(𝑥1)
𝑓1(𝑥1. 𝑥2) = − 2,6 = 0
(2 − x1 − x2)(l − x1)

(2x2)2
𝑓2(𝑥1. 𝑥2) = − 3,1 = 0
(2 − 𝑥1 − 𝑥2)(𝑥1 − 𝑥2)
Despejando x1 y x2

(𝑥1 − 𝑥2)(𝑥1)
1− = 𝑥1
2,6(2 − x1 − x2)

𝑥1 − (2𝑥2)2
= 𝑥2
3,1(2 − 𝑥1 − 𝑥2)
Derivando las funciones:

𝜕𝑓1(𝑥1. 𝑥2) (2 − x1 − x2)(l − x1)(2x1 − x2) − (x1 − x2)(x1)(−3 + 2x1 + x2)


= 2
𝜕𝑥1 ((2 − 𝑥1 − 𝑥2)(1 − 𝑥1))

𝜕𝑓1(𝑥1. 𝑥2) (2 − x1 − x2)(l − x1)(x1) − (x1 − x2)(x1)(x1 − 1)


=
𝜕𝑥2 ((2 − 𝑥1 − 𝑥2)(1 − 𝑥1))2

𝜕𝑓2(𝑥1. 𝑥2) −(2x2)2 (2 − 2x1)


=
𝜕𝑥1 ((2 − 𝑥1 − 𝑥2)(𝑥1 − 𝑥2))2

𝜕𝑓2(𝑥1. 𝑥2) 8(2 − x1 − x2)(x1 − x2)(x2) − 8(x2)2 (−1 + x2)


=
𝜕𝑥2 ((2 − 𝑥1 − 𝑥2)(𝑥1 − 𝑥2))2

format short e
syms x1 x2
disp('Método de punto fijo multivariable');
x0=input('ingrese el valor inicial para x1:');
y0=input('ingrese el valor inicial para x2:');
e=input('ingrese el valor de epsilon:');
d=10;
disp('i x1 x2 d')
i=0;
while d>e;
x1=1-((x0-y0)*(x0)/(2.6*(2-x0-y0)));
y1=(x1-(2*y0)^2)/(3.1*(2-x1-y0));
d=abs(sqrt((x1-x0)^2+(y1-y0)^2));
x0=x1;
y0=y1;
i=i+1;
disp([i x1 y1 d])
end
x1=x0;
x2=y0;
disp('la respuesta es:');
x1
x2

Corriendo el programa
Método de punto fijo multivariable
ingrese el valor inicial para x1:0.8
ingrese el valor inicial para x2:0.4
ingrese el valor de epsilon:0.00001
i x1 x2 d
1.0000e+00 8.4615e-01 8.8216e-02 3.1518e-01

2.0000e+00 7.6853e-01 2.0806e-01 1.4279e-01

3.0000e+00 8.3812e-01 2.2489e-01 7.1604e-02

4.0000e+00 7.8903e-01 1.9194e-01 5.9133e-02

5.0000e+00 8.2219e-01 2.2080e-01 4.3965e-02


6.0000e+00 8.0129e-01 1.9999e-01 2.9498e-02

7.0000e+00 8.1445e-01 2.1421e-01 1.9383e-02

8.0000e+00 8.0643e-01 2.0516e-01 1.2096e-02

9.0000e+00 8.1132e-01 2.1088e-01 7.5295e-03

1.0000e+01 8.0838e-01 2.0738e-01 4.5757e-03

1.1000e+01 8.1015e-01 2.0952e-01 2.7764e-03

1.2000e+01 8.0909e-01 2.0823e-01 1.6668e-03

1.3000e+01 8.0972e-01 2.0900e-01 9.9924e-04

1.4000e+01 8.0935e-01 2.0854e-01 5.9622e-04

1.5000e+01 8.0957e-01 2.0882e-01 3.5537e-04

1.6000e+01 8.0944e-01 2.0865e-01 2.1137e-04

1.7000e+01 8.0952e-01 2.0875e-01 1.2563e-04

1.8000e+01 8.0947e-01 2.0869e-01 7.4599e-05

1.9000e+01 8.0950e-01 2.0873e-01 4.4279e-05

2.0000e+01 8.0948e-01 2.0871e-01 2.6270e-05

2.1000e+01 8.0949e-01 2.0872e-01 1.5582e-05

2.2000e+01 8.0948e-01 2.0871e-01 9.2405e-06

la respuesta es:

x1 =

8.0948e-01

x2 =

2.0871e-01

format short e
disp('Método de Newton Rapshon modificado');
x0=input('ingrese el valor inicial para x1:');
y0=input('ingrese el valor inicial para x2:');
e=input('ingrese el valor de epsilon:');
d=10;
i=0;
disp('i x1 x2 d')
while d>e;
fx=(((x0-y0)*x0)/((2-x0-y0)*(1-x0)))-2.6;
dfx=((2-x0-y0)*(1-x0)*(2*x0-y0)-(x0-y0)*(x0)*(-3+2*x0+y0))/(((2-
x0-y0)*(1-x0))^2);
x=x0-fx/dfx;
fy=((2*y0)^2/((2-x-y0)*(x-y0)))-3.1;
dfy=((8*(2-x-y0)*(x-y0)*(y0)-8*((y0)^2)*(-1+y0)))/(((2-x-y0)*(x-
y0))^2);
y=y0-fy/dfy;
d=abs(sqrt((x-x0)^2+(y-y0)^2));
x0=x;
y0=y;
i=i+1;
disp([i x0 y0 d])
end
x1=x0;
x2=y0;
disp('la respuesta es:');
x1
x2

Corriendo el programa

Método de Newton Rapshon modificado


ingrese el valor inicial para x1:0.8
ingrese el valor inicial para x2:0.4
ingrese el valor de epsilon:0.0001
i x1 x2 d
1.0000e+00 8.3000e-01 4.7001e-01 7.6165e-02

2.0000e+00 8.3314e-01 4.5672e-01 1.3658e-02

3.0000e+00 8.3157e-01 4.5568e-01 1.8794e-03

4.0000e+00 8.3144e-01 4.5566e-01 1.3596e-04

5.0000e+00 8.3144e-01 4.5565e-01 2.9007e-06

la respuesta es:

x1 = 8.3144e-01 = 0.83144
x2 = 4.5565e-01 = 0.45565

format short e
disp('Método de Newton Rapshon multivariable');
x0=input('ingrese el valor inicial para x1:');
y0=input('ingrese el valor inicial para x2:');
e=input('ingrese el valor de epsilon:');
d=10;
i=0;
j=zeros(2);
b=zeros(2,1);
while d>e;
f1=(((x0-y0)*x0)/((2-x0-y0)*(1-x0)))-2.6;
dfx1=((2-x0-y0)*(1-x0)*(2*x0-y0)-(x0-y0)*(x0)*(-3+2*x0+y0))/(((2-
x0-y0)*(1-x0))^2);
dfy1=((2-x0-y0)*(1-x0)*(x0)-(x0-y0)*(x0)*(x0-1))/(((2-x0-y0)*(1-
x0))^2);
f2=((2*y0)^2/((2-x-y0)*(x-y0)))-3.1;
dfx2=(-((2*y0)^2)*(2-2*x0))/(((2-x0-y0)*(x0-y0))^2);
dfy2=((8*(2-x-y0)*(x-y0)*(y0)-8*((y0)^2)*(-1+y0)))/(((2-x-y0)*(x-
y0))^2);
j(1,1)=dfx1;
j(1,2)=dfy1;
j(2,1)=dfx2;
j(2,2)=dfy2;
b(1,1)=-f1;
b(2,1)=-f2;
disp('se tiene la siguiente matriz aumentada');
d=[j b]
a=linsolve(j,b)
h=a(1,1)
j=a(2,1)
x=x0+h;
y=y0+j;
d=abs(sqrt((x-x0)^2+(y-y0)^2));
disp(' i x1 x2 d')
x0=x;
y0=y;
i=i+1;
disp([i x0 y0 d])
end
x1=x0;
x2=y0;
disp('la respuesta es:');
x1
x2

Corriendo el programa
Método de Newton Rapshon multivariable
ingrese el valor inicial para x1:0.8
ingrese el valor inicial para x2:0.4
ingrese el valor de epsilon:0.00001
se tiene la siguiente matriz aumentada

d =

2.0000e+01 7.5000e+00 6.0000e-01


-2.5000e+00 1.6636e+01 1.1699e+00

h =
3.4348e-03
j =
7.0841e-02

i x1 x2 d
1.0000e+00 8.0343e-01 4.7084e-01 7.0924e-02

se tiene la siguiente matriz aumentada

d =
2.0075e+01 8.2133e+00 7.2679e-01
-5.9837e+00 3.1714e+01 -5.7385e-01

h =

4.0483e-02

j =

-1.0456e-02

i x1 x2 d
2.0000e+00 8.4392e-01 4.6038e-01 4.1811e-02

se tiene la siguiente matriz aumentada

d =
3.4686e+01 1.2056e+01 -3.8077e-01
-3.7174e+00 2.6655e+01 -7.7437e-02

h =
-9.5069e-03

j =
-4.2310e-03

i x1 x2 d
3.0000e+00 8.3441e-01 4.5615e-01 1.0406e-02

se tiene la siguiente matriz aumentada

d =
3.0335e+01 1.0890e+01 -8.6712e-02
-3.8277e+00 2.6170e+01 -1.5654e-03

h =
-2.6955e-03
j =
-4.5407e-04

i x1 x2 d
4.0000e+00 8.3172e-01 4.5570e-01 2.7335e-03

se tiene la siguiente matriz aumentada

d =
2.9228e+01 1.0596e+01 -7.9452e-03
-3.8941e+00 2.6201e+01 -8.2423e-05

h =
-2.5685e-04
j =
-4.1320e-05

i x1 x2 d
5.0000e+00 8.3146e-01 4.5566e-01 2.6015e-04

se tiene la siguiente matriz aumentada

d =
2.9126e+01 1.0568e+01 -5.8628e-04
-3.9005e+00 2.6204e+01 -7.5638e-07

h =
-1.9088e-05
j =
-2.8701e-06

i x1 x2 d
6.0000e+00 8.3144e-01 4.5566e-01 1.9303e-05

se tiene la siguiente matriz aumentada

d =
2.9118e+01 1.0566e+01 -3.9796e-05
-3.9010e+00 2.6205e+01 -4.2344e-09
h =
-1.2966e-06
j =
-1.9318e-07

i x1 x2 d
7.0000e+00 8.3144e-01 4.5565e-01 1.3109e-06

la respuesta es:

x1 =
8.3144e-01=0.83144
x2 =
4.5565e-01=0.45565

X(l) = 0.83144
X(2) = 0.45565

clc
clear all
disp(' MÉTODO DE BROYDEN ')
x=[0.8 0.4];
e=10^-5;
fprintf(' i x1 x2 d\n')
fprintf(' %2d %10.6f %10.6f\n',0,x(1),x(2));
x0=x(1);
y0=x(2);
f1=(((x0-y0)*x0)/((2-x0-y0)*(1-x0)))-2.6;
f2=((2*y0)^2/((2-x0-y0)*(x0-y0)))-3.1;
df1x=((2-x0-y0)*(1-x0)*(2*x0-y0)-(x0-y0)*(x0)*(-3+2*x0+y0))/(((2-x0-
y0)*(1-x0))^2);
df1y=((2-x0-y0)*(1-x0)*(x0)-(x0-y0)*(x0)*(x0-1))/(((2-x0-y0)*(1-
x0))^2);
df2x=(-((2*y0)^2)*(2-2*x0))/(((2-x0-y0)*(x0-y0))^2);
df2y=((8*(2-x0-y0)*(x0-y0)*(y0)-8*((y0)^2)*(-1+y0)))/(((2-x0-y0)*(x0-
y0))^2);
J=[df1x df1y; df2x df2y];
f0=[f1; f2];
J1=inv(J);
dx=-J1*f0;
x1=x+dx';
x0=x1(1);
y0=x1(2);
d=norm(x1-x);
i=1;
fprintf(' %2d %10.6f %10.6f %10.6f\n',i,x1(1),x1(2),d)
while d>e;
i=i+1;
f1=(((x0-y0)*x0)/((2-x0-y0)*(1-x0)))-2.6;
f2=((2*y0)^2/((2-x0-y0)*(x0-y0)))-3.1;
f=[f1; f2];
df=f-f0;
A1=J1+(dx-J1*df)*dx'*J1/(dx'*J1*df);
dx=-A1*f;
x2=x1+dx';
d=norm(x2-x1);
fprintf(' %2d %10.6f %10.6f %10.6f\n',i,x2(1),x2(2),d)
x1=x2;
J1=A1;
f0=f;
end
Corriendo el programa

MÉTODO DE BROYDEN
i x1 x2 d
0 0.800000 0.400000
1 0.806102 0.463729 0.064020
2 0.838625 0.451622 0.034704
3 Inf -Inf NaN

You might also like