scipy.interpolate.griddata和scipy.interpolate.Rbf之间的区别 - python

Scipy函数griddata和Rbf均可用于插值随机分散的n维数据。
它们之间有什么区别?其中之一在准确性或性能方面是否优越?

IMO,这不是this question的副本,因为我不是在问如何执行插值,而是两种特定方法之间的技术区别是什么。

参考方案

griddata基于提供的点的Delaunay triangulation。然后将数据插值到每个像元(三角形)上。例如,对于2D函数和线性插值,三角形内部的值是经过三个相邻点的平面。

rbf通过为每个提供的点分配一个径向函数来工作。 “径向”表示该功能仅取决于到该点的距离。任何点的值都是通过所有提供的点的加权贡献之和得出的。只要可以定义距离函数,该方法就不管变量空间的大小都适用。

scipy.interpolate.griddata和scipy.interpolate.Rbf之间的区别 - python

该图是基于高斯插值的示例,其中只有两个数据点(黑点)处于1D模式。两个高斯曲线(虚线)是所使用的基本函数。插值函数(红色实线)是这两条曲线的总和。每个点的权重由线性方程组内部确定,并且高斯函数的宽度用作点之间的平均距离。

这是生成图形的代码:

import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

from scipy.interpolate import Rbf

x, y = [0, 1], [1, 2]

x_fine = np.linspace(-1, 2, 71)

interp_fun = Rbf(x, y, function='gaussian')

y_fine = interp_fun(x_fine)

for x0, weight in zip( x, interp_fun.nodes ):
    plt.plot(x_fine, weight*interp_fun._function(x_fine-x0), '--k', alpha=.7)

plt.plot(x_fine, y_fine, 'r', label='RFB Gaussian')
plt.plot(x, y, 'ok');
plt.xlabel('x'); plt.ylabel('y'); plt.legend();

如何用边界条件求解微分方程,其中之一是使用python的不等式 - python

可以设置psi(z> L)<eps?我有一个系统:dD/dz = .... dPsi/dz = .... 和边界条件:D(0) = 1,6*Pi Psi(z>L) < eps 我读到有关scipy.integrate.solve_bvp和odeint的信息,但所有示例都具有如下边界条件:y(0) = y(1) = 0有谁知道如何设置这…

scipy interp1d中的错误 - python

我不了解interp1d报告的结果。我收到NAN,我应该收到号码。In [131]: bb Out[131]: array([ 0. , 1.80286595, 1.87443683, 2.70410611, 3.02764722, 3.11305985, 3.11534355, 3.18695351, 3.20693444]) In [132]: alph…

Scipy从文本文件构造网络图 - python

我有以下表示文本文件中图形的数据: a,b,1 a,c,2 b,c,1 etc.. 我需要使用SciPy建立此图的矩阵表示。现在,我阅读了字典中的所有内容:graph = { "a" : [("b",1), ("c",2)], "b" : [("b",1)] …

为一维优化问题指定边界SciPy - python

我有一个需要优化的一维函数。我的初始值为20,界限为(0,50)x0=[20]bounds=(0,50)sol1=minimize(f,x0,method="SLSQP",bounds=bounds)但是,这会产生IndexError。SLSQP Error: the length of bounds is not compatible …

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…