द्वारा बनाई गई इंटरपोलेशन फ़ंक्शन का सूत्र प्राप्त करें मैंने पाइथन में कुछ काम किया है, लेकिन मैं scipy
पर नया हूं। मैं interpolate
लाइब्रेरी से एक फ़ंक्शन के साथ आने के तरीकों का उपयोग करने की कोशिश कर रहा हूं जो डेटा के एक सेट का अनुमान लगाएगा।scipy
मैं देखा है कुछ उदाहरण आरंभ करने के लिए, और Python(x,y) में काम कर नीचे नमूना कोड मिल सकता है:
import numpy as np
from scipy.interpolate import interp1d, Rbf
import pylab as P
# show the plot (empty for now)
P.clf()
P.show()
# generate random input data
original_data = np.linspace(0, 1, 10)
# random noise to be added to the data
noise = (np.random.random(10)*2 - 1) * 1e-1
# calculate f(x)=sin(2*PI*x)+noise
f_original_data = np.sin(2 * np.pi * original_data) + noise
# create interpolator
rbf_interp = Rbf(original_data, f_original_data, function='gaussian')
# Create new sample data (for input), calculate f(x)
#using different interpolation methods
new_sample_data = np.linspace(0, 1, 50)
rbf_new_sample_data = rbf_interp(new_sample_data)
# draw all results to compare
P.plot(original_data, f_original_data, 'o', ms=6, label='f_original_data')
P.plot(new_sample_data, rbf_new_sample_data, label='Rbf interp')
P.legend()
साजिश के रूप में प्रदर्शित किया जाता है इस प्रकार है:
अब , क्या Rbf
(यानी rbf_interp
के रूप में बनाई गई विधि) द्वारा निर्मित इंटरपोलेटेड फ़ंक्शन का प्रतिनिधित्व करने वाली बहुपद अभिव्यक्ति प्राप्त करने का कोई तरीका है?
या, यदि यह Rbf
के साथ संभव नहीं है, तो अलग-अलग इंटरपोलेशन विधि, किसी अन्य लाइब्रेरी या यहां तक कि एक अलग टूल का उपयोग करने वाले किसी भी सुझाव का भी स्वागत है।
'scipy.interpolate.Rbf' के लिए दस्तावेज़ों को देखते हुए और' scipy.interpolate' मॉड्यूल के लिए मैं जो भी चाहता हूं उससे संबंधित कुछ भी नहीं देख सकता। एकमात्र तरीका जिसे मैं सोच सकता हूं वह स्रोत-कोड पढ़ता है और समझता है कि पैरामीटर के आधार पर फ़ंक्शन कैसे बनाया जाता है और फिर अपना स्वयं का फ़ंक्शन लिखता है जो एक पठनीय प्रतिनिधित्व को वापस करने में सक्षम होता है। लेकिन यह कार्यान्वयन के विवरण पर निर्भर करेगा। भले ही मैं नहीं देख सकता कि आप इसे कैसे दूर कर सकते हैं। – Bakuriu
दो चरणों पर विचार करें: डेटा -> एक वक्र (आरबीएफ या जो भी हो), फिर वक्र -> टुकड़े की बहुपद: एक स्पलीन। स्पलीन पैरामीटर को सहेजना आसान है, (npiece + 1) * 4 - अगर आप यही करना चाहते हैं तो आगे पूछें। – denis