Sie sind auf Seite 1von 79

Numerical Analysis And Computer

Programming
Programs

Submitted By:
Mohd.Yawar Nihal Siddiqui
10-CSS-40
B.Tech, Computer Engineering
IVth Semester

Table of Contents
PROGRAM TO CALCULATE SUM AND AVERAGE OF 100 NATURAL NUMBERS..........
PROGRAM TO FIND PRODUCT OF 1ST 'N' NATURAL NUMBERS..............................
FIBBONACCI SERIES ........................................................................................
GENERATING PRIME NO. BETWEEN 1 AND 100....................................................
GENERATE PRIME NOS. BETWEEN 1 AND 100 EXCEPT THOSE DIVISIBLE BY 5........
TO SORT A LIST OF 5 NUMBERS IN ASCENDING ORDER.......................................
CALCULATION OF THE VALUE OF nCr.................................................................
SUM OF DIGITS OF A GIVEN NUMBER.................................................................
CALCULATION OF TAXABLE INCOME...................................................................
CALCULATION OF SINE SERIES .........................................................................
CALCULATION OF COSINE SERIES......................................................................
PROGRAM TO FIND OUT AVERAGE MARKS OF STUDENTS ...................................
PROGRAM TO REVERSE THE DIGITS OF A NUMBER AND FIND THE SUM OF ITS DIGITS
STANDARD DEVIATION AND VARIATION ............................................................
CONVERT BINARY NUMBER TO DECIMAL NUMBER ..............................................
CONVERT DECIMAL NUMBER TO BINARY NUMBER ..............................................
ADDITION OF MATRIX ......................................................................................
MULTIPLICATION OF MATRIX............................................................................
BISECTION METHOD.........................................................................................
NEWTON RALPHSON........................................................................................
REGULA-FALSE METHOD ..................................................................................
NEWTON GREGORY FORWARD INTERPOLATION..................................................
NEWTON GREGORY BACKWARD INTERPOLATION................................................
LAGRANGE METHOD OF INTERPOLATION...........................................................

NEWTON DIVIDED DIFFERENCE METHOD ...........................................................


