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 Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Keycloak, OTP, FIDO

    11.06.2021

    Ich berichtete neulich über die Installation und erste Tests von Keycloak. Nun bin ich tiefer eingetaucht und habe die diversen Möglichkeiten untersucht, die Authentifizierung mittels zweiten Faktors sicherer zu machen.

    Weiterlesen

Neueste Artikel

  • Performanceverbesserungen in dWb+ 4.4pre2 build 11264

    In meinem letzten Artikel zum Thema dWb+ beschrieb ich ein neues Feature der Lösung - nunmehr wende ich mich einer wichtigen nichtfunktionalen Anforderung zu

    Weiterlesen
  • Flat Notes und Navidrome neu im Docker-Zoo

    Ein weiteres Self-Hosting-Experiment hat zu zwei neuen Diensten in meinem Docker-Zoo geführt...

    Weiterlesen
  • TPM per PKCS#11 in Java-Anwendungen nutzen

    Nach meinen Erfolgen mit einem TPM in der Version 1.2 zur Absicherung von SSH-Verbindungen wollte ich versuchen, seine Funktionalität in Java-Anwendungen zu integrieren...

    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, muss 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 Codeberg-Repositories findet man hier.