JAVA/포스팅

자바 다차원 배열의 활용 행렬 연산 예제

짜집퍼박사(짜박) 2023. 11. 4. 16:38

자바를 사용하여 다차원 배열을 활용하여 행렬 연산을 수행하는 예제를 제공하겠습니다. 이 예제에서는 두 개의 행렬을 곱하고, 행렬 덧셈과 뺄셈을 수행하는 방법을 자세히 설명합니다.

 

public class MatrixOperations {
    public static void main(String[] args) {
        // 두 개의 행렬 초기화
        int[][] matrixA = {
            {1, 2, 3},
            {4, 5, 6},
        };

        int[][] matrixB = {
            {7, 8},
            {9, 10},
            {11, 12},
        };

        // 두 행렬의 곱셈
        int numRowsA = matrixA.length;
        int numColsA = matrixA[0].length;
        int numRowsB = matrixB.length;
        int numColsB = matrixB[0].length;

        // 결과 행렬 초기화
        int[][] result = new int[numRowsA][numColsB];

        // 행렬 곱셈 수행
        for (int i = 0; i < numRowsA; i++) {
            for (int j = 0; j < numColsB; j++) {
                for (int k = 0; k < numColsA; k++) {
                    result[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }

        // 결과 행렬 출력
        for (int i = 0; i < numRowsA; i++) {
            for (int j = 0; j < numColsB; j++) {
                System.out.print(result[i][j] + " ");
            }
            System.out.println();
        }
    }
}

위의 코드에서는 다음과 같은 단계를 따릅니다.

1. 두 개의 행렬 matrixA와 matrixB를 초기화합니다.
2. 각 행렬의 행과 열의 개수를 가져옵니다.
3. 결과 행렬 result를 초기화하고 곱셈 결과를 저장할 공간을 확보합니다.
4. 중첩된 반복문을 사용하여 행렬 곱셈 연산을 수행합니다.
5. 결과 행렬을 출력합니다.

행렬 곱셈은 각 행의 요소와 각 열의 요소를 조합하여 결과 행렬의 각 요소를 계산합니다.

이 예제에서는 행렬 곱셈을 보여주었지만, 동일한 방식으로 행렬 덧셈 및 뺄셈을 수행할 수 있습니다. 다차원 배열을 사용하여 행렬 연산을 모델링하고 수행하는 방법을 익히면 선형 대수와 관련된 복잡한 작업을 수행할 수 있습니다

 

With ChatGPT