中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java如何計算方差、標準差

發布時間:2021-07-20 14:20:21 來源:億速云 閱讀:6593 作者:小新 欄目:編程語言

這篇文章主要介紹java如何計算方差、標準差,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

java計算標準差思路

//方差s^2=[(x1-x)^2 +...(xn-x)^2]/n 或者s^2=[(x1-x)^2 +...(xn-x)^2]/(n-1)
  public static double Variance(double[] x) { 
    int m=x.length;
    double sum=0;
    for(int i=0;i<m;i++){//求和
      sum+=x[i];
    }
    double dAve=sum/m;//求平均值
    double dVar=0;
    for(int i=0;i<m;i++){//求方差
      dVar+=(x[i]-dAve)*(x[i]-dAve);
    }
    return dVar/m;
  }
  
  //標準差σ=sqrt(s^2)
  public static double StandardDiviation(double[] x) { 
    int m=x.length;
    double sum=0;
    for(int i=0;i<m;i++){//求和
      sum+=x[i];
    }
    double dAve=sum/m;//求平均值
    double dVar=0;
    for(int i=0;i<m;i++){//求方差
      dVar+=(x[i]-dAve)*(x[i]-dAve);
    }
        //reture Math.sqrt(dVar/(m-1));
    return Math.sqrt(dVar/m);  
  }
//BigDecimal 的sqrt方法
 private static BigDecimal sqrt(BigDecimal num) {
    if (num.compareTo(BigDecimal.ZERO) < 0) {
      return BigDecimal.ZERO;
    }
    
    BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128);
    while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ;
    return x;
  }

  private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) {
    return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathContext.DECIMAL128);
  }

以上是“java如何計算方差、標準差”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼勒克县| 五原县| 鱼台县| 宁远县| 湄潭县| 西贡区| 隆子县| 昆明市| 申扎县| 金溪县| 涿州市| 白水县| 上虞市| 班戈县| 中阳县| 平果县| 油尖旺区| 北流市| 融水| 四平市| 宁化县| 新兴县| 当雄县| 托克逊县| 怀仁县| 牙克石市| 无棣县| 隆安县| 双牌县| 邓州市| 阿拉善左旗| 伊川县| 任丘市| 仁怀市| 巴中市| 南城县| 东源县| 天峻县| 威海市| 新宾| 红安县|