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 18:49] – 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 131: | Linha 145: | ||
O serviço sujo está feito, agora é hora da diversão! Como somos bonzinhos, resolvemos criar uma função para facilitar a vida de vocês. Com essa função vocês poderão variar os parâmetros do nosso modelo à vontade, sem medo de ser feliz. Por favor, retribuam a gentileza e testem vários valores para cada parâmetro e vejam o que acontece com nossas metapopulações virtuais. Abaixo a função: | O serviço sujo está feito, agora é hora da diversão! Como somos bonzinhos, resolvemos criar uma função para facilitar a vida de vocês. Com essa função vocês poderão variar os parâmetros do nosso modelo à vontade, sem medo de ser feliz. Por favor, retribuam a gentileza e testem vários valores para cada parâmetro e vejam o que acontece com nossas metapopulações virtuais. Abaixo a função: | ||
< | < | ||
- | mmetapop=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 163: | Linha 178: | ||
* pe - probabilidade de extinção | * pe - probabilidade de extinção | ||
</ | </ | ||
+ | |||
Agora é com vocês! Tentem responder às seguintes perguntas: | Agora é com vocês! Tentem responder às seguintes perguntas: | ||
+ | * Quando você rodar várias mais de uma vez a função com os mesmos parâmetros o resultado é o mesmo? Por quê? | ||
* O que acontece quando o número de manchas é muito grande? E quando é muito pequeno? | * O que acontece quando o número de manchas é muito grande? E quando é muito pequeno? | ||
* E quando a fração inicial (fi) é muito diferente da fração em equilíbrio (F)? | * E quando a fração inicial (fi) é muito diferente da fração em equilíbrio (F)? | ||
- | * Como a população pode se extinguir | + | * Quais condições levam à extinção |
* O que acontece quando as probabilidades de extinção e de colonização são muito altas? | * O que acontece quando as probabilidades de extinção e de colonização são muito altas? | ||
* E quando elas são muito baixas? | * E quando elas são muito baixas? | ||
- | | + | |
- | * Do que depende a velocidade com que a trajetória se aproxima do F? | + | == DICA == |
- | * Em que situações a trajetória chega a coincidir exatamente com a linha do F? | + | |
- | * Quando você rodar várias mais de uma vez a função com os mesmos parâmetros o resultado é o mesmo? Por quê? | + | |
+ | 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: | ||
+ | |||
+ | < | ||
+ | par(mfrow=c(1, | ||
+ | </ | ||
+ | |||
---- | ---- | ||
Linha 179: | 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, | + | anima=function(dados){ |
- | paisag[,, | + | x11() |
- | resultado=numeric() | + | for(i in 1:dim(dados)[3]) |
- | for(t in 2:tf){ | + | { |
- | | + | image(dados[,,i], main=(" |
- | | + | grid(dim(dados)[1],dim(dados)[2]) |
- | | + | Sys.sleep(.2) |
- | } | + | |
- | return(paisag) | + | |
} | } | ||
+ | } | ||
- | anima=function(tf,c,l,fi, | + | simula1< |
- | dados=metapop2(tf, | + | anima(simula1) |
- | for(i in 1:tf){ | + | |
- | image(dados[,,i], main=(" | + | |
- | grid(c,l) | + | |
- | Sys.sleep(.5) | + | |
- | } | + | |
- | } | + | |
- | 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) | ||
</ | </ | ||