[R-sig-dyn-mod] NA error in deSolve
Dabing Chen
dabing.c at gmail.com
Wed Jan 14 22:06:50 CET 2015
Hi All:
I was trying to simplify my previous code on tablet dissolution
using vectors. However, I constantly ran into NA problem. Can somebody help
me? Thanks a lot.
Best regards!
Dabing
rm(list=ls())
library (deSolve)
W_frac <- rep(0.2,5)# the weight fraction
R_size <- seq(10E-4,50E-4,10E-4) # the weight fraction corresponding
size in cm
Dose = 50 # initial dose in mg
Tablet <- Dose # intial dose in mg
Particle <- rep(0,5)
Y <- 0
state <- c(Tablet,Particle,Y)
S = 0.1
den = 1300 # density unit mg/ml
Diff = 7E-6 # diffusion coeffiecient cm2/s
V= 900 # volume of dissolution medium in ml
P_diss <- function(X,X0,r){
result <- -pmin(-3*Diff*X0^(2/3)*X^(1/3)/(den*(30E-4)*r)*(S-Y/V)*60,X)
result[(X<=0)|(S<Y/V)]<- 0
cond1 <- r*(X/X0)^(1/3) < 30E-4
result[cond1] <-
-pmin(-3*Diff*X0^(1/3)*X^(2/3)/(den*r^2)*(S-Y/V)*60,X)[cond1]
return(result)
}
Lorenz <- function(t, state, para){
with (as.list(c(state, para)), {
ddisinte <- 0.1 # rate of tablet disintegration
dTablet <- -ddisinte*Tablet
dParticle <- dTablet*W_frac +
P_diss(Particle,(Dose-Tablet)*W_frac,R_size)
dY <- -sum(P_diss(Particle,(Dose-Tablet)*W_frac,R_size))
list (c(dDose, dParticle, dY))
})
}
times <- seq(0,1440, by = 1)
out <- ode(y = state, t = times, func = Lorenz, parms = 0)
[[alternative HTML version deleted]]
More information about the R-sig-dynamic-models
mailing list