Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Bisection Method:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

double value;

value=pow(x,3)+pow(x,2)-3*x-3;

return value;

void main()

clrscr();

double a,b,M,ans,comp;

int i;

ofstream res("bisectionresults.txt");

cout<<"Enter the values of a and b;\n";

cin>>a>>b;

for(i=0;i<100;i++)

cout<<"f("<<a<<")="<<f(a)<<endl;

res<<"f("<<a<<")="<<f(a)<<endl;

cout<<"f("<<b<<")="<<f(b)<<endl;
res<<"f("<<b<<")="<<f(b)<<endl;

M=(a+b)/2.0;

cout<<"f("<<M<<")="<<f(M)<<endl;

cout<<"________________________________\n";

res<<"f("<<M<<")="<<f(M)<<endl;

res<<"_________________________________\n";

comp=f(a)*f(M);

if(comp<0)

b=M;

else

a=M;

ans=M;

cout<<"Result="<<ans;

res<<"Result="<<ans;

getch();

Example 1:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

double value;

value=exp(x)-3*x;

return value;
}

void main()

clrscr();

double a,b,M,ans,comp;

int i;

ofstream res("bisectionresults.txt");

cout<<"Enter the values of a and b;\n";

cin>>a>>b;

for(i=0;i<100;i++)

cout<<"f("<<a<<")="<<f(a)<<endl;

res<<"f("<<a<<")="<<f(a)<<endl;

cout<<"f("<<b<<")="<<f(b)<<endl;

res<<"f("<<b<<")="<<f(b)<<endl;

M=(a+b)/2.0;

cout<<"f("<<M<<")="<<f(M)<<endl;

cout<<"________________________________\n";

res<<"f("<<M<<")="<<f(M)<<endl;

res<<"_________________________________\n";

comp=f(a)*f(M);

if(comp<0)

b=M;

else

a=M;

ans=M;

cout<<"Result="<<ans;
res<<"Result="<<ans;

getch();

Example 2;

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

double value;

value=1/exp(x)-sin(3.14*x/2);

return value;

void main()

clrscr();

double a,b,M,ans,comp;

int i;

ofstream res("bisectionresults.txt");

cout<<"Enter the values of a and b;\n";

cin>>a>>b;

for(i=0;i<100;i++)

cout<<"f("<<a<<")="<<f(a)<<endl;

res<<"f("<<a<<")="<<f(a)<<endl;
cout<<"f("<<b<<")="<<f(b)<<endl;

res<<"f("<<b<<")="<<f(b)<<endl;

M=(a+b)/2.0;

cout<<"f("<<M<<")="<<f(M)<<endl;

cout<<"________________________________\n";

res<<"f("<<M<<")="<<f(M)<<endl;

res<<"_________________________________\n";

comp=f(a)*f(M);

if(comp<0)

b=M;

else

a=M;

ans=M;

cout<<"Result="<<ans;

res<<"Result="<<ans;

getch();

Newton Raphson;

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

