Diferencia entre revisiones de «Modelos de mezclas (Grupo 10)»
| Línea 17: | Línea 17: | ||
Se añade un tercer pantano que denominamos C. Éste se une al pantano B mediante una segunda presa que soltará 6 <math>Hm^3/día</math> recibiendo 1.5 <math>Hm^3/día</math> de agua limpia de ríos. | Se añade un tercer pantano que denominamos C. Éste se une al pantano B mediante una segunda presa que soltará 6 <math>Hm^3/día</math> recibiendo 1.5 <math>Hm^3/día</math> de agua limpia de ríos. | ||
| + | |||
| + | [[Archivo:Tercer pantano.png|400px|sinmarco|centro]] | ||
== Primer Apartado == | == Primer Apartado == | ||
Revisión del 14:57 5 mar 2013
Contenido
1 Enunciado
1.1 Situación general
Dos pantanos A y B, con 100 [math]Hm^3[/math] de agua cada uno, que están unidos por una presa que deja pasar agua de A a B. El pantano A recibe 3 [math]Hm^3/día[/math] de agua limpia proveniente de ríos y el B 1.5 [math]Hm^3/día[/math]. Para mantener el nivel de los pantanos estable la presa de A a B deja pasar una media de 3 [math]Hm^3/día[/math] mientras que la presa al final de B desaloja 4.5 [math]Hm^3/día[/math]. Se produce un vertido tóxico en el pantano A que deja 20 toneladas de un cierto contaminante. Supongamos que se dan las siguientes hipótesis::
- El contaminante está disuelto de forma homogénea en el agua de los pantanos.
- Al entrar o salir agua en un pantano, ésta se mezcla con el agua del pantano de forma inmediata creando una mezcla homogénea.
- La variación de contaminante en un lago es la diferencia entre el contaminante que entra y sale en el lago, es decir si denotamos por [math] x_A (t) [/math] la cantidad de contaminante en el lago A, se tiene:: [math] \frac{dx_A}{dt} = velocidad de entrada – velocidad de salida[/math]
1.2 Situaciones posteriores
1.2.1 Adición de un tercer pantano
Se añade un tercer pantano que denominamos C. Éste se une al pantano B mediante una segunda presa que soltará 6 [math]Hm^3/día[/math] recibiendo 1.5 [math]Hm^3/día[/math] de agua limpia de ríos.
2 Primer Apartado
2.1 Método de Euler
%Sistema 1 aproximado por el método de Euler
t0=0; tN=100;
x0=[20 0]';
N=500; h=(tN-t0)/N;
A=[-3/100 0;3/100 -4.5/100];
x=x0;
t=t0:h:tN;
x1(1)=x(1);
x2(1)=x(2);
for n=1:N
x=x+h*A*x;
x1(n+1)=x(1);
x2(n+1)=x(2);
end
X1=20*exp(-3*t/100);
X2=40*(exp(-3*t/100)-exp(-4.5*t/100));
subplot(1,2,1)
hold on
plot(t,x1,'xg')
plot(t,x2,'-*')
xlabel('Aproximación de la cantidad de contaminante por el método de Euler')
hold off
subplot(1,2,2)
hold on
plot(t,X1,'--g')
plot(t,X2,'--')
xlabel('Cantidad de contaminante real')
hold off
2.2 Método de Runge-Kutta
%Resolución del sistema 2 por el método Runge kutta
t0=0; tN=50;
x0=[20 0]';
N=500; h=(tN-t0)/N;
A=[-3/100 0;3/100 -4.5/100];
x=x0;
t=t0:h:tN;
x1(1)=x(1);
x2(1)=x(2);
for n=1:N
k1=A*x;
k2=A*(x+1/2*k1*h);
k3=A*(x+1/2*k2*h);
k4=A*(x+k3*h);
x=x+(h*(k1+2*k2+2*k3+k4))/6;
x1(n+1)=x(1);
x2(n+1)=x(2);
end
X1=20*exp(-3*t/100);
X2=40*(exp(-3*t/100)-exp(-4.5*t/100));
subplot(1,2,1);
hold on
plot(t,x1,'xg')
plot(t,x2,'-*')
xlabel('Aproximación de la cantidad de contaminante por el método de Euler')
hold off
subplot(1,2,2);
hold on
plot(t,X1,'--g')
plot(t,X2,'--')
xlabel('Cantidad de contaminante real')
hold off
3 Segundo Apartado
3.1 Método de Euler
t0=0; tN=100;
x0=[20 0]';
N=500; h=(tN-t0)/N;
A=[-4/100 0;4/100 -5.5/100];
x=x0;
t=t0:h:tN;
x1(1)=x(1);
x2(1)=x(2);
for n=1:N
x=x+h*A*x;
x1(n+1)=x(1);
x2(n+1)=x(2);
end
s=sqrt(73);
X1=(10/s)*exp(-19*t/400).*((s+3)*exp(s*t/400)+(s-3)*exp(-s*t/400));
Xprima=(10/s)*exp(-19*t/400).*(((-19+s)/400)*(s+3)*exp(s*t/400)+((-19-s)/400)*(s-3)*exp(-s*t/400));
X2=100*Xprima+4*X1;
subplot(1,2,1)
hold on
plot(t,x1,'xr')
plot(t,x2,'-*k')
xlabel('Aproximación de la cantidad de contaminante por el método de Euler')
hold off
subplot(1,2,2)
hold on
plot(t,X1,'--r')
plot(t,X2,'--k')
xlabel('Cantidad de contaminante real')
hold off
3.2 Método Runge-Kutta
t0=0; tN=50;
x0=[20 0]';
N=500; h=(tN-t0)/N;
A=[-4/100 0;4/100 -5.5/100];
x=x0;
t=t0:h:tN;
x1(1)=x(1);
x2(1)=x(2);
for n=1:N
k1=A*x;
k2=A*(x+1/2*k1*h);
k3=A*(x+1/2*k2*h);
k4=A*(x+k3*h);
x=x+h/6*(k1+2*k2+2*k3+k4);
x1(n+1)=x(1);
x2(n+1)=x(2);
end
s=sqrt(73);
X1=(10/s)*exp(-19*t/400).*((s+3)*exp(s*t/400)+(s-3)*exp(-s*t/400));
Xprima=(10/s)*exp(-19*t/400).*(((-19+s)/400)*(s+3)*exp(s*t/400)+((-19-s)/400)*(s-3)*exp(-s*t/400));
X2=100*Xprima+4*X1;
subplot(1,2,1);
hold on
plot(t,x1,'xr')
plot(t,x2,'-*k')
xlabel('Aproximación de la cantidad de contaminante por el método de Euler')
hold off
subplot(1,2,2);
hold on
plot(t,X1,'--r')
plot(t,X2,'--k')
xlabel('Cantidad de contaminante real')
hold off