插值:求过已知有限个数据点的近似函数。

区别于拟合:

拟合:已知有限个数据点求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。

基本常用的插值方法:拉格朗日多项式插值,牛顿插值,分段线性插值,Hermite插值,三次样条插值。

MATLAB使用interp1来实现一维插值。

Vq = interp1(X,V,Xq,METHOD)

  • X为自变量的取值范围,V为函数值(或者与X长度一样的向量),Xq为插值点向量或数组,METHOD设定插值方法
  • METHOD='nearest',邻近点插值。插值点函数值估计为与该插值点最近的数据点函数值
  • METHOD='linear',线性插值法。根据相邻数据点的线性函数估计落在该区域内插值数据点函数值。
  • METHOD='spline',三次样条插值。这种方法在相邻数据点间建立三次多项式函数,根据多项式函数确定插值数据点的函数值。
  • METHOD='pchip'或'cubic',立方插值。通过分段立方Hermite插值方法计算插值结果。

上述方法的优缺点:

  • 邻近点插值方法的速度快,但平滑性差。

  • 线性插值占用内存多,运行时间长;但结果是连续的,但在顶点处斜率会改变。

  • 三次样条运算时间最长,但内存占用比立方插值少,其差值数据和导数都是连续的。平滑性最好,但如果输入的数据不一致,或者数据点过近,可能出现很差的插值效果 。

一维插值


一、分段线性插值

x=-2*pi:2*pi;
y=sin(x);
Xq=-2*pi:pi/2:2*pi;
Vq=interp1(x,y,Xq,'spline');%三次样条插值
plot(x,y,'rs',Xq,Vq,'k-')
legend('sin(x)','插值函数')

二、一维快速傅里叶插值

通过函数interpft( )实现。

  • y=interpft(x,n):对x进行傅里叶变换,然后采用n点傅里叶逆变换变回到时域。
  • y=interpft(x,n,dim):在dim指定的维度上进行操作。
clear all;clc;
x=0:1.2:10;
y=sin(x);
n=2*length(x);
yi=interpft(y,n);
xi=0:0.6:10.4;
hold on;
plot(x,y,'ro');
plot(xi,yi,'b.-');
title('一维快速傅里叶插值');
legend('原始数据','插值结果');

三、快速fouriersuanfa:数据呈现周期分布时使用

调用格式:

  • y=interpft(x,n)

采用interpft函数对sin插值

clear all;clc;
x=0:2*pi;
y=sin(x);
z=interpft(y,15);
xx=linspace(0,2*pi,15);
plot(x,y,'-o',xx,z,':o');
legend('sin(x)','插值函数')

二维插值


当被插函数是二元函数时,为二元插值。

MATLAB使用interp2来实现。

Vq = interp2(X,Y,V,Xq,Yq,METHOD)

X,Y,V是具有相同大小的矩阵,V(i,j)是数据点[X(i,j),Y(i,j)]上的函数值;Xq,Yq是待插值的数据网格。METHOD是一个字符串变量,表示不同的插值方法。

  • METHOD='nearest',邻近点插值。将插值点周围四个数据中离该插值点最近的数据点作为该插值点的函数值的估计值。
  • METHOD='linear',双线性插值。将插值点周围四个数据点的函数值的线性组合作为插值点的函数值的估计值。
  • METHOD='spline',三次样条插值。该方法的计算效率高,得到的曲面光滑。
  • METHOD='cubic',双立方插值。利用插值点周围的16个数据点,需要消耗较多的内存和计算时间,效率不高,但曲面更加光滑。

