Я новый пользователь python.У меня есть данные трехмерной регулярной сетки в формате h5.Я могу интерполировать (трилинейную интерполяцию) мои данные с помощью RegularGridInterpolator.Но я не знаю, как взять производную от моей интерполированной функции.
(Моя проблема похожа на Как получить специальную производную от интерполированной функции , но там, похоже, не было правильного решения, поэтому я решил спросить еще раз.)
На самом деле, я пытаюсь использовать тот же код этого вопроса ( Как получить специальную производную от интерполированной функции ) для моего файла h5.Мой файл h5 можно скачать по этой ссылке (https://drive.google.com/open?id=1cpnZBGDgbijAH0kJchcecTM5lKasiflp).
Ожидается помощь экспертов.
Мой код:
import numpy as np
import h5py
import matplotlib.pyplot as plt
from scipy.interpolate import RegularGridInterpolator
f = h5py.File('k.h5', 'r')
list(f.keys())
dset = f[u'data']
dset.shape
dset.value.shape
dset[0:64,0:64,0:64]
x = np.linspace(-160, 160, 64)
y = np.linspace(-160, 160, 64)
z = np.linspace(-160, 160, 64)
my_interpolating_function = RegularGridInterpolator((x, y, z), dset.value)
pts = np.array([4.5, 15.3, 18.8])
my_interpolating_function(pts)