java 矩阵的运算
首先需要引入包Jama-1.0.2.jar 这个包下封装的对矩阵运算的方法,包括矩阵的加减乘除逆运算等
包下载地址:https://math.nist.gov/javanumerics/jama/ 英语好的也可以看看api介绍
package test;
import Jama.Matrix;
public class Test {
public static void main(String[] args) {
//创建2个二维数组
double[][] a={{1,2,3},{4,5,6},{7,8,9}};
double[][] b={{4,5,6},{7,8,9},{10,11,12}};
//将数组转换成Matrix类型 new Matrix() 要求必须是double类型
Matrix A = new Matrix(a);
Matrix B = new Matrix(b);
//打印改数组 参数: 第一个是每一列的宽度,第二个是保留小数点位数
//A.print(0, 0);
//矩阵的操作
//相加 需要2个矩阵纬度一致,否则会报错,需要补零
Matrix plus = A.plus(B);
//相减
Matrix minus = A.minus(B);
//相乘
Matrix times = A.times(B);
//相除
Matrix division = A.arrayLeftDivide(B);
//转置
Matrix m1 = A.transpose();
//求逆 (前提是可逆的)
//Matrix m2 = A.inverse();
//set方法
A.set(0, 0, 10);//设置第1行第1列值为10
//get方法
System.out.println(A.get(0, 0));//第1行第1列的值
/*
* 函数getMatrix(0,2,0,0)表示取矩阵第一列元素,
* 第1、2个参数表示行的起始和结束(即从第一行到第三行),
* 第3、4个参数表示列的起始和结束(即从第0列到第0列)。
*/
A.getMatrix(0, 2, 0, 0).print(0, 0);
//拷贝
Matrix copy = A.copy();
//克隆
Matrix clone = (Matrix) A.clone();
}
}