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]