00001

MATLAB插值与拟合

什么是插值法

已知n+1个节点(xj,yj)(j=0,1,…,n,)其中xj互不相同,我们希望利用这些数据求一个过这些已知点的函数曲线。据此推断出任一点x*处对应的值y*。应的值y*。通常我们总是希望构造一个简单的函数(例如多项式)y=L(x)去代替这一未知的函数曲线,实现上述目的的方法就是插值法。

一维插值

MATLAB中的插值函数为interp1,其调用格式为
y=interp1(x0,y0,x,′method′)
其中x0,y0分别表示为插值点的横、纵坐标向量,y为在被插值点x处的插值结果,′method′表示采用的插值方法,MATLAB提供的插值方法有几种:′nearest′是最邻近点插值,′linear′线性插值;′spline′三次样条插值;′cubic′三次插值。缺省时表示线性插值。
因此分段线性插值在Matlab中有现成的命令:
y=interp1(x0,y0,x)
三次样条插值在Matlab中有现成的命令:
y=interp1(x0,y0,x,′spline′)
或:y=spline(x0,y0,x)
%端点为自然边界条件

在这里插入图片描述

二维插值

对二维插值问题,Matlab分别给出了针对插值基点为网络节点的插值函数interp2,以及针对插值基点为散乱节点的插值函数griddata。下面加以介绍。1)插值基点为网络节点已知m×n个节点(xi,yj,zij)(i=1,2,…,m;j=1,2,…,n)且a=x1<x2<…<xm=b,c=y1<y2<…<yn=d,求点(x*,y*)(≠(xi,yj))处的插值z*。
对上述问题,MATLAB中提供了二维插值函数interp2,其调用格式为:
cz=interp2(x,y,z,cx,cy,′method′)
其中x、y、z均是n维向量,指明插值节点的横、纵、竖坐标,x和y的分量值必须是单调递增的,x和y可以是等距的也可以不是等距的;向量cx、cy是给定的网络点的横、纵坐标,cz返回在网络(cx,cy)处的函数值。cx与cy应是方向不同的向量,即一个是行向量,另一个是列向量。
测得平板表面3×5网格点出发的温度如表3-1-2所示:
平板表面温度在这里插入图片描述
试作出平板表面的温度分布曲面z=f(x,y)的图形。
 
第一步,先在三维坐标系画出原始数据
在这里插入图片描述
第二步,在x、y方向上每隔0.05个单位的地方进行插值以平滑数据
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值