C Program for Lagrange Interpolation Method (with Output)

Table of Contents

This program implements Lagrange Interpolation Formula in C Programming Language.

In this C program, x and y are two array for storing x data and y data respectively. xp is interpolation point given by user and output of Lagrange interpolation method is obtained in yp.

C Source Code: Lagrange Interpolation


#include<stdio.h>
#include<conio.h>

void main()
{
	 float x[100], y[100], xp, yp=0, p;
	 int i,j,n;
	 clrscr();
	 /* Input Section */
	 printf("Enter number of data: ");
	 scanf("%d", &n);
	 printf("Enter data:\n");
	 for(i=1;i<=n;i++)
	 {
		  printf("x[%d] = ", i);
		  scanf("%f", &x[i]);
		  printf("y[%d] = ", i);
		  scanf("%f", &y[i]);
	 }
	 printf("Enter interpolation point: ");
	 scanf("%f", &xp);
	 /* Implementing Lagrange Interpolation */
	 for(i=1;i<=n;i++)
	 {
		  p=1;
		  for(j=1;j<=n;j++)
		  {
			   if(i!=j)
			   {
			    	p = p* (xp - x[j])/(x[i] - x[j]);
			   }
		  }
		  yp = yp + p * y[i];
	 }
	 printf("Interpolated value at %.3f is %.3f.", xp, yp);
	 getch();
}

C Program Output: Lagrange Interpolation

Enter number of data: 5 ↲
Enter data:
x[1] = 5 ↲
y[1] = 150 ↲
x[2] = 7 ↲
y[2] = 392 ↲
x[3] = 11 ↲
y[3] = 1452 ↲
x[4] = 13 ↲
y[4] = 2366 ↲
x[5] = 17 ↲
y[5] = 5202 ↲
Enter interpolation point: 9 ↲
Interpolated value at 9.000 is 810.000.

Note: ↲ indicates ENTER is pressed.