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

2021/7/27 23:06:34

本文主要是介绍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.参考

  • [1] MATLAB中数据插值和数据拟合的用法
  • [2] 如何利用MATLAB进行数据插值?


这篇关于2021-07-27 Matlab一维数据插值基础用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程