收藏 分享(赏)

数据的曲线拟合.PPT.ppt

上传人:hskm5268 文档编号:5850513 上传时间:2019-03-19 格式:PPT 页数:27 大小:235KB
下载 相关 举报
数据的曲线拟合.PPT.ppt_第1页
第1页 / 共27页
数据的曲线拟合.PPT.ppt_第2页
第2页 / 共27页
数据的曲线拟合.PPT.ppt_第3页
第3页 / 共27页
数据的曲线拟合.PPT.ppt_第4页
第4页 / 共27页
数据的曲线拟合.PPT.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、数据的曲线拟合(Matlab),实验5,、问题 人口预测问题。 下面给出的美国1900到到2000年的人口数。 我们的目标是预测未来的人口数。,t 1900 1910 1920 1930 1940 1950 y 75.995 91.972 105.711 123.203 131.669 150697 t 1960 1970 1980 1990 2000 y 179.323 203.212 226.505 249.633 281.422,无论是插值问题还是曲线拟合问题,总是巳知一个函数在若干点处的信息(如实测数据),希望构造近似函数,用得到的插值或逼近函数给出被逼近函数在其他点处的值(如无法实测

2、的点),或了解函数的整体情况。,学会用Matlab软件,来完成对数据的拟合和插值的方法。 三、预备知识 1、设ax0 x1 xn b,已知有n1个节点(xj , yj), j0,1,n其中xj互不相同,这些节点(xj , yj) 可以看成是由某个函数y=f(x)产生的。插值方法是构造一 个相对简单的函数y=g(x),使g通过全部节点,即g(xj)yj j=0,1,2, ,n,用g(x)作为函数f(x)的近似。,插值函数近似的点在插值节点之间,则称为内插;否则称为外推。人口的预测问题如果用插值或拟合的方法,则显然是外推。,二、实验目的,拟合方法的求解思路有别于插值,以多项式拟合为例说明 之。对于

3、给定的数据(xj , yj),j0,1,n, 选取适当阶数的多项式g(x),使g(x)尽可能接近这些数据。,这可以通过求解下面的最小化问题来实现:,设解为,,则 g(x)=,用Matlab可以很容易地作插值和拟合,这既使读者避开了繁琐的原理性说明,也能了解插值和拟合的意义,并且可以自如地使用这种数学技术来解决实际问题。当然,如果有兴趣,也可以了解相关的“数值计算”内容。,就是所需的近似函数。,2、本实验中所用Matlab命令提示: yi=interp1(x1,y1,xi,linear);%一元插值函数interpl,其中x1,y1为节点,命令对应函数yi=g(xi); zi=interp1(x

4、1,y1,xi,cubic): %三次多项式插值;, p=polyfit(x1,y1,n): %多项式拟合函数polyfit( ),p,s=polyfit(x1,y1,n):x1,y1为节点,n为多项式阶数, 矩阵s为生成预测值的误差估计; y=polyval(p,x): %多项式曲线求值函数polyval, y,DELTA=polyval(p,x,s) 前者为返回对x在系数p的多项式的值,后者为输出s得出误差估计YDELTA;,所用函数:nlinfit( ) %带有待定常数的自定义函数调用格式:beta,r,J=nlinfit(x,y,fun,beta0)(说明:beta返回函数fun中的待

5、定常数;r表示残 差;J表示雅可比矩阵;x,y为数据;fun自定义函数;beta0待定常数初值。) 四、实验内容与要求 1、就给出的美国1900到到2000年的人口数,拟合出多项 式和向自定义函数拟合,并预测2010年美国的人口数。,t 1900 1910 1920 1930 1940 1950 y 75,995 91,972 105,711 123,203 131,669 150,697 t 1960 1970 1980 1990 2000 y 179,323 203,212 226,505 249,633 281,422,2、 X 取 1,2,20,y=x+3sin(x),分别用 6 阶、

6、10 阶曲线进行逼近。 3、 下表为某保险公司100个赔款样本的赔款状况,求出:(1)画直方图、散点图;(2)若分布适合对数正态分布模型,求参数,;(3)画对数正态分布密度图形。,赔款额(元) 赔款次数0400 2400800 248001200 3212001600 2116002000 1020002400 624002800 328003200 132003600 13600以上 0,总数 100,五、思考与练习 1、 已知数据见下表,求xi=0.025时的yi的值。X 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Y 0.3 0.5 1 1.4 1.6

7、1.9 0.6 0.4 0.8 1.5 2并求:x=0.2500、0.3500、0.4500时y的函数值。 2、 某保险公司1990年1996年的保费收入如下表,试预测该公司在1997年、1998年的保费收入。,年度 1990 1991 1992 1993 1994 1995 1996,保费收入(万元)104 162 188 264 320 400 442,3、某保险公司1990年发生的7821件家财险赔案的分组统 计情况,试计算平均赔款额及赔款额的方差;并画出散点 图。,某保险公司1990年家财险索赔分布情况,索赔额(元) 频数,050 172850100 1346100200 186920

