[matlab] 11.수치적적분
수치적 적분
이번시간에는 함수의 적분 값을 계산하기 위하여 근사 함수를 이용하는 방법에 대해 알아보겠습니다.
그 방법에는 선형 보간 다항식을 근사함수로 사용하는 사다리꼴 적분 방법과
이차 보간 다항식을 이용한 Simpson 적분방법이 있습니다.
사다리꼴 적분방법
먼저, 사다리꼴 적분방법에 대해 알아보겠습니다.
고등학교 때 배운 구분구적법과 유사하죠??
어려운 개념이 아니라고 생각합니다!
그럼 사다리꼴 적분방법을 사용하여 예제를 matlab으로 실행해보고, 얼마나 정확한지 확인해볼까요?
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
실행 결과입니다~!
오차가 상당히 작은 것을 봐서 적분 값을 제대로 구하는 것을 볼 수 있습니다!
Simpson 방법
이번에는 사다리꼴 적분 방법보다 좀 더 정확한 방법에 대해 알아보겠습니다.
바로 Simpson 방법입니다!
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
실행결과입니다.
아까 사다리꼴 적분 방법을 사용할 때보다 오차가 훨씬 줄어든 것을 볼 수 있습니다!!
정말 대단하죠?? 다음 장에서는 특이적분에 대해 수치 적분 값을 구해보겠습니다~!