BESSEL'S METHOD OF INTERPOLATION..............................................................
STIRLING METHOD OF INTERPOLATION..............................................................
TRAPEZOIDAL RULE ........................................................................................
SIMPSION 1/3 RULE .........................................................................................
SIMPSION 3/8 RULE..........................................................................................
BOOLS RULE ...................................................................................................
WEDDLE'S RULE ..............................................................................................
GAUSS ELIMINATION METHOD .........................................................................
GAUSS JORDAN METHOD .................................................................................
GAUSS SEIDAL METHOD ..................................................................................
CURVE FITTING - STRAIGHT LINE ......................................................................
RUNGA - KUTTA METHOD .................................................................................
ROMBERG METHOD ...........................................................
NUMERICAL DOUBLE INTEGRATION..............................................

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<co
nio.h> void
main( )
{
int
i,
n=100,sum=0, p;
float avg;
for
(i=1;i<=n;i
++)
{
p=i*i ;
sum
=su
m+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

2. Write a program to find to find the product of first n natural numbers.

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


#include<stdio.h>
#include<c
onio.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

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


/* PROGRAM TO CALCULATE SIMPLE AND COMPOUND INTEREST */
#include<stdio.h>
#include<m
ath.h>
#include<c
onio.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

4. Write a program to print the fabonacci series upto 25th term.


/* FIBBONACCI SERIES */
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.h>
void
main()
{
cl
rs
cr
()
;
in
t
i;
double
x1,x2,x;
x1=1;
x2=1;
printf("%12.0f\t
%12.0f",x1,x2);
for(i=3;i<=25;i++)
{
x
=
x
1
+
x
2
;
x
1
=
x
2
;
x2=x;
printf("%12.
0f",x);
}
g
e
t
c
h
(
)
;

OUTPUT:
1

13

21

5.Write a program to generate prime numbers between 1 and 100.


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

#include<stdio.h>
#include<c
onio.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)
b
r
e
a
k
;
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

11

13

17

19

23

29

31

37

41

43

47

53

59

61

67

71

73

79

83

89

97

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<c
onio.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;
co
nt
in
ue
;
}

for
(j=2;j<=temp/2;j
++)
{
if
(temp
%j!=0)
{
f
l
a
g
=
1
;
}

els

e
{

f
l
a
g
=
0
;
b
r
e
a
k
;
}
}

if(flag==1)
{
printf
("\t
%d",temp);
}
}

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

7. Write a program to sort a list of 5 numbers in ascending order.


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

#include<stdio.h>
#include<c
onio.h>
void
main()
{ int i,j,t;
int
n[5];
clrscr();
//to enter the
data
printf("\nEnter the
for(i=0;i<5;i++)
scanf("%d",&n[i]);

5 numbers to be sorted\n");

//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();

OUTPUT:
Enter the 5 numbers to be sorted
12
1
3

5
3
4
7
6
O
u
t
p
u
t
:
5
1
2
1
3
3
4
7
6

8. Write a program to calculate the value of nCr.


/*CALCULATION OF THE VALUE OF nCr*/
#include<stdio.h>
#include<c
onio.h>
void
main()
{
int
n,r
,y;
clr
scr
();
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 ,r 6 2
6C2 = 15

9. Write a program to calculate the sum of digits of a given number.


/*SUM OF DIGITS OF A GIVEN NUMBER*/
#include<stdio.h>
#include<conio.h>
void main()
{
int num,p,sum=0;
clrscr();
printf("\nEnter
number==");
scanf("%d",&num);
while(
num!
=0)
{

any

p=num%10;
sum=sum+p;
num=num/10;

}
printf("\nSum of digit of
number=="); printf("%d",sum);

given

getch();
}

OUTPUT:
Enter any number==4672
Sum of digit given number==19

10. Write a program for the calculation of taxable income.

/*CALCULATION OF TAXABLE INCOME*/


#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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*(income50000);
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
Amount of tax on Rs.1320.000000 equals to
Rs.32600.000000

11. Write a program to calculate the sine series.


/* CALCULATION OF SINE SERIES */
#include<stdio.h>
#include<m
ath.c>
#include<c
onio.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
%lf",x,sum); getch();

series

cos(%lf)==

}
MAIN
/*

FUNCTION SUB PROGRAM

//END OF
*/

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);
}
}

OUTPUT:
Enter the value for x:1
Sum of sine series sin(1.000000)==0.841471

12. Write a program to calculate the cosine series.


/*CALCULATION OF COSINE SERIES*/

#include<stdio.h>
#include<ma
th.h>
#include<co
nio.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
%lf",x,sum); getch();
}
long fact
(int a)
{
int j;
lo
ng
f=
1;
if
(a
==
0)

return(1.0);
else
{
for(j=1;j<
=a;j++)
f=f*j;
ret
urn
(f)
;
}

cos(%lf)==

OUTPUT:
Enter the value for x: 2
Sum of cosine series cos (2.000000)==-1.350759

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<c
onio.h>
#include<m
ath.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",a
vg[i]);
if(avg[i]>max)
{
max=

avg[
i];
roll
=i;
}
}
printf("\n The topper of the class is student %d with
average
=%f",roll,max);
getch();

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

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<s
tdio.h>
#include<c
onio.h>
void
main()
{
int n1,n2=0,rem,sum=0;
printf ("\n Enter the number
reversed="); scanf ("%d",&n1);
while (n1>0)
{r
rem
=n1
%10
;
n1=
n1/
10;
n2=n2*
10+rem
;

to

be

}
printf ("\n The reversed number is
%d",n2); while (n2>0)
{
rem
=n2
%10
;
n2=
n2/
10;
sum=s
um+re
m;
}
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

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


and variance of any numbers.
/* STANDARD DEVIATION AND VARIATION */
#include<s
tdio.h>
#include<c
onio.h>
#include<m
ath.h>
void
main()
{
cl
rs
cr
()
;
in
t
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
VARIANCE ="); printf("%f\t%f\t%f",am,var,sd);
getch();

AND

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

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


/* CONVERT BINARY NUMBER TO DECIMAL NUMBER */

#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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

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


/* CONVERT DECIMAL NUMBER TO BINARY NUMBER */
#include<stdio.h>
#include<c
onio.h>
void
main()
{
int
i=0,j
,n;
int
rem[1
0];
printf ("\n Enter the
number=");
scanf
("%d",&n);
do
{
rem[
i]=n
%2;
i=i+
1;
n
=
n
/
2
;
}
while (n>0);
for
(j=i1;j>=0;j--)
{
printf
("The
%d",rem[j]);
}
}

binary

number

OUTPUT:

Enter the number= 123


The binary number is 1111011

is

18. Write a program in C to add two rectangular matrices.


/* ADDTION OF MATRIX */
#include<stdio.h>
#include<c
onio.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]=
+mat2[i][j];

mat1[i][j]

for
(i=0;i<m;i
++)
{
for
(j=0;j<n;j
++)
{
printf
("\n
The
%d\n",mat3[i][j]);
}
printf
("\n");
}

OUTPUT:
The
The
The
The
The
The
The
The
The
The

number of rows are=2


number of columns are=2
matrix 1 is [0][0]= 1
matrix 1 is [0][1]= 2
matrix 1 is [1][0]= 3
matrix 1 is [1][1]= 4
matrix 2 is [0][0]= 5
matrix 2 is [0][1]= 6
matrix 2 is [1][0]= 7
matrix 2 is [1][1]= 8

The resultant matrix is


6 8
10 12

resultant

matrix

is

19. Write a program to perform multiplication in matrices.


/*MULTIPLICATION OF MATRIX*/
#include<stdio.h>
#include<c
onio.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
matrix a:"); scanf("%d%d",&m,&n);
printf("\nenter no. of row and col
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:
g
e
t

of
of

c
h
(
)
;
}

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
012
123
234
Enter matrix b
1 -2
-1 0
2 -1
The product of matrix is:
3 -2
5 -5
7 -8

20. Bisection Method


/*BISECTION METHOD*/
#include<s
tdio.h>
#include<c
onio.h>
#include<m
ath.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(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
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);

}
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

f(x1)

f(x2)

n
1
2
3
4

x1
0.500000
0.500000
0.500000
0.562500

x2
1.000000
0.750000
0.625000
0.625000

x3
0.750000
0.625000
0.562500
0.593750

%f",i,x1,x2,x3,p,q,r);
f(x1)
f(x2)
-0.175639
1.718282
-0.175639
0.587750
-0.175639
0.167654
-0.012782
0.167654

f(x3)
0.587750
0.167654
-0.012782
0.075142

5
6

0.562500
0.562500

0.593750
0.578125

0.578125
0.570312

-0.012782
-0.012782

0.075142
0.030619

0.030619
0.008780

0.570312
0.566406
0.570312
0.568359
0.568359
0.567383
0.567383

-0.012782
-0.002035
-0.002035
0.566895

0.008780
-0.002035
0.008780
0.003364
0.003364
0.000662
-0.002035

7
0.562500
8
0.566406
9
0.566406
10
0.566406
-0.000687

Root of the equation is 0.566895

0.000662

21.Newton Ralphson Method.


/*NEWTON RALPHSON*/
#include<s
tdio.h>
#include<c
onio.h>
#include<m
ath.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^25X-7.2"); printf("\nenter the initial
value of x0:");
scanf("%f",&x0);
printf("\n i
x0
x1
f(x0)
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((x1x0)/x1)<=error)
{printf("\nThe root of equation X^3+1.2X^2-5X-7.2 is
%f",x0); getch();
ex
it(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;

df(x0)\n ");

return(g1);

Output:
The
equation
is
X^3+1.2X^2-5X-7.2
Enter the initial value
of x0:2
i

x0

x1

f(x0)

df(x0)

2.000000

2.372881

-4.400000

11.800000

2.372881

2.313010

1.052938

17.586615

2.313010

2.311227

0.029603

16.601265

2.311227

2.311225

0.000026

16.572248

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

22.Regula falsi Method (Method of false position).


/*REGULA-FALSE METHOD */
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.h>
float f(float x)
{return(3*xcos(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(x
2)<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;
e
l
s
e
x
1
=
m
;
m=((x1*f(x2))-(x2*f(x1)))/(f(x2)-f(x1));
printf("\n\n the %d,iteration is %f
",c,m);
}
printf("\n\n the answer is repeated at %d iteration is
%f",c,m);
}
else
printf("enter
valid
initial

approximation :"); getch();


}

OUTPUT:
Enter the first approximation :
0
Enter the second
approximation: 1
The 1st iteration is 0.605959
The 2nd iteration is 0.607057
The 3rd iteration is 0.607100
The answer is repeated at 3 iteration is 0.607100

23. Newton Gregory forward Interpolation method.


/*NEWTON GREGORY FORWARD INTERPOLATION*/
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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
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();
}

be

OUTPUT:
Enter no. of terms:5
Enter
3
5
11
27
34

values x y:
13
23
899
17315
35606

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


When
x=7.0000,y=899.0000000
0

24. Newton Gregory backward Interpolation method.


/*NEWTON GREGORY BACKWARD INTERPOLATION*/
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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
calculated:"); scanf("%f",&x);
h=mx[1]-mx[0];
for(i=0;i<n-1;i++)
diff[i][1]=my[i+1]-my[i];

is

to

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=m
x[i]
;
y0=m
y[i]
;
p=(x
x0)/
h;
sum=
y0;
for(k=1;k<
=4;k++)
{
fun=(fun*(p-(k-

be

1)))/k;
sum=sum+fun*diff[i]
[k]; }
printf("\nwhen
x=%6.4f,y=
%6.8f",x,sum); getch();
}

OUTPUT:
Enter no. of terms:5
Enter
20
40
60
80
100

values x y:
41
103
168
218
235

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


When x=70.0000,y=196.00000000

25. Lagranges method of Interpolation.


/*LAGRANGE METHOD OF INTERPOLATION*/
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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
%5.2f",x,y); getch();

then

Output:
Enter No. of Points: 6
Enter
x
4
5
7

the given set of values:


y
18
100
294

y=

10
900
11
1210
13
2028
Enter the value of x at which f(x)
is required:8 when x= 8.00 then
y=445.62

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<c
onio.h>
#include<m
ath.h>
void
main()
{
float
ax[20],
diff[30],temp=1;
n,j,m,z=0,A=0,k=0;
clrscr();
cout<<"Enter the
points="; cin>>n;

ay[20],
int

number

of

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]);
}
i
f
(
n
>
1
)
{
m
=
n
-

1
;
A
=
0
;
for(j=0;j<n
-2;j++)
{
for(z=0;z<m1;i++,z++)
{
diff[i]= (diff[z+1+A]-diff[z+A])/(ax[z+j+2]ax[z]);
}
A+=m;
m--;
}
}
//printing difference table
cout<<"\n
difference
table
follows:\n"; for(z=0;z<i;z++)
cout<<"\n"<<diff[z];

is

// now calculating value of y for x


ay[n]=ay[0];
m=n;

as

A=0;
for
(z=0;z<n1;z++)
{
temp*=(ax[n]-ax[z]);
ay[n]
+=temp*diff[z+A
]; A+=m-2;
m--;

}
cout<<"\n\n The value
is :"<<ay[n]; getch();
}

of

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
2
6
5
4
5
7
7
0

for

"<<ax[n]<<"

9
2
4
3
2
4
2
1
1
0
The value of y for x = 9 is: 810

27. Write a program in C for Bessels Method of Interpolation.


/*BESSEL'S METHOD OF INTERPOLATION*/
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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();
}

OUTPUT
Enter number of item: 4
Enter the value in the form of x
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

x1
x2
x3
x4

20
24
28
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

28. Write a program for Stirlings Method of Interpolation.


/*STIRLING METHOD OF INTERPOLATION*/
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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
Enter the value in the form of x
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

x1
x2
x3
x4

20
24
28
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

29. Write a program for trapezoidal rule for Numerical Integration.


/* TRAPEZOIDAL RULE */
#include<stdio.h>
#include<m
ath.h>
#include<c
onio.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;
}

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

30. Write a program for Simpsons One Third Rule.


/* SIMPSION 1/3 RULE */

#include<stdio.h>
#include<m
ath.h>
#include<c
onio.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;
}

OUTPUT :
Enter number of parts : 6
Enter lower and upper limits :0.2 1.4
x
y

0.20000
0.40000
0.60000
0.80000
1.00000
1.20000
1.40000
Result = 4.052133

3.02951
2.79753
2.89759
3.16604
3.55975
4.06983
4.70418

31. Simpsons 3/8 rule.


/*SIMPSION 3/8 RULE */
#include<s
tdio.h>
#include<m
ath.h>
#include<c
onio.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
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.052991

32.Booles Rule for Numerical Integration.


/* BOOLS RULE */

#include<s
tdio.h>
#include<m
ath.h>
#include<c
onio.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
x
y
4.00000
1.38629

4.20000
4.40000
4.60000
4.80000
5.00000
5.20000
Result = 1.81427

1.43508
1.48160
1.52606
1.56862
1.60944
1.64866

33. Weddles Rule for Numerical Integration.


/* WEDDLE'S RULE */
#include<s
tdio.h>
#include<m
ath.h>
#include<c
onio.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;
}

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

34. Write a program for Gauss Elimination Method in C.


/* GAUSS ELIMINATION METHOD */
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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("\nmatr
ix:-");
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();
}

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
2.000000
1.000000
Solution is :
x[1]= 1.0000
x[2]= 1.0000
x[3]= 1.0000

1.000000
-8.000000
-2.000000

-1.000000
1.000000
9.000000

3.000000
-5.000000
8.000000

35. Write a program for Gauss Jordon Method in C.


/* GAUSS JORDAN METHOD */
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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 :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
0.000000 Solution is :x[1]= 1.0000
x[2]= 1.0000
x[3]= 1.0000

0.000000
-8.666667

0.000000
0.000000
8.884615

3.000000
-8.666667
8.884615

36. Write a program for Gauss Seidal Method in C.


/* GAUSS SEIDAL METHOD */
#include<stdio.h>
#include<con
io.h>
#include<mat
h.h>
#include<pro
cess.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>max
err)
maxerr=e
rr;
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++)
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

37. Write a program to find the Equation of a straight line that


passes through the given n points.
/* CURVE FITTING - STRAIGHT LINE */
# include<iostream.h>
#
include<con
io.h>
#
include<mat
h.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*sum4sum1*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);
}

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

38. Write a program in C for the Runge Kutta Method for solving
Differential Equations.
/* RUNGA - KUTTA METHOD */
#include<stdio.h>
#include<c
onio.h>
#include<m
ath.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
float
{

f(float
y)

float g;
g = (x*x*x
y*y)
/
2
return g ;

+
;

OUTPUT:
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

=
=
=
=
=
=
=
=
=
=
=

39. Write a program in C/C++ for Romberg method in Numerical


Integration.

/* ROMBERG METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define fun(x) x/sin(x)
void main()
{
int i,j,k,n,p;
float h,y[50],a,b,ih,ir[50];
clrscr();
printf("Enter the upper, lower limits and the value of n\n");
scanf("%f\t%f\t%d",&a,&b,&n);
for(i=0;i<=n;i++)
{
ih=0;
p=pow(2,i);
h=(b-a)/p;
for(j=0;j<=p;j++)
{
y[j]=a+j*h;
if(j!=0)
y[j]=y[j]/sin(y[j]);
else
y[0]=1;
if(j>0 && j<p)
ih=ih+2*(y[j]);
}
ih=ih+y[0]+y[p];
ih=ih*h/2;
ir[i]=ih;
printf("\n%f",ir[i]);
}
k=2;
while(n>=1)
{
p=pow(2,k);

for(i=0;i<n;i++)
ir[i]=(p*ir[i+1]-ir[i])/(p-1);
n--;
k=k+2;
}
printf("\nThe value of integral is %f",ir[0]);
getch();
}

40. Write a program for Numerical Double Integration in C/C++


/*NUMERICAL DOUBLE INTEGRATION*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
float simps(float z[],int n,float h)
{
float ans;
int i;
for(i=0;i<=n;i++)
{
if(i==0||i==n)
ans=ans+z[i];
else if(i%2==0)
ans=ans+2*z[i];
else if(i%2!=0)
ans=ans+4*z[i];
}
ans*=h/3;
return ans;
}
float fn(float x,float y)
{
return (1/(sqrt(pow(x,2)+pow(y,2))));
}
void main()
{
clrscr();
float y[10],x[10],h,k,a,b,c,d,sx,sy,A[10],z[10][10];
int i,n,j;
printf("ENTER limits of x:\t");
scanf("%f %f",&a,&b);
printf("ENTER limits of y:\t");
scanf("%f %f",&c,&d);
printf("ENTER h and k:\t");

scanf("%f %f",&h,&k);
sx=(b-a)/h;
sy=(d-c)/k;
for(i=0;i<=sx;i++)
x[i]=a+i*h;
for(j=0;j<=sy;j++)
y[j]=c+j*k;
for(int q=0;q<=sy;q++)
printf("\t%7.0f",y[q]);
printf("\n");

for(i=0;i<=sx;i++){
printf("%6.0f:",x[i]);
for(j=0;j<=sy;j++)
{
z[i][j]=fn(x[i],y[j]);
printf("%f ",z[i][j]);
}
A[i]=simps(z[i],sy,h);
printf("%f\n",A[i]);
}
printf("\nANS: %f",simps(A,sx,k));
getch();
}

Das könnte Ihnen auch gefallen