## ----setup, include=FALSE, cache=FALSE---------------------------- library(knitr) opts_chunk$set(fig.path='figure/multisensi-vignette-') options(formatR.arrow=TRUE, width=68) knit_hooks$set(close.dev = function(before, options, envir) { if (!before) graphics.off()}) ## ----ME, echo=TRUE, tidy=TRUE------------------------------------- verhulst <- function(K, Y0, a, t){ output <- K / (1 + (K/Y0-1)*exp(-a*t)) return(output) } ## ----MEmulti, echo=TRUE, tidy=TRUE-------------------------------- T <- seq(from=5, to=100, by=5) verhulst2 <- function(X, t=T){ out <- matrix(nrow=nrow(X), ncol=length(t), NA) for(i in 1:nrow(X)){ out[i,] <- verhulst(X$K[i], X$Y0[i], X$a[i], t) } out <- as.data.frame(out) ; names(out) <- paste("t",t,sep="") return(out) } ## ----MEplot, echo=TRUE, tidy=TRUE, include=TRUE, dev='pdf', close.dev=TRUE, fig.align='center',fig.width=5, fig.height=3.5, out.width='0.9\\linewidth'---- n <- 10 ; set.seed(1234) X <- data.frame(K=runif(n, min=100,max=1000), Y0=runif(n, min=1, max=40), a=runif(n, min=0.05,max=0.2)) Y <- verhulst2(X) par(cex.axis=0.7, cex.lab=0.8) plot(T, Y[1,], type="l", xlab= "Time", ylab="Population size", ylim=c(0,1000)) for(i in 2:n){ lines(T, Y[i,], type="l", col=i) } ## ----MEdynsi1, tidy=FALSE, echo=TRUE------------------------------ library(multisensi) verhulst.seq <- multisensi(model=verhulst2, reduction=NULL, center=FALSE, design.args = list( K=c(100,400,1000), Y0=c(1,20,40), a=c(0.05,0.1,0.2))) ## ----