matlab数学实验报告doc.docx

上传人:b****4 文档编号:3733202 上传时间:2022-11-25 格式:DOCX 页数:10 大小:81.06KB
下载 相关 举报
matlab数学实验报告doc.docx_第1页
第1页 / 共10页
matlab数学实验报告doc.docx_第2页
第2页 / 共10页
matlab数学实验报告doc.docx_第3页
第3页 / 共10页
matlab数学实验报告doc.docx_第4页
第4页 / 共10页
matlab数学实验报告doc.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

matlab数学实验报告doc.docx

《matlab数学实验报告doc.docx》由会员分享,可在线阅读,更多相关《matlab数学实验报告doc.docx(10页珍藏版)》请在冰豆网上搜索。

matlab数学实验报告doc.docx

matlab数学实验报告doc

 

MATLAB数学实验报告

------人口统计与预测

 

指导老师:

王宁

 

实验者:

核工程93孔海宇09032064

核工程93万承辉09032075

核工程93张勇09032082

 

实验日期:

2010年5月28日

实验目的

通过对人口预测问题的分析求解,了解利用最小二乘法进行数据拟合的基本思想,熟悉寻找最佳拟合曲线的方法,掌握建立增长数学模型的思想方法。

通过拟合图像,对人口进行预测。

实验原理

对于已

知的关于自变量和因变量的一组数据(

),(

),…,(

),寻找一个合适的类型的函数y=f(x)(如线性函数y=ax+b,多项式函数

指数函数

等),使它在观测点

处取得的值与

与观测值

在某种尺度下最接近,从而可用函数y=f(x)作为由观测点所反映的规律的近似表达式。

数据拟合(最小二乘法):

