Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

ENROLLMENT NO.

NUMERICAL METHOD

INDEX
Sr.
No.

Name of Practicals

1.

WCP to implement Bisection Method.

WCP to implement False - Position Method.

WCP to implement Newton - Raphson Method.

4
5

WCP to implement Gauss - Elimination Method. (Without Pivoting


and With Pivoting)
WCP to implement Gauss Jordan Method

WCP to implement Jacobis Method.

WCP to implement Gauss - Seidel Method.

WCP to implement Newtons Interpolation Method:


Newtons Forward Difference ,Newtons Backward Difference
Newtons Divided Difference.

9.

WCP to implement Lagranges Interpolation Formula.

10

WCP to implement Splines Interpolation Formula.

11.

WCP to implement Newton - Cotes Interpolation Formula:


Trapezoidal Rule,Simpsons 1/3 Rule,Simpsons 3/8 Rule.

12

WCP to implement methods of Ordinary Differential Equations:


Eulers Method ,Modified-Eulers Method,Runge - Kuttas Second
Order Method.,Runge - Kuttas Fourth Order Method.

Date

Sign

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 1
AIM:- WCP to implement Bisection Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float x1,x2,x3,eps;
float f(float);
clrscr();
printf("\n Enter x1: ");
scanf("%f",&x1);
printf("\n Enter x2: ");
scanf("%f",&x2);
printf("\n Enter Epsilon: ");
scanf("%f",&eps);
do
{
x3 = (x1 + x2) / 2;
if((f(x1) * f(x3)) < 0)
{
x2 = x3;
}
else
{
x1 = x3;
}
}
while((fabs(x1-x2) > eps) && (f(x3) != 0));
printf("\n\n Root is = %f",x3);
getch();
}
float f(float x)
{
x = (x * x * x) - (4 * x) - 9;
return(x);
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 2

AIM: WCP to implement False - Position Method.


#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float x1,x2,x3,eps,f1,f2,f3;
float f(float);
clrscr();
printf("\n Enter x1: ");
scanf("%f",&x1);
printf("\n Enter x2: ");
scanf("%f",&x2);
printf("\n Enter Epsilon: ");
scanf("%f",&eps);
f1 = f(x1);
f2 = f(x2);
do
{
x3 = ((x1 * f2) - (x2 * f1)) / (f2 - f1);
f3 = f(x3);
if((f1 * f3) < 0)
{
x2 = x3;
f2 = f3;
}
else
{
x1 = x3;
f1 = f3;
}
}
while(fabs((x1-x2)/x2) > eps);
printf("\n\n Root is = %f",x3);
getch();
}
float f(float x)
{
x=(cos(x)-(3*x)+1);
return(x);
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 3
AIM: WCP to implement Newton - Raphson Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#define f(x) ((x * x * x) - (4 * x) - 9)
#define f1(x) ((3 * x * x) - 4)
void main()
{
int i,n;
float x0,x1,eps,del,rel_err;
clrscr();
printf("\n Enter x0: ");
scanf("%f",&x0);
printf("\n Enter number of iterations permmited: ");
scanf("%d",&n);
printf("\n Enter Epsilon: ");
scanf("%f",&eps);
for(i=1; i<=n; i++)
{
x1 = x0 - (f(x0) / f1(x0));
rel_err = fabs((x1 - x0) / x1);
x0 = x1;
}
if((rel_err <= eps) || (f(x1) == 0))
{
printf("\n Approximate root = %f",x1);
}
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 4

AIM: WCP to implement Gauss - Elimination Method. (Without Pivoting and With
Pivoting)

Without Pivoting:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float m[20][20],x[20],temp,sum;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
for(k=1;k<=(n-1);k++)
{
for(i=(k+1);i<=n;i++)
{
temp = m[i][k] / m[k][k];
for(j=k;j<=(n+1);j++)
{
m[i][j] = m[i][j] - (temp * m[k][j]);
}
}
}
x[n] = m[n][n+1] / m[n][n];
for(i=(n-1);i>=1;i--)
{
sum = 0.0;
for(j=(i+1);j<=n;j++)
{
sum = sum + (m[i][j] * x[j]);
}

ENROLLMENT NO. NUMERICAL METHOD


x[i] = (m[i][n+1] - sum) / m[i][i];
}
printf("\n Solution of equations");
for(i=1;i<=n;i++)
{
printf("\n\n X[%d] = %f",i,x[i]);
}
getch();
}

With Pivoting:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float p,q,r,max,m[20][20],x[20],temp,sum;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
for(k=1;k<=(n-1);k++)
{
max = fabs(m[k][k]);
p = k;
for(r=(k+1);r<=n;r++)
{
if(m[r][k] > max)
{
max = m[r][k];
p = r;
}
}
if(p != k)
{

ENROLLMENT NO. NUMERICAL METHOD


for(q=k;q<=n+1;q++)
{
temp = m[p][q];
m[p][q] = m[k][q];
m[k][q] = temp;
}
}
for(i=(k+1);i<=n;i++)
{
temp = m[i][k] / m[k][k];
for(j=k;j<=(n+1);j++)
{
m[i][j] = m[i][j] - (temp * m[k][j]);
}
}
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 5
AIM: WCP to implement Gauss Jordan Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float m[20][20],temp,comm;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
for(j=1; j<=(n+1); j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
for(k=1; k<=n; k++)
{
temp = m[k][k];
for(j=k; j<=(n+1); j++)
{
m[k][j] = m[k][j] / temp;
}
for(i=1; i<=n; i++)
{
if(i!=k)
{
comm = m[i][k];
for(j=k;j<=n+1;j++)
{
m[i][j] = m[i][j] - (comm * m[k][j]);
}
}
}
}
printf("\n Solution of equations");
for(i=1;i<=n;i++)
{
printf("\n\n X[%d] = %f",i,m[i][n+1]);
}
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 6
AIM: WCP to implement Jacobis Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float m[20][20],old_x[20],new_x[20],sum;
float err,maxiter,eps;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
printf("\n Enter the number of iterations: ");
scanf("%f",&maxiter);
printf("\n Enter the epsilon: ");
scanf("%f",&eps);
for(i=1; i<=n; i++)
{
old_x[i] = 0.0;
}
for(k=1; k<=maxiter; k++)
{
for(i=1; i<=n ;i++)
{
sum = 0.0;
for(j=1; j<=n; j++)
{
if(i!=j)
{
sum = sum + (m[i][j] * old_x[j]);
}
}
new_x[i] = (m[i][n+1] - sum) / m[i][i];

ENROLLMENT NO. NUMERICAL METHOD

err = fabs((new_x[i] - old_x[i]) / new_x[i]);


}
if(err <= eps)
{
printf("\n Solution converges in %d iterations",k);
for(i=1; i<=n; i++)
{
printf("\n X[%d] = %f",i,old_x[i]);
}
}
for(i=1; i<=n; i++)
{
old_x[i] = new_x[i];
}
}
//printf("\n Solution does not converges in %f iterations",maxiter);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT: 7
AIM: WCP to implement Gauss - Seidel Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float m[20][20],x[20],sum,temp;
float err,maxiter,eps;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
printf("\n Enter the number of iterations: ");
scanf("%f",&maxiter);
printf("\n Enter the epsilon: ");
scanf("%f",&eps);
for(i=1; i<=n; i++)
{
x[i] = 0.0;
}
for(k=1; k<=maxiter; k++)
{
for(i=1; i<=n ;i++)
{
sum = 0.0;
for(j=1; j<=n; j++)
{
if(i!=j)
{
sum = sum + (m[i][j] * x[j]);
}
}
temp = (m[i][n+1] - sum) / m[i][i];

ENROLLMENT NO. NUMERICAL METHOD


err = fabs((temp - x[i]) / temp);
x[i] = temp;
}
if(err <= eps)
{
printf("\n Solution converges in %d iterations",k);
for(i=1; i<=n; i++)
{
printf("\n X[%d] = %f",i,x[i]);
}
}
}
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT:8
AIM: WCP to implement Newtons Interpolation Method:
(1)
Newtons Forward Difference
(2)
Newtons Backward Difference.
(3)
Newtons Divided Difference.
(1)Newtons Forward Difference:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float d[20][20],x[20],y[20],a,sum,prod,p,m;
float fact(int);
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("\n Enter X[%d]: ",i);
scanf("%f",&x[i]);
printf("\n Enter Y[%d]: ",i);
scanf("%f",&y[i]);
}
printf("\n\n Enter the value of x for interpolation: ");
scanf("%f",&a);
i=2;
while(a > x[i])
{
i = i + 1;
}
k=i-1;
printf("\n K = %d",k);
p = (a - x[k]) / (x[k+1] - x[k]);
printf("\n P = %f",p);
printf("\n");
for(j=1;j<=(n-1);j++)
{
for(i=1;i<=(n-j);i++)
{
if(j==1)

ENROLLMENT NO. NUMERICAL METHOD


{
d[i][j] = y[i+1] - y[i];
printf("\n dY[%d][%d] = %f",i,j,d[i][j]);
}
else
{
d[i][j] = d[i+1][j-1] - d[i][j-1];
printf("\n d[%d]Y[%d][%d] = %f",j,i,j,d[i][j]);
}
}printf("\n");
}
printf("\n");
sum = y[k];
printf("\n Y[%d] = %f",k,sum);
for(i=1;i<=(n-k);i++)
{
prod=1.0;
for(j=0;j<=(i-1);j++)
{
prod = prod * (p-j);
}
printf("\n\n Prod = %f",prod);
m = fact(i);
printf("\n Factorial[%d] = %f",i,m);
sum = sum + ((d[k][i] * prod) / m);
printf("\n Sum = %f",sum);
printf("\n");
}
printf("\n\n Y[%f] = %f",a,sum);
getch();
}
float fact(int r)
{
int i;
float f = 1;
for(i=2;i<=r;i++)
{
f = f * i;
}
return(f);
}

ENROLLMENT NO. NUMERICAL METHOD


(2) Newtons Backward Difference:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float d[20][20],x[20],y[20],a,sum,prod,p,m;
float fact(int);
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("\n Enter X[%d]: ",i);
scanf("%f",&x[i]);
printf("\n Enter Y[%d]: ",i);
scanf("%f",&y[i]);
}
printf("\n\n Enter the value of x for interpolation: ");
scanf("%f",&a);
i=2;
while(a > x[i])
{
i=i+1;
}
k=i;
printf("\n K = %d",k);
p = (a - x[k]) / (x[k] - x[k-1]);
printf("\n P = %f",p);
printf("\n");
for(j=1;j<=(n-1);j++)
{
for(i=j+1;i<=n;i++)
{
if(j==1)
{
d[i][j] = y[i] - y[i-1];
printf("\n dY[%d][%d] = %f",i,j,d[i][j]);
}
else
{
d[i][j] = d[i][j-1] - d[i-1][j-1];
printf("\n d[%d]Y[%d][%d] = %f",j,i,j,d[i][j]);
}

ENROLLMENT NO. NUMERICAL METHOD


}printf("\n");
}
printf("\n");
sum = y[k];
printf("\n Y[%d] = %f",k,sum);
for(i=1;i<=(k-1);i++)
{
prod=1.0;
for(j=0;j<=(i-1);j++)
{
prod = prod * (p+j);
}
printf("\n\n Prod = %f",prod);
m = fact(i);
printf("\n Factorial[%d] = %f",i,m);
sum = sum + ((d[k][i] * prod) / m);
printf("\n Sum = %f",sum);
printf("\n");
}
printf("\n\n Y[%f] = %f",a,sum);
getch();
}
float fact(int r)
{
int i;
float f = 1;
for(i=2;i<=r;i++)
{
f = f * i;
}
return(f);
}

ENROLLMENT NO. NUMERICAL METHOD


(3) Newtons Divided Difference:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float d[20][20],x[20],y[20],a,sum,prod,p,m;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("\n Enter X[%d]: ",i);
scanf("%f",&x[i]);
printf("\n Enter Y[%d]: ",i);
scanf("%f",&y[i]);
}
printf("\n\n Enter the value of x for interpolation: ");
scanf("%f",&a);
i=2;
while(a > x[i])
{
i = i + 1;
}
k=i-1;
printf("\n K = %d",k);
for(j=1;j<=(n-1);j++)
{
for(i=1;i<=(n-j);i++)
{
if(j==1)
{
d[i][j] = (y[i+1] - y[i]) / (x[i+1] - x[i]);
printf("\n dY[%d][%d] = %f",i,j,d[i][j]);
}
else
{
d[i][j] = (d[i+1][j-1] - d[i][j-1]) / (x[i+j] - x[i]);;
printf("\n d[%d]Y[%d][%d] = %f",j,i,j,d[i][j]);
}
}printf("\n");
}
printf("\n");
sum = y[k];

ENROLLMENT NO. NUMERICAL METHOD


printf("\n Y[%d] = %f",k,sum);
for(i=1;i<=n;i++)
{
prod=1.0;
for(j=0;j<=(i-1);j++)
{
prod = prod * (a - x[k+j]);
}
printf("\n\n Prod = %f",prod);
sum = sum + (d[k][i] * prod);
printf("\n Sum = %f",sum);
printf("\n");
}
printf("\n\n Y[%f] = %f",a,sum);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT:9
AIM: WCP to implement Lagranges Interpolation Formula.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,n;
float x[20],y[20],a,sum,prod;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
printf("\n Enter X[%d]: ",i);
scanf("%f",&x[i]);
printf("\n Enter Y[%d]: ",i);
scanf("%f",&y[i]);
}
printf("\n\n Enter the value of x for interpolation: ");
scanf("%f",&a);
sum = 0.0;
for(i=1;i<=n;i++)
{
prod=1.0;
for(j=1;j<=n;j++)
{
if(i!=j)
{
prod = prod * ((a - x[j]) / (x[i] - x[j]));
}
}
sum = sum + (y[i] * prod);
}
printf("\n\n Interpolated value: %f",sum);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT:10
AIM: WCP to implement Splines Interpolation Formula.
#include<stdio.h>
#include<conio.h>
#include<math.h>
int f(int i)
{
int s;
s=i;
if(s==1)
{
return(1);
}
else
{
s=s*f(i-1);
}
return(s);
}
void main()
{
int n,i,k,j,m;
float x[10],y[10],a[10][10],u,sum,l,x1,d[20][20],p,prod,ans;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
printf("\n Enter the values of x & y : ");
for(i=1; i<=n; i++)
{
printf("\n Enter X[%d]: ",i);
scanf("%f",&x[i]);
printf(" Enter Y[%d]: ",i);
scanf("%f",&y[i]);
}
printf("\n\n Enter the value of x for interpolation: ");
scanf("%f",&x1);
i=2;
while(x1>x[i])
{
i++;
}
k=i-1;
p=(x1-x[k])/(x[k+1]-x[k]);

ENROLLMENT NO. NUMERICAL METHOD

for(j=1;j<=n-1;j++)
{
for(i=1;i<=n-j;i++)
{
if(j==1)
{
d[i][j]=y[i+1]-y[i];
printf("\n d[%d][%d] = %f",i,j,d[i][j]);
}
else
{
d[i][j]=d[i+1][j-1] - d[i][j-1];
printf("\n d[%d][%d] = %f",i,j,d[i][j]);
}
printf("\n");
}
}
sum=y[k];
prod=1;
for(i=1;i<=n-1;i++)
{
if(i%2==0)
{
if(i==2)
{
prod = prod * p;
ans = prod / f(i);
ans = ans * d[k-1][i];
sum = sum + ans;
}
else
{
prod = (p*p) * ((p*p) - 1);
ans = prod / f(i);
ans = ans * d[k-2][i];
sum = sum + ans;
}
}
else
{
if(i==1)
{
prod = prod * p;
ans = prod / f(i);
ans = ans * ((d[k][i] + d[k-1][i]) / 2);
sum = sum + ans;
}
else
{
prod = p * ((p*p) - 1);
ans = prod / f(i);

ENROLLMENT NO. NUMERICAL METHOD


ans = ans * ((d[k-1][i] + d[k-2][i]) / 2);
sum = sum + ans;
}
}
}
printf("\n\n Interpoleted value = %f",sum);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT:11
AIM:WCP to implement Newton - Cotes Interpolation Formula:
(1)Trapezoidal Rule
(2)Simpsons 1/3 Rule.
(3)Simpsons 3/8 Rule.

(1)Trapezoidal Rule
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n;
float x[20],y[20],sum=0,integral,h;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
printf("\n Enter x[%d] : ",i);
scanf("%f",&x[i]);
printf("\n Enter y[%d] : ",i);
scanf("%f",&y[i]);
}
h = x[2] - x[1];
sum = y[1] + y[n+1];
for(i=2;i<=n;i++)
{
sum = sum + (2*y[i]);
}
integral = (h/2) * sum;
printf("\n Value of integral = %f",integral);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


(2)Simpsons 1/3 Rule.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n;
float x[20],y[20],s,s2,s4,integral,h;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
printf("\n Enter x[%d] : ",i);
scanf("%f",&x[i]);
printf("\n Enter y[%d] : ",i);
scanf("%f",&y[i]);
}
h = x[2] - x[1];
s = y[1] + y[n+1];
s4=0;
s2=0;
for(i=2;i<=n;i=i+2)
{
s4 = s4 + y[i];
}
for(i=3;i<=n;i=i+2)
{
s2 = s2 + y[i];
}
integral = (h/3) * (s + (2*s2) + (4*s4));
printf("\n Value of integral = %f",integral);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


(3)Simpsons 3/8 Rule.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n;
float x[20],y[20],s,s2,s3,integral,h;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
printf("\n Enter x[%d] : ",i);
scanf("%f",&x[i]);
printf("\n Enter y[%d] : ",i);
scanf("%f",&y[i]);
}
h = x[2] - x[1];
s = y[1] + y[n+1];
s3=0;
s2=0;
for(i=4;i<=n-2;i=i+3)
{
s2 = s2 + y[i];
}
for(i=2;i<=n-1;i=i+3)
{
s3 = s3 + y[i] + y[i+1];
}
integral = ((3*h)/8) * (s + (2*s2) + (3*s3));
printf("\n\n Value of integral = %f",integral);
getch();
}

