1

经过痛苦的反复试验,我得到了一个怪诞的函数,它的行为方式符合我的期望:

(exp(- abs(6 * (x - 0.7)) ^ 2.5 ) + exp(- (x-1.7) ^ 8 ) * 1.2)/1.5785

我只关心范围 0 <= x <= 1 和 x = 1 处的斜率的值。在此区间内,0 <= y <= 1 也是如此。

是否有任何免费工具(基于 Web 或 MAC OS X)可以为此生成泰勒级数扩展?(我找到了一个,但它被如此复杂的公式窒息并且不支持 abs。)

我生成级数扩展的目的是计算起来可能更有效。(这个函数在 Javascript 中会被调用数十万次,所以性能是个问题。)

或者,如果我有曲线拟合工具,我可以对这些点进行采样并进行曲线拟合。(唉,我没有 MS Excel。)知道任何免费的非线性曲线拟合工具(基于 Web 或 MAC OS X)吗?

4

4 回答 4

1

GNU Octave是一个免费包,除其他外,它具有polyfit函数来进行最小二乘多项式曲线拟合。我认为这个(或其他具有等效功能的包)可能比泰勒级数展开更适合您的问题。该绝对值项可能会导致很难找到通过 x=0.7 处的点很好地外推的泰勒级数,其中一阶导数具有不连续性。

于 2010-01-27T17:55:39.987 回答
1

千里马就是这样做的。参见泰勒函数。

于 2010-04-19T10:44:50.703 回答
0

https://ctaylor.codeplex.com

这是一个 C++ 库,允许您编写表达式和变量,不仅可以计算值,还可以计算任何阶导数。编译器是生成衍生代码的那个。

于 2015-05-06T22:35:35.313 回答
0

Wolfram Alpha 将象征性地在网络上免费为您执行此操作。H/T @ExcessPhase 用于使用abs(x)=sqrt(x*x).

Wolfram Alpha 输出

于 2016-03-21T15:22:22.150 回答