Simpson 1/3 Rule Using C++ with Output

C++ Program for approximating definite integral of continuous function using Simpson's 1/3 Rule (Method)

Simpson's 1/3 Rule C++ Program


#include<iostream>
#include<math.h>

/* Define function here */
#define f(x) 1/(1+pow(x,2))

using namespace std;
int main()
{
 float lower, upper, integration=0.0, stepSize, k;
 int i, subInterval;

 /* Input */
 cout<<"Enter lower limit of integration: ";
 cin>>lower;
 cout<<"Enter upper limit of integration: ";
 cin>>upper;
 cout<<"Enter number of sub intervals: ";
 cin>>subInterval;

 /* Calculation */

 /* Finding step size */
 stepSize = (upper - lower)/subInterval;

 /* Finding Integration Value */
 integration = f(lower) + f(upper);

 for(i=1; i<= subInterval-1; i++)
 {
  k = lower + i*stepSize;

  if(i%2==0)
  {
    integration = integration + 2 * (f(k));
  }
  else
  {
    integration = integration + 4 * (f(k));
  }

 }

 integration = integration * stepSize/3;

 cout<< endl <<"Required value of integration is: "<< integration;

 return 0;
}

Output

	
Enter lower limit of integration: 0
Enter upper limit of integration: 6
Enter number of sub intervals: 12

Required value of integration is: 1.4037
	

Recommended Readings

  1. Numerical Integration Trapezoidal Method Algorithm
  2. Numerical Integration Using Trapezoidal Method Pseudocode
  3. Numerical Integration Using Trapezoidal Method C Program
  4. Trapezoidal Rule Using C++ with Output
  5. Numerical Integration Using Simpson 1/3 Method Algorithm
  6. Numerical Integration Using Simpson 1/3 Method Pseudocode
  7. Numerical Integration Using Simpson 1/3 Method C Program
  8. Simpson 1/3 Rule Using C++ with Output
  9. Numerical Integration Using Simpson 3/8 Method Algorithm
  10. Numerical Integration Using Simpson 3/8 Method Pseudocode
  11. Numerical Integration Using Simpson 3/8 Method C Program
  12. Simpson 3/8 Rule Using C++ with Output