我最喜欢的近似导数的方法是中心差分,它比正向差分或向后差分更精确,而且我懒得去做更高级的事情。但是,中心的差异需要在您正在评估的点的两边都有一个数据点。通常情况下,这意味着在任何一个端点都没有导数。为了解决这个问题,我想让你切换到边处的正向和后向差:
具体来说,我希望你们对第一点使用前向差分,对最后一点使用向后差分,对中间的所有点使用中心差分。此外,您可以假设x值是均匀间隔的,并且只关注y。

祝你好运,我很期待有人能提出一个简单的规则,在正确的地方复制所有三个衍生产品!
EX投入:
0.034 9.62 8.885 3.477 2.38我将使用FD、CD和BD来表示在哪个点使用哪一种算法,因此使用以上5点来逼近导数。
FD CD CD CD BD然后计算出的值是:
9.586 4.4255 -3.0715 -3.2525 -1.097 您可以假设始终至少有3个输入点,并且可以使用单精度或双精度进行计算。
和往常一样,最短的答案是赢家。
发布于 2016-06-22 11:37:10
发布于 2016-06-22 16:49:46
发布于 2016-06-22 19:41:46
.OM>L2._seB-Vt在线试用:游行示威
.OM>L2._seB-VtQQ implicitly add two Qs (input arrays) at the end
-VtQQ get all neighbored differences
seB get the last element of ^ and append it to ^
._ compute all prefixes
>L2 reduce all prefixes to the last two elements
.OM compute the average of each ^https://codegolf.stackexchange.com/questions/83513
复制相似问题