CAPITULO VII
SISTEMA DE ECUACIONES
DIFERENCIALES ORDINARIAS
7.1 SISTEMAS DE ECUACIONES DIFERENCIALES ORDINARIAS
dY1
a11 (t ) x1 ... a1n (t ) xn f1 (t )
dx
.
.
(7.1)
.
dYn
an1 (t ) x1 ... ann (t ) xn f n (t )
dx
Se denomina sistema lineal de primer orden. Las funciones aij(t), fi(t) se
supondrn continuas en un intervalo dado I = (a, b). Si fi(t) = 0 para todo i = 1, .
. . , n, se dice que el sistema es homogneo.
Y ' M *Y F
f1 (t )
x1 (t ) a11 (t ) ... a1n (t ) .
. . .
F F (t ) .
Y Y (t ) . M M (t ) . . .
. . .
.
x (t ) a (t ) ... a (t ) f (t )
n n1 nn n
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 227
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
dY
Y ' M * Y M *Y
dt
Condiciones iniciales
d x1 1 - 1 x1 x1 1
dt x2 1 - 2 x2 x 1
2
h
ym1 ym (k1 2k2 2k3 k 4 ) (7.3)
6
Donde
k1 f ( xn , yn )
k2 hf ( xn 0.5h, yn 0.5k1 )
k3 hf ( xn 0.5h, yn 0.5k2 )
k4 hf ( xn h, yn k3 )
Para cada i = 1, 2, . . . ,m
h
yi , j 1 yi , j (k1, j 2k 2, j 2k3, j k4, j )
6
Donde
Para cada i = 1, 2, . . . ,m
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 228
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Para cada i = 1, 2, . . . ,m
1 1 1 1
k 2, j hfi ( x j h, y1, j k1,1 , y2, j k1, 2 ,..., ym, j k1,m )
2 2 2 2
Para cada i = 1, 2, . . . ,m
1 1 1 1
k3, j hfi ( x j h, y1, j k2,1 , y2, j k2, 2 ,..., ym, j k2,m )
2 2 2 2
Para cada i = 1, 2, . . . ,m
1 1 1 1
k 4, j hfi ( x j h, y1, j k3,1 , y2, j k3, 2 ,..., ym, j k3,m )
2 2 2 2
y ' MY F
y ' f ( x, Y ) (7.4)
Las iteraciones para el Mtodo de Runge-Kutta de cuarto orden para sistemas es:
K1 hf xn , Yn
1 1
K 2 hf xn h, Yn K1
2 2
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 229
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
1 1
K3 hf xn h, Yn K 2
2 2
K4 hf xn h, Yn K3
Yn 1 Yn
1
K1 2K2 2K3 K 4 (7.5)
6
Si es posible escribir la ecuacin (7.13) en forma lineal como
y' MY F
K1 hMYn F
K
K 2 h M Yn 1 F
2
K
K3 h M Yn 2 F
2
K4 hM Yn K3 F
Yn 1 Yn
1
K1 2K2 2K3 K 4
6
Este algoritmo calcula la solucin del problema de valor inicial en puntos equidistantes
x1 = x0 + h , x2 = x0 + 2h, x3 = x0 + 3h, , xN = x0 + Nh, aqu f es tal que (dy/dx=f(x,y)
y(x0) = y0) tiene una solucin nica en [x0, xN].
K1 hMYn F
K
K 2 h M Yn 1 F
2
K
K3 h M Yn 2 F
2
K4 hM Yn K3 F
1
K1 2K2 2K3 K4
Yn 1 Yn
6
Salida xn+1, Yn+1
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 230
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
3. Parar
Practica 7-1
METODO RUNGE-KUTTA
Tambin puede resolverse este problema creando una funcin auxiliar en un archivo
aparte con el nombre de la funcin. En este caso se opt por llamarla Runge-Kuta. La
misma es una funcin que recibe 6 argumentos: dos funciones definidas previamente (ya
sea por medio de un m-file o por medio del comando inline), los valores iniciales de las
funciones, el tiempo inicial y la longitud de paso; mientras que el resultado que devuelve
es un vector con los valores de la funcin solucin en el periodo inicial ms la longitud
de paso (t0+h). Existen adems dos formas adicionales de resolver un sistema de
ecuaciones diferenciales con Matlab. Una de ellas es creando una rutina que acta dentro
de un mismo programa sin necesidad de crear una funcin auxliar mediante un archivo
*:m.
programa SEDO1.m
clear all
clc;
X(1,1)=t0;
Y1(1,1)=x;
Y2(1,1)=y;
for i=1:n
u1=h*eval('xx(t,x,y)');
v1=h*eval('yy(t,x,y)');
u2=h*eval('xx(t+h/2,x+u1/2,y+v1/2)');
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 231
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
v2=h*eval('yy(t+h/2,x+u1/2,y+v1/2)');
u3=h*eval('xx(t+h/2,x+u2/2,y+v2/2)');
v3=h*eval('yy(t+h/2,x+u2/2,y+v2/2)');
u4=h*eval('xx(t+h,x+u3,y+v3)');
v4=h*eval('yy(t+h,x+u3,y+v3)');
x=x+(1/6)*(u1+2*u2+2*u3+u4);
y=y+(1/6)*(v1+2*v2+2*v3+v4);
y1=x;
y2=y;
t1=t0+h;
t0=t1;
X(i+1,1)=t0;
Y1(i+1,1)=y1;
Y2(i+1,1)=y2;
end
disp(' RESULTADOS FINALES ')
disp(' t y1 y2 ')
disp([X,Y1,Y2])
plot(X,Y1(:,1),'-*r',X,Y2(:,1),'-*b','LineWidth',2),grid on
xlabel('Valores de x');
ylabel('Valores de Y1 Y2');
title('METODO DE RUNGE-KUTTA');
legend('y1','y2');
Paso 1: realizamos el formulario copiando Edit text, axes para el grafico y Push button
Static text: para texto: hacer doble click en la tabla de cdigo y llenar:
String: nombre a poner
Style: texto
Edit text: para ingreso de valores: hacer doble click en la tabla de cdigo y
llenar:
String:
Style:edit
Edit text: para salida de valores: hacer doble click en la tabla de cdigo y
llenar:
String:
Style:edit
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 232
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Paso 3: En el archivo generado buscar Push button para cada comando. Digitar el cdigo
del programa en el Push button, despus de la lnea siguiente para el caso y
as sucesivamente.
function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)
funcion=get(handles.edit1,'string');
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 233
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 234
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
close
Practica 7-2
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 235
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
METODO ODE45
Los valores pueden cambiarse a los deseados. Este comando tiene ms opciones que
pueden ser cambiadas. Estos mtodos son en general de paso variable, lo cual hace que
la solucin se conozca en puntos a lo mejor no deseados. Si se quiere conocer la solucin
en ciertos puntos del intervalo, se puede definir un vector llamado tspan que contiene los
puntos deseados, para luego usarlo en lugar del intervalo [t0 tf] en el comando ODE.
y' M * Y F
Procedimiento del programa
Paso 1: digitamos en el archivo m el siguiente programa (como: EDO2.m)
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 236
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Mtodo B:
Matlab cuenta adems con comandos predeterminados para resolver cualquier tipo de
ecuaciones diferenciales y sistemas en forma numrica por medio del comando ode45
que requiere la definicin previa del sistema de ecuaciones diferenciales en un archivo
del mismo nombre que el comando con una extensin *.m. Para este caso el caso se utiliz
el nombre dpl para crear el archivo que contiene la definicin del sistema. A continuacin
se exponen los comandos utilizados tanto para la creacin del sistema como para la
utilizacin del mismo junto a su representacin grfica de la solucin:
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 237
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Paso 3: ejecutamos
c) Ejecutamos el programa
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 238
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
clear all
clf
clc
Eq=inline('[-2*x(1);2*x(1)-x(2);x(2)]','t','x');
[t,x]=ode15s(Eq,[0:0.1:2],[1 0 0]);
disp(' RESULTADOS FINALES ')
disp(' t CA CB CC ')
disp([t,x])
plot(t,x(:,1),'-r',t,x(:,2),'-b',t,x(:,3),'-g','LineWidth',2),grid on
title('Solucin de un sistema de ecuaciones reactivas','Fontsize',15);
text(0.2,0.8,'CA');text(0.8,0.1,'CB');text(0.3,0.3,'CC');
xlabel('Tiempo');
ylabel('Concentracin');
Practica 7-3
EJERCICIOS RESUELTOS
(1) Ejercicio resuelto: Cada uno de los tanques A, B y C son llenados con 1000 galones
de agua. Los trabajadores tienen instrucciones de disolver 2000 lb de sal en cada
tanque. Por error, 3000 lb se disuelven en los tanques A y C y nada en B. Se desean
obtener todas las composiciones del 5 % de las 2 lb/gal especificadas. S las unidades
A-B-C se conectan mediante tres bombas de 50 gpm.
a) Exprese las concentraciones CA, CB y CC en trminos de t (tiempo).
b) Encuentre el tiempo ms corto al cual todas las concentraciones estn dentro del
intervalo especificado. Suponga que los tanques tienen un buen mezclado
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 239
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
1. Las condiciones iniciales de c/u de las EDO: A(0)= C(0) =3000 y B(0) =0
2. Haga los siguientes cambios de variables: A=X1; B=X2; C=X3
Solucin:
dA 50 gal C lb 50 gal A lb
dt min 1000 gal min 1000 gal
Tanque A
dB A B
Tanque B
dt 20 20
dC B C
Tanque C dt 20 20
3. Determine las condiciones iniciales de c/u de las EDO: A(0)= C(0) =3000 y
B(0) =0
4. Haga los siguientes cambios de variables: A=X1; B=X2; C=X3
5. Guarde en archivo-Script:
Usamos el programa
Programa 1: EDO1,m
function dX=EDO1(t,X)
dX=[(1/20)*(X(3)-X(1)); (1/20)*(X(1)-X(2)); (1/20)*(X(2)-X(3))]
Programa 2: SEDO11,m
Solucin
t X1 X2 X3
0.000 3000.00 0.00 3000.00
0.000 3000.00 0.00 3000.00
0.000 3000.00 0.00 3000.00
0.000 3000.00 0.03 2999.97
0.001 3000.00 0.16 2999.84
0.010 3000.00 1.57 2998.43
0.078 2999.98 11.75 2988.27
0.523 2999.00 77.47 2923.53
3.271 2965.93 450.73 2583.33
10.771 2745.47 1203.55 2050.98
18.271 2491.51 1642.82 1865.68
25.771 2288.80 1872.82 1838.39
33.271 2152.33 1978.60 1869.07
40.771 2070.76 2018.18 1911.06
48.271 2026.97 2026.58 1946.45
55.771 2006.15 2022.80 1971.05
60.000 2000.44 2019.01 1980.54
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 241
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
2000
Solucion X
1500
1000
500
0
0 10 20 30 40 50 60
Tiempo t
dCA
r1 k1C A
dt
dCB
r1 r2 k1C A k 2CB
dt
dCC
r2 k 2CB
dt
CA(0)=1
CB(0)=0
CC(0)=0
Donde: k1=2 k2=1
C A (t )
e k Bt
C A0
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 242
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
C B (t )
C A0
kB
kC k B
e k B t e kC t
CC (t ) C (t ) C (t )
1 A B
C A0 C A0 C A0
clear all
clf
clc
Eq=inline('[-2*x(1);2*x(1)-x(2);x(2)]','t','x');
[t,x]=ode15s(Eq,[0:0.1:2],[1 0 0]);
disp(' RESULTADOS FINALES ')
disp(' t CA CB CC ')
disp([t,x])
plot(t,x(:,1),'-r',t,x(:,2),'-b',t,x(:,3),'-g','LineWidth',2),grid on
title('Solucin de un sistema de ecuaciones reactivas','Fontsize',15);
text(0.2,0.8,'CA');text(0.8,0.1,'CB');text(0.3,0.3,'CC');
xlabel('Tiempo');
ylabel('Concentracin');
RESULTADOS FINALES
t CA CB CC
0 1.0000 0 0
0.1000 0.8187 0.1722 0.0091
0.2000 0.6703 0.2968 0.0329
0.3000 0.5488 0.3840 0.0672
0.4000 0.4493 0.4420 0.1087
0.5000 0.3679 0.4773 0.1548
0.6000 0.3012 0.4953 0.2036
0.7000 0.2466 0.5000 0.2534
0.8000 0.2018 0.4950 0.3032
0.9000 0.1652 0.4828 0.3521
1.0000 0.1352 0.4654 0.3995
1.1000 0.1107 0.4444 0.4449
1.2000 0.0906 0.4212 0.4882
1.3000 0.0741 0.3968 0.5291
1.4000 0.0607 0.3718 0.5675
1.5000 0.0497 0.3469 0.6034
1.6000 0.0407 0.3224 0.6369
1.7000 0.0333 0.2988 0.6679
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 243
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
0.9
0.8 CA
0.7
Concentracin
0.6
0.5
0.4
0.3 CC
0.2
0.1 CB
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Tiempo
(3) Ejercicio resuelto: Suponga que tiene dos tanques en serie, como se muestra en la
figura. El volumen del lquido en cada tanque permanece constante a causa del diseo
de las lneas de rebase.
Suponga que cada tanque se llena con una solucin que contiene 10 lb de A y que los
tanques contienen 100 gal de solucin acuosa cada uno. S entra agua fresca a la
velocidad de 10 gal/hora. Cul es la concentracin de A en cada tanque al trmino
de 3 horas?. Suponga mezclado completo en cada tanque e ignore cualquier cambio
de volumen con la concentracin.
Solucin:
Los balances de masa de A en los tanques son:
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 244
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Q Q dQ2
Tanque 2 10 1 10 2
100 100 dt
Donde:
Q1 y Q2 son las libras de A en los tanques # 1 y # 2 respectivamente
Q1 Q2
y son las concentraciones de ellos al tiempo t
100 100
Simplificando
dQ1 Q
1
dt 10
dQ2 Q Q2
1
dt 10
Para resolver el sistema de EDO, utilizando MATLAB, siga los pasos siguientes:
1.- Determine las condiciones iniciales en c/u de los tanques. En ste caso son Q1(0)=10,
Q2 (0)=10
2.- Haga cambios de variables:
Q1=X1 y Q2=X2
function dX=EDO1(t,X)
dX=[(-1/10)*X(1);(1/10)*(X(2)-X(1))];
Programa 2: SEDO11,m
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 245
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
t X1 X2
0.000 10.00 10.00
1.000 9.05 10.05
2.000 8.19 10.20
3.000 7.41 10.45
9.5
Solucion X
8.5
7.5
7
0 0.5 1 1.5 2 2.5 3
Tiempo t
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 246
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Los factores que influyen en la difusin del gas a travs de la membrana que
constituye el envase son los siguientes:
O2
CO2
O2
O2
Em T
paq HR1
ue
Y1
T Otros
HR2 H 2O CO2
Y2 CO2
H 2O
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 247
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Una vez alcanzada la atmosfera de equilibrio en el interior del envase, para lo que es
preciso que la tasa respiratoria del rgano vegetal se haya estabilizado, el balance de
materia para el oxgeno y dixido de carbono es:
Para el oxgeno:
Ingreso de O2 O2 O2 residual
a travs del = Consumido en el espacio
+
empaque por el vegetal libre del (1)
Ley de empaque
Por
Fick respiracin
dCi
J i Di (3)
dx
Siendo:
Ci Ki Pi (4)
Siendo:
Donde:
O2 t
(7)
A1 * t B1 C1
CO2 t
(8)
A2 * t B2 C 2
Donde:
t = tiempo (h).
A, B, C = son valores constantes.
d O2
A1 C1 t A1 * t B1 1 A1 * t B1 1
1C C
(9)
dt
d CO2
A2 C2 t A2 * t B2 2 A2 * t B2 2
1C C
(10)
dt
RO2
d O2 MO 2 * P * V
dt 100 * R * M * T
(11)
RCO2
d CO2 MCO 2 * P * V
dt 100 * R * M * T
(12)
Donde:
RO2 y RCO2 = velocidad de consumo de O2 y produccin de CO2 respectivamente
(mg/kg h)
MO2 y MCO2 = peso molecular de O2 y CO2 (kg /mol)
P = presin (Pa)
V = volumen del espacio libre del empaque (ml)
R = constante de los gases (6. 236e4 ml mmHg / mol K o 8.314 J/mol K)
M = peso del producto (kg)
T = temperatura (K)
dO2 100 PO A O M
PT 0,21 2 *100 RO2
2
(13)
L V 100 V
dt
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 250
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Los parmetros vm, km y ki para el consumo de O2 y produccin del CO2 pueden ser
estimados linealizando la siguiente ecuacin:
v m O2 * O 2
RO2 (15)
CO2
Km O2 1 * O2
Ki
Ecuacin linealizada:
1
1 km 1
1
CO2
vm O2 ki vm
(16)
RO2 v m
Los valores de: vm, km y ki sern obtenidos a partir de la ecuacin 16 para su posterior
uso en los modelos de inhibicin.
Para la modelizacin del efecto inhibidor del CO2 sobre la actividad respiratoria, existen
cuatro modelos de inhibicin:
a) Competitivo
v m O2 * O 2
RO2 (17)
CO2
Km O2 1 * O2
Ki
Donde:
Ki: Constante de inhibicin de oxigeno de Michaelis-Menten (%).
b) Acompetitivo
vm O2 * O2
RO2
CO2 (18)
Km * 1 O2
Ki
Donde:
Ki: Constante de inhibicin de oxigeno de Michaelis-Menten (%).
c) Mixto
vm O2 * O2
RO2 (19)
KmO * 1 CO2 O2 * 1 CO2
KmuCO2
KmcCO2
2
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 251
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Donde:
KmuCO2: constante de Michalis-Menten para la inhibicin mixta de CO2
d) No competitivo
vm O2 * O2
RO2 (20)
CO2
KmO2 O2 * 1
KmnCO2
Donde:
KmnCO2: constante de Michalis-Menten para la inhibicin no competitiva de CO2
dCO 2 PO A CO 2 M
vmO2 * O 2 vmCO2 * CO 2
100 2 PT 0
V *100 *
dt L 100 V CO2 O2
km O 2 1 * O2 km CO 2 1 * CO2
ki kico
(22)
Donde:
Po2 = permeabilidad del empaque al oxigeno (mg/cm h atm)
Pco2 = permeabilidad del empaque al CO2 (mg/cm h atm)
L = espesor del empaque (cm)
A = Area del empaque (cm2)
M = Cantidad de producto dentro del empaque (Kg)
Vmo2: velocidad de respiracin mxima de O2 (consumo)
Vmco2: velocidad de produccin mxima de CO2 (emisin)
KmO2: Constante de respiracin para O2 de Michaelis-Menten (%).
KmCO2: Constante de respiracin para CO2 de Michaelis-Menten (%).
Ki: Constante de inhibicin de O2 de Michaelis-Menten (%).
KiCO: Constante de inhibicin de CO2 de Michaelis-Menten (%).
PT: Presin total (atm) (fuera del envase = dentro del envase) cuando es envasado
a medio ambiente.
O2 = porcentaje de O2 dentro del envase.
CO2 = porcentaje de CO2 dentro del envase.
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 252
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
Formulario
B2=100* pmCO2*A/V;
C=M*100/V;
X(1,1)=t0;
Y1(1,1)=x;
Y2(1,1)=y;
for i=1:n
k1=h*[B1*(0.21-0.01*x)-C* vmO2*x/( kmO2+(1+ y/ kiO2)* x)];
R1=h*[B2*(0 -0.01*y)+C*(( vmO2* x/( kmO2+(1+ y/ kiO2)* x))+( vmCO2* y/(
kmCO2+(1+ x/ kiCO2)* y)))];
k2=h*[B1*(0.21-0.01*(x+h/2))-C* vmO2*(x+h/2)/( kmO2+(1+ (y+h/2)/ kiO2)*
(x+h/2))];
R2=h*[B2*(0 -0.01*(y+h/2))+C*(( vmO2* (x+h/2)/( kmO2+(1+ (y+h/2)/ kiO2)*
(x+h/2)))+( vmCO2* (y+h/2)/( kmCO2+(1+ (x+h/2)/ kiCO2)* (y+h/2))))];
k3=h*[B1*(0.21-0.01*(x+h/2))-C* vmO2*(x+h/2)/( kmO2+(1+ (y+h/2)/ kiO2)*
(x+h/2))];
R3=h*[B2*(0 -0.01*(y+h/2))+C*(( vmO2* (x+h/2)/( kmO2+(1+ (y+h/2)/ kiO2)*
(x+h/2)))+( vmCO2* (y+h/2)/( kmCO2+(1+ (x+h/2)/ kiCO2)* (x+h/2))))];
k4=h*[B1*(0.21-0.01*(x+h))-C* vmO2*(x+h)/( kmO2+(1+ (y+h)/ kiO2)* (x+h))];
R4=h*[B2*(0 -0.01*(y+h))+C*(( vmO2* (x+h)/( kmO2+(1+ (y+h)/ kiO2)* (x+h)))+(
vmCO2* (y+h)/( kmCO2+(1+ (x+h)/ kiCO2)* (y+h)))) ];
x=x+(1/6)*(k1+2*k2+2*k3+k4);
y=y+(1/6)*(R1+2*R2+2*R3+R4);
y1=x;
y2=y;
t1=t0+h;
t0=t1;
X(i+1,1)=t0;
Y1(i+1,1)=y1;
Y2(i+1,1)=y2;
end
set(handles.edit18,'string',y1);
set(handles.edit19,'string',y2);
set(handles.edit20,'string',X);
set(handles.edit21,'string',Y1);
set(handles.edit22,'string',Y2);
function pushbutton2_Callback(hObject, eventdata, handles)
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 254
Mtodos numricos en Ingeniera de Alimentos Sistema de Ecuaciones diferenciales Ordinarias
X=str2num(get(handles.edit20,'string'));
Y1=str2num(get(handles.edit21,'string'));
Y2=str2num(get(handles.edit22,'string'));
%plot(X,Y1,'*r',X,Y1,'-',X,Y2,'*b',X,Y2,'-'), grid on, axis equal % ojo arreglar para Y2
plot(X,Y1,'-*r',X,Y2,'-*b'), grid on
xlabel('Tiempo de almacenamiento (dias)');
ylabel('Valores de %O2 %CO2');
title('METODO DE RUNGE-KUTTA');
legend('O2','CO2');
Resultado
---------------------------------------------------------------------------------------------------------------------------------------------
Alberto L.Huaman Huaman 255