MATLAB中griddata和griddatan插值函数简单说明

MATLAB中griddata和griddatan插值函数简单说明MATLAB中griddata和griddatan插值函数简单说明前言本文会用容易理解的话解释下griddata和griddatan的用法,不会追求严谨,目的是抛砖引玉,帮助需要用到这两个插值函数的同学尽快理解使用。一、griddata函数是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyp

大家好,又见面了,我是你们的朋友全栈君。

MATLAB中griddata和griddatan插值函数简单说明

前言

本文会用容易理解的话解释下griddata和griddatan的用法,不会追求严谨,目的是帮助需要用到这两个插值函数的尽快理解使用。

一、griddata函数是什么?

griddata可以插入二维或三维散点数据
严格上来说,griddata并不能算是插值,但是可以实现插值的功能。griddata有以下三种形式:
vq = griddata(x,y,v,xq,yq)
vq = griddata(x,y,z,v,xq,yq,zq)
vq = griddata(___,method)
griddata和interp2的区别是,interp2的插值数据必须是矩形域,要求xy规则排列。griddata中x,y,v是包含分散(非均匀)样本点和数据的向量。
举个例子,现在我在野外有5×5矩阵共25个采样点,分别覆盖了经度121-125度,纬度30-34.5度之间,采样点采集的是农作物的亩产量数据。现在我有一个经度122-124度,纬度32-34度之间的20×20的矩阵,矩阵代表每个点有多少亩这种农作物,现在需要求矩阵范围内的总产量。
下面两图分别代表采样点分布和绘制的亩产量等值线图在这里插入图片描述
在这里插入图片描述

那么问题来了,25个采样点的数据实在太稀疏了,截取范围后,根本无法与20×20的矩阵点乘求总产量,那么这个时候就需要用到griddata函数了。
x,y可以看做是大的采样范围,v是每个点的属性,比如亩产量,某一污染物浓度。xq,yq是在这个采样范围内,需要截取的范围,比如我在一个省随即采了好多样本点,但我需要计算省内某块区域的值,这个时候就可以对全省采样数据插值,截取想要的区域,并可以调整xy间隔,构成新的矩阵。
当然,最关键的一点来了,如果这25个数据不构成5×5矩阵怎么办,比如我只有空间分布的21个数据?
MATLAB中griddata和griddatan插值函数简单说明

上面说到interp2的插值数据必须是矩形域,gridata可以是分散(非均匀)样本点,所以依然适用这种情况。
下面的代码是用原始经纬度、亩产量是用矩阵表示的。当原始数据不是矩形域时,可以采用Excel表的形式输入MATLAB里面进行运算。

x=[ 34.2,34,34,34,34;
    33,33.2,33,33,33;
    32,32.7,32.5,32.6,32;
    31.5,31,31,31,31;
    30,30,30,30,30];   
y=[ 121,122,123,124,125;
    121,122.1,123,124,125;
    121.3,122,123,124,125;
    121,122,123,124,125;
    121.1,122.3,123.6,124,125];
z=[ 1,2,5,3,4;
    4,2,3,5,6;
    7,5,3,6,4;
    4,2,8,6,4;
    7,4,8,6,5];
%为了便于理解,将原始数据详细写了出来
contourf(y,x,z)
figure()
xrange=34:-0.1:32;
yrange=122:0.1:124;
[Y,X] = meshgrid(yrange,xrange);%xrange、yrange可以看做是截取的范围,插值并且将其改为20*20的矩阵
M =griddata(x,y,z,X,Y);
imagesc(M)%20*20新的矩阵

二、gridatan使用

gridatan和gridata用法类似,不同的还是,gridatan可以实现更高维度的插值。
比如我选择一个湖泊,在湖泊选了几十个不同位置采样点,每一个采样点又根据水深采了不同深度的水样,计算营养盐含量。
采样点x,y,z实际上分布在三维空间中,且不均匀分布,加上营养盐含量就成了四维分散数据。这个时候想看某一经度的截面营养盐分布,gridatan就可以帮助我们实现对整个湖泊营养盐的插值,实现这一目的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141528.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月9日 下午3:00
下一篇 2022年5月9日 下午3:00


相关推荐

  • 【数学建模之Python】13.手撕抛物型方程的差分解法(如一维热传导方程)

    【数学建模之Python】13.手撕抛物型方程的差分解法(如一维热传导方程)抛物型方程的差分解法 如一维热传导方程 本人在做建模比赛 2020 年 A 题时遇到热传导方程 然后我学习并总结了用有限差分法求解此类偏微分方程 抛物型方程 的解法

    2026年3月16日
    3
  • PHP开发WebaPP教程,开发webapp 需要什么技术基础吗? html5 js css3 PHP 除了这些还需要什么?…

    PHP开发WebaPP教程,开发webapp 需要什么技术基础吗? html5 js css3 PHP 除了这些还需要什么?…开发webapp需要什么技术基础吗?或者有没有开发webapp视频教程或者资料求推荐下回复内容:开发webapp需要什么技术基础吗?或者有没有开发webapp视频教程或者资料求推荐下数据库:比如mysqlSQL语言:对数据库编程的语言web容器:比如apache,nginx你还需要了解一些项目管理工具,如maven,svn,git等另外一些基础知识,如http、https协议等话说ap…

    2022年6月19日
    28
  • 解决主页被 hao.360.cn 劫持 及 分析[通俗易懂]

    解决主页被 hao.360.cn 劫持 及 分析[通俗易懂]解决主页被hao.360.cn劫持及分析 解决办法:1.删除注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mslmedia2.重启3.删除驱动C:\WINDOWS\system32\DRIVERS\Mslmedia.sys搞定现象:打开任何浏览器,主页被hao.360.cn劫持。跳

    2022年7月26日
    30
  • linux yum下载_虚拟机配置yum源

    linux yum下载_虚拟机配置yum源文章目录一.软件包管理1.RPM包管理2.源码包二.软件的安装工具1.YUM工具2.RPM工具一.软件包管理1.RPM包管理Red Hat Package Manager包的命名规则:软件名,版本号,发行版本,系统平台(32/64),后缀是.rpm**特点:**二进制包,无需编译,可以直接使用**缺点:**无法设定个人设置,开关功能2.源码包特点:需要经过gcc等编译环境编译才能运行,可以设定个人设置,开关功能缺点:配置复杂二.软件的安装工具1.YUM工具Yellow dog Upd

    2022年8月9日
    10
  • java 逻辑运算符_java逻辑运算符都有哪些

    java 逻辑运算符_java逻辑运算符都有哪些展开全部 逻辑运算符袭包括 amp amp 2113 其中 amp amp 和 是双目运 5261 算符 实现逻辑与 4102 逻辑或 是单目运算符 实现逻辑非 1653 结果为 boolean 型的变量或表达式可以通过逻辑运算符结合成为逻辑表达式 逻辑运算符 amp amp 和 按表 2 进行逻辑运算 逻辑运算符的优先级为 运算级别最高 amp amp

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号