스플라인 보간법

Spline interpolation

수치해석수학적 분야에서 스플라인 보간술보간술의 일종으로, 보간술은 스플라인이라 불리는 조각 다항식의 특수한 유형이다.즉, 한 번에 모든 값에 높은 수준의 단일 다항식을 장착하는 대신, 스플라인 보간법은 값의 작은 하위 집합에 낮은 수준의 다항식을 적합시킨다. 예를 들어, 단일 10도 다항식을 모든 값에 장착하는 대신 10점 쌍 사이에 9입방 다항식을 장착하는 것이다.스플라인 보간술은 다항식 보간술보다 선호되는 경우가 많은데, 이는 스플라인에 낮은 도수의 다항식을 사용해도 보간오차를 작게 만들 수 있기 때문이다.[1]스플라인 보간술도 고도의 다항식을 이용해 보간할 때 점들 사이에 진동이 일어날 수 있는 런지 현상의 문제를 피한다.

소개

8점 사이의 입방 스플라인 보간.조선용 손으로 그린 기술도면은 스플라인 보간술의 역사적 사례로, 사전 정의된 지점을 따라 구부러진 유연한 통치자를 이용해 도면을 제작했다.

원래 스플라인(spline)은 많은 사전 정의된 지점, 즉 매듭을 통과하기 위해 구부러진 탄력 있는 통치자를 일컫는 용어였다.이것들은 그림과 같이 손으로 조선과 건설을 위한 기술도면을 만드는 데 사용되었다.

We wish to model similar kinds of curves using a set of mathematical equations, with one polynomial for each pair of knots and , where n 다항식+ 1 n노트가 있을 것이다.첫 번째 다항식은( , ) 에서 시작하고 마지막 다항식은( , y ) 에서 끝난다

모든 곡선 = f( ) 의 곡면성은 다음과 같이 정의된다.

스플라인에서 휨을 최소화하는 형태를 갖도록(모든 매듭을 통과하는 제약조건 하에서) y 를 모두 매듭을 포함한 모든 곳에서 연속적으로 정의한다.따라서 각 연속적인 다항식의 첫 번째와 두 번째 파생상품은 매듭에서 동일한 값을 가져야 하는데, 이는 다음과 같다.

이것은 3도 이상의 다항식(입방 다항식 이상)을 사용하는 경우에만 달성할 수 있다.고전적 접근법은 정확히 3 —입방 스플라인 다항식을 사용하는 것이다.

보간 큐빅 스플라인 찾기 알고리즘

We wish to find each polynomial given the points through . To do this, we will consider just a single piece of the curve, , which will interpolate f( 1, ) ~ ( , ){\.이 작품은 끝점에 경사 } 및 }}개가 있다.아니면 더 정확히 말하면

전체 방정식 ( ) 은(는) 대칭 형식으로 작성할 수 있다.

(1)

어디에

(2)

(3)

(4)

그러나 이러한 임계값을 도출하기 위해서는 다음 사항을 고려해야 한다.

그 뒤를 잇는다.

(5)

(6)

등식 (5)과 (6)에서 t = 0과 t = 1을 각각 설정하며, 실제로 첫 번째 파생상품 q((x1) = k1 q((x2) = k2 두 번째 파생상품에서도 얻는다.

(7)

(8)

만약 지금 (xi, yi), i = 0, 1, ..., n n + 1점이고,

(9)

여기서 어디 정도 1,2,...n, t=)−)나는 − 1)나는 −)나는 − 1{\displaystyle t={\tfrac{x-x_{i-1}}{x_{나는}-x_{i-1}}}}은 n3도 다항식 그 사이에 y보간 xi−1≤)≤시에 i=1,...n과 같이 qᆭi+1(크시)에 i=1,...n− 1, n다항식 같이 구별할 수 있는 재미를 정의합니다.t에서 불완전0 interval x x x 그리고n

(10)

(11)

i = 1, ..., n에 대해, 어디에

(12)

(13)

(14)

또한, sequence1 k0, k, ..., kn q′(ixi) = q′′(i+1xi)가 i = 1, ..., n - 1을 유지한다면, 결과 함수는 연속적인 두 번째 파생상품까지 갖게 될 것이다.

(7), (8), (10) 및 (11)부터는 다음과 같이 되어 있다.

(15)

i = 1, ..., n - 1의 경우.관계(15)는 n + 1 k0, k1, ..., kn 대한 n - 1 선형 방정식이다.

신축성 있는 지배자가 스플라인 보간법의 모델인 경우, 가장 왼쪽의 "knot"의 왼쪽과 가장 오른쪽의 "knot"의 오른쪽에는 그 지배자가 자유롭게 움직일 수 있으며 따라서 q′ 0 = 0으로 직선의 형태를 취하게 된다. q′′′n - 1 선형 등호 이외에 x "자연 스플라인"의 연속 함수여야 하기 때문이다.Ation (15)은 다음을 가져야 한다.

즉, 저것

(16)

(17)

결국 (15)는 (16) 및 (17)와 함께 n + 1 매개변수 k0, k, ..., k1n 고유하게 정의하는 n + 1 선형 방정식을 구성한다.

다른 엔드 조건인 스플라인 끝의 경사를 지정하는 "클램핑 스플라인"과 세 번째 파생상품도 x1 xn−1 포인트에서 연속해야 하는 인기 있는 "노토 스플라인"이 있다."not-a-knot" 스플라인에 대해 추가 방정식은 다음을 나타낸다.

여기서 i= i- - 1, =y - -1

세 점 사이의 입방 "자연" 스플라인으로 보간

3개 지점의 경우 3각 선형방정식을 풀어서 0 ,k }}개의 값을 구한다.

와 함께

세 가지 포인트에 대해

이해하다

그리고 (10) 및 (11)로부터

그림에는 (9)에서 부여한 2입방 다항식 1( x) 2( ) 로 구성된 스플라인 함수가 표시된다.

참고 항목

컴퓨터 코드

TinySpline:입방 스플라인 보간법을 구현하는 스플라인용 오픈 소스 C-도서관

SciPy 스플라인 보간법: 보간법을 구현하는 Python 패키지

입방 보간:입방 스플라인 보간용 오픈 소스 C# 도서관

참조

  1. ^ Hall, Charles A.; Meyer, Weston W. (1976). "Optimal Error Bounds for Cubic Spline Interpolation". Journal of Approximation Theory. 16 (2): 105–122. doi:10.1016/0021-9045(76)90040-X.

외부 링크