This question already has answers here:

How to calculate simple moving average faster in C#?
(12个答案)
情况是这样的。我需要生成90100个随机数,在这个数上我需要计算简单的移动平均数?
什么方法计算移动平均数最好?

最佳答案

在伪代码中,最快的可能是:

# P: input signal array
# S: sum accumulator
# I: counter
# N: number of samples in your sliding average

S <- P[0] + P[1] + ... + P[N-1]

I <- N

forever:
   save_new_result(S / N)
   S <- S - P[I-N] + P[I]
   I <- I + 1

所以,实际上每个样本有一个减法、一个除以常数和一个加法运算。

关于c# - 如何计算简单的移动平均线? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24260282/

10-11 15:11