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 Beta Round #53 (A. Square Earth?)

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 represented in base b using   namespace  std; typedef   long   long ...

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...

AtCoder Beginner Contest 237(D - LR insertion)

Problem solving criteria:stack (https://www.cplusplus.com/reference/stack/stack/) Think about the first input: LRRLR That means  0 ->(L)-> 1 ->(R)-> 2 ->(R)-> 3 ->(L)-> 4 ->(R)-> 5 so we just need to save first R right number  in  an  array (vector) & other number saves  in  a stack. 0 ->(L)-> 1   general  array (vector)       stack( 0 )   top of stack= 0 1 ->(R)-> 2   general  array (vector)= 1      stack( 0 )   top of stack= 0 2 ->(R)-> 3   general  array (vector)= 1 , 2    stack( 0 )   top of stack= 0 3 ->(L)-> 4   general  array (vector)= 1 , 2    stack( 0 , 4 )...