- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章插值拟合与回归概要
第八章 插值 拟合与回归
在生产和实验中,由于函数的表达式不便于计算或者没有表达式而只有在给定点的函数值(或其导数值),为此,我们希望建立一个简单的而且便于计算的近似函数,来逼近函数,这就用到插值和拟合方法。
8.1 插值
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值interp1函数
MATLAB中用于一维数据插值的函数是interp1,其调用格式为:
yi = interp1(x, y, xi, method, extrap)
该命令用于找出由参量决定的元函数=y(x)在点的值。其中为插值点,yi为在被插值点xi处的插值结果;xy为向量, ‘method’表示采用的插值方法,提供的插值方法有几种:‘nearest’:最近邻点插值算法;
‘linear’:线性插值(默认);
‘spline’:三次样条函数插值;
‘pchip’:分段三次Hermite插值;
‘cubic’:与’pchip’操作相同;
‘v5cubic’:在MATLAB 5.0中的三次插值。
缺省时表示线性插值‘extrap’表示对于超出x 范围的xi 中的分量将执行特殊的外插值法extrap注意:所有的插值方法都要求x是单调的。例从0到10,步长为1进行采样得到插值节点,利用线性插值给出步长为0.25的插值函数图形。
在命令窗口输入:
x = 0:10;
y = x.*sin(x);
xx = 0:.25:10;
yy = interp1(x,y,xx);
plot(x,y,kd,xx,yy)
输出结果如图8.1所示。
例2 在一天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为
12,9,9,1,0,18 ,24,28,27,25,20,18,15,13推测中午13时的温度x=0:2:24;
a=13;
y=[12 9 9 10 18 24 28 27 25 20 18 15 13];
y1=interp1(x,y,a,spline)
输出结果为y1 =
27.8725
若要得到一天24小时的温度曲线,则:xi=0:1/3600:24;
yi=interp1(x,y,xi, spline);
plot(x,y,o ,xi,yi)
温度函数曲线图如图8.2所示。
图8.1 线性插值函数曲线图 图8.2 温度曲线图
8.1.2 interp2函数
MATLAB中用于二维数据插值的函数是interp2,其调用格式为:
zi = interp2(x, y, z, xi, yi, ‘method’)
该命令用于找出由参量,y决定的元函数=z(x,y)在点()的值。若i与i 中有在与范围之外的点,则相应地返回(Not a Number)‘cubic’ (双三次插值),缺省为‘linear’(双线性插值算法)。
例3 在命令窗口输入
[X,Y] = meshgrid(-3:.25:3);
Z = peaks(X,Y); %具有两个变量的采样函数可产生一个凹凸有致的曲面包含了三个局部极大点及三个局部极小点surf(X,Y,Z);hold on;
surf(XI,YI,ZZ+15) %为作比较,将插值曲面向上平移15单位。
hold off
输出结果如图8.3
图8.3 二维插值曲面
8.1.3 interp3函数
MATLAB中用于三维数据插值的函数是interp3,其调用格式为:
vi = interp3(x, y, z, v, xi, yi, zi, ‘method’)
该命令用于找出由参量决定的三元函数在点()的值。参量是同型阵列或向量。若向量参量是不同长度,不同方向(行或列)的向量,这时输出参量与1,y2,y3为同型矩阵。其中1,y2,y3为用命令meshgrid(XI,YI,ZI)生成的同型阵列。若插值点)中有位于点()之外的点,则相应地返回特殊变量值NaN。例[x,y,z,v] = flow(20);
[xx,yy,zz] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);
vv = interp3(x,y,z,v,xx,yy,zz);
slice(xx,yy,zz,vv,[6 9.5],[1 2],[-2 .2]);
shading interp;
colormap cool
输出图形如图8.4所示。
图8.4 三维插值结果
8.1.4 griddata函数
griddata也是一种常用的二维方法i =griddata (x, y, z, xi, yi, ‘method’)
该命令用于找出由参量,y决定的
您可能关注的文档
最近下载
- 1475药物治疗学(本)之(国家)开放(大学)2021年1月至2022年1月期末考试真题(含答案)(202101至202201三套).pdf VIP
- 高速公路路基边坡防护施工要点.ppt
- 干细胞库项目可行性研究报告建议书新建申请备案案例范文解析.doc VIP
- 《村志》编纂方案.docx
- 关于丽水市雅溪镇麻舍―下百步萤石矿区ⅱ-1矿体工业指标的论证.doc
- 2021年新能源知识竞赛题库及答案完整.docx
- 机器人技术基础实验报告7(机器人笛卡尔空间规划).docx
- GB∕T 17476-2023 润滑油和基础油中多种元素的测定 电感耦合等离子体发射光谱法.pdf
- 小学语文名师工作室成员个人工作计划.docx VIP
- 组织供应运输售后服务方案.doc
文档评论(0)