Sie sind auf Seite 1von 43

Ingeniera Qumica

NDICE

Introduccin...2

Principios Tericos....3

Material y Mtodos....9

Procedimiento en MATLAB...10

Ejercicio 5.1....10

ODE Lineal13

ODE no Lineal...17

Ejercicio 5.4....22

Mtodo de Euler .......24

Ejercicio 5.9: Fermentacin de la Penicilina......30

Mtodo de Euler....31

Mtodo de Runge-Kute-Segundo orden....33

Ejercicio 5.10..37

Mtodo de Euler........38

Mtodo de Runge-Kute-Segundo orden....41

Conclusiones....44

Bibliografa..44

1
Ingeniera Qumica

INTRODUCCIN

En las ciencias y en la ingeniera se desarrollan modelos matemticos para entender

mejor los fenmenos fsicos. A menudo, estos modelos conducen a una ecuacin que

continen algunas derivadas de una funcin desconocida. Esta ecuacin se denomina una

ecuacin diferencial

Para ilustrar el concepto de ecuacin diferencial y su relacin con distintas ramas de

las ciencias, vamos a analizar en este apartado una serie de problemas prcticos donde

las ecuaciones diferenciales surgen de forma natural. Aprovecharemos para introducir

algunas definiciones que formalizaremos ms adelante.

2
Ingeniera Qumica

ECUACIONES DIFERENCIALES ORDINARIAS (PROBLEMAS DE VALOR

INICIAL)

Este tema se dedica a la solucin de ecuaciones diferenciales ordinarias de la forma

dy
=f (x , y) .
dx

El mtodo fue de la forma general:

Nuevo valor = valor anterior + pendiente tamao de paso

o, en trminos matemticos,

y i+1= yi + h (1)

De acuerdo con esta ecuacin, la pendiente estimada se usa para extrapolar

desde un valor anterior yi a un nuevo valor yi+1 en una distancia h. Esta frmula se

aplica paso a paso para calcular un valor posterior y, por lo tanto, para trazar la

trayectoria de la solucin.

MTODO DE EULER

La primera derivada ofrece una estimacin directa de la pendiente en xi

=f ( x i , y i )

Donde f (xi , y i) es la ecuacin diferencial evaluada en xi y yi. La estimacin se

sustituye en la ecuacin (1):

y i+1= yi + f ( xi , y i ) h .. (2)

3
Ingeniera Qumica

Esta frmula se conoce como mtodo de Euler (o de Euler-Cauchy o de punto

pendiente). Se predice un nuevo valor de y usando la pendiente (igual a la primera

derivada en el valor original de x) para extrapolar linealmente sobre el tamao de paso

h.

Mejoras del Mtodo de Euler


Mtodo de Heun:
Un mtodo para mejorar la estimacin de la pendiente emplea la

determinacin de dos derivadas en el intervalo (una en el punto inicial

y otra en el final). Las dos derivadas se promedian despus con la

finalidad de obtener una mejor estimacin de la pendiente en todo el

intervalo. Este procedimiento, conocido como mtodo de Heun.

Recuerde que en el mtodo de Euler, la pendiente al inicio de un

intervalo
y 'i=f ( x i , y i ) (3)
Se utiliza para extrapolar linealmente a yi+1:
0
y i+1= yi + f (x i , y i )h (4)

En el mtodo estndar de Euler debera parar aqu. Sin embargo, en el

mtodo de Heun la y 0i+1 calculada en la ecuacin (4) no es la

respuesta final, sino una prediccin intermedia. Por consiguiente, la

distinguimos con un superndice 0. La ecuacin (4) se llama ecuacin

predictora o simplemente predictor. Da una estimacin de y i+1 que

4
Ingeniera Qumica

permite el clculo de una estimacin de la pendiente al final del

intervalo:
y 'i+1=f (x i+1 , y 0i+1) (5)

As, se combinan las dos pendientes [ecuaciones (3) y (5)] para

obtener una pendiente promedio en el intervalo:


' ' 0
y ' = y i+ y i +1 = f ( xi , y i ) +f (xi +1 , y i+1 )
2 2
Est pendiente promedio se utiliza despus para extrapolar

linealmente desde yi hasta yi+1 con el mtodo de Euler:


f ( x i , yi ) + f ( x i+1 , y 0i+1 )
y i+1= yi + h
2
Que se conoce como ecuacin correctora o simplemente corrector. El

mtodo de Heun es un procedimiento predictor-corrector.


Mtodo del punto Medio
Conocida como mtodo del punto medio (o del polgono

mejorado o el modificado de Euler), esta tcnica usa el mtodo de

Euler para predecir un valor de y en el punto medio del intervalo


h
y i+1 /2= y i + f (x i , y i ) .(6)
2

Despus, este valor predicho se utiliza para calcular una pendiente en

el punto medio:
y 'i+1 /2=f ( x i+1/ 2 , y i +1/ 2) (7)
Que se supone representa una aproximacin vlida de la pendiente

promedio en todo el intervalo. Dicha pendiente se usa despus para

extrapolar linealmente desde xi hasta xi+1:


y i+1= yi + f ( xi +1/ 2 , y i+1 /2 ) h ..(8)

Observe que como yi+1 no est en los dos lados, el corrector

