使用多维数组乘以矩阵的 Java 程序
javacampus interviewserver side programmingprogramming更新于 2024/8/10 11:35:00
在本文中,我们将了解如何使用多维数组乘以矩阵。矩阵的元素按行和列排列。具有 m 行和 n 列的矩阵可以称为 m × n 矩阵。
矩阵中的各个条目称为元素,可以用 a[i][j] 表示,这表明元素 a 存在于第 i 行和第 j 列。
下面是相同的演示 −
假设我们的输入是 −
第一个矩阵: 2 3 4 5 2 3 4 6 9 第二个矩阵: 1 5 3 5 6 3 8 1 5
期望的输出将是 −
两个矩阵的乘积是: 49 32 35 39 40 36 106 65 75
算法
步骤 1 - 开始 步骤 2 - 声明三个整数矩阵,即 input_matrix_1、input_matrix_1 和 resultant_matrix 步骤 3 - 定义值。 步骤 4 - 使用 for 循环对两个矩阵的每个元素进行迭代,将第一个矩阵的 [i][j] 位置上的元素与第二个矩阵的行的每个元素相乘,并将值相加,将值存储在结果矩阵的 [i][j] 位置上。对第一个矩阵的每个元素重复此操作。 步骤 5 - 显示结果 步骤 5 - 停止
示例 1
在这里,我们将所有操作都绑定在‘main’函数下。
public class MultiplyMatrices { public static void main(String[] args) { int matrix_size = 3; int[][] input_matrix_1 = { {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("The first matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_1[i][j] + " "); } System.out.println(); } int[][] input_matrix_2 = { {1, 5, 3}, {5, 6, 3}, {8, 1, 5} }; System.out.println("The second matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_2[i][j] + " "); } System.out.println(); } int[][] resultant_matrix = new int[matrix_size][matrix_size]; for(int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { for (int k = 0; k < matrix_size; k++) { resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; } } } System.out.println("\n The product of two matrices is: "); for(int[] row : resultant_matrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
输出
第一个矩阵定义为: 2 3 4 5 2 3 4 6 9 第二个矩阵定义为: 1 5 3 5 6 3 8 1 5 两个矩阵的乘积为: 49 32 35 39 40 36 106 65 75
示例 2
在这里,我们将操作封装成展现面向对象编程的函数。
public class MultiplyMatrices { static int matrix_size = 3; static void multiply(int input_matrix_1[][], int input_matrix_2[][]){ int[][] resultant_matrix = new int[matrix_size][matrix_size]; for(int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { for (int k = 0; k < matrix_size; k++) { resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; } } } System.out.println("\n The product of two matrices is: "); for(int[] row : resultant_matrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } public static void main(String[] args) { int matrix_size = 3; int[][] input_matrix_1 = { {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("The first matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_1[i][j] + " "); } System.out.println(); } int[][] input_matrix_2 = { {1, 5, 3}, {5, 6, 3}, {8, 1, 5} }; System.out.println("The second matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_2[i][j] + " "); } System.out.println(); } multiply(input_matrix_1, input_matrix_2); } }
输出
第一个矩阵定义为: 2 3 4 5 2 3 4 6 9 第二个矩阵定义为: 1 5 3 5 6 3 8 1 5 两个矩阵的乘积为: 49 32 35 39 40 36 106 65 75