Processing math: 100%

호주 대학원 생존기/Mathematics

[Numerical Analysis] Numerical Integration

Bright_Ocean 2021. 7. 7. 00:40
반응형
 

[Numerical Analysis] Polynomial Interpolation

(x,f(x)) 의 데이터를 가지고 f(x)를 approximation 하는 방법에 대하여 기술한 포스팅이다 'Numerical Methods and Optimizaiton : An Introduction (Sergiy Butenko)' - chapter 5 를 참고하였다 많은 Engin..

bright-ocean.tistory.com

함수 f(x)가 복잡하여 특별한 형태의 form이 존재하지 않거나, analytical 하게 풀 수 없는 경우 수치적인 방법을 통해 적분을 수행한다. 

baf(x) dx

 

이러한 경우 f(x)를 적분이 상대적으로 효율적인 interpolating polynomial (pn(x)) 형태로 변형해 준 뒤, 이를 적분하는 방법을 사용한다. 이때 lagrange method를 사용한 polynomial 형태는 아래와 같다. 생소하다면 위의 Polynomial interpolation 포스팅을 참고하자.

pn(x)=nk=0f(xk)lk(x)

 

하지만 interpolating polynomial 형태는 이미 approximate 한 형태이기 때문에 error term (en)을 가지게 된다.

f(x)=pn(x)+en(x)

 

이를 적분하면 아래와 같다

baf(x) dx=bapn(x) dx+baen(x) dx

 

위의 lagrange method를 이용한 식을 pn(x)에 대입하여 정리하면 다음과 같은 식을 얻는다.

bapn(x) dx=ba(ni=0f(xi)li(x)) dx=ni=0f(xi)bali(x) dx

 

그렇다면 이 식의 의미는 무었일까? n=1 , n=2의 경우를 각각 생각하여 보자

 

1. Trapezoidal Rule

n=1 인 경우의 x0=a,x1=b일 때 p1(x)을 구하면

p1(x)=f(a)l0(x)+f(b)l1(x)

=f(a)xbab+f(b)xaba

이를 적분하면

baf(x) dxf(a)baxbab dx+f(b)baxaba dx

=ba2(f(a)f(b))

 

이를 시각적으로 표현하면 아래와 같다.

즉, (a, f(a)), (b, f(b)를 이은 평행사변형의 넓이를 구하는 것과 같음을 알 수 있다. 

 

2. Simpson's Rule

그렇다면 n=2 인 경우를 살펴보자.

x0=a,x1=a+b2,x2=b  3 points 을 이용하여 p2(x)구하면 아래와 같다

p2(x)=f(a)(xa+b2)(xb)(x0a+b2)(x0b)+f(a+b2)(xa)(xb)(x1a)(x1b)+f(b)(xa)(xa+b2)(x2a)(x2a+b2)

이를 적분하면

bap2(x) dx=ba6(f(a)+4f(a+b2)+f(b))

이는 시각적으로 표현하면 아래와 같다.

Trapezoidal Rule 에 비하여 integration error가 상대적으로 적어졌음을 알 수 있다.

하지만 두 method 모두 상대적으로 큰 a 와 b 사이 간격을 가지는 경우 error가 매우 커지는 것을 확인해 볼 수 있다.

이를 계산해 볼 수 있는데 정리는 생략하기로 하고 최종 에러에 관한 식만 적어보도록한다.

 

trapezoida rule error = eT=f(e)12(ba)3

simpson's rule error = eS=f4(e)90(ba2)5

 

그렇다면 a 와 b 가 큰 경우는 어떤 방법을 사용하는가? 

 

3. Composite Rule

위 의 두 방법을 통하여 적분해주려는 a b의 거리가 먼 경우 큰 에러를 가지는 경우를 알 수 있었다. 이러한 경우 [a,b] 를 N 개의 subinterval 로 나우어 준 뒤에 각각의 interval 에 대하여 trapezoidal rule과 simpson's rule을 적용하는 방법을 생각해 볼 수 있다. 

우선 N 개의 동등한 길이의 subinterval을 나누고 각각의 길이를 h라 하자

h=baN

따라서 N-1 개의 새로은 xi들이 생겨나게 된다.

a0=x0<x1<x2<<xn=b

 

이러한 subinterval들의 적분을 trapezoidal rule을 이용하여 나타내면 아래와 같다.

TN(f)=N1i=0h2(f(xi)+f(xi+1))=hN1i=1f(xi)+h2(f(x0)+f(xN))

 

composite trapezoidal rule을 (N=4)인 경우를 시각적으로 표현하면 아래와 같다.

에러가 상대적으로 적어짐이 확연하게 보인다.

이는 error term이

trapezoida rule error = eT=f(e)12(h)3로 (b-a)에 비해 h가 현저하게 작은 값을 지니기 때문에 전제 error가 낮아짐을 수학적으로 확인가능하다

 

limNeT=0

 

Composite Simpson's rule 도 같은 방법으로 생각해 볼 수 있다.

SN(f)=N1i=0h6(f(xi)+4f(xi+xi+12)+f(xi+1))

반응형