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 17:10] – paulo | mod1:mat_apoio:meta_chuva [2024/01/11 15:21] (atual) – edição externa 127.0.0.1 | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| ====== Chuva de Propágulos ====== | ====== Chuva de Propágulos ====== | ||
| - | {{:mod1:restr: | + | {{mod1:mat_apoio: |
| - | 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> podemos | + | </m>, onde I é a taxa de entrada de migrantes, e E a taxa de saída. A partir dele podemos definir um modelo simples |
| 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 151: | Linha 166: | ||
| </ | </ | ||
| - | Maravilha! A função acima tem 6 parâmetros | + | Maravilha! A função acima tem 6 argumentos |
| < | < | ||
| metapop(tf=100, | metapop(tf=100, | ||
| 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) | ||
| </ | </ | ||