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