====== Modelos ====== {{tradeoff.jpeg|}} ### MODETROP ## OBJETIVO: criar modelo em que sobrevivência e crescimento dependam # da quantidade de recursos e sejam demandas conflitantes e que assume # competição assimétrica entre os indivíduos ## SOBREVIVÊNCIA x CRESCIMENTO # Espécies de crescimento rápido (ECR) sempre crescem mais do que espécies # de crescimento lento (ECL), no entanto, tem maior chance de morrerem em # ambientes hostis, pois as mesmas características que lhes permitem crescer # mais rápido, tornam-nas mais frágeis a estresses ambientais. par(mfrow=c(1,2)) curve(1/(1+exp(-(x-1))),from=0,to=15,col=rainbow(10)[1],ylim=c(0,1), xlab="[recurso]",ylab="Probabilidade de sobrevivência",font.lab=2) for(i in 2:10){curve(1/(1+exp(-(x-i))),add=TRUE,col=rainbow(10)[i])} curve(sqrt(x),from=0,to=15,col=rainbow(10)[1],ylim=c(0,10), xlab="[recurso]",ylab="Taxa de crescimento",font.lab=2) for(i in 2:10){curve(sqrt(x*i),add=TRUE,col=rainbow(10)[i])} # 1/(1+exp(-(x-1:10)/1)) # prob. de sobrevivência, onde x = [recurso] # sqrt(x*(1:10)) # taxa de crescimento, onde x = [recurso] ### FUNÇÃO # S # número de espécies # t # passos no tempo #abi # abundâncias iniciais de cada espécie #dtr # disponibilidade total do recurso #sobre # [recurso] em que a sp i tem taxa de sobrevivência de 50% #conv # valor de conversão de parâmetro de sobrevivência para parâmetro de crescimento #cresc # [recurso] em que a sp i cresce modetrop=function(S=10,t=10,abi=rep(.001,10),dtr=100,sobre=1:10,conv=1){ casas=matrix(ncol=t+2,nrow=S) casas[,1]=sobre casas[,2]=abi sob=matrix(ncol=t,nrow=S) cre=matrix(ncol=t,nrow=S) dir2=matrix(ncol=t,nrow=S) for(j in 3:(t+2)){ dir=dtr*casas[,(j-1)]/sum(casas[,(j-1)]) dir2[,j-2]=dir for(i in 1:S){ casas[i,j]=sample(1:0,1,prob=c(1/(1+exp(-(dir[i]-sobre[i])/1)),1-1/(1+exp(-(dir[i]-sobre[i])/1)))) if(casas[i,j]==1) casas[i,j]=casas[i,(j-1)]+sqrt(dir[i]*cresc[i]) else casas[i,j]=casas[i,(j-1)] sob[i,j-2]=1/(1+exp(-(dir[i]-sobre[i])/1)) cre[i,j-2]=sqrt(dir[i]*cresc[i]) } } return(list(sob,cre,dir2,casas)) } a=modetrop(dtr=10,t=10000) b=a[[4]] plot(0:10000,b[1,2:10002],type="l",ylab="Área basal",xlab="Tempo",col=rainbow(10)[1]) for(i in 2:10){points(0:10000,b[i,2:10002],col=rainbow(10)[i],type="l")}