人口预测 matlab
- 格式:docx
- 大小:134.42 KB
- 文档页数:6
实验目的[1] 学习由实际问题去建立数学模型的全过程;[2] 训练综合应用数学模型、微分方程、函数拟合和预测的知识分析和解决实际问题; [3] 应用matlab 软件求解微分方程、作图、函数拟合等功能,设计matlab 程序来求解其中的数学模型;[4] 提高论文写作、文字处理、排版等方面的能力;通过完成该实验,学习和实践由简单到复杂,逐步求精的建模思想,学习如何建立反映人口增长规律的数学模型,学习在求解最小二乘拟合问题不收敛时,如何调整初值,变换函数和数据使优化迭代过程收敛。
应用实验(或综合实验)一、实验内容从1790—1980年间美国每隔10年的人口记录如表综2.1所示:表综2.1年 份 1790 1800 1810 1820 1830 1840 1850 人口(×106)3.9 5.3 7.2 9.6 12.9 17.1 23.2 年 份 1860 1870 1880 1890 1900 1910 1920 人口(×106)31.4 38.6 50.2 62.9 76.0 92.0 106.5 年 份 193019401950196019701980人口(×106)123.2 131.7 150.7 179.3 204.0 226.5用以上数据检验马尔萨斯(Malthus)人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进,并利用至少两种模型来预测美国2010年的人口数量。
二、问题分析1:Malthus 模型的基本假设是:人口的增长率为常数,记为 r 。
记时刻t 的人口为x (t ),(即x (t )为模型的状态变量)且初始时刻的人口为x 0,于是得到如下微分方程:⎪⎩⎪⎨⎧==0)0(d d x x rxtx2:阻滞增长模型(或Logistic 模型) 由于资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设人口的增长率为x 的减函数,如设r(x)=r(1-x/x m ),其中r 为固有增长率(x 很小时),x m 为人口容量(资源、环境能容纳的最大数量),于是得到如下微分方程:⎪⎩⎪⎨⎧=-=0)0()1(d d xx x x rx t xm三、数学模型的建立与求解根据Malthus 模型的基本假设,和Logistic 模型,我们可以分别求得微分方程的解析解,y1=x0*exp(r*x);y2= xm/(1+x0*exp(-r*x))对于1790—1980年间美国每隔10年的人口记录,分别用matlab 工具箱中非线性拟合函数的命令作一般的最小二乘曲线拟合,可利用已有程序lsqcurvefit 进行拟合,检验结果进一步讨论模型的改进,预测美国2010年的人口数量。
使用MATLAB进行数据预测和预测引言:数据预测和预测在许多领域中都具有重要的应用价值。
它们可以帮助我们预测未来的发展趋势,做出合理的决策,并在经营和决策中提供有力的支持。
在这一过程中,MATLAB作为一种功能强大的编程语言和数据分析工具,为我们提供了一个强大的工具箱,可以进行数据预测和预测。
数据预处理:在开始数据预测和预测之前,我们首先需要对数据进行预处理。
预处理包括数据清洗、数据归一化、特征选择等步骤。
通过这些步骤,我们可以提高数据的质量,减少噪声的影响,并使数据更适合于预测模型的建立。
数据清洗是指删除或修复数据中的错误值、缺失值和异常值。
在MATLAB中,我们可以使用一些函数和工具箱来处理这些问题。
例如,我们可以使用`isnan`函数来检测缺失值,并使用`fillmissing`函数来填充缺失值。
对于异常值,我们可以使用一些统计方法,如3σ原则或箱线图来识别和处理。
数据归一化是将不同尺度的数据映射到统一的尺度上。
这是因为不同尺度的数据可能对预测模型的训练和预测产生不利影响。
在MATLAB中,有许多方法可以实现数据归一化,如MinMax归一化、Z-score归一化等。
我们可以使用`mapminmax`函数来实现MinMax归一化,并使用`zscore`函数来实现Z-score归一化。
特征选择是从原始数据中选择最相关的特征,以降低数据维度并提高预测模型的准确性。
在MATLAB中,我们可以使用一些算法和函数来实现特征选择。
例如,我们可以使用`fsrnca`函数(基于相关系数的特征选择)或`sequentialfs`函数(基于逐步搜索的特征选择)来选择最佳特征子集。
在完成数据预处理后,我们可以使用各种算法和方法进行数据预测。
在MATLAB中,有许多经典的预测算法和函数可供选择。
以下是几个常用的预测方法。
1. 线性回归:线性回归是一种基本的预测方法,它使用线性模型来建立输入变量和输出变量之间的关系。
阻滞增长模型matlab代码摘要:1.阻滞增长模型的概念和原理2.阻滞增长模型的数学表达式3.如何使用MATLAB 实现阻滞增长模型4.阻滞增长模型的应用案例5.阻滞增长模型的优缺点正文:阻滞增长模型是一种常用的人口增长模型,它假设人口增长率与人口数量之间存在一定的关系,并假设人口数量在达到一个特定的阈值之后将不再增长。
这种模型主要用于描述生物种群数量随着环境的变化而变化的过程。
阻滞增长模型的数学表达式通常是一个微分方程。
在MATLAB 中,可以使用ode45 函数来求解这个方程。
下面是一个示例代码,假设人口增长率为r,人口数量为p,阈值为k:```matlabfunction dpdt = populationgrowth(t, p, r, k)% 求解人口增长微分方程dpdt = r * p * (1 - p / k);end```阻滞增长模型的应用案例非常广泛,比如在生态学、环境科学、经济学等领域都有应用。
例如,在生态学中,阻滞增长模型可以用来描述某种生物种群数量随着环境变化而变化的过程;在环境科学中,阻滞增长模型可以用来预测城市人口增长的速度;在经济学中,阻滞增长模型可以用来描述某个市场的增长速度。
阻滞增长模型的优缺点如下:优点:- 阻滞增长模型假设人口增长率与人口数量之间存在一定的关系,这种假设比较符合实际情况。
- 阻滞增长模型可以用来描述生物种群数量随着环境的变化而变化的过程,因此在生态学等领域有广泛的应用。
- 阻滞增长模型的数学表达式比较简单,求解起来比较容易。
缺点:- 阻滞增长模型的假设比较简单,可能无法描述实际情况中的复杂关系。
- 阻滞增长模型的数学表达式只能描述人口增长率与人口数量之间的关系,无法描述人口增长率与其他变量之间的关系。
中国人口增长预测本题是一个人口发展预测的问题。
人口发展与一般种群增长一样,是由自然增长率决定的。
然而,人类个体是一种社会的个体,所以人口发展有自己的特点。
想到人口的迁移,性别比例,城镇化等。
同时,人口发展受政策的影响,例如计划生育;也要受到人们意识的影响,像生育意识等。
但是从社会层面上看,生育意识在整个社会上体现为妇女的生育模式,进而可以特别地去考虑。
思考方法:首先,数据的处理。
在经过EXCEL分析和验证后,适当修正题中的个别有误数据后,利用有效数据进行建模求解,在此过程中,我们提取出死亡率、生育率等感念,且把人的一生按年龄分为青年期、衰老期等阶段。
这是求解人口增长模型的必要过程和方法。
其次,模型建立。
和一般的预测模型一样,本模型也是个预测模型,所以考虑到用题目所给的五年的信息,来推测今后几十年的人口的总数和结构情况。
对此,我们选用差分方程模型和数据参数拟合等方法。
同时,将死亡率与出生率分开分别计算和拟合,通过五年的实际数据拟合出相应函数的参数,再利用此函数进行评估和预测。
最后,利用已有信息以及上述所求出的对应函数和方程,对中短期与长期进行估计和预测,进而得出人口结构、人口比例、人口数量等一系列的相关数据。
以下是解答过程:1.数据说明:x:表示最大的年龄;mi=1,2,3,4,5,6 其中1表示市男性,2表示市女性,3表示镇男性,4表示镇女性,5表示乡男性,6表示乡女性;A :表示婴儿性别比例矩阵;* :表示点乘;P(x,t):表示t时刻年龄为x的人口数量;ibir(x,t):表示t时刻年龄为x的出生率;i)(,i dea x t:表示t时刻年龄为x的死亡率;)(i t k:表示t时刻婴儿的死亡率;tra(x,t):表示t时刻年龄为x的人口迁出率;i2.假设条件1. 假设国内社会环境稳定,无异常大量死亡或出生情况发生,人口比例,人口总数不会出现突变状况; 2. 假设只存在乡向城镇迁出,不存在其他迁移方式,且不同年龄段迁移率相同; 3. 假设不考虑国家之间的迁入与迁出,把中国内部看为一个封闭的模型; 4. 对于90岁以上的人都按照90岁处理; 5. 假设只存在乡向城镇迁出,不存在其他迁移方式,且不同年龄段迁出率相同,按照0.6%均匀增长。
matlab曲线拟合人口增长模型及其数量预测随着人口数量的不断增加,人口增长的预测成为了重要的社会话题。
为了了解和预测人口的发展趋势,人们需要建立各种数学模型,以帮助他们分析人口变化的规律。
首先,我们需要了解什么是曲线拟合。
曲线拟合是一种数学方法,用于找到能够用已知数据点经过的曲线最佳地描述这些数据点的方程。
接下来,我们需要选择合适的模型,以描述人口增长。
常用的模型有线性模型、指数模型、对数模型和幂函数模型。
在这里,我们选择使用幂函数模型,其数学表达式为y=ax^b,其中y表示人口数量,x表示时间,a和b是拟合参数。
为了得到在该模型下的最佳参数值,我们需要使用matlab中的“拟合曲线工具箱”。
该工具箱提供各种函数,可用于拟合各种类型的数据,包括基于模型的数据点。
在使用该工具箱进行拟合之前,我们需要先准备好我们的数据。
我们可以使用已知的人口数量数据,以确定模型的参数,然后在没有人口数量数据的情况下进行预测。
接下来,我们使用“拟合曲线工具箱”中的“幂函数拟合”函数进行拟合。
该函数会自动计算最佳参数值,并提供了一些工具,用于优化和调整拟合曲线。
此外,对于得到的拟合曲线,我们还可以使用matlab中的“预测函数”来预测不同时间点的人口数量。
该函数将基于已知的拟合参数值,预测给定时间点的人口数量。
在得到拟合和预测结果之后,我们可以使用matlab的图表工具,将结果可视化。
这将有助于我们更好地了解数据点和拟合曲线之间的关系,以及预测结果的准确性。
总之,在制定人口增长规划时,建立数学模型是非常重要的。
使用matlab曲线拟合人口增长模型及其数量预测,可以快速、准确地得到所需的结果,帮助社会决策者制定更好的政策。
目录摘要 (1)关键词 (1)引言 (1)1引言 (1)1.1 论文研究的背景 (2)1.2论文研究的意义 (2)2人口预测模型 (4)2.1 MALTHUS模型 (4)2.2 LOGISTIC模型 (5)3 MATLAB仿真计算 (6)3.1人口预测模型及参数的选定 (6)3.2计算人口环境容纳量 (7)4. 结论 (15)参考文献:.......................................... 错误!未定义书签。
Abstract (1)Key words (1)基于MATLAB的中国人口预测信息与计算科学专业张良指导教师:卢月莉[摘要]以MATLAB为人口预测的仿真计算平台,采用MALTHUS和LOGISTIC模型对中国人口进行了预测和比较,分析了人口增长率的变化率、远期人口预测的相对误差及LOGISTIC 模型的人口发展趋势,给出了合理的人口环境容纳量,修正了预测模型的相对误差,提高了人口预测的准确度。
[关键词]MATLAB仿真;人口预测;误差; MALTHUS模型; LOGISTIC模型;环境容纳量1引言1.1 论文研究的背景人口问题是长期以来制约中国社会发展的最为关键的因素之一。
从新中国成立至今,中国人口己经由5.4亿增至13.3亿,人口总量增加了近8亿。
在中国人口的各发展阶段过程中,人口数据受限于人口基数而表现了结构的变化,自建国初期到70年代,是中国人口由原来的高出生率、高死亡率进入到高出生率、低死亡率的人口增长时期。
特别是受多年的人口结构积累的影响,近年来的中国人口发展出现了老龄化进程加速的态势,预计未来还将进一步地延伸该态势,对中国社会还将持续发生较大的影响作用。
基于现实来看,现代中国处于全面建设小康社会的快速转型期,人口的发展将使中国从总体资源丰富的大国步入人均资源占有量不足的境地,势必抑制国民整体生活水平的快速增长。
诸如此类因素,都将影响中国的未来,因而,有效的分析与科学预测中国人口的发展与变化显得既紧迫又重要。
综合案例 人口增长模型据人口学家们预测,到2033年 ,世界人口将突破100亿,每年增加近1亿人,以后还会迅猛增长。
人们开始考虑,我们赖以生存的地球究竟是否能承受如此的增长。
让我们建立数学模型来预测人口的增长。
我们关心任意时刻的人口总数N (t ),即t 时刻人口中生命个体的总数,而忽略他们的年龄和性别。
影响总人口数的最显著的因素是个体的出生、死亡、以及进出我们所研究区域的个体数。
为了简化问题,我们忽略迁入与迁出的人口,仅考虑时间段∆t 内人口数的变化情况。
很明显,出生和死亡人数的变化将依赖于以下因素:(1) 时间间隔∆t 的长短;(2) 时间间隔开始时的人口总数。
做最简单的假设是正比关系,即时间间隔∆t 内的出生人数= bn(t)∆t 时间间隔∆t 内的死亡人数=dn(t)∆t这里b 和d 分别是出生率和死亡率。
我们得到一个初始模型为N(t+∆t)-N(t)=(b -d)N (t) ∆t (2.35)现在可根据时间区间∆t 的两种情况进一步研究模型. 一种是确定一个有限的时间单位,比如∆t=1年,令N k = N(k)=N (k ∆t), k=1,2,3,… 这样方程(2.35)便是一个关于序列N K ,k=1,2,3, …的差分方程: N k+1= (b -d+1)N k k=1,2,3,…我们可以根据上一年的人口数推算出第二年的人口数以及逐年的人口数。
另一种是考虑很短的时间区间∆t 内的人口变化。
由于一个广阔区域的人口数量很大,可认为人口数N(t)是一个连续变量,因为当N(t)很大时,对应的曲线具有很小的跃变可视为平滑的,这样的处理即简化了模型又不会引起严重误差。
先将式(2.35)改写为tt N t t N t N ∆-∆+)()()(1=b -d令∆t →0,则有d b dtdN N -=1 (2.36)等式左端的表达式可以理解为“相对增长率”,对其作不同的假设可以建立不同的数学模型。
基于MATLAB的人口预测模型人口预测一直是社会发展规划中非常重要的一环。
人口数据是国家发展规划的重要参考数据,能够引导政府制定出有关教育、科技、医疗、城市规划等各方面的政策。
在这个过程中,越来越多的人们使用基于MATLAB的人口预测模型来预测未来的人口趋势。
人口预测模型是一种用于预测人口数量及其性别、年龄和职业等结构的数学模型。
人口预测必须考虑自然出生率、死亡率、迁移率、迁移人口和社会变化等因素,同时你还可以考虑一些特殊因素,例如疾病、自然灾害和政策调整等。
最初的人口预测模型是利用经验数据集来预测未来的人口趋势。
这些经验数据集通常包括历史上的人口数量、出生率、死亡率和迁移率等方面的数据,通过对这些数据进行大量的统计分析和拟合,实现对未来人口趋势的预测。
在MATLAB中,利用人口预测模型进行预测,一般涉及以下几个步骤:第一步:确定人口预测的模型在MATLAB中,我们可以利用多种不同的数学常规和机器学习算法来建立人口预测模型。
最常用的算法包括决策树,随机森林和支持向量机等。
第二步:准备数据在建立人口预测模型之前,需要对原始人口数据进行清理和完善。
要保证数据准确和完整,通常需要进行数据采集、修缮、清理等步骤。
第三步:训练模型在准备好数据后,需要训练人口预测模型。
这个过程中,需要选择适当的算法,设置模型参数,并对模型进行验证和评估。
在这个步骤中,我们也可以利用大量的历史人口数据来训练我们的模型,以获得最准确的结果。
第四步:预测未来趋势在训练好模型之后,我们可以开始对未来人口趋势进行预测。
根据历史数据和模型结果,我们可以在MATLAB中逐步地预测未来人口数量的变换趋势。
通过调整模型参数,我们还可以进行针对性的预测,预计未来发展中出现的变化。
总结:基于MATLAB的人口预测模型是一种非常强大的工具,可以预测未来几十年的人口趋势。
通过有效地收集、历史数据的有效清理和基于机器学习算法的人口模型,人口预测模型可以帮助政府和其他机构更好地了解人口变化情况,掌握经济、政治和社会发展的趋势。
基于 MATLAB 的人口预测模型摘要本文以 1980-2014 年中国年终总人口数据资料为依据,分别使用了一次拟合、灰色预测模型和时间序列模型进行拟合,最终得出时间序列模型的效果最优,得到了中国人口数量逐年增长,但同时增长速度逐渐放缓的结论,为政府制定人口、经济政策提供了一定的依据。
关键词:人口数量;一次拟合;灰色预测;时间序列前言世界人口的迅猛增长引起了许多问题。
特别是一些经济不发达国家的人口过度增长,影响了整个国家的经济发展、社会安定和人民生活水平的提高,给人类生活带来许多问题。
为了解决人口增长过快的问题,人类必须控制自己,做到有计划地生育,使人口的增长与社会、经济的发展相适应,与环境、资源相协调。
我国是世界上人口最多的发展中国家。
人口数量多、增长快、可耕地少、国家底子薄,这是我国的基本国情。
人口增长过快,严重制约着我国经济和社会发展的进程,影响着人民生活的改善和民族素质的提高。
从而造成社会再生产投入不足,严重影响国民经济的可持续发展。
认真分析我国目前的人口现状和特点,采取切实可行的措施控制人口的高速增长,提高人口的整体素质,已成为我国目前经济发展中需要解决的首要问题。
本文以中国近 35 年的人口数据尝试建立模型,分别建立了一次模型、灰色预测 GM(1,1)模型和时间序列 AR 模型,最终选取了拟合效果最好的时间序列模型,用于说明我国人口问题以及预测短期内人口数量变化,以及为我国即将面临的人口问题提供一些建议。
概念与引理定义 1[1]:人口问题,是由于人口在数量、结构、分布等方面快速变化,造成人口与经济、社会以及资源、环境之间的矛盾冲突。
人口数量问题,主要由非均衡生育(多子化和少子化)以及人口迁移造成,只有通过均衡生育(发达国家 2.17 胎,发展中国家 2.3 胎)和调控迁移来解决。
人口结构问题,主要包括年龄、性别、收入、人种、民族、宗教、教育程度、职业、家庭人数等人口结构问题;其中最为突出的是年龄(多子化、少子高龄化)、性别(男女比例失调)和收入(基尼系数高、中产塌陷)结构问题。
基于MATLAB的人口预测研究一、本文概述1、人口预测的背景和意义在当今社会,人口预测已经成为一个至关重要的研究领域。
随着全球化的推进和科技的飞速发展,各国政府、企业和研究机构越来越意识到人口数据对未来战略规划的重要性。
人口预测不仅仅是关于数量的预测,更是对人口结构、年龄分布、性别比例、迁移趋势等多维度的综合分析。
背景上,全球人口正在经历前所未有的变化。
一些国家面临人口老龄化的严峻挑战,而另一些国家则正在经历人口爆炸式增长。
这些变化对经济发展、社会福利、环境保护等诸多方面产生深远影响。
因此,准确预测人口变化,为政策制定者提供科学依据,已成为现代社会不可或缺的任务。
在意义方面,人口预测对于国家和地区的发展至关重要。
通过人口预测,政府可以合理规划教育资源、医疗资源和社会保障资源,确保人民的基本生活需求得到满足。
人口预测对于经济发展也具有重要意义。
例如,预测劳动力市场的变化可以帮助企业调整人力资源策略,应对潜在的人才短缺或过剩问题。
人口预测还有助于环境保护和城市规划。
通过预测人口分布和迁移趋势,政府可以制定更加合理的环境保护政策和城市规划方案,实现可持续发展。
因此,基于MATLAB的人口预测研究具有重要的理论价值和现实意义。
MATLAB作为一种强大的数学计算软件,具有强大的数据处理能力和丰富的算法库,为人口预测提供了有力的工具。
通过MATLAB,研究人员可以更加准确、高效地分析人口数据,为政府决策和企业战略提供有力支持。
2、MATLAB在人口预测中的应用及优势MATLAB作为一种功能强大的科学计算与数据分析软件,其在人口预测研究中的应用越来越广泛。
MATLAB提供了丰富的数据处理和算法实现工具,使得人口预测模型的构建、参数估计、结果分析和可视化展示等过程变得高效且直观。
MATLAB在数据处理方面具有显著优势。
人口预测研究通常涉及大量的历史人口数据,这些数据往往需要进行清洗、整合和变换。
MATLAB 提供了强大的数据处理功能,包括数据导入、数据清洗、数据转换等,使得研究者能够迅速完成数据预处理工作,为后续的人口预测模型建立提供可靠的数据基础。
数学建模第一次实验报告
一.实验目的
学习有关人口预测的模型,了解有关混沌的基本理论,建立人口预报模型,并完成人口总量的预报,能够用软件完成数据计算。
二.实验内容
1.下表为我国自1949年至2000年的人口数据,请根据人口模型,预测出2010、2015
年我国的人口总数,并根据中国统计局的全国人口普查公报的1%调查数据,计
2.
谈谈你所认识的混沌
三. 实验步骤
1. 查阅资料选择模型
通过查阅资料,发现在考虑算法复杂度以及预测效果等综合因素时,阻滞增长
模型(Logistic 模型)要优于其他模型,所以我们选用阻滞增长模型进行本次实验。
2. 建立模型
阻滞增长模型(Logistic 模型)是考虑到自然资源、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的。
阻滞作用体现在对人口增长率r 的影响上,是的r 随着人口数量x 的增加而下降。
若将r 表示为x 的函数
()r x ,则它应是减函数,于是有:
()()0,0dx
r x x x x dt
== (1) 对于()r x 的一个最简单的假设是()r x 为x 的线性函数,即:
()(),0,0r x r sx r s =->> (2)
设自然资源和环境所能容纳的最大人口数量为m x ,当m x x =时人口不在增长,即增长率()0m r x =,代入(2)式可得m
r
s x =
,所以有: ()(1)m
r
r x r x =-
(3) 将(3)式代入(1)式得:
()0(1)0m dx
r rx dt x x x
⎧=-⎪⎨
⎪=⎩
(4) 解(4)可得(5)式:
()0
1(1)e m
rt
m x x t x
x -=
+- (5)
3. 根据模型原理进行编程
程序见第五部分。
4. 运行结果
采用1949年到2000年的人口调查结果作为数据,计算得到的模型参数()r x 和
m x 为:()0.0296r x =,()204.5537m x =千万人。
1949年到2000年的预测结果与人口调查结果对比图如图1所示。
图1. 1949-2000年实际人口与理论值的比较
预测2010年和2015年的人口数为:2010年14.17亿,2015年14.78亿。
考虑到1971年我国开始全面实行计划生育政策这一非自然因素,我们采用1971年到2000年的人口调查结果作为数据,计算得到的模型参数()r x 和m x 为:
()0.0396r x =,()165.0319m x =千万人。
1971年到2000年的预测结果与人口调查结果对比图如图2所示。
图2. 1971-2000年实际人口与理论值的比较
预测2010年和2015年的人口数为:2010年13.84亿,2015年14.25亿。
根据中华人民共和国国家统计局于2011年4月28日发布的《2010年第六次全国人口普查主要数据公报》,我国2010年的人口总数为1370536875人。
与这一调查结果相比,第二次的预测结果与调查结果更为相似,相差0.13亿。
四.对混沌的认识
通过查阅资料,得知在非线性科学中,混沌现象指的是一种确定的但不可预测的运动状态。
它的外在表现和纯粹的随机运动很相似,即都不可预测。
但和随机运动不同的是,混沌运动在动力学上是确定的,它的不可预测性是来源于运动的不稳定性。
或者说混沌系统对无限小的初值变动和微扰也具于敏感性,无论多小的扰动在长时间以后,也会使系统彻底偏离原来的演化方向。
一个比较容易理解混沌现象是著名的蝴蝶效应。
五.实验代码
第一次预测的实验代码为:
function main
clear all
load data.txt;
t=data(:,1)';
x=data(:,2)'/1000;
s=size(x);
x1=x(1:s(2)-1);
x2=x(2:s(2));
dx=(x2-x1)./x2
a=polyfit(x2,dx,1)
r=a(2),xm=-r/a(1)
x0=55.19;
f=inline('xm./(1+(xm/x0-1)*exp(-r*(t-1949)))','t','xm','r','x0');
plot(t,f(t,xm,r,x0),'-r',t,x,'+b');
title('1949-2000年实际人口与理论值的比较')
x2010=f(2010,xm,r,x0)
x2015=f(2015,xm,r,x0)
第二次预测的实验代码为:
clear all
load data.txt;
tt=data(:,1)';
xx=data(:,2)'/1000;
sx=size(xx);
st=size(tt);
x=xx(23:sx(2))
t=tt(23:st(2));
s=size(x);
x1=x(1:s(2)-1);
x2=x(2:s(2));
dx=(x2-x1)./x2
a=polyfit(x2,dx,1)
r=a(2),xm=-r/a(1)
x0=86.7;
f=inline('xm./(1+(xm/x0-1)*exp(-r*(t-1971)))','t','xm','r','x0'); plot(t,f(t,xm,r,x0),'-r',t,x,'+b');
title('1971-2000年实际人口与理论值的比较')
x2010=f(2010,xm,r,x0)
x2015=f(2015,xm,r,x0)。