|
Posted: 08/24/21
Due: 09/03/21, 11:55PM
In 1202 Fibonacci introduced a model of population growth based on discrete time reproduction with death or infertility.
The formal assumptions within the Fibonacci popoulation model are:
Count rabbit pairs, denote by one male and one female;
Assume rabbit pairs do not die;
Assume each pair reproduces in a constant time interval of one month;
Assume one unit of time from birth to fertility;
Assume each rabbit pair reproduces exactly one new rabbit pair;
Assume all rabits pairs are fertile.
Denote time by , and let denote the number of pairs at time .
The Fibonacci model leads to the relation
with initial conditions , . The model exhibits exponential growth as shown in Fig. 1
∴ |
function F(n) if ((typeof(n)==Int64) && (n>=0)) if (n<2) return n end return F(n-1)+F(n-2) else print("Invalid argument\n") end end |
F
Julia] |
∴ |
N=30; n=0:N; Fn=F.(n); clf(); plot(n,log.(Fn),"o"); |
∴ |
xlabel("n (months)"); ylabel("F(n) (rabbit pairs)"); |
∴ |
title("Fibonacci population model"); grid("on"); |
∴ |
savefig(homedir() * "/courses/MATH089/images/Fibonacci.eps") |
∴ |
A different population model is given
∴ |
function P(n,r) if ((typeof(n)==Int64) && (n>=0) && (r>-1)) if (n==0) return 1 end return (1+r)*P(n-1,r) else print("Invalid argument\n") end end |
P
∴ |
P(2,0.1) |
∴ |
∴ |
N=30; n=0:N; r=1; Pn=P.(n,r); plot(n,log.(Pn),"o"); |
∴ |
xlabel("n (months)"); ylabel("P(n)"); |
∴ |
title("Malthus population model"); grid("on"); |
∴ |
savefig(homedir() * "/courses/MATH089/images/Malthus.eps") |
∴ |