集册 Java实例教程 计算(偏差

计算(偏差

欢马劈雪     最近更新时间:2020-01-02 10:19:05

473
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
计算(经偏差校正的样本)方差。


//package com.nowjava;/*from n o w  j a v a  . c o m*/


public class Main {

    public static void main(String[] argv) throws Exception {

        double[] v = new double[] { 34.45, 35.45, 36.67, 37.78, 37.0000,

                37.1234, 67.2344, 68.34534, 69.87700 };

        System.out.println(variance(v));

    }


    /**

     * Computes the (bias-corrected sample) variance.

     */

    public static double variance(double[] v) {

        if (v.length > 1) {

            final double m = mean(v);//N  o w  J a v a . c o m 提 供

            double ans = 0.0;

            for (int i = 0; i < v.length; i++)

                ans += (v[i] - m) * (v[i] - m);

            return ans / (v.length - 1);

        } else

            throw new IllegalArgumentException(

                    "Array length must be of 2 or greater.");

    }


    /**

     * Computes the (bias-corrected sample) variance.

     */

    public static double variance(int[] v) {

        if (v.length > 1) {

            final double m = mean(v);

            double ans = 0.0;

            for (int i = 0; i < v.length; i++)

                ans += (v[i] - m) * (v[i] - m);

            return ans / (v.length - 1);

        } else

            throw new IllegalArgumentException(

                    "Array length must be of 2 or greater.");

    }


    /**

     * Computes the mean.

     */

    public static double mean(double[] v) {

        if (v.length == 0)

            throw new IllegalArgumentException(

                    "Nothing to compute! The array must have at least one element.");

        return (mass(v) / (double) v.length);

    }


    /**

     * Computes the mean.

     */

    public static double mean(int[] v) {

        if (v.length == 0)

            throw new IllegalArgumentException(

                    "Nothing to compute! The array must have at least one element.");

        return (mass(v) / (double) v.length);

    }


    /**

     * Returns the sum of the elements of the array.

     */

    public static double mass(double[] v) {

        
展开阅读全文