কম্পিউটার টিউটোরিয়াল

ল্যাগ্রঞ্জ ইন্টারপোলেশন (Lagrange Interpolation)


প্রদত্ত ডেটা পয়েন্টের একটি বিচ্ছিন্ন সেটের মধ্যে নতুন ডেটা পয়েন্ট তৈরি করতে ইন্টারপোলেশন কৌশল ব্যবহার করা হয়। ল্যাগ্রঞ্জ ইন্টারপোলেশন কৌশল 그중 একটি। যখন প্রদত্ত ডেটা পয়েন্টগুলি সমানভাবে বিতরণ করা থাকে না, তবে এই ইন্টারপোলেশন পদ্ধতি ব্যবহার করে সমাধান বের করা যায়। ল্যাগ্রঞ্জ ইন্টারপোলেশনের জন্য নিচের সমীকরণ অনুসরণ করতে হবে।

ল্যাগ্রঞ্জ ইন্টারপোলেশন (Lagrange Interpolation)


ইনপুট এবং আউটপুট

ইনপুট: x এবং f(x) মানগুলির তালিকা। f(3.25) খুঁজুন x: {0,1,2,3,4,5,6} f(x): {0,1,8,27,64,125,216} আউটপুট: ল্যাগ্রঞ্জ ইন্টারপোলেশনের ফলাফল f(3.25) = 34.3281

অ্যালগরিদম

largrangeInterpolation(x: array, fx: array, x1)

ইনপুট - পূর্বে পরিচিত ডেটা পেতে x অ্যারে এবং fx অ্যারে, এবং বিন্দু x1।

আউটপুট: f(x1) এর মান।

শুরু 
  res := 0 এবং tempSum := 0 
  i := 1 থেকে n পর্যন্ত, করুন 
    tempProd := 1 
    j := 1 থেকে n পর্যন্ত, করুন 
      যদি i ≠ j, তবে 
        tempProf := tempProd * (x1 – x[j])/(x[i] – x[j]) 
    শেষ 
    tempPord := tempProd * fx[i] 
    res := res + tempProd 
  শেষ 
  res ফেরত দিন 
শেষ

উদাহরণ

#include<iostream> #define N 6 using namespace std; double lagrange(double x[], double fx[], double x1) {   double res = 0, tempSum = 0;   for(int i = 1; i<=N; i++) {     double tempProd = 1;       //প্রতিটি ইটারেশনে temp product ইনিশিয়ালাইজ করুন     for(int j = 1; j<=N; j++) {       if(i != j) {         //যদি i = j হয়, তবে হর ০ হবে         tempProd *= (x1 - x[j])/(x[i] - x[j]);       //ফর্মুলা ব্যবহার করে প্রতিটি টার্ম গুণ করুন       }     }     tempProd *= fx[i];       //f(xi) গুণ করুন     res += tempProd;   }   return res; } main() {   double x[N+1] = {0,1,2,3,4,5,6};   double y[N+1] = {0,1,8,27,64,125,216};   double x1 = 3.25;   cout << "Result after lagrange interpolation f("<<x1<<") = " << lagrange(x, y, x1); }

আউটপুট

Result after lagrange interpolation f(3.25) = 34.3281

  1. Windows-এ Gulp গ্লোবালি কীভাবে ইনস্টল করবেন

  2. Matplotlib-এ ইন্টারপোলেশনসহ প্রিসিশন-রিকল কার্ভ ড্র করুন

  3. পান্ডাসে interpolate() দিয়ে NaN মান পূরণ করা

  4. Matplotlib-এ pcolormesh ব্যবহার করে স্মুথ ইন্টারপোলেশন কীভাবে পাবেন?