草庐IT

Interpolation

全部标签

python - 使用径向基函数在球体上插值函数

首先,一些背景知识:我使用球谐函数作为球体表面的函数示例,例如本图中的前球体:我制作了其中一个球体,根据其表面各点的调和函数值着色。我首先对大量点执行此操作,因此我的函数非常准确。我将其称为我的fine球体。现在我有了我的fine球体,我在球体上取了相对较少的点。这些是我希望从训练数据中进行插值的点,我称它们为interp点。这是我的interp点,根据它们的值着色,绘制在我的fine球体上。现在,该项目的目标是使用这些interp点来训练SciPyRadialBasisFunction在球体上插入我的函数。我能够使用以下方法做到这一点:#Traintheinterpolationus

python - python中的有界圆插值

我的问题类似于问题here.简单来说,我有一个时间序列角度数据,它在[0,360]之间。我需要计算测量之间的迭代。目前,我正在使用scipy.interpolate.interp1d.为了使我的问题清楚,这里有一个例子,importnumpyasnpfromscipyimportinterpolatedata=np.array([[0,2,4],[1,359,1]])#firstrowtimeindex,secondrowanglemeasurementsf=interpolate.interp1d(data[0,:],data[1,:],kind='linear',bounds_er

python - 求三次 B 样条的长度

使用scipy的interpolate.splprep函数在参数u上得到参数样条,但是u的定义域不是spline,它是输入坐标的分段线性连接。我试过integrate.splint,但这只是给出了u上的单个积分。显然,我可以对一堆笛卡尔微分距离进行数值积分,但我想知道是否有闭合形式的方法来获取我忽略的样条曲线或样条曲线段的长度(使用scipy或numpy)。编辑:我正在寻找一种封闭形式的解决方案或一种非常快速的方法来收敛到机器精度的答案。我几乎放弃了数值求根方法,现在主要是在寻找一个封闭形式的答案。如果有人有任何集成椭圆函数的经验或能给我指出一个好的资源(Wolfram除外),那就太好

python - 从 4 个角颜色插值的二维颜色渐变(256x256 矩阵)

我想要实现的是以编程方式创建一个由256x256颜色值矩阵表示的二维色带。可以在附图中看到预期的结果。我的起点是矩阵的4个角颜色,应从中插入其间剩余的254种颜色。虽然我在为一个轴插值颜色方面取得了一些成功,但二维计算让我有些头疼。虽然图像似乎具有非线性颜色渐变,但我对线性渐变很满意。如果您能给我一些提示,说明如何使用numpy或其他工具执行此操作,我将不胜感激。 最佳答案 这是一个使用zoomfunction的超短解决方案来自scipy.ndimage。我用初始颜色(此处为随机颜色)定义了一个2x2RGB图像,并将其简单地缩放到2

python - 使用 NumPy/SciPy 的向量值函数插值

有没有办法使用NumPy对向量值函数进行插值?/SciPy?有很多针对标量值函数的产品,我想我可以使用其中之一来分别估计向量的每个分量,但有没有更有效的方法?具体来说,我有一个函数f(x)=V,其中x是标量,V是向量。我还有一个xs及其对应的Vs的集合。我想用它来插入和估计任意x的V。 最佳答案 插值函数scipy.interpolate.interp1d也适用于插值的向量值数据(尽管不适用于向量值参数数据)。因此,只要x是标量,就可以直接使用。以下代码是对thescipydocumentation中给出的示例的轻微扩展:>>>fr

python - For 循环似乎比 NumPy/SciPy 3D 插值更快

我对NumPy/SciPy插值方法感到困惑。我使用LinearNDInterpolator实现了3D线性插值,但我发现它非常慢。然后我用纯Python写了一个强力三重for循环方法,令人惊讶的是它给了我1000倍的加速。我也试了一下Numba包,但结果并没有更快。根据我在互联网上找到的任何来源,与NumPy/SciPy和Numba相比,Python循环应该超慢。但这不是我所看到的。我发布了我运行的整个源代码。我在我的机器上得到了这些时间:Numpyready:3.94499993324s,result[0]=0.480961746817Pythonforloop...Pythonrea

python - SciPy interp1d 结果不同于 MatLab interp1

我正在将MatLab程序转换为Python,但我无法理解为什么scipy.interpolate.interp1d给出的结果与MatLabinterp1不同。在MatLab中,用法略有不同:yi=interp1(x,Y,xi,'cubic')科学:f=interp1d(x,Y,kind='cubic')yi=f(xi)对于一个简单的例子,结果是一样的:数学实验室:interp1([01234],[01234],[1.52.53.5],'cubic')1.50002.50003.5000python:interp1d([1,2,3,4],[1,2,3,4],kind='cubic')([

python - 为什么使用多个参数来记录而不是插值?

Python的日志记录函数允许您向它们传递多个参数,它们可以为您插入这些参数。所以你有一个选择:logger.info("Something%sthiswaycomes!"%"wicked")或logger.info("Something%sthiswaycomes!","wicked")但为什么要选择一个而不是另一个呢?这仅仅是让错误发生在记录器中而不是发生在正在记录的程序中的问题,还是有其他原因? 最佳答案 这是一个性能问题:当您在代码中进行插值时,每次调用记录器时都会执行此代码(如果记录器或日志级别未激活,则为事件)当您让记录

python - 使用 SciPy 规则网格在 Python 中进行快速二维插值以进行分散/不规则评估

我有一个规则的训练值网格(向量x和y分别有网格xmesh和ymesh以及已知的zmesh值)但是要插值的一组分散/参差不齐/不规则的值(向量xI和yI,我们在哪里对zI[0]=f(xI[0],yI[0])...zI[N-1]=f(xI[N-1],yI[N-1])感兴趣。此插值将是作为优化问题的一部分被调用了数百万次,因此性能太重要了,不能简单地使用制作网格和跟踪的方法。到目前为止,我已经能够找到一个接近我想要的scipy.interpolate函数,即Bpf函数。然而,因为它是一个分散的输入,我假设它没有很好的性能,我想用我更了解的样条、线性和最近邻插值方法来测试它,我希望它会更快。我

python - matplotlib `imshow(interpolation=' nearest')` 做什么?

我在灰度图像上使用imshow函数和interpolation='nearest'并得到一张漂亮的彩色图片,看起来它做了某种颜色分割对我来说,那里到底发生了什么?我也想获得类似这样的图像处理功能,numpy数组上是否有一些函数,例如interpolate('nearest')?编辑:如果我错了,请纠正我,它看起来像是简单的像素聚类(聚类是相应颜色图的颜色)并且“最近”一词表示它采用最近的colormap颜色(可能在RGB空间中)来决定像素属于哪个簇。 最佳答案 interpolation='nearest'如果显示分辨率与图像分辨率