Quit[];

Két fajból álló ökoszisztémák: 
3. Az eredeti Volterra-Lotka-modell létszámmal arányos 
lehalászással

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

A modell

eq={Ν'[t]== Ν[t](ε-α P[t])-μ Ν [t],P'[t]==P[t](β Ν[t]-γ)-ν P[t]};ini={Ν[0]==Νini,P[0]==Pini};

f[Ν_,P_]:=Ν(ε-α P)-μ Ν;g[Ν_,P_]:=P(β Ν-γ)-ν P;

eq=={Ν'[t]==f[ Ν[t],P[t]],P'[t]==g[Ν[t],P[t]]}

Jelölések

Ahol:

N(t) a zsákmánypopuláció létszáma a t időpontban

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

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

α>0 ragadozási ráta

β>0 konverziós ráta (általában β≤α)

γ>0 a ragadozó mortalitása

μ>0 a zsákmánylehalászási ráta

ν>0 a ragadozólehalászási ráta

Kiegészítő magyarázat

ragadozó hiányában a zsákmányfajnak Malthus-féle szaporodási rátája van

a  zsákmány szaporodási rátája a ragadozó létszámával arányos mennyiséggel csökken

a fajok létszámával arányos lehalászás hatását vizsgáljuk

Egyensúlyi helyzetek (vagy stacionárius pontok)

stac=Solve[{0==f[Ν,P],0==g[Ν,P]},{Ν,P}]//Simplify

{Ν2,P2}={Ν,P}/.stac[[2]];

(E^0):=(0,0)

(E^2):=(((γ+ν)/β),((ε-μ)/α))

Elemzése

Join[eq,ini]

param1={ε->1,α->1,β->2,γ->1,μ->0.7,ν->0.7,Νini->1,Pini->3};

nds=NDSolve[Join[eq,ini]/.param1,{Ν,P},{t,0,40}]

Needs["PlotLegends`"]

Plot[Evaluate[{Tooltip[Ν[t],"Ν[t]"],Tooltip[P[t],"P[t]"]}/.nds],{t,0,40},PlotStyle->Directive[Thick],AxesLabel->{TraditionalForm[t],Row[TraditionalForm/@{Ν[t]," ",P[t]}]}, PlotLegend->{"Ν[t]","P[t]"},LegendPosition->{1,-0.4}]

Grafikonok

Nullavonalak, egyensúlyi helyzetek

cp1=ContourPlot[(Ν(ε-α P)-μ Ν/.param1)==0,{Ν,0,1.5},{P,0,1.5},ContourStyle->{Green,Thickness[0.01]},AxesOrigin->{0,0},Frame->False,PlotPoints->100];

cp2=ContourPlot[(P(β Ν-γ)-ν P/.param1)==0,{Ν,0,1.5},{P,0,1.5},ContourStyle->{Red,Thickness[0.01]},AxesOrigin->{0,0},Frame->False,PlotPoints->100];

s=Show[cp1,cp2,Axes->True,AxesLabel->{"N","P"},Epilog->({PointSize[0.02],Point[{0,0}],PointSize[0.02],PointSize[0.02],Point[{(γ/β),(( ε)/(α ))}],Point[{((γ+ν)/β),(( ε-μ)/(α ))}]}/.param1)];

sp=StreamPlot[{ f[Ν,P],g[Ν,P]}/.param1,{Ν,0,1.5},{P,0,1.5}];

Show[s,sp]

Kiegészítő magyarázat

Az ábra mutatja a lehalászás nélküli egyensúlyi helyzetet is, és ebből az látható, hogy a lehalászás a zsákmánynak kedvez. A ragadozónak kétszeresen is rossz, hiszen létszámuk is csökken a lehalászás következtében, valamint a táplálékuk mennyisége is csökken.

Mathematica problémák

PlotLegend, PlotStyle