[ecuacin (25.27)] no puede aplicarse de manera iterativa para

mejorar la solucin.

MTODO DE RUNGE- KUTTA

5
Ingeniera Qumica

Los mtodos de Runge-Kutta (RK) logran la exactitud del procedimiento de la serie

de Taylor sin necesitar el clculo de derivadas de orden superior. Existen muchas

variantes, pero todas tienen la forma generalizada de la ecuacin (1):

y i+1= yi + ( x i , y i , h ) h . (9)

Donde ( xi , y i , h ) se conoce como funcin incremento, la cual puede interpretarse

como una pendiente representativa en el intervalo. La funcin incremento se escribe en

forma general como

=a 1 k 1+ a2 k 2+ +a n k n (10)

Donde las a son constantes y las k son

k 1=f ( x i , y i )

k 2=f ( x i+ p 1 h , y i +q11 k 1 h )

k 3 =f ( x i+ p 2 h , y i +q 21 k 1 h+q 22 k 2 h )

.
.
.
.
.

6
Ingeniera Qumica

k n =f ( x i + p n1 h , y i +q n1,1 k 1 h+ qn1,2 k 2 k ++ qn1,n1 k n1 h )

Donde las p y las q son constantes. Observe que las k son relaciones de recurrencia.

Es decir, k1 aparece en la ecuacin k2, la cual aparece en la ecuacin k3, etctera.

Es posible tener varios tipos de mtodos de Runge-Kutta empleando diferentes

nmeros de trminos en la funcin incremento especificada por n. Observe que el

mtodo de Runge-Kutta (RK) de primer orden con n = 1 es, de hecho, el mtodo de

Euler.

Los mtodos RK de segundo orden usan la funcin incremento con dos trminos (n =

2). Esos mtodos de segundo orden sern exactos si la solucin de la ecuacin

diferencial es cuadrtica.

Mtodo de Rugen Kutta de segundo orden.


La versin de segundo orden de la ecuacin (9) es
y i+1= yi + ( a1 k 1+ a2 k 2 ) h .. (11)

Donde:
K 1=f ( x i , yi ) (11 a)

K 2=f ( x i + pi h , y i + q11 k 1 h ) ..(11 b)

Mtodo de Rugen-Kutta de tercer Orden.

7
Ingeniera Qumica

Para n = 3, es posible efectuar un desarrollo similar al del mtodo de segundo

orden. El resultado de tal desarrollo genera seis ecuaciones con ocho incgnitas.

Por lo tanto, se deben dar a priori los valores de dos de las incgnitas con la

finalidad de establecer los parmetros restantes. Una versin comn que se

obtiene es
1
y i+1= yi + ( k 1 +4 k 2 +k 3 ) h(12)
6

Donde

k 1=f ( x i , y i )

1 1
(
k 2=f x i + h , y i+ k 1 h
2 2 )
k 3 =f ( x i+ h , y ik 1 h+2 k 2 h )

Mtodos de Rugen Kutta de cuarto orden.


El ms popular de los mtodos RK es el de cuarto orden. Como en el caso de

los procedimientos de segundo orden, hay un nmero infinito de versiones. La

siguiente, es la forma comnmente usada y, por lo tanto, le llamamos mtodo

clsico RK de cuarto orden:


1
y i+1= yi + ( k 1 +2 k 2 +2 k 3 + K 4 ) h . ( 13 )
6
Donde:

k 1=f ( x i , y i )

1 1
( )
k 2=f x i + h , y i+ k 1 h
2 2

1 1
k =f ( x + h , y + k h)
3 i i 2
2 2

8
Ingeniera Qumica

k 4=f ( xi +h , y i +k 3 h )

MATERIAL Y MTODOS

Se llevar a cabo en la programacin de MATLAB usando el mtodo de Euler y

Runge-Kute.

PROCEDIMIENTO EN MATLAB

EJERCICIO 5.1

El flujo dinmico en un tanque puede ser modelado haciendo un balance de masa

sobre el fluido en el tanque. La naturaleza de la ODE-IVP resultante depende del

modelo utilizado para la vlvula de salida. Si una vlvula lineal es

9
Ingeniera Qumica

Asumido, entonces el modelo ODE es lineal. Una descripcin ms precisa de la vlvula

hace que el flujo de salida sea una funcin no lineal de la altura. Ambos casos se

consideran en lo que sigue.

Balance de masa:

d(masa en el tanque en cualquier momento) / dt = entrada-salida + generacin

Supongamos que un componente puro (nico) de fluido de densidad constante:

d V
=F F out
dt

donde:

P = densidad

V = volumen

F = caudal msico

En trminos de rea transversal y altura,

10
Ingeniera Qumica

d Ah
=F F out
dt

Dado que la densidad y el rea son constantes,

dh F Fout
=
dt A

Fout puede ser

a. Directamente proporcional a h: Fout =C v h , en cuyo caso la ecuacin del

modelo es
dh F C v h
=
dt A

b. Una funcin de h, tal como


( 12 ) y el modelo se convierte en
Fout =C v h

dh F C v h
=
dt A

Otros datos complementarios son los siguientes:

Dimetro del tanque = 6 pies


