Lorenz-Gleichung

image

Als einer der ersten hat um 1960 Edward Lorenz, ein Meteorologe am Massachusets Institut of Technology (MIT), erkannt, daß Iteration Chaos erzeugt. Er benutzte dort einen Computer, um ein einfaches nichtlineares Gleichungssystem zu lösen, das ein simples Modell der Luftströmungen in der Erdatmosphäre simulierte.

Das System funktioniert nach folgender einfacher Formel:

  • dx/dt = ςx + ςy
  • dy/dt = ρx - y - xz
  • dz/dt = γz + xy

In unserem Beispielprogramm (wie auch in der Lorenzschen Originalgleichung) sind ς = 10, ρ = 28 und γ = 8/3. Die Parameter der Gleichung sind aus Stew1993.

Wir benutzen zur Darstellung der dreidimensionalen Kurve mit Processing einen simplen Trick: rot ist die Projektion in die x-y-Ebene und blau die Projektion in die x-z-Ebene.

Processing-Quellcode

// Konstanten Deklaration:
float SIGMA = 10.0;
float RHO   = 28.0;
float GAMMA  = 8.0/3.0;
float STEP  = 0.01;
int MAXSTEP = 50;
// Die Skalierungsfaktoren in x- und y-Richtung:
float XFAC  =  6.0;
float YFAC  =  4.5;

// Variablen-Initialisierung:
float dx, dy, dz, x, y, z, xOld, yOld, zOld, t;

void setup() {
  size(400, 400);
  background(0, 0, 0);
  noLoop();
}

void draw() {
  xOld = 0.01; yOld = 0.01; zOld = 0.0; t = 0;

  while (t < MAXSTEP) {
    // Die Berechnung nach dem Eulerverfahren (Polygonzugmethode):
    dx = SIGMA*(yOld - xOld)*STEP;
    dy = (-xOld*zOld + RHO*xOld - yOld)*STEP;
    dz = (xOld*yOld - GAMMA*zOld)*STEP;
    x = xOld + dx;
    y = yOld + dy;
    z = zOld + dz;

    // Dann das Kurvensegment skalieren und zeichnen:
    // x-y-Projektion in Rot:
    stroke(255, 0, 0);
    line((int)(XFAC*xOld) + 200, 250 - (int)(YFAC*yOld), (int)(XFAC*x) + 200, 250 - (int)(YFAC*y));

    // x-z-Projektion in Blau:
    stroke(0, 0, 255);
    line((int)(XFAC*xOld) + 200, 250 - (int)(YFAC*zOld), (int)(XFAC*x) + 200, 250 - (int)(YFAC*z));

    t += STEP;
    xOld = x; yOld = y; zOld = z;

Das Programm ist ein Beispiel dafür, wie man schon mit einfachen Mitteln in Processing ein dynamisches System berechnen und visualisieren kann.

In diesem Wiki

Links

Literatur


    





Sie sind hier: StartMathematikBeispiele → lorenzprocessing.txt


Suche

Werkzeuge