数据插值-matlab实现

插值

一维插值函数

类似于拟合

网格插值函数

数据是网格数据

数据长度:x=a y=b z=a*b

散点插值函数

数据是散点数据

数据长度:x=y=z

interp2与griddata区别

二者均是常用的二维差值方法,两者的区别是

interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。

而griddata函数的已知数据点(X,Y)不要求规则排列,特别是对试验中随机没有规律采取的数据进行插值具有很好的效果。

X和Y提供的已知数据点,XI和YI是需要插值的数据点,一般使用meshgrid生成,当然也可以其他数据,但是那样绘图的时候就比较麻烦,不能使用mesh等,只能使用trimesh。

应用

  • 将离散数据转为连续数值

    • 计算各时间流量

      • 插值拟合计算时间与流量关系函数
      • 对函数随时间的积分得到流量
  • 一般都选取三次样条插值法,有能力也可进行论文查找选取符合题目的插值方法

代码实现

%一维插值函数
x=(0.1:1:5);
y=1./x;
X=(0.1:0.01:5);
Y=interp1(x,y,X,'cubic');
plot(X,Y);
hold on;
plot(x,y,'+');
axis([0 20 0 20])


%网格插值函数
x=1200:400:4800;
y=1200:400:4800;
z=[1130 	1250  1280  1230  1040  900  500  700  780  750;
1320	1450  1420  1400  1300  700  900  850  840  380;
1390  1500  1500  1400  900  1100  1060  950  870  900;
1500	1200  1100  1350  1450  1200  1150  1010  880  1000;
1500  1200  1100  1550  1600  1550  1380  1070  900  1050;
1500	 1550  1600  1550  1600  1600  1600  1550  1500  1500;
1480	 1500  1550  1510  1430  1300  1200  980  850  750;
1450	 1470  1320  1280  1200  1080  940  780  620  460;
1430  1440  1140  1110  1050   950  820  690  540  380;
1400	 1410  960  940  880  800  690  570  430  290];

X=(1200:40:4800);
Y=(1200:40:4800);
Z1=interp2(x,y,z,X,Y','cubic');
mesh(X,Y,Z1);


%散点插值函数
x=[129   140   103.5   88   185.5   195   105   157.5   107.5   77   81   162   162  117.5];
y=[7.5   141.5   23    147   22.5  137.5   85.5   -6.5    -81     3   56.5  -66.5   84   -33.5];
z=[ 4     8      6     8     6     8      8      9     9      8    8     9     4    9];
[cx,cy]=meshgrid(75:5:200,-90:5:150);	%生成的x数量=y的数量
Z1=griddata(x,y,z,cx,cy,'cubic');
mesh(cx,cy,Z1);

##也可用app
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值