MATLAB的差值与曲线拟合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB插值与曲线拟合
简介
把试验数据绘制成图是点状分布,将这些点练成曲线, 然后转化为有意义的数学函数,才能对数据做对比和 分析
上述过程涉及插值(interpolation)和曲线拟合(curvefitting)
插值过程中认为数据是准确的,求取描述点之间的数 据
曲线拟合中,假定已知曲线的规律,做曲线的最佳逼 近,不需要经过所有数据点
西南交通大学摩擦学研究所
8
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
西南交通大学摩擦学研究所
9
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
二维插值
假设试验所得到的一组数据形态为z=f(xk,yk),期中 k=1,2,,,n;如果某些点(xi,yi)不属于上述点,要 估计这些点的函数值f(xi,yi)就需要进行二维擦绘制运算, 二维插值相当于二元函数运算
MATLAB中二维插值函数是interp2(x,y,z,xi,yi),期中 xi,yi为要插值的数据点,x,y,z为已知数据
通过设定interp2(x,y,z,xi,yi,method)也可以设定不同的 插值方法,有linear、cubic和spline三种
西南交通大学摩擦学研究所
10
aSOUTHWEST JIAOTONG UNIVERSITY
f(b)f(a)ba[f(c)f(a)] ca
一维线性插值是最简单的插值,适用范围很小
可用较为复杂的三次多项式或spline来近似找到原函数 f(x)
西南交通大学摩擦学研究所
5
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
一维插值
MATLAB的一维插值函数为interp1(a,c,b)和 interp1(a,c,b,method)
MATLAB插值与曲线拟合
二维插值—举例
假设汽车的引擎转速、温度与时间的测量值关系 如下表,估计时间为2.6s和速度为2500r时的温度。
T/℃ Time/s
0 1 2 3 4 5
2000r 0 20 60 68 77 110
Speed 3000r
0 110 180 240 310 405
4000r 0 176 220 349 450 503
《MATLAB数据处理与应用》2011-2012学年选修课
第八讲
MATLAB的差值与曲线拟合
王文健
wwj527@163.com
aSOUTHWEST JIAOTONG UNIVERSITY
主要内容
插值运算 曲线拟合 分段函数 拉格拉日插值 牛顿插值 Hermite插值
西南交通大学摩擦学研究所
2
aSOUTHWEST JIAOTONG UNIVERSITY
x=[0 1 2 3 4 5]'; y=[0 20 60 68 77 110]'; y1=interp1(x,y,2.6) y2=interp1(x,y,[2.6 4.9]) y3=interp1(x,y,[2.6 4.9],'cubic') y3=interp1(x,y,[2.6 4.9],'spline')
西南交通大学摩擦学研究所
11
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
二维插值—举例
应用函数interp2函数分别用linear、cubic、spline来估 计时间2.6s和转速2500r的温度值。
t=[1 2 3 4 5]; speed=[2000 3000 4000]; temp=[20 110 176;60 180 220;68 240 349;77 310 450;110 405 503]; temp1=interp2(speed,t,temp,2500,2.6) temp2=interp2(speed,t,temp,2500,2.6,'cubic') temp3=interp2(speed,t,temp,2500,2.6,'spline')
西南交通大学摩擦学研究所
西南交通大学摩擦学研究所
7
aSOUTHWEST JIAOTONG UNIVERBiblioteka BaiduITY
MATLAB插值与曲线拟合
一维插值—举例
画出插值后的时间与温度变化曲线图。
t=[0 1 2 2.6 3 4 4.9 5]; y1=[0 20 60 64.8 68 77 106.7 110]; y2=[0 20 60 65.2 68 77 105.6 110]; y3=[0 20 60 67.3 68 77 105.2 110]; plot(t,y1,t,y2,t,y3)
其中a,c为已知数据,而b为要插值的数据点,method 为预先设定的插值方法,分别为线性(linear)、三次多 项式(cubic)和spline
如果数据的变化较大,以spline插值所形成的曲线最为 平滑,效果最好
三次多项式所得的曲线平滑度介于linear和spline之间
西南交通大学摩擦学研究所
西南交通大学摩擦学研究所
3
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
插值计算
假设试验得到一组数据形态为: f(xk);其中k=1,2,…,n;且x1=a<xn=c
如果某些点{xi}不属于上述的{xi} ,但是a=<xi<=c, 要估计这些点的函数值f(xi)就需要做插值运算 根据原始数据所描述的函数的复杂程度,存在有: 一维插值 二维插值 Spline插值
6
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
一维插值—举例
假设汽车引擎在额定转速下温度与时间的测量值关系 如下0—0; 1—20; 2—60; 3—68; 4—77; 5— 110;用一维插值法估计时间为2.6s和4.9s时的温度值。
分别用三种方法估计其值
西南交通大学摩擦学研究所
4
aSOUTHWEST JIAOTONG UNIVERSITY
MATLAB插值与曲线拟合
一维插值
一维插值可以是线性的,也可以是三次多项式或spline 插值
一维线性插值是假设两个数据中的变化为线性关系,
因此可由已知点的坐标(f(a),a)和(f(c),c)计算b点的函数
值f(b)
相关文档
最新文档