ENROLLMENT NO. NUMERICAL METHOD


EXPRIMENT:12
AIM: WCP to implement methods of Ordinary Differential Equations:
(1)Eulers Method
(2)Modified-Eulers Method.
(3)Runge - Kuttas Second Order Method.
(4)Runge - Kuttas Fourth Order Method.

(1)Eulers Method:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i;
float x1,y1,x,y,xf,h;
float f(float,float);
clrscr();
printf("\nEnter x1: ");
scanf("%f",&x1);
printf("\nEnter y1: ");
scanf("%f",&y1);
printf("\nEnter h: ");
scanf("%f",&h);
printf("\nEnter xf: ");
scanf("%f",&xf);
x = x1;
y = y1;
i = 1;
printf("\n");
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
while(x <= xf)
{
y = y + (h * f(x,y));
x = x + h;
i = i + 1;
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
}
getch();
}
float f(float x,float y)
{
return(x*y);
}

ENROLLMENT NO. NUMERICAL METHOD


(2) Modified-Eulers Method:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i;
float x1,y1,y2,x,y,xf,h,epsilon;
float f(float,float);
clrscr();
printf("\nEnter x1: ");
scanf("%f",&x1);
printf("\nEnter y1: ");
scanf("%f",&y1);
printf("\nEnter h: ");
scanf("%f",&h);
printf("\nEnter Epsilon: ");
scanf("%f",&epsilon);
printf("\nEnter xf: ");
scanf("%f",&xf);
x = x1;
y = y1;
i = 1;
printf("\n");
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
while(x <= xf)
{
y2 = y + (h * f(x,y));
do
{
y1 = y2;
y2 = y + ((h/2) * (f(x,y) + f(x+h,y2)));
}
while(fabs((y2-y1) > epsilon));
y = y2;
x = x + h;
i = i + 1;
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
}
getch();
}
float f(float x,float y)
{
return(x*y);
}

