C examples for Data Structure:Algorithm
To Construct the New Data Points Using Stirling's Method of Interpolation
#include<stdio.h> #define MAX 20/*from w ww .j ava2 s . co m*/ void main() { int i, j, terms = 10; float ax[MAX], ay[MAX], x, y, 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] + diff[i-1][1])/2; y2 = p * p * diff[i-1][2]/2; y3 = p * (p*p-1) * (diff[i-1][3] + diff[i-2][3])/6; y4 = p * p * (p*p-1) * diff[i-2][4]/24; y = ay[i] + y1 + y2 + y3 + y4; printf("\n\nFor x = %6.2f, y = %6.4f", x, y); }