你能建议任何简单的Java统计软件包吗?
我不一定需要任何先进的东西 . 我很惊讶在 java.lang.Math 包中似乎没有计算平均值的函数...
java.lang.Math
你们有什么用呢?
EDIT
关于:
编写一个计算均值和标准差的简单类有多难?
好吧,不难 . 手工编码之后我才问过这个问题 . 但是,当我需要这些功能时,它只会增加我的Java挫折感,而不是让这些最简单的功能可用 . 我不记得用心计算stdev的公式:)
Apache Commons Math,特别是DescriptiveStatistics和SummaryStatistics .
从Java SE 8开始,平台中添加了许多类:
java.util.DoubleSummaryStatistics
java.util.IntSummaryStatistics
java.util.LongSummaryStatistics
只是回答这部分问题:
我很惊讶在java.lang.Math包中似乎没有计算Mean的函数...
我认为这并不令我感到惊讶 . Java类库没有实现许多“有用的算法” . 他们没有实现一切 . 在这方面,它们与其他编程语言没有什么不同 .
实际上,如果Sun试图在J2SE中实现太多,那将是一件坏事:
这需要更多的设计师/开发人员/技术文档时间......没有明确的“投资回报” .
这会增加Java的占用空间;例如“rt.jar”的大小 . (或者,如果他们试图减轻这种情况,则会导致更多的平台复杂性...)
对于数学空间中的事物,您经常需要以不同的方式(使用不同的API)实现算法,以满足不同的要求 .
对于复杂的事情,Sun可能最好不要试图“标准化”API,而是将其留给其他感兴趣/熟练的团队去做;例如阿帕奇人 .
import java.util.*; public class stdevClass { public static void main(String[] args){ int [] list = {1,-2,4,-4,9,-6,16,-8,25,-10}; double stdev_Result = stdev(list); System.out.println(stdev(list)); } public static double stdev(int[] list){ double sum = 0.0; double mean = 0.0; double num=0.0; double numi = 0.0; double deno = 0.0; for (int i : list) { sum+=i; } mean = sum/list.length; for (int i : list) { numi = Math.pow((double) i - mean), 2); num+=numi; } return Math.sqrt(num/list.length); } }
我认为java中没有直接的方法和类 . 我们必须为自己建造它 . 根据您的要求,此代码将为您提供帮助 . Calculate Standard Deviation in java
5 回答
Apache Commons Math,特别是DescriptiveStatistics和SummaryStatistics .
从Java SE 8开始,平台中添加了许多类:
java.util.DoubleSummaryStatistics
java.util.IntSummaryStatistics
java.util.LongSummaryStatistics
只是回答这部分问题:
我认为这并不令我感到惊讶 . Java类库没有实现许多“有用的算法” . 他们没有实现一切 . 在这方面,它们与其他编程语言没有什么不同 .
实际上,如果Sun试图在J2SE中实现太多,那将是一件坏事:
这需要更多的设计师/开发人员/技术文档时间......没有明确的“投资回报” .
这会增加Java的占用空间;例如“rt.jar”的大小 . (或者,如果他们试图减轻这种情况,则会导致更多的平台复杂性...)
对于数学空间中的事物,您经常需要以不同的方式(使用不同的API)实现算法,以满足不同的要求 .
对于复杂的事情,Sun可能最好不要试图“标准化”API,而是将其留给其他感兴趣/熟练的团队去做;例如阿帕奇人 .
我认为java中没有直接的方法和类 . 我们必须为自己建造它 . 根据您的要求,此代码将为您提供帮助 . Calculate Standard Deviation in java