Professional Documents
Culture Documents
diferenciales en R
Antes que nada instalar la libreria odesolve
adjunto
'http://cran.fr.r-project.org/bin/windows/contrib/2.8/odesolve_0.5-20.zip'
library(odesolve)
require(odesolve)
lake <- function(t, x, parms) {
qin <- parms["qin"] # flujo de entrada en m3 por s
qout <- parms["qout"] # flujo de salida en m3 por s
cin <- parms["cn"] # concentracion de entrada en mucrog por l
rx
<- parms["rx"] # velocidad reaccion en kg por dia
v
<- parms["v"] # volumen del sistema en m3
C
<- x[1] # concentracion en el sistema en microg por l
with(as.list(parms),{
dC <- (qin*cin*0.0864/v)-(qout*C*0.0864/v)-(rx/v)
list(c(dC))
})
}
# vectors of parameters, timesteps and initial values
qin <-10.0
qout <-10.0
cin <- 100.0
rx <- 50.0
v <- 100.0
C0 <- 0.0
#m3/s (Long)
#m3/s
#ug/l
# Kg/d
# l
# conc salida ug/l
}
# vectors of parameters, timesteps and initial values
qin <-10.0
qout <-10.0
cin <- 100.0
rx <- 50.0
v <- 100.0
C0 <- 0.0
times
#m3/s (Long)
#m3/s
#ug/l
# Kg/d
# l
# conc salida ug/l
require(deSolve)
params<-c(tau=0.01,k=0.01)
state <-c(C=100)
enzyme<-function(t,state,parameters)
{with(as.list(c(state,parameters)),{
dC <- C/tau-(1/tau + k)*C
list(c(dC))
})
}
times <-seq(0,100,0.1)
out <as.data.frame(ode(state,times,enzyme,params))
plot (times,out$C,type="l",main="[C]",
xlab="time, hours", ylab="mol/m3",lwd=2)
mtext(outer=TRUE,side=3,"enzymatic reaction
",cex=1.5)