- 수치적인 방법을 이용하여 적분을 수행하는 과정에 대한 포스팅이다.
- 'Numerical Methods and Optimizaiton : An Introduction (Sergiy Butenko)' - chapter 6 를 참고하였다
- 본 포스팅은 polynomial interpolation 학습을 가정한다. 생소하다면 아래의 포스팅을 참고하자
- 2021.07.06 - [[컴퓨터] 전산생물학/Modeling & Simulation] - [Numerical Analysis] Polynomial Interpolation
[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)=n∑k=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(n∑i=0f(xi)li(x)) dx=n∑i=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)x−ba−b+f(b)x−ab−a
이를 적분하면
∫baf(x) dx≈f(a)∫bax−ba−b dx+f(b)∫bax−ab−a dx
=b−a2(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)(x−a+b2)(x−b)(x0−a+b2)(x0−b)+f(a+b2)(x−a)(x−b)(x1−a)(x1−b)+f(b)(x−a)(x−a+b2)(x2−a)(x2−a+b2)
이를 적분하면
∫bap2(x) dx=b−a6(f(a)+4f(a+b2)+f(b))
이는 시각적으로 표현하면 아래와 같다.

Trapezoidal Rule 에 비하여 integration error가 상대적으로 적어졌음을 알 수 있다.
하지만 두 method 모두 상대적으로 큰 a 와 b 사이 간격을 가지는 경우 error가 매우 커지는 것을 확인해 볼 수 있다.
이를 계산해 볼 수 있는데 정리는 생략하기로 하고 최종 에러에 관한 식만 적어보도록한다.
trapezoida rule error = eT=−f″(e)12(b−a)3
simpson's rule error = eS=−f4(e)90(b−a2)5
그렇다면 a 와 b 가 큰 경우는 어떤 방법을 사용하는가?
3. Composite Rule
위 의 두 방법을 통하여 적분해주려는 a b의 거리가 먼 경우 큰 에러를 가지는 경우를 알 수 있었다. 이러한 경우 [a,b] 를 N 개의 subinterval 로 나우어 준 뒤에 각각의 interval 에 대하여 trapezoidal rule과 simpson's rule을 적용하는 방법을 생각해 볼 수 있다.
우선 N 개의 동등한 길이의 subinterval을 나누고 각각의 길이를 h라 하자
h=b−aN
따라서 N-1 개의 새로은 xi들이 생겨나게 된다.
a0=x0<x1<x2<⋯<xn=b
이러한 subinterval들의 적분을 trapezoidal rule을 이용하여 나타내면 아래와 같다.
TN(f)=N−1∑i=0h2(f(xi)+f(xi+1))=hN−1∑i=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가 낮아짐을 수학적으로 확인가능하다
limN→∞eT=0
Composite Simpson's rule 도 같은 방법으로 생각해 볼 수 있다.
SN(f)=N−1∑i=0h6(f(xi)+4f(xi+xi+12)+f(xi+1))
'호주 대학원 생존기 > Mathematics' 카테고리의 다른 글
[Computational Statistics] Random Vectors (랜덤 벡터) (0) | 2021.07.28 |
---|---|
[Computational Statistics] Linear algebra for the linear models (선형모델해석을 위한 선형대수) (0) | 2021.07.27 |
[Numerical Analysis] Polynomial Interpolation (0) | 2021.07.06 |
[Numerical Analysis] Solution of Nonlinear Systems (0) | 2021.07.02 |
[Numerical Analysis] Solving Equations, Root Finding Method (0) | 2021.07.02 |