Narzędzia użytkownika

Narzędzia witryny


narzedzia:pendulum_py

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
narzedzia:pendulum_py [2025/05/07 15:47] administratornarzedzia:pendulum_py [2025/05/16 18:48] (aktualna) administrator
Linia 1: Linia 1:
-===== Symulator Wahadła Podwójnego =====+===== PY: Symulator Wahadła Podwójnego =====
  
 {{ :narzedzia:pednulum.gif?500 |Podwójne wahadło w akcji}} {{ :narzedzia:pednulum.gif?500 |Podwójne wahadło w akcji}}
-{{ :narzedzia:double_pendulum.py |}}+
  
 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**.  
 Dwa ramiona, dwie masy, grawitacja — a efekt to piękny, nieprzewidywalny taniec, w którym drobna zmiana kąta startowego potrafi całkowicie zmienić przyszły ruch. Dwa ramiona, dwie masy, grawitacja — a efekt to piękny, nieprzewidywalny taniec, w którym drobna zmiana kąta startowego potrafi całkowicie zmienić przyszły ruch.
- 
-Zobacz więcej:  
- 
-[https://pl.wikipedia.org/wiki/Chaos_deterministyczny Chaos deterministyczny] 
- 
-[https://en.wikipedia.org/wiki/Double_pendulum Double Pendulum (Wikipedia)] 
  
 === Co tu się właściwie dzieje? === === Co tu się właściwie dzieje? ===
Linia 51: Linia 45:
 - rozwiązanie daje **metoda Rungego-Kutty 4. rzędu (RK4)**. - rozwiązanie daje **metoda Rungego-Kutty 4. rzędu (RK4)**.
  
----+----
  
 === Mechanika Lagrange’a === === Mechanika Lagrange’a ===
Linia 89: Linia 83:
 Podstawiamy do $L = T - V$, a następnie wstawiamy do równań Lagrange’a. W efekcie otrzymujemy dwa nieliniowe równania różniczkowe drugiego rzędu, które potem przekształcamy do układu równań pierwszego rzędu. Podstawiamy do $L = T - V$, a następnie wstawiamy do równań Lagrange’a. W efekcie otrzymujemy dwa nieliniowe równania różniczkowe drugiego rzędu, które potem przekształcamy do układu równań pierwszego rzędu.
  
----+----
  
 === Metoda Rungego-Kutty 4. rzędu (RK4) === === Metoda Rungego-Kutty 4. rzędu (RK4) ===
Linia 115: Linia 109:
 W naszym kodzie użyto `solve_ivp()` z biblioteki `scipy`, która domyślnie używa wersji **RK45** — adaptacyjnej metody z kontrolą błędu i dynamicznym doborem kroku. W naszym kodzie użyto `solve_ivp()` z biblioteki `scipy`, która domyślnie używa wersji **RK45** — adaptacyjnej metody z kontrolą błędu i dynamicznym doborem kroku.
  
----+----
  
 === Dlaczego to działa === === Dlaczego to działa ===
Linia 127: Linia 121:
  
  
----+----
  
 === Linki dla ciekawskich === === Linki dla ciekawskich ===
-  * [https://en.wikipedia.org/wiki/Lagrangian_mechanics Mechanika Lagrange’a (EN)] +  * [[https://en.wikipedia.org/wiki/Lagrangian_mechanicsMechanika Lagrange’a (EN)]
-  * [https://en.wikipedia.org/wiki/Double_pendulum#Equations_of_motion Równania ruchu dla podwójnego wahadła (EN)+  * [[https://pl.wikipedia.org/wiki/Chaos_deterministyczny| Wikipedia: Chaos deterministyczny]
-  * [https://pl.wikipedia.org/wiki/Wahad%C5%82o_dwuprzegubowe Wahadło dwuprzegubowe (PL)+  * [[https://en.wikipedia.org/wiki/Double_pendulum| Wikipedia: Double Pendulum]
-  * [https://myphysicslab.com/pendulum/double-pendulum-en.html Interaktywny model online (MyPhysicsLab)] +  * [[https://myphysicslab.com/pendulum/double-pendulum-en.htmlInteraktywny model online (MyPhysicsLab)]
-  *   * [https://www.myphysicslab.com/ MyPhysicsLab — symulacje fizyczne online] +  * [[https://www.myphysicslab.com/MyPhysicsLab — symulacje fizyczne online]
-  * [https://demonstrations.wolfram.com/topic.html?topic=Classical+Mechanics Wolfram Demonstrations: Classical Mechanics] +  * [[https://demonstrations.wolfram.com/topic.html?topic=Classical+MechanicsWolfram Demonstrations: Classical Mechanics]
-  * [https://people.maths.ox.ac.uk/suli/numerical_analysis/ Lecture notes: Numerical Analysis, Oxford]+  * [[https://people.maths.ox.ac.uk/suli/numerical_analysis/Lecture notes: Numerical Analysis, Oxford]
 + 
 +----
  
 +==== Kod programu ====
  
-<code python>+<code python double_pendulum.py>
 import numpy as np import numpy as np
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
narzedzia/pendulum_py.1746625664.txt.gz · ostatnio zmienione: 2025/05/07 15:47 przez administrator