38 Programs

67
Numerical Analysis And Computer Programming Page 1 NUMERICAL ANALYSIS AND COMPUTER PROGRAMMING LAB PROGRAM FILE SUBMITTED TO: Prof. Dr. Ch. Wali Mohammad Department of Applied Science Faculty of Engineering and Technology Jamia Millia Islamia New Delhi, 110025 SUBMITTED BY: NAME: - Md.Azher uddin, ROLL NO. : - 08-MES-37 CLASS: - B.Tech (Mechanical) 6 th semester Teacher signature

Transcript of 38 Programs

Page 1: 38 Programs

Numerical Analysis And Computer Programming Page 1

NUMERICAL ANALYSIS AND COMPUTER

PROGRAMMING

LAB PROGRAM FILE

SUBMITTED TO: Prof. Dr. Ch. Wali Mohammad

Department of Applied Science

Faculty of Engineering and Technology

Jamia Millia Islamia

New Delhi, 110025

SUBMITTED BY: NAME: - Md.Azher uddin,

ROLL NO. : - 08-MES-37

CLASS: - B.Tech (Mechanical) 6th semester

Teacher signature

Page 2: 38 Programs

Numerical Analysis And Computer Programming Page 2

INDEX

Pgms.no. Name of Program Page No. 01 To find the sum & avg. Of square of 1

st 100 Natural no. 03

02 To find the product of 1st N Natural No. 04

03 To calculate the Simple & compound Interest 05

04 To generate the Fibonacci series 06

05 To generate the Prime no. Between 1 & 100 07

06 To generate the prime no. b/w 1 & 100 except divisible by 5 09

07 To sort a list of 5 no. In ascending order 11

08 To calculate the value of nCr 13

09 To find the sum of digits of given number 14

10 To calculate the taxable Income 15

11 Calculation of sine series 16

12 Calculation of cosine series 18

13 To find out the avg marks of student and display the topper 19

14 Reverse the digit of a no. & fond the sum of its digits 22

15 To find the mean, Std. Deviation & variance of any numbers 23

16 Convert binary no. into decimal no. 24

17 Convert decimal no. into binary no. 25

18 To find the addition of two matrices 26

19 To find the multiplication of two matrices 28

20 Bisection method 30

21 Newton Ralph-son method 32

22 Regular-false method 34

23 Newton Gregory forward interpolation 36

24 Newton Gregory backward interpolation 38

25 Lagrange method of interpolation 40

26 Newton divided difference method 42

27 Bessel method of interpolation 44

28 Stirling method of interpolation 46

29 Trapezoidal rule 48

30 Simpson’s 1/3 rule 50

31 Simpson’s 3/8 rule 52

32 Bool’s rule 54

33 Weedle’s rule 56

34 Gauss elimination method 58

35 Gauss Jordan method 60

36 Gauss seidal iteration method 62

37 Curve fitting- straight line 64

38 Runga kutta method 66

Page 3: 38 Programs

Numerical Analysis And Computer Programming Page 3

#Program no.1

Write a program in C to find sum and average of square of

first 100 natural numbers.

/* PROGRAM TO CALCULATE SUM AND AVERAGE OF 100 NATURAL

NUMBERS*/

# include<stdio.h>

# include<conio.h>

void main( )

