Vous êtes sur la page 1sur 27

GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY PALWAL (HARYANA)

LAB MANUAL
APPLIED NUMERICAL TECHNIQUES AND COMPUTING LAB ( ME-319 E )

Department-CSE

H.O.D (CSE/IT)

Faculty

(Mr. P.C.VASHIST)

(MAHENDRA PAL SINGH)

GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY

INDEX

S.N o

Document Description
Time Table Syllabus Lab Plan Attendance Register

Document ID GS/ME/ANTC/ TT GS/ME/ANTC/ SB GS/ME/ANTC/ CP GS/ME/ANTC/ AR

Page No

1
2 3 4

Branch: - ME Subject Name:- APPLIED NUMERICAL TECHNIQUES AND COMPUTING LAB.

Subject Code:- ME-319 E

H.O.D

FACULTY

(Mr. P.C.VASHIST) Singh)

(Mahendra Pal

ME- 319 E APPLIED NUMERICAL TECHNIQUES AND COMPUTING LAB.


Se ssional marks : actical marks : 25 Pr 25 1. Solution of Non-linear equation in single variable using the method of successive bisection. 2. Solution of Non-linear equation in single variable using the Newton Raphson, Secant, Bi_ Section and Modified Eulers method.

3. Solution of a system of simultaneous algebraic equations using the Gaussian elimination procedure. 4. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method. 5. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method employing the technique of successive relaxation. 6. Numerical solution of an ordinary differential equation using the Eulers method. 7. Numerical solution of an ordinary differential equation using the Runge-Kutta 4th order method. 8. Numerical solution of an ordinary differential equation using the Predictor-corrector method. 9. Numerical solution of a system of two ordinary differential equation using Numerical integration. 10. . Numerical solution of an elliptic boundary value problem using the method of Finite Differences.
The students will be required to carry out the following exercises, that are based on the theory course ME-311 Numerical Methods and Computing, 3

with the help of MATLAB software / Pascal / C / C++ on personal computer.

GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY HARYANA


Course Description
Faculty: MAHENDRA PAL SINGH Subject Title: APPLIED NUMERICAL TECHNIQUES AND COMPUTING

LAB.

Subject Code: ME-319 E


Course Objective: Applied Numerical Techniques and Computing lab are essential part to solution of any Numerical like linear, non-linear equation. Similarly, a course in Applied Numerical Techniques and Computing is also an essential part of any numerical method. This course is intended to serve as a guideline for student to learn the basic concepts of engineering mathematics . We will be discussing how to solve numerical equations with the help of computer in C/C++ language.

Learning Outcomes:

Introduced to the fundamental concepts numerical method. Able to solve the differential equation with the help of computer . Able to answer the problems related to the concepts and functions of the following components:

Gauss-Seidel iterative method. Eulers method Runge-Kutta 4th order method.


4

GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY HARYANA

Evaluation scheme:

Internal lab Lab File Attendance Total internal marks M.D.U.Exam. marks Total

= 15 marks = 5 marks = 5 marks = 25 marks. = 25 marks = 50 marks

GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY


HARYANA Weekly Lab Plan
SR . No 1 wee Lab k Lab topic 1. Solution of Non-linear equation in single variable using the method of successive bisection. 2. Solution of Non-linear equation in single variable using the Newton Raphson, Secant, Bi_ Section and Modified Eulers method. Date Sign

Lab-1

Lab-2

Lab-3

3. Solution of a system of simultaneous algebraic equations using the Gaussian elimination procedure. 4. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method. 5. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method employing the technique of successive relaxation. 6. Numerical solution of an ordinary differential equation using the Eulers method. 7. Numerical solution of an ordinary differential equation using the
6

Lab-4

5 5

Lab-5

6 7

6 7

Lab-6 Lab-7

Lab-8

Lab-9

10

10

Lab-10

Runge-Kutta 4th order method. 8. Numerical solution of an ordinary differential equation using the Predictor-corrector method. 9. Numerical solution of a system of two ordinary differential equation using Numerical integration. 10. Numerical solution of an elliptic boundary value problem using the method of Finite Differences.

/*PROGRAM 1 BISECTION METHOD*/ #include<stdio.h> #include<conio.h #include<math.h> float f(float x) { return (x*x*x+x*x-3*x-3); } void bisect(float *x,float a,float b,int *itr) { *x=(a+b)/2; ++(*itr); printf("Iteration no %3d x=%7.5f\n",*itr,*x); getch (); } main() { int itr=0,maxitr; float x,a,b,aerr,x1; clrscr(); printf("enter the value of a,b\nallowed error\nmax iteration\n"); scanf("%f%f%f%d",&a,&b,&aerr,&maxitr); bisect(&x,a,b,&itr); do{ if(f(a)*f(x)<0)
7

b=x; else a=x; bisect(&x1,a,b,&itr); if(fabs(x1-x)<aerr) { printf("after %d iteration, root<169>=%6.4f\n",itr,x1); return 0; } x=x1; } while(itr<maxitr); printf("solution does not converger iteration not sufficient"); getch (); return 1; }