8、0400 1822400800 907800以上 149,合计 7821,六、操作提示 计算过程:,(1)一阶拟合:t=1900:10:2000;y=0.75995 0.91972 1.05711 1.23203 1.31669 1.50697 1.79323 2.03212 2.26505 2.49633 2.81422;n=1;p=polyfit(t,y,n)ti=linspace(1900,2000,100); %绘图的t轴数据z=polyval(p,ti); %多项式在数据点处值plot(t,y,o,ti,z,k:,t,y,b)legend(原始数据,一阶曲线)ti=2010;yi=i

9、nterp1(t,y,ti,spoline),三阶拟合: t=1900:10:2000; y=0.75995 0.91972 1.05711 1.23203 1.31669 1.506971.79323 2.03212 2.26505 2.49633 2.81422; n=3; p=polyfit(t,y,n) ti=linspace(1900,2000,100); %绘图的t轴数据 z=polyval(p,ti); %多项式在数据点处的值 plot(t,y,o,ti,z,k:,t,y,b) legend(原始数据,三阶曲线) ti=2010; yi=interp1(t,y,ti,spolin

10、e) 自定义函数拟合: 首先定义非线性函数的M文件:fff1.m,function yy=model(beta0,x) a=beta0(1);b=beta0(2); yy=a+exp(b*x); 程序如下: x=1900 1910 1920 1930 1940 1950 1960 1970 19801990 2000; y=0.75995 0.91972 1.05711 1.23203 1.31669 1.50697 1.79323 2.03212 2.26505 2.49633 2.81422; beta0=0.30 0.02; betafit=nlinfit(x,y,fff1,beta0)

11、 plot(x,y,r-*),(2)六阶多项式:x=1:20;y=x+3*sin(x);p=polyfit(x,y,6)xi=linspace(1,20,100);z=polyval(p,xi); %多项式求值函数plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,6阶曲线),十阶多项式: x=1:20; y=x+3*sin(x); p=polyfit(x,y,10) xi=linspace(1,20,100); z=polyval(p,xi); %多项式求值函数 plot(x,y,o,xi,z,k:,x,y,b) legend(原始数据,10阶曲线),(3) 画直方图:

12、x=0:400:3600;y=2 24 32 21 10 6 3 1 1 1; bar3(x,y) %三维直方图散点图:x=0:400:3600;y=2 24 32 21 10 6 3 1 1 1;plot(x,y,r-*)求均值与方差:,赔款额(元) 组中值 赔款次数 赔款频率,0400 200 2 0.02400800 600 24 0.248001200 1000 32 0.3212001600 1400 21 0.2116002000 1800 10 0.10,20002400 2200 6 0.0624002800 2600 3 0.0328003200 3000 1 0.01320

13、03600 3400 1 0.013600以上 0,总数 100 1.00,均值: X=200 600 1000 1400 1800 2200 2600 3000 3400; P=0.02 0.24 0.32 0.21 0.10 0.06 0.03 0.01 0.01; EX=X*P %,方差:DX= DX=X.2*P-EX2 %DX=EX2-(EX)2 对数正态分布的均值:,对数正态分布的方差:,=log(1216)-1/2*22=log(1+362944/(12162),代入对数正态分布密度可画图: x=200:400:3600; y=1./sqrt(2.*3.14*0.22*x.2).*

14、exp(-(log(x)- 7).2/(2.*0.22); plot(x,y,r-*) title(对数正态分布密度函数曲线图 ) xlabel(x=200:400:3600)(4) x=0:0.1:1; y=0.3 0.5 1 1.4 1.6 1.9 0.6 0.4 0.8 1.5 2; yi0=interp1(x,y,0.025,linear) xi=0:0.02:1;,yi=interp1(x,y,xi,linear); %线性插值 zi=interp1(x,y,xi,spline); %三次样条插值 wi=interp1(x,y,xi,cubic); %三次多项式插值 plot(x,y

15、,o,xi,yi,r+,xi,zi,g*,xi,wi,k.-) legend(原始点,线性点,三次样条,三次多项式) xi=0.2500 0.3500 0.4500; yi=interp1(x,y,xi,spline),计算结果:(1)一阶拟合: p =0.0203 -37.8395yi =3.3360(亿人) 此时多项式为:y=0.0203x-37.8395,三阶拟合: p = 0.0000 -0.0005 0.8025 -425.8736 yi = 3.3360(亿人) 此时多项式:y=0.0000x3-0.0005x3+ 0.8025x-425.8736,betafit = -13.07

16、84 0.0014 即:a=-13.0784, b=0.0014, 拟合函数为:-13.0784+exp(0.0014x)。,(2) 六阶多项式: p =Columns 1 through 6 0.0000 -0.0021 0.0505 -0.5971 3.6472 -9.7295Column 7 11.3304,注:可用不同阶的多项式 来拟合数据但也不是阶数 越高拟合的越好。,十阶多项式: p =Columns 1 through 6 0.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065Columns 7 through 11 11.2360 -42.0861 88.5907 -92.8155 40.2671,(3)直方图:,散点图:,EX =1216 DX =362944 =6.9936 2 =0.2195对数正态分布图:,(4)yi0 = 0.3500 yi =1.2401 1.4654 1.8859,

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

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报