38 Programs
-
Upload
azher-uddin -
Category
Documents
-
view
340 -
download
0
Transcript of 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
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
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
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
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
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
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
Numerical Analysis And Computer Programming Page 8
73 79 83 89 97
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);
}
}
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
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();
}
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
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
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
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
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);
}
}
Numerical Analysis And Computer Programming Page 17
OUTPUT:
enter the value for x:1
sum of sine series sin(1.000000)==0.841471
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
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;
}
}
Numerical Analysis And Computer Programming Page 20
printf("\n The topper of the class is student %d with average =%f",roll,max);
getch();
}
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
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
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
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
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
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]);
}
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
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();
}
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
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);
}
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
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
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
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();
}
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
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();
}
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
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();
}
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
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
Numerical Analysis And Computer Programming Page 41
when x= 8.00 then y=445.62
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--;
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
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();
}
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
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
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
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;
}
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
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;
}
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
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
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
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
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
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;
}
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
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();
}
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
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 :-
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
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++)
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
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);
}
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
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 :-
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