首先需要引入包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();
}
}