偏微分方程解法总结 matlab解偏微分方程的函数


一.Malthus模型(指数模型)
(1)提出以及假设
(2)影响人口增长的因素
(3)建立模型
(4)结论
(5)举例(Matlab代码)
二.Logistic模型(阻滞增长模型)
(1)背景
(2)建立 r 的关系式
(3)模型建立
(4)结论
(5)举例(Matlab代码)
三.总结
1一.Malthus模型(指数模型)
(1)提出以及假设 指数增长模型,由马尔萨斯在1798年提出
基本假设:人口(相对)增长率r是常数(r很小)
相对增长率 = 出生率 - 死亡率
(2)影响人口增长的因素 人口的基数
出生率和死亡率
年龄结构
性别比例
工农业生产水平
医疗水平
政府出台的政策
民族政策

(3)建立模型 我们用 x(t) 表示 t 时刻的人口
那么有
结论:随着时间的增加,人口按指数规律无限增长
(4)结论
可以进行短期的人口预测,较为符合
但是之后误差就很大了
(5)举例(Matlab代码)
eg:已知一组数据如下(懒得打在表格里面了,大家凑合着看吧):
t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900];
p = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0];
t为年份,p为对应的人口数量,单位为:百万
因为马尔萨斯模型为指数函数为了线性拟合数据,我们对其进行如下操作:
两边同时取对数:
【偏微分方程解法总结 matlab解偏微分方程的函数】可得:ln(x) = ln(x0)rt
t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900];
p = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0];
y = log(p); %求ln(p)函数值
a = polyfit(t,y,1) %用一次多项式对t和y进行拟合
z = polyval(a,t); %求得以a为系数的多项式在t处的函数值
z1 = exp(z)
r = a(1)
plot(t,p,’bo’,t,z1,’r’) %分别画出散点图以及拟合曲线图
xlabel(‘时间’);
ylabel(‘人口数量’);
legend(‘实际数据’,’理论曲线’);
作图如下(短期内基本吻合):
%结果如下,增长率r=0.0274
a =
0.0274 -47.6717
z1 =
列 1 至 5
4.1884 5.5105 7.2498 9.5382 12.5488
列 6 至 10
16.5097 21.7209 28.5769 37.5969 49.4640
列 11 至 12
65.0769 85.6179
r =
0.0274
当我们用更多的数据进行长期拟合是就会发现该方法做出来的差别较大!
二.Logistic模型(阻滞增长模型)
(1)背景
由于人口不可能无限制的增长,当人口达到一定数量后,那么增长率就会下降 。
我们要模拟这种增长率的变化
这里简化的将增长率 r 看做是人口 x 的减函数

推荐阅读