数学建模插值与拟合及MATLAB实现 PPT.ppt
上传人:王子****青蛙 上传时间:2024-09-14 格式:PPT 页数:50 大小:2.1MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

数学建模插值与拟合及MATLAB实现 PPT.ppt

数学建模插值与拟合及MATLAB实现PPT.ppt

预览

免费试读已结束,剩余 40 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数学建模插值与拟合及MATLAB实现我们经常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,例如数据拟合、参数估计、插值等数据处理算法。此类问题在MATLAB中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。数据拟合在很多赛题中有应用,与图形处理有关的问题很多与插值和拟合有关系,例如98年美国赛A题,生物组织切片的三维插值处理,94年A题逢山开路,山体海拔高度的插值计算,2003年吵的沸沸扬扬的“非典”问题也要用到数据拟合算法,观察数据的走向进行处理,2005年的雨量预报的评价的插值计算。2001年的公交车调度拟合问题,2003年的饮酒驾车拟合问题。插值问题——雨量预报的评价拟合问题——饮酒驾车在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度。如果要求这个近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为插值问题。(不需要函数表达式)如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法称为数据拟合。(必须有函数表达式)近似函数不一定(曲线或曲面)通过所有的数据点。1、联系都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。2、区别插值问题不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。数据拟合要求得到一个具体的近似函数的表达式。大家学习辛苦了,还是要坚持四、插值的使用及求解选用不同类型的插值函数,逼近的效果就不同,一般有:(1)拉格朗日插值(lagrange插值)(2)分段线性插值(3)Hermite(4)三次样条插值。Matlab实现:实现分段线性插值不需要编制函数程序,它自身提供了内部的功能函数interp1(一维插值)interp2(二维)interp3(三维)intern(n维)例:从1点12点的11小时内,每隔1小时测量一次温度,测得的温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,24.试估计每隔1/10小时的温度值.x0=[035791112131415];y0=[01.21.72.02.12.01.81.21.01.6];x=0:0.1:15;y1=interp1(x0,y0,x,'cubic');y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,'spline');subplot(3,1,1)plot(x0,y0,'k+',x,y1,'r')gridtitle('cubic')subplot(3,1,2)plot(x0,y0,'k+',x,y2,'r')gridtitle('piecewiselinear')subplot(3,1,3)plot(x0,y0,'k+',x,y3,'r')gridtitle('spline')要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围.例:测得平板表面3×5网格点处的温度分别为:828180828479636165818484828586试作出平板表面的温度分布曲面z=f(x,y)的图形.再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi',yi,'cubic');mesh(xi,yi,zi)画出插值后的温度分布曲面图.通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较.x=1200:400:4000;y=1200:400:3600;z=[11301250128012301040900500700;...13201450142014001300700900850;...139015001500140090011001060950;...15001200110013501450120011501010;...15001200110015501600155013801070;...15001550160015501600160016001550;...1480150015501510143013001200980];figure(1);meshz(x,y,z)xlabel('X'),ylabel('Y'),zlabel('Z')xi=1200:50:4000;yi=1200:50:3600;figure(2)z1i=interp2(x,y,z,xi,yi','nearest');surfc(xi,yi,z1i)xlabel('X'),