zoukankan      html  css  js  c++  java
  • 正态分布折线图/直方图相关方法以及概念

    最近在做正态分布相关图像是遇到的很多问题

    最主要的是以前的很多知识点都忘掉了

      方差:各个数据与平均数之差平方和的平均值

      标准差:方差的算数平方根

    柱状图步骤:

      1.找出最大值和最小值

      2.分组(可计算也可自己设定一个值)

      3.计算组距宽度(组数去除最大值与最小值之差)

      4.计算每一组的起始值(第一组初值为最小值减去最小测定单位的一半,末值为初值加组距)

    /**

    * 计算平均数
    *
    * @param array
    * @return
    */
    public static double getAverage(double[] array) {
    double sum = 0;
    if (array != null && array.length > 0) {
    int num = array.length;
    for (int i = 0; i < num; i++) {
    sum += array[i];

    }
    return (double) (sum / num);
    } else {
    return 0d;
    }

    }

    /**
    * 计算标准差
    *
    * @param array
    * @param average
    * @return
    */
    public static double getStandardDevition(double[] array, double average) {
    double sum = 0;
    if (array != null && array.length > 0) {
    int num = array.length;
    for (int i = 0; i < num; i++) {
    sum += Math.sqrt(((double) array[i] - average) * (array[i] - average));
    }
    return (sum / (num - 1));
    } else {
    return 0d;
    }

    }

    /**
    * 计算正态值
    *
    * @param randomNumber
    * @param average
    * @param standardDevition
    * @return
    */
    public static double getNormality(double randomNumber, double average, double standardDevition) {
    double y = (randomNumber - average) / standardDevition;
    double coefficient = 1 / (Math.sqrt(2 * Math.PI) * standardDevition);
    double z = Math.exp(-0.5 * y * y) * coefficient;
    return z;
    }
    }

    /**
    * 对double数组进行降序排
    *
    * @param array
    * @return
    */
    public static double[] downSort(double[] array) {
    for (int i = 0; i < array.length - 1; i++) { // 最多做n-1趟排序
    for (int j = 0; j < array.length - i - 1; j++) { // 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
    if (array[j] < array[j + 1]) { // 把小的值交换到后面
    double temp = array[j];
    array[j] = array[j + 1];
    array[j + 1] = temp;
    }
    }
    }
    return array;
    }

    /**
    * 返回某个区间的数出现的次数
    *
    * @param array
    * @param ele
    * @return
    */
    public static int inCounts(double[] array, BigDecimal leftEle, BigDecimal rightEle) {
    int count = 0;
    for (int i = 0; i < array.length; i++) {
    double ele = array[i];
    BigDecimal eleBd = new BigDecimal(ele + "");
    if ((eleBd.compareTo(leftEle) == 1 || eleBd.compareTo(leftEle) == 0) && eleBd.compareTo(rightEle) == -1) {
    count++;
    }
    }
    return count;
    }

  • 相关阅读:
    typescript中的类型兼容性
    typescript中使用泛型
    分数的乘法逆元和负数的取模运算
    pip2 install protobuf==2.6.1
    git使用代理
    Mount error(5):Input/output error on mount
    cmake 学习笔记(一)
    cmake --help
    ImportError: dynamic module does not define init function (initcaffe)
    docker
  • 原文地址:https://www.cnblogs.com/gosun/p/6803002.html
Copyright © 2011-2022 走看看