Sources/Lexikon/Phasendiagramme
Bei Systemen mit zwei Zustandsgrößen können wir ihren Zustandsraum komplett in einem Phasendiagramm darstellen. Dabei wird bei mechanischen Systemen meist die Geschwindigkeit über dem Ort aufgetragen.
Während Bewegungen linearer Differentialgleichungen immer durch Eigenwerte und Eigenvektoren bestimmt sind, fehlt bei nichtlinearen Bewegungen solche einfachen Charakter-Eigenschaften. Phasendiagramme sind eine Möglichkeit, nichtlineare Bewegungen besser zu verstehen.
Beispiel eines konservativen Schwingers
Ein konservativer (hier der Einfachheit halber linearer) Schwinger hat die Bewegungsgleichung zweiter Ordnung
- .
Eine Lösung ist
- .
Das Diagramm
heißt Phasendiagramm.
Merkmale von Phasendiagrammen.
- Periodische Lösungen haben eine geschlossene Phasenkurven.
- für v>0 wächst u, für v<0 nimmt u ab.
Phasendiagramm der Rayleigh-Differentialgleichung
Die Rayleigh-Differentialgleichung ist ein klassischer Vertreter nichtlinearer Differentialgleichungen.
- .
Charakteristisch für das System ist: für
wird das System angefacht (es nimmt Energie auf), ansonsten wird es gedämpft (es dissipiert Energie). Das kann man gut im Phasendiagramm sehen:
Hier ist das Phasendiagramm für zwei Anfangspunkte dargestellt. Die beiden Lösungen laufen in einen stabilen Grenzzyklus hinein. Das System hat also eine periodische Lösung.
Maxima für die Darstellung des Richtungsfeldes
Mima bietet mit plotdf eine Funktion, die das Richtungsfeld der Differentialgleichung darstellt.
/* Maxima */
/* http://maxima.sourceforge.net/docs/manual/de/maxima_66.html */
/* ... for Rayleigh's nonlinear dgl */
eom : 'diff(phi,tau,2)-2*b*(1-('diff(phi,tau,1)/a)^2)*'diff(phi,tau,1) + phi = 0;
/* rewrite as first order dgl */
ode : [subst(['diff(phi,tau,1)=psi,'diff(phi,tau,2)='diff(psi,tau,1)], eom),
'diff(phi,tau,1) = psi];
field: solve(ode,['diff(phi,tau,1),'diff(psi,tau,1)])[1];
plotdf (subst(field,['diff(phi,tau,1),'diff(psi,tau,1)]),
[phi,psi],
[parameters,"a=1,b=1"],
[phi,-3,+3], [psi,-3,+3],
[sliders,"a=1:5, b=1:5"],
[trajectory_at,2,0], [direction,forward],
[nsteps,800]);
Die blauen Vektoren zeigen das Richtungsfeld der Differentialgleichung an.