{

int i, n=100,sum=0, p;

float avg;

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

{

p=i*i ;

sum=sum+p;

}

avg =sum/(i-1);

printf ("\n The sum is %d", sum);

printf ("\n The average is %f", avg);

OUTPUT:

The sum is 10670

The average is 106.000000

Page 4: 38 Programs

Numerical Analysis And Computer Programming Page 4

progam NO.2

/*PROGRAM TO FIND PRODUCT OF 1ST 'N' NATURAL NUMBERS*/

#include<stdio.h>

#include<conio.h>

void main()

{

int i,n;

long int prod;

clrscr();

printf("\nEnter the value of n:\t");

scanf("%d",&n);

i=1,prod=1;

a5:

i=i+1;

prod=prod*i;

if(i<n)

goto a5;

printf("\nProduct of 1st %d natural

numbers:\t%ld",n,prod);

getch();

}

Output:

Enter the value of n: 5

Product of 1st 5 natural numbers: 120

Page 5: 38 Programs

Numerical Analysis And Computer Programming Page 5

Program no. 3

Write a program in C to calculate simple and compound interest.

/* PROGRAM TO CALCULATE SIMPLE AND COMPOUND INTEREST */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{

float p,r,t,si,ci,a,v;

clrscr();

printf ("\n Principal amount p=");

scanf ("%f",&p);

printf("\n rate of interest r= ");

scanf("%f",&r);

printf("\n Time period t=");

scanf("%f",&t);

si=(p*r*t)/100;

v=1+(r/100);

a=p*pow(v,t);

ci=a-p;

printf("\n Simple Interest = %f",si);

printf("\n Compound Interest = %f",ci);

getch();

}

OUTPUT:

Principal amount p =1000

Rate of interest r =10

Time period t =5

Simple Interest = 500.000000

Compound Interest = 610.51013

Page 6: 38 Programs

Numerical Analysis And Computer Programming Page 6

Program no 4

/* FIBBONACCI SERIES */

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

clrscr();

int i;

double x1,x2,x;

x1=1;

x2=1;

printf("%12.0f\t%12.0f",x1,x2);

for(i=3;i<=25;i++)

{

x=x1+x2;

x1=x2;

x2=x;

printf("%12.0f",x);

}

getch();

}

OUTPUT:

1 1 2 3 5 8 13 21

Page 7: 38 Programs

Numerical Analysis And Computer Programming Page 7

Program no.5

/*GENERATING PRIME NO. BETWEEN 1 AND 100*/

#include<stdio.h>

#include<conio.h>

void main()

{ int i,j,count=0;

clrscr();

printf("\nprime nos. between 1 and 100\n");

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

{ if(i==2)

i++;

j=2;

while(j<=(i/2))

{ if(i%j==0)

break;

j++;

}

if(j>(i/2))

{ count++;

printf("\t%d",i);

}

if(count%5==0)

printf("\n");

}

getch();

}

output:

prime nos. between 1 and 100

2 3 5 7 11

13 17 19 23 29

31 37 41 43 47

53 59 61 67 71

Page 8: 38 Programs

Numerical Analysis And Computer Programming Page 8

73 79 83 89 97

Page 9: 38 Programs

Numerical Analysis And Computer Programming Page 9

Program no.6

Write a program in C to generate prime nos. between 1 and 100 except

those divisible by 5.

/* GENERATE PRIME NOS. BETWEEN 1 AND 100 EXCEPT THOSE

DIVISIBLE BY 5*/

#include<stdio.h>

#include<conio.h>

void main()

{

clrscr();

int n1=1,n2=100,j,i,temp,k=0,flag=0;

for (i=n1;i<=n2;i++)

{

temp=i;

if (temp==2)

{

flag=1;

}

if (temp%5==0)

{

flag=0;

continue;

}

for (j=2;j<=temp/2;j++)

{

if (temp%j!=0)

{

flag=1;

}

else

{

flag=0;

break;

}

}

if (flag==1)

{

printf ("\t %d",temp);

}

}

Page 10: 38 Programs

Numerical Analysis And Computer Programming Page 10

OUTPUT:

2 3 7 11 13 17 19 23 29

31 37 41 43 47 53 59 61 67 71

73 79 83 89 97

Page 11: 38 Programs

Numerical Analysis And Computer Programming Page 11

Program no. 7

/* to sort a list of 5 numbers in ascending order*/

#include<stdio.h>

#include<conio.h>

void main()

{ int i,j,t;

int n[5]; clrscr();

//to enter the data

printf("\n enter the 5 numbers to be sorted\n");

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

scanf("%d",&n[i]);

//the sorting operation

for(j=0;j<5;j++)

for(i=0;i<4-j;i++)

if(n[i]>n[i+1])

{t=n[i];

n[i]=n[i+1];

n[i+1]=t;

}

//to print the sorted list

printf("output:");

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

printf("\n%d ",n[i]);

getch();

}

Page 12: 38 Programs

Numerical Analysis And Computer Programming Page 12

OUTPUT:

enter the 5 numbers to be sorted

12

13

5

34

76

output:

5

12

13

34

76

Page 13: 38 Programs

Numerical Analysis And Computer Programming Page 13

Program no 8

/*CALCULATION OF THE VALUE OF nCr*/

#include<stdio.h>

#include<conio.h>

void main()

{

int n,r,y;

clrscr();

printf("\nCALCULATION OF nCr");

printf("\nenter the value of n ,r");

scanf("%d%d",&n,&r);

y=fact(n)/(fact(r)*fact(n-r));

printf("\n%dC%d = %d",n,r,y);

getch();

}

int fact (int a)

{

int f=1,j;

if((a==0)&&(a==1))

return(1);

else

{

for(j=1;j<=a;j++)

f=f*j;

return(f);

}

}

OUTPUT:

CALCULATION OF nCr

enter the value of n ,r6 2

6C2 = 15

Page 14: 38 Programs

Numerical Analysis And Computer Programming Page 14

Program no. 9

/*SUM OF DIGITS OF A GIVEN NUMBER*/

#include<stdio.h>

#include<conio.h>

void main()

{

int num,p,sum=0;

clrscr();

printf("\nenter any number==");

scanf("%d",&num);

while(num!=0)

{

p=num%10;

sum=sum+p;

num=num/10;

}

printf("\nsum of digit of given number==");

printf("%d",sum);

getch();

}

OUTPUT:

enter any number==4672

sum of digit given number==19

Page 15: 38 Programs

Numerical Analysis And Computer Programming Page 15

Program no. 10

/*CALCULATION OF TAXABLE INCOME*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

float income,tax;

clrscr();

printf("\nenter taxable income:");

scanf("%f",&income);

if(income<=22000)

tax=0.0;

else if(income<=30000)

tax=0.1*(income-22000);

else if(income<=50000)

tax=800+0.2*(income-30000);

else if(income<=100000)

tax=4800+0.3*(income-50000);

else

tax=19800+0.4*(income-100000);

printf("\namount of tax on Rs%f equals to Rs%f",income,tax);

getch();

}

output:

enter taxable income:132000

Page 16: 38 Programs

Numerical Analysis And Computer Programming Page 16

program no. 11

/* CALCULATION OF SINE SERIES */

#include<stdio.h>

#include<math.c>

#include<conio.h>

int fact (int a);

void main()

{

double x,sum1=0.0,sum2=0.0,sum=0.0;

int y,i;

clrscr();

printf("\nenter the value for x:");

scanf("%lf",&x);

for(i=1;i<=30;i=i+4)

sum1=sum1+((pow(x,i))/fact(i));

for(i=3;i<=30;i=i+4)

sum2=sum2+((pow(x,i))/fact(i));

sum=sum1-sum2;

printf("sum of cosine series cos(%lf)==%lf",x,sum);

getch();

} //END OF MAIN

/* FUNCTION SUB PROGRAM */

int fact (int a)

{

int f=1,j;

if(a==0)

return(1);

else

{

for(j=1;j<=a;j++)

f=f*j;

return(f);

}

}

Page 17: 38 Programs

Numerical Analysis And Computer Programming Page 17

OUTPUT:

enter the value for x:1

sum of sine series sin(1.000000)==0.841471

Page 18: 38 Programs

Numerical Analysis And Computer Programming Page 18

Program no 12

/*CALCULATION OF COSINE SERIES*/

#include<stdio.h>

#include<math.h>

#include<conio.h>

long fact (int a);

void main()

{

double x,sum1=0.0,sum2=0.0,sum=0.0;

int y,i;

clrscr();

printf("\nenter the value for x:");

scanf("%lf",&x);

for(i=0;i<=30;i=i+4)

sum1=sum1+((pow(x,i))/fact(i));

for(i=2;i<=30;i=i+4)

sum2=sum2+((pow(x,i))/fact(i));

sum=sum1-sum2;

printf("sum of cosine series cos(%lf)==%lf",x,sum);

getch();

}

long fact (int a)

{

int j;

long f=1;

if(a==0)

return(1.0);

else

{

for(j=1;j<=a;j++)

f=f*j;

return(f);

}

}

OUTPUT:

enter the value for x:2

sum of cosine series cos(2.000000)==-1.350759

Page 19: 38 Programs

Numerical Analysis And Computer Programming Page 19

Program no.13

Write a program in C to find out the average marks of

students and print the marks of the topper.

/* PROGRAM TO FIND OUT AVERAGE MARKS OF STUDENTS */

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int stu[20][20],i,j,m,n,roll=0;

float avg[20],sum=0.0,max=0.0;

clrscr();

printf("\n Enter the number of students =");

scanf("%d",&n);

printf ("\n Enter the number of subjects =");

scanf ("%d",&m);

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

{

printf("\n Enter marks for %d student =",i);

for(j=1;j<=m;j++)

{

printf("\n Subject %d",j);

scanf("%d",&stu[i][j]);

}

}

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

{

printf("\n The average of the %d student =\n",i);

sum=0.0;

avg[i]=0.0;

for(j=1;j<=m;j++)

{

sum=sum+stu[i][j];

}

avg[i]=(sum/m-1);

printf("%f\n",avg[i]);

if(avg[i]>max)

{

max=avg[i];

roll=i;

}

}

Page 20: 38 Programs

Numerical Analysis And Computer Programming Page 20

printf("\n The topper of the class is student %d with average =%f",roll,max);

getch();

}

Page 21: 38 Programs

Numerical Analysis And Computer Programming Page 21

OUTPUT:

Enter the number of students =3

Enter the number of subjects =5

Enter marks for 1 student

Subject 1=69

Subject 2=58

Subject 3=45

Subject 4=10

Subject 5=35

Enter marks for 2 student

Subject 1=47

Subject 2=25

Subject 3=16

Subject 4=97

Subject 5=46

Enter marks for 3 student

Subject 1=30

Subject 2=90

Subject 3=76

Subject 4=58

Subject 5=47

The average of the 1 student = 42.400002

The average of the 2 student = 45.200001

The average of the 3 student = 59.200001

The topper of the class is student 3 with average = 59.200001

Page 22: 38 Programs

Numerical Analysis And Computer Programming Page 22

Program no.14

Write a program in C to reverse the digits of a number and find the sum of its

digits.

/* PROGRAM TO REVERSE THE DIGITS OF A NUMBER AND FIND THE

SUM OF ITS DIGITS */

#include<stdio.h>

#include<conio.h>

void main()

{

int n1,n2=0,rem,sum=0;

printf ("\n Enter the number to be reversed=");

scanf ("%d",&n1);

while (n1>0)

{r

rem=n1%10;

n1=n1/10;

n2=n2*10+rem;

}

printf ("\n The reversed number is %d",n2);

while (n2>0)

{

rem=n2%10;

n2=n2/10;

sum=sum+rem;

}

printf ("\n The sum of digits of reversed number is %d",sum);

}

OUTPUT:

Enter the number to be reversed =4567

The reversed number is 7654

The sum of digits of reversed number is 22

Page 23: 38 Programs

Numerical Analysis And Computer Programming Page 23

Programme no. 15

Write a program in C to find the sum, mean standard deviation and

variance of any numbers.

/*......STANDARD DEVIATION AND VARIATION ........*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

clrscr();

int n;

float x[20],sum;

float am,var,sd;

int i;

printf("\n enter the no. of terms=");

scanf("%d",&n);

printf("\n enter %d values \n",n);

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

scanf("%f",&x[i]);

sum=0.0;

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

sum = sum+x[i];

am = sum/n;

sum = 0.0;

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

sum = sum+((x[i]-am)*(x[i]-am));

var = sum/n;

sd = sqrt(var);

printf("\n ARITHMETIC MEAN, STD. DEVIATION AND VARIANCE =");

printf("%f\t%f\t%f",am,var,sd);

getch();

}

OUTPUT:

Enter the no. of terms= 5

Enter 5 values

4

9

8

6

12

Arithmetic MEAN, STD. DEVIATION and VARIANCE =7.800000 7.360000 2.712932

Page 24: 38 Programs

Numerical Analysis And Computer Programming Page 24

Programme no. 16

Write a program in C to convert binary number to decimal number.

/* CONVERT BINARY NUMBER TO DECIMAL NUMBER */

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int num[10];

int i,x=2,j,y=0,n;

printf ("\n Enter the number of elements of binary number=");

scanf ("%d",&n);

j=n-1;

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

{

printf ("\n Enter the number[%d]=",i);

scanf ("%d",&num[i]);

}

while (j>=0)

{

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

{

y=y+num[i]*(pow(x,j));

j--;

}

}

printf (" The decimal number is %d",y);

}

