gpt4 book ai didi

math - 如何计算流数据的变化率(导数)?

转载 作者:行者123 更新时间:2023-12-04 00:04:23 26 4
gpt4 key购买 nike

我有一个随时间变化的数据流。如何使用 C# 确定变化率?

自从上微积分课已经很长时间了,但现在是我第一次真正需要它(15 年来)。现在,当我搜索“衍生品”这个词时,我会得到金融方面的东西,以及我认为并不真正需要的其他数学方面的东西。

介意给我指出正确的方向吗?

最佳答案

如果您想要平滑数据的更复杂的东西,您应该研究数字滤波器算法。如果你能切入工程术语,实现起来并不难。经典方法是Savitzky-Golay

如果你有最后一个 n样本存储在数组中 y并且每个样本的时间间隔相等,然后您可以使用以下方法计算导数:

deriv = 0
coefficient = (1,-8,0,8,-1)
N = 5 # points
h = 1 # second
for i range(0,N):
deriv += y[i] * coefficient[i]
deriv /= (12 * h)

这个例子恰好是“3/4(三次/四次)”过滤器的N=5过滤器。更大的 N ,它平均的点越多,就越平滑,但延迟也会更高。您必须等待 N/2 点才能在“现在”时间获得导数。

有关更多系数,请查看附录

https://en.wikipedia.org/wiki/Savitzky%E2%80%93Golay_filter

关于math - 如何计算流数据的变化率(导数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com