diff --git a/Graph Algorithms/lagrange_interpolation.cpp b/Graph Algorithms/lagrange_interpolation.cpp new file mode 100644 index 0000000..e8c2a72 --- /dev/null +++ b/Graph Algorithms/lagrange_interpolation.cpp @@ -0,0 +1,45 @@ +#include + +using namespace std; + +int main() + +{ + + float x[100], y[100], xp, yp=0, p; + int i,j,n; + + cout<<"Enter number of data: "; + cin>>n; + cout<<"Enter data:"<< endl; + + for(i=1;i<=n;i++) + + { + cout<<"x["<< i<<"] = "; + cin>>x[i]; + cout<<"y["<< i<<"] = "; + cin>>y[i]; + } + + cout<<"Enter interpolation point: "; + cin>>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]; + } + cout<< endl<<"Interpolated value at "<< xp<< " is "<< yp; + + return 0; +}