Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从一个不规则网格到另一个不规则间距网格的Scipy数据插值

从一个不规则网格到另一个不规则间距网格的Scipy数据插值
EN

Stack Overflow用户
提问于 2011-08-05 15:39:05
回答 1查看 1.7K关注 0票数 3

我正在为两个网格之间的插值而苦苦挣扎,我无法为我的问题找到合适的解决方案。

我有两个不同的2D网格,其中的节点点由它们的X和Y坐标定义。网格本身不是矩形的,而是大致形成一个平行四边形(因此,(i,j)的X坐标与(i,j+1)的X坐标不同,(i,j)的Y坐标与(i+1,j)的Y坐标不同。这两个网格都有37*5的形状,它们几乎完全重叠。

对于第一个网格,我有每个点的X坐标,Y坐标和压力值。现在我想在第二个网格上插值第一个网格的压力分布(每个点的X和Y也是已知的)。

我尝试了不同的插值方法,但由于网格点的不规则分布,我的最终结果从来都不正确。作为interp2d或griddata的函数需要一维数组作为输入,但如果我这样做,插值的解决方案是错误的(即使我在原始网格上再次插值来自原始网格的压力值,新的压力值也与原始值相差数英里。

对于不同不规则网格上的一维插值,我使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def interpolate(X, Y, xNew):
    if xNew<X[0]:
        print 'Interp Warning :', xNew,'is under the interval [',X[0],',',X[-1],']'
        yNew = Y[0]
    elif  xNew>X[-1]:
        print 'Interp Warning :', xNew,'is above the interval [',X[0],',',X[-1],']'
        yNew = Y[-1]
    elif xNew == X[-1] : yNew = Y[-1]
    else:
        ind = numpy.argmax(numpy.bitwise_and(X[:-1]<=xNew,X[1:]>xNew))
        yNew = Y[ind] + ((xNew-X[ind])/(X[ind+1]-X[ind]))*(Y[ind+1]-Y[ind])

    return yNew

但对于2D,我认为网格数据会更容易使用。有没有人有插值的经验,我的输入是网格和数据的二维数组?

EN

回答 1

Stack Overflow用户

发布于 2012-07-08 14:36:45

再看一看interp2d。http://docs.scipy.org/scipy/docs/scipy.interpolate.interpolate.interp2d/#scipy-interpolate-interp2d

请注意“参数”下“x,y”部分中的第二个示例。“x”和“y”是松散意义上的一维,但它们可以是扁平化的数组。

应该是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f = scipy.interpolate.interp2d([0.25, 0.5, 0.27, 0.58], [0.4, 0.8, 0.42,0.83], [3, 4, 5, 6])

znew = f(.25,.4)

print znew
[ 3.]

znew = f(.26,.41)   # midway between (0.25,0.4,3) and (0.27,0.42,5)

print znew
[ 4.01945345]     # Should be 4 - close enough?

我本以为可以将扁平化的'xnew‘和'ynew’数组传递给'f()‘,但我无法让它工作。不过,'f()‘函数将接受行和列的语法,这对您没有什么用处。由于'f()‘的这个限制,你必须将'znew’作为循环的一部分来计算--可能应该看看nditer。当'(xnew,ynew)‘在'(x,y)’域外时,还要确保它能做你想做的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6958931

复制
相关文章
比较规则网格上插值不规则数据的等高线图。
import matplotlib.pyplot as plt import matplotlib.tri as tri import numpy as np np.random.seed(19680801) npts = 200 ngridx = 100 ngridy = 200 x = np.random.uniform(-2, 2, npts) y = np.random.uniform(-2, 2, npts) z = x * np.exp(-x**2 - y**2) fig, (ax1, a
裴来凡
2022/05/28
5030
比较规则网格上插值不规则数据的等高线图。
网格气象场插值-NCL版
通常所说的regridding/remaping/interpolation都是将不同网格的数据映射到新的网格。
bugsuse
2020/04/21
6K0
网格气象场插值-NCL版
Basemap工具函数(4)
Tissot 指示图或 Tissot 歪曲椭圆是在地图上显示圆,展示了这些圆是如何适应投影的(即,在不同的位置出现了球面相同的曲率)。通常,不同的位置会出现不同的扭曲度。
bugsuse
2020/04/21
1.5K0
Basemap工具函数(4)
【数据网格】应用数据网格
逐步从单一数据湖转移到分散的 21 世纪数据网格。 (另请查看后续文章:三种数据网格)
架构师研究会
2022/09/26
1.4K0
【数据网格】应用数据网格
Scipy和Numpy的插值对比
插值法在图像处理和信号处理、科学计算等领域中是非常常用的一项技术。不同的插值函数,可以根据给定的数据点构造出来一系列的分段函数。这一点有别于函数拟合,函数拟合一般是指用一个给定形式的连续函数,来使得给定的离散数据点距离函数曲线的总垂直距离最短,不一定会经过所有的函数点。比如在二维坐标系内,用一条直线去拟合一个平面三角形所对应的三个顶点,那么至少有一个顶点是不会落在拟合出来的直线上的。而根据插值法所得到的结果,一定是经过所有给定的离散点的。本文针对scipy和numpy这两个python库的插值算法接口,来看下两者的不同实现方案。
DechinPhy
2022/05/09
3.6K0
Scipy和Numpy的插值对比
使用griddata进行均匀网格和离散点之间的相互插值
插值操作非常常见,数学思想也很好理解。常见的一维插值很容易实现,相对来说,要实现较快的二维插值,比较难以实现。这里就建议直接使用scipy 的griddata函数。
全栈程序员站长
2022/08/31
2.5K0
不规则图形背景排版高阶技巧 -- 酷炫的六边形网格背景图
首先,看到这样一个图形,如果想要使用一个标签完成整个背景,最先想到的肯定是使用背景 background 实现,不过可惜的是,尽管 CSS 中的 background 非常之强大,但是没有特别好的方式让它足以批量生成重复的六边形背景。
Sb_Coco
2022/12/29
9400
不规则图形背景排版高阶技巧 -- 酷炫的六边形网格背景图
R不规则数据长变宽
我看了看,大概是提问的小伙伴自己没搞清楚自己想要什么,他自己给出来了一个非常丑陋的解决方案, 他实现如下:
生信技能树
2023/02/27
5970
R不规则数据长变宽
谁能驾驭马赛克?微软AI打码手艺 VS 谷歌AI解码绝活儿
上个月底,微软研究院推出一套基于AI 技术的视频人脸模糊解决方案,通俗讲就是为人脸自动打码。而在今日,谷歌发布了模糊图片转高清图片的解决方案,说白了就是去除马赛克的技术。 你说谷歌,人家微软刚整出一套自动打码手艺,你就来个自动解码绝活。不少人有个疑问,那么谷歌是否能解除微软打的马赛克,上演一番科技版“用我的矛戳你的洞”?我们先来看下双方的技术原理是怎么样。 一、微软自动打码手艺 根据微软亚洲研究院副研究员谢文轩介绍,操作这套解决方案,用户只需在后台用鼠标选择想要打码的人物,相应人物在视频中的所有露脸区域
AI科技评论
2018/03/09
2.3K0
谁能驾驭马赛克?微软AI打码手艺 VS 谷歌AI解码绝活儿
图像不规则填充
算法:图像不规则填充是除了可以绘制多边形和多个多边形,还可以使用多个边来近似的画一条曲线等不规则的图像。如果图像多边形填充部分或全部位于图像外部,则将对其进行裁剪,还可以处理以亚像素精度指定的像素坐标,意味着可以将坐标作为编码为整数的定点数传递。
裴来凡
2022/05/28
6460
图像不规则填充
Basemap工具函数(2)
对于创建平滑图形或使用 barbs 或 quiver 绘图时非常有用。当使用 maskoceans 函数时也非常有用。
bugsuse
2020/04/21
1.7K0
Basemap工具函数(2)
【数据网格】数据网格 101:入门所需的一切
您的公司想要构建数据网格。伟大的!怎么办?这是一个快速入门指南,可帮助您入门 - 并防止您的数据基础设施变成热网格。
架构师研究会
2022/07/29
5180
【数据网格】数据网格 101:入门所需的一切
【数据网格架构】什么是数据网格——以及如何不将其网格化
Image Courtesy of Ronan Furuta on Unsplash.
架构师研究会
2022/09/26
8610
【数据网格架构】什么是数据网格——以及如何不将其网格化
iOS 不规则的ImageView「建议收藏」
1.使用layer去实现, 见http://blog.csdn.net/johnzhjfly/article/details/39993345
全栈程序员站长
2022/07/08
8640
iOS 不规则的ImageView「建议收藏」
CVPR 2022 Oral | 从图形学顶会到视觉顶会:一份改良何恺明早期工作的图像拼接矩形化新基准
https://github.com/nie-lang/DeepRectangling
Amusi
2022/04/18
9870
CVPR 2022 Oral | 从图形学顶会到视觉顶会:一份改良何恺明早期工作的图像拼接矩形化新基准
从STL文件到网格拓扑
STL文件是网格文件的一种格式,分为二进制和文本两种类型。具体来讲,它定义了一群三角面片,比如下面是一个文本的STL示例:
NT4.4
2019/10/25
9920
从STL文件到网格拓扑
Android的RecyclerView不规则Grid显示
前面我们有介绍RecyclerView的使用,详见《Android中RecyclerView嵌套RecyclerView》,这一篇我们来讲讲RecyclerView的不规则Grid显示。
Vaccae
2019/07/25
2.6K0
不规则图形的碰撞检测
public static class CheckHit { public static bool CheckCollision(FrameworkElement control1, FrameworkElement controlElem1, FrameworkElement control2, FrameworkElement controlElem2) { // first see if sprite rectangles collide Rect re
用户1172164
2018/01/16
1.1K0
【数据架构】数据网格解释
本文/报告的目的是根据 Zhamak Dehghani 在即将举行的 Datanova — 数据网格峰会之前关于 Martin Fowler 的前两篇文章,分享和解释我对数据网格的理解。许多句子直接取自扎马克的文章。
架构师研究会
2022/06/08
6500
【数据架构】数据网格解释
点击加载更多

相似问题

不规则网格到规则网格的插值

12

不规则网格插值规则网格

12

不规则网格到规则网格的插补

14

不规则网格上的插值

19

不规则网格上的插值

63
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文