Anwendungsaufgaben mit Matrizen

Zwei Beispiele: Populationsentwicklung bei Kaninchen (Fibonacci) sowie eine Bevölkerungsentwicklungsaufgabe.

Alle Aufgaben dieses Typs fangen mit einer Startpopulation an und entwickeln sich im Laufe der Zeit - die Population nach einer gegebenen Zeiteinheit erhält man dabei immer durch Multiplikation des Startvektors mit der Entwicklungsmatrix. Die Untersuchung der Populationsentwicklung hat dann zum Ziel, die Entwicklung über einen längeren Zeitraum zu beschreiben - ob die Population wächst, stabil ist (also gleich bleibt) oder abnimmt.

Kaninchenpopulation - Fibonacci

Zeitpunkt:am Anfangnach 1 Monatnach 2 Monatennach 3 Monaten
n = 0 1 2 3 4 5 6 7 8 9 10 40 n+1
Kaninchenpaare x: x0 = 1 x1 = 1 2 3 5 8 13 21 34 55 89 x39+x38 xn+xn-1
davon geschlechtsreif: 0 1 1 2 3 5 8 13 21 34 55

Populationsentwicklung der Fibonacci-Kaninchen

Annahme: Ein Kaninchenpaar benötigt einen Monat bis zur Geschlechtsreife, ab dann wird monatlich ein Paar Junge geworfen. Außerdem soll davon ausgegangen werden, dass keine Kaninchen sterben.

Rekursiv, also immer auf die schon ermittelten Paar-Zahlen, lässt sich dann jede weitere Zahl der Folge aus der Summe der beiden vorhergehenden ermitteln. Da für die Formel immer zwei Vorgänger bekannt sein müssen, müssen hier auch zwei Startwerte, x0 = 1 und x1 = 1 angegeben werden. Die Rekursions-Formel lautet dann xn+1 = xn+xn-1. Die Zeitvariable n muss dann mindestens den Wert 1 haben, da der kleinste bekannte Wert x0 ist.

Durch die rekursive Angabe müssten für jeden neu zu ermittelnden Wert alle Vorgänger bekannt sein oder ermittelt werden - bei größerem n wird das dann schon recht aufwändig. Daher war man schon früh auf der Suche nach einer Formel, mit der man die einzelnen Glieder der Fibonacci-Folge direkt ausrechnen kann.

Aus der Matrizenrechnung ergibt sich der folgende Zusammenhang: (matrix{2}{1}{x_{n+1} x_n}) ~=~ (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{x_n x_{n-1}})

Das kann man leicht durch nachrechnen überprüfen:

(matrix{2}{1}{x_2 x_1}) ~=~ (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{x_1 x_0}) denn (matrix{2}{1}{2 1}) ~=~ (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{1 1})

(matrix{2}{1}{x_3 x_2}) ~=~ (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{2 1}) ~=~ (matrix{2}{1}{3 2}), (matrix{2}{1}{x_4 x_3}) ~=~ (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{3 2}) ~=~ (matrix{2}{1}{5 3}), usw.

Hier gilt ja auch (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{2 1}) ~=~(matrix{2}{2}{1 1 1 0}) ~[(matrix{2}{2}{1 1 1 0})~(matrix{2}{1}{1 1})], also (matrix{2}{1}{x_3 x_2}) ~=~ (matrix{2}{2}{1 1 1 0})^2 ~(matrix{2}{1}{1 1}) und (matrix{2}{2}{1 1 1 0}) ~(matrix{2}{1}{3 2}) ~=~(matrix{2}{2}{1 1 1 0}) ~[(matrix{2}{2}{1 1 1 0})~(matrix{2}{1}{2 1})]~=~(matrix{2}{2}{1 1 1 0})~[(matrix{2}{2}{1 1 1 0}) ~[(matrix{2}{2}{1 1 1 0})~(matrix{2}{1}{1 1})]], also (matrix{2}{1}{x_4 x_3}) ~=~ (matrix{2}{2}{1 1 1 0})^3 ~(matrix{2}{1}{1 1}), usw.

