matlab 插值_Matlab基础一维插值

本文介绍一维插值函数interp1的用法。

vq = interp1(x,v,xq,method); 使用线性插值返回一维函数在特定查询点的插入值。向量 x 包含样本点,v 包含对应值 v(x)。向量 xq 包含查询点的坐标。method为插值方法,默认为‘linear’;常用的有‘nearest’,临近点插值;‘linear’,线性插值法;‘spline’,三次样条插值;

应用说明:如下图所示,假设知道某一天内下面时刻的温度,求7时,9时,11时,13时,15时的温度。(此图 来源于网络)

2ef8b3ba532551a84dc1b8bf7a30f48a.png

程序代码:

t=[6 8 10 12 14 16];        %样本时间点
C=[26 28 30 32 33 31];    %样本时间点对应的温度
T=[7 9 11 13 15];             %插值节点,即需求时间

C1=interp1(t,C,T,'nearest');    %最近点插值
C2=interp1(t,C,T,'linear');        %线性插值
C3=interp1(t,C,T,'spline');        %三次样条插值

plot(T,C1,'b*-',T,C2,'g*-',T,C3,'r*-','linewidth',2);
xlabel('时间(T)');ylabel('温度(\circC)');

set(gca,'FontSize',15);       %设置坐标轴标注字体大小

legend('最近点插值','线性插值','三次样条插值');

运行结果:

0c0562e9b9622d58570173287814804c.png

可以看出不同插值方法的结果有明显差别。

如果样本点是多个变量,还可使用interp2,interp3函数进行多为插值,方法类似。

%%%本文由作者原创,如有错误,欢迎指正,谢谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值