लेगेंडर श्रृंखला का डेटा के लिए न्यूनतम वर्ग फिट प्राप्त करने के लिए, पायथन numpy में legendre.legfit() विधि का उपयोग करें। यह विधि निम्न से उच्च क्रम में लेगेंडर गुणांक लौटाती है। यदि y 2-D था, तो y के कॉलम k में डेटा के लिए गुणांक कॉलम k में होते हैं।
पैरामीटर x, M नमूना (डेटा) बिंदुओं (x[i], y[i]) के x-निर्देशांक हैं। पैरामीटर y, नमूना बिंदुओं के y-निर्देशांक हैं। समान x-निर्देशांक साझा करने वाले नमूना बिंदुओं के कई सेट को y के लिए एक 2-D ऐरे पास करके एक कॉल में स्वतंत्र रूप से फिट किया जा सकता है जिसमें प्रति कॉलम एक डेटा सेट होता है।
पैरामीटर deg, फिटिंग बहुपदों की डिग्री है। यदि deg एक पूर्णांक है तो deg'वें पद तक के सभी पद फिट में शामिल होते हैं। पैरामीटर rcond, फिट की सापेक्ष स्थिति संख्या है। सबसे बड़े एकवचन मान के सापेक्ष rcond से छोटे एकवचन मानों को नजरअंदाज किया जाएगा। डिफ़ॉल्ट मान len(x)*eps है, जहां eps प्लेटफॉर्म के फ्लोट प्रकार की सापेक्ष सटीकता है, ज्यादातर मामलों में लगभग 2e-16। पैरामीटर full, वापसी मूल्य की प्रकृति निर्धारित करने वाला स्विच है। जब False (डिफ़ॉल्ट) तो केवल गुणांक लौटाए जाते हैं; जब True, तो एकवचन मान विघटन से नैदानिक जानकारी भी लौटाई जाती है।
पैरामीटर w, भार हैं। यदि None नहीं है, तो भार w[i] x[i] पर अनवर्ग अवशेष y[i] - y_hat[i] पर लागू होता है। आदर्श रूप से भार इस प्रकार चुने जाते हैं कि उत्पादों w[i]*y[i] की त्रुटियों का समान विचरण हो। व्युत्क्रम-विचरण भार का उपयोग करते समय, w[i] = 1/sigma(y[i]) का उपयोग करें। डिफ़ॉल्ट मान None है।
चरण
सबसे पहले, आवश्यक लाइब्रेरी आयात करें −
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)लेगेंडर श्रृंखला का डेटा के लिए न्यूनतम वर्ग फिट प्राप्त करने के लिए, पायथन numpy में 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]