16.Simpson’s 3/8 rule
by ujjal roy
//dy/dx=x+y;
#include<bits/stdc++.h>
using namespace std;
double f(double x)
{
return 1.0/(1+x*x);
}
int main()
{
double upper,lower,subdivide,x;
cout<<"Enter upper limit , lower limit and subdivide : ";
cin>>upper>>lower>>subdivide;
double h;
h=(upper-lower)/subdivide;
double sum,sum1=0,sum2=0;
sum=f(lower);
sum+=f(upper);
x=lower+h;
for(int i=1;i<subdivide;i++)
{
double r;
r=f(x);
if(i%3==0)sum2+=r;
else sum1+=r;
x+=h;
}
sum+=(3*sum1+2*sum2);
sum*=h;
sum*=3;
sum/=8;
cout<<sum<<endl;
return 0;
}
0 Comments