Java中矩阵运算(math3的使⽤)
本⽂作者:合肥⼯业⼤学 管理学院 钱洋 email:1563178220@qq 内容可能有不到之处,欢迎交流。
未经本⼈允许禁⽌转载。
math3简介
math3是Apache下的⼀款进⾏数学计算的⼀款java开源⼯具。jar包名称为:commons-math3-3.6.1.jar。⼤家可以通过maven或者其他⽹站进⾏下载。
math3中的矩阵操作
由于在写算法时,经常遇到矩阵的运算,如数组转化为矩阵,矩阵的逆,矩阵的转置,矩阵的乘法,矩阵转为数组等等。下⾯写了⼀个⼩程序演⽰⼀下,相关操作。具体请看注释。
hod;
import org.apachemons.math3.linear.Array2DRowRealMatrix;
import org.apachemons.math3.linear.LUDecomposition;
import org.apachemons.math3.linear.RealMatrix;
/*
* author:合肥⼯业⼤学管院学院钱洋
*1563178220@qq
*博客地址:blog.csdn/qy20115549/
*/
public class MathMethod {
public static void main(String args[]){
double b [][] = new double[5][5];
for(int i = 0; i < b.length; i++) {
b[i][i] = 1;
}
//将数组转化为矩阵
RealMatrix matrix = new Array2DRowRealMatrix(b);
System.out.println("创建的数组为:\t"+matrix);
//获取矩阵的列数 getColumnDimension()
System.out.println("矩阵的列数为:\t"+ColumnDimension());
//获取矩阵的⾏数
System.out.println("矩阵的⾏数为:\t"+RowDimension());
//获取矩阵的某⼀⾏,返回,仍然为矩阵
System.out.println("矩阵的第⼀⾏为:\t"+ RowMatrix(0));
//获取矩阵的某⼀⾏,返回,转化为向量
System.out.println("矩阵的第⼀⾏向量表⽰为:\t"+ RowVector(1) );
//矩阵的乘法
double testmatrix[][] = new double[2][2];
testmatrix[0][0] = 1;
testmatrix[0][1] = 2;
testmatrix[1][0] = 3;
testmatrix[1][1] = 4;
RealMatrix testmatrix1 = new Array2DRowRealMatrix(testmatrix);
System.out.println("两个矩阵相乘后的结果为:\t"+testmatrix1.multiply(testmatrix1) );
//矩阵的转置
System.out.println("转置后的矩阵为:\t"+anspose());
/
/矩阵求逆
RealMatrix inversetestMatrix = inverseMatrix(testmatrix1);
System.out.println("逆矩阵为:\t"+inversetestMatrix);
java面试题csdn//矩阵转化为数组 getdata
double matrixtoarray[][]=Data();
System.out.println("数组中的某⼀个数字为:\t"+matrixtoarray[0][1]);
}
//求逆函数
public static RealMatrix inverseMatrix(RealMatrix A) {
RealMatrix result = new LUDecomposition(A).getSolver().getInverse();
return result;
}
}
演⽰结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。