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();
	}

}

 

posted @ 2018-12-12 09:28  诸葛小朙  阅读(2421)  评论(0编辑  收藏  举报