OUTPUT -1 BISECTION METHOD Enter the value of a,b,allowed error, maximum iteration. 1 2 .00000000005 18 Iteration no 1*=1.50000 Iteration no 2*=1.75000 Iteration no 3*=1.62500 Iteration no 4*=1.68750 Iteration no 5*=1.71875 Iteration no 6*=1.73438 Iteration no 7*=1.72656 Iteration no 8*=1.73047 Iteration no 9*=1.73242 Iteration no 10*=1.73145 Iteration no 11*=1.73193 Iteration no 12*=1.73218
9

Iteration no 13*=1.73206 Iteration no 14*=1.73199 Iteration no 15*=1.73203 Iteration no 16*=1.73204 Iteration no 17*=1.73205 Iteration no 18*=1.73205 /*PROGRAM 2 SECANT METHOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x) { return (cos(x)-x*exp(x)); } void main() { float x1,x2,x3,y1,y2,y3,acc; clrscr(); printf("enter the value of initial auess x1="); scanf("%f",&x1); printf("\n enter the value of another guess x2="); scanf("%f",&x2); printf("enter the calue of accuracy="); scanf("%f",&acc); y1=f(x1); y2=f(x2); while(fabs(x2-x1)>acc) { x3=(((x2*y1)-(x1*y2))/(y1-y2)); y3=f(x3); x1=x2; y1=y2; x2=x3;
10

y2=y3; } printf("\n the root x3=%f",x3); getch (); }

OUTPUT-2 SECANT METHOD Enter the value of x1 And x2 X1=0 X2=1 Accuracy =0.001 The root x3=0.517757

11

/*PROGRAM 3 GAUSSIAN ELIMINATION PROCEDURE*/ #include<stdio.h> #include<conio.h> #include<math.h> #define n 3 void main() { float a[n][n+1],x[n],t,s; int i,j,k; clrscr(); printf("enter the elements of the augmented matrix rowwise\n"); for(i=0;i<n;i++) for(j=0;j<n+1;j++) scanf("%f",&a[i][j]); for(j=0;j<n-1;j++) for(i=j+1;i<n;i++) { t=a[i][j]/a[j][j]; for(k=0;k<n+1;k++) a[i][k]-=a[j][k]*t; } printf("the upper triangular matrix is\n"); for(i=0;i<n;i++) { for(j=0;j<n+1;j++) printf("%8.4f",a[i][j]); printf("\n"); } for(i=n-1;i>=0;i--)
12

{ s=0; for(j=i+1;j<n;j++) s+=a[i][j]*x[j]; x[i]=(a[i][n]-s)/a[i][i]; } printf("the solution is:-\n"); for(i=0;i<n;i++) printf("x[%3d]=%7.4f\n",i+1,x[i]); getch(); } OUTPUT- 3 GAUSSIAN ELIMINATION PROCEDURE Enter the elements of the augmented matrix rowwise

2 1 1 10 3 2 3 18 1 4 9 16 The upper tringular matrix is 2.0000 1.0000 1.0000 10.0000 0.0000 0.5000 1.5000 3.0000 0.0000 0.0000 2.0000 10.0000 The solution is X[1]=7.0000 X[2]=9.0000 X[3]=5.0000
13

