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) lp<-function(ls){ pp<-par pp$logsigma<-ls objnew <- MakeADFun(nll, pp, silent=TRUE, map=list(logsigma=factor(NA))) nlminb(objnew$par, objnew$fn, objnew$gr)$objective } lp<-Vectorize(lp) ls<-seq(-2, 0, by=0.01) ls.pro<-TMB:::tmbprofile(obj, "logsigma") plot(ls.pro) points(ls, lp(ls), col="red")