11A.1 Lotka-Volterra, Differentialgleichung numerisch lösen, Räuber-Beute
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 64 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Germany: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/10323 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Producer |
Content Metadata
Subject Area | |
Genre |
00:00
Beta functionDerived set (mathematics)NumberFixpunktNichtlineares GleichungssystemOrder of magnitudeMortality rateLösung <Mathematik>ZahlLogical constantZeitintervallLength of stayDifferential equationZahlenangabeStationary stateMaß <Mathematik>ArithmeticTerm (mathematics)Numerical analysisComputer animation
09:15
CountingBeta functionNumberZahlNumerical analysisFactorizationDerived set (mathematics)CausalityLebensdauerFixpunktComputer programmingComputer animation
10:09
SummationEquationEuler methodNumerical analysisZahlFixpunktSchwankungDifferential equationSineSineFrequencyDerived set (mathematics)CurveDiagramFactorizationPhysikMusical ensembleEquationPhysical systemOscillationState of matterNichtlineares GleichungssystemComputer animation
Transcript: German(auto-generated)
00:01
Ein Beispiel zur numerischen Lösung von Differentialgleichungen. Netterweise hatten wir letztes Mal Lotka-Volterra einfach mal hingeschrieben, wie denn das so funktionieren muss mit Beutetieren und Raubtieren. Und ich hatte schon gesagt, man kann nicht mit den Standardfunktionen Lösungen hinschreiben.
00:23
Das ist natürlich ein idealer Kandidat, um es mal numerisch zu machen. Das waren die Gleichungen. Die Ableitung der Zahl der Beutetiere ist eine konstante alpha mal die Zahl der Beutetiere. Das hatte mit dem Wachstum der Vermehrung zu tun. Wenn sonst nichts passieren würde, vermehren sie sich exponentiell.
00:42
Dann habe ich hier was abgezogen, beta, eine andere Konstante, mal die Zahl der Beutetiere, mal die Zahl der Raubtiere. Wenn die beiden sich begegnen, die beiden Spezies, Beutetiere und Raubtiere, dann ist das in einer gewissen Wahrscheinlichkeit Letal für die Beutetiere, minus negative Steigung, die Zahl verringert sich.
01:02
Das hier ist also das Gefressenwerden, das wird durch das Beta beschrieben. Bei den Raubtieren habe ich gesagt, die sollen nicht gefressen werden, sondern die sollen an Altersschwäche sterben. Minus gamma mal die Zahl der Raubtiere, exponentieller Zerfall, was natürlich biologisch nicht gerade sinnvoll ist. Das würde bedeuten, dass es Raubtiere gibt, die 10.000 Jahre alt werden.
01:25
Weniger, aber es gäbe welche, das ergibt nicht so viel Sinn. Das ist ein billiges Modell. Und hier kommt jetzt ein Plus. Wenn sich Beutetiere und Raubtiere begegnen und die Beutetiere gefressen werden, dann vermehren sich die Raubtiere mehr. Das ist der Sinn von diesem Term dahinten.
01:42
Das waren die Differentialgleichungen. Wenn man das jetzt numerisch angehen will, anders als das, was wir gerade hatten hier. Einige Leute fragten hier schon, jetzt habe ich keine Zahlen, wie kann ich denn das lösen? Egal, das ist ja eine Lösung. Hier kann ich M einsetzen, hier kann ich K einsetzen, meine Anfangswerte einsetzen.
02:03
Wenn ich das numerisch machen will, brauche ich tatsächlich konkrete Zahlen. Nummerisch heißt, mit Zahlen zu rechnen. Ich habe keine Konstanten mehr da drin. Ich muss konkrete Zahlen haben. Ich kann mich deshalb jetzt auch, wenn ich dieses numerische lösen will, nicht mit diesen Gleichungen herauswinden. Ich brauche Zahlen für Alpha, Beta und Gamma und Delta.
02:22
Ich brauche einen Anfangswert für die Zahl der Beutetiere. Ich brauche einen Anfangswert für die Zahl der Raubtiere. Ich brauche irgendwelche vernünftigen Zahlen. Das wird jetzt der erste Schritt sein. Das hat eigentlich nichts mit numerischer Lösung zu tun, sondern nur erstmal ordentliche Zahlen zu generieren, damit man mit Zahlen rechnen kann. Folgendes würde ich sagen.
02:42
Alpha setzt sich mal einfach gleich 2. Wenn wir das mit Einheiten rechnen, das wäre ja so wie 2 pro Jahr. Jedes Kaninchen produziert in meinem Modell dann also pro Jahr 2 Jungkaninchen, sei es so. Kein völlig unplassibler Wert.
03:02
Wenn ich sage, pro Jahr stimmt eigentlich nicht. Ich müsste es ordentlich aufintegrieren, aber im Prinzip von der Größenordnung her stimmt das schon mal. Und dieses Gamma, die Sterberate der Raubtiere, setze ich einfach mal auf 0,2. Das sieht irgendwie so aus, als ob so ein Raubtier dann 5 Jahre lebt.
03:23
Stimmt nicht ganz, weil es ja exponentiell ist, aber von der Größenordnung her wird es irgendwas mit 5 Jahren oder vielleicht auch mit 10 Jahren zu tun haben. Warum nicht? Das sieht plausibel aus. Und die beiden anderen hier, Beta und Delta, die baue ich mir jetzt plausibel daraus zusammen.
03:42
Die sind schwerer zu raten. Was ist die Nahhaftigkeit eines Kaninchens und was ist die Tötigkeit eines Zusammentreffens zwischen Kaninchen und Fuchs? Da gehe ich mal ganz dreist anders herum. Und zwar möchte ich folgen, ich hätte gerne einen Fixpunkt für eine bestimmte Anzahl an Kaninchen und Füchsen,
04:07
nämlich ich hätte gerne einen Fixpunkt bei Anzahl der Kaninchen und Beutetiere, nämlich bei 100.000. Das ist ein großer Wald.
04:22
Und die Anzahl der Raubtiere, der hätte ich gerne 1000. Da hatte ich letztes Mal schon gesagt, diese Gleichungen haben einen Fixpunkt. Wenn man diese Konstanten richtig wählt oder wenn man die Zahlen richtig wählt, gibt es eine Situation, in der sich nichts ändert,
04:41
wo die Ableitungen beide 0 sind, wo es eben nichts einen Schweinezyklus gibt, sondern die ganze Zeit dieselben Zahlen sind. Ich möchte gerne dieses als Zahlen haben, dass in diesem stationären Zustand 100.000 Beutetiere und 1000 Raubtiere da sind. Versuchen Sie mal zurückzuschließen.
05:03
Wie muss ich denn jetzt Beta und Delta wählen, damit das hier der stationäre Zustand ist, der Fixpunkt wird? Genau das ist es. Wenn diese Zahlen angenommen werden, wenn ich 100.000 Beutetiere und 1000 Raubtiere habe, dann möchte ich
05:22
dass genauso viele geboren werden wie sterben von den Beutetieren und dass genauso viele sterben wie geboren werden von den Raubtieren. B Punkt gleich 0 und R Punkt gleich 0. Ganz ähnlich wie letztes Mal bei dem Massengleichgewicht, wenn ich in den stationären Zustand gehe.
05:43
Ich setze beide hier gleich 0. Beide Ableitungen sollen gleich 0 sein. Vielleicht mache ich das mal so, dass ich hier eine 0 ran setze und so sagen, das soll für den Fixpunkt sein. Also ich möchte, dass 0 ist 2 mal diesen Wert hier B0 minus Beta mal diesen Wert B0 mal R0.
06:11
Dann ist die Anzahl der Hasen konstant, weil die Ableitung 0 ist. Sie sehen, jetzt können Sie die Anzahl der Hasen sowieso raus streichen.
06:22
Es muss also sein, dieses Beta ist gleich 2 durch R0. 2 durch R0 ist also 2000. 0,002. So wähle ich Beta.
06:41
Dann ist in dieser Situation, lustigerweise hängt das gar nicht von der Zahl der Hasen ab. Dann ist, wenn ich 1000 Füchse habe, die Zahl der Hasen konstant. Und ähnlich machen wir das hier mit den Füchsen. Wenn ich das hier unten habe, die Zahl der Füchse, die Zahl der Raubtiere soll konstant sein.
07:01
0 ist gleich. Gamma ist 0,2 minus 0,2 mal die Zahl der Raubtiere Füchse im Gleichgewicht plus Delta mal die Zahl der Beutetiere im Gleichgewicht mal die Zahl der Füchse im Gleichgewicht. Sie sehen, hier kann man die Zahl der Raubtiere rausspreichen.
07:23
Und finde Delta sollte also sein 0,2 durch B0, 100.000. Mit anderem Wort 0,002.
07:42
Damit habe ich jetzt Beta und Delta. Das ist natürlich total getrickst. In der wahren Welt würde man natürlich versuchen, solche Raten hier zu messen. Wie tödlich ist der Zusammenstoß zwischen Kaninchen und Fuchs? Sie würden versuchen, das Beta zu messen und das Delta zu messen.
08:01
Hier bin ich jetzt ganz dreist, mangelst Zeit und mangelst Messdaten und gehe rückwärts vor und sage, okay, in der Situation hätte ich gerne ein Gleichgewicht, dass genauso viele Hasen sterben wie gefressen werden pro Zeitintervall und dass genauso viele Füchse sterben wie geboren werden im selben Zeitintervall.
08:25
Lass die Zahlen konstant bleiben. Damit habe ich jetzt Alpha, Beta, Gamma, Delta und kann in meine Tabellenkalkulation ... Ich hätte gerne drei Spalten, eine für die Zeit, dass ich nachher Jahre abtragen kann.
08:45
Eine Spalte, wo die Anzahl der Beutetiere drin steht, eine Spalte für die Anzahl der Raubtiere. Jetzt haben wir noch die ganzen Zahlenangaben. Alpha, das hatte ich jetzt für Alpha, Alpha gleich 2, Beta gleich 0,002, also Alpha gleich 2, Beta gleich 0,002.
09:12
Oh, ich muss hier ein paar mehr Dezimalstellen haben.
09:21
So, Gamma 0,2 und Delta 2 Millionstel. Gamma auf 0,2 und Delta Hubsi. Delta auf 0,12345, 2 Millionstel.
09:46
Jetzt aber mal speichern, man weiß ja nie. So, Anfangswerte. Die Zeit ...
10:01
So, mal zu 0 Jahren beginnen sinnvollerweise, sonst ist es ein bisschen wildsinnig. Eben hatte ich den Fixpunkt hier bei 100.000, 1000. Was hätte ich mal ausprobiert? Ich fange mal bei 50.500 an. Wenn ich genau bei 100.000, 1000 anfange, sitze ich ja die ganze Zeit auf 100.000, 1000. Das ist ja langweilig.
10:20
Deshalb schreibe ich hier mal 50.500. Nicht zu weit weg. Aber so, dass wir auch nicht noch etwas sehen. Jetzt haben wir noch eine Zeile zu ergänzen hier. Das ist die spannende Zeile. Wie denn jetzt die numerische Lösung vorwärts schreiten soll? Vom einen Zeitpunkt zum nächsten. Ich brauche erst mal noch irgendeine Angabe.
10:40
Welche Angabe fehlt mir jetzt noch? Sehr gut, der Zeitschritt fehlt mir. DT, in welchen Zeitschritten gehe ich durch? Das ist ja das Ärgernis bei der numerischen Lösung. Ich gehe nicht in unendlich feinen Zeitschritten durch. Ich gehe in endlichen Zeitschritten durch. Deshalb stimmt es dann ja auch nie so genau. Ich nehme 0,1, ein Zehntel Jahr als Zeitschritt.
11:04
Es ist leicht einzutragen, was hier steht. Die Zeit ist die vorherige Zeit plus den Zeitschritt. Ich schreibe Dollar davor, damit alle Zellen, wenn ich das weiter aufziehe, auch hier diese eine Zelle referenzieren.
11:21
Die Zahl der Beutetiere. Wie kriege ich das hin? Was da vorher gestanden hat, der alte Wert plus den Zeitschritt. Jetzt kommt die Ableitung. Die Ableitung war ja der Wachstumsfaktor mal die bisherige Zahl an Beutetieren
11:42
minus diesen gefressen werden Faktor mal die Zahl an Beutetieren. Falsche Stelle gerade erwischt. Mal die Zahl an Beutetieren, mal die Zahl an Raubtieren. Und da setze ich jetzt lauter Dollarzeichen noch rein, bei den Konstanten,
12:03
damit ich das gleich aufziehen kann. Gerade checken, ob das hier richtig ist. B2, und der kommt so häufig vor, dass er den jetzt nicht blau gemacht hat. Hier ist der Zeitschritt, das ist der obere. Ok, das sieht plausibel aus. Analog jetzt für die Raubtiere.
12:21
Das ist der alte Wert bei den Raubtieren plus Zeitschritt. Mal, Klammer auf, und jetzt kommt die Ableitung. Minus war das hier, diese Sterbensrate, mal den aktuellen Wert der Raubtiere plus den Gewinn durch das Fressen, Delta, mal das Produkt.
12:47
Und auch da wieder Dollarzeichen, um es festzunageln. So, fine, das ziehe ich auf, wohin auch immer.
13:07
Und bauer eine Grafik, einfüge ein Diagramm. Das sieht schon fannend aus, Schluck. XY natürlich, ich gebe ja den X-Wert, T, den X-Wert gebe ich vor.
13:21
Ich möchte auch keine Punkte drauf, ich möchte einfach durchgezogene Kurven. Erste Zahl als Beschriftung wird schon stimmen. Okay, so sieht das aus. Dann können wir jetzt gleich mehrere Sachen diskutieren. Was ist daran schon mal komisch? Ich habe ja nur ein paar hundert Räuber,
13:42
und hier habe ich Tausende an Beutetieren. Das Einfachste, bevor ich jetzt hier anfange, noch eine zweite Achse dran zu bauen, das Einfachste wird sein, dass ich hier einfach logarithmisch skaliere, wenn ich hier mal gerade die richtige Achse finde. So, da kommt schon. So, da haben wir doch. Objekteigenschaft logarithmisch. Ah, so sehen Sie, da passiert ja schon was,
14:02
aber in einem ganz anderen Bereich. Es gibt ja nur um die 1000, das war ja der Fixpunkt, um die 1000 Raubtiere. Wenn Sie das normal linear skalieren, sehen Sie gar nichts von den 1000 Raubtieren. Und hier haben wir um diese 100.000 schwankend die Beutetiere. Und anscheinend gibt es hier so 2, noch was Schweinezyklen einmal durch.
14:23
Was fällt Ihnen an diesen Schweinezyklen auf? Was ist daran krumm? Genau, das sollte periodisch sein. Das ist ja völlig falsch, dass hier der zweite Schweinezyklus viel weiter runter geht und dann hier ein bisschen weiter rauf geht, und der nächste geht noch ein bisschen weiter rauf, der nächste geht ein bisschen weiter runter. Das ist ein Problem von diesem Lösungsverfahren.
14:42
Das ist kein Problem von der Differentialgleichung. Das ist ein Problem von diesem numerischen Lösungsverfahren. Ganz übliches Problem, dass Schwingungen plötzlich außer Rand und Band gehen. Eigentlich ist das eine periodische Geschichte. Und Sie sehen, dass es hier durch diese Nährungslösung leider nicht mehr periodisch wird. Das hier ist das explizite Euler-Verfahren.
15:02
Ich gebe explizit an, wie ich denn den neuen Wert kriege. Was man machen könnte, alternativ wäre das implizite Verfahren. Dann würden diese Schwingungen nachlassen über die Zeitdauer. Das sieht ja auch ein bisschen komisch aus, wenn er sich dann plötzlich auf den Gleichgewichtszustand zurückzieht.
15:20
Lustigerweise, auch wenn das hier keine Physik ist, kann man dies hier mit einem symplektischen Verfahren machen. Als Steppenwitz der Geschichte ist dieses gleiche System nicht ganz symplektisch in dem Sinne der Physik, aber fast. Und wenn ich das jetzt so mache, wie man das bei symplektischen Systemen einfach machen kann, ich nehme nämlich hier nicht den letzten Wert für die Beutetiere.
15:47
Um die neuen Raubtiere auszurechnen, dann nehme ich nicht den letzten, sondern den aktuellen Wert. Dann wird es lustigerweise funktionieren. Das ist das einfachste symplektische Verfahren. Also hier nehme ich nicht das braune umrahmte, sondern den nächsten, D3.
16:02
Den hier, den aktuellen Wert nehme ich in der letzten Gleichung. Nun ziehe ich das mal runter und hoffe, dass wir dann gleichbleibende Schwingungen haben. Nach der Theorie müsste das der Fall sein. So sollte es aussehen.
16:21
Periodische Schwingungen, nicht Sinus, nicht Cosinus, sowieso nicht wegen der logarithmischen Skala, aber es sind auch auf der richtigen Skala nicht Sinus und Cosinus. Sie sehen, dass sie verschiedene Flankenstahlheiten haben. Also, wenn Sie so etwas machen müssen, Differenzialgleichungen lösen, eine Geschichte gucken Sie, ob ein symplektisches Verfahren geht. In vielen physikalischen Systemen geht das und lustigerweise hier bei diesem System auch.
16:41
Und das garantiert einem, dass Schwingungen Schwingungen bleiben und nicht zusammenfallen, nicht explodieren. Von wegen Fixpunkt. Dann muss ich ja genau mit 100.000 starten. Ich starte mal vielleicht mit 90.000. Ich hoffe, dass man es dann erkennen kann. Dann muss ich hier natürlich auch mit 900 starten, dichter am Fixpunkt dran.
17:01
Sie sehen, dass die Schwankungen zurückgehen, wenn Sie an den Fixpunkt dran gehen. Wenn Sie 100.000 eingeben, haben Sie glatte Linien. Es ändert sich einfach nichts mehr dran.