Tuesday 20 September 2011

Lagranges Interpolation


/*Lagranges interpolation */


#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
int i,j,n;
float x[20],y[20],u,p,p1,sum;
clrscr();
printf("\nType no of pairs of points");
scanf("%d",&n);
printf("\nType the value which are to be found: u=");
scanf("%f",&u);
for(i=0;i<n;i++)
{
printf("x[%d]\t",i+1);
scanf("%f",&x[i]);
printf("y[%d]\t",i+1);
scanf("%f",&y[i]);
}
p=1;
for(i=0;i<n;i++)
p=p*(u-x[i]);
sum=0;
for(i=0;i<n;i++)
{
p1=y[i]/(u-x[i]);
for(j=0;j<n;j++)
if(i!=j)
p1=p1/(x[i]-x[j]);
sum+=p1;
}
p=p*sum;
for(i=0;i<n;i++)
printf("%8.4f\t %f\n",x[i],y[i]);
printf("The required value of the polynomial at u=%f\n is %8.4f\n",u,p);
getch();
}

No comments:

Post a Comment