数学建模课件4144讲第44讲
数 学 建 模,数学是知识的工具,亦是其它知识工具的泉源。 勒内·笛卡尔,第10章 数学建模中的数据处理,第44讲 数据处理方法,数学建模,数学建模,1)插值与拟合 (1)插值问题 许多实际问题都用函数 来表示变量 与 之间的某种内在规律,但遗憾的是函数 的表达式有时不能直接得到,只能通过实验或观测得到函数 在若干个点上的函数值。,基本思想:已知函数 在 中互异的n+1个点 上的值 ,即给出一个函数表,现要根据这个表,寻找一个既能反映函数 的特性,又便于计算的简单函数 来逼近 . 若 满足: 就称 为插值函数,点 为插值节点,求插值函数 的方法就称为插值法。函数 可以是代数多项式,三角多项式或有理函数等。,数学建模,插值法的类型 多项式插值:通常n+1个节点可确定一个次数不高于n次的代数多项式,使其函数曲线通过这n+ 1个节点 注意:当插值节点增多时,插值函数 对函数 的逼近效果并不一定会越来越好。 分段插值:将插值区间分为若干小区间,在每个小区间上做多项式插值。 注意:这种插值当插值节点增多时,逼近效果较好,但所得到的插值函数 在插值节点处的光滑性较差。,数学建模,Hermite插值:要求插值函数不仅在插值节点上与函数 的值相同,还要求在这些节点上插值函数的导数值与函数 的导数值相同,这样的多项式称为Hermite插值多项式。 三次样条插值:一种在工程上应用较多的插值,将插值区间分为若干小区间,在每个小区间上是三次多项式,而在插值节点处,一阶二阶导数连续。,数学建模,Matlab中常用的插值命令,一维插值 y1=interp1(x,y,xi,method) x插值节点, y函数值, y1插值函数在向量xi上的返回向量, Method采用插值的方法,数学建模,x和y为维数相同的向量,nearest表示最邻近插值,linear表示线性插值, spline表示三次样条插值,cubic表示三次插值,interp1 q快速一维插值 interp2 二维插值 interp3 三维插值指令 interpn N维插值指令,数学建模,例: x=0:10; y=sin(x); xi=0:.15:10; yi1=interp1(x,y,xi,'nearest'); yi2=interp1(x,y,xi,'linear'); yi3=interp1(x,y,xi,'spline'); yi4=interp1(x,y,xi,'cubic');,数学建模,subplot(2,2,1) plot(xi,yi1,xi,yi1,'r.') subplot(2,2,2) plot(xi,yi2,xi,yi2,'r.') subplot(2,2,3) plot(xi,yi3,xi,yi3,'r.') subplot(2,2,4) plot(xi,yi4,xi,yi4,'r.'),数学建模,数学建模,本例中,以正弦函数 在11个节点处的值作为插值节点,分别计算了四种方法在0:.15:10共41个点处的函数值。,数学建模,(2)拟合问题 有时,由于函数值 是通过实验或观测得到的,本身就带有误差 , 因此要求插值函数 在节点 处的函数值与 相等就不是十分必要。 于是,寻找一个函数 使得 与原始数据点 的偏差 的平方和最小,也就是 最小,这种方法就称为曲线拟合的最小二乘法。,数学建模,用最小二乘法求拟合曲线时,首先要确实 的形式,通过对给定的数据 描图,确定 的函数类型。例如:给定一组数据 t=0:0.5:5; s=1*t+0.2.*t.*t; s1=0.5 -0.18 -0.01 0.13 0.1 0.31 -0.22 -0.31 0.2 0.4 -0.14; ss=s+s1; plot(t,ss,'r*'),数学建模,先做出散点图,然后根据散点图描述的曲线大体的形状来判断选取拟合函数的类型。,数学建模,Matlab中常用的拟合命令: 对数据做最小二乘法的多项式拟合 y1=Polyfit(x,y,n) 其中x,y为拟合数据,维数应该相同,n为拟合多项式的次数,该命令返回为一个数组y1,是按降幂排列的多项式系数。 如果还想进一步计算拟合多项式在数组x上各点的值,还可以用如下命令Polyval(y1,x),数学建模,数学建模,从上图可以看出,二次和三次的拟合效果都要好于线性拟合,在具体选择时,通常选取次数较低的二次拟合函数。,数学建模,Thank you,