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

호주 대학원 생존기/Mathematics

[Numerical Analysis] Polynomial Interpolation

Bright_Ocean 2021. 7. 6. 23:10
반응형
  • (x,f(x)) 의 데이터를 가지고 f(x)를 approximation 하는 방법에 대하여 기술한 포스팅이다
  • 'Numerical Methods and Optimizaiton : An Introduction (Sergiy Butenko)' - chapter 5 를 참고하였다

 

많은 Engineering 과 Science 에서 요구되는 문제들은 주어진 데이터들을 이용하여 함수 f(x)를 알아내는 방법들이 요구된다.

이러한 문제들을 Polynomical approximation을 통해 해결하고자 한다.

 

1. Polynomial 의 함수의 형태

1.1 power form

p(x)=a0+a1x+a2x2++anxn

1.2 shifted power form (with center c)

p(x)=b0+b1(xc)+b2(xc)2++bn(xc)n

1.3 Newton form

p(x)=a0+a1(xc1)(xc2)++an(xc1)(xcn)

=a0+nk=1akki=1(xci)

(Newton form의 경우 모든 ci=c 일 경우 power form 과 같은 형태가 된다

 

즉 polynomial interpolation은 polynomial form의 계수인 ai들을 구하는 과정임을 알 수 있다.

이제 Polynomical 함수 중 하나인 Lagrange polynomial 을 이용하여 Interpolation 을 수행하여 보자

 

2. Polynomial Interpolation Methods

data (x0,y0),,(xn,yn) 이 주어졌을때 Lagrange polynomial 은 아래와 같다.

lj(x)=(xx0)(xx1)(xxj1)(xxj+1)(xxn)(xjx0)(xjx1)(xjxj1)(xjxj+1)(xjxn)

=ni=0,ij(xxi)(xjxi)

 

2.1 Lagrange method

lagrange polynomal을 이용하여 함수를 Interpolation하면 아래와 같다

p(x)=y0l0(x)+y1l1(x)++ynln(x)

nj=0yjni=0,ij(xxi)(xjxi)

 

2.2 Newton's method

기존의 n개 의 data points에 새로운 data point (x_{n+1}, y_{n+1}) 가 추가되는 경우 Lagrange method로는 기존의 pn(x) 을 이용할 수가 없다. 즉 새롭게 다시 구해야 한다. 하지만 Newton's method를 이용하면 pn(x)를 이용하여 pn+1(x)를 구하는 것이 가능해진다

pn+1(x)=nj=0ajj1i=0(xxi)+an+1ni=0(xxi)=q(x)+r(x)

이 경우 interpolating polynomial 의 uniqueness로 q(x)=pn(x)이므로,

pn+1(x)=pn(x)+an+1ni=0(xxi)

위에 식의 x에 새롭게 얻어진 xn+1을 넣으면 아래와 같이 pn(x) 을 이용하여 pn+1(x) 를 효율적으로 구할 수 있다.

 yn+1=pn+1(xn+1)=pn(xn+1)+an+1ni=0(xn+1xi)

an+1=yn+1pn(xx+1)ni=0(xn+1xi)

 

반응형