Está en la página 1de 7

PROBLEMAS DE APLICACIÓN

Profesor Francisco Muñoz Paba M.Sc


EJEMPLO Nº 5 Un tanque contiene 20 m3 de agua. Se alimenta a éste tanque una
corriente de salmuera que contiene 2kg/m3 de sal con un caudal de 3 m3/h. Una corriente
líquida abandona el tanque con un caudal de 2 m3/h. Si el tanque está bien agitado. ¿Cuál
es la concentración de sal en el tanque, cuando éste contiene 30 m 3 de salmuera?

3 m3/h
2 kg/m3 2 m3/h
x kg/m3
Solución:
Balance de acumulación de salmuera.

dV ( m3 3
= 3−2 ) =1 m / h , integrando
dt h
V t

∫ dV =∫ dt  V=20 + t
20 0

Balance de masa para la sal:


d (Vx)
=( 3 ) ( 2 )−2 x , derivando lado izquierdo:
dt

dV dx
x +V =6−2 x
dt dt

dx dx 6−3 x
x + (20 + t) dt = 6 – 2x  dt = 20−t

Condición de valor inicial x(0)=0

Volumen de la salmuera en el tanque: V= 20 +t  t= 30 – 20 = 10 horas.


Tiempo para alcanzar los 30 m3 en el tanque.

Resolución analítica de la ecuación diferencial por Octave:


>> syms x(t);
>> f=diff(x,t) ==(6 - 3*x)/(20+t);
>> x=dsolve(f,x(0)==0)
x = (sym)
16000

x(t) = 2 - --------------------------
3 2

t + 60*t + 1200*t + 8000


1
Universidad del Atlántico – Programa de Ingeniería Química
Remplazando en la ecuación diferencial t=10horas.

>> t=10;
>> xt= 2 - 16000/(t^3+60*t^2+1200*t+8000)
xt = 1.4074 kg/m3

Resolución numérica de la ecuación por Euler modificado.

EJEMPLO Nº 6 Resolver x’ = (6 – 3*x)/(20+t)


x(0)= 0 h=2.5
clear clc clf
% Este programa resuelve una E.D.O por Euler Modificado
% x'' =(6-3x)/(20+t) para x(0)= 0 Tamaño de paso h=2.5
tspan=[0 25];N=10;
%f=inline('(6-3*x)/(20+t)','t','x');
h=(tspan(2)-tspan(1))/N;
t=tspan(1)+[0:N]'*h;
f=inline('(6-3*x)/(20+t)','t','x');
x0=0;
x(:,1)=x0(:)';
disp(' f1 f2 ')
for k=1:5
f1=f(t(k),x(:,k));f1=f1(:)';
f2=f(t(k)+h,x(:,k)+h*f1);f2=f2(:)';
x(:,k+1) =x(:,k)+ h*(f1+f2)/2;
fprintf(' %10.5f %10.5f\n',f1,f2)
end
disp(' t y ')
disp([t x(:)])
plot(t,x(:),'-o')
title('Solución de y''=(6-3x)/(20+t) por el Método de Euler Modificado')
xlabel('t');ylabel('x');

La salida del programa es


f1 f2
0.30000 0.16667
0.18889 0.11333
0.12467 0.07933
0.08552 0.05701
0.06057 0.04194
t y
0.00000 0.00000
2.50000 0.58333
5.00000 0.96111
7.50000 1.21611
10.00000 1.39427
12.50000 1.52240
15.00000 1.61687
17.50000 1.68803
20.00000 1.74262
22.50000 1.78520
25.00000 1.81890
Si se requiere mayor precisión se disminuye el tamaño de paso, h

2
Universidad del Atlántico – Programa de Ingeniería Química
EJEMPLO Nº 7 Resolver la E.D.O y’ = - 2t - y
y(0)= - 1 H=0.1
El siguiente es un programa en Octave, no grafica.
clear clc
Eq=@(t,y) -2*t-y;% esta es la ecuación diferencial
y=-1;H=0.1;
disp(' Resultados Finales')
disp(' t y k1 k2 ')
for t=0:H:1
fprintf('\n %7.5f %7.5f',t,y)
k1=Eq(t,y);
k2=Eq(t*H,y+H*k1);
y=y + H*(k1+k2)/2;
fprintf('%8.5f %8.5f\n',k1,k2)
endfor

