इस लेख में, हम समझेंगे कि बहु-आयामी सरणियों का उपयोग करके मैट्रिक्स को कैसे गुणा किया जाए। मैट्रिक्स में इसके तत्वों की एक पंक्ति और स्तंभ व्यवस्था है। m पंक्तियों और n स्तंभों वाले मैट्रिक्स को m × n मैट्रिक्स कहा जा सकता है।
मैट्रिक्स में अलग-अलग प्रविष्टियों को तत्व कहा जाता है और इसे एक [i] [j] द्वारा दर्शाया जा सकता है जो बताता है कि तत्व a ith पंक्ति और jth कॉलम में मौजूद है।
नीचे उसी का एक प्रदर्शन है -
मान लीजिए कि हमारा इनपुट है -
First matrix: 2 3 4 5 2 3 4 6 9 Second matrix: 1 5 3 5 6 3 8 1 5
वांछित आउटपुट होगा -
The product of two matrices is: 49 32 35 39 40 36 106 65 75
एल्गोरिदम
Step 1 - START Step 2 - Declare three integer matrices namely input_matrix_1, input_matrix_1 and resultant_matrix Step 3 - Define the values. Step 4 - Iterate over each element of the both the matrices using for-loop, multiply the element at [i][j] position of the first matrix with each element of the row of the second matrix and add the values, store the value at [i][j] position of the resultant matrix. Repeat this for each element of the first matrix. Step 5 - Display the result Step 5 - Stop
उदाहरण 1
यहां, हम 'मेन' फंक्शन के तहत सभी ऑपरेशंस को एक साथ बांधते हैं।
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(); } } }
आउटपुट
The first matrix is defined as: 2 3 4 5 2 3 4 6 9 The second matrix is defined as: 1 5 3 5 6 3 8 1 5 The product of two matrices is: 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); } }
आउटपुट
The first matrix is defined as: 2 3 4 5 2 3 4 6 9 The second matrix is defined as: 1 5 3 5 6 3 8 1 5 The product of two matrices is: 49 32 35 39 40 36 106 65 75