/*PROGRAM 4 REGULA FALSI METHOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x) { return (x*x*x+x*x-3*x-3); } void regula(float *x,float x0,float x1,float fx0,float fx1,int *itr) { *x=x0-((x1-x0)/(fx1-fx0))*fx0; ++(*itr); printf("Iteration no %3d x=%7.5f\n",*itr,*x); getch (); } main() { int itr=0,maxitr; float x0,x1,x2,x3,aerr; printf("enter the value of x0,x1\nallowed error\nmax iteration\n"); scanf("%f%f%f%d",&x0,&x1,&aerr,&maxitr); regula(&x2,x0,x1,f(x0),f(x1),&itr); do{ if(f(x0)*f(x2)<0) x1=x2; else x0=x2; regula(&x3,x0,x1,f(x0),f(x1),&itr); if(fabs(x3-x2)<aerr)
14

{ printf("after %d iteration, root=6.5f\n",itr,x3); getch (); return 0; } x2=x3; } while(itr<maxitr); printf("solution does not converges iteration not sufficient"); return 1; } OUTPUT- 4 REGULA FALSI METHOD

Enter the value of x0,y0,x1,allowed error, maximum iteration. 1 2 .00000000006 10 Iteration no 1*=1.57143 Iteration no 2*=1.70541 Iteration no 3*=1.72788 Iteration no 4*=1.73140 Iteration no 5*=1.73195 Iteration no 6*=1.73204 Iteration no 7*=1.73205 Iteration no 8*=1.73205 Iteration no 9*=1.73205 Iteration no 10*=1.73205
15

After 10 iteration, root =1.73205

/*PROGRAM 5 RUNGE KUTTA 4TH ORDER METHOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x,float y) { return (x+y*y); } int main() { float x0,y0,h,xn,x,y,k1,k2,k3,k4,k; clrscr(); printf("enter the value of x0,y0,h,xn"); scanf("%f%f%f",&x0,&y0,&h,&x); x=x0;y=y0; printf("\n\n the execution of the program to the given problem\n"); while(1) break; { if(x==xn) k1=h*f(x,y); k2=h*f(x+h/2,y+k1/2); k3=h*f(x+h/2,y+k2/2); k4=h*f(x+h,y+k3); k=(k1+(k2+k3)*2+k4)/6; x+=h; y+=k; printf("when x=%8.4f,then y=%8.4f\n\n",x,y);
16

} getch (); return 0; }

OUTPUT- 5 RUNGE KUTTA 4TH ORDER METHOD Enter the vallue of x0, yo, h, xn 0.0 1.0 0.2 0.2 When x=0.2000 y=1.2736

17

/*PROGRAM -6 NEWTON RAPSHON METHOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x) { return (x*log10(x)-1.2); } float df(float x) { return (log10(x)+0.43429); } main() { int itr=0,maxitr; float x0,x1,h,aerr; clrscr(); printf("enter the value of x0\nallowed error\nmax iteration\n"); scanf("%f%f%d",&x0,&aerr,&maxitr); for(itr=1;itr<=maxitr;++itr) { h=f(x0)/df(x0); x1=x0-h; printf("\nafter %d iteration x=%9.6f" ,itr,x1); getch (); if(fabs(h)<aerr) {
18

printf("\n\n\nafter %d iteration, root=%6.5f\n",itr,x1); getch (); return 0; } x0=x1; } printf("solution does not converger iteration not sufficient"); getch (); return 1; }

OUTPUT- 6 NEWTON RAPSHON METHOD Enter the value of x0,allowed error, maximum iteration. 2 .000000005 10 Iteration no 1*=2.813170 Iteration no 2*=2.741109 Iteration no 3*=2.740646 Iteration no 4*=2.740646 Iteration no 5*=2.740646 Iteration no 6*=2.740646 Iteration no 7*=2.740646 Iteration no 8*=2.740646 Iteration no 9*=2.740646 Iteration no 10*=2.740646 Iterations not sufficient , solution does not converge.

19

/*PROGRAM-7 GAUSS JORDAN MEHTOD*/ #include<stdio.h> #include<conio.h> #include<math.h> #define N 3 main() { float a[N][N+1],t; int i,j,k,n; clrscr(); printf("enter the elements of the augmented matrix rowwise\n"); for(i=0;i<N;i++) for(j=0;j<N+1;j++) scanf("%f",&a[i][j]); for(j=0;j<N;j++) for(i=0;i<N;i++) if(i!=j) { t=a[i][j]/a[j][j]; for(k=0;k<N+1;k++) a[i][k]-=a[j][k]*t; } printf("the diagonal matrix is\n"); for(i=0;i<N;i++) {
20