La salida del programa es


Resultados Finales
t y k1 k2
0.00000 -1.00000 1.00000 0.90000
0.10000 -0.90500 0.70500 0.81450
0.20000 -0.82903 0.42902 0.74612
0.30000 -0.77027 0.17027 0.69324
0.40000 -0.72709-0.07291 0.65438
0.50000 -0.69802-0.30198 0.62822
0.60000 -0.68171-0.51829 0.61354
0.70000 -0.67694-0.72306 0.60925
0.80000 -0.68263-0.91737 0.61437
0.90000 -0.69778-1.10222 0.62801
1.00000 -0.72149-1.27851 0.64935

SOLUCIÓN DE SISTEMAS DE E.D.O CON VALOR INICIAL DE PRIMER ORDEN

EJEMPLO Nº 8 Método de Runge – Kutta de cuarto orden.


Resolver el siguiente sistema de E.D.O con valor inicial
f: x ' =xy +t x(0)=1 (1)
g: y =ty + x
'
y(0)=-1 (2)
por el método de Runge – Kutta de cuarto orden. H= 0.1 (Tamaño de paso)

PROCEDIMIENTO POR SOLUCIÓN MANUAL.


Algoritmo de Runge – Kutta de cuarto orden.
k1=Hf(t,x,y)
c1=Hg(t,x,y)

3
Universidad del Atlántico – Programa de Ingeniería Química
k2=Hf(t+ H/2, x + k1/2, y + c1/2)
c2=Hg(t+ H/2, x + k1/2, y + c1/2)
k3=Hf(t + H/2, x + k2/2, y + c2/2)
c3=Hg(t + H/2, x + k2/2, y + c2/2)
k4=Hf(t + H, x +k3, y + c3)
c4=Hg(t + H, x +k3, y + c3)
xn+1 = xn + (k1 + 2(k2 + k3) + k4)/6
yn+1 = yn + (c1 + 2(c2 + c3) +c4)/6

Donde la ecuación (1) es la función f y la ecuación (2) es la función g.


Al aplicar este método siempre se usa el valor k previo para incrementar los valores
de la función y el valor de H para incrementar la variable independiente.

Para t=0 x=1 y= -1


k1=0.1f(0,1, -1)= 0.1[(1)(-1) + 0]= - 0.1 c1=0.1g(0,1,-1)=0.1[(0)(-1) +1]=0.1
k2=0.1f(0+0.1/2,1-0.1/2,-1+0.1/2) c2=0.1g(0.05,0.95,-0.95)
=0.1f(0.05,0.95, -0.95) =0.1[(0.05)(-0.95)+0.95]= 0.0902
=0.1[(0.95)(-0.95)+0.05]= -0.0852 c3=0.1g(0.05,0.9574,-0.9549)
k3=0.1f(0+0.1/2,1-0.0852/2,-1+0.0902/2) =0.1[(0.05)(-0.9549)+0.9574]=
0.0910
=0.1f(0.05, 0.9574, -0.9549) c4=0.1g(0.1, 0.9136, -0.9090)
=0.1[(0.9574)(-0.9549)+0.05]= -0.0864 =0.1[(0.1)(-0.9090)+ 0.9136]=
0.0823
k4=0.1f(0+0.1,1-0.0864,-1+0.0910) Nota: Los mismos parámetros de la
=0.1f(0.1, 0.9136, -0.9090) función f son los mismos para la
=0.1[(0.9136)( -0.9090) +0.1]= -0.0730 función g

Primera iteración
x(0.1) = 1 + (-0.1 + 2(-0.0852-0.0864) -0.0730)/6 = 0.9140
y(0.1) = -1 + (0.1 + 2(0.0902+ 0.0910) + 0.0823)/6 = -0.9092

Para t=0.1 x=0.9140 y= -0.9092


