이번 포스팅에서는 수치적분법 중 하나인 유한차분법에 대해 알아보겠습니다.
(출처: Chapra의 응용수치해석 3rd edition, Steven C. Chapra 저)
유한차분법(Finite Difference Method)
유한차분법은 미분방정식을 도함수의 근사값을 사용하여 푸는 방법으로
유한차분방정식은 전방(forward), 후방(backward), 중앙(central) 차분법 등
세가지로 나눌 수 있으며, 각 식은 Taylor 급수 전개를 통해 유도 가능합니다.
유도(derivation) 과정
Taylor 급수 전개를 통해 각 유한차분방정식을 유도해 보겠습니다.
우선 아래 그림과 같은 형태를 가지는 함수 $f(x)$가 존재한다고 가정하고,
음과 양의 방향으로 $h$만큼 떨어진 거리의 함수값을 생각해봅시다.
전방유한차분법(forward finite difference method)
$x$와 $x+h$을 중심으로하여 Taylor 급수 전개를 합니다.
$$f(x+h) = f(x) + hf'(x)+\frac{h^2}{2!}f''(x)+\frac{h^3}{3!}f'''(x)+... \tag{1}$$
여기서 $h^2$ 이후의 항을 소거하여 식을 정리하면
$$f'(x) = \frac{f(x+h)-f(x)}{h}$$
따라서 도함수 $f'(x)$는 전방유한차분법에 의해 $\frac{f(x+h)-f(x)}{h}$로 근사하여
미분방정식을 풀 수 있습니다.
이 때 근사로 인한 오차의 크기는 $O(h^2)$입니다.
후방유한차분법(backward finite difference method)
전방유한차분법과는 반대로 $x-h$와 $x$을 중심으로하여 Taylor 급수 전개를 합니다.
$$f(x-h) = f(x) - hf'(x)+\frac{h^2}{2!}f''(x)-\frac{h^3}{3!}f'''(x)+... \tag{2}$$
마찬가지로 여기서도 $h^2$ 이후의 항을 소거하여 식을 정리하면
$$f'(x) = \frac{f(x)-f(x-h)}{h}$$
따라서 도함수 $f'(x)$는 후방유한차분법에 의해 $\frac{f(x)-f(x-h)}{h}$로 근사할 수 있습니다.
이 역시 근사로 인한 오차의 크기는 $O(h^2)$입니다.
중앙유한차분법(central finite difference method)
앞서 설명드린 두가지 방법에 비해 일반적으로 중앙유한차분법은
좀 더 정확한 방법으로 여겨집니다.
앞에서 Taylor 급수 전개했던 식 (1)과 식 (2)를 이용하여 유도할 수 있는데요.
식 (1)에서 식 (2)를 빼겠습니다. 그러면 아래와 같이 정리됩니다.
$$f(x+h)-f(x-h) = 2hf'(x)+\frac{2h^3}{3!}f'''(x)+... \tag{3}$$
$h^2$ 이후의 항을 소거하여 식을 정리하면 도함수 $f'(x)$는 아래와 같이 근사됩니다.
$$f'(x) = \frac{f(x+h)-f(x-h)}{2h}$$
여기에서 근사로 인한 오차의 크기는 $O(h^3)$입니다.
여기까지 유한차분법에 대하여 설명드렸습니다.
'공학 > 수치해석' 카테고리의 다른 글
[수치해석] 이분법(bisection method) (0) | 2021.09.05 |
---|---|
[수치해석] 오일러(Euler)법 (0) | 2021.09.05 |
[수치해석] 가우스-자이델(Gauss-Seidel) 법 (6) | 2021.07.30 |
[수치해석] LU decomposition/factorization (LU 분해법) (0) | 2021.07.29 |
[수치해석] Gaussian elimination(가우스 소거법) (0) | 2021.07.28 |