C 언어로 배우는 사다리꼴 공식에 의한 적분의 근사

2879 단어 수치 계산C

사다리꼴 공식이란?



아래 그림의 푸른 선이가 적분하고 싶은 함수의 그래프, a에서 b까지를 적분하고 싶은 범위(왼쪽 갈색 선에서 오른쪽 갈색 선)라고 생각해 주세요. 사다리꼴 공식은 녹색과 노란색 부분의 면적을 적분한 값이라고 생각하는 것입니다. 그 값은
 \frac{(f(a) + f(b)) (b - a)}{2} 

될거야.


그러나 그림에서 보는 바와 같이 녹색 부분이 분명히 불필요합니다. 그러므로 $a$와 $b$ 사이에 $c =\frac{a+b}{2}$ 라는 점을 제공합시다. 녹색과 노란색 부분의 면적의 합은
\frac{(f(a) + f(c)) (c - a) + (f(c) + f(b)) (b - c)}{ 2 }

네요. 그러면 조금 전의 그림보다 녹색 부분이 줄어드는 것을 알 수 있습니다. 이것이 사다리꼴 공식입니다. $a$와 $b$ 사이에 점이 있을수록 값이 정확해집니다.
!

소스 코드



integral.c
#include <stdio.h>
#include <math.h>

#define EPS (1.0e-6)
#define f(x) ((x)*(x))

int main(){
    double a = 0, b = 2, sum = 0;
    for(double x = a; x < b; x += EPS){
        sum += (f(x) + f(x+EPS));
    }
    sum *= (EPS / 2);

    printf("%f\n", sum);
}

좋은 웹페이지 즐겨찾기