版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、正版可修改PPT课件(本科)数学建模案例与方法第5章教学课件数学建模案例与方法插值法与拟合方法第 5 章目录CONTENTS城市供水量的预测问题5.1MATLAB与拟合、插值5.2插值法与拟合方法在大量的应用领域中,人们经常面临用一个解析函数描述数据(通常是测量值)的任务。完成这个任务有插值法和数据拟合方法两种方法:利用插值法时,假定数据是正确的,要求以某种方法描述数据点之间所发生的情况;利用数据拟合方法或回归法时,需设法找出某条光滑曲线,使其最佳地拟合数据,但不必经过任何数据点。5.1 城市供水量的预测问题 模型背景与问题提出 5.1.1为了节约能源和水源,某供水公司需要根据日供水量记录估计
2、未来某一时间段(未来1 d或 1周)的用水量,以便安排未来(该时间段)的生产调度计划。现有某城市7年日用水量的历史记录和20002006年每年1月份城市的总用水量,见表5-1和表5-2。如何充分地利用这些数据建立数学模型,预测2007年1月份该城市的用水量,以制订相应的供水计划和生产调度计划。5.1 城市供水量的预测问题5.1 城市供水量的预测问题利用这些数据,可以采用时间序列、灰色预测等方法建立数学模型来预测2007年1月份该城市的用水量。如果能建立该城市的日用水量随时间变化的函数关系,则用该函数来进行预测非常方便。但是这一函数关系的解析表达式是没办法求出来的,那么能否根据历史数据求出该函数
3、的近似函数呢?根据未知函数的已有数据信息求出其近似函数的常用方法有插值法和数据拟合方法。5.1 城市供水量的预测问题 用插值法预测2007年1月份城市的总用水量 5.1.2预测2007年1月份城市的用水量有三种办法:一是用2006年的日用水量进行预测,二是用20002006年每年1月份的日用水量进行预测,三是用20002006年每年1月份城市的总用水量进行预测。5.1 城市供水量的预测问题用2006年的日用水量进行预测1.以预测2007年1月1日为例,由于数据量过大,2007年1月的用水量与前一年用水量的相关性大,而与20002005年用水量的相关性不大,因而仅用2006年(365 d)的日用
4、水量作为插值节点(xi,yi),其中,xi=i,表示第i天(i=1,2,365);yi为第i天的日用水量。其散点图如图5-1所示。5.1 城市供水量的预测问题图5-1 2006年城市日用水量散点图5.1 城市供水量的预测问题设插值多项式为f(x),则2007年1月1日用水量的预测值即为f(x)在x=366处的函数值。下面分别用拉格朗日和牛顿插值方法得到365次插值多项式,并计算得f(366)分别为 1.878 110109、-9.384 210167,这些结果的误差显然太大。实际中,当节点数较多时,一般用分段低次插值,这里用三次样条插值法求解,其样条曲线如图5-2所示,对应的插值结果为 133
5、.664 1104 t。 5.1 城市供水量的预测问题图5-2 三次样条曲线5.1 城市供水量的预测问题但若用这个三次样条函数来估计f(x),x=367,396,即该月后30 d的日用水量,其结果分别为98.147 7104 t、33.029 2104 t、-4.883 7104 t,误差逐渐增大。由此可知,仅用2006年一年的日用水量数据预测2007年1月份的日用水量时,即便使用低次插值,误差也会很大。因此,用365个数据点做插值不合理。5.1 城市供水量的预测问题用20002006年每年1月份的日用水量进行预测2.采用20002006年每年1月份的日用水量预测2007年1月份对应天的日用水
6、量。同样,以预测2007年1月1日为例。以20002006年每年1月1日的用水量作为插值节点(xi,yi)(i=1,2,7),则f(8)即为所要求的2007年1月1日用水量的估计值。同理,其他30 d的日用水量也可对应地求出。5.1 城市供水量的预测问题采用拉格朗日插值函数、牛顿插值函数和三次样条插值函数进行计算所得到的结果基本相同,求得2007年1月份的日用水量分别为143.696 2104 t、139.750 5104 t、146.511 7104 t。对它们求和得2007年1月份总用水量的预测值为4 517.699 3104 t。其计算结果如图5-3所示(“+”号表示217个已知的前七年
7、日用水量节点,“*”号表示预测的31 d的用水量值)。5.1 城市供水量的预测问题图5-3 三种插值函数曲线5.1 城市供水量的预测问题用20002006年每年1月份城市的总用水量预测3.由表5-2可得到7个插值节点(xi,yi),其中,xi=i,i=1,2,7,其散点图如图5-4所示。用三次样条插值法求得的f(8)=4 378.139 0104 t即为所求的2007年1月份总用水量的估计值,表5-3。图5-4 20002006年每年1月份城市的总用水量散点图5.1 城市供水量的预测问题5.1 城市供水量的预测问题 用数据拟合方法预测2007年1月份城市的总用水量 5.1.3用2006年每天的
8、日用水量进行预测1.由图5-1可知,这些点并不是简单地成线性或二次关系,而是具有很强的聚集性。我们试图用几个多项式进行拟合。用 MATLAB工具箱得到的拟合结果见表5-4。5.1 城市供水量的预测问题拟合结果显示,9次拟合的均方根误差是最小的,但4次曲线拟合的效果已经与它很接近了。为了尽量避免过拟合,这里选择4次拟合。拟合曲线如图5-5所示。 图5-5 4次拟合曲线5.1 城市供水量的预测问题拟合曲线的表达式为f(x)=1.38910-8x4-1.14210-5x3+0.002 82x2-0.18x+149.7计算f(x)在x=366,396处的函数值,可分别得到2007年1月份的日用水量分别
9、为150.852 4104 t,150.871 8104 t,152.942 2104 t,对它们求和得到1月份总用水量的估计值为4 700.429 7104 t。5.1 城市供水量的预测问题用20002006年每年1月份的日用水量进行预测2.由20002006年每年1月1日的日用水量得到7个插值节点,利用拟合曲线计算f(8)即2007年1月1日的日用水量估计值。因为插值节点只有7个,所以用6次拟合曲线刚好可过所有的插值节点。图5-6所示为6次拟合结果。5.1 城市供水量的预测问题图5-6 6次拟合曲线5.1 城市供水量的预测问题计算f(8)得到2007年1月1日的用水量为5.744 5610
10、4 t,产生了较大的误差。这说明出现了严重的过拟合现象。因此,6次拟合曲线不可采用。由15次拟合曲线的均方根误差指标值可知,用线性拟合结果最佳。拟合曲线的表达式为f(x)=3.508 8x+117.616 4,计算f(8)得2007年1月1日用水量的估计值为 145.686 9104 t。拟合曲线如图5-7所示。图5-7 线性拟合曲线5.1 城市供水量的预测问题同理,用线性拟合得到第231 d用水量的估计值分别为143.793 7104 t、148.322 7104 t,相加得到1月份总用水量的估计值为4 654.853 8104 t。5.1 城市供水量的预测问题用20002006年1月份城市
11、的总用水量进行预测3.同理,尽管6次拟合曲线能完全拟合已知节点,但将对计算点产生较大的误差,因此,这里选用3次拟合,其拟合曲线如图5-8所示。图5-8 3次拟合曲线5.1 城市供水量的预测问题三次拟合曲线的表达式为f(x)=0.767 8x3-20.47x2+201.3x+3 854,计算得f(8)的近似值为 4 547.072 4104 t。 由上述拟合方法得到的2007年1月份总用水量的估计值见表5-5。5.2 MATLAB与拟合、插值 曲线拟合 5.2.1【实例】 温度曲线问题。气象部门观测到一天中某些时刻t的温度T变化数据见表5-6。试描绘出温度变化曲线。5.2 MATLAB与拟合、插
12、值 曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信息。 曲线拟合有多种方式,下面是一元函数采用最小二乘法对给定数据进行多项式曲线拟合,最后给出拟合的多项式系数。5.2 MATLAB与拟合、插值线性拟合函数regress( )1.调用格式: b=regress(y,X)b,bint,r,rint,stats=regress(y,X)b,bint,r,rint,stats=regress(y,X,alpha)说明:b=regress(y,X)返回X处y的最小二乘拟合值。该函数求解线性模型:y=X+5.2 MATLAB与拟合、插值式中,为p1的参数向量
13、;为服从标准正态分布的随机干扰的n1的向量;y为n1的向量;X为np矩阵。bint返回的95%的置信区间。r中为形状残差,rint中返回每一个残差的95%置信区间。stats向量包含R2统计量、回归的F值和p值。5.2 MATLAB与拟合、插值【例5-1】5.2 MATLAB与拟合、插值5.2 MATLAB与拟合、插值多项式曲线拟合函数polyfit( )2.调用格式: p=polyfit(x,y,n)p,s=polyfit(x,y,n)说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量。矩阵s用于生成预测值的误差估计(见下一函数polyval)。5.2 MATLAB与
14、拟合、插值【例5-3】5.2 MATLAB与拟合、插值曲线拟合图形如图5-10所示。图5-10 例5-3用图15.2 MATLAB与拟合、插值程序: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阶多项式)5.2 MATLAB与拟合、插值结果:p=Columns 1 through 7 0.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065 11.2360Columns 8 thro
15、ugh 11 -42.0861 88.5907 -92.8155 40.26715.2 MATLAB与拟合、插值曲线拟合图形如图5-11所示。图5-11 例5-3用图25.2 MATLAB与拟合、插值多项式曲线求值函数polyval( )3.调用格式: y=polyval(p,x)y,DELTA=polyval(p,x,s)说明:y=polyval(p,x)为返回对应自变量x在给定系数p的多项式的值。y,DELTA=polyval(p,x,s)使用polyfit函数的选项输出s,得到误差估计YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数,则YDELTA将至少包
16、含50%的预测值。5.2 MATLAB与拟合、插值多项式曲线拟合的评价和置信区间函数polyconf( )4.调用格式: Y,DELTA=polyconf(p,x,s)Y,DELTA=polyconf(p,x,s,alpha)说明:Y,DELTA=polyconf(p,x,s)使用polyfit函数的选项输出s,给出Y的95%置信区间YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。1-alpha为置信度。5.2 MATLAB与拟合、插值稳健回归函数robust( )5.稳健回归是指此回归方法相对于其他回归方法而言,受异常值的影响较小。调用格式: b=robus
17、tfit(x,y)b,stats=robustfit(x,y)b,stats=robustfit(x,y,wfun,tune,const)说明:b返回系数估计向量;stats返回各种参数估计;wfun指定一个加权函数;tune为调协常数;const的值为on(默认值)时添加一个常数项,为off 时忽略常数项。5.2 MATLAB与拟合、插值【例5-5】5.2 MATLAB与拟合、插值程序:clear allx=(1:10)y=10-2*x+randn(10,1)y(10)=0bls=regress(y,ones(10,1) x) %线性拟合brob=robustfit(x,y) %稳健拟合sc
18、atter(x,y)hold onplot(x,bls(1)+bls(2)*x,:,x,brob(1)+brob(2)*x,r)legend(有异常值原始点,线性拟合,稳健拟合,1)5.2 MATLAB与拟合、插值结果:x=12345678910y=7.75636.21572.83420.85200.1049-1.2777-1.4145-6.6669-7.8127-10.0825y=7.75636.21572.83420.85200.1049-1.2777-1.4145-6.6669-7.81270bls= 7.5155-1.355brob= 9.3986 -1.87525.2 MATLAB与
19、拟合、插值曲线拟合图形如图5-12所示。图5-12 例5-5用图5.2 MATLAB与拟合、插值由图5-12可以看出,稳健拟合(实线)对数据的拟合程度好些,忽略了异常值。最小二乘拟合(点线)则受到异常值的影响,向异常值偏移。5.2 MATLAB与拟合、插值向自定义函数拟合所用函数nlinfit( )6.对于给定的数据,根据经验拟合为带有待定常数的自定义函数。调用格式:beta,r,J=nlinfit(X,y,fun,beta0)说明:beta返回函数fun中的待定常数,r表示残差,J表示雅可比矩阵。X,y为数据,fun为自定义函数,beta0为待定常数初值。5.2 MATLAB与拟合、插值 插
20、值问题 5.2.2在应用领域中,由有限个已知数据点构造一个解析表达式,由此计算数据点之间的函数值,称为插值。【实例】 海底探测问题。某公司用声呐对海底进行测试,在55 n mile(1 n mile=1 852 m)的坐标点上测得海底深度的值,希望通过这些有限的数据了解更多处的海底情况,并绘出较细致的海底曲面图。5.2 MATLAB与拟合、插值一元插值1.一元插值是对一元数据点(xi,yi)进行插值。线性插值:由已知数据点连成一条折线,认为相邻两个数据点之间的函数值就在这两点之间的连线上。一般来说,数据点数越多,线性插值就越精确。调用格式:yi=interp1(x,y,xi,linear) %
21、线性插值zi=interp1(x,y,xi,spline) %三次样条插值wi=interp1(x,y,xi,cubic) %三次多项式插值说明:yi、zi、wi为对应xi的不同类型的插值,x、y为已知数据点。5.2 MATLAB与拟合、插值【例5-7】求当xi=0.25时的yi的值。5.2 MATLAB与拟合、插值程序:x=0:.1:1;y=.3.5 1 1.4 1.6 1.6.4.8 1.5 2;yi0=interp1(x,y,0.025,linear)xi=0:.02:1;yi=interp1(x,y,xi,linear);zi=interp1(x,y,xi,spline);wi=int
22、erp1(x,y,xi,cubic);plot(x,y,o,xi,yi,r+,xi,zi,g*,xi,wi,k.-)legend(原始点,线性点,三次样条,三次多项式)5.2 MATLAB与拟合、插值结果:yi0=0.3500曲线拟合图形如图5-13所示。图5-13 例5-7用图5.2 MATLAB与拟合、插值要得到给定的几个点的对应函数值,可用:xi=0.2500 0.3500 0.4500yi=interp1(x,y,xi,spline)结果:xi=0.2500 0.3500 0.4500yi=1.2088 1.5802 1.34545.2 MATLAB与拟合、插值二元插值2.二元插值与一
23、元插值的基本思想一致,对原始数据点(x,y,z)构造函数,求出插值点数据(xi,yi,zi)。5.2 MATLAB与拟合、插值单调节点插值函数,即x,y向量是单调的。调用格式1:zi=interp2(x,y,z,xi,yi,linear) 其中,linear 是双线性插值 (缺省)。调用格式2:zi=interp2(x,y,z,xi,yi,nearest)其中,nearest 是最近邻域插值。调用格式3:zi=interp2(x,y,z,xi,yi,spline) 其中,spline是三次样条插值。 1)单调节点插值函数5.2 MATLAB与拟合、插值说明:这里x和y是两个独立的向量,它们必须
24、是单调的。z是矩阵,是由x和y确定的点上的值。z与x、y之间的关系是z(i,:)=f(x,y(i)和z(:,j)=f(x(j),y),即当x变化时,z的第i行与y的第i个元素相关;当y变化时,z的第j列与x的第j个元素相关。如果没有对x、y赋值,则默认x=1n,y=1m。n和m分别是矩阵z的行数和列数。5.2 MATLAB与拟合、插值【例5-8】5.2 MATLAB与拟合、插值88 92 93 94 95 89 87 86 83 81 9292 96 97 98 96 93 95 84 82 81 8485 85 81 82 80 80 81 85 90 93 9584 86 81 98 99
25、 98 97 96 95 84 8780 81 85 82 83 84 87 90 95 86 8880 82 81 84 85 86 83 82 81 80 8287 88 89 98 99 97 96 98 94 92 87其原始数据地貌如图5-14所示。5.2 MATLAB与拟合、插值图5-14 例5-8用图15.2 MATLAB与拟合、插值对数据插值加密形成地貌图,如图5-15所示。程序:x=0:.5:5;y=0:.5:6;z=89 90 87 85 92 91 96 93 90 87 8292 96 98 99 95 91 89 86 84 82 8496 98 95 92 90 88 85 84 83 81 8580 81 82 89 95 96 93 92 89 86 86 82 85 87 98 99 96 97 88 85 82 8382 85 89 94 95 93 92 91 86 84 8888 92 93 94 95 89 87 86 83 81 925.2 M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大四(经济学)经济学专业毕业设计答辩测试题及答案
- 2025年大学(生物工程)生物化学工程模拟试题及解析
- 2025年中职密码技术应用(密码方案)试题及答案
- 2025年中职(护理)社区护理基础试题及答案
- 2025年本科特种经济动物饲养(蚕桑养殖学)试题及答案
- 2025年大学大一(环境工程)环境监测基础专项测试卷
- 2025年高职物流条码技术(物流条码技术基础)试题及答案
- 2025年中职(医学检验)临床检验技术试题及答案
- 2025年大学大三(渔业资源与渔政管理)渔业资源保护阶段测试题及答案
- 2025年高职园林植物栽培(植物栽培技术)试题及答案
- 2026年共青团中央所属事业单位社会人员公开招聘18人备考题库及答案详解(新)
- 装置性违章课件
- 2024年水利部黄河水利委员会事业单位招聘高校毕业生考试真题
- 2025四川成都益民集团所属企业招聘财务综合岗等岗位28人考试重点题库及答案解析
- 脑缺血与急性脑梗死的影像学表现教学设计
- 中国仓储物流中心运营管理现状与发展趋势研究报告
- 2025年中共湛江市委巡察服务保障中心、湛江市清风苑管理中心公开招聘事业编制工作人员8人备考题库完整参考答案详解
- 2025年乡镇卫生院党风廉政建设自查报告
- 2026届四川成都七中高三上学期11月半期考数学试题及答案
- 颅内肿瘤切除术手术配合
- 2025年八年级历史时间轴梳理试卷(附答案)
评论
0/150
提交评论