C examples for Data Structure:Algorithm
To Construct the New Data Points Using Gauss's Backward Method of Interpolation
#include <stdio.h> #define MAX 20/*from ww w. j a v a 2 s .c o m*/ void main() { int i, j, terms=10; float ax[MAX], ay[MAX], x, y = 0, h, 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; 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("\nFor x = %6.2f, y = %6.4f ", x, y); }