Jakarta-Common-Math使用笔记

转载 2013年12月05日 20:07:06
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.33, 1.33, 0.27333, 0.3, 0.501,
         0.444, 0.44, 0.34496, 0.33, 0.3, 0.292, 0.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(1, 100);
       System.out.println(value);
     }

     System.out.println("===============");

     for (int i = 0; i < 10; i++) ...{
       randomData = new RandomDataImpl();
       long value = randomData.nextLong(1, 100);
       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 = ...{...{2, 3, -2}, ...{-1, 7, 6}, ...{4, -3, -5}};
     RealMatrix coefficients = new RealMatrixImpl(coefficientsData);

     double[] constants = ...{1, -2, 1};
     double[] solution = coefficients.solve(constants);

     System.out.println(solution[0]);
     System.out.println(solution[1]);
     System.out.println(solution[2]);
   }
}

Commons Math学习笔记

先列出一个目录:(这个目录是根据commons math 2.1库的结构设计的) Section 1 linear 线性代数(矩阵为主) 1) Vector 向量 2) Matrix...
  • jiutianhe
  • jiutianhe
  • 2014年11月21日 15:37
  • 14132

apache工具类系列

在网上找了一段时间的数组求平均值得工具类,几乎所有的都是自己编写的工具类,最后还是自己找到了就在这里贴一下 所用的工具类 import org.apache.commons.math.stat.Sta...
  • qq_37891961
  • qq_37891961
  • 2017年06月19日 10:03
  • 103

Jakarta-Common-Math使用笔记

apache的math组件,尽管不常用,我今天也整理出来。 下载地址: http://commons.apache.org/math/ 示例代码: package demo; import...
  • xinghui_liu
  • xinghui_liu
  • 2013年12月05日 20:07
  • 948

云笔记使用的感受想法!(对有道云笔记、印象云笔记的比较与评价)

看到同事在使用云笔记,也下载了来试用一下,不过安装试用之后,就吧下载的几个都给删除了。说一下自己内心的感受和想法: 功能太多 下载了有道云笔记、印象笔记、云笔记。功能真的太多了,支持语音、...
  • default7
  • default7
  • 2014年08月23日 06:57
  • 29761

使用Emacs记课堂笔记

我最近折腾了Emacs的org-mode,准备上课就用这个来记笔记了。   Org-mode可以钳入Latex代码,并且直接导出成Latex以及更多的pdf,将文档生成odt,然后用libr...
  • baidu_15145125
  • baidu_15145125
  • 2014年08月18日 10:47
  • 133

apache工具类系列

在网上找了一段时间的数组求平均值得工具类,几乎所有的都是自己编写的工具类,最后还是自己找到了就在这里贴一下 所用的工具类 import org.apache.commons.math.stat.Sta...
  • qq_37891961
  • qq_37891961
  • 2017年06月19日 10:03
  • 103

Jakarta-Common-Math使用笔记

apache的math组件,尽管不常用,我今天也整理出来。 下载地址: http://commons.apache.org/math/ 示例代码: package demo; import...
  • xinghui_liu
  • xinghui_liu
  • 2013年12月05日 20:07
  • 948

使用第三方Markdown编辑器编辑为知笔记

使用第三方Markdown编辑器编辑为知笔记前言为知笔记默认的编辑器并没有预览功能,而提供的MD编辑器插件也并不是很好用,但为知笔记提供了可以使用第三方编辑器的功能,Typora编辑器是目前最优秀的M...
  • u014633852
  • u014633852
  • 2017年03月30日 23:27
  • 826

程序员做笔记---markdown--atom(github)

小时候没有电脑的时候我们使用纸和笔来记录笔记。 现在呢,有了强大的computer来记录笔记的时候发现使用什么软件来记录笔记呢? 作为一个程序员,当然要有自己独特的笔记记录方式: 我最近在尝试使...
  • jiaxiang521521
  • jiaxiang521521
  • 2014年04月05日 18:52
  • 4387

math组件用法实例

import org.apache.commons.math.stat.descriptive.moment.GeometricMean;import org.apache.commons.math....
  • pengchua
  • pengchua
  • 2008年01月02日 13:56
  • 1495
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jakarta-Common-Math使用笔记
举报原因:
原因补充:

(最多只允许输入30个字)