OUTPUT:

Enter the number of elements of binary number= 5

Enter the number[0]= 1

Enter the number[1]= 0

Enter the number[2]= 1

Enter the number[3]= 1

Enter the number[4]= 1

The decimal number is 23

Page 25: 38 Programs

Numerical Analysis And Computer Programming Page 25

Programme no.17

Write a program in C to convert decimal number to binary number.

/* CONVERT DECIMAL NUMBER TO BINARY NUMBER */

#include<stdio.h>

#include<conio.h>

void main()

{

int i=0,j,n;

int rem[10];

printf ("\n Enter the number=");

scanf ("%d",&n);

do

{

rem[i]=n%2;

i=i+1;

n=n/2;

}

while (n>0);

for (j=i-1;j>=0;j--)

{

printf ("The binary number is %d",rem[j]);

}

}

OUTPUT:

Enter the number= 123

The binary number is 1111011

Page 26: 38 Programs

Numerical Analysis And Computer Programming Page 26

program no.18

Write a program in C to add two rectangular matrices.

/* ADDTION OF MATRIX */

#include<stdio.h>

#include<conio.h>

void main()

{

int mat1[10][10],mat2[10][10],mat3[10][10];

int i,j,m,n;

clrscr();

printf ("\n The number of rows are=");

scanf ("%d",&m);

printf ("\n The number of columns are=");

scanf ("%d",&n);

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

{

for (j=0;j<n;j++)

{

printf ("\n The matrix 1 is [%d][%d]=",i,j);

scanf ("%d",& mat1[i][j]);

}

}

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

{

for (j=0;j<n;j++)

{

printf ("\n The matrix 2is [%d][%d]=",i,j);

scanf ("%d",& mat2[i][j]);

}

}

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

{

for (j=0;j<n;j++)

{

mat3[i][j]= mat1[i][j]+mat2[i][j];

}

}

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

{

for (j=0;j<n;j++)

{

printf ("\n The resultant matrix is %d\n",mat3[i][j]);

}

Page 27: 38 Programs

Numerical Analysis And Computer Programming Page 27

printf ("\n");

}

}

OUTPUT:

The number of rows are=2

The number of columns are=2

The matrix 1 is [0][0]= 1

The matrix 1 is [0][1]= 2

The matrix 1 is [1][0]= 3

The matrix 1 is [1][1]= 4

The matrix 2 is [0][0]= 5

The matrix 2 is [0][1]= 6

The matrix 2 is [1][0]= 7

The matrix 2 is [1][1]= 8

The resultant matrix is

6 8

10 12

Page 28: 38 Programs

Numerical Analysis And Computer Programming Page 28

Program no. 19

/*MULTIPLICATION OF MATRIX*/

#include<stdio.h>

#include<conio.h>

void main()

{int m,n,p,q,i,j,k;

int a[10][10],b[10][10],c[10][10];

clrscr();

printf("\nenter no. of row and col of matrix a:");

scanf("%d%d",&m,&n);

printf("\nenter no. of row and col of matrix b:");

scanf("%d%d",&p,&q);

if(n!=p)

{ printf("\nmatrix can't be multiplied\n");

goto end;

}

printf("\nenter matrix a\n");

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

{ for(j=0;j<n;j++)

scanf("%d",&a[i][j]);

}

printf("\nenter matrix b\n");

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

{ for(j=0;j<q;j++)

scanf("%d",&b[i][j]);

}

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

for(j=0;j<n;j++)

{ c[i][j]=0;

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

c[i][j]=c[i][j]+a[i][k]*b[k][j];

}

printf("the product ofmatrix is:");

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

{printf("\n");

for(j=0;j<q;j++)

printf("%3d",c[i][j]);

}

end:

getch();

}

