मैं scipy.interpolate.UnivariateSpline
का उपयोग कर बड़ी मात्रा में डेटा को आसानी से विभाजित करने के लिए उपयोग कर रहा हूं। बहुत अच्छा काम करता है। मुझे एक ऑब्जेक्ट मिलता है जो फ़ंक्शन की तरह कार्य करता है।scipy.interpolate.UnivariateSpline बाद में पाइथन या मैटलैब में मूल डेटापॉइंट्स की आवश्यकता के बिना
अब मैं बाद में स्पलीन बिंदुओं को सहेजना चाहता हूं और मूल डेटा की आवश्यकता के बिना उन्हें मैटलैब (और पायथन, लेकिन यह कम जरूरी है) में भी उपयोग करना चाहता हूं। मैं यह कैसे कर सकता हूँ?
scipy में मुझे कोई सुराग नहीं है; UnivariateSpline पहले से गणना नॉट्स और गुणांक के साथ एक कन्स्ट्रक्टर की पेशकश प्रतीत नहीं होता है।
MATLAB में, मैं Matlab कार्यों spline()
और pchip()
, और दोनों करीब आ जबकि की कोशिश की है, वे अंतिम बिंदुओं उस तरह की Gibbs ears की तरह लग रही के पास त्रुटियाँ हैं।
यहाँ डेटा का एक नमूना सेट मेरे पास है, मैटलैब स्वरूप में है:
splinedata = struct('coeffs',[-0.0412739180955273 -0.0236463479425733 0.42393753107602 -1.27274336116436 0.255711720888164 1.93923263846732 -2.30438927604816 1.02078680231079 0.997156858475075 -2.35321792387215 0.667027554745454 0.777918416623834],...
'knots',[0 0.125 0.1875 0.25 0.375 0.5 0.625 0.75 0.875 0.9999],...
'y',[-0.0412739180955273 -0.191354308450615 -0.869601364377744 -0.141538578624065 0.895258135865578 -1.04292294390242 0.462652465278345 0.442550440125204 -1.03967756446455 0.777918416623834])
गुणांक और समुद्री मील scipy UnivariateSpline पर get_coeffs()
और get_knots()
बुला के परिणाम हैं। 'Y' मूल्यों अधिक सटीक समुद्री मील पर UnivariateSpline के मूल्यों कर रहे हैं, या:
y = f(f.get_knots())
जहां च मेरी UnivariateSpline है।
वक्र-फिटिंग टूलबॉक्स का उपयोग किए बिना, यूनिवर्सेटस्प्लाइन के व्यवहार से मेल खाने वाली एक स्पलीन बनाने के लिए मैं इस डेटा का उपयोग कैसे कर सकता हूं? मुझे मैटलैब में कोई भी डेटा फिटिंग करने की आवश्यकता नहीं है, मुझे सिर्फ यह जानने की जरूरत है कि कैसे नॉट्स/गुणांक/स्पलीन मानों से घन स्पलीन बनाना है।
मैं अगर यह मदद करता है पता नहीं है, लेकिन एक 'UnivariateSpline' वस्तु कम से कम, pickleable हो रहा है मामले में आप फिर से उपयोग करना चाहता था पायथन में आपका फिट –
ओपी के प्रश्न का विस्तृत उत्तर http://stackoverflow.com/questions/22488637/getting-spline-equation-from-univariatespline-object/25330648#25330648 पर पोस्ट किया गया है। यह उत्तर स्पिनलाइन नॉट्स और गुणांक का मैन्युअल रूप से मूल्यांकन करने का माध्यम प्रदान करता है, ताकि ओपी अन्य कार्यक्रमों द्वारा उपयोग किए गए इनपुट तक मिलान करने का प्रयास कर सके। – nzh