python - 给定三个维度的散乱数据,需要在特定点对数据进行插值和求函数

标签 python math interpolation spline bspline

这可能是一项艰巨的任务,但这是我需要能够做到的……我将获得一些三维 (x,y,z) 的分散数据。最终目标是能够为表面上的每个点提供 f(x,y) 函数。例如,给定一个包含在数据凸包内的坐标 (x,y),我希望程序输出 f(x,y) = ax^3 + bx^2 + cx + dy^3 + ey ^2 +fy + g,在该点拟合插值数据的双三次函数。这引导我探索一般的双三次 B 样条和样条。

我一直在使用 spicy.interpolate 库中的 SmoothBivariateSpline 来获取插值数据,但我不知道从这里去哪里。我想一起抛出结束步骤并直接进入样条插值适合每个间隔的函数的中间步骤。所以......我会写一个程序,给定一个坐标,找出它包含在哪个区间并返回一个函数,f(x,y),它描述了该区间中的表面。这可能吗?

干杯!

最佳答案

我的第一点是,如果我理解正确的话,您实际上在两个维度(x 和 y)上有分散的数据 (z)。

I would write a program that, given a coordinate, finds out which interval it is contained in and returns a function, f(x,y), which describes the surface in that interval. Is this possible?

当然可以!

您可以简单地自己进行数学运算(双变量样条函数可能不是公式中最漂亮的插值,但它仍然在某种程度上易于管理),或者您可以通过调用 get_coeffs() 来获取系数列表。在您创建的 SmoothBivarianteSpline 上。这将为您提供一组表面描述系数。我认为理解这些含义的最简单方法是指向源代码,所以 here you go ;重要的是 txtyc

关于python - 给定三个维度的散乱数据,需要在特定点对数据进行插值和求函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30872574/

相关文章:

python - 如何用另一列中的每个值减去一个列值( Pandas )

math - 简单数学 - 计算数字的滚动窗口(啊哈!负模数/余数!!)

python - 将 3d sigmoid 拟合到数据

python - 使用嵌套 if 的替代方法

python - TensorFlow 图中的条件评估

java - 如何使用 JEval 库评估 java 中的幂、根、阶乘函数?

linux - 无法为用户将 key 添加到远程计算机

perl - 为什么Perl不支持双引号的哈希插值?

python - ModelForm 如果为空则禁用 imageField

c - 按位运算符的幂 2 的模数?