数学建模讲稿(插值拟合方程求根)

上传人:平*** 文档编号:25512035 上传时间:2017-12-14 格式:PPT 页数:57 大小:1.21MB
返回 下载 相关 举报
数学建模讲稿(插值拟合方程求根)_第1页
第1页 / 共57页
数学建模讲稿(插值拟合方程求根)_第2页
第2页 / 共57页
数学建模讲稿(插值拟合方程求根)_第3页
第3页 / 共57页
数学建模讲稿(插值拟合方程求根)_第4页
第4页 / 共57页
数学建模讲稿(插值拟合方程求根)_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《数学建模讲稿(插值拟合方程求根)》由会员分享,可在线阅读,更多相关《数学建模讲稿(插值拟合方程求根)(57页珍藏版)》请在金锄头文库上搜索。

1、插值与拟合,一、插值,在工程实践和科学实验中,常常需要从一组实验观测数据,揭表示自变量x与因变量y之间的关系,通常可以采用两种方法:曲线拟合和插值,插值在工程实践和科学实验中有着非常广泛而又十分重要的应用,例如,信息技术中的图像重建、图像放大中为避免图像的扭曲失真的插值补点、建筑工程的外观设计。化学工程实验数据与模型的分析、天文观测数据、地理信息数据的处理如(天气预报)以及社会经济现象的统计分析等等,1) 分段多项式插值,1. 插值方法,一维插值方法主要有分段多项式插值、三次样条插值等,2)分段三次埃尔米特插值,3)三次样条插值,上面介绍的分段线性插值,其总体光滑程度不够在数学上,光滑程度的定

2、量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性自然,阶数越高光滑程度越好于是,分段线性插值具有零阶光滑性,也就是不光滑;分段三次埃尔米特插值具有一阶光滑性仅有这些光滑程度,在工程设计和机械加工等实际中是不够的提高分段函数如多项式函数的次数,可望提高整体曲线的光滑程度值得注意的是分段插值曲线的光滑性关键在于段与段之间的衔接点(节点)处的光滑性,问:是否存在较低次多项式达到较高阶光滑性的方法?,三次样条插值,例如飞机轮船等的外形曲线设计,如何确定三次样条函数在每一个小区间上的三次多项式函数的系数 (略),2. 利用MATLAB软件进行插值计算,1)一维插值,MATLAB中的插

3、值函数为interp1,其调用格式为 yi=interp1(x, y, xi, method) 其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量,meathod表示采用的插值方法,MATLAB提供的插值方法有几种:linear线性插值;spline三次样条插值;cubic立方插值缺省时表示线性插值. 注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。,例 在一 天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为 12,9,9,1 0 ,18 ,24,28,27,25,20,18,15 ,13 推测 下午1点(即13点)时的温度,键人: x=0:2:2

4、4; y=12 9 9 10 18 24 28 27 25 20 18 15 13; x113 ; y1interp1(x,y,xl, spline) 输出的y1即为所求,若要得到一天24小时的温度曲线,只需继续键人: x20:13600:24; y2=interp1(x, y, x2, spline); plot(x,y,o,x2,y2),2) 高维插值,N维插值函数interpN()其中N可以为2,3,如N2为二维插值,,调用格式为: zi=interp2(x,y,z,xi, yi, method),其中x, y 为原始数据的第一和第二维坐标,z 为函数值,函数返回在xi, yi所指定位置

5、插值所得的函数值, method表示采用的插值方法,最邻近插值,线性插值,双三次插值。缺省时表示线性插值所有的插值方法都要求x和y是单调的网格,x和 y可以是等距的也可以是不等距的,例 气旋变化情况的可视化下表是气象学家测量得到的气象资料,它们分别表示在南半球按不同纬度, 不同月份的平均气旋数字根据这些数据,绘制出气旋分布曲面图形,y=5:10:85; x=1:12;z=2.4, 1.6, 2.4, 3.2, 1.0, 0.5, 0.4, 0.2, 0.5, 0.8, 2.4, 3.6;, 0.3,0, 0, 0.3, 0, 0, 0.1, 0.2, 0.3, 0, 0.1, 0.3xi,yi

