English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai come utilizzare le funzioni in Java per moltiplicare due matrici.
Per eseguire la moltiplicazione delle matrici, il numero di colonne della prima matrice deve essere uguale al numero di righe della seconda matrice. Nel nostro esempio, ossia
c1 = r2
La dimensione finale della matrice somma è di r1 x c2, ossia
product[r1][c2]
Puoi ancheMoltiplicazione di due matrici senza funzioni.
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}}; // Moltiplica due matrici int[][] product = multiplyMatrices(firstMatrix, secondMatrix, r1, c1, c2); // Visualizza il risultato 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("Il prodotto delle due matrici è: "); for (int[] row : product) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
Quando si esegue il programma, l'output è:
Il prodotto delle due matrici è: 24 29 6 25
Nel programma sopra, ci sono due funzioni:
multiplyMatrices() - Moltiplica due matrici date e restituisce la matrice di prodotto
displayProduct() - Visualizza l'output della matrice di prodotto sulla schermata.
La moltiplicazione avviene come:
|- (a11 x b11) + (a12 x b21) + (a13 x b31) (a11 x b12) + (a12 x b22) + (a13 x b32) -| |_ (a21 x b11) + (a22 x b21) + (a23 x b31) (a21 x b12) + (a22 x b22) + (a23 x b32) _|
Nel nostro esempio, accade che:
|- (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 _|