[matlab] 11.수치적적분


수치적 적분



이번시간에는 함수의 적분 값을 계산하기 위하여 근사 함수를 이용하는 방법에 대해 알아보겠습니다.

그 방법에는 선형 보간 다항식을 근사함수로 사용하는 사다리꼴 적분 방법과

이차 보간 다항식을 이용한 Simpson 적분방법이 있습니다.



사다리꼴 적분방법



먼저, 사다리꼴 적분방법에 대해 알아보겠습니다.


image



고등학교 때 배운 구분구적법과 유사하죠??

어려운 개념이 아니라고 생각합니다!

그럼 사다리꼴 적분방법을 사용하여 예제를 matlab으로 실행해보고, 얼마나 정확한지 확인해볼까요?


image



matlab 코드입니다!


clear; clc;
a=0; b=1; %적분 구간 끝 점
f=@(x)exp(x);
n=1000; 
h=(b-a)/n; %구간을 n등분 함
T=0; %적분값
for i=1:n
    T=T+f(a)+f(a+h); %밑변을 더함
    a=a+h;
end
T=T*h/2; %높이x1/2-> 사다리꼴 넓이
error=abs(exp(1)-1-T); %원래 값과의 오차
error



실행 결과입니다~!


image



오차가 상당히 작은 것을 봐서 적분 값을 제대로 구하는 것을 볼 수 있습니다!

Simpson 방법



이번에는 사다리꼴 적분 방법보다 좀 더 정확한 방법에 대해 알아보겠습니다.

바로 Simpson 방법입니다!


image



Simpson 방법을 이용하여 아까 했던 예제에 대해 근사 값을 구해보겠습니다.


clear; clc;
a=0; b=1; %적분 구간 끝 점
f=@(x)exp(x);
n=1000; 
h=(b-a)/n; %구간을 n등분 함
T=0; %적분값
for i=1:n/2
    T=T+f(a)+4*f(a+h)+f(a+2*h); %Simpson 공식
    a=a+2*h;
end
T=T*h/3; 
error=abs(exp(1)-1-T); %원래 값과의 오차
error



실행결과입니다.


image



아까 사다리꼴 적분 방법을 사용할 때보다 오차가 훨씬 줄어든 것을 볼 수 있습니다!!

정말 대단하죠?? 다음 장에서는 특이적분에 대해 수치 적분 값을 구해보겠습니다~!