Tag:
Java 统计函数 方差 标准差
public class TestStatistics {
public static void main(String[] args) {
double [] testData=new double[]{1,2,3,4,5,6,7,8,9};
System.out.println("最大值:"+getMax(testData));
System.out.println("最小值:"+getMin(testData));
System.out.println("计数:"+getCount(testData));
System.out.println("求和:"+getSum(testData));
System.out.println("求平均:"+getAverage(testData));
System.out.println("方差:"+getVariance(testData));
System.out.println("标准差:"+getStandardDiviation(testData));
}
/**
* 求给定双精度数组中值的最大值
*
* @param inputData
* 输入数据数组
* @return 运算结果,如果输入值不合法,返回为-1
*/
public static double getMax(double[] inputData) {
if (inputData == null || inputData.length == 0)
return -1;
int len = inputData.length;
double max = inputData[0];
for (int i = 0; i < len; i++) {
if (max < inputData[i])
max = inputData[i];
}
return max;
}
/**
* 求求给定双精度数组中值的最小值
*
* @param inputData
* 输入数据数组
* @return 运算结果,如果输入值不合法,返回为-1
*/
public static double getMin(double[] inputData) {
if (inputData == null || inputData.length == 0)
return -1;
int len = inputData.length;
double min = inputData[0];
for (int i = 0; i < len; i++) {
if (min > inputData[i])
min = inputData[i];
}
return min;
}
/**
* 求给定双精度数组中值的和
*
* @param inputData
* 输入数据数组
* @return 运算结果
*/
public static double getSum(double[] inputData) {
if (inputData == null || inputData.length == 0)
return -1;
int len = inputData.length;
double sum = 0;
for (int i = 0; i < len; i++) {
sum = sum + inputData[i];
}
return sum;
}
/**
* 求给定双精度数组中值的数目
*
* @param input
* Data 输入数据数组
* @return 运算结果
*/
public static int getCount(double[] inputData) {
if (inputData == null)
return -1;
return inputData.length;
}
/**
* 求给定双精度数组中值的平均值
*
* @param inputData
* 输入数据数组
* @return 运算结果
*/
public static double getAverage(double[] inputData) {
if (inputData == null || inputData.length == 0)
return -1;
int len = inputData.length;
double result;
result = getSum(inputData) / len;
return result;
}
/**
* 求给定双精度数组中值的平方和
*
* @param inputData
* 输入数据数组
* @return 运算结果
*/
public static double getSquareSum(double[] inputData) {
if(inputData==null||inputData.length==0)
return -1;
int len=inputData.length;
double sqrsum = 0.0;
for (int i = 0; i <len; i++) {
sqrsum = sqrsum + inputData[i] * inputData[i];
}
return sqrsum;
}
/**
* 求给定双精度数组中值的方差
*
* @param inputData
* 输入数据数组
* @return 运算结果
*/
public static double getVariance(double[] inputData) {
int count = getCount(inputData);
double sqrsum = getSquareSum(inputData);
double average = getAverage(inputData);
double result;
result = (sqrsum - count * average * average) / count;
return result;
}
/**
* 求给定双精度数组中值的标准差
*
* @param inputData
* 输入数据数组
* @return 运算结果
*/
public static double getStandardDiviation(double[] inputData) {
double result;
//绝对值化很重要
result = Math.sqrt(Math.abs(getVariance(inputData)));
return result;
}
}
分享到:
相关推荐
"Java常用数值算法集"是针对Java编程者提供的一份宝贵的资源,它包含了各种常用的数值计算算法,对于提升Java开发者的算法理解和实现能力大有裨益。以下是一些可能涵盖在该集合中的重要知识点: 1. **线性代数运算*...
10. **概率与统计**:包括概率分布、假设检验、回归分析等,Java库如Apache Commons Math提供了丰富的统计函数。 以上仅是部分Java中常用的数值算法,实际的"Java 常用数值算法集"可能包含了更丰富的实现,包括更多...
### Java数学函数大全 在Java编程中,数学函数是处理各种数学运算的重要工具。这些函数不仅可以简化复杂的数学计算过程,还能提高程序的执行效率。本文将详细介绍Java中的数学函数及其应用场景,帮助开发者更好地...
### Java中关于时间日期操作的常用函数 #### 1. 计算某一月份的最大天数 在Java中,可以通过`Calendar`类来获取指定月份的最大天数。这在处理诸如日历显示、日期验证等场景时非常有用。 ```java Calendar time = ...
2. **数值计算库**:Java标准库(Java Math)包含了`Math`类,提供了许多数学函数,如平方根、对数、三角函数等。此外,Apache Commons Math库提供了更高级的数值计算功能,如线性代数、随机数生成、统计分析等。 3...
"java常用工具类整理"这个主题涵盖了Java开发中常用的工具类,这些类在日常编程中非常实用,能大大提高开发效率。这里我们将深入探讨一些常见的Java工具类,并结合`com-jarvis-base`这个文件名,推测这是一个基础...
本资源集合了"Java常用数值算法",旨在帮助开发者在实践中提升效率,解决实际问题。 首先,我们要理解什么是数值算法。数值算法是处理数值数据的数学方法,它通常涉及数值近似而不是精确解。在Java中,我们可以通过...
"Java常用数值算法集"是一个集合,包含了一系列在Java中实现的常用数值算法。下面将详细探讨这些算法及其在实际应用中的重要性。 1. **线性代数算法**:线性代数是现代计算的核心,涉及到矩阵和向量的操作。例如,...
在这个"Java常用数值算法集代码"中,我们很显然会探讨一系列在Java编程中用于处理数值计算和算法实现的关键技术。这些算法通常包括但不限于数学计算、线性代数、统计分析、优化问题、图形图像处理以及科学计算等多个...
"Java 常用数值算法集b"可能包含了一系列实用的算法实现,用于解决各种数值计算问题。下面将详细探讨Java中的常见数值算法及其应用。 1. **线性代数运算**:包括矩阵的加减乘除、求逆、特征值、特征向量等。在Java...
这个“Java常用数值算法集光盘资源”很可能是包含了一系列用于解决各种数学和工程问题的Java实现算法。数值算法是计算机科学中的一个重要分支,它涉及到如何用计算机处理和求解数学方程、微积分问题、线性代数等。...
- `java.util.stream`: 提供了流API,支持函数式编程,方便进行集合的处理和转换。 5. **JUnit和Mockito** - `junit.framework.*`: JUnit是Java单元测试的标准框架,包含`Test`, `TestCase`等类,用于编写和运行...
本篇文章将详细探讨标题为“8种常用排序方法Java类实现”的主题,主要基于描述中的内容,即8种业务中常见的排序方法在Java语言中的实现。 1. **冒泡排序(Bubble Sort)**:冒泡排序是一种简单直观的排序算法,通过...
此函数适用于需要计算两个时间点之间相隔多少个月的情况,例如统计用户活跃月份的数量等。 ### 2. `getLastMonth` 函数 该函数用于获取指定日期前一个月的具体日期,格式同样为“YYYYMMDD”。 #### 代码解析 ```...
- **统计函数**: 单条记录的统计,如 `COUNT` 计算非空记录数量。 ##### 3. **聚合函数** - 这类函数处理的数据粒度为多条记录,常用于汇总统计。 - **`SUM()`**: 求和。 - **`COUNT()`**: 求数据量。 - **`AVG...
在本文中,我们将深入探讨Hive的常用函数,包括时间函数、类型转换函数、用户自定义函数(UDF)以及用户自定义聚合函数(UDAF)等。 关系运算符是Hive中的基础函数,用于比较两个值是否相等。例如,A=B用于判断A...