首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何求三线性插值函数的导数?

如何求三线性插值函数的导数?
EN

Stack Overflow用户
提问于 2019-02-04 08:38:03
回答 1查看 278关注 0票数 0

我是python的新用户。我有一个3D规则网格数据作为h5文件格式。我可以使用RegularGridInterpolator对我的数据进行插值(三线性插值)。但是,我不知道如何从我的插值函数中求导数。

(我的问题与How to get special derivative from an interpolated function类似,但似乎没有合适的解决方案,所以我想我应该再问一遍。)

实际上,我正在尝试对我的h5文件使用与这个问题相同的代码(How to get special derivative from an interpolated function)。我的h5文件可以从这个链接(https://drive.google.com/open?id=1cpnZBGDgbijAH0kJchcecTM5lKasiflp)下载。

期待专家的好意帮助。

我的代码:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2019-02-04 09:09:57

调用插值函数f(x,y,z),如果你想在(x,y,z)找到偏层df/dx,它就是f(floor(x+1),y,z) - f(floor(x),y,z)。导数并没有真正定义为x的整数值,因为它在这些点处发生变化。

这假设栅格具有单位间距。

沿着其他轴的偏导也是相似的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54509004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档