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;
    }

  • 相关阅读:
    LeetCode 977 有序数组的平方
    LeetCode 24 两两交换链表中的节点
    LeetCode 416 分割等和子集
    LeetCode 142 环形链表II
    LeetCode 106 从中序与后序遍历序列构造二叉树
    LeetCode 637 二叉树的层平均值
    LeetCode 117 填充每个节点的下一个右侧节点
    LeetCode 75 颜色分类
    redhat 7.4 挂载ntfs格式的u盘并且使用
    redhat 查看CPU frequency scaling(CPU频率缩放)
  • 原文地址:https://www.cnblogs.com/gosun/p/6803002.html
Copyright © 2011-2022 走看看