Van-der-Pol- und Chua-Systeme

26.02.2020

Ich wollte nach längerer Zeit wieder einmal in die Welt chaoticher Systeme eintauchen und habe mich dazu mit zwei Systemen beschäftigt...

Das Van-der-Pol-System ist ein relativ einfaches zweidimensionales System, das aus einer einzelnen Differentialgleichung zweiter Ordnung besteht. Screenshot Phasendiagramm Van-derPol-System

In dieser Abbildung kann man noch nicht so richtig erkennen, warum es dieses System auf die Liste der chaotischen geschafft hat - extrem hineingezoomt kann man aber ein ergodisches Verhalten zumindest erahnen:

Screenshot Phasendiagramm Van-derPol-System - stark vergrößerter Ausschnitt

Hier könnte man natürlich bereits wieder zweifeln, ob dieses Verhalten nicht ein Artefakt des benutzten numerischen Verfahrens darstellt...

Das zweite System, mit dem ich mich beschäftigt habe ist eigentlich kein System, sondern eine Klasse von solchen.

Screenshot Dreidimensionale Darstellung des Phasenraums eines Chua-Systems

Wunderbarerweise sehen wir hier einen Double-Scroll-Attraktor, wie ihn zum Beispiel auch das Lorenz-System aufweist.

Interessant ist dieses System auch aus einem anderen Grund: In der vorhergehenden Graphik war die Darstellung eigentlich vierdimensional: die Farbe zeigte den zeitlichen Verlauf der Berechnung an. Benutzt man statt dessen als vierte Dimension die Schrittweite des für die Berechnung benutzten numerischen Verfahrens zur Lösung von Differentialgleichungen (ich habe eines mit adaptiver Schrittweitensteuerung benutzt), so erkennt man Hotspots - Bereiche, in denen die Schrittweite besonders klein gewählt wurde (rot dargestellt). Lässt man das System für eine längere Zeitspanne berechnen und wählt man die Strichstärke der Visualisierung ein klein wenig größer, ergeben sich fast schon Flächen, auf denen diese Hotspots an gerade Linien oder Streifen erinnern:

Screenshot Dreidimensionale Darstellung des Phasenraums eines Chua-Systems mit farbig kodierter Schrittweite des numerischen Verfahrens

Dies kann man sich auch intuitiv hervorragend erklären: Dort knicken die beiden Scheiben in die Übergangsphase ab - dort ist also auch zu erwarten, dass die Krümmung der Trajektorien besonders groß wird. Da numerische Verfahren den Verlauf der exakten Lösung immer durch stückweise lineare Segmente approximieren würde dort der Fehler einer solchen Approximation daher besonders groß. Verfahren mit adaptiver Schrittweitensteuerung schätzen den Fehler und passen damit die Schrittweite an - daher ist in Gebieten relativ großer Krümmung eine relativ kleine Schrittweite zu erwarten!

Aktualisierung vom 26. Februar 2020

Das Verhalten dieses Systems kann nun auch interaktiv mittels Jupyter erforscht werden: Mein Projekt auf GitHub zum Thema Nichtlineare dynamische Systeme enthält dazu ein Notebook, das direkt über diesen Link in MyBinder gestartet werden kann.

Artikel, die hierher verlinken

Periodisch angeregter Duffing-Oszillator

26.02.2020

Ich habe bereits beim letzten Artikel über chaotiche Systeme angemerkt, dass ich beim Studieren der Literatur mehrere mir bislang unbekannte Systeme entdeckt habe - heute möchte ich ein weiteres näher vorstellen

Bouali-Systeme

26.02.2020

Nachdem ich mich vor kurzem wieder einmal der Welt chaoticher Systeme zugewandt hatte, habe ich beim Studieren der Literatur mehrere mir bislang unbekannte Systeme entdeckt, von denen ich eines hier näher vorstellen möchte

Fraktal zum Selberbauen

09.02.2020

Es ist zwar schon zu spät für Weihnachten, aber da das Experiment Weihnachtsbaumkugeln benötigt ist es vllt. besser, es zu einer zeit durchzuführen, wenn die Kugeln nicht am Baum gebraucht werden...

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Testdatengeneratoren als Microservices mit Docker

    02.11.2019

    Ich habe die verschiedenen Testdatengeneratoren mittels Microservices über HTTP zugänglich gemacht, um sie unabhängig von der verwendeten Programmiersprache und/ oder Version (Java 11) verwenden zu können.

    Weiterlesen...

Neueste Artikel

  • Generator für syntaktisch korrekten Python Code

    Nachdem es nun bereits seit einiger Zeit ein wenig stiller um meine diversen Generatoren für Testdaten geworden ist, habe ich über den Feiertag in Thüringen einen neuen begonnen.

    Weiterlesen...
  • ethersyncj - Java Bindings für Ethersync

    Ich wurde über einen Post auf Mastodon auf ein Projekt aufmerksam, das mir so interessant erschien, dass ich daraus meine neueste Fingerübung machte...

    Weiterlesen...
  • sQLshell Version 7.7pre8 build 10681

    Eine neue Version der sQLshell ist verfügbar!

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.