一、matlab插值比较-griddata/interp2

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

%%
tic
FusioG = griddata(lon,lat,FusioGr,data(:,2),data(:,3));
toc
disp(['运行时间: ',num2str(toc)]);时间已过 16.637986 秒。
运行时间: 16.64tic
FusioG1 = interp2(lon,lat,FusioGr,data(:,2),data(:,3));
toc
disp(['运行时间: ',num2str(toc)]);时间已过 0.085138 秒。
运行时间: 0.085863plot(FusioG - FusioG1 ,'r.')
A  = FusioG - FusioG1;

rms(A)

ans =

NaN

mean(A)

ans =

NaN

max(A)

ans =

0.6278

min(A)

ans =

-0.7366

两种结果插值成图

通过对比,发现采用interp2插值时运算时间从griddata的16.64秒降为0.085863。

插值rms和mean均为NaN,主要是大部分的节点的值为0.000546720777908405附近,无法计算。

差值max= 0.6278;差值min = -0.7366,表明两者插值还是有些许的不同。插值结果对于总体量31万个点而言可以近似相等。

二维插值与MATLAB实例解析

二维插值-MATLAB_感谢地心引力的博客-CSDN博客_二维插值

百度安全验证   Matlab之插值函数汇总及使用说明

一、插值节点为网格节点
二、插值节点为散乱节点
Addition:
(1)学会查看matlab帮助文档
(2)matlab脚本类型
(3)matlab三维绘图函数
二维插值,简单来说就是节点二维、插值函数二维,形如z = f ( x , y ) z=f(x,y)z=f(x,y)。

  为什么要插值呢?假如我们要根据已知的二维数据来绘制对应的三维曲面图像,就需要很多点的x、y、z坐标,但给定的数据一般比较少,不能仅仅通过点数据画出三维图形。又或者要获取未知点的坐标值(大概的)。

一、插值节点为网格节点

网格节点,听命字就知道它是比较规则整齐的点了。相当于在xyz平面内,一条条整齐的平行于x,y轴的直线相交,再在z轴方向对应一个值。

比如这样:

MATLAB插值命令:

z=interp2(x0​,y0​,z0​,x,y,′method′)

其中:
x0,y0为已知节点,z是对应的值;
x0,y0分别为m维、n维向量,z为m·n矩阵;  
x,y是要插值的节点,z返回对应的插值得到的值;
method是插值方法,和一维插值相同:
'nearest‘: 最近项插值
'linear': 线性插值
'spline': 立方样条插值
'cubic': 立方插值

close all
clear,clcx=100:100:500;  %已知节点数据
y=100:100:400;
z=[636    697    624    478   450  698    712    630    478   420680    674    598    412   400662    626    552    334   310];pp=csape({x,y},z') %采用3次样条插值xi=100:10:500;yi=100:10:400;  %要插值的点
cz=fnval(pp,{xi,yi});          %返回字(xi,yi)处的值[i,j]=find(cz==max(max(cz)))  %找最高点的地址
x=xi(i),y=yi(j),zmax=cz(i,j)  %求最高点的坐标

二、插值节点为散乱节点

散乱节点:给出了一些3维空间数据点的x、y、z坐标,但不像网格节点那样整齐。例1和例2一对比就明白了。使用函数griddata(),常见形式和简要说明如下:

(1) vq = griddata( x,y, v ,xq, yq)
使v=fx,y)形式的曲面与向量(xy.v)中的散点数据拟合。gridata函数在(xq,yq)指定的查询点对曲面进行插值并返回插入的值vq。曲面始终穿过×和y定义的数据点。

(2) vq = griddata(x,y,z , v ,xq,yq,zq)拟合v= f(x,y,z)形式的超曲面。

(3)vq = griddata(_,method)
使用上述语法中的任何输入参数指定计算vq所用的插值方法。method可以是'linear'、'nearest 、'natural'、 'cubic'或'v4’。默认方法为‘linear'。

