Wednesday 14 December 2011

c programe of Newton forward interpolation formula


Implimentation of Newton’s Forward Interpolation Formula.

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
#include<string.h>
void main()
{
  int n,x,p;
  int i,j;
  float ax[10];
  float ay[10];
  float y=0;
  float h;
  float d;
  float diff[20][20];
  float y1,y2,y3,y4;
  clrscr();
  printf("\n Enter the number of term -");
  scanf("%d",&n);
  printf("\n\n Enter the value in the form of x -");
  for(i=0;i<n;i++)
  {
     printf("\n\n Enter the value of x%d-",i+1);
     scanf("%f",&ax[i]);
   }
   printf("\n\n Enter the value in the form of y -");
    for(i=0;i<n;i++)
    {
      printf("\n\n Enter the value in the form y%d-",i+1);
     scanf("%f",&ay[i]);
    }
     printf("\n\n Enter the value of x for -");
     printf("\n which you want the value of y -");
     h=ax[1]-ax[0];
     for(i=0;i<n-1;i++)
     {
       diff[i][2]=ay[i+1]-ay[i];
     }
       for(j=2;j<=4;j++)
       {
             for(i=0;i<n-j;i++)
             {
               diff[i][j]=diff[i+1][j-1];
             }
             i=0;
             do
             {
               i++;
             }while(ax[i]<x);
             i--;
             p=(x-ax[i])/h;
             y1=p*diff[i-1][1];
             y2=p*(p+1)*diff[i-1][2]/2;
             y3=(p+1)*p*(p-1)*diff[i-2][3]/6;
             y4=(p+2)*(p+1)*p*(p-1)*diff[i-3][4]/24;
             y=ay[i]+y1+y2+y3+y4;
             printf("\n whenn=%6.4f,y=%6.8f",x,y);
             printf("\n\n\n Press Enter to Exit");
             }
             getch();
             }

No comments:

Post a Comment