Какая интерполяция обеспечивает лучший результат для трехмерных регулярных данных сетки - PullRequest
0 голосов
/ 17 мая 2019

Я создал файл h5 аналитической функции на обычном скелете. Теперь, читая этот файл h5, я хочу сделать интерполяцию. Мой набор данных - это трехмерная регулярная сетка, и я использовал здесь Regulargridinterpolator, но проблема в том, что у меня очень плохой результат для этого интерполятора. Теперь я хочу протестировать свой код с помощью сплайна или другого интерполятора, но не знаю, какой интерполятор может обеспечить лучший результат для данных трехмерной регулярной сетки и как это сделать. Ожидается предложение эксперта.

Это код того, как я создал свой файл h5:

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


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('function.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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...