Sunday, 15 January 2012

interpolate linear array to non linear array using python numpy or scipy -


मुझे सरणियाँ हैं:

एक रैखिक एक;

  X = सरणी ([0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4])  

और एक इसी परिणाम है जो एक गैर रेखीय एक है;

  y = सरणी ([13.07, 13.7, 14.35, 14.92, 15.5, 16.05, 16.56, 17.12, 17.62, 18.08, 18.55, 19.02, 19.45, 19.88, 20.25])  

अब : मैं एक रैखिक स्थान दिया गया सरणी के लिए y बदलने और की इसी अंतर्वेशित मूल्यों को खोजने के लिए चाहते हैं <कोड> x

यानी एक्स जब

  y = array ([13., 13.5, 14., 14.5, 15., 15.5, 16, 16.5, 17., 17.5, 18., 18.5, 1 9। , 1 9 .5, 20.])  

धन्यवाद अग्रिम में।

मैं निम्न पद्धति का प्रयोग करके इंटरपी फ़ंक्शन का प्रयोग numpy में करता हूं:

  ynew = np.linspace (np.min (y), np.max (y), लेन (y)) xnew = np.interp (ynew, वाई, एक्स)  

यानी Np.interp फ़ंक्शन में एक्स और वाई का आदान प्रदान करना।

क्या यह हमेशा सही है? या यह कुछ शर्त के लिए टूट जाएगा।

जब तक मुझे कुछ याद आ रहा है, तब तक यह मामला एक numpy.interp का साधारण अभिवादन। आप x से y की भविष्यवाणी करना चाहते हैं, जो कि लोग आम तौर पर उनकी चर परिभाषाओं के विपरीत होते हैं, लेकिन उस शिकन के अलावा, आपको केवल सभी की आवश्यकता है:

< पूर्व> एनपी एक्स = एनपी। अर्रे के रूप में नमूनों को आयात करें ([0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2, 1.3, 1.4]) = np.array ([13.07, 13.7, 14.35, 14.92, 15.5, 16.05, 16.56, 17.12, 17.62, 18.08, 18.55, 19.02, 19.45, 19.88, 20.25]) ynew = np.array ([13, ​​13.5, 14 ।, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20]) xnew = np.interp (ynew, वाई, एक्स) प्रिंट xnew

कौन सा ouput के रूप में देता है:

  [0. 0,06825397 0,14615385 0,22631579 0,3137931 0,4 0,49090909 0,58823529 0,67857143 0,776 0,8826087 0,9893617 1,09574468 1,21162791 1,33243243]  
< / div>

No comments:

Post a Comment