In dit programma leer je twee matrices te vermenigvuldigen met een functie in Java.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-arrays
- Java Multidimensionale Arrays
Om matrixvermenigvuldiging te laten plaatsvinden, moet het aantal kolommen van de eerste matrix gelijk zijn aan het aantal rijen van de tweede matrix. In ons voorbeeld, dwz
c1 = r2
Ook heeft de uiteindelijke productmatrix een afmeting r1 x c2
, dwz
product (r1) (c2)
U kunt ook twee matrices zonder functies vermenigvuldigen.
Voorbeeld: programma om twee matrices te vermenigvuldigen met een functie
public class MultiplyMatrices ( public static void main(String() args) ( int r1 = 2, c1 = 3; int r2 = 3, c2 = 2; int()() firstMatrix = ( (3, -2, 5), (3, 0, 4) ); int()() secondMatrix = ( (2, 3), (-9, 0), (0, 4) ); // Mutliplying Two matrices int()() product = multiplyMatrices(firstMatrix, secondMatrix, r1, c1, c2); // Displaying the result displayProduct(product); ) public static int()() multiplyMatrices(int()() firstMatrix, int()() secondMatrix, int r1, int c1, int c2) ( int()() product = new int(r1)(c2); for(int i = 0; i < r1; i++) ( for (int j = 0; j < c2; j++) ( for (int k = 0; k < c1; k++) ( product(i)(j) += firstMatrix(i)(k) * secondMatrix(k)(j); ) ) ) return product; ) public static void displayProduct(int()() product) ( System.out.println("Product of two matrices is: "); for(int() row : product) ( for (int column : row) ( System.out.print(column + " "); ) System.out.println(); ) ) )
Uitvoer
Product van twee matrices is: 24 29 6 25
In het bovenstaande programma zijn er twee functies:
multiplyMatrices()
die de twee gegeven matrices vermenigvuldigt en de productmatrix retourneertdisplayProduct()
die de output van de productmatrix op het scherm weergeeft.
De vermenigvuldiging vindt plaats als:
| - (een 11 xb 11 ) + (een 12 xb 21 ) + (een 13 xb 31 ) (een 11 xb 12 ) + (een 12 xb 22 ) + (een 13 xb 32 ) - | | _ (een 21 xb 11 ) + (een 22 xb 21 ) + (een 23 xb 31 ) (een 21 xb 12 ) + (een 22 xb 22 ) + (een 23 xb 32) _ |
In ons voorbeeld vindt het plaats als:
| - (3 x 2) + (-2 x -9) + (5 x 0) = 24 (3 x 3) + (-2 x 0) + (5 x 4) = 29 - | | _ (3 x 2) + (0 x -9) + (4 x 0) = 6 (3 x 3) + (0 x 0) + (4 x 4) = 25 _ |