크래머 공식 (Crammer's Rule)
크라메르의 법칙, 크라메르의 공식이라고도 불리는 크래머 공식은 스위스 수학자 가브리엘 크라메르에 의해 1700년대에 만들어진 공식입니다. 크래머 공식은 적은 미지수의 연립 방정식을 해결하기에 좋은 해법이 될 수 있으나 미지수가 늘어나게 되면 계산하는데 시간이 오래 걸려 비효율적입니다.
1. 크래머 공식 계산 방법
크래머 공식을 사용하기 위해서 우선 행렬식(Determinant)를 계산하여야합니다.
행렬식은 아래와 같은 행렬이 존재할 때,
$$ \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\\end{bmatrix}\begin{bmatrix} x_{1}\\x_{2} \end{bmatrix} = \begin{bmatrix} b_{11}\\b_{21} \end{bmatrix}$$
아래와 같이 표현되며 크래머 공식의 분모항에 사용됩니다.
$$ D = \begin{vmatrix} a_{11}& a_{12} \\ a_{21}& a_{22} \\ \end{vmatrix} = a_{11}a_{22}-a_{12}a_{21}$$
크래머 공식의 분자항은 \(x_{1}\)의 해를 계산할 경우 \(x_{1}\)의 계수를 제외하고 그 위치에 방정식의 해 \(b_{11}\) 과 \(b_{21}\)를 배치합니다. \(x_{2}\)의 계수는 원래 열에 그대로 배치합니다.
분자항과 분모항을 구성하였다면 \(x_{1}\)과 \(x_{2}\)를 계산하기 위한 크래머 공식은 아래와 같습니다.
$$ x_{1} = \frac{\begin{vmatrix} b_{11} & a_{21} \\ b_{21} & a_{22} \\ \end{vmatrix}}{D} $$
$$ x_{2} = \frac{\begin{vmatrix} a_{11} & b_{11} \\ a_{12} & b_{21} \\ \end{vmatrix}}{D} $$
미지수가 3개인 방정식을 해결할 경우에도 방법은 같습니다.
$$ a_{11}x_{1} + a_{12}x_{2} + a_{13}x_{3} = b_{11}$$
$$ a_{21}x_{1} + a_{22}x_{2} + a_{23}x_{3} = b_{21}$$
$$ a_{31}x_{1} + a_{32}x_{2} + a_{33}x_{3} = b_{31}$$
크래머 공식의 분모항에 사용할 행렬식(Determinant)을 계산합니다.
$$ D = a_{11}\begin{vmatrix} a_{22}& a_{23} \\ a_{32}& a_{33} \\ \end{vmatrix}-a_{12}\begin{vmatrix} a_{21}& a_{23} \\ a_{31}& a_{33}\\ \end{vmatrix}+a_{13}\begin{vmatrix} a_{21}& a_{22} \\ a_{31}& a_{32} \\ \end{vmatrix}$$
아래의 크래머 식을 풀면 \(x_{1}\), \(x_{2}\), \(x_{3}\)의 해를 구할 수 있습니다.
$$ x_{1}=\frac{\begin{vmatrix} b_{11}&a_{12}&a_{13} \\b_{21}&a_{22}&a_{23}\\b_{31}&a_{32}&a_{33}\\ \end{vmatrix}}{D} $$
$$ x_{2}=\frac{\begin{vmatrix} a_{11}&b_{11}&a_{13} \\a_{21}&b_{21}&a_{23}\\a_{31}&b_{31}&a_{33}\\ \end{vmatrix}}{D} $$
$$ x_{3}=\frac{\begin{vmatrix} a_{11}&a_{12}&b_{11} \\a_{21}&a_{22}&b_{21}\\a_{31}&a_{32}&b_{31}\\ \end{vmatrix}}{D} $$
2. MATLAB 활용한 크래머 공식 풀기
MATLAB을 활용하여 아래 3개의 미지수를 가지는 연립방정식의 해를 구해보겠습니다.
$$0.5x_{1}+0.3x_{2}+0.1x_{3} = 2 $$
$$ x_{1} - 0.7x_{2} + 0.3x_{3} = 1 $$
$$ x_{1} + 0.5x_{2} + 0.9x_{3} = 5 $$
아래의 MATLAB 코드를 실행하면 행렬식과 \(x_{1}\), \(x_{2}\), \(x_{3}\)의 해를 얻을 수 있습니다.
clc; clear;
A = [0.5, 0.3, 0.1; 1, -0.7, 0.3; 1, 0.5, 0.9]
y = [2, 1, 5]';
A1 = A; A1(:,1) = y;
A2 = A; A2(:,2) = y;
A3 = A; A3(:,3) = y;
D = det(A)
x1 = det(A1)/D
x2 = det(A2)/D
x3 = det(A3)/D
$$ \therefore D = -0.45 $$
$$ \therefore x_{1} = 2.1778 $$
$$ \therefore x_{2} = 2.4444 $$
$$\therefore x_{3} = 1.7778 $$
'수치해석' 카테고리의 다른 글
테일러 급수 설명 및 MATLAB 활용 계산 (0) | 2023.05.09 |
---|---|
Newton-Raphson Method 소개 및 코드 구현 (0) | 2023.05.07 |