一:简介
math3是Apache下的一款进行数学计算的一款java开源工具。jar包名称为:commons-math3-3.6.1.jar。
大家可以通过maven或者其他网站进行下载。 或者使用MAVEN
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
二:两组数组相减
- 首先我们看看在EXCEL中两个数组
- 两个数组对应的每个数字相减
- 在JAVA中使用math3计算
效果:public static void subtract() { double[][] arrayA = {{1.0},{2.0},{3.0},{4.0}}; double[][] arrayB = {{2.0},{5.0},{7.0},{9.0}}; //分别将两个二维数组转换为Array2DRowRealMatrix Array2DRowRealMatrix realMatrixA = new Array2DRowRealMatrix(arrayA); Array2DRowRealMatrix realMatrixB = new Array2DRowRealMatrix(arrayB); //两个数组间进行相减 Array2DRowRealMatrix subtract = realMatrixB.subtract(realMatrixA); System.out.println("相减后的矩阵数据:"+subtract); //获取矩阵的列数 getColumnDimension() int columnDimension = subtract.getColumnDimension(); System.out.println("矩阵的列数为:"+columnDimension); //获取矩阵的行数 int rowDimension = subtract.getRowDimension(); System.out.println("矩阵的行数为:"+rowDimension); //矩阵转化为数组 getdata double[][] data = subtract.getData(); System.out.println(Arrays.deepToString(data)); }
三:两数组相加
- EXCEL中结果
- java代码中实现
- 效果如下
四:两个数组相乘求和
- 如下我们有如下两个数组
数组A:[1,2,3,4]
数组B:[1,4,5,7]
sumproduct函数相当于=1*1+2*4+3*5+4*7=52 - 将其中一个数组行转列,使用mmult函数计算出相同结果
mmult函数需要注意的是:
a:第一个参数的列数,要等于第二个参数的行数。
b: 函数结果的行数与 array1 的行数相同,矩阵的列数与 array2 的列数相同。
如果不满足上面情况MMULT 返回错误值 #VALUE!: - 在java中使用math3实现
- 效果