Função para simular populações com crescimento populacional exponencial discreto e contínuo
Argumentos definidos:
###No=100 ###lamb=1.04 ###tmax=10 ###r=0.2 cresc.pop= function(No, lamb, tmax, r) { resulta=matrix(0,ncol=3,nrow=tmax) ##criando matriz com 3 colunas e tmax linhas resulta[,1]=1:tmax ##Linhas da coluna 1 [,1] tem valores de 1 até tmax resulta[1,c(2,3)]=No #preenchimento das células i (linhas) das colunas 2 e 3 for (i in 2:tmax) { resulta[i,2]=lamb*resulta[(i-1),2] resulta[i,3]=resulta[(i-1),3]*exp(r) } plot(resulta[,1],resulta[,2],type="l",lty=2,xlab="tempo (t)", ylab="tamanho da população (N)") ###Criação do gráfico lines(resulta[,1],resulta[,3]) legend("topleft",c("crescimento discreto","crescimento contínuo"),lty=2:1,bty="n") return(resulta) } ##cresc.pop(100,1.04,10,0.2) ##cresc.pop(100,1.2,15,0.3) ########################################################## cresc.pop2=function (N0,tmax,r,varr) { resulta=matrix(NA,nrow=tmax,ncol=3) resulta[1,2:3]=N0 resulta[,1]=1:tmax for (i in 2:tmax) { re<-rnorm(1, r, sqrt(varr)) resulta[i,2] = resulta[(i-1),2]*exp(r) resulta[i,3] = resulta[(i-1),3]*exp(re) } plot(resulta[,1],resulta[,2],type="l",lty=2,xlab="tempo (t)", ylab="tamanho da população (N)") lines(resulta[,1],resulta[,3]) legend("topleft",c("crescimento contínuo determinístico (r = 0.1)","crescimento contínuo estocástico (var r = 0.01)"),lty=2:1,bty="n") return(resulta) } ##cresc.pop2(10,50,0.1,0.01) ##cresc.pop2(1000,50,0.2,0.03) ##cresc.pop2(100,50,0.1,0.04)
Tirar o .pdf.