{
double value;

value=1/exp(x)-sin(x);

return value;

double df(double x)

double value;

value=-(1/exp(x)+cos(x));

return value;

void main()

clrscr();

double init,Xn1,Xn,ans;

int i;

ofstream res("New_Raph.txt");

cout<<"Enter the value of initial point;\n";

cin>>init;

Xn=init;

for(i=1;i<=10;i++)

Xn1=Xn-(f(Xn)/df(Xn));

cout<<"X"<<i<<":"<<Xn1<<endl;

res<<"X"<<i<<":"<<Xn1<<endl;

cout<<"_________________________________\n";

res<<"_________________________________\n";

if((Xn1-Xn)<0.0001)
{

ans=Xn1;

break;

else

Xn=Xn1;

cout<<"\n\nThe root of the equation is: "<<ans;

res<<"\n\nThe root of the equation is: "<<ans;

getch();

Example 1:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

double value;

value=pow(x,3)-3*x-3;

return value;

double df(double x)

double value;
value=3*pow(x,2)-3;

return value;

void main()

clrscr();

double init,Xn1,Xn,ans;

int i;

ofstream res("New_Raph.txt");

cout<<"Enter the value of initial point;\n";

cin>>init;

Xn=init;

for(i=1;i<=10;i++)

Xn1=Xn-(f(Xn)/df(Xn));

cout<<"X"<<i<<":"<<Xn1<<endl;

res<<"X"<<i<<":"<<Xn1<<endl;

cout<<"_________________________________\n";

res<<"_________________________________\n";

if((Xn1-Xn)<0.0001)

ans=Xn1;

break;

else

Xn=Xn1;

cout<<"\n\nThe root of the equation is: "<<ans;


res<<"\n\nThe root of the equation is: "<<ans;

getch();

Example 2;

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

double f(double x)

double value;

value=exp(x)-3*x;

return value;

double df(double x)

double value;

value=exp(x)-3;

return value;

void main()

clrscr();

double init,Xn1,Xn,ans;
int i;

ofstream res("NR_Three.txt");

cout<<"Enter the value of initial point;\n";

cin>>init;

Xn=init;

for(i=1;i<=10;i++)

Xn1=Xn-(f(Xn)/df(Xn));

cout<<"X"<<i<<":"<<Xn1<<endl;

res<<"X"<<i<<":"<<Xn1<<endl;

cout<<"_________________________________\n";

res<<"_________________________________\n";

if((Xn1-Xn)<0.0001)

ans=Xn1;

break;

else

Xn=Xn1;

cout<<"\n\nThe root of the equation is: "<<ans;

res<<"\n\nThe root of the equation is: "<<ans;

getch();

Secent Method:

#include<iostream.h>
#include<conio.h>

#include<fstream.h>

#include<math.h>

double f(double x)

double value;

value=cos(x)-x;

return value;

void main()

clrscr();

double init,final,Xn,Xn1,Xn_1,ans;

ofstream fout("SEC.txt");

cout<<"Enter initial and final values of x=";

cin>>init>>final;

Xn_1=init;

Xn=final;

for(int i=1;i<100;i++)

Xn1=(Xn_1*f(Xn)-Xn*f(Xn_1))/(f(Xn)-f(Xn_1));

cout<<"X"<<1+i<<"="<<Xn1<<endl;

if(fabs(Xn1-Xn)<0.000001)

ans=Xn1;

break;

}
else {

Xn_1=Xn;

Xn=Xn1;

cout<<"Result ="<<ans;

getch();

Simpson 1/3:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>

double f(double x)

double value;

value=2*x+2;

return value;

void main()

clrscr();

int n;

float a,b,h,sum=0.0,res;
cout<<"Enter a,b and n";

cin>>a>>b>>n;

h=(b-a)/n;

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

for(int i=1;i<=(n-1);i++)

if((i%2)==0) ///remainder

sum=sum+2.0*f(a+i*h);

else

sum=sum+4.0*f(a+i*h);

res=h*(1.0/3.0)*sum;

cout<<"Result="<<res;

getch();

Simphson 3/8

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>

double f(double x)

double value;

value=2*x+2;
return value;

void main()

clrscr();

int n;

float a,b,h,sum=0.0,res;

cout<<"Enter a,b and n";

cin>>a>>b>>n;

h=(b-a)/n;

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

for(int i=1;i<=(n-1);i++)

sum=sum+3.0*f(a+i*h);

res=h*(3.0/8.0)*sum;

cout<<"Result="<<res;

getch();

Trapezoidal Method;

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>
double f(double x)

double value;

value=cos(x);

return value;

void main()

clrscr();

int n;

float a,b,h,sum=0.0,res;

cout<<"Enter a,b and n";

cin>>a>>b>>n;

h=(b-a)/n;

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

for(int i=1;i<=n-i;i++)

sum=sum+2*f(a+i*h);

res=h*0.5*sum;

cout<<"Result="<<res;

getch();

Euler Method:

#include<iostream.h>
#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>

double f(double a,double b)

double value;

value=0.04*b;

return value;

void main()

again:

clrscr();

int n;

double X0,X,Y0,Y,h;

cout<<"Enter X0,X,Y0 and n=";

cin>>X0>>X>>Y0>>n;

if(n<=0)

goto again;

h=(X-X0)/n;

ofstream res("Euler.txt");

Y=Y0;

double X_it=X0;

for(int k=0;k<=n;k++)

{
Y=Y+h*f(X_it,Y);

cout<<"Y"<<k<<"="<<Y<<endl;

res<<"Y"<<k<<"="<<Y<<endl;

X_it=X_it+h;

delay (700);

cout<<"Result= "<<Y;

getch();

Euler Improved Method:

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>

double f(double a,double b)

double value;

value=0.04*b;

return value;

void main()

{
again:

clrscr();

int n;

double X0,X,Y0,Z,Y,h;

cout<<"Enter X0,X,Y0 and n=";

cin>>X0>>X>>Y0>>n;

if(n<=0)

goto again;

h=(X-X0)/n;

ofstream res("Euler.txt");

Y=Y0;

double X_it=X0;

for(int k=0;k<=n;k++)

Z=Y+h*f(X_it,Y);

Y=Y+h*0.5*(f(X_it+h,Z)+f(X_it,Y));

cout<<"Y"<<1+k<<"="<<Y<<endl;

res<<"Y"<<1+k<<"="<<Y<<endl;

X_it=X_it+h;

delay (700);

cout<<"Result= "<<Y;

getch();

RK4 Method:
#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<fstream.h>

#include<dos.h>

double f(double a,double b)

double value;

value=0.04*b;

return value;

void main()

again:

clrscr();

int n;

double X0,X,Y0,K1,K2,K3,K4,Y,h;

cout<<"Enter X0,X,Y0 and n=";

cin>>X0>>X>>Y0>>n;

if(n<=0)

goto again;

h=(X-X0)/n;

ofstream res("Euler.txt");

Y=Y0;
double X_it=X0;

for(int k=0;k<=n;k++)

K1=h*f(X_it,Y);

K2=h*f(X_it+h*0.5,Y+K1*0.5);

K3=h*f(X_it+h*0.5,Y+K2*0.5);

K4=h*f(X_it+h,Y+K3);

Y=Y+(1.0/6.0)*(K1+2*K2+2*K3+K4);

cout<<"Y"<<1+k<<"="<<Y<<endl;

res<<"Y"<<1+k<<"="<<Y<<endl;

X_it=X_it+h;

delay (700);

cout<<"Result= "<<Y;

getch();

You might also like