bcsl-58 Lab
bcsl-58 Lab
ANS:
#include<stdio.h>
#include<conio.h
>
#include<math.h
>
/*
*/
int main()
e; int step = 1;
/* Inputs
*/ up:
*/ f0 = f(x0);
f1 = f(x1);
nStep\t\tx0\t\tx1\t\tx2\t\tf(x2)\n"); do
x2 = (x0 +
x1)/2; f2 =
f(x2);
if( f0 * f2 < 0)
x1 = x2;
f1 = f2;
else
x0 =
x2; f0 =
f2;
step = step + 1;
}while(fabs(f2)>e);
x2); return 0;
}
Q2: Regula-Falsi Method.
ANS:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
int step = 1;
/* Inputs */
up:
scanf("%f", &e);
f1 = f(x1);
goto up;
printf("\nStep\t\tx0\t\tx1\t\tx2\t\tf(x2)\n");
do
x2 = x0 - (x0-x1) * f0/(f0-f1);
f2 = f(x2);
if(f0*f2 < 0)
x1 = x2;
f1 = f2;
}
else
x0 = x2;
f0 = f2;
step = step + 1;
}while(fabs(f2)>e);
getch();
return 0;
Secant Method
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
int main()
int step = 1, N;
//clrscr();
/* Inputs */
scanf("%f", &e);
scanf("%d", &N);
/* Implementing Secant Method */ printf("\
nStep\t\tx0\t\tx1\t\tx2\t\tf(x2)\n"); do
f0 = f(x0);
f1 = f(x1);
if(f0 == f1)
printf("Mathematical Error.");
exit(0);
f2 = f(x2);
printf("%d\t\t%f\t%f\t%f\t%f\n",step,x0,x1,x2, f2);
x0 = x1;
f0 = f1;
x1 = x2;
f1 = f2;
step = step + 1;
if(step > N)
printf("Not Convergent.");
exit(0);
}while(fabs(f2)>e);
getch();
Q3:
2x+3y+4z=9
X+2y+3z=6
4x+2y+5z=11
ANS:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
float mat[4][4],temp,temp1,x,y,z;
int i,n,j;
clrscr();
scanf("%d",&n);
scanf("%f",&mat[i][j]);
scanf("%f",&mat[i][j]);
for(j=0;j<n+1;j++)
printf(" %g ",mat[i][j]);
printf("\n\n");
temp=mat[1][0]/mat[0][0];
temp1=mat[2][0]/mat[0][0];
for(i=0,j=0;j<n+1;j++)
mat[i+1][j]=mat[i+1][j]-(mat[i][j]*temp);
mat[i+2][j]=mat[i+2][j]-(mat[i][j]*temp1);
temp=mat[2][1]/mat[1][1];
for(i=1,j=0;j<n+1;j++)
mat[i+1][j]=mat[i+1][j]-(mat[i][j]*temp);
for(i=0;i<n;i++)
{
for(j=0;j<n+1;j++)
printf("\n\n");
z = mat[2][3]/mat[2][2];
y = (mat[1][3] - mat[1][2]*z)/mat[1][1];
printf("\n\nx = %.3f",x);
printf("\n\ny = %.3f",y);
printf("\n\nz = %.3f",z);
getch();
OUTPUT:
Q4:
- 3*x1-18 x2 + x3=20
ANS:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
double x1=0,x2=0,x3=0,y1,y2,y3;
int i=0;
clrscr();
printf("\n \n");
printf("\n \n");
printf("\n%f\t%f\t%f",x1,x2,x3);
do
y1=X1(x2,x3);
y2=X2(y1,x3);
y3=X3(y1,y2);
if(fabs(y1-x1)<ESP && fabs(y2-x2)<ESP && fabs(y3-x3)<ESP
printf("\n_ \n");
printf("\n\nx1 = %.3lf",y1);
printf("\n\nx2 = %.3lf",y2);
printf("\n\nx3 = %.3lf",y3);
i = 1;
else
x1 = y1;
x2 = y2;
x3 = y3;
printf("\n%f\t%f\t%f",x1,x2,x3);
}while(i != 1);
getch();
}
OUTPUT:
Q5:
X 1 2 3
F(x) 6 11 18
ANS:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
float x[10],y[10],temp=1,f[10],sum,p;
int i,n,j,k=0,c;
clrscr();
scanf("%d",&n);
scanf("%f",&x[i]);
scanf("%f",&y[i]);
scanf("%f",&p);
for(i=0;i<n;i++)
temp = 1;
k = i;
for(j=0;j<n;j++)
if(k==j)
continue;
else
f[i]=y[i]*temp;
for(i=0;i<n;i++)
getch();
}
OUTPUT:
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define SIZE 10
int main()
int i,j,k,n;
clrscr();
/* Inputs */
scanf("%d", &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]);
*/ for(i=1;i<=n;i++)
if(a[i][i] == 0.0)
printf("Mathematical Error!");
exit(0);
for(j=1;j<=n;j++)
if(i!=j)
ratio = a[j][i]/a[i][i];
for(k=1;k<=n+1;k++)
}
}
/* Obtaining Solution */
for(i=1;i<=n;i++)
x[i] = a[i][n+1]/a[i][i];
/* Displaying Solution */
printf("\nSolution:\n");
for(i=1;i<=n;i++)
getch();
return(0);
Gauss Sidel
#include<stdio.h>
#include<conio.h>
#include<math.h>
/* Main function */
int main()
float x0=0, y0=0, z0=0, x1, y1, z1, e1, e2, e3,
e; int count=1;
clrscr();
scanf("%f", &e);
printf("\nCount\tx\ty\tz\n");
do
/* Calculation */
x1 = f1(x0,y0,z0);
y1 = f2(x0,y0,z0);
z1 = f3(x0,y0,z0); printf("%d\t%0.4f\t%0.4f\t%0.4f\
n",count, x1,y1,z1);
/* Error */
e1 = fabs(x0-x1);
e2 = fabs(y0-y1);
e3 = fabs(z0-z1);
count++;
x0 = x1;
y0 = y1;
z0 = z1;
getch();
return 0;
}
Lagrange Interpolation
#include<stdio.h>
#include<conio.h>
int main()
int i,j,n;
//clrscr();
/* Input Section */
scanf("%d", &n);
printf("Enter data:\n");
for(i=1;i<=n;i++)
scanf("%f", &x[i]);
scanf("%f", &y[i]);
}
printf("Enter interpolation point: ");
scanf("%f", &xp);
for(i=1;i<=n;i++)
p=1;
for(j=1;j<=n;j++)
if(i!=j)
yp = yp + p * y[i];
return (0);