2021-07-27 Matlab一维数据插值基础用法

Matlab中的一维插值基础用法

1.基础概念

在数学上,数据插值是一种 函数逼近 的方法。插值是在一组已知的数据点范围内添加新的数据点的技术,可以用来 填充空缺数据、平滑现有数据等。


2.Matlab中的用法
  • 一维插值函数 interp1();
yq = interp1(x,y,xq,'method');

x:原始数据点

y:原始数据值(待插值的原始数据,x和y长度一致);

xq:插值数据点;

yq:插值数据值;

method:插值方法

方法名功能
nearest最近邻点插值:选择最近样本点作为插值
linear线性插值(默认):将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。
spline三次样条函数插值:每一个分段内构造一个三次多项式
pchip三次插值,保留数据单调性与外形、曲线光滑
cubic与pchip操作相似

image-20210727181840110

图1 常用的一维插值函数方法效果对比1

image-20210727205523958

图2 常用的一维插值函数方法效果对比2
3.实际案例

现有一组长度为1800的一维矩阵数据m,(1800*1),想要扩充成2000;

%length(m) = 1800;
x1 = 1:length(m);
y1 = m;
%0.9:0.9:1800,从0.9开始,每隔0.9进行一次插值,直到1800,共2000个插值点
xq = (length(m)/2000):(length(m)/2000):length(m); 
yq = interp1(x1,y1,xq,'linear');

image-20210727213920672

图3 插值前后对比
4.参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值