Matlab插值方法

  • 一、散点数据插值
    • 1.1 简要举例
    • 1.2 可选的插值方法
  • 二、网格数据插值
    • 2.1 简要举例
    • 2.2 可选插值方法
  • 总结及参考

一、散点数据插值

使用场景:用站点数据插值成网格数据时,可以使用散点数据插值方法
参考链接:https://ww2.mathworks.cn/help/matlab/ref/scatteredinterpolant.html

1.1 简要举例

  1. 创建包含 50 个散点的样本数据集。

    x = -3 + 6*rand(50,1);
    y = -3 + 6*rand(50,1);
    v = sin(x).^4 .* cos(y);
    
  2. 创建插值和查询点网格
    F = scatteredInterpolant(x,y,v);
    [xq,yq] = meshgrid(-3:0.1:3);
    
  3. 绘制结果
    F.Method = 'nearest';
    vq1 = F(xq,yq);
    plot3(x,y,v,'mo')
    hold on
    mesh(xq,yq,vq1)
    title('Nearest Neighbor')
    legend('Sample Points','Interpolated Surface','Location','NorthWest')
    

1.2 可选的插值方法

注意:可以选择插值方法和“外插方法

Method 说明 连续性
‘linear’(默认值) 线性插值 C0
‘nearest’ 最近邻点插值 不连续
‘natural’ 自然邻点插值 C1(样本点处除外)
ExtrapolationMethod 说明
‘linear’ 基于边界梯度的线性外插。Method 为 ‘linear’ 或 ‘natural’ 时的默认值。
‘nearest’ 最近邻点外插。此方法的计算结果为边界处的最近邻点的值。Method 为 ‘nearest’ 时的默认值。
‘none’ 无外插。Points 凸包之外的任何查询返回 NaN。

二、网格数据插值

使用场景:粗分辨率网格降尺度为细分辨率网格时可用
参考链接:https://ww2.mathworks.cn/help/matlab/ref/griddedinterpolant.html

2.1 简要举例

  1. 创建网格样本点
[x,y] = ndgrid(-5:0.8:5);
z = sin(x.^2 + y.^2) ./ (x.^2 + y.^2);
surf(x,y,z)
  1. 构建插值结构
F = griddedInterpolant(x,y,z);
  1. 插值以提高分辨率
[xq,yq] = ndgrid(-5:0.1:5);
vq = F(xq,yq);
surf(xq,yq,vq)

2.2 可选插值方法

Method Value Value Value
‘linear’(默认值) 线性插值。在查询点插入的值基于各维中邻点网格点处数值的线性插值 C0 每个维需要至少 2 个网格点。比 ‘nearest’ 需要更多内存
‘nearest’ 最近邻点插值。在查询点插入的值是距样本网格点最近的值。 不连续 每个维度需要 2 个网格点。内存要求最低,计算速度最快
‘next’ 下一个邻点插值(仅限于一维)。在查询点插入的值是下一个抽样网格点的值。 不连续 需要至少 2 个点。内存要求和计算时间与 ‘nearest’ 相同
‘previous’ 上一个邻点插值(仅限于一维)。在查询点插入的值是上一个抽样网格点的值。 不连续 需要至少 2 个点。内存要求和计算时间与 ‘nearest’ 相同
‘pchip’ 保形分段三次插值(仅限一维)。在查询点插入的值基于邻点网格点处数值的保形分段三次插值。 C1 需要至少 4 个点。比 ‘linear’ 需要更多内存和计算时间
‘cubic’ 三次插值。在查询点插入的值基于各维中邻点网格点处数值的三次插值。插值基于三次卷积。 C1 网格必须有均匀间距,虽然每个维度上的间距不必相同。每维需要至少 4 个网格点。比 ‘linear’ 需要更多内存和计算时间
‘makima’ 修正 Akima 三次 Hermite 插值。在查询点插入的值基于次数最大为 3 的多项式的分段函数,使用各维中相邻网格点的值进行计算。为防过冲,已修正 Akima 公式。 C1 每一维需要至少 2 个点。产生的波动比 ‘spline’ 小,但不像 ‘pchip’ 那样急剧变平。计算成本高于 ‘pchip’,但通常低于 ‘spline’。内存要求与 ‘spline’ 类似
‘spline’ 三次样条插值。在查询点插入的值基于各维中邻点网格点处数值的三次插值。插值基于使用非结终止条件的三次样条。 C2 每维需要 4 个网格点。比 ‘cubic’ 需要更多内存和计算时间

ExtrapolationMethod - 外插方法
‘linear’ (默认) | ‘nearest’ | ‘next’ | ‘previous’ | ‘pchip’ | ‘cubic’ | ‘spline’ | ‘makima’ | ‘none’
外插方法,指定为 ‘linear’、‘nearest’、‘next’、‘previous’、‘pchip’、‘cubic’、‘spline’ 或 ‘makima’。另外,如果您希望网格域之外的查询返回 NaN 值,可以指定 ‘none’。

如果您省略 ExtrapolationMethod,则默认值是为 Method 指定的值。如果您同时省略 Method 和 ExtrapolationMethod 参数,则两个值均默认为 ‘linear’

总结及参考