Page 29: 38 Programs

Numerical Analysis And Computer Programming Page 29

output:

enter no. of row and col of matrix a:3 3

enter no. of row and col of matrix b:3 2

enter matrix a

0 1 2

1 2 3

2 3 4

enter matrix b

1 -2

-1 0

2 -1

the product ofmatrix is:

3 -2

5 -5

7 -8

Page 30: 38 Programs

Numerical Analysis And Computer Programming Page 30

program no.20

/*BISECTION METHOD*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{ float fun(float m);

float x1,x2,x3,p,q,r;

int i=0;

clrscr();

l10: printf("\nequation:x*(exp(x)-1) ");

printf("\nenter the app value of x1,x2:");

scanf("%f %f",&x1,&x2);

if(fun(x1)*fun(x2)>0)

{ printf("\n wrong values entered...enter again:\n");

goto l10;}

else

printf("\n the root lies b/w %f & %f",x1,x2);

printf("\n n x1 x2 x3 f(x1) f(x2) f(x3)");

l15: x3=(x1+x2)/2;

p=fun(x1);

q=fun(x2);

r=fun(x3);

i=i++;

printf("\n%d %f %f %f %f %f %f",i,x1,x2,x3,p,q,r);

if((p*r)>0)

x1=x3;

else

x2=x3;

if((fabs((x2-x1)/x2))<=0.001)

{printf("\n root of the equ is %f",x3);

getch();

exit(0);}

else goto l15;

}

float fun(float m)

{float g;

g=(m*(exp(m))-1);

return(g);

}

Page 31: 38 Programs

Numerical Analysis And Computer Programming Page 31

/*output:

equation:x*(exp(x)-1)

enter the app value of x1,x2:0.5 1

the root lies b/w 0.500000 & 1.000000 n x1 x2 x3 f(x1) f(x2) f(x3)

1 0.500000 1.000000 0.750000 -0.175639 1.718282 0.587750

2 0.500000 0.750000 0.625000 -0.175639 0.587750 0.167654

3 0.500000 0.625000 0.562500 -0.175639 0.167654 -0.012782

4 0.562500 0.625000 0.593750 -0.012782 0.167654 0.075142

5 0.562500 0.593750 0.578125 -0.012782 0.075142 0.030619

6 0.562500 0.578125 0.570312 -0.012782 0.030619 0.008780

7 0.562500 0.570312 0.566406 -0.012782 0.008780 -0.002035

8 0.566406 0.570312 0.568359 -0.002035 0.008780 0.003364

9 0.566406 0.568359 0.567383 -0.002035 0.003364 0.000662

10 0.566406 0.567383 0.566895 -0.002035 0.000662 -0.000687

root of the equ is 0.566895

Page 32: 38 Programs

Numerical Analysis And Computer Programming Page 32

programme no 21

/*NEWTON RALPHSON*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{float f(float a);

float df(float a);

int i=1;

float x0,x1,p,q;

float error =0.0001,delta =0.001;

clrscr();

printf("\n\nThe equation is X^3+1.2X^2-5X-7.2");

printf("\nenter the initial value of x0:");

scanf("%f",&x0);

printf("\n i x0 x1 f(x0) df(x0)\n ");

if (fabs (df(x0))<delta)

{printf("slope is very small and= %f",df(x0));}

else a10: p=f(x0);q=df(x0);

x1=x0-(p/q);

i++;

printf("\n %d\t%f\t%f\t%f\t%f\n",i,x0,x1,p,q);

if(fabs((x1-x0)/x1)<=error)

{printf("\nThe root of equation X^3+1.2X^2-5X-7.2 is %f",x0);

getch();

exit(0);}

else

{x0=x1;

goto a10;}

}

/* Function sub program */

float f(float a)

{float g;

g = pow(a,3)+((1.2)*(pow(a,2)))-5*a-7.2;

return(g);}

float df(float a)

{float g1;

g1 = (3*pow(a,2))+(2.4*a)-5;

return(g1);

}

/*

output:

The equation is X^3+1.2X^2-5X-7.2

enter the initial value of x0:2

Page 33: 38 Programs

Numerical Analysis And Computer Programming Page 33

i x0 x1 f(x0) df(x0)

2 2.000000 2.372881 -4.400000 11.800000

3 2.372881 2.313010 1.052938 17.586615

4 2.313010 2.311227 0.029603 16.601265

5 2.311227 2.311225 0.000026 16.572248

The root of equation X^3+1.2X^2-5X-7.2 is 2.311227

Page 34: 38 Programs

Numerical Analysis And Computer Programming Page 34

Programme no.22

/*REGULA-FALSE METHOD */

#include<stdio.h>

#include<conio.h>

#include<math.h>

float f(float x)

{return(3*x-cos(x)-1);

}

void main()

{ float f(float x);

double x1,x2,m;

int c=0;

clrscr();

printf("\n enter the first approximation :");

scanf("%f",&x1);

printf("\n enter the second approximation :");

scanf("%f",&x2);

if(f(x1)*f(x2)<0.0)

{

m=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

while(fabs(f(m))>=0.0001)

{

c++;

if(f(x1)*f(m)<0.0)

x2=m;

else

x1=m;

m=((x1*f(x2))-(x2*f(x1)))/(f(x2)-f(x1));

printf("\n\n the %d,ilteration is %f ",c,m);

}

printf("\n\n the answer is repeated at %d ilteration is %f",c,m);

}

else

printf("enter valid initial approximation :");

getch();

}

Page 35: 38 Programs

Numerical Analysis And Computer Programming Page 35

OUTPUT:

Enter the first approximation : 0

Enter the second approximation : 1

The 1,ilteration is 0.605959

The 2,ilteration is 0.607057

The 3,ilteration is 0.607100

The answer is repeated at 3 ilteration is 0.607100

Page 36: 38 Programs

Numerical Analysis And Computer Programming Page 36

Program no.23

