Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
narzedzia:pendulum_py [2025/05/07 15:54] – administrator | narzedzia:pendulum_py [2025/06/03 10:28] (aktualna) – administrator | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ===== Symulator Wahadła Podwójnego ===== | + | ===== PY: Symulator Wahadła Podwójnego ===== |
+ | |||
+ | {{ : | ||
- | {{ : | ||
- | {{ : | ||
To nie jest zwykłe wahadło — to **wahadło podwójne** (ang. _double pendulum_), jeden z najprostszych układów fizycznych pokazujących zjawisko **deterministycznego chaosu**. | To nie jest zwykłe wahadło — to **wahadło podwójne** (ang. _double pendulum_), jeden z najprostszych układów fizycznych pokazujących zjawisko **deterministycznego chaosu**. | ||
Linia 17: | Linia 17: | ||
Równania ruchu pochodzą z zasad dynamiki Newtona albo bezpośrednio z mechaniki Lagrange’a: | Równania ruchu pochodzą z zasad dynamiki Newtona albo bezpośrednio z mechaniki Lagrange’a: | ||
- | %% | + | $$ |
\begin{align*} | \begin{align*} | ||
\delta &= \theta_2 - \theta_1 \\ | \delta &= \theta_2 - \theta_1 \\ | ||
Linia 23: | Linia 23: | ||
\ddot{\theta}_2 &= \frac{-(m_1 + m_2) l_1 \omega_1^2 \sin\delta + (m_1 + m_2) g \sin\theta_1 \cos\delta - m_2 l_2 \omega_2^2 \sin\delta \cos\delta - (m_1 + m_2) g \sin\theta_2}{\left( \frac{l_2}{l_1} \right)((m_1 + m_2) l_1 - m_2 l_1 \cos^2\delta)} | \ddot{\theta}_2 &= \frac{-(m_1 + m_2) l_1 \omega_1^2 \sin\delta + (m_1 + m_2) g \sin\theta_1 \cos\delta - m_2 l_2 \omega_2^2 \sin\delta \cos\delta - (m_1 + m_2) g \sin\theta_2}{\left( \frac{l_2}{l_1} \right)((m_1 + m_2) l_1 - m_2 l_1 \cos^2\delta)} | ||
\end{align*} | \end{align*} | ||
- | %% | + | $$ |
Wygląda dziko? Tak właśnie wygląda fizyka nieliniowa :) | Wygląda dziko? Tak właśnie wygląda fizyka nieliniowa :) | ||
Linia 136: | Linia 136: | ||
==== Kod programu ==== | ==== Kod programu ==== | ||
- | <code python> | + | <code python |
import numpy as np | import numpy as np | ||
import matplotlib.pyplot as plt | import matplotlib.pyplot as plt |