Resolucion Por Matlab
Resolucion Por Matlab
Resolucion Por Matlab
Considere dos tanques en series con alturas de líquidos h1 y h2, donde el flujo
que sale del primer tanque entra al segundo tanque. El objetivo es desarrollar un
modelo para describir como la altura del líquido en el tanque 2 cambia con el
tiempo, teniendo el flujo de entrada . Suponga que el flujo que sale de cada
F0
uno de los tanques es una función lineal de la altura del líquido en el tanque y
cada uno de los tanques tiene un área transversal constante.
F1
F2
F0
h2
h1
V1
V2
ECUACIONES:
(1)
Balance de masa (volumen de control 2):
(2)
Ecuaciones consecutivas:
(3)
(4)
(5)
Variables:
t: Tiempo (s)
M: Flujo másico en el punto i (Kg/s)
: Densidad del líquido en el punto i (Kg/m 3)
: volumen (m3)
: Altura del tanque j (m)
: Área de sección transversal del tanque j (m2)
: Masa del líquido en el punto i (Kg)
: Flujo volumétrico del líquido en el punto i (m 3/s)
Suposiciones:
El proceso se realiza a propiedades físico-químicas
constantes,
Variación lineal con la altura de los flujos de salida en cada
tanque.
(6)
(7)
PARÁMETROS:
Los parámetros son las constantes k1, k2, A1 y A2.
Modelo a resolver:
(8)
(9)
(10)
(11)
(13)
(14)
(11)
(14)
(15)
- (16)
Para (15):
-
(17)
Para (16):
(18)
h2(s) = ℒ - 1 ℒ-1 +
ℒ-1
h2(s) = + ) + )
h2(s) = + ) (19)
h1(s) =
Y aplicándole la transformada inversa, se tiene:
h1(s)= ℒ - 1 ℒ-1
h1(s)= + (20)
t(h) h1
0 1
1 1,09516258
2 1,18126925
3 1,25918178
4 1,32967995
5 1,39346934
Comando en Excel: =-(EXP(-0,1*B25))+2. Siendo B25 el primer termino de tiempo,
y se arrastró hacia abajo consiguiendo los otros resultados.
t(h) h2
0 0
1 0,05114914
2 0,1042185
3 0,15869429
4 0,21412779
5 0,27012831
Comando en excel: =2-3*(EXP(-0,05*B2))+(EXP(-0,1*B2)). Siendo B2 el primer
termino de tiempo y se arrastro hacia abajo obteniendo los otros resultados.
function R=mrk4s(f1,f2,a,b,y1a,y2a,M)
%Entrada
% -f1 y f2 son las EDO del sistema a solucionar,
% ingresada como df1/dt=f(x,y,t) y df2/dt=f(x,y,t)
% -a y b son los extremos del intervalo
% -y1a es la condicion inicial f1(a)
% -y2a es la condicion inicial f2(a)
% -M es el numero maximo de iteraciones
%Salida
% -R=[T' Y' Z'] donde T es el valor de las abcisas, Y el
% valor de f1(t) y Z el valor de f2(t)
h=(b-a)/M;
T=zeros(1,M+1);
Y=zeros(1,M+1);
Z=zeros(1,M+1);
T=a:h:b;
Y(1)=y1a;
Z(1)=y2a;
for j=1:M
t=T(j);
x=Y(j);
y=Z(j);
k11=h*eval(f1);
k12=h*eval(f2);
t=T(j)+h/2;
x=Y(j)+k11/2;
y=Z(j)+k12/2;
k21=h*eval(f1);
k22=h*eval(f2);
t=T(j)+h/2;
x=Y(j)+k21/2;
y=Z(j)+k22/2;
k31=h*eval(f1);
k32=h*eval(f2);
t=T(j)+h;
x=Y(j)+k31;
y=Z(j)+k32;
k41=h*eval(f1);
k42=h*eval(f2);
Y(j+1)=Y(j)+(k11+2*k21+2*k31+k41)/6;
Z(j+1)=Z(j)+(k12+2*k22+2*k32+k42)/6;
end
R=[T' Y' Z'];
mrk4s('0.2-0.1*x','0.05*x-0.05*y',0,5,1,0,10);
t=zeros(1,11);
h1=zeros(1,11);
h2=zeros(1,11);
t=0:0.5:5;
for i=1:11
h1(i)=2+exp(-0.1*t(i))-2*exp(-0.1*t(i));
h2(i)=2-3*exp(-0.05*t(i))+exp(-0.1*t(i));
end
Rtas1=[t' h1' h2'];
Rtas2=[ans(:,1),ans(:,2),ans(:,3)];
disp(' Resultado Analitico')
disp(' t h1(t) h2(t)')
disp(Rtas1)
disp(' Resultado Numerico')
disp(' t h1(t) h2(t)')
disp(Rtas2)
subplot(2,1,1)
plot(t,h1,ans(:,1),ans(:,2),'*r')
legend('Analitico','Numerico(MRK-04)')
xlabel('t (hrs)'),ylabel('h1 (ft)')
subplot(2,1,2)
plot(t,h2,ans(:,1),ans(:,3),'*r')
legend('Analitico','Numerico(MRK-04)')
xlabel('t (hrs)'),ylabel('h2 (ft)')
Comparación de Resultados: