代码之家  ›  专栏  ›  技术社区  ›  Zack Burt

有JavaScript的微积分库吗?[关闭]

  •  6
  • Zack Burt  · 技术社区  · 16 年前

    有人知道JavaScript的微积分库吗?我做了些谷歌搜索,什么都没想到。我申请了Wolframalpha API,但是如果他们不给我补助的话,那就太贵了。

    理想情况下,我可以将一个二维点数组输入到一个函数中,然后返回导数的点图(数组)。

    如果这样的库不存在,我将创建一个来共享。

    1 回复  |  直到 10 年前
        1
  •  5
  •   spacegeek224    10 年前

    既然你说你有一个二维的点数组,我假设你有一个两个变量的函数 f(x, y) . 这意味着你没有一个导数。相反,你得到一组偏导数。

    你可以用有限差分公式来近似偏导数。

    关于的偏导数 x f(x,y) 将是 (f(x+h, y) - f(x-h, y))/2h .

    关于的偏导数 y f(x,y) 将是 (f(x, y+h) - f(x, y-h))/2h .

    在这些公式中, h 是网格上节点之间的空间,假设您有一个规则的网格。如果水平间距和垂直间距不同,请使用相对于 X 以及部分相对于 Y .

    更新 :我误解了你的问题。我认为二维数组是一个域值数组。如果你有 X f(x) 值,可以近似 f'(x) 作为 (f(x+h) - f(x-h)) / 2h . 这在任何地方都有效,除了第一个和最后一个条件超出范围的点。你可以使用 (f(x + h) - f(x))/h 在左端和 (f(x) - f(x-h))/h 在右端。在终点处的近似值将不太准确,但这是不可避免的。