C examples for Data Structure:Algorithm
To Construct the New Data Points Using Newton's Backward Method of Interpolation
#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); }