Question-- using newton forward interpolation formula,find the area of a circle of diameter 82 metre from the given table of diameter and area of circle.
Diameter(metre) 80 85 90 95 100
Area(metre^2) 5026 5674 6362 7088 7854
code to solve the above question.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,a=0,n;
float x[10],fx[10],delfx[10],result=0,point,f,h,p,fact=1.000;
printf("\nthe point at which u want to calculate the value\n");
scanf("%f",&point);
printf("\nenter the no of elements in x\n");
scanf("%d",&n);
printf("enter the elements of x\n");
for(i=0;i<n;i++)
scanf("%f",&x[i]);
h=fabs(x[0]-x[1]);
p=(point-x[0])/h;
printf("\nthe value of p is %f\n",p);
printf("enter the elements of f(x)\n");
for(i=0;i<n;i++)
scanf("%f",&fx[i]);
f=fx[0];
for(j=n;j>1;j--)
{
for(i=0;i<j-1;i++)
{
fx[i]=fx[i+1]-fx[i];
}
delfx[a]=fx[0];
a++;}
for(i=0;i<a;i++)
{
if(i!=0)
p=p*(p-i);
fact=fact*(i+1);
result=result+(p/fact)*delfx[i];
}
result=result+f;
printf("the result is %f",result);
}
output
Diameter(metre) 80 85 90 95 100
Area(metre^2) 5026 5674 6362 7088 7854
code to solve the above question.
#include<stdio.h>
#include<math.h>
main()
{
int i,j,a=0,n;
float x[10],fx[10],delfx[10],result=0,point,f,h,p,fact=1.000;
printf("\nthe point at which u want to calculate the value\n");
scanf("%f",&point);
printf("\nenter the no of elements in x\n");
scanf("%d",&n);
printf("enter the elements of x\n");
for(i=0;i<n;i++)
scanf("%f",&x[i]);
h=fabs(x[0]-x[1]);
p=(point-x[0])/h;
printf("\nthe value of p is %f\n",p);
printf("enter the elements of f(x)\n");
for(i=0;i<n;i++)
scanf("%f",&fx[i]);
f=fx[0];
for(j=n;j>1;j--)
{
for(i=0;i<j-1;i++)
{
fx[i]=fx[i+1]-fx[i];
}
delfx[a]=fx[0];
a++;}
for(i=0;i<a;i++)
{
if(i!=0)
p=p*(p-i);
fact=fact*(i+1);
result=result+(p/fact)*delfx[i];
}
result=result+f;
printf("the result is %f",result);
}
output
No comments:
Post a Comment