如何采取派生三线性插值功能?

问题描述 投票:0回答:1

我是蟒蛇的新用户。我有一个三维规则网格数据作为H5文件格式。我可以能够通过使用RegularGridInterpolator插值(三线性插值),我的数据。但是,我不知道如何从我插补功能的衍生物。

(我的问题是类似How to get special derivative from an interpolated function但似乎一直没有妥善的解决办法在那里,所以我想我会再问。)

其实,我想利用这个问题(How to get special derivative from an interpolated function)的同一代码为我的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)
python numpy scipy interpolation hdf5
1个回答
0
投票

调用插入函数f(X,Y,Z),如果你想找到部分DF / DX在(X,Y,Z),它只是F(地板(x + 1),Y,Z) - F(地板(x)中,Y,Z)。的衍生物是不是真的对于x的整数值定义,因为它在那些点变化。

这是假定与单元间距的网格。

沿着其它轴的谐音是类似的。

© www.soinside.com 2019 - 2024. All rights reserved.