“The elephant is reckoned the slowest breeder of all known animals, and I have taken some pains to estimate its probable minimum rate of natural increase: (…) it begins breeding at 30 years old, and goes on breeding till 90 years old, bringing forth 3 pairs of young in this interval; if this be so, at the end of the fifth century there would be alive fifteen million elephants, descended from the first pair.” (Chap. III, p. 75)”
Extracted Information
Note
Between 30 and 90 years, 3 pairs of individuals, equal to 6 individuals. So, we can say that every 30 years we have a pair, or every 90 years we have 3 pairs. The pair that reproduced dies every 90 years.
In 500 years, it is supposed to have 15 million individuals, resulting from the first pair.
It only makes sense if it’s *discrete*.
Discrete Malthus’ model exponential growth
First attempt
(Considering the offspring as all females, without deaths and starting with the first pair. The change in time occurs every 90 years, the final time of reproduction)
Code
b=6# birth rated=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,90)dataMalthusA=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusA[nrow(dataMalthusA)+1,]=c(t, n) n=n1}dataMalthusA
time population
1 0 2
2 90 14
3 180 98
4 270 686
5 360 4802
6 450 33614
At time 540, we still have 235,298 individuals.
Second attempt
(Considering the offspring as all pairs, without deaths and starting with the first pair. The change in time also occurs every 90 years)
Code
b=6/2# birth rate (pairs)d=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,90)dataMalthusB=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusB[nrow(dataMalthusB)+1,]=c(t, n) n=n1}dataMalthusB
time population
1 0 2
2 90 8
3 180 32
4 270 128
5 360 512
6 450 2048
At time 540, we still have 8,192 individuals.
Third attempt
(Considering the offspring as all pairs, without deaths and starting with the first pair. The change in time occurs every 60 years, an average of the reproduction time.)
Code
b=6/2# birth rate (pairs)d=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,60)dataMalthusC=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusC[nrow(dataMalthusC)+1,]=c(t, n) n=n1}dataMalthusC
At time 480, we still have 11,529,602 individuals, the closest number to 15 million.
Fifth attempt
(Considering the offspring as all females, with two deaths per time and starting with the first pair. The change in time occurs every 30 years (The birth of a pair every 30 years.))
Code
b=6# birth rated=2# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,30)dataMalthusE=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusE[nrow(dataMalthusE)+1,]=c(t, n) n=n1}dataMalthusE
At time 480, we will have 66,465,860,000,000 individuals, an exorbitant number.
Conclusions
The time of death (90 years) and the time of birth (30 years) of individuals are different, requiring an unfolding of the equations. Otherwise, the results will be overestimated or underestimated.
Even though we know that every ninety years the ancestral pair of elephants dies, sometimes the death is not considered, just in an attempt to reach the result of 15 million.
The end.
Source Code
---title: "Activity I - Mathematical Models Applied to Ecology"author: "Amanda Beatriz Loureiro"date: "20 Feb 2025"format: htmleditor: visualcap-location: bottomtitle-block-banner: truecode-tools: truetheme: custom.scsstoc: truetoc-title: "Sections"editor_options:chunk_output_type: console---## About the problem“The elephant is reckoned the slowest breeder of all known animals, and I have taken some pains to estimate its probable minimum rate of natural increase: (...) it begins breeding at 30 years old, and goes on breeding till 90 years old, bringing forth 3 pairs of young in this interval; if this be so, at the end of the fifth century there would be alive fifteen million elephants, descended from the first pair.” (Chap. III, p. 75)"## Extracted Information::: callout-note- Between **30 and 90 years, 3 pairs of individuals, equal to 6 individuals.** So, we can say that every 30 years we have a pair, or every 90 years we have 3 pairs. The pair that reproduced dies every 90 years.- In **500 years**, it is supposed to have **15 million individuals**, resulting from the **first pair**.- It only makes sense if it's \*discrete\*.:::# Discrete Malthus' model exponential growth### First attempt(Considering the offspring as all females, without deaths and starting with the first pair. The change in time occurs every 90 years, the final time of reproduction)```{r}#| code-fold: trueb=6# birth rated=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,90)dataMalthusA=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusA[nrow(dataMalthusA)+1,]=c(t, n) n=n1}dataMalthusA```At time 540, we still have 235,298 individuals.### Second attempt(Considering the offspring as all pairs, without deaths and starting with the first pair. The change in time also occurs every 90 years)```{r}#| code-fold: trueb=6/2# birth rate (pairs)d=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,90)dataMalthusB=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusB[nrow(dataMalthusB)+1,]=c(t, n) n=n1}dataMalthusB```At time 540, we still have 8,192 individuals.## Third attempt(Considering the offspring as all pairs, without deaths and starting with the first pair. The change in time occurs every 60 years, an average of the reproduction time.)```{r}#| code-fold: trueb=6/2# birth rate (pairs)d=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,60)dataMalthusC=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusC[nrow(dataMalthusC)+1,]=c(t, n) n=n1}dataMalthusC```At time 480, we still have 131,072 individuals.## Fourth attempt(Considering the offspring as all females, without deaths and starting with the first pair. The change in time also occurs every 60 years)```{r}#| code-fold: trueb=6# birth rated=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,60)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}dataMalthusD```At time 480, we still have 11,529,602 individuals, the closest number to 15 million.## Fifth attempt(Considering the offspring as all females, with two deaths per time and starting with the first pair. The change in time occurs every 30 years (The birth of a pair every 30 years.))```{r}#| code-fold: trueb=6# birth rated=2# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,30)dataMalthusE=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusE[nrow(dataMalthusE)+1,]=c(t, n) n=n1}dataMalthusE```At time 480, we already have 305,175,781,250 individuals.## Sixth attempt(Considering the offspring as all pairs, with two deaths per time and starting with the first pair. The change in time also occurs every 30 years)```{r}#| code-fold: trueb=6/2# birth rated=2# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,30)dataMalthusF=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusF[nrow(dataMalthusF)+1,]=c(t, n) n=n1}dataMalthusF```At time 480, we still have 131,072 individuals.## Seventh attempt(Considering the offspring as all pairs, without deaths and starting with the first pair. The change in time also occurs every 30 years)```{r}#| code-fold: trueb=6/2# birth rated=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,30)dataMalthusG=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusG[nrow(dataMalthusG)+1,]=c(t, n) n=n1}dataMalthusG```At time 480, we already have 8,589,934,592 individuals.## Eighth (and last) attempt(Considering the offspring as all females, without deaths and starting with the first pair. The change in time also occurs every 30 years)```{r}#| code-fold: trueb=6# birth rated=0# death rater=b-d # growth raten=2# initial population sizetime=seq(0,500,30)dataMalthusH=data.frame(time=as.numeric(), population=as.numeric())for(t in time){ n1=n+r*n dataMalthusH[nrow(dataMalthusH)+1,]=c(t, n) n=n1}dataMalthusH```At time 480, we will have 66,465,860,000,000 individuals, an exorbitant number.# ConclusionsThe time of death (90 years) and the time of birth (30 years) of individuals are different, requiring an unfolding of the equations. Otherwise, the results will be overestimated or underestimated.Even though we know that every ninety years the ancestral pair of elephants dies, sometimes the death is not considered, just in an attempt to reach the result of 15 million.### ### The end.