0% found this document useful (0 votes)
15 views20 pages

Computational Programs

Uploaded by

Rehan Sabir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views20 pages

Computational Programs

Uploaded by

Rehan Sabir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy