添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
力能扛鼎的冰棍  ·  [Python] curve fitting·  1 周前    · 
傻傻的野马  ·  [Python] SciPy ...·  1 周前    · 
重情义的杯子  ·  scipy.interpolate.Rbf ...·  2 周前    · 
失眠的玉米  ·  Multidimensional ...·  3 周前    · 
小胡子的大葱  ·  Props — Vue.js·  2 月前    · 
打篮球的杨桃  ·  HTML5 拖放实例-W3CAPI ...·  4 月前    · 

我在尝试scipy.interpolation.griddata帮助文件中给出的二维示例。

它适用于“最近”的插值。但它给出了一个用nan填充的矩阵,同时使用任何其他插值,如“线性”或“立方”。如果我给参数fill_value=5,它会给矩阵填充5。

这是因为安装问题吗?

我试着和他们在帮助文档中给出的完全一样。

但不知何故,它给出的结果就好像我要求插值的点位于输入点之外。(这不是!!我效仿了这个例子)

我将发布这个示例以重现错误(格式为doc)def func(x, y):

return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2

grid_x, grid_y = np.mgrid[0:1:10j, 0:1:10j]

points = np.random.rand(100, 2)

values = func(points[:,0], points[:,1])

from scipy.interpolate import griddata

grid_z0 = griddata(points, values, (grid_x, grid_y), method='nearest')

grid_z1 = griddata(points, values, (grid_x, grid_y), method='linear')

grid_z2 = griddata(points, values, (grid_x, grid_y), method='cubic')

我把网格z1和网格z2变成一个填充nan的矩阵。

更新:我在另一台Ubuntu11.10机器上安装了所有软件包。同样的剧本给出了完全正确的答案。以前我试过Porteus发行版(live slackware family)。因此,我想我可以安全地得出结论,这是我的安装中的一些问题。有人知道会出什么事吗?库冲突会导致这种行为吗?因为我的主要机器是Portues,所以我别无选择,只能修理里面的机器。

我在尝试scipy.interpolation.griddata帮助文件中给出的二维示例。它适用于“最近”的插值。但它给出了一个用nan填充的矩阵,同时使用任何其他插值,如“线性”或“立方”。如果我给参数fill_value=5,它会给矩阵填充5。这是因为安装问题吗?我试着和他们在帮助文档中给出的完全一样。但不知何故,它给出的结果就好像我要求插值的点位于输入点之外。(这不是!!我效仿了这个例子)我...
该算法的灵感来自于 John D'Errico 的工作https://www.mathworks.com/matlabcentral/fileexchange/4551-inpaint_ nan s 但是,我确实注意到,与 griddata 相比,John D'Ericco 给 的 inpaint_ nan s 算法提供了更高的梯度。 因此,该算法提供了另一种解决方案,有些人可能会觉得它很有帮助。
MATLAB griddata griddata n 函数简单说明 本文会用容易理解的话解释下 griddata griddata n的用法,不会追求严谨,目的是抛砖引玉,帮助需要用到这两个 函数的同学尽快理解使用。 一、 griddata 函数是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyp
在数学建模建立方格状态地图 ,使用 scipy .interpolate. griddata () 法遇到了一些问题,经过查阅官方文档和其他的一些博文,发现解释的不是很好,所以来补充补充 1、matlab的 griddata ()与 python scipy .interpolate. griddata ()使用方法不同导致的报错 2、切片的时候,保存有原来数据的行索引导致的报错 3、数组的shape为(2, N)导致的报错 官方文档解释 链接:http:// scipy .github.io/devdocs/ref
1. scipy .interpolate SciPy 的interpolate模块提供了许多对数据进行 运算的函数,范围涵盖简单的一维 到复杂多维 求解。 一维 :当样本数据变化归因于一个独立的变量时; 多维 :反之样本数据归因于多个独立变量时。 注:一维 这里就不再讲述了,主要是对二维 的一个总结。 2.interp2d() from scipy .interpolate import interp2d interp2d(x,y,z,kind='linear') 这里有几个注意事项:
通常来说,一维 有很多方法,也比较容易实现。 griddata ()函数则是可以方便实现二维 。 例:图 有9个网格点,横坐标为a,纵坐标为b,蓝色的数字是这个点的函数 。 (不好意思,例子比较简单,我直接手画了) 由于整个网格由离散点组成,当我们想知道 (1.5, 1.5) 或者 (2.5, 2.5) 的坐标 的时候,是无法直接获取的,只能通过二维的 来得到,如下图。 这个时候就可以采用 griddata ()函数,代码如下: import numpy as np from scipy .
当你有一组二维数据点 (x,y) 和相应的 z,你可能需要在网格上进行 以获得平滑的二维函数。这种情况下,可以使用 Scipy 的 ` griddata ` 函数。 下面是一个简单的示例,演示如何使用 ` griddata ` 在网格上进行 : ``` python import numpy as np from scipy .interpolate import griddata import matplotlib.pyplot as plt # 创建一些测试数据 points = np.random.rand(20, 2) values = np.sin(3 * points[:, 0]) * np.cos(2 * points[:, 1]) # 定义网格范围 grid_x, grid_y = np.mgrid[0:1:100j, 0:1:100j] # 使用 griddata 进行 grid_z0 = griddata (points, values, (grid_x, grid_y), method='nearest') grid_z1 = griddata (points, values, (grid_x, grid_y), method='linear') grid_z2 = griddata (points, values, (grid_x, grid_y), method='cubic') # 绘制图形 fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(8, 8)) axs[0, 0].scatter(points[:, 0], points[:, 1], c=values) axs[0, 0].set_title('Scatter plot') axs[0, 1].imshow(grid_z0.T, extent=(0, 1, 0, 1), origin='lower') axs[0, 1].set_title('Nearest') axs[1, 0].imshow(grid_z1.T, extent=(0, 1, 0, 1), origin='lower') axs[1, 0].set_title('Linear') axs[1, 1].imshow(grid_z2.T, extent=(0, 1, 0, 1), origin='lower') axs[1, 1].set_title('Cubic') plt.tight_layout() plt.show() 这个示例会生成一个 2x2 的子图表格,每个子图都显示了 方法的不同结果。