k1=0.1f(0.1,0.9140,-0.9092)= c1=0.1g(0.1,0.9140,-0.9092)=
= 0.1[(0.9140)(-0.9092)+0.1]= -0.0731 =0.1[(0.1)(-0.9092) + 0.9140]= 0.0823
k2=0.1f(0.1+0.1/2,0.9140-0.0731/2,-0.9092+0.0823/2)=
=0.1f(0.15, 0.8775, -0.8680)
=0.1[(0.8775)(-0.8680)+ 0.15]= -0.0612 c2=0.1g(0.15, 0.8775, -0.8680)=
=0.1[(0.15)( -0.8680)+ 0.8775]= 0.0747
k3=0.1f(0.1+0.1/2,0.9140-0.0612/2,-0.9092+0.0747/2)=
=0.1f(0.15, 0.8834, -0.8719)=
=0.1[(0.8834)(-0.8719) + 0.15]= -0.0620 c3=0.1g(0.15, 0.8834, -0.8719)=
=0.1[(0.15)(-0.8719)+0.8834]= 0.0753
k4=0.1f(0.1+0.1,0.9140-0.0620,-0.9092+0.0753)
=0.1f(0.2, 0.8520, -0.8339)=
=0.1[(0.8520)(-0.8339) +0.2]= -0.0510 c4=0.1g(0.2, 0.8520, -0.8339)=
=0.1[(0.2)(-0.8339)+ 0.8520]= 0.0685
4
Universidad del Atlántico – Programa de Ingeniería Química
Segunda iteración
x(0.2)= 0.9140 + (-0.0731 + 2(-0.0612 -0.062) -0.0510)/6= 0.8523
y(0.2)= -0.9092 + ( 0.0823 +2(0.0747+0.0753) +0.0685)/6= -0.8341

EJEMPLO Nº 9 METODO DE RUNGE –KUTTA DE CUARTO ORDEN


Resolver el siguiente sistema de E.D.O con valor inicial
f: x ' =xy +t x(0)=1 (1)
g: y =ty + x
'
y(0)=-1 (2)
mediante un programa usando el método de Runge – Kutta de cuarto orden. H= 0.1
(Tamaño de paso)

-------------------------------programa en Matlab -------------------------------------

clear all clc


