使用scipy.interpolate.Rbf内插3D规则网格数据

时间:2019-05-23 04:21:13

标签: scipy interpolation hdf5 polynomials cubic-spline

此h5文件包含有关常规3D网格的分析功能的信息。出于插值目的,在这里使用Regulargridinterpolator的结果非常差。现在,我想为我的数据集测试scipy.interpolate.Rbf插值器。谁能帮我做到这一点?我看了一下该插值器的文档,但并没有正确理解。

我已经创建了这样的h5文件:

import numpy as np
from numpy import gradient
import h5py
from scipy.interpolate import Rbf

def f(x,y,z):
    return ( -1 / np.sqrt(x**2 + y**2 + z**2))

#grid
x = np.linspace(0, 100, 32)  # since the boxsize is 320 Mpc/h
y = np.linspace(0, 100, 32)
z = np.linspace(0, 100, 32)


mesh_data = phi_an(*np.meshgrid(x, y, z, indexing='ij', sparse=True))


#create h5 file
h5file = h5py.File('analytic.h5', 'w')
h5file.create_dataset('/x', data=x)
h5file.create_dataset('/y', data=y)
h5file.create_dataset('/z', data=z)
h5file.create_dataset('/mesh_data', data=mesh_data)

h5file.close()

0 个答案:

没有答案