Quit[];

A diszkrét idejű logisztikus modell

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

A modell

eq=Ν[t+1]== Ν[t]((1+r)-((r Ν[t])/K));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)

K>0 a környezet fenntartóképessége

F[Ν_,r_,K_]:=((1+r)-((r Ν)/K))Ν

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

Megoldása

Beépített függvénnyel: nem megy

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

Grafikonok

Rögzített paraméterek mellett

Memóriával rendelkező függvénnyel

ClearAll[f];
f[t_]:=f[t]=f[t-1](1+0.5-0.5 ((f[t-1])/3));
f[1]=2;

ListPlot[Evaluate[f/@Range[10]],Frame->True,PlotStyle->Directive[{PointSize[Large]}],FrameLabel->{"t","Ν(t)"}]

Másik megoldás:

ClearAll[g];
g[t_]:=NestList[#(1+0.5-0.5 ((#)/3))&,2,t];
ListPlot[Evaluate[g/@Range[10]],Frame->True,PlotStyle->Directive[{Red,PointSize[Large]}],FrameLabel->{"t","Ν(t)"}]

Változtatható paraméterek mellett

Tessék megpróbálni.

Perióduskettőző bifurkáció

Logistic[r_:0.5,K_:3]:=Function[Ν,r Ν(1-(Ν/K))]

Orbit[map_,Ν0_,n_]:=NestList[map,Ν0,n];
IterativeProcess[map_,Ν0_,{min_,max_},opts___]:=Module[{fr,orb},
orb=Orbit[map,Ν0,50];
fr=MapThread[Line[{{#1,#1},{#1,#2},{#2,#2}}]&,{Drop[orb,-1],Drop[orb,1]}];Show[Plot[{map[Ν],Ν},{Ν,min,max},opts],Graphics[{fr}]]]

GraphicsRow[{ListPlot[Orbit[Logistic[3.2,1],0.1,100],AxesLabel->{"Az iterációk\n száma","Stac. pont"}],IterativeProcess[Logistic[3.2,1],0.1,{0,1},PlotLabel->"Az iteráció\npókháló diagramja"]},ImageSize->500]

GraphicsRow[{ListPlot[Orbit[Logistic[3.9,1],0.1,100],AxesLabel->{"Az iterációk\n száma","Stac. pont"}],IterativeProcess[Logistic[3.9,1],0.1,{0,1},PlotLabel->"Az iteráció\npókháló diagramja"]},ImageSize->500]

Bifurcation[map_,{p_,pi_,pf_,np_},n_,opts___]:=Module[{pp},ListPlot[Flatten[Table[({pp,#})&/@Drop[Orbit[map/.p->pp,0.5,n+50],50],{pp,pi,pf,((pf-pi)/np)}],1],Axes->False,Frame->True,PlotStyle->{PointSize[0.003]},opts]]

Bifurcation[Logistic[r,1],{r,0,4,100},2000,FrameLabel->{"Az r paraméter értéke","Stac. pont, ill.\nperiodikus pálya"},PlotLabel-> "Stacionárius állapotok\n az r paraméter függvényében"]

GraphicsRow[{Bifurcation[Logistic[r,1],{r,-2,4,250},200,FrameLabel->{"Az r paraméter értéke","Stac. pont, ill.\nperiodikus pálya"},ImageSize->300],Bifurcation[Logistic[r,1],{r,0,4,100},200,FrameLabel->{"Az r paraméter értéke","Stac. pont, ill.\nperiodikus pálya"},ImageSize->300]},PlotLabel-> "Stacionárius állapotok az r paraméter függvényében"]

abrapar[r_]:=GraphicsRow[{ListPlot[Orbit[Logistic[r,1],0.1,100],AxesLabel->{"r","(SuperStar[N])"},PlotLabel->"r = "<>ToString[r]],IterativeProcess[Logistic[r,1],0.1,{0,2},PlotRange->{{0,1.2},{-.5,1.}},AxesLabel->{TraditionalForm["N"],TraditionalForm["N(1+r-((rΝ)/K))"]},PlotLabel->"r = "<>ToString[r]]},ImageSize->700]

abrapar[2.0]

abrapar[2.8]

abrapar[3.0]

abrapar[3.3]

abrapar[3.53]

abrapar[3.8]

abrapar[3.9]

abrapar[4]

Mi történik, ha r>4? Figyeljük meg, hogy a kiindulási paraméternél három periódusú megoldások adódnak.

Manipulate[abrapar[r],{{r,3.84},1,4.2,0.01},SaveDefinitions->True]

A modell előnyei

figyelembe veszi, hogy a zsúfoltság és a véges mennyiségű táplálék miatt a populáció nem növekszik korlátlanul

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

egyszerűen használható

A modell hátrányai

a populáció létszáma negatív értékeket vehet fel, amikor K((1+r)/r)<Ν.

a modell determinisztikus

A Mathematica használata során felmerült problémák és megoldásuk

Az RSolve parancs csak bizonyos nemlineáris differenciaegyenleteket tud megoldani.

Hivatkozások

Feigenbaum, M. J.: Quantitative universality for a class of non-linear transformations, J. Stat. Phys. 19 (1978), 25–52.

Gutierrez, J. M.; Iglesias, A.: Mathematica package for analysis and control of chaos in nonlinear systems, Computers in Physics 12 (6) (1998), 608–619.

May, R. M.: Nagyon bonyolult dinamikájú egyszerű matematikai modellek, Alk. Mat. Lapok 8 (1982), 427-446. (fordította Turányi Tamás, az eredeti cikk adatai: Simple mathematical models with very complicated dynamics, Nature 261 (1976) 459–467. )