Quit[];

A Malthus-féle diszkrét idejű, diszkrét állapotterű modell

Farkas Miklós: Dynamical models in biology (Academic Press 2001), 2. old.

A modell

eq=Ν[t+1]==(1+r) Ν[t];ini=Ν[0]==Ν0;

Jelölések

ahol:

N(t) a populáció létszáma a t időpontban

r>0 az úgynevezett belső növekedési ráta (azaz születési és a halálozási ráta különbsége)

F[Ν_,r_]:=(1+r)Ν

Plot[F[Ν,.5],{Ν,0,10},AxesLabel->{"N","F(N)"}]

Megoldása

rs=RSolve[{eq,ini},Ν,t][[1,1]]

Grafikonok

Rögzített paraméterek mellett

Plot[Ν[t]/.rs/.{Ν0->2,r->1.1},{t,0,10},AxesOrigin->{0,0},PlotLabel->Row[{Ν[t]/.rs}],AxesLabel->{t,Style["Ν(t)",Italic]}]

A belső növekedési ráták legkisebb különbsége itt is végtelenhez tartó eltérést okoz két faj létszámában; ábrázoljuk!

A folytonos és a diszkrét idejű modell összevetése

Δ[t_]:=((Ν[t]/.rs)-Ν0 (E^((Log[r+1])t)))/.{Ν0->2,r->1.1}

Δ[t]

Ha tehát a folytonos idejű modellben a paramétert ln(r+1)-nek választjuk, akkor a diszkrét időpontokban az r paraméterű diszkrét idejű modellel azonos értékeket kapunk.

A logisztikus modellel való összevetés

eq=Ν[t+1]== Ν[t]((1+r)-((r Ν[t])/K));ini=Ν[0]==Ν0;

ClearAll[g];
g[t_]:=Nest[#(1+r-r ((#)/3))&,Ν0,t];

δ[t_]:=((Ν[t]/.rs)-g[t])/.{Ν0->2,r->1.1}

ListPlot[δ/@Range[1,6],AxesLabel->{"idő","eltérés"},PlotLabel->"A Malthus-féle növekedés rövid idő után\n túlhaladja a logisztikust."]

A Malthus-féle modell viselkedése változtatható paraméterek mellett

RSolve[ {Ν[t+1]==(1+r) Ν[t],Ν[0]==Ν0},Ν,t]

Manipulate[Plot[Evaluate[Ν[t]/.First[RSolve[ {Ν[t+1]==(1+r) Ν[t],Ν[0]==Ν0},Ν,t]]],{t,0,10},PlotRange->{0,1000},PlotLabel->Style["(Subscript[Ν, 0])(1+r)^t",Italic],AxesLabel->{t,Style["Ν(t)",Italic]}],
{{Ν0,2,Style[(Subscript[Ν, 0]),Italic]},0,300},
{{r,0.1,Style[r,Italic]},0,2},SaveDefinitions->True]

Mennyi idő szükséges a populáció megdupázódásához?

sol=Solve[Simplify[((rs[[2]][t+T])/(rs[[2]][t]))]==2,T][[1,1]]//Quiet

A kettőződési idő független attól, hogy mikor mérjük, és attól is, hogy mennyi volt a kezdeti létszám, hasonlóan a folytonos idejű esethez.

Tetszőleges r értéknél 100r pontosan az éves növekedési arány százalékban:

((rs[[2]][t+1])/(rs[[2]][t]))

Érvényes a 70 éves szabály: 1%-os növekedés 70 éves kettőződési időnek felel meg:

sol/.{r->0.01}

A modell előnyei

N(t)>0, ha (Subscript[N, 0])>0

tipikusan rovarpopulációk modellezésére alkalmas

a populáció létszáma szigorúan monoton növekszik

egyszerűen használható

A modell hátrányai

a populáció létszáma minden határon túl monoton növekszik, ha t→+∞, mivel

((Ν[t+n])/(Ν[t]))/.rs

a modell determinisztikus