/*NEWTON GREGORY FORWARD INTERPOLATION*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int n,i,j,k;

float mx[10],my[10],x,y=0,h,p,diff[20][20],y1,y2,y3,y4;

clrscr();

printf("\nenter no. of terms:");

scanf("%d",&n);

printf("\nenter values x\ty:\n");

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

scanf("%f%f",&mx[i],&my[i]);

printf("\nenter value of x at which y is to be calculated:");

scanf("%f",&x);

h=mx[1]-mx[0];

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

diff[i][1]=my[i+1]-my[i];

for(j=2;j<=4;j++)

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

diff[i][j]=diff[i+1][j-1]-diff[i][j-1];

i=0;

do

{i++;

}while(mx[i]<x);

i--;

p=(x-mx[i])/h;

y1=p*diff[i-1][1];

y2=p*(p+1)*diff[i-1][2]/2;

y3=(p+1)*p*(p-1)*diff[i-2][3]/6;

y4=(p+2)*(p+1)*p*(p-1)*diff[i-3][4]/24;

y=my[i]+y1+y2+y3+y4;

printf("\nwhen x=%6.4f,y=%6.8f",x,y);

getch();

}

Page 37: 38 Programs

Numerical Analysis And Computer Programming Page 37

OUTPUT:

enter no. of terms:5

enter values x y:

3 13

5 23

11 899

27 17315

34 35606

enter value of x at which y is to be calculated:7

when x=7.0000,y=899.00000000

programme no.24

Page 38: 38 Programs

Numerical Analysis And Computer Programming Page 38

Program no.24

/*NEWTON GREGORY BACKWARD INTERPOLATION*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int n,i,j,k;

float mx[10],my[10],x,x0=0,y0,sum=0,fun=1,h,p,diff[20][20],y1,y2,y3,y4;

clrscr();

printf("\nenter no. of terms:");

scanf("%d",&n);

printf("\nenter values x\ty:\n");

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

scanf("%f%f",&mx[i],&my[i]);

printf("\nenter value of x at which y is to be calculated:");

scanf("%f",&x);

h=mx[1]-mx[0];

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

diff[i][1]=my[i+1]-my[i];

for(j=2;j<=4;j++)

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

diff[i][j]=diff[i+1][j-1]-diff[i][j-1];

i=0;

while(!mx[i]>x)

i++;

x0=mx[i];

y0=my[i];

p=(x-x0)/h;

sum=y0;

for(k=1;k<=4;k++)

{

fun=(fun*(p-(k-1)))/k;

sum=sum+fun*diff[i][k];

}

printf("\nwhen x=%6.4f,y=%6.8f",x,sum);

getch();

}

Page 39: 38 Programs

Numerical Analysis And Computer Programming Page 39

OUTPUT:

enter no. of terms:5

enter values x y:

20 41

40 103

60 168

80 218

100 235

enter value of x at which y is to be calculated:70

when x=70.0000,y=196.00000000

Page 40: 38 Programs

Numerical Analysis And Computer Programming Page 40

program no.25

/*LAGRANGE METHOD OF INTERPOLATION*/

#include<stdio.h>

#include<conio.h>

#include<math.h>

#define max 50

void main()

{

float ax[max],ay[max],nr,dr,x,y=0;

int i,j,n;

clrscr();

printf("\nEnter No. of Points:");

scanf("%d",&n);

printf("\nEnter the given set of values:\nx\ty\n");

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

scanf("%f%f",&ax[i],&ay[i]);

printf("\nEnter the value of x at which f(x)is required:");

scanf("%f",&x);

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

{

nr=dr=1;

for(j=0;j<n;j++)

if(j!=i)

{

nr*=x-ax[j];

dr*=ax[i]-ax[j];

}

y+=(nr/dr)*ay[i];

}

printf("\nwhen x=%5.2f then y=%5.2f",x,y);

getch();

}

output:

Enter No. of Points:6

Enter the given set of values:

x y

4 18

5 100

7 294

10 900

11 1210

13 2028

Enter the value of x at which f(x)is required:8

Page 41: 38 Programs

Numerical Analysis And Computer Programming Page 41

when x= 8.00 then y=445.62

Page 42: 38 Programs

Numerical Analysis And Computer Programming Page 42

Programme no.26

Write a program in C/C++ which can calculate the value of a function at a point using Newton

Divided Difference method.

/* NEWTON DIVIDED DIFFERENCE METHOD */

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{

float ax[20], ay[20], diff[30],temp=1;

int n,j,m,z=0,A=0,k=0;

clrscr();

cout<<"Enter the number of points=";

cin>>n;

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

{

cout<<"Enter ( x"<<i+1<<" ,y"<<i+1<<" )\n";

cin>>ax[i]>>ay[i];

}

cout<<"Enter the value of x=";

cin>>ax[n];

// creating difference table

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

{

diff[i]= (ay[i+1]-ay[i])/(ax[i+1]-ax[i]);

}

if(n>1)

{

m=n-1;

A=0;

for(j=0;j<n-2;j++)

{

for(z=0;z<m-1;i++,z++)

{

diff[i]= (diff[z+1+A]-diff[z+A])/(ax[z+j+2]-ax[z]);

}

A+=m;

m--;

Page 43: 38 Programs

Numerical Analysis And Computer Programming Page 43

}

}

//printing difference table

cout<<"\n difference table is as follows:\n";

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

cout<<"\n"<<diff[z];

// now calculating value of y for x

ay[n]=ay[0];

m=n;

A=0;

for (z=0;z<n-1;z++)

{

temp*=(ax[n]-ax[z]);

ay[n]+=temp*diff[z+A];

A+=m-2;

m--;

}

cout<<"\n\n The value of y for x = "<<ax[n]<<" is :"<<ay[n];

getch();

}

OUTPUT:

Enter the number of points=5

Enter (x1 ,y1 ) 5 150

Enter (x2 ,y2 ) 7 392

Enter (x3 ,y3 ) 11 1452

Enter (x4 ,y4 ) 13 2366

Enter (x5 ,y5 ) 17 5202

Enter the value of x=9

The difference table is as follows:

121

265

457

709

24

32

42

1

1

0

The value of y for x = 9 is: 810

Page 44: 38 Programs

Numerical Analysis And Computer Programming Page 44

Program no.27

/******BESSEL'S METHOD OF INTERPOLATION******/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{ int n , i , j ;

float ax[10] , ay[10] , x , y=0 , h , p , diff[20][20] , y1 , y2 , y3 , y4 ;

clrscr();

printf("\nEnter the noumber of item : ");

scanf("%d" , &n);

printf("\nEnter the value in the form of x\n");

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

{ printf("\nEnter the value of x%d\t" , i+1);

scanf("%f" , &ax[i]); }

printf("\nEnter the value in the form of y\n");

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

{ printf("\nEnter the value of y%d\t" , i+1);

scanf("%f" , &ay[i]); }

printf("\nEnter the value of x for which you want the value of y :- ");

scanf("%f" , &x);

h = ax[1] - ax[0];

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

diff[i][1] = ay[i+1] - ay[i];

for(j = 2 ; j <= n ; j++)

for(i = 0 ; i < -j ; i++)

diff[i][j] = diff[i+1][j-1] - diff[i][j-1];

i=0;

do

{i++;

}while(ax[i] < x); i--;

p = (x - ax[i]) / h;

y1 = p * diff[i][1];

y2 = p * (p - 1) * (diff[i][2] + diff[i - 1][2]) / 4;

y3 = p * (p - 1) * (p - 0.5) * (diff[i-1][3]) / 6;

y4 = (p + 1) * p * (p - 1) * (p - 2) * (diff[i-2][4] + diff[i - 1][4]) / 48;

y = ay[i] + y1 +y2 + y3 + y4;

printf("\nWhen x = %6.4f , y = %6.8f" , x , y);

getch();

}

