To Construct the New Data Points Using Newton's Backward Method of Interpolation - C Data Structure

C examples for Data Structure:Algorithm

Description

To Construct the New Data Points Using Newton's Backward Method of Interpolation

Demo Code

#include <stdio.h>
#include <math.h>

#define MAX 20/* ww  w.  ja v  a 2s  .  c o m*/

void main ()
{
  int i, j, k, terms = 10;
  float ax[MAX], ay[MAX], x, x0 = 0, y0, sum, h, store, p;
  float diff[MAX][5], y1, y2, y3, y4;

  printf("\nEnter the values of x upto 2 decimal points.\n");
  for (i=0; i<terms; i++) {
    printf("Enter the value of x%d: ", i+1);
    scanf("%f",&ax[i]);
  }
  printf("\nNow enter the values of y upto 4 decimal points.\n");
  for (i=0; i < terms; i++) {
    printf("Enter the value of y%d: ", i+1);
    scanf("%f", &ay[i]);
  }
  
  x = 20;
  h = ax[1] - ax[0];
  for(i=0; i < terms-1; i++) {
    diff[i][1] = ay[i+1] - ay[i];
  }
  for (j=2; j<=4; j++) {
    for (i=0; i<terms-j; i++) {
      diff[i][j] = diff[i+1][j-1] - diff[i][j-1];
    }
  }
  i=0;
  while(!ax[i] > x) {
    i++;
  }
  x0 = ax[i];
  sum = 0;
  y0 = ay[i];
  store = 1;
  p = (x - x0) / h;
  sum = y0;
  for (k=1; k <= 4; k++) {
    store = (store * (p-(k-1)))/k;
    sum = sum + store * diff[i][k];
  }
  printf ("\nFor x = %6.2f,    y = %6.4f", x, sum);
}

Related Tutorials