C#实现滑动平均
private static int movAve = 8; // 滑动平均基数
private double Smooth(Queue<double> movAveQueue, double ch) // 滑动平均求解
{
// 用于实时滑动平均处理
double movAveTempData = 0;
try
{
if (movAveQueue.Count < movAve)
{
movAveTempData = ch;
}
else
{
if (movAveQueue.Count > movAve)
{
while (movAveQueue.Count > movAve)
{
movAveQueue.Dequeue();
}
}
if (movAveQueue.Count == movAve)
{
movAveTempData = movAveQueue.Sum() / movAve;
}
}
return movAveTempData;
}
catch
{
movAveQueue.Clear();
return ch;
}
}