其他分享
首页 > 其他分享> > 2021-07-27 Matlab一维数据插值基础用法

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

作者:互联网

Matlab中的一维插值基础用法

1.基础概念

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


2.Matlab中的用法

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.参考

标签:27,07,1800,插值,length,Matlab,一维,xq,数据
来源: https://blog.csdn.net/tiantyc/article/details/119154421