python - python中数组的导数?

标签 python arrays numpy derivative

目前我有两个 numpy 数组:相同大小的 xy

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

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

其中 result 是一个与 x 大小相同的 numpy 数组,包含 的第 n 个导数的值y 关于 x(我希望使用 y 的多个值来评估导数以避免非平滑结果)。

最佳答案

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

维基百科也有一个页面列出了所需的 finite differencing coefficients对于不同精度的不同导数。如果 numpy 函数没有执行您想要的操作。

根据您的应用,您还可以使用 scipy.fftpack.diff它使用 completely different technique做同样的事情。尽管您的函数需要定义明确的傅里叶变换。

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

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

关于python - python中数组的导数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044096/

相关文章:

python - numpy:对操作结果执行 "any"或 "all"的有效方法

python - 在解析 XML 文件时,有没有办法使用 lxml.etree 跳过第一个条目或在特定子项处开始迭代?

python - 带约束的简单线性回归

python - 在 PyTorch 的特定索引上将一个张量合并到另一个张量中

C无法从函数中读取字符串数组

python - 我可以向量化这个二维数组索引,其中第二维取决于第一维的值吗?

python - 将指针传递给 Cython 中的构造函数

java - 读取二维数组并转置

python - python for循环同时迭代文件和数组

python - 使用 numpy、openCV 和 python 自定义灰度图像