草庐IT

c++ - 使用运行平均值保持浮点精度

我需要为任意数量的数据点(超过1亿个)计算16位运算的均方误差。我决定采用运行平均值,这样我就不必担心添加大量平方误差会导致溢出。在1亿个样本中,我遇到了浮点精度问题(结果不准确),所以我改为加倍。这是我的代码intiDifference=getIdeal()-getValue();m_iCycles++;//calculatetherunningMSEas//http://en.wikipedia.org/wiki/Moving_average//MSE(i+1)=MSE(i)+(E^2-MSE(i))/(i+1)m_dMSE=m_dMSE+((pow((double)iDiffer

c++ - 使用运行平均值保持浮点精度

我需要为任意数量的数据点(超过1亿个)计算16位运算的均方误差。我决定采用运行平均值,这样我就不必担心添加大量平方误差会导致溢出。在1亿个样本中,我遇到了浮点精度问题(结果不准确),所以我改为加倍。这是我的代码intiDifference=getIdeal()-getValue();m_iCycles++;//calculatetherunningMSEas//http://en.wikipedia.org/wiki/Moving_average//MSE(i+1)=MSE(i)+(E^2-MSE(i))/(i+1)m_dMSE=m_dMSE+((pow((double)iDiffer