English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램에서 다차원 배열을 사용하여 두 행렬을 곱합니다

Java 예제 모든 것

이 프로그램에서는 Java의 다차원 배열을 사용하여 두 행렬을 곱하는 방법을 배울 것입니다.

행렬 곱셈을 수행하려면, 첫 번째 행렬의 열 수는 두 번째 행렬의 행 수와 일어야 합니다. 예제에서는 이렇게 됩니다.

c1 = r2

결과 행렬의 크기는 r1 x c2، 즉

product[r1][c2]

또한,함수를 사용하여 두 개의 행렬을 곱합니다

예제: 두 행렬을 곱하는 프로그램

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};
        // 두 행렬을 곱합니다
        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];
                }
            }
        }
        //결과 표시
        System.out.println("두 개의 행렬의 합은: ");
        for(int[] row : product) {
            for (int column : row) {
                System.out.print(column + "    ");
            }
            System.out.println();
        }
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

두 개의 행렬의 합은 다음과 같습니다:
24    29    
6    25

위의 프로그램에서는 다음과 같이 곱셈이 발생합니다:

|-    (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)    _|

우리의 예제에서는 다음과 같이 발생합니다:

|-    (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    _|

Java 예제 모든 것