English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai a moltiplicare due matrici utilizzando array multidimensionali in Java.
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 di prodotto è r1 x c2, ossia
product[r1][c2]
Puoi ancheUsare una funzione per moltiplicare due matrici.
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}}; //Moltiplicazione delle due matrici 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]; } } } //Mostra il risultato System.out.println("La somma delle due matrici è: "); for (int[] row : product) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
L'output del programma è:
La somma delle due matrici è: 24 29 6 25
Nella programmazione sopra, 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, ciò accade come:
|- (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 _|