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

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


परिचय

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

लैग्रेंज इंटरपोलेशन के लिए, हमें इस समीकरण का पालन करना होगा:

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

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

इनपुट: 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) का मान

Begin
    res := 0 और tempSum := 0
    i := 1 से n तक, करें
        tempProd := 1
        j := 1 से n तक, करें
            यदि i ≠ j, तो
                tempProf := tempProd * (x1 – x[j])/(x[i] – x[j])
        done
        tempPord := tempProd * fx[i]
        res := res + tempProd
    done
    res लौटाएं
End

उदाहरण (C++ कोड)

#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, तो हर 0 होगा
                tempProd *= (x1 - x[j]) / (x[i] - x[j]);
                // सूत्र का उपयोग करके प्रत्येक पद को गुणा करें
            }
        }
        tempProd *= fx[i]; // f(xi) से गुणा करें
        res += tempProd;
    }
    return res;
}

int 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. पायथन मैटप्लॉटलीब में इंटरपोलेशन के साथ प्रिसिजन-रिकॉल कर्व कैसे ड्रॉ करें? पायथन मैटप्लॉटलीब में इंटरपोलेशन के साथ प्रिसिजन-रिकॉल कर्व कैसे ड्रॉ करें?

    पायथन में इंटरपोलेशन के साथ प्रिसिजन-रिकॉल कर्व ड्रॉ करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: चरण फिगर साइज़ सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें। नम्पी का उपयोग करके r, p और डुप्लिकेट रिकॉल, i डेटा पॉइंट्स बनाएं। एक फिगर और सबप्लॉट्स का सेट बनाएं। r.shape की रेंज में रिक

  1. पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें

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

  1. Matplotlib में pcolormesh का उपयोग करते समय स्मूथ इंटरपोलेशन कैसे प्राप्त करें? Matplotlib में pcolormesh का उपयोग करते समय स्मूथ इंटरपोलेशन कैसे प्राप्त करें?

    pcolormesh में स्मूथ इंटरपोलेशन प्राप्त करने के लिए shading=gouraud पैरामीटर का उपयोग करें। चरण फिगर का आकार सेट करें और सबप्लॉट्स के बीच पैडिंग एडजस्ट करें। NumPy meshgrid का उपयोग करके डेटा, x और y बनाएं। नॉन-रेगुलर रेक्टेंग्रुलर ग्रिड के साथ सूडोकलर प्लॉट बनाने के लिए pcolormesh() मेथड का उपयोग