(1)注意:可以选择插值方法和“外插方法
(2) 如果存在大量样本点或查询点,或者担心内存使用量太大,您可以使用网格向量来提高内存使用率。

  • 网格向量
    https://ww2.mathworks.cn/help/matlab/ref/ndgrid.html?searchHighlight=%E7%BD%91%E6%A0%BC%E5%90%91%E9%87%8F&s_tid=srchtitle

  • Gridded and Scattered Sample Data的差别
    https://www.mathworks.com/help/matlab/math/overview-of-interpolation-techniques.html

  • Interpolating Scattered Data
    https://www.mathworks.com/help/matlab/math/interpolating-scattered-data.html

  • Interpolating Gridded Data
    https://www.mathworks.com/help/matlab/math/interpolating-gridded-data.html

与interp2/3的差别
interp2要求矩形网格(meshgrid);
griddata的插值网格可以随意,包括矩形网格和非矩形网格;
griddedInterpolant 比 interp2 更高效一些;

关于Matlab插值的问题,这些应该够用了吧相关推荐

  1. 用MATLAB拟合实验报告,MATLAB插值与拟合实验报告材料

    <MATLAB插值与拟合实验报告材料>由会员分享,可在线阅读,更多相关<MATLAB插值与拟合实验报告材料(9页珍藏版)>请在人人文库网上搜索. 1.实用标准文档文案大全CEN ...

  2. MATLAB插值:柏林噪声插值

    这是MATLAB插值拟合系列的第四期,这里附上前几期的链接: 第三期:MATLAB数值拟合:最小二乘多项式拟合 第二期:matlab插值:拉格朗日插值 第一期:[数值分析拟合]Matlab三次样条插值 ...

  3. matlab已知飞机下轮廓线,数学建模matlab插值及拟合.ppt

    数学建模matlab插值及拟合 2013数学建模培训 插值与拟合 插值与拟合属数值分析中函数逼近内容.在数学建模竞赛中,插值与拟合是一种常用的数据分析手段,被公认为建模中的十大算法之一. 本节首先通过 ...

  4. matlab插值比较-griddata/interp2

    一.matlab插值比较-griddata/interp2 最近在使用matlab插值,发现采用griddata计算速度太慢,正好是网格数据就将计算结果与interp2开展了对比,发现速度差别特别大. ...

  5. matlab slice 斜切,MATLAB插值与拟合

    密件宁静会猎哪吒腔肠发棵安曼前襟.小鲸起航击乐不疑故交浦项.城镇棵儿流驶四砂恩宠穆木,流脓广柑乖顺赤松漂漂!陋劣世俗募捐世医旋木率直北寺南白.补花女将栖身悖谬顺水观花女婴唱盘!度曲忻政型领卖乖便饭. ...

  6. matlab 插值滤波,插值滤波

    围绕问题: 1.低通滤波器的增益系数.过采样倍数与最后输出功率公式的关系 2.确定信号的能量谱密度和周期图法的关系 结论: 1.为什么在仿真平台中要使根升余弦滤波器系数的能量归一? 若发端采用根升余弦 ...

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

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

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

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

  9. matlab 插值生成曲面,[转]Matlab曲面拟合和插值

    插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图. 在matlab中都有特定的函数来完成这些功能. 这两种方法的确别在于: 当测量值是准确的,没有误差时,一般用插值: 当 ...

  10. matlab插值龙格实验,实验二 拉格朗日插值龙格现象

    汕 头 大 学 实 验 报 告 学院: 工学院系: 计算机系专业: 计算机科学与技术年级:2010 姓名: 林金正学号:2010101032完成实验时间: 5月24日 一.实验名称:拉格朗日插值的龙格 ...

最新文章

  1. 10分钟搭建你的第一个图像识别模型 | 附完整代码
  2. 第24日:实施质量保证 和 组建项目团队
  3. 【Docker】在Docker中安装redis、rabbitmq
  4. 【转载】静态时序分析
  5. Serv-U服务器的管理3
  6. iOS开发之手势识别
  7. antlr_ANTLR –语义谓词
  8. Redis为什么默认16个数据库,干什么用?
  9. c# HttpWebResponse 调用WebApi
  10. 四种方法求Capacitated Facility Location Problem问题
  11. Python游戏开发入门2 壁球小游戏与图像的基本使用
  12. 【技术美术图形部分】2.1 色彩空间
  13. 简单模仿赛尔号哈莫雷特对战谱尼最难打的第五条命
  14. “博客之星”年度评选
  15. 免费基金股票接口大全,macd,kdj,cci,威廉指标,神奇九转大全
  16. 微机原理与接口技术:接口概述 详细笔记
  17. 手机刷机是什么意思?快速了解手机刷机基本概念
  18. 短视频美食系列都有哪些变现方式?丨国仁网络资讯
  19. 网页中的th/th是什么意思
  20. mac系统常用操作指南

热门文章

  1. 电脑编辑安卓分区_20分钟轻松解决安卓手机分区问题 干货篇
  2. 求三维空间两直线交点
  3. cartographer基于3d地图的纯定位模式
  4. 计算机页面格式和编排,论文开题格式
  5. mysql读写分离延迟_解决Mysql读写分离数据延迟
  6. 微信加好友,提示操作过于频繁 ,有什么办法解决
  7. [Shader2D]浮雕效果
  8. Unity Wwise 自己使用
  9. 摸索Detours 1:使用Vs2019 编译Detours
  10. 金蝶kis专业版 服务器系统,金蝶kis专业版服务器设置