6、=meshgrid(1:0.1:12,5:85);zi=interp2(x, y, z, xi, yi,); mesh(xi, yi, zi)xlabel(月份)ylabel(纬度)zlabel(气旋)axis(0 12 0 90 0 50)title(南半球气旋可视化图形),x = 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 1

7、1 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12y = 5 5 5 5 5 5 5 5 5 5 5 5 15 15 15 15 15 15 15 15 15 15 15 15 25 25 25 25 25 25 25 25 25 25 25 25 35 35 35 35 35 35 35 35 35 35 35 35 45 45 45 45 45 45 45 45 45 45 45 45 55 55 55 55 55 55 55 55 55 55 55 55 65 65 6

8、5 65 65 65 65 65 65 65 65 65 75 75 75 75 75 75 75 75 75 75 75 75 85 85 85 85 85 85 85 85 85 85 85 85,x,y=meshgrid(1:12,5:10:85);,二、拟合,曲线拟合: 根据一组二维数据,即平面上的若干点,要求确定一个一元函数yf(x),即曲线y=f(x),使这些点与曲线总体来说尽量接近。,在化学反应中,为研究某化合物的浓度随时间的变化规律,测得一组数据如下表,1. 引例,时间与浓度的散点图,根据散点图,可以假定y与t的函数为,如何具体地确定函数关系?,2. 最小二乘法,最小二乘法的原

9、理是求s(x),使,达到最小.,已知一组数据,用什么样的曲线拟合最好呢?可以根据散点图进行直观判断,在此基础上,选择几种曲线分别拟合,然后观察哪条曲线的最小二乘指标最小.,常用的拟合函数,多项式函数 双曲线 指数曲线等,3、拟合原理,由,可知,因此可假设,因此求最小二乘解转化为,二次函数,由多元函数取极值的必要条件,得,即,-(4),即,引入记号,则由内积的概念可知,-(5),-(6),显然内积满足交换律,方程组(4)便可化为,-(7),将其表示成矩阵形式,-(8),2. 曲线拟合的MATLAB实现,引例的求解,t=l:16; y= 4 6.4 8 8.4 9.28 9.5 9.7 9.86

10、10 10.2 10.32 10.42 10.5 10.55 10.58 10.6 ; p=polyfit(t,y,2) (二次多项式拟合),计算结果: p=-0.0445 1.0711 4.3252 %二次多项式的系数,由此得到某化合物的浓度y与时间t的拟合函数,对函数的精度如何检测呢?仍然以图形来检测,3,非线性拟合命令:lsqcurvefit、lsqnonlin(1)lsqcurvefit:c = lsqcurvefit ( fun, x0, xdata, ydata)其中fun为拟合函数的M - 函数文件名, x0为初始向量, 也即拟合解是靠迭代求解得到的,初始值的选取好坏直接影响最终

11、的求解。xdata, ydata为参与曲线拟合的实验数据。函数返回值c为非线性函数fun的拟合系数。,例2: 2004年全国大学生数学建模竞赛C题(酒后驾车)中给出某人在短时间内喝下两瓶啤酒后,间隔一定的时间t测量他的血液中酒精含量y(毫克/百毫升) ,得到数据如表1所示。,根据微分方程模型得到短时间内喝酒后血液中酒精浓度与时间的关系为现通过已有数据来拟合C_1,C_2,C_3先建立拟合函数examp21function f = examp21(c, tdata)f=c(1).*(exp(-c(2).*tdata)-exp(-c(3).*tdata);然后运行以下程序:,tdata = 0.2

12、5 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16 ;ydata = 30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4 ;c0=1 1 1; for i = 1: 50c = lsqcurvefit(examp21,c0,tdata,ydata);c0 = cEnd求解为:c = 114.2472 0.1852 2.0126,(2)lsqnonlin用法:lsqsnonlin ( fun, c0) 。求含参量非线性函数fun中的参量c

13、,使得各数据点函数值fun的平方和最小。例如用lsqsnonlin ( fun, c0)命令求解上例 的过程如下:,先建立拟合函数,注意跟上面的不同function ff=examp22(c,tdata,ydata)tdata = 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 910 11 12 13 14 15 16 ;ydata = 30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4 ;ff=c(1).*(exp(-c(2).*tdata)-exp(-c(3).*tdata)-ydata;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号