Diferencia entre revisiones de «Explotación Minera (G15-C)»
(→Representación de la función P(t)) |
(→Modelo Logístico) |
||
| Línea 219: | Línea 219: | ||
La cantidad de mineral que queda sin extraer es: 424.4179 ton. | La cantidad de mineral que queda sin extraer es: 424.4179 ton. | ||
| − | =='''Modelo Logístico | + | =='''Modelo Logístico. Aproximación de Heun '''== |
| + | {{matlab|codigo= | ||
| + | t0=0; | ||
| + | t=t0; | ||
| + | q0=0.1; | ||
| + | h=1/12; | ||
| + | k=10875; | ||
| + | r=(240*4)/k; %Tasa intrínseca de crecimiento según el modelo de Verhulst | ||
| + | q(1)=q0; | ||
| + | i=1; | ||
| + | while 1 | ||
| + | q(i+1)=q(i)+h*r*q(i)*log(k/q(i)); | ||
| + | P(i+1)=r*q(i)*(1-q(i)/k); | ||
| + | t(i+1)=t(i)+h; | ||
| + | if i>1&&abs(r*q(i)*(1-q(i)/k)-25)<0.1&&r*q(i-1)*(1-q(i-1)/k)>r*q(i)*(1-q(i)/k) | ||
| + | break | ||
| + | end | ||
| + | %Heun | ||
| + | k1=r*q(i)*(1-q(i)/k); | ||
| + | k2=r*(q(i)+k1*h)*(1-(q(i)+k1*h)/k); | ||
| + | q(i+1)=q(i)+(h/2)*(k1+k2); | ||
| + | t(i+1)=t(i)+h; | ||
| + | i=i+1; | ||
| + | end | ||
| + | [maximo,tiempo]=max(P) %maximo de la funcion P y y tiempo en el que se alcanza en años | ||
| + | N=length(q); | ||
| + | extraido=q(N); %cantidad de mineral extraida | ||
| + | sinextraer=k-extraido %cantidad de mineral que queda por extraer | ||
| + | plot(t,P) }} | ||
| + | |||
| + | [[Archivo:Heun10.jpg|300px|thumb|left|Heun]] | ||
| + | |||
=='''Reajuste de Datos '''== | =='''Reajuste de Datos '''== | ||
En este apartado, se propone la revisión del modelo pasados 12 años. Los datos reales proporcionados son: la cantidad de mineral extraído hasta ese momento es de 2695 toneladas; y la cantidad de mineral que falta por extraer es de 9075 toneladas;(K-Q(12)=9075). Por lo tanto la cantidad total de mineral que se podía extraer es de K= 9075+2695=11770 toneladas. | En este apartado, se propone la revisión del modelo pasados 12 años. Los datos reales proporcionados son: la cantidad de mineral extraído hasta ese momento es de 2695 toneladas; y la cantidad de mineral que falta por extraer es de 9075 toneladas;(K-Q(12)=9075). Por lo tanto la cantidad total de mineral que se podía extraer es de K= 9075+2695=11770 toneladas. | ||
Revisión del 13:58 6 mar 2015
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Explotación minera. Grupo 15-C |
| Asignatura | Ecuaciones Diferenciales |
| Curso | Curso 2014-15 |
| Autores | Belén Salamanca, M.Rosario Ruiz Serrano , Almudena Román, Carmén Rocio LLanes, Elena Suta, Sergio Fernández |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
- 1 Introducción
- 1.1 Relación entre Producción-Material extraido
- 1.2 Valor de la tasa intrínseca de crecimiento (r)
- 1.3 Relación entre la producción y el volumen de toneladas extraidas según el modelo de Gompertz
- 1.4 Relación entre la producción y el volumen de toneladas extraídas según el modelo de Verhulst
- 1.5 Problema de valor inicial y aproximación de la cantidad de material extraído por el método de Euler
- 1.6 Aproximación de la cantidad de material extraído con los métodos de Runge kutta y Heun
- 1.7 Cantidad de mineral cuando el tiempo tiende a infinito
- 1.8 Representación de la función P(t)
- 1.9 Cantidad de mineral sin extraer una vez transcurrida la vida útil
- 1.10 Modelo Logístico. Aproximación de Heun
- 1.11 Reajuste de Datos
1 Introducción
1.1 Relación entre Producción-Material extraido
Dada la ecuación diferencial proporcionada en el problema, donde se tiene la derivada de Q con respecto al tiempo, la función de producción es la propia derivada, ya que Q es la función de distribución y P es la densidad, con lo cual la relación entre ambas es la derivada, esto es:
dx/dt=rQ log(K/Q)=P
1.2 Valor de la tasa intrínseca de crecimiento (r)
Como ya se ha comentado anteriormente la función P(producción) es la derivada de la cantidad extraída de material,
dx/dt=rQ log(K/Q)=P
sabemos que la producción máxima es de 240, por tanto, derivando la función P e igualando a 0 obtenemos donde se produce el máximo
dP/dt=0 t= c/r
que introducido en la ecuación P e igualando a 240 se obtiene el valor de la tase de crecimiento r pedido
r= 240e/k =0.06
1.3 Relación entre la producción y el volumen de toneladas extraidas según el modelo de Gompertz
Mediante el modelo de Gompertz, podemos expresar la producción de minerales (P en función de Q), como hemos visto en el apartado anterior. En la gráfica se observa cómo dicha producción aumenta hasta llegar a su máximo y a continuación disminuye. Para representar la curva necesitamos el siguiente código matlab:
b=240
k=10875;
r=b*exp(1)/k;
q=0:1:10875;
N=length(q);
P=zeros(1,N);
for i=1:N
P(i)=r*q(i)*log(k/q(i));
end
plot(q,P)1.4 Relación entre la producción y el volumen de toneladas extraídas según el modelo de Verhulst
Volvemos a dibujar la curva del modelo de Gompertz descrita en el apartado anterior, y en una segunda ventana la curva de Verhulst. Para ello, necesitamos definir una nueva función, así como una nueva tasa intrínseca de crecimiento. [math] Q'=rQ(1-\frac{Q}{k}) [/math]
Añadimos una tercera ventana en la que se dibujan las gráficas de ambos modelos, para poder compararlas. Necesitamos el siguiente código matlab para obtener los resultados:
b=240;
k=10875;
r1=b*exp(1)/k;%Tasa intrínseca de crecimiento según el modelo de Gompertz
r2=(240*4)/10875; %Tasa intrinseca de creciemiento según el modelo de Verhulst
q=0:1:10875;
N=length(q);
P=zeros(1,N);
for i=1:N
P(i)=r1*q(i)*log(k/q(i)); %Gompertz
PV(i)=r2*q(i)*(1-q(i)/k); %Verhulst
end
subplot(1,3,1)
plot(q,P,'k') %Curva para la función de Gompertz
xlabel('cantidad')
ylabel('produccion')
subplot(1,3,2)
plot(q,PV,'r') %Curva para la función de Verhulst
xlabel('cantidad (tn)')
ylabel('produccion (tn/año)')
subplot(1,3,3) %Comparación entre las curvas de ambos modelos
plot(q,P,'k')
xlabel('cantidad')
ylabel('produccion')
hold on %Para superponer gráficas
plot(q,PV,'r')
xlabel('cantidad (tn)')
ylabel('produccion (tn/año)')
legend('Modelo Gompertz','Modelo Verhulst','Location','best') %Leyenda
hold off
1.5 Problema de valor inicial y aproximación de la cantidad de material extraído por el método de Euler
Sea el problema de valor inicial dQ/dt=r*Q*log(k/Q) tal que Q(0)=0.1, la gráfica representa la variación de cantidad de mineral extraible a lo largo del tiempo. Como se puede observar, en un primer momento podemos extraer mucha cantidad de mineral hasta que, al llegar a un tiempo t y debido a que los recursos minerales limitados, la tasa de rendimiento de extracción del mineral es inferior a 25 toneladas/año (estamos alcanzando la máxima cantidad extraible). Por lo tanto, ya no es rentable seguir con la extracción.
t0=0;
h=1/12;
k=10875;
b=240;
r=b*exp(1)/k;
t(1)=t0;
q(1)=0.1;
c=log(log(k/q(1)));
Q=k/(exp(exp(-r*t+c)));
i=1;
while 1
q(i+1)=q(i)+h*r*q(i)*log(k/q(i));
t(i+1)=t(i)+h;
if i>1&&abs((r*q(i)*log(k/q(i)))-25)<0.1&&abs((r*q(i-1)*log(k/q(i-1))))>abs((r*q(i)*log(k/q(i))));
break
end
i=i+1;
end
[t',q']
plot(t,q)1.6 Aproximación de la cantidad de material extraído con los métodos de Runge kutta y Heun
clear all
%Condiciones iniciales
t0=0;
q0=0.1;
h=1/12;
k=10875;
b=240;
r=b*exp(1)/k;
%Variable dependiente
t=t0;
q(1)=q0;
z(1)=q0;
i=1;
while 1
K1=r*q(i)*(log(k)-log(q(i)));
K2=r*(q(i)+1/2*K1*h)*(log(k)-log(q(i)+1/2*K1*h));
K3=r*(q(i)+1/2*K2*h)*(log(k)-log(q(i)+1/2*K2*h));
K4=r*(q(i)+K3*h)*(log(k)-log(q(i)+K3*h));
q(i+1)=q(i)+h/6*(K1+2*K2+2*K3+K4);
t(i+1)=t(i)+h;
if i>1&&abs(r*q(i)*(log(k)-log(q(i)))-25)<0.1&&r*q(i-1)*(log(k)-log(q(i-1)))>r*q(i)*(log(k)-log(q(i)))
break
end
i=i+1;
end
i=1;
while 1
K1=r*z(i)*(log(k)-log(z(i)));
K2=r*(z(i)+K1*h)*(log(k)-log(z(i)+K1*h));
z(i+1)=z(i)+h/2*(K1+K2);
t(i+1)=t(i)+h;
if i>1&&abs(r*z(i)*(log(k)-log(z(i)))-25)<0.1&&r*z(i-1)*(log(k)-log(z(i-1)))>r*z(i)*(log(k)-log(z(i)))
break
end
i=i+1;
end
hold on
plot(t,q,'b*')
plot(t,z,'r+')
legend('RK4','HEUN','location','best')
hold off
1.7 Cantidad de mineral cuando el tiempo tiende a infinito
tN=input('Introduce un valor del tiempo muy grande:');
t=0:1:tN;
N=length(t);
Q=zeros(1,N);
r=240*exp(1)/10875;
Q0=0.1;
K=10875;
Q(1)=Q0;
Q=K*exp(exp(-r*t)*(log(Q0/K)));
for i=1:N
Q(i)=K*exp(exp(-r*t(i))*(log(Q0/K)));
end
Q(tN)
plot(t,Q)
1.8 Representación de la función P(t)
Se adjunta el código matlab que da la función de producción en función del tiempo.
clear all
t=0:1:200;
n=length(t);
Q0=0.1;
K=10875;
r=240*exp(1)/K;
C=log(log(K/Q0));
for i=1:n
P(i)=(K*r*exp(-r*t(i)+C))/(exp(exp(-r*t(i)+C)));
end
[maximo,tiempo]=max(P) %maximo de la funcion P y y tiempo en el que se alcanza en años
plot(t,P)
El máximo alcanzado por la función P(t) es 239.9906 ton., y se alcanza a los 42 años
La función resultante es:
1.9 Cantidad de mineral sin extraer una vez transcurrida la vida útil
En apartados anteriores hemos obtenido la función de euler para la cantidad de mineral extraído (Q). Creamos un vector q a lo largo del tiempo, y sabemos que en el último punto del vector la función tiene el valor del total extraído. Sabiendo que k es la cantidad total que se puede extraer, basta con restarle a este valor la q calculada para obtener lo que queda sin extraer. Para ello hemos utilizado el siguiente código matlab:
t0=0;
q0=0.1;
h=1/12;
t=t0;
k=10875;
r=240*exp(1)/k; %Tasa intrínseca de crecimiento modelo de Gompertz
q(1)=q0;
i=1;
while 1
q(i+1)=q(i)+h*r*q(i)*log(k/q(i)); %euler
t(i+1)=t(i)+h;
if i>1&&abs((r*q(i)*log(k/q(i)))-25)<0.1&&r*q(i-1)*log(k/q(i-1))>r*q(i)*log(k/q(i))
break
end
i=i+1;
end
N=length(q);
extraido=q(N); %cantidad de mineral extraida
sinextraer=k-extraido %cantidad de mineral que queda por extraer
La cantidad de mineral que queda sin extraer es: 424.4179 ton.
1.10 Modelo Logístico. Aproximación de Heun
t0=0;
t=t0;
q0=0.1;
h=1/12;
k=10875;
r=(240*4)/k; %Tasa intrínseca de crecimiento según el modelo de Verhulst
q(1)=q0;
i=1;
while 1
q(i+1)=q(i)+h*r*q(i)*log(k/q(i));
P(i+1)=r*q(i)*(1-q(i)/k);
t(i+1)=t(i)+h;
if i>1&&abs(r*q(i)*(1-q(i)/k)-25)<0.1&&r*q(i-1)*(1-q(i-1)/k)>r*q(i)*(1-q(i)/k)
break
end
%Heun
k1=r*q(i)*(1-q(i)/k);
k2=r*(q(i)+k1*h)*(1-(q(i)+k1*h)/k);
q(i+1)=q(i)+(h/2)*(k1+k2);
t(i+1)=t(i)+h;
i=i+1;
end
[maximo,tiempo]=max(P) %maximo de la funcion P y y tiempo en el que se alcanza en años
N=length(q);
extraido=q(N); %cantidad de mineral extraida
sinextraer=k-extraido %cantidad de mineral que queda por extraer
plot(t,P)
1.11 Reajuste de Datos
En este apartado, se propone la revisión del modelo pasados 12 años. Los datos reales proporcionados son: la cantidad de mineral extraído hasta ese momento es de 2695 toneladas; y la cantidad de mineral que falta por extraer es de 9075 toneladas;(K-Q(12)=9075). Por lo tanto la cantidad total de mineral que se podía extraer es de K= 9075+2695=11770 toneladas.
Basándonos en la indicación del problema la tasa intrínseca de crecimiento (r) se calcula mediante un bucle que dando valores a r para que se obtenga el valor de la cantidad de mineral extraído a los 12 años.
En primer lugar hemos calculado con el modelo de Gompertz inicial los valores de la producción (P) y la cantidad de mineral extraído, para ello hemos utilizado el bucle del apartado uno y la solución del problema de valor inicial planteado. Una vez conocido la cantidad de mineral extraído a lo largo del tiempo hemos tomado el tomado el valor para t=12 años que ocupa la posición número 13 del vector (q). A continuación hemos reajustado el modelo de forma que la nueva población límite pasa a ser de 9075 toneladas. Realizando un bucle "while" hemos introducido los valores de la producción inicial obteniendo distintos valores para la (r), siendo el que más se aproxima a nuestro valor r=0.0708.
Se observa que la tasa intrínseca de rendimiento (r) es mayor una vez revisado el modelo, lo cual es evidente ya que se han producido mejoras en las técnicas de extracción del mineral.
clear all, clc
b=240
k=10875;
r0=b*exp(1)/k;
t0=0;
tN=25;
h=1/12;
N=(tN-t0)/h;
C=log(log(k/0.1));
q=zeros(1,N);
q(1)=0.1
P=zeros(1,N);
t=t0:h:tN;
for i=1:N
P(i)=r0*q(i)*log(k/q(i));
q(i+1)=k/(exp(exp(-r0*t(i)+C)));
end
q0=q(13);
K=9075;
n=1;
while 1
r(n)=(C-log(log(K/q(n))))/t(n);
if n>1&&q(n)>q0
r(n-1);
break
end
n=n+1;
end
r(length(r))
para la nueva r y la nueva K procedemos a realizar la aproximación mediante el método de Heun y compararla
para los valores de