Page 45: 38 Programs

Numerical Analysis And Computer Programming Page 45

OUTPUT :-

Enter number of item : 4

Enter the value in the form of x

Enter the value of x1 20

Enter the value of x2 24

Enter the value of x3 28

Enter the value of x4 32

Enter the value in the form of y

Enter the value of y1 24

Enter the value of y2 32

Enter the value of y3 35

Enter the value of y4 40

Enter the value of x for which you want the value of y :- 25

When x = 25.0000 , y = 32.945313

Page 46: 38 Programs

Numerical Analysis And Computer Programming Page 46

Programe no 28

/******STIRLING METHOD OF INTERPOLATION******/

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{ int n , i , j ;

float ax[10] , ay[10] , x , y=0 , h , p , diff[20][20] , y1 , y2 , y3 ,y4;

clrscr();

printf("\nEnter the noumber of item : ");

scanf("%d" , &n);

printf("\nEnter the value in the form of x\n");

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

{printf("\nEnter the value of x%d\t" , i+1);

scanf("%f" , &ax[i]); }

printf("\nEnter the value in the form of y\n");

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

{printf("\nEnter the value of y%d\t" , i+1);

scanf("%f" , &ay[i]); }

printf("\nEnter the value of x for which you want the value of y :- ");

scanf("%f" , &x);

h = ax[1] - ax[0];

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

diff[i][1] = ay[i+1] - ay[i];

for(j = 2 ; j <= n ; j++)

for(i = 0 ; i < -j ; i++)

diff[i][j] = diff[i+1][j-1] - diff[i][j-1];

i=0;

do

{ i++;

} while(ax[i] < x); i--;

p = (x - ax[i]) / h;

y1 = p * (diff[i][1] + diff[i - 1][1]) / 2;

y2 = p * p * (diff[i - 1][2]) / 2;

y3 = p * (p * p - 1) * (diff[i - 1 ][3] + diff[i - 2][3]) / 12 ;

y4 = p * p * (p * p - 1) * diff[i-2][4] / 24;

y = ay[i] + y1 +y2 + y3 + y4;

printf("\nWhen x = %6.4f , y = %6.8f" , x , y);

getch();

}

OUTPUT :

Enter the number of item : 4

Page 47: 38 Programs

Numerical Analysis And Computer Programming Page 47

Enter the value in the form of x

Enter the value of x1 20

Enter the value of x2 24

Enter the value of x3 28

Enter the value of x4 32

Enter the value in the form of y

Enter the value of y1 24

Enter the value of y2 32

Enter the value of y3 35

Enter the value of y4 40

Enter the value of x for which you want the value of y :- 25

When x = 25.0000 , y = 33.31251144

Page 48: 38 Programs

Numerical Analysis And Computer Programming Page 48

Program no.29

/* TRAPEZOIDAL RULE */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{

float fun(float);

float h , k1=0.0 ;

float x[20] , y[20];

int n , i;

clrscr();

printf("\nEnter number of parts : ");

scanf("%d" , &n);

printf("\nEnter lower and upper limits : ");

scanf("%f %f" , &x[0] , &x[n]);

y[0] = fun(x[0]);

h = (x[n] - x[0])/n ;

printf("\nx y");

printf("\n %8.5f %8.5f " , x[0] ,y[0]);

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

{ x[i] = x[0] + i * h ;

y[i] = fun(x[i]);

printf("\n %8.5f %8.5f " , x[i] , y[i]);

k1 = k1 + 2 * y[i];

}

y[n] = fun(x[n]);

printf("\n %8.5f %8.5f " , x[n] , y[n]);

y[0] = (h / 2.0 ) * (y[0] + y[n] + k1 );

printf("\nresult = %f \n" , y[0]);

getch();

}

float fun(float x)

{

float g;

g = log(x);

return g;

}

Page 49: 38 Programs

Numerical Analysis And Computer Programming Page 49

OUTPUT :-

Enter number of parts : 6

lower and upper limits : 4 5.2

x y

4.00000 1.38629

4.24000 1.44456

4.48000 1.49962

4.72000 1.55181

4.96000 1.60141

5.20000 1.64866

result = 1.827570

Page 50: 38 Programs

Numerical Analysis And Computer Programming Page 50

program no.30

/* SIMPSION 1/3 RULE */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ float fun(float);

float h , k1=0.0 , k2=0.0 ;

float x[20] , y[20];

int n , i;

clrscr();

printf("\nEnter number of parts : ");

scanf("%d" , &n);

printf("\nEnter lower and upper limits :");

scanf("%f %f" , &x[0] , &x[n]);

y[0] = fun(x[0]);

h = (x[n] - x[0])/n ;

printf("\nx y");

printf("\n%8.5f %8.5f" , x[0] ,y[0]);

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

{ x[i] = x[0] + i * h ;

y[i] = fun(x[i]);

printf("\n %8.5f %8.5f " , x[i] , y[i]);

if(i % 2 == 0)

k1 = k1 + 2 * y[i];

else

k2 = k2 + 4 * y[i];

}

y[n] = fun(x[n]);

printf("\n %8.5f %8.5f " , x[n] , y[n]);

y[0] = (h / 3.0 ) * (y[0] + y[n] + k1 + k2 );

printf("\nresult =%f \n" , y[0]);

getch();

}

float fun(float x)

{ float g;

g = sin(x) - log(x) + exp(x);

return g;

}

Page 51: 38 Programs

Numerical Analysis And Computer Programming Page 51

OUTPUT :-

Enter number of parts : 6

Enter lower and upper limits :0.2 1.4

x y

0.20000 3.02951

0.40000 2.79753

0.60000 2.89759

0.80000 3.16604

1.00000 3.55975

1.20000 4.06983

1.40000 4.70418

result = 4.052133

Page 52: 38 Programs

Numerical Analysis And Computer Programming Page 52

program no.31

/*SIMPSION 3/8 RULE */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ float fun(float);

float h , k1=0.0 , k2=0.0 ;

float x[20] , y[20];

int n , i;

clrscr();

printf("\nEnter number of parts : ");

scanf("%d" , &n);

printf("\nEnter lower and upper limits : ");

scanf("%f %f" , &x[0] , &x[n]);

y[0] = fun(x[0]);

h = (x[n] - x[0])/n ;

printf("\nx y");

printf("\n%8.5f %8.5f" , x[0] ,y[0]);

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

{ x[i] = x[0] + i * h ;

y[i] = fun(x[i]);

printf("\n %8.5f %8.5f " , x[i] , y[i]);

if(i % 3 == 0)

k1 = k1 + 2 * y[i];

else

k2 = k2 + 3 * y[i];

}

