library(RTMB) dat <- read.table("bh.dat", header=TRUE) par <- list(loga=0, logb=0, logsigma=0) nll<-function(par){ getAll(par, dat) sigma <- exp(logsigma) pred <- loga+log(ssb)-log(1+exp(logb)*ssb) nll <- -sum(dnorm(logR,pred,sigma,TRUE)) return(nll) } obj <- MakeADFun(nll, par, silent=TRUE) opt <- nlminb(obj$par, obj$fn, obj$gr) print(opt$par) #