色破飞机 发表于 2017-12-24 11:41:00

apache commons math 示例代码

1 packagetest.ffm83.commons.math;  

2  
3 importorg.apache.commons.math3.linear.Array2DRowRealMatrix;
  
4
  
5 import org.apache.commons.math3.linear.LUDecomposition;
  
6
  
7 importorg.apache.commons.math3.linear.RealMatrix;
  
8
  
9 importorg.apache.commons.math3.stat.descriptive.moment.GeometricMean;
  
10
  
11 importorg.apache.commons.math3.stat.descriptive.moment.Kurtosis;
  
12
  
13 importorg.apache.commons.math3.stat.descriptive.moment.Mean;
  
14
  
15 importorg.apache.commons.math3.stat.descriptive.moment.Skewness;
  
16
  
17 importorg.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
  
18
  
19 importorg.apache.commons.math3.stat.descriptive.moment.Variance;
  
20
  
21 import org.apache.commons.math3.stat.descriptive.rank.Max;
  
22
  
23 importorg.apache.commons.math3.stat.descriptive.rank.Min;
  
24
  
25 importorg.apache.commons.math3.stat.descriptive.rank.Percentile;
  
26
  
27 importorg.apache.commons.math3.stat.descriptive.summary.Product;
  
28
  
29 importorg.apache.commons.math3.stat.descriptive.summary.Sum;
  
30
  
31 importorg.apache.commons.math3.stat.descriptive.summary.SumOfSquares;
  
32
  
33
  
34
  
35 /**
  
36
  
37* 简单使用commons Math方法
  
38
  
39* @author 范芳铭
  
40
  
41*/
  
42

  
43 public>  
44
  
45      public static void main(String[] args) {
  
46
  
47         double[] values = new double[] { 0.33, 1.33,0.27333, 0.3, 0.501,
  
48
  
49               0.444, 0.44, 0.34496, 0.33,0.3, 0.292, 0.667 };
  
50
  
51         Min min = new Min();
  
52
  
53         Max max = new Max();
  
54
  
55         
  
56
  
57         Mean mean = new Mean(); // 算术平均值
  
58
  
59         Product product = new Product();//乘积
  
60
  
61         Sum sum = new Sum();
  
62
  
63         Variance variance = new Variance();//方差
  
64
  
65         System.out.println("min: " +min.evaluate(values));
  
66
  
67         System.out.println("max: " +max.evaluate(values));
  
68
  
69         System.out.println("mean: " +mean.evaluate(values));
  
70
  
71         System.out.println("product:" + product.evaluate(values));
  
72
  
73         System.out.println("sum: " +sum.evaluate(values));
  
74
  
75         System.out.println("variance:" + variance.evaluate(values));
  
76
  
77
  
78
  
79         Percentile percentile = newPercentile(); // 百分位数
  
80
  
81         GeometricMean geoMean = newGeometricMean(); // 几何平均数,n个正数的连乘积的n次算术根叫做这n个数的几何平均数
  
82
  
83         Skewness skewness = new Skewness(); //Skewness();
  
84
  
85         Kurtosis kurtosis = new Kurtosis(); //Kurtosis,峰度
  
86
  
87         SumOfSquares sumOfSquares = newSumOfSquares(); // 平方和
  
88
  
89         StandardDeviation StandardDeviation =new StandardDeviation();//标准差
  
90
  
91         System.out.println("80 percentilevalue: "
  
92
  
93               + percentile.evaluate(values,80.0));
  
94
  
95         System.out.println("geometricmean: " + geoMean.evaluate(values));
  
96
  
97         System.out.println("skewness:" + skewness.evaluate(values));
  
98
  
99         System.out.println("kurtosis:" + kurtosis.evaluate(values));
  
100
  
101         System.out.println("sumOfSquares:" + sumOfSquares.evaluate(values));
  
102
  
103      System.out.println("StandardDeviation: " +StandardDeviation.evaluate(values));
  
104
  
105         
  
106
  
107      System.out.println("-------------------------------------");
  
108
  
109         // Create a real matrix with two rowsand three columns
  
110
  
111         double[][] matrixData = { {1d,2d,3d},{2d,5d,3d}};
  
112
  
113         RealMatrix m = newArray2DRowRealMatrix(matrixData);
  
114
  
115         System.out.println(m);
  
116
  
117         // One more with three rows, twocolumns
  
118
  
119         double[][] matrixData2 = { {1d,2d},{2d,5d}, {1d, 7d}};
  
120
  
121         RealMatrix n = newArray2DRowRealMatrix(matrixData2);         
  
122
  
123         // Note: The constructor copiesthe input double[][] array.         
  
124
  
125         // Now multiply m by n
  
126
  
127         RealMatrix p = m.multiply(n);
  
128
  
129      System.out.println("p:"+p);
  
130
  
131      System.out.println(p.getRowDimension());    // 2
  
132
  
133      System.out.println(p.getColumnDimension()); // 2         
  
134
  
135         // Invert p, using LUdecomposition
  
136
  
137         RealMatrix pInverse = newLUDecomposition(p).getSolver().getInverse();
  
138
  
139         System.out.println(pInverse);
  
140
  
141   }
  
142
  
143 }
  
144
  
145 运行结果如下:
  
146
  
147 min: 0.27333
  
148
  
149 max: 1.33
  
150
  
151 mean: 0.46269083333333333
  
152
  
153 product: 2.3429343978460972E-5
  
154
  
155 sum: 5.552289999999999
  
156
  
157 variance: 0.08757300031742428
  
158
  
159 80 percentile value: 0.5674000000000001
  
160
  
161 geometric mean: 0.4112886050879374
  
162
  
163 skewness: 2.670095445623868
  
164
  
165 kurtosis: 7.718241303328169
  
166
  
167 sumOfSquares: 3.5322966905000004
  
168
  
169 StandardDeviation: 0.2959273564870681
  
170
  
171 -------------------------------------
  
172
  
173 Array2DRowRealMatrix{{1.0,2.0,3.0},{2.0,5.0,3.0}}
  
174
  
175 p:Array2DRowRealMatrix{{8.0,33.0},{15.0,50.0}}
  
176
  
177 2
  
178
  
179 2
  
180
  
181 Array2DRowRealMatrix{{-0.5263157895,0.3473684211},{0.1578947368,-0.0842105263}}
页: [1]
查看完整版本: apache commons math 示例代码