Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
exercicios:exe3 [2012/05/16 17:46] – [Integração Numérica do Crescimento Logístico] adalardoexercicios:exe3 [2024/01/09 18:18] (atual) – edição externa 127.0.0.1
Linha 76: Linha 76:
 <box green 80%|Desafio: Resolução Algébrica > <box green 80%|Desafio: Resolução Algébrica >
  
-Como somos desconfiados, assim como todo cientista, resolvemos colocar em prova a resolução apresentada pelo Gotelli. Use o Maxima para resolver a equação diferencial do Crescimento Logístico, dicas: +Como somos desconfiados, assim como todo cientista, resolvemos colocar em prova a resolução apresentada pelo Gotelli. Use o Maxima (ou o site do [[http://www.wolframalpha.com/]]) ((a expressão que deve ser colocada no site é: n'(t)=n(t)*r*(1- n(t)/K) ))para resolver a equação diferencial do Crescimento Logístico, dicas: 
-  * lembre-se que a constante de integração (%c) é equivalente ao estado inicial (N0) +  * lembre-se que a constante de integração (%c) é indeterminada e para chegar a uma expressão que faça sentido deve, em algum momento na simplificação da resolução, resolver a equação para o estado inicial $t= 0$, assim substitui o %c por uma expressão que contém N0: a situação inicial de nossa população. 
-  * caso não consiga simplificar a expressão para chegar mesma representação, não desespere... é difícil mesmo! +  * caso não consiga simplificar a expressão para chegar à mesma representação, não desespere... é difícil mesmo! Vc. pode alternativamente, testar se a expressão resultante, isolada para N(t), produz o mesmo resultado que a solução do Gotelli, simulando populações com as duas expressões e comparando os resultados em gráficos.  
  
 </box> </box>
Linha 136: Linha 136:
 tmax=100 tmax=100
 resK.mat=matrix(NA, ncol=length(K.seq),nrow=tmax+1) resK.mat=matrix(NA, ncol=length(K.seq),nrow=tmax+1)
-for(i in 1:length(N0.seq))+for(i in 1:length(K.seq))
 { {
 resK.mat[,i]<-cresc.log(N0=1,r=0.1,K=K.seq[i],tseq=0:tmax) resK.mat[,i]<-cresc.log(N0=1,r=0.1,K=K.seq[i],tseq=0:tmax)
Linha 145: Linha 145:
 </code> </code>
 </box> </box>
- 
 ===== Integração Numérica do Crescimento Logístico  ===== ===== Integração Numérica do Crescimento Logístico  =====
 {{:exercicios:poptrem.jpg?200  |  }}A regessão logística é uma equação diferencial ordinária. Podemos resolver essa equação para um dado intervalo de tempo utilizando integração numérica. A técnica consiste basicamente em transformar os passos infinitamente pequenos do cálculo (dx) em passos muito pequenos, porém finitos. O pacote deSolve do R contém a função ode que faz o serviço por nós! Abaixo descrevemos um função básica para integração numérica da função logística. Precisamos primeiro definir a função básica, no caso uma logística contínua. {{:exercicios:poptrem.jpg?200  |  }}A regessão logística é uma equação diferencial ordinária. Podemos resolver essa equação para um dado intervalo de tempo utilizando integração numérica. A técnica consiste basicamente em transformar os passos infinitamente pequenos do cálculo (dx) em passos muito pequenos, porém finitos. O pacote deSolve do R contém a função ode que faz o serviço por nós! Abaixo descrevemos um função básica para integração numérica da função logística. Precisamos primeiro definir a função básica, no caso uma logística contínua.
Linha 178: Linha 177:
 <code> <code>
 plot(res[,1], res[,2], main="Crescimento Logístico", type="l", xlab="Tempo", ylab="N", col="red" ) plot(res[,1], res[,2], main="Crescimento Logístico", type="l", xlab="Tempo", ylab="N", col="red" )
-legend("topleft", "N0=1;r = 1; K = f100", bty="n")+legend("topleft", "N0=1;r = 1; K = 100", bty="n")
 </code> </code>
  
Linha 189: Linha 188:
 ====== Estocasticidade Ambiental ====== ====== Estocasticidade Ambiental ======
  
-Vamos partir da equação logística acima e sua solução integração numérica para criar uma situação com estocasticidade ambiental. Nessa função teremos três parâmetros:  +Vamos partir da equação logística acima e sua solução integração numérica para criar uma situação com estocasticidade ambiental. No caso do modelo exponencial a estocasticidade estava representada por uma variação no //r//, na logística vamos modelar a uma variação aleatória na capacidade de suporte.  
-  * rmediouma taxa média do crescimento populacional +Nessa função teremos três parâmetros:  
-  * varr: uma variância do rmedio+  * r: taxa de crescimento populacional
   * K: capacidade de suporte   * K: capacidade de suporte
 +  * varK: uma variância do K
  
 <code> <code>
Linha 198: Linha 198:
   {   {
    n<-y[1]    n<-y[1]
-   r<-rnorm(1,mean=parms[1],sd=sqrt(parms[2])) +   r<-parms[1] 
-   K<-parms[3]+   K<-rnorm(1,mean=parms[2],sd=sqrt(parms[3]))
    dN.dt<-r* n* (1- n/K)    dN.dt<-r* n* (1- n/K)
    return(list(c(dN.dt)))     return(list(c(dN.dt))) 
   }    } 
-y0 = c(1+y0 = c(10
-prmt=c(rmedio=0.1varr=0.1K=10+prmt=c(r=0.15K=30varK=20
-st=seq(0.1,200,by=0.01)+st=seq(0,100,by=0.01)
 res.clogEst= ode(y=y0,times=st, func=clogEst,parms=prmt) res.clogEst= ode(y=y0,times=st, func=clogEst,parms=prmt)
 plot(res.clogEst[,1], res.clogEst[,2], type="l", col="red",lwd=2, xlab="tempo", ylab="y") plot(res.clogEst[,1], res.clogEst[,2], type="l", col="red",lwd=2, xlab="tempo", ylab="y")
 </code> </code>
  
-<box red 70%| Exercício>+<box red 70%| Exercício 2>
  
   * Use as simulações com estocasticidade ambiental para reponder:   * Use as simulações com estocasticidade ambiental para reponder:
-  * Qual parâmetros aumentam a amplitude da oscilação e qual o paralelo com biologia+  * Qual parâmetros aumentam a amplitude da oscilação e qual a interpretação biológica
-  * É possível ocorrer extinção da população com taxas de crescimento positivo? Demonstre com simulações. +  * É possível ocorrer extinção da população com taxas de crescimento positivo? Demonstre com simulações. 
 + 
  
 </box> </box>
- 
 ====== Crescimento Logístico com Retardo ====== ====== Crescimento Logístico com Retardo ======
  
Linha 223: Linha 223:
 Vamos simular algumas trajetórias para esses modelos contínuos com retardo. A solução numérica de uma equação diferencial não é trivial! Para tanto vamos usar o pacote **PBSddsolve** do R.   Vamos simular algumas trajetórias para esses modelos contínuos com retardo. A solução numérica de uma equação diferencial não é trivial! Para tanto vamos usar o pacote **PBSddsolve** do R.  
 <code> <code>
 +#se ainda nao tem o pacote, instalar com o comando:
 +install.packages("PBSddesolve")
 require(PBSddesolve) require(PBSddesolve)
 clogDelay <- function(t,N,parms)  clogDelay <- function(t,N,parms) 
Linha 255: Linha 257:
   * maior de 1,5   * maior de 1,5
  
-<box 50% red | Exercício 4>+<box 50% red | Exercício 3>
 Apresente as simulações anteriores em gráficos e discorra sobre o que está acontecendo nesses intervalos de valores e o significado de //r* retardo// Apresente as simulações anteriores em gráficos e discorra sobre o que está acontecendo nesses intervalos de valores e o significado de //r* retardo//
  
exercicios/exe3.1337190407.txt.gz · Última modificação: 2024/01/09 18:17 (edição externa)
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