微分方程建模实例(1)
例:利用下表给出的近两个世纪的美国人口统计数据(以百万为单位),建立人口预测模型,用它估计2010年美国的人口。
年份 | 1790 | 1800 | 1810 | 1820 | 1830 | 1840 | 1850 | 1860 |
---|---|---|---|---|---|---|---|---|
人口 | 3.9 | 5.3 | 7.2 | 9.6 | 12.9 | 17.1 | 23.2 | 31.4 |
年份 | 1870 | 1880 | 1890 | 1900 | 1910 | 1920 | 1930 | 1940 |
人口 | 38.6 | 50.2 | 62.9 | 76.0 | 92.0 | 106.5 | 123.2 | 131.7 |
年份 | 1950 | 1960 | 1970 | 1980 | 1990 | 2000 | ||
人口 | 150.7 | 179.3 | 204.0 | 226.5 | 251.4 | 281.4 |
解:记x(t)为第t年的人口数量,设人口年增长率r(x)为x的线性函数,r(x)=r-sx。自然资源和环境条件能容纳的最大人口数为xm,即当x=xm时,增长率r(xm)=0,可得
$$r(x) = r(1-\frac{x}{x_{m}})$$
建立Logistic人口模型
$$
\begin{cases}
\frac{dx}{dt} = r(1-\frac{x}{x_{m}})x \\
x(t_{0})=x_{0}
\end{cases}
$$
其解为
$$
x(t)=\frac{x_{m}}{1+(\frac{x_{m}}{x_{0}}-1)e^{-r(t-t_{0})}}
$$
接下来进行参数估计,利用提供的数据拟合xm和r
1 | import numpy as np |