Problem mit DGL Lotka.Volterra

06/08/2011 - 08:30 von carlox | Report spam
Hallo allerseits,
gegeben ist das DGL-System von Lotka-Volterra

x'(t) = k1 * x(t) - k2 * x(t ) * y(t)
y'(t) = k3 * x(t ) * y(t) - k4 * y

Dieses habe ich wie folgt diekretisiert, um damit ein einfaches
Demoprogramm zu schreiben:

dx = dt * (k1 * x - k2 * x * y);
dy = dt * (k3 * x * y - k4 * y);
x = x + dx;
y = y + dy;

Ich habe dann z.B. folgende Werte gewàhlt:
dt = 0.001;
durchschnittliche Vermehrungsrate k1 (in Beutetiere / Zeitabschnitt)
k1=0.9;
durchschnittliche Sterberate k2 (in Beutetiere pro Zeitabschnitt und
Raeuber) :
k2=0.01;
durchschnittliche Vermehrungsrate k3 (der Raeuber pro Zeitabschnittr
pro Beutetier)
k3=0.01;
urchschnittliche Sterberate k4 (der Raeuber / Jahr) = 7
k4 = 0.001;
Anfangswert fuer x und y
x = 200;
y = 10;

Leider bekomme ich keine "kreisfoermigen" Kurven hin, egal was ich
fuer Werte waehle.

1) Welche Werte muss ich waehlen, damit ich "kreisfoermige" Kurven
bekomme? (x>=0 und y >=0)

2) Kann man die Lösung der DGL explizit angeben?
Wenn ja, wie heisst die exakte Lösung?

mfg
Ernst
 

Lesen sie die antworten

#1 Thomas Nordhaus
06/08/2011 - 09:18 | Warnen spam
Am 06.08.2011 08:30, schrieb Ernst Baumann:
Hallo allerseits,
gegeben ist das DGL-System von Lotka-Volterra

x'(t) = k1 * x(t) - k2 * x(t ) * y(t)
y'(t) = k3 * x(t ) * y(t) - k4 * y



Schau mal bei wikipedia nach. Wenn die k1 bis k4 positiv sind sollten
alle Lösungen mit positiven Anfangsbedingungen periodisch sein. Probier
mal mit Startwerten in der Nàhe des nicht-trivialen Fixpunktes.

Dieses habe ich wie folgt diekretisiert, um damit ein einfaches
Demoprogramm zu schreiben:

dx = dt * (k1 * x - k2 * x * y);
dy = dt * (k3 * x * y - k4 * y);
x = x + dx;
y = y + dy;

Ich habe dann z.B. folgende Werte gewàhlt:
dt = 0.001;
durchschnittliche Vermehrungsrate k1 (in Beutetiere / Zeitabschnitt)
k1=0.9;
durchschnittliche Sterberate k2 (in Beutetiere pro Zeitabschnitt und
Raeuber) :
k2=0.01;
durchschnittliche Vermehrungsrate k3 (der Raeuber pro Zeitabschnittr
pro Beutetier)
k3=0.01;
urchschnittliche Sterberate k4 (der Raeuber / Jahr) = 7
k4 = 0.001;
Anfangswert fuer x und y
x = 200;
y = 10;

Leider bekomme ich keine "kreisfoermigen" Kurven hin, egal was ich
fuer Werte waehle.



Kreisförmig sind sie auch nicht, geschlossen halt. Spiralen sie auf den
nicht-trivialen Fixpunkt zu? Dann kann das mit dem
Diskretisierungsansatz zu tun haben. Du fügst quasi "Reibung" hinzu. Was
man braucht sind ODE-Löser die für konservative Systeme wie
Lotka-Volterra geeignet sind.



1) Welche Werte muss ich waehlen, damit ich "kreisfoermige" Kurven
bekomme? (x>=0 und y>=0)



Alle.

2) Kann man die Lösung der DGL explizit angeben?



Man kann zu mindest ein sog. erstes Integral finden. Das reduziert die
Komplexitàt. Wenn man die Lösungen tatsàchlich mit Hilfe elementarer
Funktionen ausdrücken kann - was ich bezweifle -, dann dürften die
Formeln derart kompliziert sein, dass man damit nicht viel anfangen kann.

Wenn ja, wie heisst die exakte Lösung?




Wie gesagt... Im Buch über Ordinary Differential Equations von
Hirsch/Smale (ein Klassiker) ist eine schöne mathematische Abhandlung
von Lotka-Volterra.

mfg
Ernst





Thomas Nordhaus

Ähnliche fragen