/*
 * ------------------------------------
 *     사다리꼴 공식에 의한 정적분    *
 * ------------------------------------
 */


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

#define f(x) (sqrt(4-(x)*(x)))   /* 피적분함수 */

int main(void)
{
    int k;
    double a,b,n,h,x,s,sum;

    printf("적분구간 A,B ? ");
    scanf("%lf %lf",&a,&b);

    n=50;                /* a ~ b사이의 구간수 */
    h=(b-a)/n;        /* 구간폭 */
    x=a; s=0;
    for (k=1;k<=n-1;k++)
 {
        x=x+h;
        s=s+f(x);
 }
    sum=h*((f(a)+f(b))/2+s);
    printf("   /%f\n",b);
    printf("   |  sqrt(4-x*x) =%f\n",sum);
    printf("   /%f\n",a);

    return 0;
}

 

// 함수 f(x)의 정적분을 해석적으로 수식화해서 구하는 것이 아니라 구간을 아주 작게 분할

해서 근사값을 구하는 방법을 '수치적분'이라 한다.

a 와 b 구간을 n개의 아주 작은 구간으로 분할해서 각 구간 면적의 합계를 구한다.

+ Recent posts