Jakarta-Common-Math使用笔记

apache的math组件,尽管不常用,我今天也整理出来。

下载地址: http://commons.apache.org/math/

示例代码:

package  demo;

import  org.apache.commons.math.stat.descriptive.moment.GeometricMean;
import  org.apache.commons.math.stat.descriptive.moment.Kurtosis;
import  org.apache.commons.math.stat.descriptive.moment.Mean;
import  org.apache.commons.math.stat.descriptive.moment.Skewness;
import  org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import  org.apache.commons.math.stat.descriptive.moment.Variance;
import  org.apache.commons.math.stat.descriptive.rank.Max;
import  org.apache.commons.math.stat.descriptive.rank.Min;
import  org.apache.commons.math.stat.descriptive.rank.Percentile;
import  org.apache.commons.math.stat.descriptive.summary.Product;
import  org.apache.commons.math.stat.descriptive.summary.Sum;
import  org.apache.commons.math.stat.descriptive.summary.SumOfSquares;

public   class  TestMathUserage  {
    
    
public static void main(String[] args) {
        
        
double[] values = new double[] 0.331.330.273330.30.501,
                
0.4440.440.344960.330.30.2920.667 }
;
        
/*
         * System.out.println( "min: " + StatUtils.min( values ) );
         * System.out.println( "max: " + StatUtils.max( values ) );
         * System.out.println( "mean: " + StatUtils.mean( values ) ); // Returns
         * the arithmetic mean of the entries in the input array, or Double.NaN
         * if the array is empty System.out.println( "product: " +
         * StatUtils.product( values ) ); //Returns the product of the entries
         * in the input array, or Double.NaN if the array is empty.
         * System.out.println( "sum: " + StatUtils.sum( values ) ); //Returns
         * the sum of the values in the input array, or Double.NaN if the array
         * is empty. System.out.println( "variance: " + StatUtils.variance(
         * values ) ); // Returns the variance of the entries in the input
         * array, or Double.NaN if the array is empty.
         
*/


        Min min 
= new Min();
        Max max 
= new Max();
        Mean mean 
= new Mean(); // 算术平均值
        Product product = new Product();
        Sum sum 
= new Sum();
        Variance variance 
= new Variance();
        System.out.println(
"min: " + min.evaluate(values));
        System.out.println(
"max: " + max.evaluate(values));
        System.out.println(
"mean: " + mean.evaluate(values));
        System.out.println(
"product: " + product.evaluate(values));
        System.out.println(
"sum: " + sum.evaluate(values));
        System.out.println(
"variance: " + variance.evaluate(values));

        Percentile percentile 
= new Percentile(); // 百分位数
        GeometricMean geoMean = new GeometricMean(); // 几何平均数,n个正数的连乘积的n次算术根叫做这n个数的几何平均数
        Skewness skewness = new Skewness(); // Skewness();
        Kurtosis kurtosis = new Kurtosis(); // Kurtosis,峰度
        SumOfSquares sumOfSquares = new SumOfSquares(); // 平方和
        StandardDeviation StandardDeviation = new StandardDeviation();
        System.out.println(
"80 percentile value: "
                
+ percentile.evaluate(values, 80.0));
        System.out.println(
"geometric mean: " + geoMean.evaluate(values));
        System.out.println(
"skewness: " + skewness.evaluate(values));
        System.out.println(
"kurtosis: " + kurtosis.evaluate(values));
        System.out.println(
"sumOfSquares: " + sumOfSquares.evaluate(values));
        
// 就是标准方差
        System.out.println("StandardDeviation: "
                
+ StandardDeviation.evaluate(values));
    }

}

几个主要功能类:

A.RandomData类:

package  demo;

import  org.apache.commons.math.random.RandomData;
import  org.apache.commons.math.random.RandomDataImpl;

public   class  MathDemo  {

    
public static void main(String[] args) {
        
        RandomData randomData 
= new RandomDataImpl(); 
        
for (int i = 0; i < 10; i++{
            
long value = randomData.nextLong(1100);
            System.out.println(value);
        }


        System.out.println(
"===============");
        
        
for (int i = 0; i < 10; i++{
            randomData 
= new RandomDataImpl(); 
            
long value = randomData.nextLong(1100);
            System.out.println(value);
        }

    }

}

B.RealMatrix类,求解方程

2x + 3y - 2z = 1
-x + 7y + 6x = -2
4x - 3y - 5z = 1

package  demo;

import  java.io.IOException;

import  org.apache.commons.math.linear.RealMatrix;
import  org.apache.commons.math.linear.RealMatrixImpl;

public   class  MathDemo  {

    
public static void main(String[] args) throws IOException {

        
double[][] coefficientsData = {{23-2}{-176}{4-3-5}};
        RealMatrix coefficients 
= new RealMatrixImpl(coefficientsData);

        
double[] constants = {1-21};
        
double[] solution = coefficients.solve(constants);
        
        System.out.println(solution[
0]);
        System.out.println(solution[
1]);
        System.out.println(solution[
2]);
    }

}

 

你可能感兴趣的:(Math,apache,String,Class,import,Constants)