この 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()