java如何计算方差、标准差

这篇文章主要介绍java如何计算方差、标准差,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

java计算标准差思路

//方差s^2=[x1-x)^2 +...xn-x)^2]/n 或者s^2=[x1-x)^2 +...xn-x)^2]/n-1)
  public static double Variancedouble[] x) { 
    int m=x.length;
    double sum=0;
    forint i=0;i<m;i++){//求和
      sum+=x[i];
    }
    double dAve=sum/m;//求平均值
    double dVar=0;
    forint i=0;i<m;i++){//求方差
      dVar+=x[i]-dAve)*x[i]-dAve);
    }
    return dVar/m;
  }
  
  //标准差σ=sqrts^2)
  public static double StandardDiviationdouble[] x) { 
    int m=x.length;
    double sum=0;
    forint i=0;i<m;i++){//求和
      sum+=x[i];
    }
    double dAve=sum/m;//求平均值
    double dVar=0;
    forint i=0;i<m;i++){//求方差
      dVar+=x[i]-dAve)*x[i]-dAve);
    }
        //reture Math.sqrtdVar/m-1));
    return Math.sqrtdVar/m);  
  }
//BigDecimal 的sqrt方法
 private static BigDecimal sqrtBigDecimal num) {
    if num.compareToBigDecimal.ZERO) < 0) {
      return BigDecimal.ZERO;
    }
    
    BigDecimal x = num.dividenew BigDecimal"2"), MathContext.DECIMAL128);
    while x.subtractx = sqrtIterationx, num)).abs).compareTonew BigDecimal"0.0000000000000000000001")) > 0) ;
    return x;
  }

  private static BigDecimal sqrtIterationBigDecimal x, BigDecimal n) {
    return x.addn.dividex, MathContext.DECIMAL128)).dividenew BigDecimal"2"), MathContext.DECIMAL128);
  }

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注