Java 中查找下三角矩阵和上三角矩阵的乘积
在 Java 中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的值。Java 中的矩阵只不过是一个多维数组,它表示多行和多列。
三角矩阵 - 如果方阵中对角线以上或以下的所有元素都为零,则该方阵称为三角矩阵。
下三角矩阵 - 如果方阵中对角线以上的所有元素都为零,则该方阵称为下三角矩阵。
上三角矩阵 - 如果方阵中对角线以下的所有元素都为零,则该方阵称为上三角矩阵。
根据问题陈述,我们必须找到给定的下三角矩阵和上三角矩阵之间的乘积。
公式
矩阵 1
A B C D
矩阵 2
E F G H
乘积
Matrix-1 * Matrix-2: AE+BG AF+BH CE+DG CF+DH
让我们深入研究本文,了解如何使用 Java 编程语言来实现它。
向您展示一些示例
示例 1
假设下三角矩阵 =
{{12, 0, 0}, {43, 3, 0}, {3, 8, 9}}
假设上三角矩阵 =
{{5, 2, 1}, {0, 7, 10}, {0, 0, 4}}
这两个矩阵的乘积为
60 24 12 215 107 73 15 62 119
示例 2
假设下三角矩阵 =
{{1, 0, 0}, {2, 3, 0}, {4, 5, 6}}
假设上三角矩阵 =
{{7, 8, 9}, {0, 10, 11}, {0, 0, 12}}
这两个矩阵的乘积为
7 8 9 14 46 51 28 82 163
算法
步骤 1 - 声明并初始化两个整数类型多维数组。
步骤 2 - 使用嵌套 for 循环根据公式执行乘积过程。
步骤 3 - 在每次计算后,将元素存储在乘积矩阵数组的相应行和列中。
步骤 4 - 打印计算出的乘积矩阵作为输出。
语法
要获取数组的长度(数组中的元素数量),数组有一个内置属性,即length
下面是它的语法:
array.length
其中,“数组”指的是数组引用。
多种方法
我们提供了不同方法的解决方案。
使用数组元素的静态初始化
使用用户定义的方法
让我们逐一查看程序及其输出。
方法 1:使用数组元素的静态初始化
在这种方法中,多维数组元素将在程序中初始化。然后根据算法,下三角矩阵和上三角矩阵的乘积将作为输出打印。
示例
public class Main { public static void main(String[] args) { int r, c; // Declare and initializing two matrices int[][] LowerTriMat = {{12, 0, 0}, {43, 3, 0}, {3, 8, 9}}; int[][] upperTriMat = {{5, 2, 1}, {0, 7, 10}, {0, 0, 4}}; // Calculating the number of rows and columns present in matrices r = LowerTriMat.length; c = LowerTriMat[0].length; // Declare the product matrix int[][] prodMatrix = new int[r][c]; //initiating the loop to find the product of two matrices for(int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { for (int k = 0; k < c; k++) { prodMatrix[i][j] += LowerTriMat[i][k] * upperTriMat[k][j]; } } } // output result System.out.println("The Product matrix of two matrices is: "); for(int[] row : prodMatrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
输出
The Product matrix of two matrices is: 60 24 12 215 107 73 15 62 119
方法 2:使用用户定义的方法
在这种方法中,数组元素将在程序中初始化。然后通过将数组作为参数调用用户定义的方法,并在方法内部根据算法,下三角矩阵和上三角矩阵的乘积将作为输出打印。
程序
public class Main { public static void main(String[] args){ // Declare and initializing two matrices int[][] LowerTriangularMatrix = { {1, 0, 0}, {2, 3, 0}, {4, 5, 6} }; int[][] upperTriangularMatrix = { {7, 8, 9}, {0, 10, 11}, {0, 0, 12} }; productMat(LowerTriangularMatrix, upperTriangularMatrix); } public static void productMat(int[][] LowerTriMat,int[][] upperTriMat) { // declare the variables //and store the number of rows and columns present in matrices int r = LowerTriMat.length; int c = LowerTriMat[0].length; // Declare and initialize the product matrix int[][] prodMatrix = new int[r][c]; //initiating the loop to find the product of two matrices for(int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { for (int k = 0; k < c; k++) { prodMatrix[i][j] += LowerTriMat[i][k] * upperTriMat[k][j]; } } } // output result System.out.println("The Product matrix of two matrices is: "); for(int[] row : prodMatrix){ for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
输出
The Product matrix of two matrices is: 7 8 9 14 46 51 28 82 163
在本文中,我们探讨了使用 Java 编程语言查找下三角矩阵和上三角矩阵之间乘积的不同方法。
广告