Interpolation 1
Interpolation 1
#include<stdio.h>
#include<math.h>
float f(float x)
return x*x*x+x*x-1;
int main(){
float x0,x1,x2;
printf("22331466,22331532 \n");
for(i=0;i<max_iterations;i++){
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
if(fabs(f(x2))<0.0001){
printf("Root found:%.4f\n",x2);
return 0;
x0=x1;
x1=x2;
return 0;
}
Program 4: Interpolation by Newton Gregory forward difference formula
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
float a[100][100],x,h,p1,p,y;
int i,j,n,L;
printf("22331466,22331532\n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%f",&a[i][0]);
for(i=0;i<n;i++)
scanf("%f",&a[i][1]);
for(j=2;j<n+1;j++)
for(i=0;i<n-j+1;i++)
a[i][j] = a[i+1][j-1]-a[i][j-1];
for(i=0;i<n-1;i++)
printf("\t F%d",i+1);
printf("\n");
for(i=0;i<n;i++)
for(j=0;j<=n-i;j++)
printf("%.2f ",a[i][j]);
printf("\n");
scanf("%f",&x);
h=a[1][0]-a[0][0];
i=0;
do
p=(x-a[i][0]);
i++;
}while(p>h);
i=i-1;
p=(x-a[i][0])/h;
//Calculate Output
y=a[i][1];
p1=p;
L=1;
for(j=2;j<=n;j++)
y=y+(p1*a[i][j])/L;
L=L*j;
p1=p1*(p-(j-1));
return 0;
}
Program 5: Interpolation by Newton Gregory backward difference formula
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
float a[100][100],x,h,p1,p,y;
int i,j,n,L;
printf("22331466, 22331532\n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%f",&a[i][0]);
for(i=0;i<n;i++)
scanf("%f",&a[i][1]);
for(j=2;j<n+1;j++)
for(i=j-1;i<n;i++)
a[i][j] = a[i][j-1]-a[i-1][j-1];
for(i=0;i<n-1;i++)
printf("\t F%d",i+1);
printf("\n");
for(i=0;i<n;i++)
for(j=0;j<i+2;j++)
printf("%.2f ",a[i][j]);
printf("\n");
scanf("%f",&x);
h=a[1][0]-a[0][0];
i=0;
do
p=(x-a[i][0]);
i++;
}while(p>h);
i=i-1;
p=(x-a[i][0])/h;
//Calculate Output
y=a[i][1];
p1=p;
L=1;
for(j=2;j<=n;j++)
y=y+(p1*a[i][j])/L;
L=L*j;
p1=p1*(p+(j+1));
return 0;