为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

matlab人口预测与数据曲线拟合

2021-11-11 35页 ppt 519KB 24阅读

用户头像 个人认证

你好明天

暂无简介

举报
matlab人口预测与数据曲线拟合MathematicsLaboratoryExperimentsinMathematics赵小艳数学实验办公地址:理科楼214实验13人口预测与数据拟合2、了解利用最小二乘法进行数据拟合的基本思想,掌握用数据拟合法寻找最佳拟合曲线的方法。3、了解多元函数的极值在数据拟合法中的应用。实验目的1、学会用MATLAB软件进行数据拟合。4、通过对实际问题进行分析研究,初步掌握建立数据拟合数学模型的方法。据人口统计年鉴,知我国从1949年至1994年人口数据资料如下:(人口数单位为:百万)(1)在直角坐标系上作出人口数的图象。(2)建立...
matlab人口预测与数据曲线拟合
MathematicsLaboratoryExperimentsinMathematics赵小艳数学实验办公地址:理科楼214实验13人口预测与数据拟合2、了解利用最小二乘法进行数据拟合的基本,掌握用数据拟合法寻找最佳拟合曲线的方法。3、了解多元函数的极值在数据拟合法中的应用。实验目的1、学会用MATLAB软件进行数据拟合。4、通过对实际问题进行分析研究,初步掌握建立数据拟合数学模型的方法。据人口统计年鉴,知我国从1949年至1994年人口数据如下:(人口数单位为:百万)(1)在直角坐标系上作出人口数的图象。(2)建立人口数与年份的函数关系,并估算1999年的人口数。实验问题年份   1949  1954 1959 1964 1969 人口数 541.67 602.66672.09704.99 806.71  年份  1974 1979 1984 1989 1994人口数 908.59 975.421034.75 1106.76 1176.74 如何确定a,b?线性模型1曲线拟合问题的提法:已知一组(二维)数据,即平面上的n个点),(iiyx,ixni,,,2,1L=互不相同,寻求一个函数(曲线))(xfy=,使)(xf在观测点x处所取得值f(x)分别与观察值y在某种xy0++++++++一、曲线拟合准则下最为接近,即曲线拟合得最好,如图从几何上讲,并不要求曲线严格通过已知点,但要求曲线在各数据点和已知数据点之间的总体误差最小,通常称为数据拟合。达到最小。最小二乘准则而我们经常是确定f(x)使得偏差平方和数据插值已知一组(二维)数据,即平面上的n个点),(iiyx,ixni,,,2,1L=互不相同,寻求一个函数(曲线))(xfy=数据插值2.用什么样的曲线拟合已知数据?常用的曲线函数系ri(x)类型:1)画图观察2)理论分析指数曲线:双曲线(一支):多项式:直线:例如指数函数拟合三角函数拟合多项式拟合3拟合函数组中系数的确定4用matlab软件进行数据拟合(1)lsqcurvefit命令----最小二乘拟合a=lsqcurvefit(fun,x0,xdata,ydata)[a,resnorm]=lsqcurvefit(fun,x0,xdata,ydata)是根据给定的数据xdata,ydata,按照函数文件fun给定的函数,以x0为初值做最小二乘拟合,返回函数中的系数向量a和残差平方和resnorm。例首先编写函数文件functiony=f(a,x)f=a(1)*exp(x)+a(2)*x.^2+a(3)*x.^3保存为f.m,其次调用该函数x=0:0.1:1;y=[3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17];a0=[000];[x,resnorm]=lsqcurvefit(@f,a0,x,y)也可以用inline命令定义函数x=0:0.1:1;y=[3.1,3.27,3.81,4.5,5.18,6,7.05,8.56,9.69,11.25,13.17];f=inline('a(1)*exp(x)+a(2)*x.^2+a(3)*x.^3','a','x');a0=[000];[a,resnorm]=lsqcurvefit(f,a0,x,y)plot(x,y,'*')holdong=a(1)*exp(x)+a(2)*x.^2+a(3)*x.^3;plot(x,g,'r-')a=polyfit(xdata,ydata,n)其中n表示多项式的最高阶数xdata,ydata为要拟合的数据,它是用向量的方式输入。输出参数a为拟合多项式y=anxn+…+a1x+a0的系数a=[an,…,a1,a0]。多项式在x处的值y可用下面程序计算。y=polyval(a,x)由于高次多项式曲线变化不稳定,所以多项式次数的选取不宜过高。(2)polyfit命令---多项式曲线拟合例如clear;clc;x=0:0.1:1;y=[-0.4471.9783.286.167.087.347.66,9.56,9.48,9.3,11.2];plot(x,y,'k.','markersize',25);axis([01.3-216]);p3=polyfit(x,y,3)p6=polyfit(x,y,6)t=0:0.01:1.2;s=polyval(p3,t);s1=polyval(p6,t);holdonplot(t,s,'r-','linewidth',2);plot(t,s1,'b--','linewidth',2);grid编写程序调用matlab命令x=1949:5:1994;y=[541.67,602.66,672.09,704.99,806.71,908.59,975.42,1034.75,1106.76,1176.74];plot(x,y,'r*','linewidth',2)gridf=inline('a(1)+a(2)*x','a','x');a0=[05];[a,resnorm]=lsqcurvefit(f,a0,x,y)holdong=a(1)+a(2)*x;plot(x,g,'b-','linewidth',2)二、人口预测线性模型或者调用M函数functionf=nihe(a,x)f=a(1)+a(2)*x;保存成nihe.m,在新窗口编写程序x=1949:5:1994;y=[541.67,602.66,672.09,704.99,806.71,908.59,975.42,1034.75,1106.76,1176.74];a0=[1010];[a,resnorm]=lsqcurvefit(@nihe,a0,x,y)注意:该命令与初值有关系。也可以直接编写程序如下:clc;clf;x=1949:5:1994;y=[541.67,602.66,672.09,704.99,806.71,908.59,975.42,1034.75,1106.76,1176.74];plot(x,y,'r*','linewidth',2)grida11=10;a12=sum(x);a21=a12;a22=sum(x.^2);d1=sum(y);d2=sum(x.*y);A=[a11,a12;a21,a22];D=[d1;d2];ab=inv(A)*Dplot(x,g,'b-','linewidth',2)t=1949:5:2010;g=ab(1)+ab(2)*t;holdonplot(t,g,'b-','linewidth',2)y2000=ab(1)+ab(2)*2000y2005=ab(1)+ab(2)*2005y2010=ab(1)+ab(2)*2010axis([194520125001450])plot(2000,1295.3,'g*','linewidth',2)plot(2005,1306.28,'g*','linewidth',2)plot(2010,1370.5,'g*','linewidth',2)计算得从而得到人口数与年份的函数关系为线性预测模型年份200020052010预测(百万)1266.61339.11411.7真实值(百万)1295.331306.281370.5并预测2000,2005,2010年的人口仿真结果表明:线性模型在短期内基本上能比较准确地反映人口自然增长的规律,但长期预测误差较大。英国统计学家Malthus于1798年提出了一种关于生物种群繁殖的指数增长模型:假设种群数量的增长率与该时刻种群的个体数量成正比。三、人口预测的Malthus模型基本假设:人口(相对)增长率r是常数x(t)~时刻t的人口, t=0时人口数为x0指数增长模型实际中,常用解:取得最小值.其中,表示人口数量。表示年份,解方程组:即得参数的值.使得问题转化为求参数计算得从而得到人口数与年份的函数关系为指数预测模型年份200020052010预测(百万)1363.61488.81625.4真实值(百万)1295.331306.281370.5并预测2000,2005,2010年的人口仿真结果表明:人口增加的指数模型在较短期内基本上能比较准确地反映人口自然增长的规律,但长期预测误差很大。四、人口预测的Logistic模型如果人口的增长符合Malthus模型,则当人口增长到一定数量后,增长率下降的原因:资源、环境等因素对人口增长的阻滞作用1838年,荷兰生物学家Verhulst对Malthus模型作了进一步分析后指出:导致上述不符合实际情况的主要原因是未能考虑“密度制约”因素。即最终导致地球上人口爆炸,这与实际是不相符的。且阻滞作用随人口数量增加而变大r是x的减函数假设r~固有增长率(x很小时)k~人口容量(资源、环境能容纳的最大数量)结果显示:Logistic模型在长期预测时基本上能比较准确地反映人口自然增长的规律,在2005,2010年较为吻合。五、人口预测的多项式模型仿真结果表明,人口模型用低阶多项式拟合能比较准确地反映人口自然增长的规律,而高阶多项式拟合预测效果很差。青色---二次多项式蓝色—三次多项式紫红色---四次多项式例2:海底光缆线长度预测模型某一通信公司在一次施工中,需要在水面宽为20m的河沟底沿直线走向铺设一条沟底光缆.在铺设光缆之前需要对沟底的地形做初B2468101214161820986420ADC探测到一组等分点位置的深度数据如下表所示.25步探测,从而估计所需光缆的长度,为工程预算提供依据.基本情况如图所示.10.9310.809.818.867.957.959.1510.2211.2912.6113.32201918171615141312111013.2812.2611.1810.139.058.027.967.968.969.01深度(m)9876543210分点21个等分点处的深度(1)预测通过这条河沟所需光缆长度的近似值.(2)作出铺设沟底光缆的曲线图.解:用12次多项式函数拟合光缆走势的曲线图如下仿真结果表明,拟合曲线能较准确地反映光缆的走势图.Thelengthofthelabelis L=26.3809(m)假设所铺设的光缆足够柔软,在铺设过程中光缆触地走势光滑,紧贴地面,并且忽略水流对光缆的冲击.%prog45.mThisprogramistofitthedatabypolynomial%formatlongt=linspace(0,20,21);x=linspace(0,20,100);P=[9.01,8.96,7.96,7.97,8.02,9.05,10.13,11.18,12.26,13.28,13.32,12.61,11.29,10.22,9.15,7.90,7.95,8.86,9.81,10.80,10.93];[a,s]=polyfit(t,P,12);yy=polyval(a,x);disp('yy=');disp(yy);plot(x,yy,'r*--',t,P,'b+-');L=0;fori=2:100L=L+sqrt((x(i)-x(i-1))^2+(yy(i)-yy(i-1))^2);enddisp('ThelengthofthelabelisL=');disp(L);上机任务李继成(书)Page194练习1第1、2题Page198练习2第2、3题学号末尾是单号者做第1个题,双号者做第2个题
/
本文档为【matlab人口预测与数据曲线拟合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索