Loading [MathJax]/jax/output/CommonHTML/jax.js

[수치해석] Equispaced interpolation(등간격 보간)

반응형
반응형

간격이 h로 같은 x0,...,xn 인 경우의 보간법입니다.

xk=x0+kh 인 경우입니다.

특별한 케이스라고 볼 수 있습니다.

기존에 설명했던 여러가지 보간법에서 크게 벗어나지 않고 수학적으로 정리하고 수식 변형과 편리한 계산을 할 수 있어서 따로 정리한 경우입니다.

데이터의 시간이 일정한 경우 equispaced interpolation에 해당한다고 볼 수 있습니다.

 

Prerequisites

내용 이해는 어렵지 않으나 일반적인 경우를 살펴보고 싶다면 아래 내용을 보시는 것을 추천드립니다.

 

Difference operators

divided difference 와 역할이 비슷하지만 같은 간격의 데이터라는 전제하에 operator를 만들 수 있습니다.

operator를 만들어 보기 편하고 계산하기 용이하게 만들어 다양하게 응용하고자 하는 게 주 목적입니다.

 

Forward difference operator

먼저 forward difference operator Δ 에 대해 살펴보겠습니다. 

다음과 같이 정의됩니다.

Δ0f(x)=f(x),Δf(x)=Δ1f(x)=f(x+h)f(x),Δf(x)kf(x)=Δ(Δk1f(x))=Δk1(Δf(x))=Δk1f(x+h)Δk1f(x),   k1

 

즉, 전단계의 f(x+h)-f(x) 를 나타낸다고 볼 수 있습니다.

 

Backward difference operator

이번에는 간격 f(x) - f(x-h) 를 나타내는 operator입니다.

0f(x)=f(x),f(x)=1f(x)=f(x)f(xh),kf(x)=k1f(x)k1f(xh),   k1

 

전단계의 f(x) - f(x-h) 를 나타내게 됩니다.

 

Shift operator

데이터를 shift하는 operator 입니다. 제 생각엔 다른 데이터로 바꿨다는 걸 알려주는 용도나 수학적 계산을 위해 쓰는 것 같습니다.

E0f(x)=f(x),Ef(x)=E1f(x)=f(x+h),E1f(x)=f(xh),Ekf(x)=f(x+kh)=E(Ek1f(x)),   k=±1,pm2,...

 

forward 나 backward operator 를 E로 대체해서 쓸 수 있는데 다음과 같이 변형할 수 있습니다.

Δf(x)=f(x+h)f(x)=Ef(x)f(x)=(E1)f(x)ΔE1,  E1+Δ,

f(x)=f(x)f(xh)=f(x)E1f(x)=(1E1)f(x)1E1,  E(1)1

 

Difference polynomial

operator를 이용해 f(x)를 polynomial pn(x) 으로 근사시켜보도록 합시다. 

먼저 forward difference operator를 이용한 경우는 다음과 같이 전개할 수 있습니다.

실수 s 에 대해, x를 x0 으로 표현한다면 다음과 같이 할 수 있습니다.

x=x0+sh, 0sn

 

s0,1,2,...,n 이라면, x0,...,xn 으로 표현할 수 있게 됩니다.

이런 경우, s = (x-x0)/h, 로 볼 수 있고 다음이 성립합니다.

f(x)=f(x0+sh)=Esf(x0)=(1+Δ)sf(x0)=[1+sΔ+s(s1)2!Δ2+···]f(x0)

 

이항전개를 사용하면 (1+Δ)s 에서 Δk 의 계수는 (sk) 가 됩니다. 이항계수라고도 불립니다.

이항계수를 (1) 식에 적용하면 다음과 같이 정리할 수 있습니다.

f(x0+sh)=k=0(sk)Δkf0

그런데 데이터를 무한개 쓴다는건 근사하는데 큰 의미가 없습니다. 를 n으로 변경하여 pn(x) 로 근사시키겠습니다.

f(x0+sh)p(x0+sh)=nk=0(sk)Δkf0

이렇게 근사한 pnNewton-Gregory forward difference polynomial 이라고 합니다.

 

pn 을 backward operator로도 표현할 수 있습니다.

pn(x)=pn(xn+sh)=nk=0(1)k(sk)kfn

이렇게 만든 pn 은 Newton-Gregory backward difference polynomial 이라고 합니다.

 

 

이렇듯 간격이 일정하다는 전제하에 pn 을 더 세련되게 만들어 보았습니다.

 

데이터목장님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY