Professional Documents
Culture Documents
Index: Sr. No. Name of Practicals Date Sign
Index: Sr. No. Name of Practicals Date Sign
NUMERICAL METHOD
INDEX
Sr.
No.
Name of Practicals
1.
4
5
9.
10
11.
12
Date
Sign
AIM: WCP to implement Gauss - Elimination Method. (Without Pivoting and With
Pivoting)
Without Pivoting:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float m[20][20],x[20],temp,sum;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
for(k=1;k<=(n-1);k++)
{
for(i=(k+1);i<=n;i++)
{
temp = m[i][k] / m[k][k];
for(j=k;j<=(n+1);j++)
{
m[i][j] = m[i][j] - (temp * m[k][j]);
}
}
}
x[n] = m[n][n+1] / m[n][n];
for(i=(n-1);i>=1;i--)
{
sum = 0.0;
for(j=(i+1);j<=n;j++)
{
sum = sum + (m[i][j] * x[j]);
}
With Pivoting:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,k,n;
float p,q,r,max,m[20][20],x[20],temp,sum;
clrscr();
printf("\n How many equations do you want? : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
{
printf("\n Enter M[%d][%d]: ",i,j);
scanf("%f",&m[i][j]);
}
}
for(k=1;k<=(n-1);k++)
{
max = fabs(m[k][k]);
p = k;
for(r=(k+1);r<=n;r++)
{
if(m[r][k] > max)
{
max = m[r][k];
p = r;
}
}
if(p != k)
{
for(j=1;j<=n-1;j++)
{
for(i=1;i<=n-j;i++)
{
if(j==1)
{
d[i][j]=y[i+1]-y[i];
printf("\n d[%d][%d] = %f",i,j,d[i][j]);
}
else
{
d[i][j]=d[i+1][j-1] - d[i][j-1];
printf("\n d[%d][%d] = %f",i,j,d[i][j]);
}
printf("\n");
}
}
sum=y[k];
prod=1;
for(i=1;i<=n-1;i++)
{
if(i%2==0)
{
if(i==2)
{
prod = prod * p;
ans = prod / f(i);
ans = ans * d[k-1][i];
sum = sum + ans;
}
else
{
prod = (p*p) * ((p*p) - 1);
ans = prod / f(i);
ans = ans * d[k-2][i];
sum = sum + ans;
}
}
else
{
if(i==1)
{
prod = prod * p;
ans = prod / f(i);
ans = ans * ((d[k][i] + d[k-1][i]) / 2);
sum = sum + ans;
}
else
{
prod = p * ((p*p) - 1);
ans = prod / f(i);
(1)Trapezoidal Rule
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n;
float x[20],y[20],sum=0,integral,h;
clrscr();
printf("\n Enter the number of table points: ");
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
printf("\n Enter x[%d] : ",i);
scanf("%f",&x[i]);
printf("\n Enter y[%d] : ",i);
scanf("%f",&y[i]);
}
h = x[2] - x[1];
sum = y[1] + y[n+1];
for(i=2;i<=n;i++)
{
sum = sum + (2*y[i]);
}
integral = (h/2) * sum;
printf("\n Value of integral = %f",integral);
getch();
}
(1)Eulers Method:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i;
float x1,y1,x,y,xf,h;
float f(float,float);
clrscr();
printf("\nEnter x1: ");
scanf("%f",&x1);
printf("\nEnter y1: ");
scanf("%f",&y1);
printf("\nEnter h: ");
scanf("%f",&h);
printf("\nEnter xf: ");
scanf("%f",&xf);
x = x1;
y = y1;
i = 1;
printf("\n");
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
while(x <= xf)
{
y = y + (h * f(x,y));
x = x + h;
i = i + 1;
printf("\n\n I = %d \n X = %f \n Y = %f",i,x,y);
}
getch();
}
float f(float x,float y)
{
return(x*y);
}