Matlab中的一维插值基础用法
1.基础概念
在数学上,数据插值是一种 函数逼近 的方法。插值是在一组已知的数据点范围内添加新的数据点的技术,可以用来 填充空缺数据、平滑现有数据等。
2.Matlab中的用法
- 一维插值函数 interp1();
yq = interp1(x,y,xq,'method');
x:原始数据点
y:原始数据值(待插值的原始数据,x和y长度一致);
xq:插值数据点;
yq:插值数据值;
method:插值方法
方法名 | 功能 |
---|---|
nearest | 最近邻点插值:选择最近样本点作为插值 |
linear | 线性插值(默认):将与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。 |
spline | 三次样条函数插值:每一个分段内构造一个三次多项式 |
pchip | 三次插值,保留数据单调性与外形、曲线光滑 |
cubic | 与pchip操作相似 |
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');