y[n] = fun(x[n]);

printf("\n %8.5f %8.5f " , x[n] , y[n]);

y[0] = ((3 *h) / 8.0 ) * (y[0] + y[n] + k1 + k2 );

printf("\nresult =%f \n" , y[0]);

getch();

}

float fun(float x)

{ float g;

g = sin(x) - log(x) + exp(x);

return g;

}

OUTPUT : -

Enter number of part parts : 6

Page 53: 38 Programs

Numerical Analysis And Computer Programming Page 53

Enter lower and upper limits : 0.2 1.4

x y

0.20000 3.02951

0.40000 2.79753

0.60000 2.89759

0.80000 3.16604

1.00000 3.55975

1.20000 4.06983

1.40000 4.70418

result = 4.05299

Page 54: 38 Programs

Numerical Analysis And Computer Programming Page 54

program no.32

/* BOOLS RULE */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ float fun(float);

float h , k1=0.0 , k2=0.0 , k3=0.0 , k4=0.0;

float x[20] , y[20];

int n , i;

clrscr();

printf("\nEnter number of parts");

scanf("%d" , &n);

printf("\nEnter lower and upper limits :");

scanf("%f %f" , &x[0] , &x[n]);

y[0] = fun(x[0]);

h = (x[n] - x[0]) / n;

printf("\nx y");

printf("\n%8.5f %8.5f" , x[0] ,y[0]);

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

{ x[i] = x[0] + i * h ;

y[i] = fun(x[i]);

printf("\n %8.5f %8.5f " , x[i] , y[i]);

if(i % 2 == 0)

k1 = k1 + 12 * y[i];

else

k1 = k1 + 32 * y[i];

}

y[n] = fun(x[n]);

printf("\n %8.5f %8.5f " , x[n] , y[n]);

y[0] = ((2 * h)/45) * (7 * y[0] + 7 * y[n] + k1 + k2 + k3 + k4);

printf("\nresult =%f \n" , y[0]);

getch();

}

float fun(float x)

{ float g;

g = log(x);

return g;

}

OUTPUT :-

Enter number of parts : 6

Enter lower and upper limits : 4 5.2

Page 55: 38 Programs

Numerical Analysis And Computer Programming Page 55

x y

4.00000 1.38629

4.20000 1.43508

4.40000 1.48160

4.60000 1.52606

4.80000 1.56862

5.00000 1.60944

5.20000 1.64866

result = 1.814274

Page 56: 38 Programs

Numerical Analysis And Computer Programming Page 56

program no.33

/* WEEDEL'S RULE */

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{ float fun(float);

float h , k1=0.0 , k2=0.0 , k3=0.0 , k4=0.0;

float x[20] , y[20];

int n , i;

clrscr();

printf("\nEnter number of parts : ");

scanf("%d" , &n);

printf("\nEnter lower and upper limits : ");

scanf("%f %f" , &x[0] , &x[n]);

y[0] = fun(x[0]);

h = (x[n] - x[0]) / n;

printf("\nx y");

printf("\n%8.5f %8.5f" , x[0] ,y[0]);

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

{ x[i] = x[0] + i * h ;

y[i] = fun(x[i]);

printf("\n %8.5f %8.5f " , x[i] , y[i]);

if(i % 6 == 0)

k1 = k1 + 2 * y[i];

else if(i % 3 == 0)

k1 = k1 + 6 * y[i];

else if(i % 2 == 0)

k1 = k1 + y[i];

else

k4 = k4 + 5 * y[i];

}

y[n] = fun(x[n]);

printf("\n %8.5f %8.5f " , x[n] , y[n]);

y[0] = ((3 * h)/10) * (y[0] + y[n] + k1 + k2 + k3 + k4);

printf("\nresult =%f \n" , y[0]);

getch();

}

float fun(float x)

{ float g;

g = sin(x) - log(x) + exp(x);

return g;

}

Page 57: 38 Programs

Numerical Analysis And Computer Programming Page 57

OUTPUT :-

Enter number of parts : 6

Enter lower and upper limits : 0.2 1.4

x y

0.20000 3.02951

0.40000 2.79753

0.60000 2.89759

0.80000 3.16604

1.00000 3.55975

1.20000 4.06983

1.40000 4.70418

result = 4.051446

Page 58: 38 Programs

Numerical Analysis And Computer Programming Page 58

program no.34

/* GAUSS ELIMINATION METHOD */

<stdio.h>

#include<conio.h>

#inc#include lude<math.h>

#define n 3

void main()

{ float temp , s , matrix[n][n+1] , x[n];

int i , j , k;

clrscr();

printf("\nEnter the elements of the augment matrix row wise :\n");

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

for(j=0 ; j <= n ; j++)

scanf("%f" , &matrix[i][j]);

printf("\nmatrix:-");

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

{ for(j=0 ;j<=n ;j++)

printf("%f\t",matrix[i][j]);

printf("\n");

}

/*now calculating the upper triangular matrix */

for(j=0 ; j < n-1 ; j++)

for(i=j+1 ; i < n ; i++)

{ temp = matrix[i][j] / matrix[j][j];

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

matrix[i][k] -= matrix[j][k] * temp;

}

//now performing back substitution

for(i = n -1 ; i >= 0 ; i--)

{ s = 0;

for(j = i + 1 ; j < n ; j++)

s += matrix[i][j] * x[j];

x[i] = (matrix[i][n] - s) / matrix[i][i];

}

//now printing the result

printf("\nSolution is :-\n");

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

printf("\nx[%d]=%7.4f" , i+1 ,x[i]);

getch();

}

Page 59: 38 Programs

Numerical Analysis And Computer Programming Page 59

OUTPUT :-

Enter the elements of the augment matrix row wise :

3 1 -1 3

2 -8 1 -5

1 -2 9 8

matrix:-

3.000000 1.000000 -1.000000 3.000000

2.000000 -8.000000 1.000000 -5.000000

1.000000 -2.000000 9.000000 8.000000

Solution is :-

x[1]= 1.0000

x[2]= 1.0000

x[3]= 1.0000

Page 60: 38 Programs

Numerical Analysis And Computer Programming Page 60

program no.35

/* GAUSS JORDAN METHOD */

#include<stdio.h>

#include<conio.h>

#include<math.h>

#define n 3

void main()

