Simulation Füchse und Hasen (Populationsmodell)

Vorwärts

A = {{2.5,  -25}, {0.05, -0.5}};  
    A  //  MatrixForm

IdentityMatrix[2]  //  MatrixForm

B = A + IdentityMatrix[2];  B //  MatrixForm

x[0] = Transpose[{{457, 7}}];  x[0]   //  MatrixForm

Nest[Sin, 1, 4]

f[x_] := B . x

g[x_] := B1 . x

Table[Nest[g, x, k], {k, 0, 6}]  //  MatrixForm

Table[Nest[f, x[0], k] // Round, {k, 0, 4}]  //  
      MatrixForm

Table[Nest[f, x[0], k], {k, 0, 4}]  //  MatrixForm

?Flatten

tab1 = Table[Nest[f, x[0], k], {k, 0, 4}]

tab2 = Table[Flatten[tab1[[k]]], {k, 1, Length[tab1]}]

Show[ListPlot[tab2, PlotJoined -> True], 
        ListPlot[tab2, PlotStyle -> PointSize[0.02]]];

Rückwärts

A = {{2.5,  -25}, {0.05, -0.5}};  
    A  //  MatrixForm

IdentityMatrix[2]  //  MatrixForm

B = A + IdentityMatrix[2];  B //  MatrixForm

InvB = Inverse[B];  InvB //  MatrixForm

x[0] = Transpose[{{6100, 124}}];  x[0]   //  MatrixForm

Nest[Sin, 1, 4]

f[x_] := InvB . x

Table[Nest[f, x[0], k] // Round, {k, 1, 4}]  //  
      MatrixForm

Table[Nest[f, x[0], k], {k, 1, 4}]  //  MatrixForm

Eigenwerte

Eigenvalues[A]

Eigenvectors[A]

Eigenvalues[B]

Eigenvectors[B]

Eigensystem[B]

a = {0.9950371902099892, 0.0995037190209989}

B.a

b = {0.999800059980007, 0.019996001199600145}

B.b

3 {0.999800059980007, 0.019996001199600145}

v[x_, y_] := {x, y}

v[5, 7] ==  z a +  w b

solv =  
      Solve[v[5, 7] ==  z a +  w b, {z, w}]  //  
        Flatten

z a  +  w b  /. solv

B . v[5, 7]

B . (z a  +  w b)

B . (z a  +  w b) /. solv

Programm

Remove["Global`*"];
\(\(prog[u_, v_, n_, mVal_] := 
        Module[{}, 
x[0, uu_, vv_] = 
            Transpose[{{uu, 
                  vv}}]; 
A = {{2.5, \(-25\)}, {0.05, \(-0.5\)}}; 

          B = A + IdentityMatrix[2]; 
f[xx_] := 
            B . xx; 
tab1 = 
            Table[Nest[f, Evaluate[x[0, u, v]], k], {k, 0, 
                n}]; 
tab2 = 
            Table[Flatten[tab1[\([k]\)]], {k, 1, 
                Length[tab1]}]; 
maxVal = 
            Max[mVal, 
              1.01\ Max[
                  Map[Abs, 
                    Flatten[{First[tab2], 
                        Last[tab2]}]]]]; 
Show[
            Graphics[
              Join[
{Line[{{\(-maxVal\), 0}, {maxVal, 
                        0}}], \ 
                  Line[{{0, \(-\ maxVal\)}, {0, maxVal}}]}, {{PointSize[
                      0.04]}, Point[{\(-\ maxVal\), \(-\ maxVal\)}], 
                  Point[{maxVal, maxVal}]}, 
{PointSize[
                    0.02]}, 
                map1 = Map[Point, tab2], {Line[{First[tab2], Last[tab2]}]}]], 
            AspectRatio -> Automatic, 
            PlotRange -> All];];\)\)
prog[{u_, v_}, n_, mVal_] := 
        prog[u, v, n, mVal];
prog[700, 7, 10, 5 10^7]

prog[700, 7, 10, 5 10^7]

prog[{7, 457}, 10, 5 10^7]

prog[457, 7, 10, 5 10^7]

Table[prog[457, v, 10, 5 10^7], {v, 2, 10}]

Table[prog[u, 2, 10, 5 10^7], {u, 20, 600, 20}]

Table[prog[u, 7, 10, 5 10^7], {u, 20, 600, 20}]

Table[prog[u, 500, 10, 5 10^7], {u, 20, 600, 20}]

Untersuchung mittels Eigenvektoren

a = {0.9950371902099892, 0.0995037190209989}

Table[prog[a,10,1],{index,0,4}]

Da der Eigenwert hier 1 ist, liegen die Punkte alle aufeinander. In dieser Richtung bleibt der Anteil jedes andern Vektors stabil bei der Abbildung.

b = {0.999800059980007, 0.019996001199600145}

Table[prog[b,10,100],{index,0,4}]

Da der Eigenwert hier 3 ist, liegen die Punkte alle auf einer Geraden. In dieser Richtung bleibt der Anteil jedes andern Vektors bei der Abbildung ebenfalls auf dieser Gerade. Bei der Abbildung eines beliebigen Vektors, den wir uns in der Basis der Eigenvektoren denken, wandert demnach der Anteil in Richtung b und der Anteil in Richtung a bleibt stabil. Daher ist immer nur die Punktfolge in Richtung b sichtbar, verschoben um den Anteil von a. Alle Folgen liegen hier daher auf Geraden mit gleicher Steigung. (Vgl. Beispiele und Plots im letzten Abschnitt.)