相关疑难解决方法(0)

python中的3D样条插值

我正在搜索等效的 Matlab 命令

Vq = interp3(X,Y,Z,V,Xq,Yq,Zq)

在 Python 中。在 Matlab 中,我可以使用“样条”插值方法,而在 Python 中找不到 3D 数据。存在 scipy.interpolate.griddata,但它没有 3D 数据的样条选项。

我想要插值的数据是一个 3D 矩阵 (51x51x51),它有规律地分布在 3D 网格上。

scipy.interpolate.Rbf 可能是选项,但我没有得到它的工作:

xi = yi = zi = np.linspace(1, 132651, 132651) interp = scipy.interpolate.Rbf(xi, yi, zi, data, function='cubic')

导致内存错误。

编辑:我想要的最小示例(无插值):Matlab 代码

v=rand([51,51,51]);
isosurface (v, 0.3);
Run Code Online (Sandbox Code Playgroud)

为简单起见,我在本例中使用随机数据。我想制作等值面图(特别是费米面图)。由于某些结构非常小,因此需要 51x51x51 的高网格分辨率。

进一步评论:矩阵中的数据集彼此独立,z(或第三个分量)不是 x 和 y 的函数。

python interpolation cubic-spline

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

cubic-spline ×1

interpolation ×1

python ×1