C code using Trapezoidal Rule

Problem: Here we have to find integration for the (1/1+x*x)dx with lower limit =0 to upper limit = 6

Algorithm:

Step 1: input a,b,number of interval n

Step 2:h=(b-a)/n

Step 3:sum=f(a)+f(b)

Step 4:If n=1,2,3,……i

Then , sum=sum+2*y(a+i*h)

Step 5:Display output=sum *h/2

 

Code:

#include<stdio.h>
float y(float x)
{
    return 1/(1+x*x);
}

int main()
{
    float a,b,h,sum;
    int i,n;

    printf("Enter a=x0(lower limit), b=xn(upper limit), number of subintervals: ");
    scanf("%f %f %d",&a,&b,&n);

    h=(b-a)/n;

    sum=y(a)+y(b);

    for(i=1;i<n;i++)
    {
        sum=sum+2*y(a+i*h);
    }

    printf("\n Value of integral is %f \n",(h/2)*sum);
    return 0;
}

Output:

2014-11-27 08_59_58-

It would be a great help, if you support by sharing :)
Author: zakilive

Leave a Reply

Your email address will not be published. Required fields are marked *