cresc.log1= function(No, tmax, r, k)
{
resulta=matrix(0,ncol=3,nrow=tmax)
resulta[,1]=1:tmax
resulta[1,c(2,3)]=No
for (i in 2:tmax)
{
resulta[i,2]=k/(1+((k-resulta[(i-1),2])/resulta[(i-1),2])*exp(-r))
resulta[i,3]=resulta[(i-1), 3]+(r*resulta[(i-1),3])*(1-(resulta[(i-1),3]/k))
if (resulta[i, 3]<1)
{resulta[i, 3]=0}
}
plot(resulta[,1],resulta[,2],ylim=c(0,max(resulta[,2:3])),type="l",lty=2,xlab="tempo (t)", ylab="tamanho da população (N)") ## criação do gráfico
par(mfrow=c(1,1))
lines(resulta[,1],resulta[,3])
legend("bottomright",c("crescimento cont. deterministico","crescimento cont. estocastico"),lty=2:1,bty="n")
return(resulta)
}
#cresc.log1(10,200,0.05,80)
#cresc.log1(10,200,1,80)
#cresc.log1(10,200,2.5,80)
#cresc.log1(10,200,2,80)
#cresc.log1(10,200,3,80)
######################################
cresc.log2= function(No, tmax, r, k)
{
resulta=matrix(0,ncol=3,nrow=tmax)
resulta[,1]=1:tmax
resulta[1,c(2,3)]=No
for (i in 2:tmax)
{
resulta[i,2]=k/(1+((k-resulta[(i-1),2])/resulta[(i-1),2])*exp(-r))
resulta[i,3]=resulta[(i-1), 3]+(r*resulta[(i-1),3])*(1-(resulta[(i-1),3]/k))
if (resulta[i, 3]<1)
{resulta[i, 3]=0}
}
par(mfrow=c(1,2))
plot(resulta[,1],resulta[,3],type="l",lty=2,xlab="tempo (t)", ylab="tamanho da população (N)")
plot(resulta[1:tmax-1,3],resulta[2:tmax,3],type="l",col="gray",xlab="N[t]",ylab="N[t+1]")
points(resulta[1:tmax-1,3],resulta[2:tmax,3],pch=20)
}
#cresc.log2(10,200,0.05,80)
#cresc.log2(10,200,2.8,80)