[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