ENROLLMENT NO. NUMERICAL METHOD


(3) Runge - Kuttas Second Order Method:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i;
float x,y,x1,y1,s1,s2,xf,h;
float f(float,float);
clrscr();
printf("\nEnter x1: ");
scanf("%f",&x1);
printf("\nEnter y1: ");
scanf("%f",&y1);
printf("\nEnter h: ");
scanf("%f",&h);
printf("\nEnter xf: ");
scanf("%f",&xf);
x = x1;
y = y1;
i = 1;
printf("\n");
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
while(x <= xf)
{
s1 = f(x,y);
x = x + h;
s2 = f(x,y+(h*s1));
y = y + (h * ((s1 + s2) / 2));
i = i + 1;
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
}
getch();
}
float f(float x,float y)
{
return(x*y);
}

ENROLLMENT NO. NUMERICAL METHOD


(4) Runge - Kuttas Fourth Order Method.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i;
float x,y,x1,y1,s,s1,s2,s3,s4,xf,h;
float f(float,float);
clrscr();
printf("\nEnter x1: ");
scanf("%f",&x1);
printf("\nEnter y1: ");
scanf("%f",&y1);
printf("\nEnter h: ");
scanf("%f",&h);
printf("\nEnter xf: ");
scanf("%f",&xf);
x = x1;
y = y1;
i = 1;
printf("\n");
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
while(x <= xf)
{
s1 = f(x,y);
printf("\n S1 = %f",s1);
s2 = f(x + (h/2) , y + ((h*s1)/2));
printf("\n S2 = %f",s2);
s3 = f(x + (h/2) , y + ((h*s2)/2));
printf("\n S3 = %f",s3);
s4 = f(x + h , y + (h*s3));
printf("\n S4 = %f",s4);
s = (s1 + (2*s2) + (2*s3) + s4) / 6;
printf("\n S = %f",s);
y = y + (h * s);
x = x + h;
i = i + 1;
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
}
getch();
}
float f(float x,float y)
{
return(x*y);
}

ENROLLMENT NO. NUMERICAL METHOD

You might also like