Atividade 1: Modelos matemáticos aplicados à ecologia

Darwin 1896

Taxa de crescimento populacional de elefantes.

  • Reprodução a cada 30 anos, até os 90 anos - 3 pares de filhotes no intervalo de tempo de 60 anos (1º aos 30, 2º aos 60 e 3º aos 90 anos).

Taxa de crescimento → b = ind/indt

Taxa de mortalidade → d = ind/indt

  • Se b>d → cresce

  • Se b<d → decresce

  • Se b=0 → constante

Resolução

Considerando apenas uma fêmea como o N incial, temos que a cada 1 fêmea - 3 novas fêmeas são geradas até os 90 anos.

Modelo de crescimento exponencial de Malthus - Contínuo

#Deterministic - Continuous  Malthus' model exponential growth # elephants ####

#b=ind/ind^t 
#d=ind/ind^t 
b = 3/60 #depois de 30 anos uma femea pode originar tres pares de individuos (considerei aqui 1:3)
b
[1] 0.05
d= 1/90 #o individuo adulto sobrevive até 90 anos
d
[1] 0.01111111
b=0.05 #birth rate per female
d=0.01 #death rate per female
r=b-d #growth rate
dt=10
time_max=500
n=1 # initial population size → one female
time=seq(0,time_max,dt)
dataMalthusC=data.frame(time=as.numeric(), population=as.numeric())
for(t in time){
  n1=n+dt*(r*n)
  dataMalthusC[nrow(dataMalthusC)+1,]=c(t, n)
  n=n1
}
plot(dataMalthusC$time, dataMalthusC$population)

N populacional: 20,248,916.23 em 500 anos.

Modelo de crescimento exponencial de Malthus - Discreto

#####Deterministic - Discrete  Malthus' model exponential growth # elephants ####

b=0.05 #birth rate b > d → population size growth
d=0.01 #death rate
r=b-d #growth rate
n=1 # initial population size

time=seq(0,500,1)

dataMalthusD=data.frame(time=as.numeric(), population=as.numeric())
for(t in time){
  n1=n+r*n
  dataMalthusD[nrow(dataMalthusD)+1,]=c(t, n)
  n=n1
}

plot(dataMalthusD$time, dataMalthusD$population, col="black", lwd=2,type="l", xlab="time", ylab="Population size(N)")

points(dataMalthusC$time, dataMalthusC$population, col="orange", cex=0.7,lwd=2,type="o")

legend(x="topleft", legend=c("continuous", "discrete"),lty=c(1,1), col=c("black","orange"))

N populacional: 328,601,581.6 em 500 anos.

Modelo de crescimento logístico - Contínuo

####Deterministic - Continuous Logistic growth ####
b=0.05 #birth rate b > d → population size growth
d=0.01  #death rate
r=b-d #growth rate
K=15000000
dt=10
time_max=500
n=1 # initial population size
time=seq(0,time_max,dt)
dataLogisticC=data.frame(time=as.numeric(), population=as.numeric())
for(t in time){
  n1=n+dt*(r*n*(1-n/K))
  dataLogisticC[nrow(dataLogisticC)+1,]=c(t, n)
  n=n1
}
plot(dataLogisticC$time, dataLogisticC$population)

N populacional: 9,738,869.68 em 500 anos.

Modelo de crescimento logístico - Discreto

#Deterministic - Discrete Logistic growth # elephants ####
b=0.05 #birth rate b > d → population size growth
d=0.01  #death rate
r=b-d 
K=15000000
time_max=500
n=1 # initial population size
time=seq(0,time_max,1)
dataLogisticD=data.frame(time=as.numeric(), population=as.numeric())
for(t in time){
  n1=n+r*n*(1-n/K)
  dataLogisticD[nrow(dataLogisticD)+1,]=c(t, n)
  n=n1
}
plot(dataLogisticD$time, dataLogisticD$population, type="o")

plot(dataLogisticD$time, dataLogisticD$population, col="black", lwd=2,type="l", xlab="time", ylab="Population size(N)")
points(dataLogisticC$time, dataLogisticC$population, col="orange", cex=0.7,lwd=2,type="o")
legend(x="topleft", legend=c("continuous", "discrete"),lty=c(1,1), col=c("black","orange"))

N populacional: 14,420,169.2 em 500 anos