write a program to integrate a function using Romberg integration method in c++.

write a program to integrate a function using Romberg integration method in c++.


CODE:

#include<iostream.h>
#include<conio.h>
#include<math.h>
float f(float x)
{
return(1/(1+x));
}

float in(float i1, float i2)
{
return(i2+(i2-i1)/3);
}

void main()
{
clrscr();
int a,b;
float h,sum[6];
cout<<"enter lower limit : ";
cin>>a;
cout<<"enter upper limit : ";
cin>>b;
h = b-a;
for(int i=1;i<=3;i++)
{
sum[i]= 0.0;
int n =pow(2,i);
h=n/2;
cout<<"\n n="<<n<<"\t h="<<h<<endl;
sum[i]=(f(a)+f(b))/2;
for(int j=1;j<n;j++)
{
sum[i]+=f(a+j*h);
}
sum[i]*=h;
cout<<"\n x\t y";
for(j=0;j<=n;j++)
{
cout<<endl<<a+j*h<<"/t"<<f(a+j*h);
}
cout<<"\n I(h/"<<pow(2,i-1)<<")="<<sum[i]<<endl;
}

for(i=1;i<=3;i++)
{
if(i!=3)
{
sum[i+3]= (sum[i],sum[i+1]);
cout<<"I(h/"<<pow(2,i-1)<<",h/"<<pow(2,i)<<")="<<sum[i+3]<<endl;
}
else
{
sum[i+3]= (sum[i+1],sum[i+2]);
cout<<"I(h,h/2,h/4)="<<sum[i+3]<<endl;
}
}
getch();
}


OUTPUT:



Comments