Date post: | 24-Apr-2015 |
Category: |
Documents |
Upload: | nikhil-batra |
View: | 109 times |
Download: | 3 times |
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)
1
GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY
INDEX
S.No Document Description Document ID Page No
1 Time Table GS/ME/ANTC/TT
2 Syllabus GS/ME/ANTC/SB
3 Lab Plan GS/ME/ANTC/CP
4 Attendance Register GS/ME/ANTC/AR
Branch: - ME
Subject Name:- APPLIED NUMERICAL TECHNIQUES AND COMPUTING LAB.
Subject Code:- ME-319 E
H.O.D FACULTY
(Mr. P.C.VASHIST) (Mahendra Pal Singh)
2
ME- 319 E APPLIED NUMERICAL TECHNIQUES AND COMPUTING LAB.
Sessional marks : 25 Practical marks : 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 Euler’s 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 Euler’s 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, with the help of MATLAB software / Pascal / C / C++ on personal computer.
3
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.
Euler’s method
Runge-Kutta 4th order method.
4
GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY
HARYANA
Evaluation scheme:
Internal lab = 15 marks
Lab File = 5 marks
Attendance = 5 marks
Total internal marks = 25 marks.
M.D.U.Exam. marks = 25 marks
Total = 50 marks
5
GS MVN INSTITUTE OF ENGINEERING & TECHNOLOGY
HARYANA
Weekly Lab Plan
SR. No
week Lab Lab topic Date Sign
1 1 Lab-1
1. Solution of Non-linear equation in single variable using the method of successive bisection.
22
Lab-2
2. Solution of Non-linear equation in single variable using the Newton Raphson, Secant, Bi_ Section and Modified Euler’s method.
3 3 Lab-3
3. Solution of a system of simultaneous algebraic equations using the Gaussian elimination procedure.
44
Lab-4
4. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method.
55
Lab-5
5. Solution of a system of simultaneous algebraic equations using the Gauss-Seidel iterative method employing the technique of successive relaxation.
6 6 Lab-66. Numerical solution of an ordinary differential equation using the Euler’s method.
7 7 Lab-7 7. Numerical solution of an ordinary differential equation using the Runge-Kutta 4th order method.
8 8 Lab-88. Numerical solution of an ordinary differential equation using the Predictor-corrector method.
9 9 Lab-99. Numerical solution of a system of two ordinary differential equation using Numerical integration.
6
10 10 Lab-1010. 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)b=x;elsea=x;bisect(&x1,a,b,&itr);if(fabs(x1-x)<aerr){
7
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;}
8
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
Iteration no 13*=1.73206
Iteration no 14*=1.73199
Iteration no 15*=1.73203
Iteration no 16*=1.73204
9
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;y2=y3;}printf("\n the root x3=%f",x3);getch ();}
10
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 3void 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--){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");
12
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;elsex0=x2;regula(&x3,x0,x1,f(x0),f(x1),&itr);if(fabs(x3-x2)<aerr){printf("after %d iteration, root=6.5f\n",itr,x3);getch ();return 0;}x2=x3;}
14
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
After 10 iteration, root =1.73205
15
/*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);}getch ();return 0;}
16
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){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;}
18
OUTPUT- 6 NEWTON RAPSHON METHODEnter 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++){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;}
20
OUTPUT-7 GAUSS JORDAN METHODenter 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,n066the 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++){for(j=1;j<=2;j++)printf("%4d",p[i][j]);printf("\n");}getch();}
26
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