对于已知的一组数据(

),(

设定某一类型的函数y=f(x)后,确定函数中的参数,使得在各点处的偏差

的平方和

最小,这种根据偏差平方和最小的条件确定参数的方法叫做最小二乘法.在最小二乘问题中函数

的选取是非常重要的,但同时又比较困难。

对于一般的拟合函数通常选取为一组线性无关的简单函数类(又称为拟合基函数)

的线性组合

通过最小二乘法求出待定常数

多项式曲线拟合:

如果选用的基函数为幂函数类:

1,

,此时拟合函数为一个m次多项式函数

,根据最小二乘法拟合思想,问题归结为m+1元函数

的最小值问题。

利用多元函数取极值的条件

得到法方程组

可以求得多项式系数.

对于多项式曲线拟合的求解,MATLAB软件提供了相应的命令polyfit,格式:

p=polyfit(x,y,m)

其中x,y为已知数据点向量,m为要拟合的多项式次数,结果返回拟合的m次多项式系数,从高次到低次存放在向量p中,再用命令y0=polyval(p,x0)求得多项式在x0处的值y0。

由于高次多项式曲线变化不稳定,因此拟合时多项式次数不宜过高

 

实验内容

本次实验要求根据美国前100年的人口数据数据,分别用Malthus和Logistic模型建立美国人口增长的近似曲线(设美国人口总体容量为10亿),并预测后100年我国的人口数,通过与实际数据相比较,对两种预测结果进行分析。

1790年到1980年各年美国人口的统计数据如下表:

美国人口统计数字(单位:

百万)

Malthus模型

1978年,英国统计学家Malthus在进行大量的统计基础上发现了一个关于生物种群的繁殖规律,就是一个种群中个体数量的增长率与该时刻种群的个体数量成正比。

按照此规律,设种群个体数量为

时刻开始计时,t时刻种群个体数为

,于是得到Malthus模型:

求解此方程,得到生物种群繁殖的规律为:

由此可见,生物种群个体数量是按照指数方式增长的。

Logistic模型

1838年,荷兰生物学家Verhulst做了进一步的分析后指出,导致Malthus模型不符合实际情况的主要原因是Malthus模型未能考虑生物种群繁殖过程中“密度制约”因素。

事实上,种群生活在一定的环境中,在资源给定的情况下,个体数量越多,每一个个体获得的资源就越少,这将抑制其生育率,增加死亡率。

因而,相对增长率不是常数,而应该乘上一个“制约因子”。

这个因子随

的增加而减少,设为

,其中k为环境的容纳量。

于是Verhulst提出了生物种群增长的Logistic模型:

求解方程得:

这便是Logistic模型。

实验问题求解:

Malthus模型下的求解程序

clear;clf

t=1790:

10:

1980;

N=[3.95.37.29.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];

plot(t,N,'k.','markersize',20);

axis([1790198001000])

grid;holdon

pause(0.5)

n=10;

a=sum(t(1:

n));

b=sum(t(1:

n).*t(1:

n));

c=sum(log(N(1:

n)));

d=sum(t(1:

n).*log(N(1:

n)))

A=[na;ab];

B=[c;d];

p=inv(A)*B

x=1790:

10:

1980;

y=exp(p

(1)+p

(2)*x);

plot(x,y,'r-','linewidth',2)

Logistic模型下的求解程序

clear;clf

t=1790:

10:

1980;

N=[3.95.37.29.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];

plot(t,N,'k.','markersize',20);

axis([179019800600])

grid;

holdon

pause(0.5)

n=10;

I=[3.95.37.29.612.917.123.231.438.650.2]

K=[1000100010001000100010001000100010001000]

g=1./I;

h=1./K;

M=g-h;

a=sum(t(1:

n));

b=sum(t(1:

n).*t(1:

n));

c=sum(log(M(1:

n)));

d=sum(t(1:

n).*log(M(1:

n)))

A=[na;ab];

B=[c;d];

p=inv(A)*B

x=1790:

10:

1980;

y=1./(0.001+exp(p

(1)+p

(2)*x));

plot(x,y,'r-','linewidth',2)

实验结果分析

1、在Malthus模型下的求解情况分析

由程序运行解得的a=-49.7954;b=0.0286

由程序运行的曲线如下

2、在Logistic模型下的求解情况分析

由程序运行解得的a=50.7047.7954;b=-0.0291

由程序运行的曲线如下

3、两种人口预测模型的对比

由实验可知,两种模型均可对人口的未来走向有所预测,但很明显,Malthus模型在预测时会产生较大的误差,相比之下,由于Logistic模型考虑到了“密度制约”的因素,引进了一个制约因子,因此修改后的认可预测模型能够更好地对未来的人口加以预测。

下面的图形是将两种模型的曲线在同一个图中加以比较,其中蓝色的线代表的是Malthus模型的人口预测曲线,红色的线代表的是Logistic模型的人口预测曲线,黑点代表实际的人口数目。

由图中二者的对比不难发现,Logistic模型确实比Malthus模型能更好地对未来人口的走向加以预测。

所以Logistic模型是一个更好的人口预测模型。

实验误差分析

虽然两种人口模型均可以对未来的人口走势进行预测,但是,实际的人口数目仍小于预期的人口数目,而且随着时间的增加,这种误差会越来越明显。

这是由于实际情况下的情况更加复杂,除了人口密度的制约因素外,人口增长的因素还受到其他众多因素的影响,比如自然灾害、流行性疾病的发生、战争等等。

例如,在20世纪三四十年代,人口的增长出现了短暂的停滞,这应该是由于美国当时正处于大萧条时代,后来又卷入了第二次世界大战的缘故,所以人口的总数会出现减缓增长的现象;而到了60年代前后,那时美国经济正在飞速发展,人口也在以一个较高的速度发展。

这些外在因素的影响导致了实验预测产生误差,而且外在的因素影响越强烈,实验的预测情况与实际情况之间的误差就会越大。

总结与收获

在此次实验中,我们共同合作,学会了用matlab编写简单的数学程序进行一些建模和数学计算,同时我们还掌握了两种人口预测的模型,并且在合作研究之中学会了如何客观全面地分析问题,解决问题。

在我们一起合作时,我们也体会到了共同合作学习的重要性,学会了如何团结合作完成一个问题。

总之,此次数学实验让我们受益匪浅,学到了很多知识,收获了很多能力。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1