(4)[Xq, Yq,vq] = griddata(x,y,v ,xq,yq)或[Xq,Yq, vq] = griddata(x,y ,v , xq, yq,method)
还返回Xq和Yq,其中包含查询点的网格坐标。
更多内容请查阅帮助文档。

close all
clc, clearx=[129,140,103.5,88,185.5,195,105,157.5,107.5,77,81,162,162,117.5];
y=[7.5,141.5,23,147,22.5,137.5,85.5,-6.5,-81,3,56.5,-66.5,84,-33.5];
z=-[4,8,6,8,6,8,8,9,9,8,8,9,4,9];xmm=minmax(x)  %求x的最小值和最大值
ymm=minmax(y)  %求y的最小值和最大值xi=xmm(1):xmm(2); %指定查询点(插值点)
yi=ymm(1):ymm(2);%使 v = f(x,y) 形式的曲面与向量 (x,y,v) 中的散点数据拟合。
% griddata 函数在 (xq,yq) 指定的查询点对曲面进行插值并返回插入的值 vq。
% 曲面始终穿过 x 和 y 定义的数据点。
zi1=griddata(x,y,z,xi,yi','cubic'); %立方插值
zi2=griddata(x,y,z,xi,yi','nearest'); %最近点插值zi=zi1;  %立方插值和最近点插值的混合插值的初始值
zi(isnan(zi1))=zi2(isnan(zi1))  %把立方插值中的不确定值换成最近点插值的结果subplot(1,2,1), plot(x,y,'*')
subplot(1,2,2), mesh(xi,yi,zi)

matlab插值比较-griddata/interp2相关推荐

  1. MATLAB插值笔记

    二维插值:griddata和interp2 MATLAB documentation_interp2 MATLAB_documentation_griddata Vq = interp2(X,Y,V, ...

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

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

  3. matlab插值与拟合(命令与示例),matlab插值与拟合(命令与示例)

    目录 [一维插值]interp1.................................................................................... ...

  4. matlab 二维样条插值函数,matlab中二维插值函数interp2的使用详解

    下面是一段产生log-normal分布的代码,以此进行说明. clear all; clc; for t=1:100 Traffic(t) =curve(t); end MaxTraffic = ma ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. ceph-deploy rpm包的制作
  2. 博士毕业,信心满满的去面算法工程师,竟然凉了...
  3. bash 判断 os 版本_专家:鸿蒙OS初登手机令人惊艳,但全面商用至少还要2年
  4. 【编程题目】复杂链表的复制☆
  5. springboot整合activiti报错[processes/]不存在解决方案
  6. 作者:孙宗哲(1991-),男,东北大学软件学院硕士生
  7. 图片模糊化处理_10个JavaScript图像处理库,收藏好留备用
  8. [PAL规范]SAP HANA PAL演绎推理算法Apriori编程规范APRIORIRULE
  9. STM32工作笔记0093---DAC数模转换实验-M3
  10. jenkins 关联 钉钉机器人
  11. 维修电工技师技能实训考核装置QY-W05
  12. 微弱光信号检测MATLAB,基于数字锁相放大器的微弱光电信号检测研究
  13. matlab与信道编码,基于MATLAB的信道编码.doc
  14. 错误:java 找不到符号
  15. 智遥工作流是如何模拟并优化办公单据审批的
  16. Windows中的SysWow64文件夹
  17. HbuilderX 配置eslint规范 问题
  18. 如何设计签名 我的名字
  19. 浮云API 随机二次元图片接口开放文档 1w+数据
  20. axios的响应拦截器

热门文章

  1. 云上城之歌通用服务器是什么意思,云上城之歌苹果安卓互通吗 不同系统可以一起玩吗...
  2. 计算机网络名词解释知识点简答题整理
  3. ffmpeg文件名含特殊字符引起的问题
  4. web开发中上传图片保存base64 好还是保存文件
  5. zephyr 消息队列
  6. python读取hdf-eos5数据_python读取与写入csv EXCEK HDF 文件
  7. 你真的知道什么叫部署吗
  8. 分布式搜索Lily安装与配置
  9. equire.ensure
  10. CList Control 控件的使用