Variações do Modelo Logístico

Crescimento Discreto Análogo ao Modelo Logístico

Abaixo apresentamos o código do crescimento discreto análogo ao crescimento logístico1), como apresentado no livro do Gotelli(2007, eq. 2.4), e simulamos uma população:

############################
### Crescimento Discreto ###
############################

discrLog=function(N0=1, rd=0.05, K=100, tmax=100)
{
resulta=rep(N0,tmax)
	for(t in 2:tmax)
	{
	lastN=resulta[t-1]
	resulta[t]=lastN+rd*lastN*(1-lastN/K)
	}
return(resulta)
}

pop2<-discrLog(N0=1, rd=0.05, K=100, tmax=100)
plot(1:100,pop2, pch=16, col="red",xlab="tempo (gerações)", ylab="Tamanho da população (N)", bty="l", cex.lab=1.2, cex.axis=1.2)	
lines(1:100, pop2, lty=2, cex=0.8)

Exercício Caos Total

Assim como simulamos várias populações com tamanhos iniciais distintos, faça o mesmo simulando populações com crescimento discreto variando o rd variando de 1 a 3, com capacidade de suporte fixa (K=100) e N0=10.
  • Essas populações são estáveis?
  • Acontece o mesmo ao simular populações com crescimento contínuo?
  • O que acontece se mudarmos o K=50 ou a tamanho inicial da população, a trajetória da população se altera?
  • Há alguma estocasticidade associada a esse modelo? Como comprovar?

Um atrator no crescimento logístico discreto

Vamos mostrar como a ordem subjacente a um comportamento caótico pode ser facilmente reconhecida através de uma representação gráfica. Utilize o crescimento logístico discreto da projeção produzida acima, e represente N(t+1) contra N(t) em um gráfico. Tente primeiro com rd=0.05 e depois com rd=2.8.

Exercício: Atrator

Um pseudocódigo explicita os passos para elaborar uma tarefa, abaixo nossa dica para realizar o exercício:
  1. Rodar a função criada no tópico anterior e guardar o resultado no objeto caos
  2. Dividir o dispositivo gráfico em duas colunas
  3. Criar o gráfico da projeção da população
  4. Produza a sequencia do objeto cao1 do segundo valor até o último 2)
  5. Produza a sequencia de valores do objeto caos de 2:último 3)
  6. Criar o gráfico Nt x Nt-1 com as sequencias produzidas anteriormente
  7. Ligar os pontos do segundo gráfico

Bifurcação do Atrator

Até agora analisamos o tamanho populacional em função do tempo. Vamos analisar o tamanho populacional agora em função da taxa de crescimento discreta (rd) no modelo logístico. Queremos aqui ver qual o tamanho que a população converge se variarmos apenas a taxa de crescimento. Primeiro precisamos simular o crescimento populacional discreto para um conjunto de rd's e depois acertar os dados para compor um gráfico que nos mostre os valores de convergência da trajetória de cada população para diferentes rd's. Utilize o código abaixo.

N0=10 
K=100
tmax=200
nrd=10
rd.s=seq(1,3,length=nrd)
rd.s
r1=sapply(rd.s, function(x){discrLog(N0=N0, rd=x, K=K,tmax=tmax)})
str(r1) ## veja a estrutura do arquivo;
r2=stack(as.data.frame(r1))
str(r2) ## veja como mudou!cada indice é relacionado à coluna antiga
names(r2)=c("N", "old.col")
r2$rd=rep(rd.s,each=tmax)
r2$tempo=rep(1:tmax, nrd)
res.bif=subset(r2, tempo>0.5*tmax) ## pegando apenas o tempos maiores onde a população já deve ter convergido
plot(N~rd, data=res.bif, pch=".", cex=2)

Perguntas

  • O resultado parece estranho?
  • Rode novamente aumentando o nrd para 200
  • Descreva brevemente os padrões identificados nesse gráfico.
1) não é uma solução em tempo discreto
2) dica: vc. pode usar a indexação ”[-1]”
3) aqui vc. pode também indexar ”[-X]”, sendo X o valor da última posição do objeto
exercicios/exe3iv.txt · Última modificação: 2012/05/16 14:42 por adalardo
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0