This question already has answers here:
How to calculate simple moving average faster in C#?
(12个答案)
情况是这样的。我需要生成90100个随机数,在这个数上我需要计算简单的移动平均数?
什么方法计算移动平均数最好?
所以,实际上每个样本有一个减法、一个除以常数和一个加法运算。
(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