###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)