लेजेंडर श्रृंखला के कम से कम वर्गों को डेटा में फिट करने के लिए, Pythonnumpy में Legendre.legfit() विधि का उपयोग करें। विधि निम्न से उच्च तक ऑर्डर किए गए लीजेंड्रे गुणांक लौटाती है। यदि y 2-D था, y के कॉलम k में डेटा के लिए गुणांक कॉलम k में हैं।
पैरामीटर, x एम नमूना (डेटा) बिंदुओं (x[i], y[i]) के x-निर्देशांक हैं। पैरामीटर, नमूना बिंदुओं के y-निर्देशांक हैं। समान xनिर्देशांक साझा करने वाले नमूना बिंदुओं के कई सेट y 2-D सरणी के लिए पास करके पॉलीफ़िट के लिए एक कॉल के साथ (स्वतंत्र रूप से) फ़िट हो सकते हैं जिसमें प्रति स्तंभ एक डेटा सेट होता है।
पैरामीटर, डिग्री फिटिंग बहुपद की डिग्री है। यदि deg एक एकल पूर्णांक है तो deg'th पद तक के सभी पदों को फिट में शामिल किया गया है। पैरामीटर, rcond फिट की सापेक्ष स्थिति संख्या है। सबसे बड़े एकवचन मान के सापेक्ष rcond से छोटे एकवचन मान पर ध्यान नहीं दिया जाएगा। डिफ़ॉल्ट मान लेन (x) * ईपीएस है, जहां ईपीएस प्लेटफॉर्म के फ्लोट प्रकार की सापेक्ष सटीकता है, ज्यादातर मामलों में लगभग 2e-16। पैरामीटर, पूर्ण वापसी मूल्य की प्रकृति का निर्धारण करने वाला स्विच है। जब गलत (डिफ़ॉल्ट) केवल गुणांक लौटाए जाते हैं; जब सच है, एकवचन मूल्य अपघटन से नैदानिक जानकारी भी लौटा दी जाती है।
पैरामीटर, डब्ल्यू वजन हैं। यदि कोई नहीं, तो भार w[i] अवर्गीकृत अवशिष्ट y[i]- y_hat[i] पर x[i] पर लागू होता है। आदर्श रूप से वज़न को चुना जाता है ताकि उत्पादों की त्रुटियों w[i]*y[i] सभी में समान भिन्नता हो। व्युत्क्रम-विचरण भार का उपयोग करते समय, w[i] =1/sigma(y[i]) का उपयोग करें। डिफ़ॉल्ट मान कोई नहीं है।
कदम
सबसे पहले, आवश्यक पुस्तकालय आयात करें -
import numpy as np from numpy.polynomial import legendre as L
x-निर्देशांक -
x = np.linspace(-1,1,51)
x-निर्देशांक प्रदर्शित करें -
print("X Co-ordinate...\n",x)
y-निर्देशांक -
y = x**3 - x + np.random.randn(len(x)) print("\nY Co-ordinate...\n",y)
लेजेंडर श्रृंखला के कम से कम वर्गों को डेटा में फिट करने के लिए, Pythonnumpy में Legendre.legfit() विधि का उपयोग करें। विधि निम्न से उच्च तक ऑर्डर किए गए लीजेंड्रे गुणांक लौटाती है। यदि y 2-D था, y के कॉलम k में डेटा के लिए गुणांक कॉलम k -
में हैंc, stats = L.legfit(x,y,3,full=True) print("\nResult...\n",c) print("\nResult...\n",stats)
उदाहरण
import numpy as np from numpy.polynomial import legendre as L # The x-coordinate x = np.linspace(-1,1,51) # Display the x-coordinate print("X Co-ordinate...\n",x) # The y-coordinate y = x**3 - x + np.random.randn(len(x)) print("\nY Co-ordinate...\n",y) # To get the Least squares fit of Legendre series to data, use the legendre.legfit() method in Python numpy c, stats = L.legfit(x,y,3,full=True) print("\nResult...\n",c) print("\nResult...\n",stats)
आउटपुट
X Co-ordinate... [-1. -0.96 -0.92 -0.88 -0.84 -0.8 -0.76 -0.72 -0.68 -0.64 -0.6 -0.56 -0.52 -0.48 -0.44 -0.4 -0.36 -0.32 -0.28 -0.24 -0.2 -0.16 -0.12 -0.08 -0.04 0. 0.04 0.08 0.12 0.16 0.2 0.24 0.28 0.32 0.36 0.4 0.44 0.48 0.52 0.56 0.6 0.64 0.68 0.72 0.76 0.8 0.84 0.88 0.92 0.96 1. ] Y Co-ordinate... [-5.28795520e-02 -7.61252904e-03 7.35194215e-02 -1.33072588e-01 -1.21785636e+00 7.75679385e-02 6.55168668e-01 1.42872448e+00 8.42326214e-01 2.49667989e+00 9.58942508e-01 -2.67332869e-01 -7.85575928e-01 1.93333045e+00 7.32492468e-01 5.23576961e-01 -1.91529521e+00 -1.41434385e+00 4.44787373e-01 3.81831261e-01 3.74128321e-01 1.20562789e+00 1.44870029e+00 1.01091575e-03 8.94334713e-01 1.22342199e+00 9.52055370e-01 -7.29520012e-01 -2.42648820e-01 -9.78434555e-02 1.27468237e-01 9.39489448e-01 1.08795136e+00 2.31230197e+00 1.93107556e-02 -6.13335407e-01 1.93170835e-01 -8.77958854e-01 -3.59868085e-01 4.31331759e-01 7.24929856e-01 -2.22736540e-01 -1.29623093e+00 4.13226024e-01 7.82155644e-01 -1.56618537e-01 1.25043737e+00 6.32386988e-01 -2.75716271e-01 8.80669895e-02 -3.20225560e-01] Result... [ 0.29249467 -0.10521942 -0.24847572 0.2010877 ] Result... [array([39.35467561]), 4, array([1.0425003 , 1.02126704, 0.97827074, 0.95561139]), 1.1324274851176597e-14]