Skip to main content

lagrange interpolation method


///Bismillahir Rahmanir Rahim
///Author:Tanvir Ahmmad
///CSE,Islamic University,Bangladesh


///Dept.CSE,IU,Bangladesh

#include<iostream>
using namespace std;
typedef int in;
typedef double db;



int main()
{
    in n,fin;
    cout<<"Enter number of data point: ";
    cin>>n;
    in arr_x[n+3],arr_y[n+3];

    cout<<"Input these "<<n<<" points:"<<endl;

    for(in i=1; i<=n; i++) cin>>arr_x[i]>>arr_y[i];
    cout<<"After given values : "<<endl;
    for(in i=1; i<=n; i++)
        cout<<"x["<<i<<"] = "<<arr_x[i]<<"  "<<"y["<<i<<"] = "<<arr_y[i]<<endl;
    cout<<"Enter interpolation point: ";
    cin>>fin;
    db ans=0;

    for(in i=1; i<=n; i++)
    {
        db up=arr_y[i],down=1;
        for(in j=1; j<=n; j++)
        {
            if(j==i) continue;
            else up*=(fin-arr_x[j]),down*=(arr_x[i]-arr_x[j]);;
        }
        ans+=(up/down);
    }
    cout<<"Interpolated value of "<<fin<<" is "<<ans<<endl;
return 0;

}

///Alhamdulillah



Comments

Popular posts from this blog

Codeforces round 1676(A. Lucky?)

Just count the  first three  &  last three  number ///Bismillahir Rahmanir Rahim ///Author: Tanvir Ahmmad ///CSE,Islamic University,Bangladesh #include< iostream > #include< cstdio > #include< algorithm > #include< string > #include< cstring > #include< sstream > #include< cmath > #include< cstring > #include< vector > #include< queue > #include< map > #include< set > #include< stack > #include< vector > #include< iterator > #include   < functional >   ///sort(arr,arr+n,greater<int>()) for decrement of array /*every external angle sum=360 degree   angle find using polygon hand(n) ((n-2)*180)/n*/ ///Floor[Log(b)  N] + 1 = the number of digits when any number is repres...

Codeforces round 1661(B. Getting Zero)

using   second operation  the answer is maximum is  15  because  2 15 =32768 so we need to  pre-calculate all the illegible input 0 to 32768   using  second operation Then  just increment 1(using first operation)  from input check is it  minimum is not ! ///Bismillahir Rahmanir Rahim ///Author: Tanvir Ahmmad ///CSE,Islamic University,Bangladesh #include< iostream > #include< cstdio > #include< algorithm > #include< string > #include< cstring > #include< sstream > #include< cmath > #include< cstring > #include< vector > #include< queue > #include< map > #include< set > #include< stack > #include< vector > #include< iterator > #include   < functional >   ///sort(arr,arr+n,greater<int...

Codeforces round 1676(E. Eating Queries)

Just use the lower bound & check is it greater than the sum or not Lower bound:https://www.geeksforgeeks.org/upper_bound-and-lower_bound- for -vector- in -cpp-stl/ ///Bismillahir Rahmanir Rahim ///Author: Tanvir Ahmmad ///CSE,Islamic University,Bangladesh #include< iostream > #include< cstdio > #include< algorithm > #include< string > #include< cstring > #include< sstream > #include< cmath > #include< cstring > #include< vector > #include< queue > #include< map > #include< set > #include< stack > #include< vector > #include< iterator > #include   < functional >   ///sort(arr,arr+n,greater<int>()) for decrement of array /*every external angle sum=360 degree   angle find using polygon hand(n) ((n-2)*180...