`
xiangxuehai_jiaer
  • 浏览: 92364 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

JAVA实现矩阵

 
阅读更多
import java.util.Random;

//矩阵类
public class Matrix {

	private int[][] matrix;

	Random random = new Random();

	// 构造方法
	public Matrix() {
		matrix = new int[3][3];

	}

	public Matrix(int n) {
		matrix = new int[n][n];

		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				matrix[i][j] = random.nextInt(100);
			}
		}
	}

	public Matrix(int n, int m) {
		matrix = new int[n][m];

		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				matrix[i][j] = random.nextInt(100);
			}
		}
	}

	public int[][] getMatrix() {
		return matrix;
	}

	// 输出矩阵中所有元素
	public void output() {
		for (int i = 0; i < matrix.length; i++) {
			for (int j = 0; j < matrix[i].length; j++) {
				System.out.print(matrix[i][j] + "\t");
			}
			System.out.println();
		}
	}

	// 求一个矩阵的转置矩阵
	public Matrix transpose() {

		int n = matrix.length;
		int m = matrix[0].length;

		Matrix transMatrix = new Matrix(n, m);

		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				transMatrix.getMatrix()[i][j] = matrix[j][i];
			}
		}

		return transMatrix;
	}

	// 判断一个矩阵是否为上三角矩阵
	public boolean isTriangular() {

		// 用相反的思路进行判断
		for (int i = 1; i < matrix.length; i++) {
			for (int j = 0; j < i; j++) {
				if (matrix[i][j] != 0) {
					return false;
				}
			}
		}

		return true;
	}

	// 判断是否为对称矩阵
	public boolean isSymmetry() {

		for (int i = 1; i < matrix.length; i++) {
			for (int j = 0; j < matrix[i].length; j++) {
				if (matrix[i][j] != matrix[j][i]) {
					return false;
				}
			}
		}

		return true;
	}

	// 矩阵的相加
	public void add(Matrix b) {

		int[][] matrixOfB = b.getMatrix();

		int n = matrixOfB.length;
		int m = matrixOfB[0].length;

		if (n != matrix.length || m != matrix[0].length) {
			System.out.println("矩阵的长度不一致,不能相加");
		} else {
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < m; j++) {
					matrix[i][j] += matrixOfB[i][j];
				}
			}

		}
	}

	public static void main(String[] args) {

		//测试
		Matrix test1 = new Matrix(4);

		System.out.println("原始矩阵");
		test1.output();

		Matrix transMatrix = test1.transpose();

		System.out.println("转置矩阵");
		transMatrix.output();

		System.out.println("是否是上三角矩阵");
		System.out.println(test1.isTriangular());

		System.out.println("是否是对称矩阵");
		System.out.println(test1.isSymmetry());

		System.out.println("----------------------");

		Matrix test2 = new Matrix();

		test2.output();

		System.out.println(test2.isTriangular());
		System.out.println(test2.isSymmetry());
		
		System.out.println("----------------------");
		
		Matrix test3 = new Matrix(4);
		Matrix test4 = new Matrix(4);
		
		test3.add(test2);
		
		System.out.println("矩阵1");
		test3.output();
		System.out.println("矩阵2");
		test4.output();
		
		System.out.println("矩阵相加");
		test3.add(test4);
		
		test3.output();
	}

}

 

分享到:
评论
2 楼 南楚懿 2015-04-14  
1 楼 josico 2013-05-19  
矩阵 如何进行与操作呢?

相关推荐

    java实现矩阵的基本运算。

    在Java编程环境中,矩阵的基本运算是...以上就是关于Java实现矩阵基本运算的知识点详解,这些概念和操作是计算机科学,尤其是数值分析和科学计算中的基础。理解和掌握这些,能够帮助开发者解决涉及线性系统的各种问题。

    java实现矩阵转置

    本代码展示了矩阵的转置,通过提示,输入想要转置的矩阵,完成该矩阵的转置

    JAVA实现矩阵加减乘除求逆运算.doc

    JAVA实现矩阵加减乘除求逆运算 矩阵运算是线性代数中的一种基本操作,包括矩阵加减乘除和求逆运算。JAVA语言可以实现这些运算操作,本文将详细介绍JAVA实现矩阵加减乘除求逆运算的方法。 矩阵加法是将两个矩阵相加...

    用java实现矩阵的转置和矩阵的相乘

    用java实现矩阵的转置和矩阵的相乘,就是一个很简单的小程序,初次学java,试着编的,比较简单,仅供参考

    java实现矩阵.pdf

    下面将详细解释如何使用Java实现矩阵,包括矩阵的初始化、输出、转置、判断上三角矩阵和对称矩阵,以及矩阵的相加操作。 首先,我们创建一个名为`Matrix`的类来表示矩阵。这个类包含一个二维整数数组`matrix`来存储...

    Java 实现矩阵转置(源代码)

    ### Java 实现矩阵转置(源代码)详解 #### 知识点概述 本文将详细介绍如何使用Java语言来实现矩阵转置的操作。矩阵转置是一个常见的数学运算,在计算机科学、图像处理、机器学习等多个领域都有广泛应用。对于一个...

    java实现矩阵[参考].pdf

    总之,这个`Matrix`类是Java实现矩阵运算的一个简单实例,它包含了基本的矩阵初始化、访问、以及一些基本的矩阵操作。通过扩展这个类,可以构建更复杂的矩阵计算库,适用于各种科学计算和数据分析任务。

    java实现矩阵的加-减-乘-转置运算.docx

    Java 实现矩阵的加减乘转置运算 Java 语言是当前最流行的编程语言之一,它广泛应用于移动应用程序、Web 应用程序、企业软件和桌面应用程序等领域。Java 语言具有平台独立性、 objeto-oriented 和动态链接等特点,...

    Java实现的求逆矩阵算法示例

    Java实现的求逆矩阵算法示例 本文主要介绍了Java实现的求逆矩阵算法,涉及java基于数组的矩阵遍历与运算相关操作技巧。下面将详细介绍该算法的实现细节。 矩阵逆矩阵算法 矩阵逆矩阵算法是线性代数中的一种重要...

    Java实现矩阵连乘问题

    在"WorkDemo_06"这个文件中,很可能包含了实现这一动态规划解决方案的Java代码。通过分析和运行这段代码,我们可以更直观地理解动态规划在解决矩阵连乘问题中的应用,同时也可以学习到如何在实际编程中实现这种高效...

    java实现矩阵相加

    简单程序,可提供参考

    Java实现矩阵运算

    Java 实现的矩阵运算,加减乘逆反阵。

    矩阵计算器(利用JAVA实现)

    利用JAVA实现的一个简单的矩阵计算器,可以实现矩阵间的加法,减法和乘法,有详细的注释

    矩阵转置的java实现

    矩阵转置的java实现,使用java实现矩阵的转置运算

    (Java语言实现的矩阵的基本运算)矩阵的加法乘法.rar

    在Java实现矩阵运算时,可以创建一个Matrix类,包含二维数组作为矩阵元素,以及加法和乘法的方法。加法方法可以直接遍历两个矩阵的对应元素进行加法操作,而乘法方法需要三个嵌套循环:外层循环遍历结果矩阵的行,...

    矩阵链相乘算法

    用C++实现的矩阵链相乘算法,并包含大量的注释,对理解程序很有帮助

    用Java实现图形的仿射变换

    Java2D库提供了一套强大的工具,用于实现包括仿射变换在内的各种图形操作。本文将深入探讨如何利用Java2D来实现图形的沿某一直线的伸缩变换。 首先,我们需要理解什么是仿射变换。在二维空间中,仿射变换包括平移、...

    矩阵行列式计算的java实现

    使用java实现矩阵行列式的计算,下载者可根据自身需要进行修改

Global site tag (gtag.js) - Google Analytics