Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
talit:python_advanced_problems [2025-09-01 12:13] – sca | talit:python_advanced_problems [2025-09-15 11:17] (aktuell) – [Auftrag] sca | ||
---|---|---|---|
Zeile 264: | Zeile 264: | ||
=== Auftrag === | === Auftrag === | ||
- | In Jupiter-Notebook: | + | In Jupiter-Notebook: |
1. **Integriere die Bewegungsgleichungen** des Doppelpendels mit odeint, genau so, wie du es bereits vom Harmonischen Oszillator kennst. Stelle die beiden Winkel $\theta\_1$ und $\theta\_2$ als Funktionen der Zeit dar. Verzichte hier auf AI. | 1. **Integriere die Bewegungsgleichungen** des Doppelpendels mit odeint, genau so, wie du es bereits vom Harmonischen Oszillator kennst. Stelle die beiden Winkel $\theta\_1$ und $\theta\_2$ als Funktionen der Zeit dar. Verzichte hier auf AI. | ||
Zeile 315: | Zeile 315: | ||
{{ : | {{ : | ||
- | Programmiere den Lorenz-Attraktor und stelle das Bild schön dar. Ob das Bild auf 1x oder fortlaufend angezeigt wird, ist dir überlassen. Erstelle dazu ein Jupiter-Notebook: | + | Programmiere den Lorenz-Attraktor und stelle das Bild schön dar. Ob das Bild auf 1x oder fortlaufend angezeigt wird, ist dir überlassen. Erstelle dazu ein Jupiter-Notebook: |
===== - Eigener DGL Solver ===== | ===== - Eigener DGL Solver ===== | ||
Zeile 375: | Zeile 375: | ||
==== Aufträge ==== | ==== Aufträge ==== | ||
- | In Jupiter-Notebook: | + | In Jupiter-Notebook: |
=== Auftrag 1 === | === Auftrag 1 === | ||
Zeile 389: | Zeile 389: | ||
===== - Gravitationspotenzial ===== | ===== - Gravitationspotenzial ===== | ||
- | Gravitationspotenzial einer homogenen Kugel (Masse $m_k$, Radius $R_k$ an Position $(x_k, | + | **Gravitationspotenzial einer homogenen Kugel** (Masse $m_k$, Radius $R_k$ an Position $(x_k, |
$$\Phi_k(x, | $$\Phi_k(x, | ||
- | $$\Phi_k(x, | + | $$\Phi_k(x, |
wobei $r = \sqrt{(x-x_k)^2 + (y-y_k)^2}$. | wobei $r = \sqrt{(x-x_k)^2 + (y-y_k)^2}$. | ||
- | Gravitationspotential von $n$ solcher | + | **Gravitationspotential von $n$ homogenen Kugeln**: |
$$\Phi(x,y) = \sum_{k=1}^{n} \Phi_k(x, | $$\Phi(x,y) = \sum_{k=1}^{n} \Phi_k(x, | ||
- | Da das Gravitationspotenzial an vielen Punkten berechnet werden soll, macht es Sinn [[python_advanced& | + | Da das Gravitationspotenzial an vielen Punkten berechnet werden soll, macht es Sinn **[[talit:python_advanced# |
- | In Jupiter-Notebook: | + | Fun-Fact: Aus dem Gravitationspotenzial kann wortwörtlich die **Gravitationskraft** abgeleitet werden. Die Gravitationskraft, |
+ | $$\vec{F}_j = - m \cdot \nabla \Phi$$ | ||
+ | Dabei ist $$\nabla \Phi = \begin{pmatrix} \partial_x \Phi \\ \partial_y \Phi \end{pmatrix}$$ | ||
+ | wobei $\partial_x \Phi$ und $\partial_y \Phi$ die Ableitung von $\Phi$ nach $x$, resp. nach $y$ ist. | ||
+ | |||
+ | ==== Auftrag ==== | ||
+ | |||
+ | In Jupiter-Notebook: | ||
+ | |||
+ | **Auftrag I:** Visualisiere das Gravitationspotenzial von $n$ homogener Kugeln (konstante Dichte), welche sich in einer Ebene (also in 2D) befinden. Verwende AI nur für die Anzeige des Potenzials. | ||
+ | |||
+ | **Auftrag II:** Implementiere nun die Dynamik: Die Massen sollen sich aufgrund ihrer Gravitation bewegen. Das Gravitationspotenzial soll sich also fortlaufend ändern. Schön wäre, wenn man oben die Massen und unterhalb das Potenzial sehen würde. | ||
+ | |||
+ | ===== - Game of Life ===== | ||
+ | |||
+ | {{ : | ||
- | **Auftrag I:** Visualisiere das Gravitationspotenzial von $n$ homogener Kugeln (konstante Dichte), welche sich in einer Ebene (also in 2D) befinden. | ||
- | **Auftrag II:** Implementiere nun die Dynamik: Die Massen sollen sich aufgrund ihrer Gravitation bewegen. Das Gravitationspotenzial soll sich also fortlaufend ändern. Schön wäre, wenn man oben die Massen und unterhalb das Potenzial sehen würde. |