मेरे पास एक साधारण दूसरे ऑर्डर ओडीई के लिए एक सजातीय समाधान है, जो जब मैं सिम्पी का उपयोग करके प्रारंभिक मानों के लिए हल करने का प्रयास करता हूं, तो वही समाधान देता है। इसे y (0) और y '(0) के लिए प्रतिस्थापित करना चाहिए और स्थिरांक के बिना समाधान उत्पन्न करना चाहिए, लेकिन नहीं। समीकरण स्थापित करने के लिए कोड यहां दिया गया है (यह एक वसंत संतुलन समीकरण है, के = वसंत स्थिरांक और एम = द्रव्यमान)। कुछ अनावश्यक प्रतीक जो मैं कहीं और उपयोग करता हूं, क्षमा करें।सिम्पी दूसरा ऑर्डर ode
%matplotlib inline
from sympy import *
m,k, x,t,s,T, omega,A,B = symbols('m k x t s T omega A B',float=True)
a = symbols('a', positive=True)
f,y,g,H,delta,S=symbols('f y g H delta S',cls=Function)
Eq1 = Eq(m*diff(y(t),t,2)+k*y(t))
Eq1
परिणाम (सही) है: $ y {\ छोड़ दिया (टी \ right)} = C_ {1} ई^{- टी \ sqrt {- \ frac {कश्मीर} {मीटर}}} + सी_ {2} ई^{टी \ sqrt {- \ frac {k} {m}}} $
वाई (टी) = सी 1e^(- टी√ (-के/एम)) + सी 2e^(t√ (-km)), जिसमें y_n = c1.cos (√ (-k/m) t) + c2.sin (√ (-k/m) t) है।
जब यह समीकरण विश्लेषणात्मक रूप से हल किया जाता है, और omega = sqrt (-k/m) के साथ साइन और कोसाइन का उपयोग करके समाधान में परिवर्तित होता है, तो c1 = y (0) और c2 = y '(0)/omega। इसलिए, जबकि समाधान आंशिक रूप से जटिल संख्याओं को शामिल कर रहा है, निश्चित रूप से, डिस्लोव ऊपर के रूप में मूल समरूप समीकरण देता है। y पर स्तोत्र का मूल्यांकन करने के मेरे कोड (0) और वाई '(0) है:
Eq1_soln_IVP =dsolve(Eq1,y(t),x0=0, ics={y(0): a, y(t).diff(t).subs(t, 0): a})
मुझे खुशी है कि dsolve बस विश्लेषणात्मक इस आईवीपी को संभालने में सक्षम नहीं हो सकता है, लेकिन अगर यह इतना है कि मैं आश्चर्य होगा इसकी दूसरी क्षमता के आधार पर। इस समस्या के बारे में कोई मदद और इसलिए अन्य विश्लेषणात्मक दूसरी ऑर्डर समस्याओं को हल किया जा सकता है, इसकी सराहना की जाएगी। सवाल का थक्का के आसपास है:
ics={y(0): a, y(t).diff(t).subs(t, 0): a}
तो समाधान मैंने कोशिश की है, जो इस बात की पुष्टि Dietrich, था:
#Create IVP for y(0)
expr = Eq(Eq1_soln_IVP.rhs.subs(sqrt(-k/m),I*omega),y(0))
#Create IVP for y'(0)
expr2 = Eq(diff(y(t),t).subs(t,0),expr.lhs.diff(t))
#Maps all free variables and solves for each where t = 0.
solve([expr.subs(t,0),expr2.subs(t,0)])
हालांकि यह है "एक" समाधान है, इसका एक बहुत ही जटिल तरीका लगता है y (टी) = y (0) cos (omega * t - phi) ढूंढ रहा है ... जो इस सॉल्वर की कुछ सीमाओं के बारे में निहित प्रश्न का उत्तर देता है और इस बारे में सीधा सवाल है कि कैसे ics तर्क हल किया गया है। धन्यवाद।
धन्यवाद 4720 मुद्दे को नोट करने के लिए डायट्रिच और केवल एक ही कामकाज की स्वतंत्र पुष्टि के लिए मैं निर्माण कर सकता हूं। मेरी प्रशंसा के साथ उत्तर दिया। –
तो यहां गणितीय मुद्दा यह है कि सॉल्वर यूलर समीकरणों का उपयोग करके प्रतिस्थापन का उपयोग नहीं करता है। M.cos (\ omega t) + ni sin (\ omega t) में समाधान में e^{\ pm i \ omega t} शर्तों को चालू करना इन समीकरणों के वास्तविक और भौतिक अर्थ को खोजने के लिए महत्वपूर्ण है, इस मामले में अंत में निलंबित वजन वाला एक वसंत जहां y (टी) एक विच्छेदन विस्थापन है। Sympy। ट्रिगर फॉर्म के साथ साजिश copes लेकिन जटिल रूपों के साथ बिल्कुल नहीं, प्रभावी दृश्यता को छोड़कर भी। –
यह 'एम' और' के' के संकेतों पर निर्भर करता है। यदि आप 'एम, के = sy.symbols (' एम के ', सकारात्मक = सही) लिखते हैं, तो आपको वास्तविक (भौतिक) समाधान मिल जाएगा। बहुत सारे अनुप्रयोग हैं, जहां जटिल समाधान का उपयोग किया जाता है। बीटीडब्ल्यू, यदि आप गणित या मेपल का उपयोग करते हैं, तो आपको एक ही समस्या का सामना करना पड़ेगा। – Dietrich