7

有人知道 JavaScript 的微积分库吗?我做了一些谷歌搜索并没有想出任何东西。我申请了 WolframAlpha API,但除非他们选择给我拨款,否则这很昂贵。

理想情况下,我可以将一个二维点数组输入一个函数,并取回导数点的图形(数组)。

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

4

1 回答 1

7

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

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

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

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

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

更新:我误解了你的问题。我认为二维数组是一个域值数组。如果您有xf(x)值的列表,则可以近似f'(x)(f(x+h) - f(x-h)) / 2h。这将适用于任何地方,除了其中一个术语超出范围的第一个和最后一个点。您可以(f(x + h) - f(x))/h在左端和(f(x) - f(x-h))/h右端使用。近似值在端点处会不太准确,但这是无法避免的。

于 2010-07-02T01:42:56.613 回答