Densidad de lquido = 62,5 lb / ft ^ 3
Constante de la vlvula Cv = 250 lb / h-ft para el caso lineal
Constante de la vlvula Cv = 500 lb / h-ft ^ 0.5 para el caso no lineal
Altura inicial = 4 ft
F = 1000 lb / h (flujo inicial de entrada en estado estacionario)
t = tiempo (h)

F sufre un cambio en el tiempo 0+ a 1400 lb / h hasta el tiempo 10h, despus

de lo cual retorna a 1000 lb / h.

11
Ingeniera Qumica

a. Resolver la ODE lineal ( Fout proporcional a h) utilizando el mtodo de

Euler.
Comience con una t de 0,5 y de nuevo con t = 0,05 para determinar una

t aceptable.
b. Repita la parte a para el caso no lineal (Fout es proporcional a h1/2

MTODO DE EULER

Para h=0.5

SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t MTODOS NUMRICOS *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.1 PARTE A *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t********** ***************************');
t0=0; h0=4;
t(1)=t0; h(1)=h0;
r=0.5;
d=6; % ft
p=62.5; %lb/ft^3
Cvl=250; %lb/h-ft
Cv_nl=500; %lb/h-ft^0.5
Fin=1400; %lb/h
A=(pi*36)/4;
fprintf('\n\n\t\t\t\tResuelva el siguiente PVI')
fprintf('\n\t\t\t\t dh/dy=(FinCvh)/p*A LINEAL')
fprintf('\n\t\t\t\t dh/dy=(FinCvh^0.5)/p*A NO LINEAL')

12
Ingeniera Qumica

fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\t\t\t\t h(0)=4')
fprintf('\n\n\t\t\t\t MTODO DE EULER\n')
fprintf('\t\t\t\t-----------------------------')
fprintf('\n\t\t\t\t i t(i) h(i) \n')
fprintf('\t\t\t\t---------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i,t(1),h(1))
for i=1:10
h(i+1)=h(i)+r*((Fin-(Cvl*h(i)))/(p*A));
t(i+1)=t(i)+r;
fprintf('\t\t\t\t %2d %5.1f
%8.5f\n',i,t(i+1),h(i+1));
end
fprintf('\t\t\t\t--------------------------------------\n')
plot(t,h,'*-m')
grid on
title('Mtodo de Euler')
xlabel('Tiempo(h)')
ylabel('Masa dentro del Tanque(lb)')

RESULTADO
******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Autores: Antonio Nieves-Federico Domnguez *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.1 PARTE A *
* Profesor: Dr. Ing. GUILLERMO EVANGELISTA BENITES*

******************************************************

Resuelva el siguiente PVI


dh/dy=(FinCvh)/p*A LINEAL
dh/dy=(FinCvh^0.5)/p*A NO LINEAL
h(0)=4
y(1)=?

MTODO DE EULER
-----------------------------
i t(i) h(i)
---------------------------
0 0.0 4.00000
1 0.5 4.11318
2 1.0 4.21835
3 1.5 4.31608
4 2.0 4.40690
5 2.5 4.49129
6 3.0 4.56972
7 3.5 4.64260
8 4.0 4.71032

13
Ingeniera Qumica

9 4.5 4.77325
10 5.0 4.83173
--------------------------------------

Para

h=0.05.

SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS *');
fprintf('\n\t\t*Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.1 PARTE A *');
fprintf('\n\t\t*Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t*****************************************');
t0=0; h0=4;
t(1)=t0; h(1)=h0;
r=0.05;
d=6; % ft
p=62.5; %lb/ft^3
Cvl=250; %lb/h-ft
Cv_nl=500; %lb/h-ft^0.5
Fin=1400; %lb/h
A=(pi*36)/4;
fprintf('\n\n\t\t\t\tResuelva el siguiente PVI')
fprintf('\n\t\t\t\t dh/dy=(FinCvh)/p*A LINEAL')
fprintf('\n\t\t\t\t dh/dy=(FinCvh^0.5)/p*A NO LINEAL')
fprintf('\n\t\t\t\t h(0)=4')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MTODO DE EULER\n')

14
Ingeniera Qumica

fprintf('\t\t\t\t-----------------------------')
fprintf('\n\t\t\t\t i t(i) h(i) \n')
fprintf('\t\t\t\t---------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i,t(1),h(1))
for i=1:10
h(i+1)=h(i)+r*((Fin-(Cvl*h(i)))/(p*A));
t(i+1)=t(i)+r;
fprintf('\t\t\t\t %2d %5.1f
%8.5f\n',i,t(i+1),h(i+1));
end
fprintf('\t\t\t\t--------------------------------------\n')
plot(t,h,'*-r')
grid on
title('Mtodo de Euler')
xlabel('Tiempo(h)')
ylabel('Masa dentro del Tanque(lb)')

RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.1 PARTE A *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*

******************************************************

Resuelva el siguiente PVI


dh/dy=(FinCvh)/p*A LINEAL
dh/dy=(FinCvh^0.5)/p*A NO LINEAL
h(0)=4
y(1)=?

MTODO DE EULER
-----------------------------
i t(i) h(i)
---------------------------
0 0.0 4.00000
1 0.1 4.01132
2 0.1 4.02256
3 0.2 4.03371
4 0.2 4.04479
5 0.3 4.05579
6 0.3 4.06672
7 0.3 4.07756
8 0.4 4.08833
9 0.4 4.09902
10 0.5 4.10964
---------------------------

15
Ingeniera Qumica

c. Repita la

parte a.

para el

caso no

lineal (

Fout proporcional a h ^ (1/2)).

MTODO DE EULER

Para h=0.5

SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.1 PARTE B ');
fprintf('\n\t\t* Profesor: Dr. GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t*****************************************');
t0=0; h0=4;
t(1)=t0; h(1)=h0;
r=0.5;
d=6; % ft
p=62.5; %lb/ft^3
Cvl=250; %lb/h-ft
Cv_nl=500; %lb/h-ft^0.5
Fin=1400; %lb/h
A=(pi*36)/4;

16
Ingeniera Qumica

fprintf('\n\n\t\t\t\tResuelva el siguiente PVI')


fprintf('\n\t\t\t\t dh/dy=(FinCvh)/p*A LINEAL')
fprintf('\n\t\t\t\t dh/dy=(FinCvh^0.5)/p*A NO LINEAL')
fprintf('\n\t\t\t\t h(0)=4')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MTODO DE EULER\n')
fprintf('\t\t\t\t-----------------------------')
fprintf('\n\t\t\t\t i t(i) h(i) \n')
fprintf('\t\t\t\t---------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i,t(1),h(1))
for i=1:10
h(i+1)=h(i)+r*((Fin-(Cv_nl*((h(i))^0.5)))/(p*A));
t(i+1)=t(i)+r;
fprintf('\t\t\t\t %2d %5.1f 8.5f\n',i,t(i+1),h(i+1));
end
fprintf('\t\t\t\t--------------------------------------\n')
plot(t,h,'*-r')
grid on
title('Mtodo de Euler')
xlabel('Tiempo(h)')
ylabel('Masa dentro del Tanque(lb)')
RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.1 PARTE B *
* Profesor: Dr. GUILLERMO EVANGELISTA BENITES*
******************************************************
Resuelva el siguiente PVI
dh/dy=(FinCvh)/p*A LINEAL
dh/dy=(FinCvh^0.5)/p*A NO LINEAL
h(0)=4
y(1)=?
MTODO DE EULER
-----------------------------
i t(i) h(i)
---------------------------
0 0.0 4.00000
1 0.5 4.11318

17
Ingeniera Qumica

2 1.0 4.22238
3 1.5 4.32780
4 2.0 4.42961
5 2.5 4.52798
6 3.0 4.62306
7 3.5 4.71500
8 4.0 4.80393
9 4.5 4.88997
10 5.0 4.97325
-------------------------------

18
Ingeniera Qumica

Para h=0.05

SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.1 PARTE B *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t*****************************************');
t0=0; h0=4;
t(1)=t0; h(1)=h0;
r=0.05;
d=6; % ft
p=62.5; %lb/ft^3
Cvl=250; %lb/h-ft
Cv_nl=500; %lb/h-ft^0.5
Fin=1400; %lb/h
A=(pi*36)/4;
fprintf('\n\n\t\t\t\tResuelva el siguiente PVI')
fprintf('\n\t\t\t\t dh/dy=(FinCvh)/p*A LINEAL')
fprintf('\n\t\t\t\t dh/dy=(FinCvh^0.5)/p*A NO LINEAL')
fprintf('\n\t\t\t\t h(0)=4')
fprintf('\n\t\t\t\t y(1)=?')
fprintf('\n\n\t\t\t\t MTODO DE EULER\n')
fprintf('\t\t\t\t-----------------------------')
fprintf('\n\t\t\t\t i t(i) h(i) \n')
fprintf('\t\t\t\t---------------------------\n')
fprintf('\t\t\t\t %2d %5.1f %8.5f\n',i,t(1),h(1))
for i=1:10

19
Ingeniera Qumica

h(i+1)=h(i)+r*((Fin-(Cv_nl*((h(i))^0.5)))/(p*A));
t(i+1)=t(i)+r;
fprintf('\t\t\t\t %2d %5.1f
%8.5f\n',i,t(i+1),h(i+1));
end
fprintf('\t\t\t\t--------------------------------------\n')
plot(t,h,'*-r')
grid on
title('Mtodo de Euler')
xlabel('Tiempo(h)')
ylabel('Masa dentro del Tanque(lb)')

RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.1 PARTE B *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*
******************************************************
Resuelva el siguiente PVI
dh/dy=(FinCvh)/p*A LINEAL
dh/dy=(FinCvh^0.5)/p*A NO LINEAL
h(0)=4
y(1)=?
MTODO DE EULER
-----------------------------
i t(i) h(i)
---------------------------
0 0.0 4.00000
1 0.1 4.01132
2 0.1 4.02260
3 0.2 4.03383
4 0.2 4.04503

20
Ingeniera Qumica

5 0.3 4.05619
6 0.3 4.06731
7 0.3 4.07839
8 0.4 4.08943
9 0.4 4.10044
10 0.5 4.11140
------------------------------

EJERCICIO 5.4

Supongamos que las siguientes reacciones qumicas tienen lugar en un reactor de

tanque agitado continuo (CSTR):


A k2 B

21
Ingeniera Qumica

Donde las constantes de velocidad son las siguientes:

1 1
k 1=1 min , k 2=0.5 min

La carga para el reactor es todo componente A, de modo que inicialmente, las

concentraciones dentro del reactor son

C A =1 C B =0 ( gmol/ L )
O O

Un equilibrio de masa de estado inestable en cada componente conduce al siguiente

conjunto de ODEs:

dCA
=k 1 C A + k 2 C B
dt

d CB
=k 1 C Ak 2 C B
dt

Resuelva este sistema ODE-IVP utilizando el mtodo de Euler en Excel con un paso

de tiempo de 0,1 min y repita con un paso de tiempo de 0,01 min. Si se produce una

diferencia significativa (comparar los valores en un momento especfico para ver si son

diferentes), repita con un paso de tiempo de 0,001, etc. hasta que se encuentre un tiempo

satisfactorio. Integrar a tiempo = 2 min. Trazar las soluciones en cada caso y

compararlas. Informe la diferencia porcentual en las soluciones a tiempo = 1 min

Realice experimentos cambiando las constantes de velocidad en una de las

soluciones para ver cmo Excel recalcula inmediatamente la solucin y actualiza el

grfico.

22
Ingeniera Qumica

MTODO DE EULER

Para h=0.1 integrado en un tiempo de 1 min:

SOLUCIN

clc, clear all


disp('Curso: Mtodos Numricos')
disp('Prof.: Dr. Guillermo Evangelista Benites')
disp('Tema: Ecuaciones Diferenciales Ordinarias')
fprintf('Usanado el mtodo EULER con un tamao de pasos
h=0.1, \n')
fprintf('determine la solucin del problema de valor
inicial: \n')
fprintf(' dCa=-k1Ca+k2Cb, Ca(0)= 1 \n')
fprintf(' dCb= k1Ca-k2Cb, Cb(0) =0 \n')
disp('Solucin')
disp('---------')
k1=1; k2=0.5;
a=0; b=1; n=10;
h=(b-a)/n;
t0=0; Ca0=1; Cb0=0;
t(1)=t0; Ca(1)=Ca0; Cb(1)=Cb0;
fprintf('\n\t\t** MTODO DE EULER \n')
fprintf('---------------------------------------------\n')
fprintf('i t Ca_cal Cb_cal \n')
fprintf('--------------------------------------------\n')
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,t(1),Ca(1),Cb(1))
for i=1:n
Ca(i+1)=Ca(i)+h*((-k1*Ca(i))+(k2*Cb(i)));

23
Ingeniera Qumica

Cb(i+1)=Cb(i)+h*((k1*Ca(i))-(k2*Cb(i)));
t(i+1)=t(i)+h;
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,t(i+1),Ca(i+1),Cb(i+1))
end
fprintf('---------------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de Cacalculado= %8.5f \n', Ca(i+1))
fprintf('Valor de Cbcalculado= %7.5f \n', Cb(i+1))
plot(t,Ca,'*-r')
hold on
plot(t,Cb,'<-c')
grid on
title('Mtodo de Euler')
xlabel('Tiempo')
ylabel('Concentracin')

RESULTADO

Curso: Mtodos Numricos


Prof.: Dr. Guillermo Evangelista Benites
Tema: Ecuaciones Diferenciales Ordinarias
Usanado el mtodo EULER con un tamao de pasos h=0.1,
determine la solucin del problema de valor inicial:
dCa=-k1Ca+k2Cb, Ca(0)= 1
dCb= k1Ca-k2Cb, Cb(0) =0
Solucin
---------

** MTODO DE EULER
-----------------------------------------------
i t Ca_cal Cb_cal
-----------------------------------------------
0 0.00 1.00000 0.00000
1 0.10 0.90000 0.10000
2 0.20 0.81500 0.18500
3 0.30 0.74275 0.25725
4 0.40 0.68134 0.31866

24
Ingeniera Qumica

5 0.50 0.62914 0.37086


6 0.60 0.58477 0.41523
7 0.70 0.54705 0.45295
8 0.80 0.51499 0.48501
9 0.90 0.48774 0.51226
10 1.00 0.46458 0.53542
-------------------------------------------------------------
Tamao de paso h= 0.100
Valor de Cacalculado= 0.46458
Valor de Cbcalculado= 0.53542

25
Ingeniera Qumica

Para h=0.01 integrado en un tiempo de 2 min:

SOLUCIN

clc, clear all


disp('Curso: Mtodos Numricos')
disp('Prof.: Dr. Guillermo Evangelista Benites')
disp('Tema: Ecuaciones Diferenciales Ordinarias')
fprintf('Usanado el mtodo EULER con un tamao de pasos
h=0.01, \n')
fprintf('determine la solucin del problema de valor
inicial: \n')
fprintf(' dCa=-k1Ca+k2Cb, Ca(0)= 1 \n')
fprintf(' dCb= k1Ca-k2Cb, Cb(0) =0 \n')
disp('Solucin')
disp('---------')
k1=1; k2=0.5;
a=0; b=1; n=100;
h=(b-a)/n;
t0=0; Ca0=1; Cb0=0;
t(1)=t0; Ca(1)=Ca0; Cb(1)=Cb0;
fprintf('\n\t\t** MTODO DE EULER \n')
fprintf('---------------------------------------------\n')
fprintf('i t Ca_cal Cb_cal \n')
fprintf('---------------------------------------------\n')
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,t(1),Ca(1),Cb(1))
for i=1:n
Ca(i+1)=Ca(i)+h*((-k1*Ca(i))+(k2*Cb(i)));
Cb(i+1)=Cb(i)+h*((k1*Ca(i))-(k2*Cb(i)));
t(i+1)=t(i)+h;

26
Ingeniera Qumica

fprintf('%3d %5.2f %8.5f %8.5f \n',


i,t(i+1),Ca(i+1),Cb(i+1))
end
fprintf('--------------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de Cacalculado= %8.5f \n', Ca(i+1))
fprintf('Valor de Cbcalculado= %7.5f \n', Cb(i+1))
plot(t,Ca,'*-r')
hold on
plot(t,Cb,'<-c')
grid on
title('Mtodo de Euler')
xlabel('Tiempo')
ylabel('Concentracin')

RESULTADO

Curso: Mtodos Numricos


Prof.: Dr. Guillermo Evangelista Benites
Tema: Ecuaciones Diferenciales Ordinarias
Usanado el mtodo EULER con un tamao de pasos h=0.01,
determine la solucin del problema de valor inicial:
dCa=-k1Ca+k2Cb, Ca(0)= 1
dCb= k1Ca-k2Cb, Cb(0) =0
Solucin
---------
** MTODO DE EULER
-----------------------------------------------
i t Ca_cal Cb_cal
-----------------------------------------------
0 0.00 1.00000 0.00000
1 0.01 0.99000 0.01000
2 0.02 0.98015 0.01985
3 0.03 0.97045 0.02955
4 0.04 0.96089 0.03911
5 0.05 0.95148 0.04852

27
Ingeniera Qumica

6 0.06 0.94221 0.05779


.
.
.
198 1.98 0.36677 0.63323
199 1.99 0.36627 0.63373
200 2.00 0.36578 0.63422
-------------------------------------------------------------
Tamao de paso h= 0.010
Valor de Cacalculado= 0.36578
Valor de Cbcalculado= 0.63422

28
Ingeniera Qumica

EJERCICIO 5.9. FERMENTACIN DE LA PENICILINA

Un modelo para un reactor discontinuo en el que la penicilina se produce por

fermentacin se ha derivado de la siguiente manera (Constantantinides et al., 1970) para

la produccin celular y la sntesis de penicilina, respectivamente:

d y1 b
=b1 y 1 1 y 21 y 1 ( 0 )=0.03
dt b2

d y2
=b3 y 1 y2 ( 0 ) =0.0
dt

donde

y 1= Concentracin adimensional de la masa celular

y 2= Concentracin adimensional de penicilina

t= tiempo adimensional, 0 t 1

29
Ingeniera Qumica

Los experimentos han determinado que

b1=13.1

b2=0.94

b3 =1.71

a. Resuelva este ODE-IVP usando el mtodo de Euler.


SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.9 *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t*****************************************');
fprintf(' y''= ((b1*y)-((b1/b2)*(y^2))), y(0)= 0.03 \n')
fprintf(' z''= (b3*y), z(0) =0.0 \n')
a=0; b=1; n=10;
h=(b-a)/n;
x0=0; y0=0.03; z0=0;
b1=13.1; b2=0.94; b3=1.71;
x(1)=x0; y(1)=y0; z(1)=z0;
fprintf('\n\t\t** MTODO DE EULER \n')
fprintf('---------------------------------------\n')
fprintf('i x Ycal Zcal \n')
fprintf('---------------------------------------\n')
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,x(1),y(1),z(1))
for i=1:n
y(i+1)=y(i)+h*((b1*y(i))-((b1/b2)*(y(i)^2)));

30
Ingeniera Qumica

z(i+1)=z(i)+h*(b3*y(i));
x(i+1)=x(i)+h;
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,x(i+1),y(i+1),z(i+1));
end
fprintf('---------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de Ycalculado= %8.5f \n', y(i+1))
fprintf('Valor de Zcalculado= %7.5f \n', z(i+1))
plot(x,y,'*-m')
hold on
plot(x,z,'<-c')
grid on
title('Mtodo de Euler')
xlabel('Tiempo')
ylabel('Concentracin de Penicilina')

RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.9 *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*
******************************************************
y'= ((b1*y)-((b1/b2)*(y^2))), y(0)= 0.03
z'= (b3*y), z(0) =0.0

** MTODO DE EULER
---------------------------------------
i x Ycal Zcal
---------------------------------------
0 0.00 0.03000 0.00000
1 0.10 0.06805 0.00513
2 0.20 0.15073 0.01677
3 0.30 0.31653 0.04254

31
Ingeniera Qumica

4 0.40 0.59156 0.09667


5 0.50 0.87881 0.19782
6 0.60 0.95375 0.34810
7 0.70 0.93547 0.51119
8 0.80 0.94137 0.67116
9 0.90 0.93957 0.83213
10 1.00 0.94013 0.99280
---------------------------------------
Tamao de paso h= 0.100
Valor de Ycalculado= 0.94013
Valor de Zcalculado= 0.99280

b. Resuelva este ODE-IVP usando el mtodo RK de segundo orden.

32
Ingeniera Qumica

En todos los casos, experimente con el paso del tiempo para asegurar una solucin

exacta.

Tambin, grfica y1 y y 2 en funcin del tiempo con anotaciones apropiadas.

SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.9 *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t*****************************************');
fprintf(' y''= ((b1*y)-((b1/b2)*(y^2))), y(0)= 0.03 \n')
fprintf(' z''= (b3*y), z(0) =0.0 \n')
a=0; b=1; n=10;
h=(b-a)/n;
x0=0; y0=0.03; z0=0;
x(1)=x0; y(1)=y0; z(1)=z0;
b1=13.1; b2=0.94; b3=1.71;
fprintf('\n\t\t** MTODO DE RUNGE-KUTTA \n')
fprintf('---------------------------------------\n')
fprintf('i x Y_cal Z_cal \n')
fprintf('---------------------------------------\n')
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,x(1),y(1),z(1))
for i=1:n
K(i)=((b1*y(i))-((b1/b2)*((y(i))^2)));
L(i)=(b3*y(i));
K(i+1)=((b1*(y(i)+h))-((b1/b2)*(((y(i))^2)+h)));

33
Ingeniera Qumica

L(i+1)=(b3*(y(i)+h));
y(i+1)=y(i)+h*(K(i)+K(i+1))/2;
z(i+1)=z(i)+h*(L(i)+L(i+1))/2;
x(i+1)=x(i)+h;
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,x(i+1),y(i+1),z(i+1));
end
fprintf('---------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de Ycalculado= %8.5f \n', y(i+1))
fprintf('Valor de Zcalculado= %7.5f \n', z(i+1))
plot(x,y,'*-m')
hold on
plot(x,z,'<-c')
grid on
title('Mtodo de Runge-Kutta')
xlabel('Tiempo')
ylabel('Concentracin')

RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.9 *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*
****************************************************** y'= ((b1*y)-
((b1/b2)*(y^2))), y(0)= 0.03
z'= (b3*y), z(0) =0.0

** MTODO DE RUNGE-KUTTA
---------------------------------------
i x Y_cal Z_cal
---------------------------------------
0 0.00 0.03000 0.00000
1 0.10 0.06386 0.01368
2 0.20 0.13766 0.03315
3 0.30 0.28741 0.06524
4 0.40 0.54462 0.12294
5 0.50 0.84053 0.22462

34
Ingeniera Qumica

6 0.60 0.95287 0.37690


7 0.70 0.93160 0.54839
8 0.80 0.93832 0.71624
9 0.90 0.93633 0.88525
10 1.00 0.93694 1.05391
---------------------------------------
Tamao de paso h= 0.100
Valor de Ycalculado= 0.93694
Valor de Zcalculado= 1.05391

35
Ingeniera Qumica

EJERCICIO 5.10. CINTICA DE BIOREACCIN

El modelo Monod para la cintica de bioreaccin puede expresarse como

ds ksx
=
dt k s+ s

s ( 0 )=s o , x ( 0 )=x 0

dx ksx
=y bx
dt ks + s

Donde

s= Concentracin de sustrato limitante del crecimiento (ML-3)

x= Concentracin de biomasa (ML-3)

k = Mxima tasa de captacin especfica del sustrato (T-1)=5

K s = Constante de media saturacin para el crecimiento (ML-3) =20

36
Ingeniera Qumica

y= Coeficiente de rendimiento (MM-1)=0.05

b= Coeficiente de decaimiento (T-1)= 0.01

Las condiciones iniciales son s 0=1000 y x 0=100

a. Resolver este ODE-IVP utilizando el mtodo Euler.


SOLUCIN

clc, clear all


fprintf('\n\t\t********************************************
**********');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.10 *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t***************************************');
fprintf(' s''= (-(k*s*x)/(Ks+s)), s(0)= 1000 \n')
fprintf(' x''= (((y*k*s*x)/(Ks+s))-(b*x)), x(0) =100 \n')
a=0; b=1; n=10;
h=(b-a)/n;
A0=0; s0=1000; x0=100;
A(1)=A0; s(1)=s0; x(1)=x0;
k=5; Ks=20; y=0.05; b=0.01;
fprintf('\n\t\t** MTODO DE EULER \n')
fprintf('---------------------------------------\n')
fprintf('i A scal xcal \n')
fprintf('---------------------------------------\n')

37
Ingeniera Qumica

fprintf('%3d %5.2f %8.5f %8.5f \n',


i,A(1),s(1),x(1))
for i=1:n
s(i+1)=s(i)+h*((-(k*s(i)*x(i))/(Ks+s(i))));
x(i+1)=x(i)+h*(((y*k*s(i)*x(i))/(Ks+s(i)))-(b*x(i)));
A(i+1)=A(i)+h;
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,A(i+1),s(i+1),x(i+1));
end
fprintf('---------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de s calculado= %8.5f \n', s(i+1))
fprintf('Valor de x calculado= %7.5f \n', x(i+1))

RESULTADO
******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.10 *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*
******************************************************

s'= (-(k*s*x)/(Ks+s)), s(0)= 1000


x'= (((y*k*s*x)/(Ks+s))-(b*x)), x(0) =100

** MTODO DE EULER
---------------------------------------
i A scal xcal
---------------------------------------
0 0.00 1000.00000 100.00000
1 0.10 950.98039 102.35098
2 0.20 900.85900 104.75470
3 0.30 849.61923 107.21193
4 0.40 797.24612 109.72338
5 0.50 743.72703 112.28961
6 0.60 689.05251 114.91104
7 0.70 633.21762 117.58788
8 0.80 576.22381 120.31998
9 0.90 518.08186 123.10676
10 1.00 458.81636 125.94693
---------------------------------------
Tamao de paso h= 0.100
Valor de s calculado= 458.81636
Valor de x calculado= 125.94693

38
Ingeniera Qumica

39
Ingeniera Qumica

b. Resolver este ODE-IVP utilizando el mtodo RK de segundo orden.


SOLUCIN

clc, clear all


fprintf('\n\t\t*****************************************');
fprintf('\n\t\t* Libro: MTODOS NUMRICOS APLICADOS A LA
INGENIERA *');
fprintf('\n\t\t* Captulo 5. Ecuaciones Diferenciales
Ordinarias *');
fprintf('\n\t\t* Ejercicio 5.10 *');
fprintf('\n\t\t* Profesor: Dr.GUILLERMO EVANGELISTA
BENITES*');
fprintf('\n\t\t****************************************');
fprintf(' s''= (-(k*s*x)/(Ks+s)), s(0)= 1000 \n')
fprintf(' x''= (((y*k*s*x)/(Ks+s))-(b*x)), x(0) =100 \n')
a=0; b=1; n=80;
h=(b-a)/n;
A0=0; s0=1000; x0=100;
A(1)=A0; s(1)=s0; x(1)=x0;
k=5; Ks=20; y=0.05; b=0.01;
fprintf('\n\t\t** MTODO DE RUNGE-KUTTA \n')
fprintf('---------------------------------------\n')
fprintf('Iter A scal xcal \n')
fprintf('---------------------------------------\n')
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,A(1),s(1),x(1))
for i=1:n
K(i)=(-(k*s(i)*x(i))/(Ks+s(i)));
L(i)=(((y*k*s(i)*x(i))/(Ks+s(i)))-(b*x(i)));

40
Ingeniera Qumica

K(i+1)=(-(k*(s(i)+(h))*(x(i)+(h)))/(Ks+(s(i)+(h))));
L(i+1)=(((y*k*(s(i)+(h))*(x(i)+(h)))/(Ks+(s(i)+(h))))-
(b*(x(i)+(h))));
s(i+1)=s(i)+h*(K(i)+K(i+1))/2;
x(i+1)=x(i)+h*(L(i)+L(i+1))/2;
A(i+1)=A(i)+h;
fprintf('%3d %5.2f %8.5f %8.5f \n',
i,A(i+1),s(i+1),x(i+1));
end
fprintf('---------------------------------------\n')
fprintf('Tamao de paso h= %4.3f \n', h)
fprintf('Valor de s calculado= %8.5f \n', s(i+1))
fprintf('Valor de x calculado= %7.5f \n', x(i+1))
plot(A,s,'*-m')
hold on
plot(A,x,'<-c')
grid on
title('Mtodo de Runge-Kutta')
xlabel('Tiempo')
ylabel('Concentracin de Penicilina')

RESULTADO

******************************************************
* Libro: MTODOS NUMRICOS APLICADOS A LA INGENIERA *
* Captulo 5. Ecuaciones Diferenciales Ordinarias *
* Ejercicio 5.10 *
* Profesor: Dr.GUILLERMO EVANGELISTA BENITES*
****************************************************** s'= (-(k*s*x)/
(Ks+s)), s(0)= 1000
x'= (((y*k*s*x)/(Ks+s))-(b*x)), x(0) =100

** MTODO DE RUNGE-KUTTA
---------------------------------------
Iter A scal xcal
---------------------------------------
0 0.00 1000.00000 100.00000
1 0.01 993.87217 100.29389
2 0.03 987.72707 100.58861
3 0.04 981.56467 100.88415
4 0.05 975.38493 101.18053
5 0.06 969.18783 101.47774
6 0.07 962.97332 101.77578
7 0.09 956.74137 102.07465
8 0.10 950.49195 102.37436
9 0.11 944.22503 102.67491
10 0.12 937.94057 102.97630
.
.
.
.

41
Ingeniera Qumica

74 0.92 498.27784 124.05494


75 0.94 490.82323 124.41216
76 0.95 483.35153 124.77020
77 0.96 475.86286 125.12903
78 0.97 468.35735 125.48867
79 0.99 460.83513 125.84909
80 1.00 453.29635 126.21030
---------------------------------------
Tamao de paso h= 0.013
Valor de s calculado= 453.29635
Valor de x calculado= 126.21030

CONCLUSIONES

Gracias a la literatura revisada se pudo ver que el mejor mtodo con menor

porcentaje de error es el Runge- Kute

BIBLIOGRAFA

42
Ingeniera Qumica

[1] Nieves, A. y Domnguez, F. (2012). Mtodos Numricos Aplicados a la Ingeniera.

Mxico: Patria.

[2] Chapra, S. y Canale, R. (2007). Mtodos numricos para ingenieros. Mxico: Mc

Graw Hill.

[3] Nakamura, S. (2013). Mtodos numricos aplicados con software. Espaa: Pearson.

[4] Mora, W. (2011). Introduccin a los mtodos numricos. Costa Rica.

43

Das könnte Ihnen auch gefallen