Numerical Method Program
Numerical Method Program
#include<stdio.h>
#include<conio.h>
void main()
{
float ax[100],ay[100],x,y=0,temp;
int n,i,j;
printf("Enter n: ");
scanf("%d",&n);
printf("Enter x: ");
scanf("%f",&x);
for(i=0;i<=n;i++)
{
temp=1;
for(j=0;j<=n;j++)
{
if(j!=i)
{
temp*=(x-ax[j])/(ax[i]-ax[j]);
}
}
y+=temp*ay[i];
}
printf("Hence, f(%f) = %f",x,y);
getch();
}
OUTPUT:
C Program for Least Square Method
(Regression Analysis)
#include<stdio.h>
#include<conio.h>
void main()
{
float x[100],y[100],sumx=0,sumx2=0,sumy=0,sumyx=0,b,a;
int i,n;
printf("Enter n: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
sumx=sumx+x[i];
sumx2=sumx2+x[i]*x[i];
sumy=sumy+y[i];
sumyx=sumyx+y[i]*x[i];
}
//for y=ax+b
b=(sumx2*sumy-sumyx*sumx)/(n*sumx2-sumx*sumx);
a=(n*sumyx-sumx*sumy)/(n*sumx2-sumx*sumx);
getch();
}
OUTPUT:
C Program for Euler Method
#include <stdio.h>
#include <conio.h>
float f(float x,float y)
{return x*y;}
void main()
{
float x0,y0,xn,yn,h;
printf("Enter x0, y0 and h: ");
scanf("%f%f%f",&x0,&y0,&h);
printf("Enter xn: ");
scanf("%f",&xn);
do
{
yn=y0+h*f(x0,y0);
x0=x0+h;
y0=yn;
}while(x0<xn);
printf("y(%0.2f) = %0.4f Ans",xn,yn);
getch();
}
OUTPUT:
C Program for Gauss Elimination
Method
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k,n;
float A[20][20],c,x[10],sum;
printf("\nEnter the order of matrix: ");
scanf("%d",&n);
printf("\nEnter the elements of augmented matrix row-wise:\n\n");
for(i=1; i<=n; i++)
{
for(j=1; j<=(n+1); j++)
{
printf("A[%d][%d] : ", i,j);
scanf("%f",&A[i][j]);
}
}
OUTPUT:
C Program for Runge-Kutta-4 (RK-4)
Method
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float x0,y0,h,xn,yn;
printf("Enter x0 and y0: ");
scanf("%f%f",&x0,&y0); //y(x0)=y0
printf("Enter xn: ");
scanf("%f",&xn);
printf("Enter interval(h): ");
scanf("%f",&h);
do
{
float m1=f(x0,y0);
float m2=f(x0+h/2,y0+m1*h/2);
float m3=f(x0+h/2,y0+m2*h/2);
float m4=f(x0+h,y0+m3*h);
float m=(m1+2*m2+2*m3+m4)/6;
yn=y0+m*h;
x0=x0+h;
y0=yn;
}while(x0<xn);
printf("\n\nHence, y(%0.1f)=%0.4f",xn,yn);
getch();
}
OUTPUT:
float f(float x)
{
return (x*x+(sin(x)/x));
//f(x)=x*x+sin(x)/x;
}
void main()
{
float a,b,h,x,sum=0;
int n,i,k;
printf("Enter a and b: ");
scanf("%f%f",&a,&b);
printf("Here, n=3 for Simpson's 3/8 rule");
printf("\nn>3 for Composite Simpson's 3/8 rule\n");
printf("So, Enter n: ");
scanf("%d",&n);
h=(b-a)/n;
for(x=a,i=0,k=3;x<=b,i<=n;x=x+h,i++,k=k+3)
{
if(i==0||i==n)
sum=sum+f(x);
else if(i==k)
sum=sum+2*f(x);
else
sum=sum+3*f(x);
}
sum=3*h/8*sum;
printf("\nI=%f",sum);
getch();
}
OUTPUT:
float f(float x)
{
return (sqrt(sin(x)));
//f(x)=sqrt(sin(x));
}
void main()
{
float a,b,h,x,sum=0;
int n,i,k;
printf("Enter a and b: ");
scanf("%f%f",&a,&b);
printf("Here, n=2 for Simpson's 1/3 rule");
printf("\nn>2 for Composite Simpson's 1/3 rule\n");
printf("So, Enter n: ");
scanf("%d",&n);
h=(b-a)/n;
for(x=a,i=0,k=1;x<=b,i<=n;x=x+h,i++,k=k+2)
{
if(i==0||i==n)
sum=sum+f(x);
else if(i==k)
sum=sum+4*f(x);
else
sum=sum+2*f(x);
}
sum=h/3*sum;
printf("\nI=%f",sum);
getch();
}
OUTPUT:
Example:
C Code for Trapezoidal Rule
#include <stdio.h>
#include <conio.h>
#include <math.h>
float f(float x)
{
return (exp(x)); //f(x)=exp(x);
}
void main()
{
float a,b,h,x,sum=0;
int n;
printf("Enter a and b: ");
scanf("%f%f",&a,&b);
printf("Here, n=1 for Trapezoidal rule"); printf("\nn>1 for
Composite Trapezoidal rule\n");
printf("So, Enter n: ");
scanf("%d",&n);
h=(b-a)/n;
for(x=a;x<=b;x=x+h)
{
if(x==a)
sum=sum+f(x);
else if(x==b)
sum=sum+f(x);
else
sum=sum+2*f(x);
}
sum=h/2*sum;
printf("\nI=%f",sum);
getch();
}
OUTPUT:
C Program for Gauss-Legendre
Integration
//for integration of f(x) from a to b.
#include <stdio.h>
#include <conio.h>
#include <math.h>
void GaussLegendre(float,float,int);
void main()
{
float a,b;
int n;
printf("Enter a and b: ");
scanf("%f%f",&a,&b);
INPUT:
printf("Enter 2 for 2-point formula: \n");
printf("Enter 3 for 3-point formula: \n");
printf("Enter 4 for 4-point formula: \n");
scanf("%d",&n);
switch(n)
{
case 2:
printf("Using 2-point Formula::\n");
GaussLegendre(a,b,n);
break;
case 3:
printf("Using 3-point Formula::\n");
GaussLegendre(a,b,n);
break;
case 4:
printf("Using 4-point Formula::\n");
GaussLegendre(a,b,n);
break;
default:
printf("INVALID\n");
goto INPUT;
}
getch();
}
OUTPUT:
Stop.
#include <stdio.h>
#include <conio.h>
#include <math.h>
float f(float x,float y,float z)
{
return ((17-y+2*z)/20);
// x=(17-y+2*z)/20
}
void main()
{
float x0,y0,z0,x1=0,y1=0,z1=0,tempx,tempy,tempz,acc=0.0001;
int iteration=0;
printf("Enter initial guesses:\n");
scanf("%f%f%f",&x0,&y0,&z0);
do
{
tempx=x1;
tempy=y1;
tempz=z1;
x1=f(x0,y0,z0);
y1=s(x1,y0,z0);
z1=t(x1,y1,z0);
iteration++;
x0=x1;
y0=y1;
z0=z1;
}while(fabs(tempx-x1)>acc && fabs(tempy-y1)>acc && fabs(tempz-
z1)>acc);
printf("\n\nFinally,\n");
printf("x=%f Ans\ny=%f Ans\nz=%f Ans\n",x1,y1,z1);
printf("Iteration=%d",iteration);
getch();
}
OUTPUT:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float x0,y0,z0,x1=0,y1=0,z1=0,tempx,tempy,tempz,acc=0.0001;
int iteration=0;
printf("Enter initial guesses:\n");
scanf("%f%f%f",&x0,&y0,&z0);
do
{
tempx=x1;
tempy=y1;
tempz=z1;
x1=f(x0,y0,z0);
y1=s(x0,y0,z0);
z1=t(x0,y0,z0);
iteration++;
x0=x1;
y0=y1;
z0=z1;
}while(fabs(tempx-x1)>acc && fabs(tempy-y1)>acc && fabs(tempz-
z1)>acc);
printf("\n\nFinally,\n");
printf("x=%f Ans\ny=%f Ans\nz=%f Ans\n",x1,y1,z1);
printf("Iteration=%d",iteration);
getch();
}
OUTPUT:
Gauss-Seidel Method
Q. Solve the following system of linear equation using Gauss-Seidel method.
20x+y-2z=17
3x+20y-z=-18
2x-3y+20z=25
Solution:
Lagrange Interpolation
#include<stdio.h>
#include<conio.h>
void main()
{
float ax[100],ay[100],x,y=0,temp;
int n,i,j;
printf("Enter n: ");
scanf("%d",&n);
printf("Enter x: ");
scanf("%f",&x);
for(i=0;i<=n;i++)
{
temp=1;
for(j=0;j<=n;j++)
{
if(j!=i)
{
temp*=(x-ax[j])/(ax[i]-ax[j]);
}
}
y+=temp*ay[i];
}
printf("Hence, f(%f) = %f",x,y);
getch();
}
OUTPUT: