Matlab中数据处理方法解析.ppt
文本预览下载声明
插值方法(interp,spline) 拟合方法(polyfit,csaps) Matlab数据处理--插值与拟合 插值、拟合在化工计算中的作用 表格式物性数据的内插 离散实验数据点的处理 插值简介 插值的数学问题可以描述为:已知n个数对{xi, f(xi)},其中i=0,1…n,(xi互不相同,称之为节点),求取函数g(xi)=f(xi)。 当{xi, f(xi)}有相当的精确度,但它们的函数关系难以确定或难以计算时,则可利用这些数据点来构造一个较简单的函数来近似表达原函数关系。 根据逼近函数的不同,常见的插值方法: Lagrange多项式插值(线性插值) 分段插值 三次样条插值 三角插值 有理式插值 插值方法的选择 已知熔盐在423~473K的密度和粘度如下表所示,估计450K时的密度和粘度。 温度 (K) 密度 (kg/m3) 粘度 (Pa·S) 423 1976 177.58 433 1967 146.51 443 1959 122.79 453 1951 104.6 463 1943 90.26 473 1934 78.79 Matlab的插值(Interpolation)函数 插值方法 Matlab函数 插值方法 Matlab函数 一维插值 interp1 使用FFT方法的一维插值 interpft 快速一维插值 interpq 分段三次Hermite插值 pchip 二维插值 interp2 三次样条插值 spline 三维插值 interp3 N维插值 interpn 一维插值interp1 调用格式: yi=interp1(x,y,xi) 已知数据向量(x,y),计算并返回在插值向量xi处的函数值 yi=interp1(x,y,xi, ‘method’) yi=interp1(x,y,xi, ‘method’, ‘extrap’) ‘method’用于指定插值算法,其值可以是: ‘nearest’——最近插值 ‘linear’——线性插值(默认值) ‘spline’——分段三次样条插值 ‘pchip’——分段三次Hermite插值 ‘cubic’——与‘pchip’相同 注意: 向量x为单调。若y为矩阵,则对y的每一列进行插值 向量xi中有元素不在x的范围内,则对应yi值为NaN ’extrap’用于指定当向量xi中有元素不在x的范围内时,采用’method’所指定的插值算法进行外插计算与之对应的yi值 已知x=[0:10],y=[0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440];(y=sinx),比较一维线性、线性最近、立方和三次样条插值所得xi=0,0.15,0.30,0.45,…,10处的值yi。如果初始数据点为x=0,2,4,…,10,y=sinx,以上方法插值效果。 一维插值方法比较 x=0:1:10; y =[0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.657 0.9894 0.4121 -0.5440]; plot(x,y,co),hold on fplot(@sin,[0 10]) %%%Plot function between specified limits xi=0:0.15:10; yi=interp1(x,y,xi); plot(xi,yi,r+),text(0.7028,0.4649,线性插值\rightarrow) yi2=interp1(x,y,xi,nearst); plot(xi,yi2,c*),text(3.537,0.1374,\leftarrow最近插值) yi3=interp1(x,y,xi,cubic); plot(xi,yi3,md),text(2.408,0.8333,\leftarrow三次插值) yi4=interp1(x,y,xi,spline); plot(xi,yi4,kh),text(4.62,0.8158,三次样条插值\rightarrow) spline与pchip Spline()的调用格式为: yi=spline(x,y,xi) 此函数等同于yi=interp1(x,y,xi, ‘spline’) pp=spline(x,y) 返回三次样条插值的分段多项式形式的向量 spline函数可以保证插值函数的三阶导数连续 pchip()的调用格式为: yi=pchip(x,y,xi) 此函数等同于yi=interp1(x,y,xi, ‘pchip’) pp=pchip(x,
显示全部