如何利用matlab构建人口增长的Malthus模型、Logistic模型以及多项式模型? 50
表10-3给出了自1790年到1980年(共200年)美国人口数的统计数据。表10-3美国人口统计数字(单位:百万)年份1790180018101820183018401...
表10-3给出了自1790年到1980年(共200年)美国人口数的统计数据。
表10-3 美国人口统计数字(单位: 百万)
年份 1790 1800 1810 1820 1830 1840 1850 1860 1870 1880
统计 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2
年份 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980
统计 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5
(1) 试利用前100年的数据,分别构建人口增长的Malthus模型、Logistic模型(设美国人口总体容纳量为20亿),以及多项式模型。
(2) 利用(1)构建的三个模型分别预测后100年的人口数,并与实际数据相比较,说说哪个预测结果比较好? 展开
表10-3 美国人口统计数字(单位: 百万)
年份 1790 1800 1810 1820 1830 1840 1850 1860 1870 1880
统计 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2
年份 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980
统计 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5
(1) 试利用前100年的数据,分别构建人口增长的Malthus模型、Logistic模型(设美国人口总体容纳量为20亿),以及多项式模型。
(2) 利用(1)构建的三个模型分别预测后100年的人口数,并与实际数据相比较,说说哪个预测结果比较好? 展开
1个回答
展开全部
如何利用matlab构建人口增长的Malthus模型、Logistic模型以及多项式模型?
第一步,分别自定义模型函数,如
Malthus模型:
func=@(a,t)N0*exp(a*(t-t0))
Logistic模型:
func=@(a,t)a(1)/(1+(a(1)/N0-1)*exp(-a(2)*(t-t0)))
多项式模型:
func=@(a,t)a(1)+a(2)*(t-t0)+a(3)*(t-t0)^2
第二步,利用1790-1880年的数据,分别使用lsqcurvefit函数或nlinfit函数,求出系数a
第三步,预测1890-1980年的人口数,即
y=func(a,t)
第四步,使用plot函数绘制,美国人口数的统计数据与各预测模型曲线对比图
第五步,或使用table函数列表显示,对比数据
第六步,预测后100年的人口数,并与实际数据相比较,从图形或表格中,可以看到预测精度多项式模型优于Logistic模型,Malthus模型效果最差。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询