Dear All,
 
I could use a bit of help here, this function is hard to figure out (for me at least) I have the following so far:
 
PKindex<-data.frame(Subject=c(1),time=c(1,2,3,4,6,10,12),conc=c(32,28,25,22,18,14,11))
Dose<-200
Tinf <-0.5
 
defun<- function(time, y, parms) { 
 dCpdt <- -parms["kel"] * y[1] 
 list(dCpdt) 
 } 
modfun <- function(time,kel, Vd) {  
 out <- lsoda(((Dose/Tinf)*(1/(kel*Vd)))*(1-exp(-kel*time)),c(0,time),defun,parms=c(kel=kel,Vd=Vd),rtol=1e-3,atol=1e-5) 
 out[-1,2]
 }
objfun <- function(par) {
 out <- modfun(PKindex$time, par[1], par[2])
 gift <- which( PKindex$conc != 0 )
 sum((PKindex$conc[gift]-out[gift])^2)
 }        
gen<-genoud(objfun,nvars=2,max=FALSE,pop.size=30,max.generations=100,wait.generations=100,starting.value=c(0.7,60),BFGS=FALSE,print.level=0,boundary.enforcement=2,Domains=matrix(c(0.01,0.01,100,100),2,2),MemoryMatrix=TRUE)
 
but get the following:
 Error in lsoda(((Dose/Tinf) * (1/(kel * Vd))) * (1 - exp(-kel * time)),  :   The number of derivatives returned by func() (1must equal the length of the initial conditions vector (7)
 
i figured that having the "time" parameter in the equation screws things up, but do not now how to fix it bc I do not understand the warning message.
 
 
your help is greatly apreciated,
 
Sincerely,
 
Andras
	[[alternative HTML version deleted]]