disp(' | **************************************|')
disp(' | SOLUCIÓN DE UN SISTEMA DE ECUACIONES |')
disp(' | dx/dt=xy+t ; dy/dt=ty+x x(0)=1 y(0)=-1|')
disp(' |***************************************|')
E1= inline('x*y+t','t','x','y');
E2= inline('t*y+x','t','x','y');
x=1;y=-1;H=0.1;
disp(' RESULTADOS FINALES ')
disp(' t x y K1 C1 K2 C2 K3 C3 K4 C4 ')
for t=0:H:0.2
fprintf(' \n %5.2f %8.4f %8.4f',t,x,y)
K1=H*E1(t,x,y); C1=H*E2(t,x,y);
K2=H*E1(t+H/2,x+K1/2,y+C1/2);
C2=H*E2(t+H/2,x+K1/2,y+C1/2);
K3=H*E1(t+H/2,x+K2/2,y+C2/2);
C3=H*E2(t+H/2,x+K2/2,y+C2/2);
K4=H*E1(t+H,x+K3,y+C3);
C4=H*E2(t+H,x+K3,y+C3);
x=x+ (1/6)*(K1+ 2*(K2+K3)+K4);
y=y+ (1/6)*(C1+ 2*(C2+C3)+C4);
fprintf('%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f
... %8.4f\n',K1,C1,K2,C2,K3,C3,K4,C4)
end

La salida del programa es

5
Universidad del Atlántico – Programa de Ingeniería Química
| *************************************|

| SOLUCIÓN DE UN SISTEMA DE ECUACIONES |

| dxdt=xy+t; dydt=ty+x x(0)=1 y(0)=-1 |

|**************************************|

RESULTADOS FINALES

t y z K1 C1 K2 C2 K3 C3 K4 C4

0.00 1.0000 -1.0000 -0.1000 0.1000 -0.0852 0.0902 -0.0864 0.0910 -0.0730 0.0823

0.10 0.9139 -0.9092 -0.0731 0.0823 -0.0612 0.0747 -0.0620 0.0753 -0.0510 0.0685

0.20 0.8522 -0.8341 -0.0511 0.0685 -0.0411 0.0627 -0.0418 0.0631 -0.0325 0.0579

Ecuaciones diferenciales de segundo orden.


Cuando se requiera resolver ecuaciones diferenciales de segundo orden o de orden
superior, se convierte la ecuación diferencial en un sistema de ecuaciones
diferenciales de primer orden. El siguiente ejemplo ilustra la solución de una
ecuación diferencial de segundo orden con valor inicial, utilizando el método de
Runge – Kutta de cuarto orden.

Ejemplo Nº 10 Solución de una E.D.O de segundo orden.


Convierta la siguiente E.D.O de segundo orden en dos E.D.O de primer orden,
mediante un programa usando el método de Runge-Kutta de cuarto orden:
Y ꞌꞌYꞌ - 6Y 2t
y( 0 ) =1
Y ' ( 0 )=−1
Hallar y(0.3) , yꞌ(0.3)

Solución:
Se convierte la E.D.O de segundo orden en un sistema de dos E.D.O de primer
orden: Procedimiento:
y=y1 Omitiendo los subíndices:
Y'=Z
y1´= y2 y´= z
Z'=2t+6Y – Z
Y(0)=1
y2´= 2t+6y1 – y2 z’=2t+6y – z
Z(0)= -1 y1(0)=1 y(0)=1
y2(0)= – 1 z(0)= – 1

El siguiente programa codificado en Matlab resuelve el sistema de E.D.O de primer


orden.
clearall,clc
disp(' ')
disp(' | *************************************|')
disp(' | SOLUCIÓN DE UN SISTEMA DE ECUACIONES |')
disp(' | Y''=Z ; Z''=2*t+6*y-z |')
6
Universidad del Atlántico – Programa de Ingeniería Química
disp(' |**************************************|')
E1= inline('z','t','z');
E2= inline('2*t+6*y-z','t','y','z');
y=1;z=-1;H=0.1;
disp(' RESULTADOS FINALES ')
disp(' t y z K1 C1 K2 C2 K3 C3 K4 C4 ')
fort=0:H:0.3
fprintf(' \n %5.2f %8.4f %8.4f',t,y,z)
K1=H*E1(t,z);
C1=H*E2(t,y,z);
K2=H*E1(t+H/2,z+C1/2);
C2=H*E2(t+H/2,y+K1/2,z+C1/2);
K3=H*E1(t+H/2,z+C2/2);
C3=H*E2(t+H/2,y+K2/2,z+C2/2);
K4=H*E1(t+H,z+C3);
C4=H*E2(t+H,y+K3,z+C3);
y=y+ (1/6)*(K1+ 2*(K2+K3)+K4);
z=z+ (1/6)*(C1+ 2*(C2+C3)+C4);
fprintf('%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f ...
%8.4f\n',K1,C1,K2,C2,K3,C3,K4,C4)
end
La salida del programa es:
| *************************************|

| SOLUCIÓN DE UN SISTEMA DE ECUACIONES |

| Y'=Z; Z'=2*t+6*y-z |

|**************************************|

RESULTADOS FINALES
t y z K1 C1 K2 C2 K3 C3 K4 C4

0.00 1.0000 -1.0000 -0.1000 0.7000 -0.0650 0.6450 -0.0678 0.6583 -0.0342 0.6135

0.10 0.9334 -0.3467 -0.0347 0.6147 -0.0039 0.5836 -0.0055 0.5943 0.0248 0.5720

0.20 0.9286 0.2438 0.0244 0.5728 0.0530 0.5615 0.0524 0.5706 0.0814 0.5672

0.30 0.9814 0.8111 0.0811 0.5677 0.1095 0.5737 0.1098 0.5819 0.1393 0.5954

EJERCICIOS PROPUESTO.
1. Desarrolle el Ejemplo Nº 7 manualmente usando el método de Runge – Kutta
de cuarto orden. Realice tres iteraciones para t=0, 0.1 y 0.2
2. Desarrolle el Ejemplo Nº 10 manualmente usando el método de Runge –
Kutta de cuarto orden. Realice tres iteraciones para t=0, 0.1 y 0.2

NOTA: Escanear y enviar por correo (Mayo 27 de 2020)

7
Universidad del Atlántico – Programa de Ingeniería Química

También podría gustarte