ECOLOGIA VEGETAL 2012
Módulo I
Tópicos
Material de Apoio
*/
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
mod1:mat_apoio:meta_chuva [2010/08/16 19:55] – paulo | mod1:mat_apoio:meta_chuva [2024/01/11 15:21] (atual) – edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 2: | Linha 2: | ||
{{mod1: | {{mod1: | ||
- | Neste exercício((roteiro produzido pelo monitor Marcel Vaz a partir de material do curso de [[http:// | + | Neste exercício((roteiro produzido pelo monitor Marcel Vaz a partir de material do curso de [[http:// |
<m14> | <m14> | ||
df/dt=I - E | df/dt=I - E | ||
- | </m>, onde I é a taxa de entrada de migrantes, e D a taxa de saída. A partir dele podemos definir um modelo simples para a dinâmica de ocupação de manchas que formam uma metapopulação: | + | </m>, onde I é a taxa de entrada de migrantes, e E a taxa de saída. A partir dele podemos definir um modelo simples para a dinâmica de ocupação de manchas que formam uma metapopulação: |
Linha 14: | Linha 14: | ||
onde < | onde < | ||
- | Em primeiro lugar, vamos estabelecer a probabilidade de colonização de manchas vazias (pi), a probabilidade de extinção em manchas ocupadas (pe) e a fração inicial de manchas ocupadas (fi) como 30%, 15% e 50%, respectivamente. | + | Em primeiro lugar, vamos estabelecer a probabilidade de colonização de manchas vazias (pi), a probabilidade de extinção em manchas ocupadas (pe) e a fração inicial de manchas ocupadas (fi) como 30%, 15% e 40%, respectivamente. |
< | < | ||
pi=0.3 | pi=0.3 | ||
pe=0.15 | pe=0.15 | ||
- | fi=0.5 | + | fi=0.4 |
</ | </ | ||
Linha 34: | Linha 34: | ||
Ótimo! Agora temos nossa paisagem em 10 tempos diferentes. | Ótimo! Agora temos nossa paisagem em 10 tempos diferentes. | ||
- | Finalmente, antes de começarmos a brincadeira, | + | Finalmente, antes de começarmos a brincadeira, |
< | < | ||
- | paisag[,,1]=sample(c(rep(0,(100-fi*100)),rep(1,fi*100))) | + | fi |
+ | 1-fi | ||
+ | rep(1, fi*100) | ||
+ | ocor<-rep(1,fi*100) | ||
+ | nocor<-rep(0,(1-fi)*100) | ||
+ | nocor | ||
+ | c(ocor, | ||
+ | sample(c(ocor, | ||
+ | paisag[,, | ||
paisag[,,1] | paisag[,,1] | ||
</ | </ | ||
Linha 51: | Linha 59: | ||
Calma, não se assuste. O monstrinho abaixo vai tratar apenas das manchas que estavam ocupadas no tempo inicial. | Calma, não se assuste. O monstrinho abaixo vai tratar apenas das manchas que estavam ocupadas no tempo inicial. | ||
< | < | ||
+ | sum(paisag[,, | ||
paisag[,, | paisag[,, | ||
paisag[,,2] | paisag[,,2] | ||
Linha 68: | Linha 77: | ||
Mas essa é apenas metade da história, não? Estamos esquecendo que as manchas vazias podem ser ocupadas. Vamos simular a colonização com um outro monstrinho: | Mas essa é apenas metade da história, não? Estamos esquecendo que as manchas vazias podem ser ocupadas. Vamos simular a colonização com um outro monstrinho: | ||
< | < | ||
- | paisag[,, | + | length(paisag[,, |
+ | nmanchas=length(paisag[,, | ||
+ | paisag[,, | ||
paisag[,,2] | paisag[,,2] | ||
</ | </ | ||
Linha 82: | Linha 93: | ||
Note que algumas manchas que estavam ocupadas no tempo 1 ficaram vazias no tempo 2 e vice-versa. Note também que algumas manchas continuaram vazias e outras continuaram ocupadas. O próximo passo é calcular a fração de manchas ocupadas inicialmente (f1) e no tempo 2 (f2) e depois a diferença entre elas: | Note que algumas manchas que estavam ocupadas no tempo 1 ficaram vazias no tempo 2 e vice-versa. Note também que algumas manchas continuaram vazias e outras continuaram ocupadas. O próximo passo é calcular a fração de manchas ocupadas inicialmente (f1) e no tempo 2 (f2) e depois a diferença entre elas: | ||
< | < | ||
- | f1=sum(paisag[,, | + | nmanchas |
- | f2=sum(paisag[,, | + | f1=sum(paisag[,, |
+ | f2=sum(paisag[,, | ||
f1 | f1 | ||
Linha 92: | Linha 104: | ||
< | < | ||
paisag=array(0, | paisag=array(0, | ||
- | paisag[,, | + | nmanchas=length(paisag[,, |
+ | paisag[,, | ||
resultado=numeric() | resultado=numeric() | ||
- | for(t in 2:10){ | + | for(t in 2:10) |
- | | + | { |
- | | + | |
- | | + | |
+ | | ||
} | } | ||
resultado | resultado | ||
Linha 133: | Linha 147: | ||
metapop=function(tf, | metapop=function(tf, | ||
paisag=array(0, | paisag=array(0, | ||
- | paisag[,, | + | nmanchas=c*l |
+ | paisag[,, | ||
resultado=numeric() | resultado=numeric() | ||
for(t in 2:tf){ | for(t in 2:tf){ | ||
- | | + | |
- | | + | |
| | ||
} | } | ||
Linha 172: | Linha 187: | ||
* E quando elas são muito baixas? | * E quando elas são muito baixas? | ||
| | ||
- | | + | == DICA == |
Para responder às perguntas acima você precisa comparar resultados de diferentes simulações. | Para responder às perguntas acima você precisa comparar resultados de diferentes simulações. | ||
- | < | + | |
- | | + | < |
- | | + | par(mfrow=c(2, |
+ | </ | ||
Os dois números indicam o número de linhas e colunas desejadas, na janela gráfica. No caso, pedimos duas linhas e duas colunas, ou seja, espaço para quatro gráficos. Para voltar a um gráfico apenas na janela digite: | Os dois números indicam o número de linhas e colunas desejadas, na janela gráfica. No caso, pedimos duas linhas e duas colunas, ou seja, espaço para quatro gráficos. Para voltar a um gráfico apenas na janela digite: | ||
- | < | + | < |
- | | + | par(mfrow=c(1, |
- | | + | </ |
---- | ---- | ||
Linha 190: | Linha 206: | ||
Para vocês que chegaram vivos até aqui, uma recompensa. Rode os comandos abaixo e descubra: | Para vocês que chegaram vivos até aqui, uma recompensa. Rode os comandos abaixo e descubra: | ||
< | < | ||
- | metapop2=function(tf, | ||
- | paisag=array(0, | ||
- | paisag[,, | ||
- | resultado=numeric() | ||
- | for(t in 2:tf){ | ||
- | | ||
- | | ||
- | | ||
- | } | ||
- | return(paisag) | ||
- | } | ||
- | anima=function(tf, | + | anima=function(dados){ |
- | dados=metapop2(tf, | + | x11() |
- | for(i in 1:tf){ | + | for(i in 1:dim(dados)[3]) |
- | image(dados[,, | + | |
- | grid(c,l) | + | image(dados[,, |
- | Sys.sleep(.5) | + | grid(dim(dados)[1],dim(dados)[2]) |
- | } | + | Sys.sleep(.2) |
} | } | ||
+ | } | ||
+ | |||
+ | |||
+ | simula1< | ||
+ | anima(simula1) | ||
+ | |||
- | anima(tf=25, | ||
</ | </ | ||
- | Aqui você também pode mexer nos parâmetros e ver, literalmente, | + | Para fazer rodar a animação |
< | < | ||
- | anima(tf=25, | + | simula2=metapop(tf=25, |
+ | anima(simula2) | ||
</ | </ | ||