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局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java线性代数方程组解法,插值,积分,特殊函数,函数逼近,随机数,排序,特征值,数据拟合,方程求根和非线性方程组解法,函数极值和最优化,傅里叶变换谱方法,数据统计描述,解常微分方程组,偏微分方程解法等。
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
本书共有数值计算中常用的Java方法近200个,内容包括:解线性代数方程组、插值、数值积分、特殊函数、函数逼近、随机数、排序、特征值问题、数据拟合、方程求根和非线性方程组求解、函数的极值和最优化、傅里叶变换谱...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
2. 调用java.lang.Math的成员函数“public static double random()”运算下面表达式1000次,(int) (Math.random()*20+0.5),统计其中生成的整数0、1、2、……、20的个数分别是多少,并输出统计结果。 3. 编写一个方法...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
2012版最全面试题大全目录: 一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环?...