Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

लैग्रेंज इंटरपोलेशन


दिए गए डेटा बिंदु के असतत सेट की एक सीमा के भीतर नए डेटा बिंदुओं के निर्माण के लिए, इंटरपोलेशन तकनीक का उपयोग किया जाता है। लैग्रेंज इंटरपोलेशन तकनीक उनमें से एक है। जब दिए गए डेटा बिंदु समान रूप से वितरित नहीं होते हैं, तो हम समाधान खोजने के लिए इस इंटरपोलेशन विधि का उपयोग कर सकते हैं। लैग्रेंज प्रक्षेप के लिए, हमें इस समीकरण का पालन करना होगा।

लैग्रेंज इंटरपोलेशन


इनपुट और आउटपुट

Input:
List of x and f(x) values. find f(3.25)
x: {0,1,2,3,4,5,6}
f(x): {0,1,8,27,64,125,216}
Output:
Result after Lagrange interpolation f(3.25) = 34.3281

एल्गोरिदम

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

इनपुट - पहले से ज्ञात डेटा प्राप्त करने के लिए x सरणी और fx सरणी, और बिंदु x1।

आउटपुट: f(x1) का मान।

Begin
   res := 0 and tempSum := 0
   for i := 1 to n, do
      tempProd := 1
      for j := 1 to n, do
         if i ≠ j, then
            tempProf := tempProd * (x1 – x[j])/(x[i] – x[j])
      done

      tempPord := tempProd * fx[i]
      res := res + tempProd
   done
   return res
End

उदाहरण

#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;         //for each iteration initialize temp product
      for(int j = 1; j<=N; j++) {
         if(i != j) {                 //if i = j, then denominator will be 0
            tempProd *= (x1 - x[j])/(x[i] - x[j]);     //multiply each term using formula
         }
      }
      tempProd *= fx[i];                //multiply 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. कैसे अजगर Matplotlib में प्रक्षेप के साथ एक सटीक याद वक्र आकर्षित करने के लिए?

    पायथन में प्रक्षेप के साथ एक सटीक-रिकॉल वक्र बनाने के लिए, हम निम्नलिखित कदम उठा सकते हैं - कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। बनाएं r , p और डुप्लिकेट रिकॉल, मैं डेटा अंक numpy का उपयोग कर रहा हूँ। एक आकृति और सबप्लॉट का एक सेट बनाएं। रिकॉल मैट्रि

  1. पायथन पांडा - एक प्रक्षेप विधि का उपयोग करके NaN मान भरें

    NaN मान भरने के लिए इंटरपोलेट () विधि का उपयोग करें। मान लें कि Microsoft Excel में कुछ NaN मानों के साथ खोली गई हमारी CSV फ़ाइल निम्नलिखित है - CSV फ़ाइल से पंडों के डेटाफ़्रेम में डेटा लोड करें - dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") NaN मानों को इंटरपोल

  1. pcolormesh (Matplotlib) का उपयोग करते समय सहज प्रक्षेप कैसे प्राप्त करें?

    pcolormesh का उपयोग करते समय सहज प्रक्षेप प्राप्त करने के लिए, हम shading=gouraud का उपयोग कर सकते हैं नाम से कक्षा। कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। numpy मेशग्रिड . का उपयोग करके डेटा, x और y बनाएं । pcolormesh() . का उपयोग करके एक गैर-नियमित आयता