Skip to main content

C program for Trapezoidal Rule

C Code for Trapezoidal Rule
#include <stdio.h>
#include <conio.h>
#include <math.h>
float f(float x)
{
  return (exp(x)); //f(x)=exp(x);
}

void main()
{
  float a,b,h,x,sum=0;
  int n;
  printf("Enter a and b: ");
  scanf("%f%f",&a,&b);
  printf("Here, n=1 for Trapezoidal rule");  printf("\nn>1 for Composite Trapezoidal rule\n");
  printf("So, Enter n: ");
  scanf("%d",&n);
  h=(b-a)/n;
  for(x=a;x<=b;x=x+h)
  {
    if(x==a)
      sum=sum+f(x);
    else if(x==b)
      sum=sum+f(x);
    else
      sum=sum+2*f(x);
  }
  sum=h/2*sum;
  printf("\nI=%f",sum);
  getch();
}

Comments

Popular posts from this blog

C Program for Runge-Kutta-4 (RK-4) Method

Program for Runge-Kutta-4 (RK-4) Method #include <stdio.h> #include <conio.h> #include <math.h> float f(float x,float y) {   return ((y*y-x*x)/(y*y+x*x));   //y'=f(x,y)=equation } void main() {   float x0,y0,h,xn,yn;   printf("Enter x0 and y0: ");   scanf("%f%f",&x0,&y0); //y(x0)=y0   printf("Enter xn: ");   scanf("%f",&xn);   printf("Enter interval(h): ");   scanf("%f",&h);   do   {     float m1=f(x0,y0);     float m2=f(x0+h/2,y0+m1*h/2);     float m3=f(x0+h/2,y0+m2*h/2);     float m4=f(x0+h,y0+m3*h);     float m=(m1+2*m2+2*m3+m4)/6;     yn=y0+m*h;     //for next iteration         x0=x0+h;     y0=yn;   }while(x0<xn); printf("\n\nHence, y(%0.1f)=%0.4f",xn,yn); getch(); }