郑小洋 罗其莉 姚蕾 宋江敏
【摘要】本文直接从建立阻滞增长模型出发,培养学生应用MATLAB解决实际问题的计算和估计参数的能力.
【关键词】阻滞增长模型;参数估计;最小二乘法;数值计算
引言 在大学生数学建模课程教学中有人口预测模型这部分内容,最开始导出的是人口指数增长模型,但是,对一般情况的人口预测效果不怎么好,后又建立了人口阻滞增长模型.这一过程的推导和教学能够让学生体会到怎么样从一个粗略的模型提炼出一个能描述、反映和解决实际问题的数学模型,从而可以培养学生从实际问题抽象出适当的数学问题的建模能力.本文直接从建立阻滞增长模型出发,重在培养学生的建模思想、建模能力、以MATLAB软件求解模型和估计模型参数的能力.
1.模型的建立
人口阻滞增长模型的原理:阻滞增长模型是考虑到自然资源、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的.阻滞作用体现在对人口增长率r的影响上,使得r随着人口数量x的增加而下降.若将r表示为x的函数r(x),则它应是减函数,可以得到:
dxdt=r(x)x,x(0)=x0,(1)
这里x0为初始时的人口数量.
对人口增长率r(x)的一个简单的假定是设r(x)为x的线性函数,即
r(x)=r0-sx,(r>0,s>0),(2)
这里r0为固有增长率.另外,假设自然资源和环境条件所能容纳的最大人口数量xm,当x=xm时人口不再增长,即增长率r(xm)=0,代入(2)式得s=r0xm,则(2)式为
r(x)=r01-xxm,(3)
将(3)代入(1)得:
dxdt=r0x1-xxm,
x(0)=x0,(4)
注意微分方程(4)带有两个参数xm和r0.具体求解模型时,该问题就是求解带参数的微分方程,这是个非常有意义的主题,可以引导学生去学习、讨论相关的内容.另外,该模型是荷兰生物学家Verhulst提出的,称为Logistic模型,它在描述许多物种数量的变化规律以及社会经济领域有广泛的应用.
2.求解模型
这里从两方面求解这个带参数的微分方程模型.一个是教材叙述的分离变量法解该微分方程,得解析解
x(t)=xm1+xmx0-1e-r0t.(5)
另一个方法是以MATLAB软件求解,其程序为dsolve(′Dx=r_0*x*(1-x/x_m)′,′x(0)=x_0′,′t′).结果为:xm/(1+exp(-r0*t)*(xm-x0)/x0).当然,较复杂的微分方程可以通过MATLAB软件求数值解,这些内容可以指导学生课外去学习、实践.
3.估计模型参数
人口阻滞增长模型的解(5)里含有两个参数,这两个参数可以通过某一国家或者某一地区的实际人口统计数据作参数估计,本文采用最小二乘法估计参数.如果直接用教材的线性二乘法估计参数,则需要对解作处理,可以参阅教材.这里调用MATLAB的函数lsqcurvefit就可以完成参数估计,该函数的算法原理,可以指导感兴趣的学生课外学习.本文以《数学建模》教材的美国每隔10年(1790—1960)的人口统计数据(×106)估计该模型的两个参数xm和r0.求解程序为:
函数文件logistic:function y=logistic(a,x)
x0=3.9; y=a(1)./(1+(a(1)/x0-1).*exp(-a(2)*x))
主函数:
x=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17];
y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3]; % 人口数量
a0=[570 0.03]; % 参数初值
[a,resnorm]=lsqcurvefit(@logistic,a0,x,y)
x1=linspace(0,18,100);x0=3.9;
y1=a(1)./(1+(a(1)/x0-1).*exp(-a(2)*x1));
plot(10*x1+1790,y1); hold; plot(10*x+1790,y,′o′); axis([1790 1970 3 240]); xlabel(′年份/年′); ylabel(′×e+006人′);
title(′美国人口预测′); legend(′拟合的值′,′实际值′);
y1970=a(1)./(1+(a(1)/x0-1).*exp(-a(2)*19))
求得的结果为:xm=226.0779,r0=0.3026,y1970=191.3787.注意xm的值不太理想,可再以较多的人口数据估计参数.
本文就在人口阻滞增长模型教学时应该注意的问题展开了讨论,注重培养学生的建模能力以及用MATLAB软件解决实际问题的能力.当然,进一步要求的是在课外指导学生学习本文涉及的MATLAB函数,例如dsolve和lsqcurvefit的算法原理.
【参考文献】
[1]姜启源,谢金星,叶俊.数学模型.高等教育出版社,2003.
[2]韩明.从数学实验和数学建模看大学数学教学改革[J].科学咨询(决策管理),2010(2):131-134.
[3]李同胜.数学素质教育教学新体系和实验报告[J].教育研讨,1997(6): 2-3.
[4]陈绍刚,黄廷祝,黄家琳.大学数学教学过程中数学建模意识与方法的培养[J].中国大学教学,2010(12):46-48.