Tabela de conteúdos

Crescimento logístico discreto e contínuo

Função para simular populações com Crescimento logístico discreto e contínuo

Argumentos

Argumentos definidos:

Código da Função

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)

Arquivo da Função

Arquivo em TXT

Retirar o .pdf

crescimento_logistico_discreto_e_continuo.txt.pdf

Discussão dos Resultados