3

这可能是一个艰巨的任务,但这是我需要能够做的......我将获得一些在三个维度(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),它描述了该区间中的表面。这可能吗?

干杯!

4

1 回答 1

0

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

我会编写一个程序,给定一个坐标,找出它包含在哪个区间中,并返回一个函数 f(x,y),它描述了该区间中的表面。这可能吗?

是的当然!

您可以自己简单地进行数学运算(就公式而言,二元样条可能不是最漂亮的插值,但它仍然有点易于管理),或者您可以通过调用您创建get_coeffs()的来获取系数列表。SmoothBivarianteSpline这将为您提供一组表面描述的系数。我认为理解这些含义的最简单方法是将你指向源代码,所以你去吧;重要的artx和.tyc

于 2015-06-16T16:08:24.080 回答