{ float temp , matrix[n][n+1];

int i , j , k;

clrscr();

printf("\nEnter the elements of the augment matrix row wise :-\n");

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

for(j=0 ; j <= n ; j++)

scanf("%f" , &matrix[i][j]);

/*now calculating the digonal matrix */

for(j=0 ; j < n ; j++)

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

if(j != i)

{ temp = matrix[i][j] / matrix[j][j];

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

matrix[i][k] -= matrix[j][k] * temp;

}

/*now printing the matrix */

printf("\nThe digonal matrix is :--\n");

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

{ for(j=0 ; j <= n ; j++)

printf("\t%f" , matrix[i][j]);

printf("\n");

}

//now printing the result

printf("\nSolution is :-\n");

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

printf("\nx[%d]=%7.4f" , i+1 ,matrix[i][n]/matrix[i][i]);

getch();

}

OUTPUT :-

Page 61: 38 Programs

Numerical Analysis And Computer Programming Page 61

Enter the elements of the augment matrix row wise :-

3 1 -1 3

2 -8 1 -5

1 -2 9 8

The digonal matrix is :-- 3.000000 0.000000 0.000000 3.000000

0.000000 -8.666667 0.000000 -8.666667

0.000000 0.000000 8.884615 8.884615

Solution is :-

x[1]= 1.0000

x[2]= 1.0000

x[3]= 1.0000

Page 62: 38 Programs

Numerical Analysis And Computer Programming Page 62

Programme no.36

/* GAUSS SEIDAL METHOD */

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<process.h>

void main()

{

float a[10][10],x[10],aerr, maxerr, t, s, err;

int i,j,itr,maxitr,n;

printf ("\n Enter the number of unknowns=");

scanf ("%d",&n);

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

x[i]=0.0;

printf ("\n Enter the augmented matrix row wise=");

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

for (j=1;j<=n+1;j++)

scanf ("%f",&a[i][j]);

printf ("\n Enter allowed error, max iteration=");

scanf ("%f %d",&aerr,&maxitr);

printf ("\n Iteration");

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

printf ("\n x[%d]",i);

for (itr=1;itr<=maxitr;i++)

{

maxerr=0;

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

{

s=0;

for (j=1;j<=n;j++)

if (j!=i)

s = s+a[i][j]*x[j];

t = (a[i][n+1]-s)/a[i][i];

err=fabs(x[i]-t);

if (err>maxerr)

maxerr=err;

x[i]=t;

}

printf ("%d",itr);

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

printf ("%7.4f",x[i]);

if (maxerr<aerr)

{

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

Page 63: 38 Programs

Numerical Analysis And Computer Programming Page 63

printf ("x[%d]=%7.4f",i,x[i]);

exit(0);

} }

}

OUTPUT: Enter the number of unknowns = 3

Enter the augmented matrix row wise

20 1 -2 17

3 20 -1 -18

2 -3 20 25

Enter allowed error, max iteration=0.001 ,4

Iteration x[1]= 0.8500 -1.0275

x[2] = 1.01091 1.0025

x[3] = -0.9998 0.99981

1.0000 - 1.0000 1.0000

x[1]= 1.0000 x[2]=-1.0000 x[3]= 1.0000

Page 64: 38 Programs

Numerical Analysis And Computer Programming Page 64

Program no.37

/* CURVE FITTING - STRAIGHT LINE */

# include<iostream.h>

# include<conio.h>

# include<math.h>

void main()

{

int i=0,ob;

float x[10],y[10],xy[10],x2[10],sum1=0,sum2=0,sum3=0,sum4=0;

double a,b;

printf("\n Enter the no. of observations :");

scanf(“%d”,&ob);

printf("\n Enter the values of x :\n");

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

{

Printf("\n Enter the value of x[%d]",i+1);

Scanf(“%f”,&x[i]);

sum1+=x[i];

}

Printf(\n Enter the values of y :\n");

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

{

Printf("\n Enter the value of y[%d]",i+1);

Scanf(“%f”,&y[i];

sum2+=y[i];

}

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

{

xy[i]=x[i]*y[i];

sum3+=xy[i];

}

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

{

x2[i]=x[i]*x[i];

sum4+=x2[i];

}

a=(sum2*sum4-sum3*sum1)/(ob*sum4-sum1*sum1);

b=(sum2-ob*a)/sum1;

printf("\n\n Equation of the STRAIGHT LINE of the form y=a+b*x is “);

printf("\n\n\t\t\t y=[%f] + [%f]x.”a,b);

}

Page 65: 38 Programs

Numerical Analysis And Computer Programming Page 65

OUTPUT: Enter the no. of observations : 5

Enter the values of x :

Enter the value of x1 : 1

Enter the value of x2 : 2

Enter the value of x3 : 3

Enter the value of x4 : 4

Enter the value of x5 : 5

Enter the values of y :

Enter the value of y1: 14

Enter the value of y2: 27

Enter the value of y3: 40

Enter the value of y4: 55

Enter the value of y5: 68

Equation of the STRAIGHT LINE of the form y=a+b*x is :

y=0 + 13.6 x

Page 66: 38 Programs

Numerical Analysis And Computer Programming Page 66

Program no.38

/* RUNGA - KUTTA METHOD */

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

float f(float x , float y);

float x0 = 0.1 , y0 = 1 , xn = 2.1 , h =0.2 , k1 , k2 , k3 , k4 ;

int i , n ;

clrscr();

printf("\ndy/dx = (x^3 +y^2)/10 ");

printf("\ngiven y0=1 && x0= 0.1 && h=0.2 (in the range x0 < x < 2.1)\n");

n = (xn - x0) / h;

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

{

k1 = h * f(x0 , y0);

k2 = h * f((x0 + h)/2 , (y0 + k1)/2);

k3 = h * f((x0 + h)/2 , (y0 + k2)/2);

k4 = h * f(x0 + h , y0 + k3);

y0 = y0 + (1 / 6.0) * (k1 + 2*k2 + 2*k3 + k4);

printf("\nThe solution of differential equation is when x = %f y = %f \n" ,

x0 , y0);

x0 = x0 + h;

}

getch();

}

/* Function sub program */

float f(float x , float y)

{

float g;

g = (x*x*x + y*y) / 2 ;

return g ;}

OUTPUT :-

Page 67: 38 Programs

Numerical Analysis And Computer Programming Page 67

dy/dx = (x^3 +y^2)/10

given y0 = 1 && x0 = 0.1 && h = 0.2 (in the range x0 < x < 2.1)

The solution of differential equation is when x = 0.100000 y = 1.053870

The solution of differential equation is when x = 0.300000 y = 1.116833

The solution of differential equation is when x = 0.500000 y = 1.194833

The solution of differential equation is when x = 0.700000 y = 1.297048

The solution of differential equation is when x = 0.900000 y = 1.436797

The solution of differential equation is when x = 1.100000 y = 1.633150

The solution of differential equation is when x = 1.300000 y = 1.914011

The solution of differential equation is when x = 1.500000 y = 2.322503

The solution of differential equation is when x = 1.700000 y = 2.931453

The solution of differential equation is when x = 1.900000 y = 3.880822

The solution of differential equation is when x = 2.100000 y = 5.495997