【问题标题】:Higher order finite differences in numpynumpy中的高阶有限差分
【发布时间】:2018-04-07 00:55:01
【问题描述】:

我在 2D 和 3D numpy 数组上采样了函数,我需要一种从这些数组中获取偏导数的方法。我可以手动编码有限差分方案,但我需要的不仅仅是二阶精度,可能是四阶甚至六阶。随着更高精度的订单编码,手动编码很快变得乏味,特别是因为我需要它来处理不同维度的数组。

numpy 或 scipy 或其他包中是否有功能可以方便地实现

【问题讨论】:

  • 您在寻找numpy.diff吗?
  • 你看过这个SO吗?它有一个非常好的讨论和一个解决方案——这可能就是你要找的?
  • 不,可能不是numpy.diff。在搜索了有关有限差分的信息后,我不确定准确度命令是如何工作的,但我很确定 numpy.diff 不支持它们。
  • @Hamza:是的,已经看到了,这是一个很好的解决方案,但使用该解决方案我将不得不手动挖掘并插入权重。

标签: python numpy


【解决方案1】:

您可能想查看findiff 包。它让您可以方便地获取任何维度、任何导数顺序和任何所需精度顺序的 numpy 数组的导数。该项目网站说它具有:

  • 沿任意轴区分任意维数的数组
  • 任意阶的偏导数
  • 矢量演算中的标准运算符,如梯度、散度和旋度
  • 可以处理均匀和不均匀的网格
  • 可以处理具有恒定和可变系数的导数的任意线性组合
  • 可以指定精度顺序
  • 完全矢量化以提高速度
  • 为均匀和非均匀网格计算任意阶和精度的原始有限差分系数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 2016-03-25
    • 2021-11-06
    • 1970-01-01
    • 2015-08-29
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多