रनगे-कुट्टा और पुन: उपयोग करने के अंक


11

मैं पायथन में पहले आदेश ODE को हल करने के लिए चौथे क्रम रूज-कुत्ता विधि को लागू करने का प्रयास कर रहा हूं अर्थात । मैं समझता हूं कि विधि कैसे काम करती है, लेकिन मैं एक कुशल एल्गोरिथ्म लिखने की कोशिश कर रहा हूं जो कि कई बार की संख्या को कम करता है क्योंकि यह काफी महंगा है। मुझे बताया गया है कि उन डेटा बिंदुओं का पुन: उपयोग करना संभव है जिन्हें पहले चरणों में आपके द्वारा वेतन वृद्धि के रूप में गणना की गई थी लेकिन यह नहीं देख सकता कि कैसे। क्या किसी को पता है कि यह कैसे करना है या यह संभव नहीं है?dydx=f(x,y)f(x,y)


अनुसंधान "यादगार"। आप आसानी से अपने "रैप" कर सकते हैं f(x,y)ताकि परिणाम याद रहे।

2
@ एस.लॉट: शब्द "आर" के बिना, "संस्मरण" है।

1
@DietrichEpp: पूरी तरह से सही है। मैक ओएस एक्स में एक नया, आक्रामक स्पेल-चेकर है, जिसमें कोई तकनीकी जानकार नहीं है।

क्या यह 2 क्रम प्रणाली 4 क्रम विधि के साथ सिम्युलेटेड है?

यहां वैकल्पिक समाधानों की एक विशाल सूची दी गई है: google.com/… उनमें से कोई भी संभवत: सहायक होने जा रहा है।

जवाबों:


8

आप से जा रहे हैं yp_1 = f(x_1, y_1)करने के लिए yp_2 = f(x_1+h, y_2)आप मध्यवर्ती अंक की जरूरत करने जा रहे हैं:

K1 = f(x_1+h/2, y_1+h/2*yp_1)
K2 = f(x_1+h/2, y_1+h/2*K1)
K3 = f(x_1+h, y_1+h*K2)

x_2 = x_1 + h
y_2 = y_1 + h/6*(yp_1+2*K1+2*K2+K3)
yp_2 = f(x_2, y_2)

सामान्य तौर पर अगले चरण में कोई भी मध्यवर्ती बिंदु उपयोगी नहीं होता है। क्योंकि K1<> K2और K3<> yp_2


4

आदेश सामान्य स्पष्ट रन-कुट्टा तरीकों में कम से कम फ़ंक्शन मूल्यांकन की आवश्यकता होती है , और इससे बचने का कोई तरीका नहीं है। पिछले फ़ंक्शन के मूल्यांकन से अधिक की आवश्यकता है ।N NN=4N

यदि आप पिछले फ़ंक्शन मूल्यांकन का फिर से उपयोग करना चाहते हैं, तो आपको एडम्स-बैशफोर्थ जैसे मल्टीस्टेप विधि का उपयोग करने की आवश्यकता है।

किसी भी मामले में आप प्रत्येक रणनीति के लिए भुगतान करते हैं। एकल चरण विधियों के लिए सबसे बड़ी संख्या में फ़ंक्शन मूल्यांकन की आवश्यकता होती है, लेकिन मल्टीस्टेप विधियों में सबसे बड़ी स्मृति आवश्यकता होती है।

संपादित करें: सुधार। मेरा कथन केवल स्पष्ट विधियों के लिए सत्य है। अंतर्निहित विधियों के लिए स्थिति कम स्पष्ट है क्योंकि चरणों की संख्या फ़ंक्शन मूल्यांकन की संख्या में सीधे अनुवाद नहीं करती है।


मुझे शायद थोड़ा और विशिष्ट होना चाहिए। अधिक विवरण के लिए कसाई देखें: कसाई, जेसी, और जे विली। साधारण विभेदक समीकरणों के लिए संख्यात्मक तरीके। विली ऑनलाइन लाइब्रेरी, 2008. ओडीई समाधानों के लिए उत्कृष्ट संदर्भ, और आरके विधियों के लिए बहुत सारे शून्य प्रमाण भी प्रदान करता है (जैसे कि मौजूद नहीं है 5 रन-कुट्टा विधि जो केवल 4 फ़ंक्शन मूल्यांकन का उपयोग करती है।)
रीड

1
पूर्णता के लिए: आपके दावे "सामान्य रन-कुट्टा विधियों" के लिए सही नहीं हैं, लेकिन केवल स्पष्ट रन-कुट्टा विधियों के लिए।
डेविड केचेसन

ओह! आप सही हैं, इसके बारे में क्षमा करें।
रीड.टेकसन

1

मुझे पता है कि आप अपने ODE को हल करने के लिए Runge-Kutta Methods का उपयोग कर रहे हैं, लेकिन यदि आप अपने f (x, y) के पुराने परिकलित मानों का पुन: उपयोग करना चाहते हैं, तो आप Adams-Bashthth या Adams-Moulton जैसे मल्टीस्टेप तरीकों पर विचार कर सकते हैं। तरीकों। बेशक, इन तरीकों का नुकसान यह है कि आप बहुत आसानी से अनुकूली समय-कदम का उपयोग नहीं कर सकते हैं।


0

कृपया "एम्बेडेड" विधियों पर जांच करें: इस प्रकार के आरके तरीकों का उद्देश्य अलग-अलग आदेशों के साथ दो तरीके हैं, जहां उच्च क्रम विधि समान कार्य मूल्यांकन का उपयोग निम्न क्रम विधि के रूप में करती है। यह बहुत ही कुशल त्रुटि अनुमान के लिए अनुमति देता है। पी .65 और आगे देखें "हेयररिंग, नोरसेट और वानर द्वारा ऑर्डिनरी डिफरेंशियल इक्वेशन I: नॉनस्टिफ प्रॉब्लम्स"। विशिष्ट उदाहरण ऑर्डर 7 (8) के फेहलबर्ग तरीके हैं।

इसके अलावा, अगर आप PYTHON में ODEs को हल कर रहे हैं, तो असिमुलो को देखें । मैं कुछ हफ़्ते से इस पैकेज के साथ खेल रहा हूँ और काफी खुश हूँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.