이 튜토리얼에서는 행렬의 행렬식을 찾는 방법을 배울 것입니다.
행렬의 행렬식을 찾는 단계를 살펴보겠습니다.
-
매트릭스를 초기화합니다.
-
행렬의 행렬식을 찾는 함수를 작성하세요.
-
행렬의 크기가 1 또는 2이면 행렬의 행렬식을 찾습니다. 간단합니다.
-
행렬식, 부분행렬, 부호에 대한 변수를 초기화합니다.
-
1에서 행렬 N의 크기까지 반복합니다.
-
현재 행렬 요소에 대한 부분 행렬을 찾습니다.
-
현재 요소의 행과 열에 없는 모든 요소
-
-
현재 요소와 보조 인자의 곱을 행렬식에 추가합니다.
-
기호를 변경하십시오.
-
-
행렬의 행렬식을 인쇄합니다.
예
코드를 봅시다.
#include <bits/stdc++.h> using namespace std; #define N 3 void subMatrix(int mat[N][N], int temp[N][N], int p, int q, int n) { int i = 0, j = 0; // filling the sub matrix for (int row = 0; row < n; row++) { for (int col = 0; col < n; col++) { // skipping if the current row or column is not equal to the current // element row and column if (row != p && col != q) { temp[i][j++] = mat[row][col]; if (j == n - 1) { j = 0; i++; } } } } } int determinantOfMatrix(int matrix[N][N], int n) { int determinant = 0; if (n == 1) { return matrix[0][0]; } if (n == 2) { return (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]); } int temp[N][N], sign = 1; for (int i = 0; i < n; i++) { subMatrix(matrix, temp, 0, i, n); determinant += sign * matrix[0][i] * determinantOfMatrix(temp, n - 1); sign = -sign; } return determinant; } int main() { int mat[N][N] = {{2, 1, 3}, {6, 5, 7}, {4, 9, 8}}; cout << "Determinant: " << determinantOfMatrix(mat, N) << endl; return 0; }
출력
위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Determinant: 36
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.