Führt man das gedanklich immer weiter, erhält man als Formel für das n-te Glied der Fibonacci-Folge

(matrix{2}{1}{x_{n+1} x_n}) ~=~ (matrix{2}{2}{1 1 1 0})^n ~(matrix{2}{1}{1 1}) für n>=1.

Hat man Derive (o.ä.), so kann man die n-te Potenz der Matrix leicht berechnen - von Hand müsste man immer noch alle Matrizenpotenzen nacheinander ausrechnen, wäre also nicht viel weiter als bei der rekursiven Formel.

Aus Überlegungen zum Goldenen Schnitt (einem Wert, dem sich das Verhältnis xn+1/xn annähert) erhält man Ausdrücke, die Terme der Art pm 1 pm sqrt{5} enthalten. Nach einigen Berechnungen erhält man dann schließlich eine Formel, mit der man jedes Folgenglied direkt ausrechnen kann:

x_n ~=~ 1/{sqrt{5}} (({1+sqrt{5}}/2)^{n+1} - ~({1-sqrt{5}}/2)^{n+1})

Der gesuchte Wert für x40 lässt sich damit schnell berechnen: x40 = 165 580 141 ;-)

Beispiel einer Bevölkerungsentwicklung

Eine Population sei in drei Altersgruppen eingeteilt, die Jüngere (J), die Mittlere (M) und die Ältere (A). Die Entwicklung der Population wird in längeren Zeitabschnitten beobachtet (hier: 1/3 der max. Lebenszeit), d.h. nach einem Zeitabschnitt sind die noch lebenden Jüngeren zu Mittleren geworden und die noch lebenden Mittleren zu Älteren. Durch den vergleichsweise langen Zeitabschnitt kann man davon ausgehen, dass alle Älteren in einem Zeitabschnitt sterben.

Die neue Generation der Jüngeren ergibt sich aus der Summe der Geburten aller drei Vorgängergenerationen (wobei die Geburtenrate bei den Mittleren am größten sein sollte).

Diese Angaben lassen sich sowohl in einer Tabelle als auch in einem Übergangsdiagramm festhalten:

Übergangsdiagramm

JtMtJA
Jt+1g1g2g3
Mt+11 - s100
At+101 - s20

Die jeweils nächste Generation (Jt+1, Mt+1, At+1) lässt sich also wie folgt berechnen:

(matrix{3}{1}{J_{t+1} M_{t+1} A_{t+1} }) ~=~ (matrix{3}{3}{g_1 g_2 g_3 {1-s_1} 0 0 0 {1-s_2} 0})~(matrix{3}{1}{J_t M_t A_t})~=~ (matrix{3}{1}{{g_1J_t + g_2M_t + g_3A_t} {(1-s_1)J_t} {(1-s_2)M_t}})

Beispiel: J0 = 4000, M0 = 9000, A0 = 5000, g1 = 0,35, g2 = 0,6, g3 = 0,05, s1 = 0,1 und s2 = 0,3.

Damit ergeben sich für die ersten vier Generationen folgende Werte (Bn bezeichnet dabei den Bevölkerungsvektor zur jeweiligen Zeiteinheit, M die sich aus der Tabelle ergebende Matrix):

Alterspyramiden

t = 0 1 2 3 4
Rechnung: M*B0M*B1 = M2*B0M*B2 = M3*B0M*B3 = M4*B0
Jt40007050494256624873
Mt90003600634544485096
At50006300252044413113
Gesamtbevölkerung:1800016950138071455113082

In diesem Beispiel sieht man, dass die Gesamtbevölkerung im Laufe der Zeit abnimmt - bei unveränderten Bedingungen wird diese Population mit der Zeit aussterben.

Würde man z.B. g1 leicht erhöhen, auf g1 = 0,4285, so erhielte man eine stabile Population.

Bei noch größeren Geburtenraten in allen drei Alterstufen müsste die Gesamtbevölkerung langfristig wachsen.

schule/ma/regelns2/lag/matrixanw.txt · Zuletzt geändert: 2018/06/09 11:55 von ahrens
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0