Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj,
Pohybová rovnice matematického kyvadla se obvykle píše v polárních souřadnicích, což je samozřejmě velmi výhodné kvůli r=konst. Jedinou neznámou tedy zůstane úhel výchylky, pro který jde napsat jednu obyčejnou diferenciální rovnici. Kdybychom ale místo toho pohybové rovnice formulovali v kartézských souřadnicích, budou neznámé dvě (x, y), které musí splňovat vazbu konstantní délky kyvadla, tj. vznikle algebro-diferenciální rovnice (DAE).
V praxi řeším podobnou, byť o něco složitější soustavu numericky v Pythonu. Zkoušel jsem různé přístupy, ale bohužel vůbec nerozumím teorii, takže mám dost pomalý a málo robustní kód. Zkouším si tedy aspoň základně doplnit vzdělání a vrátil jsem se k příkladu toho kyvadla. Tady je příklad jak lze úlohu vyřešit pomocí knihovny scikit.odes:
https://github.com/bmcage/odes/blob/mas … 0DAE.ipynb
Věděl byste někdo, proč je v tomto příkladu potřeba vazbu přepsat jako
? Chápu, že
souvisí se silou v kyvadle, takže dává smysl, aby vystupovala ve vazbové rovnici, ale je to nutné? Když jsem zkoušel ten příklad přepsat s tou první vazbou, tak nefunguje, ale nevím právě, jestli je to jen implentací té knihovny, nebo právě nějakým pricipiálním neporozuměním teorie.
EDIT: Příklad toho kyvadla je rozebraný na Wikipedii. Chápu z toho, že záleží na tom, jak je zadaná počáteční podmínka. Měl jsem za to, že se uvažuje a předpokládá se, že ta podmínka je konzistentní s vazbami. Pokud tohle splním, můžu si vybrat kterou z těch vazeb použiju?
Ta skutečná úloha kterou řeším je v podstatě tohle:,
kde počáteční podmínka vždy splňuje vazbovou rovnici, takže vlastně jde o jednodušší problém než to kyvadlo...
Offline
Jinak pokud jde o samotné "kyvadlo v kartézských souřadnicích" ... ony ty zobecněné souřadnice se nepoužívají jen tak pro nic za nic. Ale samozřejmě, lze to počítat i bez nich, dokonce to na první pohled vypadá jednodušeji. Prostě
Samozřejmě se to musí rozepsat do složek. Fg je gravitační síla, to je snadné, Fgx=0, Fgy=mg
Jediný problém je určit velikost vazebné síly Fv tak, aby bod vykonával požadovaný pohyb po kružnici. Čímž se ovšem dostáváme k analytické mechanice, a zjistíme, že to není zas až tak jednoduché, jak by mohlo na první pohled vypadat.
Víme samozřejmě, že bod se musí pohybovat po kružnici, tedy jeho poloha musí splňovat vztah
což můžeme napsat také jako
Jenže to nám k určení vazebních sil ještě nestačí. Protože vazebná síla má dvě složky Fvx a Fvy, a k tomu bychom potřebovali 2 rovnice.
No, teď už se dostávám do oblasti, kde jsi nejsem úplně jistý, nakolik správně tomu vlastně rozumím. Takže nic co napíšu dál (a možná ani nic co padlo dosud) nemusí být úplně pravda. Ale ... no, musí se použít tzv. d'Alembertův princip, který říká, že vazebné síly nekonají práci. Tedy, že
tedy
což může být splněno jen tehdy, když
To máme dvě rovnice, ze kterých už bychom složky vazebné síly měli dokázat vyjádřit - jako funkci polohy a rychlosti. Zkoušel jsem to nějak udělat, ale vychází mi to dost složitě, a navíc si nejsem úplně jistý, jestli se do toho nemusí nějak zamontovat i ta gravitační síla...takže to sem raději ani psát nebudu.
Obecně se tento přístup nazývá Lagrangeovy rovnice I. druhu. Ale na české wiki o tom moc teda není.
Jestli tomu rozumím správně, tak z d'Alembertova principu plyne, že vazebné síly musí být kolmé na tu vazbu, a tudíž máme li vazbu popsanou funkcí
tak vazební síly určíme jako gradient této funkce, tedy
Je tam ta
Já samozřejmě úplně nevím, jak by se tohle mělo numericky řešit. Soustava dif. rovnic se numericky řeší tak, že pomocí vhodné metody (jako třeba Eulerovy, nebo Runge-Kuttovy) převede na rekurentní výraz
Tady nám ovšem výsledek závisí i na tom lambda, tedy
a musíme ho najít takové, aby nám platila vazbová podmínka
Víc ti asi neporadím, já tomuhle úplně nerozumím, nikdy jsem nic takového neřešil.
Offline
Je pravda, že jsem trochu pomíchal dva dotazy do jednoho tématu, ale i tak mi ten příklad s kyvadlem připadá relevantní. V podstatě se ptám na to, kdy je potřeba derivovat vazbovou rovnici a proč.
Děkuju za rozpracování toho kyvadla. Jestli se nepletu, tak to, že síla v závěsu má dvě složky, není velký problém, protože ze souřadnic (x, y) lze vyjídřit úhel kyvadla a tím pádem i směr síly, což je myslím ta chybějící rovnice.
Vlastní implementaci nějakého řešiče bych se nejradši vyhnul, což je právě důvod, proč zkouším ten scikit.odes.
Offline
Stránky: 1