라그랑주 보간법(Lagrangian Interpolation)
라그랑주 보간법
보간법이란 불연속적인 데이터를 이용하여 사이 구간의 값을 추정하는 방법입니다. 라그랑주 보간법(Lagrangian Interpolation)은 n+1개의 좌표로 n차 다항식을 만드는 방법입니다. 계산과정이 단순무식하면서도 흥미로운 부분이 있어 소개하려 합니다. 식을 유도과정이 필요하다기보다 몇번 손으로 따라 써보면 어떤 논리로 만들어진 식인지 바로 이해가 될 것입니다.
이미지 출처 : http://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.html
기본 아이디어
1. n+1개의 데이터로 n차 함수를 만든다.
2. 특정 숫자를 대입하면 0이나 1의 값을 갖는 항을 만든다.
3. (x-a)를 곱해주면 x에 a값을 대입할 때 0이 된다.
4. (x-a)를 (b-a)로 나누면, x에 b를 대입했을 때 1이 된다.
일차함수
두 점 $(x_0, y_0)$, $(x_1, y_1)$가 주어졌을 때, 라그랑주 보간식은 다음과 같습니다.
라그랑주 보간식의 핵심은 $y_0$과 $y_1$ 앞에 붙어있는 항에 있습니다. $x$에 $x_0$를 대입하면 $y_0$에 곱해진 항은 1이 되고, $y_1$에 곱해진 항은 0이 됩니다. 따라서 이 식의 그래프는 점 $(x_0, y_0)$를 지납니다. 마찬가지로 $x_1$를 대입하면 $(x_1, y_1)$를 만족합니다. 이차함수와 삼차함수를 살펴봅시다.
이차함수
세 점 $(x_0, y_0), (x_1, y_1), (x_2, y_2)$을 지나는 이차함수입니다.
일차함수에서와 마찬가지로 $y_0$에 붙어있는 항은 $x_0$이 대입되었을 때 1이 되고, $x_1$이나 $x_2$가 대입되었을 때 0이 됩니다. 이 항에서 분자의 역할은 0이 되는 지점을 설정하는 것이라 할 수 있습니다. 이 항에서 분모의 역할은 어떤 지점에서 1이 되도록 크기를 맞춰주는 것입니다.
삼차함수
네 점 $(x_0, y_0), (x_1, y_1), (x_2, y_2), (x_3, y_3)$을 지나는 삼차함수입니다.
삼차함수까지 손으로 써보면 장단점이 확실히 느낄 수 있을 것입니다. 장점은 어떻게든 보간식을 만들어낼 수 있다는 것이고, 단점은 점이 하나씩 추가될 때마다 처음부터 다시 다 계산해야 한다는 것입니다. 더 이상의 고차함수는 쉽게 예상하실 수 있을 거라 믿습니다.
짤방
여담이지만, 라그랑주 보간법에 의해 1,3,5,7 그 다음수는 217341라 주장하던 짤이 있습니다. 이런 말도안되는 식이 어떻게 나오는지 궁금해서 직접 보간식을 써보니 저는 제대로 y=2x-1이 나오더군요.
이미지 출처 : https://blog.naver.com/dev_kr/220951507946
$$ y= \left( \frac{(x-2)(x-3)(x-4)}{(1-2)(1-3)(1-4)} \right)1 + \left( \frac{(x-3)(x-4)(x-1)}{(2-3)(2-4)(2-1)} \right)3$ $ + \left( \frac{(x-1)(x-2)(x-4)}{(3-1)(3-2)(3-4)} \right)5 + \left( \frac{(x-1)(x-2)(x-3)}{(4-1)(4-2)(4-3)} \right)7$ $ = 2x-1 $$
공부하면서 궁금하거나 재밋었던 주제가 있다면 댓글로 제보 부탁드립니다.
'물리 수학' 카테고리의 다른 글
곰셈과 함수에서 근삿값의 오차 (0) | 2017.09.09 |
---|---|
차원 : 수학적 차원과 물리적 차원 (0) | 2017.09.08 |
라그랑주 승수법 풀이(Lagrange multiplier method) (7) | 2017.09.02 |
verlet 알고리즘 : 유도과정과 의미 (0) | 2017.08.26 |
파동방정식 유도 : 역학적 접근 (1) | 2017.07.05 |
파동 방정식 유도 : 수학적 접근 (1) | 2017.07.02 |
테일러 근사법과 오차, 신기한 특징 3가지 (5) | 2017.06.29 |