【MATLAB】数据分析之数据插值相关推荐

  1. 基于MATLAB的三维数据插值拟合与三次样条拟合算法(附完整代码)

    目录 一. 三维插值 例题1 二. 高维度插值拟合 格式一 格式二 格式三 格式四 格式五 例题2 三. 单变量三次样条插值 例题3 例题4 四. 多变量三次样条插值 例题6 一. 三维插值 首先三维 ...

  2. matlab插值与拟合例题_菜鸟进阶系列:MATLAB数学建模·数据插值与拟合

    本篇算是开始数据处理了.首先明确俩概念:插值和拟合.两者最根本的共同点都是基于现有数据进行预测.推演,比如根据现有的天文观测数据预测天体位置.插值问题是数学史上的经典问题,拉格朗日.高斯.牛顿等著名数 ...

  3. MATLAB数据分析3

    MATLAB数据分析3 %数据的输入 %A = input(提示信息,选项); % A = input('请输入一个变量A的值:'); %数据的输出 %disp(输出项): %程序的暂停 %pause ...

  4. MATLAB数据分析(插值运算和曲线拟合)

    MATLAB数据分析(插值运算和曲线拟合) MATLAB数据分析 在数学研究和工程应用中,我们常常需要对某些环节进行反复的测验或测试,以获取更多的数据支持最优决策,但是由于环境条件的限制,我们往往只能 ...

  5. matlab插值与拟合例题_MATLAB中数据插值和数据拟合的用法

    一.数据插值: 插值是在一组已知数据点的范围内添加新数据点的技术.可以使用插值来填充缺失的数据.对现有数据进行平滑处理以及进行预测等.MATLAB 中的插值技术可分为适用于网格上的数据点和散点数据点. ...

  6. [MATLAB]--数据插值(interp1/2多维插值)

    本试验取材于中南大学<科学计算与MATLAB应用> 一.引例–零件加工问题 >> x1=0:0.1:15; >> x=[0,3,5,7,9,11,12,13,14, ...

  7. matlab对exl数据分析,基于MATLAB的EXCEL数据计算与分析

    基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识.结合本人近期工作上的需要测量计算,想偷懒就选择了利用M ...

  8. 如何利用MATLAB进行数据插值?

    文章目录 前言 1 引例-零件加工问题 2 数据插值的计算机制 3 数据插值的实现方法 3 应用案例1-粮储仓的通风控制问题 4 应用案例2-机动车刹车距离问题 5 应用案例3-沙盘制作问题 总结 前 ...

  9. 【MATLAB数据分析】02数据的中位数和分位数

    引言 在[MATLAB数据分析]01数据的均值.变异度.偏度和峰度一文中我们介绍了均值.方差.标准差等数字特征,它们都是总体相应特征值的一种矩估计,更适合来自正态分布的数据的分析.但若总体的分布未知, ...

最新文章

  1. 《移动项目实践》实验报告——Android Studio环境搭建
  2. wxWidgets:wxFont概览
  3. 鸟哥Linux私房菜(基础篇)——第五章:首次登入与在线求助 man page笔记
  4. php 邮箱开发教程,php开发中表单验证邮箱及URL的教程
  5. 分布式 java 应用:基础与实践_单集群数据超1000亿,微服务架构下分布式数据库应用实践...
  6. 1003 C语言输入以某个特殊输入为结束标志
  7. Zabbix 监控Nginx连接的状态
  8. iframe 自适应内容高度
  9. 教程——sumolympics
  10. python下载电影包_我是如何使用python控制迅雷自动下载电影的?
  11. IT:银行类金融科技岗笔试习题集合—四个模块包括【综合知识+EPI+英语+个性测评】持续更新,建议收藏
  12. 华为存储设备管理ip修改
  13. aop切面重复调用两次controller
  14. 盲盒小程序的开发功能介绍,优势有哪些
  15. ListView 单条item刷新
  16. NRF24L01 无线通信模块使用方法
  17. NIPS最佳,惊人的天赋与无人察觉的缺陷并存,GPT-3的未来有多少种可能......
  18. 光遇显示服务器已满怎么办,光遇服务器已满怎么办 光遇服务器已满您正在登陆队列中解决方法...
  19. 04-如何选购台式电脑显卡?小白装机通俗易懂的独立显卡知识指南
  20. YApi内网部署、外网部署教程

热门文章

  1. 软件测试培训分享:做软件测试工作如何清楚的描述一个bug
  2. Kibana 用户指南(使用Flight仪表盘探索Kibana)
  3. hive基本操作与应用
  4. Alipay秘钥问题
  5. MySQL 5.5.35 单机多实例配置详解
  6. PHP smarty缓存
  7. Java知识积累——String引用的判断问题
  8. SQL 将一列数据转为一行字符串[转]
  9. 捕获Camera并保存图片到本地(照相功能) -samhy
  10. php获取网页标题接口,PHP获取网页标题的3种实现方法代码实例