for(j=0;j<N+1;j++) printf("%9.4f",a[i][j]); printf("\n"); } printf("the solution is:\n"); for(i=0;i<N;i++) printf("x[%3d]=%7.4f\n",i+1,a[i][N]/a[i][i]); getch (); return 0; }

OUTPUT-7 GAUSS JORDAN METHOD enter the elements of the augmented matrix rowwise 2 1 1 10 3 2 3 18 1 4 9 16 the diagonal matrix is 2.0000 0.0000 0.0000 14.0000 0.0000 0.5000 0.0000 -4.5000 0.0000 0.0000 -2.0000 -10.0000 the solution is: x[ 1]= 7.0000 x[ 2]=-9.0000 x[ 3]= 5.0000

21

/*PROGRAM-8 SIMPSON 1/3 MEHTOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x) { return (1+x*x); } int main() { int i,n; float x0,xn,h,s; clrscr(); printf("enter the value of x0,xn,n\n"); scanf("%f%f%d",&x0,&xn,&n); h=(xn-x0)/n; s=f(x0)+f(xn)+4*f(x0+h); for(i=3;i<=n-1;i+=2) s+=4*f(x0+i*h)+2*f(x0+(i-h)*h); printf("the value of integral is %f",(h*s)/3); getch(); return 0; }

22

OUTPUT-8 SIMPSON 1/3 MEHTOD enter the value of x0,xn,n 0 6 6 the value of integral is 78.000000

23

/*PROGRAM-9 TRAPEZOIDAL MEHTOD*/ #include<stdio.h> #include<conio.h> #include<math.h> float f(float x) { return(1+x*x); } int main(int argc,char*argv[]) { int i,n; float x0,xn,h,s; clrscr(); printf("enter the value of x0,xn,n\n"); scanf("%f%f%d",&x0,&xn,&n); h=(xn-x0)/n; s=f(x0)+f(xn); for(i=1;i<=n-1;++i) s+=2*f(x0+i*h); printf("the value of integral is %f\n",(h/2)*s); getch(); return 0; }

24

OUTPUT-9 TRAPEZOIDAL MEHTOD enter the value of x0,xn,n 0 6 6 the value of integral is 79.000000

25

/*PROGRAM-10 MATRIX MULTIPLICATION */ #include<stdio.h> #include<conio.h> void main() { int a[4][4],b[4][4],p[4][4],i,j,k,m,n; clrscr(); printf("enter the elements of first matrix\n"); for(i=1;i<=2;i++) for(j=1;j<=2;j++) scanf("%d",&a[i][j]); printf("enter the elements of second matrix\n"); for(i=1;i<=2;i++) for(j=1;j<=2;j++) scanf("%d",&b[i][j]); for(i=1;i<=2;i++) { for(j=1;j<=2;j++) { p[i][j]=0; for(k=1;k<=2;k++) p[i][j]+=a[i][k]*b[k][j]; } } printf("resultant matrix is\n"); for(i=1;i<=2;i++)
26

{ for(j=1;j<=2;j++) printf("%4d",p[i][j]); printf("\n"); } getch(); }

OUTPUT-10 MATRIX MULTIPLICATION enter the elements of first matrix 10 20 30 40 enter the elements of second matrix 10 20 30 40 resultant matrix is 700 1000

1500 2200

27

Vous aimerez peut-être aussi