码迷,mamicode.com
首页 > 其他好文 > 详细

Algs4-1.2.18累加器的方差

时间:2018-10-25 14:21:12      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:ble   sqrt   误差   实现   public   1.2   web   void   参数   

1.2.18累加器的方差。以下代码为Accumulator类添加了var()和stddev()方法,它们计算了addDatavalue()方法的参数的方差和标准差,验证这段代码。
public class Accumulator
{
    private double m;
    private double s;
    private int N;
    public void addDataValue(double x)
    {
        N++;
        s=s+1.0*(N-1)/N*(x-m)*(x-m);
        m=m+(x-m)/N;
    }
   
    public double mean()
    {return m;}
   
    public double var()
    {return s/(N-1);}
   
    public double stddev()
    {return Math.sqrt(this.var());}
}
与直接对所有数据的平方求和的方法相比较,这种实现能够更好地避免四舍五入产生的误差。

Algs4-1.2.18累加器的方差

标签:ble   sqrt   误差   实现   public   1.2   web   void   参数   

原文地址:https://www.cnblogs.com/longjin2018/p/9848949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!