|
DER LJAPUNOV EXPONENT bei unbekanntem Prozess
|
Fuer die Berechnung des LE benoetigen wir die Abbildungsfunktion un deren Ableitung
bestimmen zu koennen.
Beispiel:
Gl 1) y(n+1)=a*y(n)*(1-y(n)) ist die logistische Gleichung,
Gl 2) d(y(n+1))/dy(n)=a*(1-2y(n)) ist deren Ableitung
Bei jedem Iterationsschritt setze ich y(n) jetzt in Gleichung 2) ein.
Bilde betrag und ln. Summiere alle Werte auf.
Am Schluss noch durch die Anzahl N teilen, also wie oft ich summiert habe und
fertig ist der Ljapunov Exponent.
Was mache ich aber wenn Gl 1) bzw Gl 2) nicht gegeben ist ?
Nur die Werte der Iteration ? Z.b. in Form einer Zahlenreihe f(n) ?
Dann muss ich numerisch differenzieren um den LE zu bestimmen ! Kein Hexenwerk
aber schon etwas kniffelig.
Besispiel der Zahlenreihe eines iterativen Prozessea
| n=0 | n=1 | n=2 | n=3 | n=4 | n=5 | ... |
| y0 | y1=f(y0) | y2=f(y1) | y3=f(y2) | y4=f(y3) | y5=f(y4) |
Die untzere Spalte stellt die Zahlenreihe eines iterativen Prozesses 1.ter
Ordnung dar.
Die Zahlenwerte der Tabelle haben hier zweierlei Bedeutung !!!
Einmal kann man sie als Funktionswerte betrachten: f(y) aber auch als Inputwerte
y(k+1)=f(y)
f(n) liegt mir vor. Ich kann die Tabelle numerisch differenzieren z.B mit der
einfachsten Naeherung
df/dn = (f(n+1)-f(n))/delta n
Ich benoetige aber df/dy.
df/dy=df/dn*dn/dy
Jetzt muss ich also dn/dy bestimmen. delta n ist konstant
Waere auch delta y konstant, dann waere es einfach: df/fy =c * df/dn. delta
y ist aber keineswegs konstant.
Wir muessen auch dy numerisch bestimmen.
Eine Naeherung der Ableitung in einer iterativen Zahlenfolge waere somit:
df=y(k+1)-y(k) dy=y(k)-y(k-1) => df/dy (y(k+1)-y(k)) / (y(k)-y(k-1))
Allerdings ist das Ergebnis wie die Abbildung zeigt fuer a>3 weniger berauschend.
Auch genauere Differenzen aendern daran nichts.
Warum ist das Ergebnis so schlecht ?
Zum einen kann dy gegen null gehen, oder unter die Rechnergenauigkeit.
Im periodischen Fall dagegen ist dy viel zu gross.
Was tun ?
Wie kann man sich ein Differential noch vorstellen ?
Man wackelt etwas am y Wert (dy) und schaut wie dann der Funktionswert wackelt
(df).
Dabei sollte dy ueber der Rechnergenauigkeit liegen aber so klein wie moeglich
sein.
Genau so muss man vorgehen.
Man darf sich von der Tabelle nicht die y Werte diktieren lassen, sondern muss
selbst nach passenden Werten suchen !
So funktioniert es :-)
Man nimmt den ersten Tabellenwert und sagt ok das ist mein y(0).
Nun sucht man die ganze Tabelle nach einem passenden y(m) durch, so dass |dy=|y(m)-y(0)|
minimal wird
aber groesser als ein epsilon, dass ueber die Rechnergenauigkeit vorgegeben
ist. z.B. epsilon=10e(-9)
Klingt kompliziert, sind aber nur ein paar Programmzeilen. Wie haben also eine
Stelle gefunden, die fuer das dy Wackeln am geeignesten ist.
In einer iterativen Tabelle findet man den Funktionswert eines y bei y+1. Also
auch das Funkrionswertwackeln Im Beispiel: |df/dx|= |y(m+1)-y(1)| / |y(m)-y(0)|
Quellcode in Maple


Vergleich Ljapunov Exponent mit analytischer und nurmerischer Ableitung:
Mit dem hier vorgestellten Algorithmus mit optimaler dy-Suche
koennen wir jetzt fuer beliebige Prozesse ohne Kenntnis der Uebertragunsfunktion
den Ljapunov Exponenten, also den Grad der Ordnung/Unordnung recht genau bestimmen.
Unter der Vorraussetzung , dass der gegebenen Wertetabelle eine Differenzengleichung
1 ter Ordnung zugrunde liegt.
| Hauptmenue | Eine Alternative zum Ljapunovexponenten |