Matematické Fórum

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

  • Hlavní strana
  • » Fyzika
  • » Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

#1 30. 03. 2021 10:09 — Editoval FliegenderZirkus (30. 03. 2021 11:28)

FliegenderZirkus
Příspěvky: 544
Škola: RWTH Aachen
Reputace:   25 
 

Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

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 $x^2-y^2-l=0$ přepsat jako $u^2+v^2+\lambda\frac{l^2}{m}-gy=0$? Chápu, že $\lambda$ 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 $x_0, y_0, \dot{x}_0=u_0, \dot{y}_0=v_0$ 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:
$\frac{dy_1}{dt} = C_1+y_3 y_1$
$\frac{dy_2}{dt} = C_2+y_3 y_2$
$f(y_1, y_2, y_3)= 0$,
kde počáteční podmínka $y_1(0), y_2(0), y_3(0)$ vždy splňuje vazbovou rovnici, takže vlastně jde o jednodušší problém než to kyvadlo...

Offline

 

#2 30. 03. 2021 12:04

MichalAld
Moderátor
Příspěvky: 4886
Reputace:   125 
 

Re: Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

Nechceš raději napsat, jakou soustavu potřebuješ reálně řešit, než vymýšlet, jak vyrobit rovnici matematického kyvadla v proměnných x, y ?

Offline

 

#3 30. 03. 2021 17:30

MichalAld
Moderátor
Příspěvky: 4886
Reputace:   125 
 

Re: Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

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ě

[mathjax]m\vec{X}''=\vec{F}=\vec{F}_G + \vec{F}_V[/mathjax]

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

[mathjax]x^2+y^2=r^2[/mathjax]

což můžeme napsat také jako

[mathjax]\vec{X} \cdot\vec{X}=r^2[/mathjax]

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

[mathjax]\vec{F} \cdot\vec{ds}=0[/mathjax]

tedy

[mathjax]\vec{F_v} \cdot \vec{v} \cdot dt=0[/mathjax]

což může být splněno jen tehdy, když

[mathjax]\vec{F_v} \cdot \vec{v} =0[/mathjax]

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í

[mathjax]\phi(r)=0[/mathjax]

tak vazební síly určíme jako gradient této funkce, tedy

[mathjax]\vec{F_V}=\lambda \nabla\phi(r)[/mathjax]

Je tam ta [mathjax]\lambda[/mathjax] kterou musíme v rámci řešení určit taky, protože to že má být vazebná síla kolmá ještě neurčuje její velikost, jen směr. Takže obecně je třeba řešit soustavu

[mathjax]m\vec{X}''=\vec{F}_G + \lambda \nabla \phi(\vec{X})[/mathjax]
[mathjax]\phi(\vec{X})=0[/mathjax]

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

[mathjax]\vec{X}_{n+1}=f(\vec{X}_{n})[/mathjax]

Tady nám ovšem výsledek závisí i na tom lambda, tedy

[mathjax]\vec{X}_{n+1}=f(\vec{X}_{n}, \lambda)[/mathjax]

a musíme ho najít takové, aby nám platila vazbová podmínka
[mathjax]\phi(\vec{X}_{n+1})=0[/mathjax]

Víc ti asi neporadím, já tomuhle úplně nerozumím, nikdy jsem nic takového neřešil.

Offline

 

#4 30. 03. 2021 21:46

FliegenderZirkus
Příspěvky: 544
Škola: RWTH Aachen
Reputace:   25 
 

Re: Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

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

 
  • Hlavní strana
  • » Fyzika
  • » Kyvadlo v kartézských souřadnicích (algebro-diferenciální rovnice)

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson