java实现矩阵乘法

题目:试编程实现矩阵乘法


代码:

1.首先需要有两个矩阵,这里用二维数组来表示,通过键入的方式填充二维数组

  

Scanner input = new Scanner(System.in);	
		int m1Hang = 0;  //m1的行数
		int m1Lie = 0;  //m1的列数
		System.out.print("请输入第一个行列式的行数:");  
		m1Hang = input.nextInt();  //通过用户输入来定义m1的行数
		System.out.print("请输入第一个行列式的列数:");
		m1Lie = input.nextInt();  //通过用户输入来定义m1的列数
		double[][] m1 = new double[m1Hang][m1Lie];  //因为数组初始化都需要确定大小,所以把用户输入的信息作为行和列定义 m1的大小
		for(int i=0;i

2.有了两个二维数组了,就可以进行乘法运算了。这里使用方法来实现,写一个matrixMultiplier的 方法。这个方法首先应该做判断,如果输入的二维数组不是矩阵,也就是说应先判断m1每一行的列数是否相等以及m2每一行的列数是否相等,只要满足这个条件才是矩阵。还要做一个判断,就是看m1的列数和m2的行数是否相等,否则不能进行行列式的运算。之后就进行行列式运算,这里的算法思路如下图:

java实现矩阵乘法_第1张图片

最后代码如下:

public static double[][] matrixMultiplier(double[][] m1,double[][] m2){
		int m1Col = 0;  //m1的列数
		int m2Row = 0;  //m2的行数
		int m1Row = 0;  //m1的行数
		int sum = 0;  
		for(int i=0;i


有了这个计算矩阵相乘的方法后,再在主方法中使用这个方法就好了:

matrixMultiplier(m1,m2);

最后的运行结果如下图:

java实现矩阵乘法_第2张图片

java实现矩阵乘法_第3张图片

你可能感兴趣的:(java)