python 中数组的导数?

2023-11-21

目前我有两个 numpy 数组:x and y大小相同。

我想编写一个函数(可能调用 numpy/scipy... 函数,如果存在的话):

def derivative(x, y, n = 1):
    # something
    return result

where result是一个大小相同的 numpy 数组x并包含的值n的 阶导数y关于x(我希望使用以下几个值来评估导数y以避免不平滑的结果)。


这不是一个简单的问题,但是已经设计了很多方法来处理它。一种简单的解决方案是使用有限差分方法。命令numpy.diff()使用有限差分,您可以在其中指定导数的阶数。

维基百科还有一个页面列出了所需的有限差分系数对于不同精度的不同导数。如果 numpy 函数没有达到您想要的效果。

根据您的应用程序,您还可以使用scipy.fftpack.diff它使用一个完全不同的技术做同样的事情。尽管您的函数需要明确定义的傅立叶变换。

有很多很多变体(例如分部分求和,有限差分运算符,或旨在保留方程组中已知演化常数的运算符)对上述两个想法。你应该做什么很大程度上取决于你想要解决的问题是什么。

好消息是,在这个领域已经做了很多工作。维基百科页面为数值微分有一些资源(尽管它专注于有限差分技术)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中数组的导数? 的相关文章

随机推荐