Bifurcation Diagramme und Gnuplot

22.12.2018

Ich beschäftige mich ja gerade wieder mehr mit Chaostheorie und nichtlinearen Differentialgleichungssystemen. Viele der Visualisierungen, die man hierzu auf dieser Seite finden kann, wurden mit Java3D oder Gnuplot erstellt. Für die Untersuchung von Bifurcation Diagrammen wollte ich etwas neues versuchen.

Die Darstellungen, die ich aus diversen Anwendungen heraus mittels Gnuplot erstellt habe, mussten bisher einen Umweg nehmen: die Anwendung schrieb ein Datenfile, das dann mittels Gnuplot zur Visualisierung weiterverarbeitet wurde. Das erschien mir als etwas zu mühselig - ich wollte die Graphik direkt aus Java heraus erzeugen.

Das hätte den Vorteil gehabt, dass ich ohne Neustart des Kommandos die berechnung mit geänderten Parametern aus der GUI heraus hätte neu starten könenn. Mein Mittel der Wahl, wenn es um kompexe Visualisierungen in Java-Anwendungen geht war bisher immer JFreeChart. Leider habe ich keine Möglichkeit gefunden, diese Komponente zur Visualisierung einer nicht- eindeutigen Abbildung zu benutzen: Bei Bifurcation Diagrammen gehören immer mehrere Y-Werte zu einem X-Wert.

Daher habe ich - bereits auf dem Schwenk zurück zum bewährten Vorgehen mit Gnuplot - überlegt, ob es nicht eine Java-Integration dafür gäbe. Eine kurze Suche ergab, dass es tatsächlich mehrere davon gibt: Ich benutzte JavaPlot und war extrem überrascht: Es bildet zwar vielleicht nicht alle Feinheiten von Gnuplot ab, aber es ist extrem vieles möglich. Die Integration ist denkbar einfach und die Visualisierungen sind auf dem gewohnten Gnuplot-Level.

Das erste Projekt war denn auch die Umsetzung einer GUI zur Analyse von Bifurcation Diagrammen (siehe Screenshot unten) - eventuell wird noch ein Plugin für die sQLshell damit folgen...

Artikel, die hierher verlinken

Bifurkationen im Lorenz-System

10.05.2020

Nachdem ich hier schon einmal kurz über Bifurkationen und Lyapunov-Exponenten berichtet habe, habe ich den Code dafür aufgeräumt und flexibilisiert - nun kann ich diese Werkzeuge auf beliebige Systeme anwenden: Das erste Beispiel war ja das Roessler-System, jetzt habe ich sie auf das Lorenz-System angewendet.

Gnuplot-Wrapper-Plugins

17.03.2019

Wie bereits in einem früheren Artikel angekündigt habe ich nunmehr zwei Plugins für die sQLshell fertiggestellt, die die Fähigkeiten von Gnuplot zur Visualisierung von numerischen Angaben gestatten

Vorhaben 2019

09.02.2019

Obwohl ich ja finde, dass der erste Januar jetzt nicht so ein spezieller Tag ist, schreibe ich mir doch um diesen Tag rum immer mal wieder ein "Listche", auf dem ich mir Vorhaben notiere, die ich mit mittlerem zeitlichen Horizont anzugehen gedenke.

Lyapunov-Koeffizienten

13.01.2019

Nachdem ich nun bereits Bifurcation Diagramme mittels Gnuplot visualisiert hatte, wollte ich auch Lyapunov Exponenten berechnen und darstellen...

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


Vor 5 Jahren hier im Blog

  • Brian May, Kerry Ellis & Vittorio Grigolo: Bohemian Rhapsody

    19.05.2019

    Eine andere Sicht auf den schönen Queen-Klassiker

    Weiterlesen...

Neueste Artikel

  • sQLshell, SQLite und Redis - oh my!

    Ich habe in letzter Zeit hin und wieder mit der sQLshell und SQLite herumgespielt - Neulich wurde ich gefragt, ob die sQLshell eigentlich auch Redis kann...

    Weiterlesen...
  • bad-certificates Version 3.0.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern wurde um eine weitere Kategorie von Zertifikaten erweitert

    Weiterlesen...
  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    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.