38

Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Populációdinamikai modellek

numerikus megoldása Matlab

alkalmazásával

Szakdolgozat

Írta: Lovák Zsanett

Matematika BSc szak

Elemz® szakirány

Témavezet®:

Svantnerné Sebestyén Gabriella

Doktorandusz

Alkalmazott Analízis és Számításmatematikai Tanszék

Eötvös Loránd Tudományegyetem, Természettudományi Kar

Budapest

2017

1

Page 2: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Köszönetnyilvánítás

Ezúton szeretnék köszönetet mondani konzulensemnek, Svantnerné Sebes-tyén Gabriellának, aki felkeltette érdekl®désem a téma iránt, bevezetett apopulációdinamika matematikai leírásába, illetve megmutatta a Matlab hasz-nálatát. A dolgozat elkészülése során végig segített, hasznos tanácsokkallátott el. Emellett szeretném megköszönni családomnak és barátaimnak asok biztatást, motiválást, az egyetemi tanulmányaim alatt nyújtott rengetegtámogatást.

2

Page 3: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Tartalomjegyzék

1. Bevezetés 41.1. Motiváció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2. Di�erenciálegyenletek . . . . . . . . . . . . . . . . . . . . . . . 51.3. Egyensúlyi pontok és stabilitás . . . . . . . . . . . . . . . . . . 61.4. Di�erenciálegyenletek megoldása Matlab segítségével . . . . . . 9

2. Egyszerepl®s modellek 102.1. Korlátlan növekedés modellje . . . . . . . . . . . . . . . . . . . 102.2. Korlátos növekedés modellje . . . . . . . . . . . . . . . . . . . 13

3. Kétszerepl®s modellek 153.1. Ragadozó-zsákmány modellek . . . . . . . . . . . . . . . . . . 153.2. Verseng® modell . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3. Mutualizmus és szimbiózis . . . . . . . . . . . . . . . . . . . . 29

4. Összefoglalás 36

3

Page 4: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1. Bevezetés

1.1. Motiváció

A populációdinamika az alkalmazott természettudományok közé sorolható,amely a növény- és állatfajok id®beli és térbeli változásait vizsgálja, ezál-tal információkat közöl az adott populáció szaporodási, táplálkozási vagyegyéb szokásairól. A populációdinamika célja, hogy el®re, kis hibával egyjó becslést tudjunk adni a különböz® él®lények egyedszámáról. A kutatásoka tér-id® dinamikáját vagy a populáció méretének id®beli változását tanul-mányozza matematikai modellek segítségével. Általában folytonos id®bendi�erenciálegyenletekkel modellezzük a probléma megoldását. Ezek a di�e-renciálegyenletek nem mindig oldhatóak meg direkt módszerekkel, ezért azilyen feladatok megoldására numerikus módszereket alkalmazunk.

Szakdolgozatom célja a populációdinamikai modellek bemutatása, illetvea modellezéshez használt di�erenciálegyenletek numerikus módszerekkel valómegoldásának szemléltetése. A numerikus módszereket a Matlab nev¶ prog-ram segítségével alkalmazzuk. A Matlab a numerikus számítások elvégzéséreszolgáló speciális programrendszer, amely egyben egy programozási nyelv is.A program mátrixok kiszámítására, algoritmusok implementációjára, illetvefüggvények és más adatok ábrázolására lett kifejlesztve.

Szakdolgozatom során az egyszer¶bb egyszerepl®s modellekkel foglalko-zunk, a korlátlan és a korlátos növekedés modelljével. Ezeket gra�kusanis vizsgáljuk különböz® kezdeti értékekre. Majd a Lotka-Volterra modellekközül el®ször a ragadozó-zsákmány modellt vizsgáljuk különböz® paraméte-rek esetén, azután a verseng® modellt, melyben két faj verseng egymással.Ezekhez készítettünk numerikus szimulációkat is. Végül a Lotka-Volterraragadozó-zsákmány modellel egyenérték¶, legegyszer¶bb mutualizmus mo-dellel foglalkozunk, melyben a két faj kölcsönhatásban áll egymással, ekkor akölcsönhatás mindkét populáció számára el®nyös. Erre kiváló példa a kolibriés a hibiszkusz kapcsolata. A kolibri a hibiszkusz nektárjával táplálkozik. Anektár elfogyasztása közben beporozza a növényt, melynek így biztosítja aszaporodását.

4

Page 5: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1.2. Di�erenciálegyenletek

A di�erenciálegyenletekkel a valóságban lezajló folyamatok jól közelíthet®-ek. Ezeknél az egyenleteknél egyfajta függvénykapcsolat áll fenn az ismeret-len függvény és annak deriváltjai között. Ha több egyenletünk van, akkordi�erenciálegyenlet-rendszerr®l beszélünk.

1. De�níció. Legyen D ⊂ R × Rn összefügg® nyílt halmaz (tartomány),

f : D → Rn folytonos függvény (t0, p0) ∈ D. Ha az I ⊂ R nyílt intervallumra,

és az x : I → Rn di�erenciálható függvényre teljesül, hogy

1. (t, x(t)) ∈ D minden t ∈ I esetén,

2. x(t) = f(t, x(t)) minden t ∈ I esetén,

3. x(t0) = p0

akkor az x függvényt az I intervallumon az f jobboldalú explicit els®rend¶közönséges di�erenciálegyenlet (rendszer) megoldásának nevezzük azx(t0) = p0 kezdeti feltétel mellett.

1. Megjegyzés. A de�nícióban formailag csak az els®rend¶ egyenlet fogal-mát határoztuk meg, azonban egy g : Rn+1 → R folytonos függvény általmeghatározott explicit n-ed rend¶ egyenlet

x(n)(t) = g(t, x(t), x(t), . . . , x(n−1)(t)) (1)

x1 = x, x2 = x, . . . , xn = x(n−1) (2)

új függvények bevezetésével az alábbix1(t) = x2(t)

x2(t) = x3(t)

...

xn(t) = g(t, x1(t), x2(t), . . . , xn(t))

(3)

els®rend¶ rendszerré transzformálható. Ezzel tehát az explicit n-ed rend¶közönséges di�erenciálegyenlet fogalma is de�niálható.

Legyen D ⊂ R × Rn tartomány, f : D → Rn folytonos MVLL függvény,

(t0, p0) ∈ D, akkor az x(t) = f(t, x(t)) di�erenciálegyenlet x(t0) = p0 kezdetifeltételt kielégít® megoldását Φ(t, t0, p0) jelöli.

5

Page 6: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

A gyakorlatban a di�erenciálegyenlet modelleknél gyakran keressük az

x(t) = f(t, x(t)) (4)

egyenlet azon megoldását, ahol

x(t0) = p0 (5)

kezdeti feltétel teljesül, azaz a megoldásgörbe áthalad a P0(t0, p0) adott pon-ton. Az ilyen problémákat (Cauchy-féle) kezdetiérték-feladatoknak nevezzük.

1.3. Egyensúlyi pontok és stabilitás

A di�erenciálegyenleteknek vizsgálhatjuk egyensúlyi pontjait.

2. De�níció. Az x(t) = f(x(t)) autonóm di�erenciálegyenlet rendszer egyen-súlyi pontjának nevezzük a c ∈ Rn megoldásokat, ha

x(t) = c, ∀t esetén. (6)

Az id®ben állandó konstans megoldások, azaz az

f(x(t)) = c (7)

megoldás a rendszer egyensúlyi pontja. Az egyensúlyi pontok vizsgálatánálaz

f(x(t)) = 0 (8)

egyenletet oldjuk meg. Az egyensúlyi pont stabilitásával foglalkozunk. At→ Φ(t, t0, p0) megoldás stabilis, ha

• [t0,+∞) ⊂ I(t0, p0),

• minden ε > 0 és t1 ∈ [t0,+∞) számhoz létezik olyan δ > 0, hogy(t1, q) ∈ D,

| q − Φ(t1, t0, p0) |< δ esetén

[t1,+∞) ⊂ I(t1, q) és | Φ(t, t1, q)− Φ(t, t0, p0) |< ε, ha t ≥ t1.

A megoldást instabilisnak nevezzük, ha nem stabilis. Asszimptotikusan sta-bilisnak nevezzük, ha stabilis és

| Φ(t, t1, q)− Φ(t, t0, p0) |→ 0, ha t→ +∞.

6

Page 7: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1. Állítás. Az x(t) = A(t)x(t) lineáris di�erenciálegyenlet bármely meg-oldásának stabilitása (aszimptotikus stabilitása) egyenérték¶ az azonosan 0megoldás stabilitásával (aszimptotikus stabilitásával).

1. Lemma. 1. Ha az A mátrixnak van nemnegatív valós rész¶ sajátértéke,akkor az

x(t) = A(t)x(t) (9)

rendszer nem aszimptotikusan stabilis.

2. Ha az A mátrixnak van pozitív valós rész¶ sajátértéke, akkor az

x(t) = A(t)x(t) (10)

rendszer nem stabilis, azaz instabilis.

3. Ha az A mátrixnak van olyan 0 valós rész¶ sajátértéke, amely a minimál-polinomnak többszörös gyöke, akkor az

x(t) = A(t)x(t) (11)

rendszer nem stabilis, azaz instabilis.

1. Tétel. (Routh-Hurwitz kritérium) Legyen

p(x) = xn + an−1xn−1 + . . .+ a1x+ a0 (12)

egy tetsz®leges polinom. A p minden gyökének valósrésze pontosan akkornegatív, ha az alábbi n×n-es mátrix pozitív de�nit, azaz f®minorjai pozitívak.

an−1 1 0 . . . . . . 0an−3 an−2 an−1 1 0 . . ....

. . . . . . . . . . . ....

.... . . . . . . . . . . .

...0 . . . 0 a0 a1 a20 . . . . . . . . . 0 a0

7

Page 8: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

A nemlineáris di�erenciálegyenletek egyensúlyi pontjának stabilitásvizs-gálatát a lineáris esetre vezetjük vissza, ilyenkor a stacionárius pontok kör-nyezetében kell a di�erenciálegyenleteket linearizálni. Tegyük fel, hogy M?

a

dM

dt= f(M) (13)

egyensúlyi pontja és

M(t) = M? +m(t), ahol m(t) << M?. (14)

Végezzük el f(M) Taylor sorfejtését:

f(M(t)) = f(M? +m(t)) = f(M?) +m(t)f ′(M?) +1

2m(t)2f ′′(M?) + . . .

(15)

Tehát:

dm

dt=dM

dt= f(M(t)) = f(M?) +m(t)f ′(M?) +

1

2m(t)2f ′′(M?) + . . . (16)

A magasabb rend¶ kifejezések elhagyásával:

dm

dt= m(t)f ′(M?). (17)

Tehát a megoldás a lineáris rendszerhez:

m(t) = m0 exp(tdf

dM(M?)

). (18)

3. De�níció. A dMdt

= f(M) nemlineáris di�erenciálegyenlet egyensúlyi pont-

ját jelöljük M?-gal és m(t) = m0 exp(t dfdM

(M?))a megoldás. Az egyensúlyi

pont lineárisan stabil, ha m(t) → 0-hoz, míg t → ∞-hez. Más szóval azegyensúlyi pont lineárisan stabil, ha

df

dM(M?) < 0. (19)

8

Page 9: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1.4. Di�erenciálegyenletek megoldása Matlab segítségével

A di�erenciálegyenletek egy része oldható meg direkt módszerrel, így nume-rikus módszerek alkalmazásával a Matlab nev¶ program segítségével is meg-oldhatjuk a feladatokat. A Matlab egy speciális programozási nyelv, amelynumerikus számítások elvégzésére szolgál. Közönséges di�erenciálegyenletekmegoldására számos függvényt használhatunk, mint például az ode23 vagyaz ode45 beépített függvények. Ezek di�erenciálegyenlet megoldó solverek, aszakdolgozatom során az ode45 függvényt fogjuk használni a kezdetiérték fel-adatok megoldására. A függvény egy negyed- vagy ötödrend¶ Runge-Kuttamódszer szerint oldja meg az egyenletet, mely során megfelel® lépésközzellép és az eltérést vizsgálja. A lépésköz megválasztása adaptív módon m¶kö-dik, tehát nem az általunk megadott ekvidisztáns rácshálón számol, hanemaz általunk megadott pontosságot használja fel, illetve akkor választ kisebblépésközt, ha a hibakorlátnál nagyobb a különbség.

Tekintsük az {x(t) = f(t, x)

x(t0) = c(20)

di�erenciálegyenletet az ode45 függvénnyel tudjuk kiszámolni. A függvénymeghívásakor használt paraméterek:

• az egyenlet jobb oldalát de�niáló f függvény,

• azon t értékek vektora, ahol a numerikus közelítést ki szeretnénk szá-molni,

• a c kezdeti érték.

Tekintsük a következ® példát és vizsgáljuk meg a Matlab program haszná-latával! Legyen az f függvény az x2, a kezdeti érték az x(t0 = 0) = 1, ést = 10-ben keressük a megoldást, tehát a kezdeti-érték feladat{

x(t) = x2

x(0) = 1(21)

alakú. A Matlab-ban a függvények megírását function parancs megadásávalkezdjük:

function y=de(t,x)

y=x^{2}.

9

Page 10: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

A következ®kben az intervallumot adjuk meg:

>> i=0:0.5:10.

Majd az ode45 függvényt hívjuk segítségül:

>> ode45('de',i,1).

A többlépéses módszereket például az ode113 beépített függvénnyel oldhat-juk meg. Használata el®nyösebb az ode45-tel szemben, ha a függvény ki-számítása költséges, mert kisebb számítás igény¶. Néhány további beépítettfüggvény az ode123t és az ode123tb, melyek alacsonyabb pontosságúak, vagyaz ode15, mely változó lépéshosszú, így el®nyösebb használata, ha az ode45m¶ködése nagyon lassú. Emellett a merev feladatok megoldásához alkalmasaz ode15s vagy az ode23s függvény.

2. Egyszerepl®s modellek

2.1. Korlátlan növekedés modellje

A populáció száma exponenciálisan növekszik, de állandó növekedés nem kö-vetkezik be, hiszen a növekedési ütem függ a születési, halálozási rátától,illetve a bevándorlás és a kivándorlás ütemét®l. Feltesszük, hogy a be- éskivándorlási ráta nulla, akkor az exponenciális növekedést leíró di�erenciál-egyenlet

dN

dt= f(N) = Ng(N) (22)

alakú, ahol g(N) a bels® növekedési ütem. A Malthus modell szerint felírvaaz egyenletet

dN

dt= rN, (23)

ahol r a gyarapodási ráta és

r = b− d = g(N), (24)

tehát a születési és a halálozási ráta különbségéb®l származik. A populációegyedszámát egy t id®pontban megadhatjuk, a megoldás ekkor:

N(t) = N0ert. (25)

10

Page 11: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Ennek hátránya, hogy nem reálisan modellezi a valóságot, mert a t→∞-beesetén a populáció a végtelenbe tart.

Határozzuk meg a modell egyensúlyi pontját, mely az a pont, ahol tid®függvényben a rendszer nyugalmi állapotban van. Az egyensúlyi pontokaz

dN

dt= f(N) = Ng(N) = Nr = 0 (26)

egyenlet gyökei, ahol r ∈ R \ {0}, azaz N∗ = 0. Lineáris esetben az r el®jeledönti el a stabilitást. Ha r < 0, akkor stabil az egyensúlyi pont, ellenkez®esetben instabil a modell egyensúlyi pontja.

Vegyük az f(N) = rN egyenletet, melyben az r a gyarapodási ráta.Nézzük meg, hogy mi történik, ha a kezdeti értéket változtatjuk.

Ha r-t 2-nek választjuk, akkor oldjuk meg az ˙N(t) = 2N di�erenciál-egyenletet a [0, 1] intervallumon Matlab segítségével:

function dNdt=kor(t,N)

dNdt=[2*N];

A Matlab-ban az ode45 függvény segítségével oldjuk meg:

[t1,N1] = ode45(@kor,[0;1],0);

[t2,N2] = ode45(@kor,[0;1],1);

[t3,N3] = ode45(@kor,[0;1],5);

[t4,N4] = ode45(@kor,[0;1],30);

hold on

subplot(2,1,1)

plot(t1,N1(:,1),t2,N2(:,1),t3,N3(:,1),t4,

N4(:,1),'Linewidth', 1.5);

title('Kezdeti érték változtatása');

xlabel('t id®');

ylabel('populáció');

legend('r=2, N0=0','r=2, N0=1', 'r=2, N0=5',

'r=2, N0=30')

hold off

11

Page 12: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1. ábra. Korlátlan növekedés modellje

Az (1). ábrán látható, ha a gyarapodási ráta pozitív, akkor exponenciáli-san növekszik a populáció az adott intervallumon belül. A modell egyensúlyipontja 0, tehát a kezdeti értéket ha 0-nak választjuk látható, hogy nem tör-ténik növekedés. Ha r = 2 és 0-tól különböz® kezdeti értékeket vizsgálunk,akkor a kezdeti értékt®l függ® gyorsasággal n® a populáció. Az alsó ábrán egycsökken® populáció látható, hiszen a gyarapodási rátát egy negatív számnakválasztottuk, −2-nek. Ebben az esetben is 4 különböz® kezdeti értéket vizs-gáltunk, ha a kezdeti értéket 0-nak választottuk, akkor szintén nem történtsemmi változás, egyensúlyi helyzet állt fenn. Ha N0-nak pozitív értékeket ad-tunk, akkor pedig egy exponenciális csökkenés �gyelhet® meg. Minél kisebba kezdeti érték annál gyorsabban tart a 0-hoz.

12

Page 13: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

2.2. Korlátos növekedés modellje

A gyarapodási ráta növekedése függ a környezeti eltartóképességt®l (ener-giaforrás, h®mérséklet, stb.). Ezt a logisztikus növekedési modell (Verhulstmodell) írja le az alábbi

g(N) = r(

1− N

K

)(27)

egyenlettel, melyben r a lineáris születési arány és K az eltartóképesség. AzN << K esetén a

dN

dt' rN ⇒ N ' N0e

rt (28)

közelíthetjük. Azonban, ha N tart K-hoz, akkor dNdt→ 0, tehát a növekedési

ráta 0-hoz tart. Mivel

dN

dt= rN

(1− N

K

), így (29)

N(t) =N0Ke

rt

K +N0(ert − 1)(30)

tart K-hoz, ha t → ∞-hez. Bár a logisztikus növekedési modell a korláto-zott növekedés miatt közelebb áll a valósághoz, f®ként a népességi adatokesetén kapunk pontos eredményt, de eltérés lehet más egyedek esetében (pl.baktériumok, gombák, patkányok, stb.).

Határozzuk meg ennek a modellnek is az egyensúlyi pontját, mely az apont, ahol t id®függvényben a rendszer nyugalmi állapotban van. Az egyen-súlyi pontok az

dN

dt= f(N) = Ng(N) = Nr = 0 (31)

egyenlet gyökei, ahol r ∈ R \ {0}. Tehát

f(N) = rN(

1− N

K

)= 0 (32)

egyenlet megoldásának meghatározásával kaphatjuk meg a modell egyensúlyipontját. Jelöljük N∗-gal az egyensúlyi pontot!

Az egyenlet pontosan abban a két esetben 0:

13

Page 14: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1. ha az rN = 0, de mivel r ∈ R \ {0}, így az rN pontosan akkor 0, haN∗ = 0,

2. ha az 1− NK

= 0, tehát NK

= 1, amelyb®l következik, hogy N∗ = K.

Nemlineáris esetben az r el®jele dönti el a stabilitást. Ezért számítsuk kiaz f(N) deriváltját és vizsgáljuk meg az egyensúlyi pontokban az r el®jelét:

f(N) = r − 2rN

K(33)

1. ha az N∗ = 0, akkor f(0) = r > 0 ⇒ instabil,

2. ha az N∗ = K, akkor f(K) = −r < 0 ⇒ stabil.

Vegyük az f(N) = rN(

1− NK

)egyenletet, ahol r a lineáris születési arány

és K az eltartóképesség. Ebben az esetben is azt vizsgáljuk, hogy különböz®kezdeti értékek esetén milyen változást �gyelhetünk meg a populáció számát

tekintve. Vizsgáljuk az N(t) = 2N(

1 − N200

)di�erenciálegyenletet a [0, 5]

intervallumon Matlab segítségével:

function dNdt=kor2(t,N)

dNdt=[2*N*(1-N/200)];

A Matlab-ban az ode45 függvény segítségével oldjuk meg:

[t1,N1] = ode45(@kor2,[0;5],50);

[t2,N2] = ode45(@kor2,[0;5],100);

[t3,N3] = ode45(@kor2,[0;5],200);

[t4,N4] = ode45(@kor2,[0;5],220);

hold on

subplot(2,1,1)

plot(t1,N1(:,1),t2,N2(:,1),t3,N3(:,1),

t4,N4(:,1),'Linewidth', 1.5);

title('Kezdeti érték változtatása');

xlabel('t id®');

ylabel('populáció');

legend('K=200, r=2, N0=50','K=200, r=2, N0=100'

'K=200, r=2, N0=200','K=200, r=2, N0=220')

hold off

14

Page 15: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

2. ábra. Korlátos növekedés modellje

A (2). ábrán látható, hogy a megoldás tart az eltartóképességhez, vagyis200-hoz, viszont minél nagyobbnak választjuk r-t, azaz a gyarapodási rátát,annál gyorsabban fog a K-hoz tartani. Az els® ábrán mikor a kezdeti értéketegy K-nál kisebb számnak választottuk, akkor a függvény exponenciálisann®t, mikor N0 > K, akkor pedig exponenciálisan csökkent. Az alsó ábránugyanez �gyelhet® meg, de mivel r értékét nagyobbnak választottuk, ígygyorsabban tart az eltartóképességhez.

3. Kétszerepl®s modellek

3.1. Ragadozó-zsákmány modellek

A leggyakoribb ragadozó-zsákmány modell a Lotka-Volterra modell. AlfredLotka az els®k közt publikálta Analytical note on certain rhythmic relations

15

Page 16: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

in organic systems cím¶ cikkét, melyben egy növényev® faj és táplálékánakmodelljét vizsgálta di�erenciálegyenletek segítségével. Kutatása során arraaz eredményre jutott, hogy e két faj matematikai modellje periodikusan osz-cillál. T®le függetlenül az olasz Vito Volterra szintén arra a következtetésrejutott, hogy a megoldás a kezdeti értékekt®l függ® t periódusid®vel folyama-tosan oszcillál. Volterra az Adriai-tenger halállományát vizsgálta, melybenösszevetette az I.világháború idején a különböz® kiköt®kben kifogott porcoshalak arányát a teljes kifogott halmennyiséggel. Arra lett �gyelmes, hogy aragadozók száma egyre n®tt a halászat mértékének csökkenésével, míg ebbenaz id®szakban ezen halak táplálékául szolgáló kisebb halak aránya csökkent.Illetve azt is meg�gyelte, hogy egy periódus alatt a ragadozók és a zsákmá-nyok átlaga független a kezdeti értékt®l. Vagyis ha csökkentjük a halászatmértékét, akkor n® a zsákmányállatok száma, míg a ragadozók kihalási rátájacsökken. Tehát mindketten arra a következtetésre jutottak, hogy a zsákmánypopuláció növekedése függ az adott populáció méretét®l, míg csökkenését aragadozó populáció szabja meg. Ezzel szemben a ragadozók növekedését azsákmány populáció mérete határozza meg, míg csökkenésük az adott popu-láció méretét®l függ. A mai napig számos kérdés felmerül a Lotka-Volterramodell pontosságával kapcsolatban, de mégis ez a modell a populációdina-mika leggyakrabban használt modellje. Ha N(t) a zsákmány populációjaés P (t) a ragadozó populációja t id®ben, akkor a Lotka-Volterra modell akövetkez®képpen írható fel:

dN

dt= N(b− aP ) = f1(N,P ),

dP

dt= P (cN − d) = f2(N,P ).

(34)

Az egyenletrendszert átrendezve:dN

dt= bN − aNP = f1(N,P ),

dP

dt= cNP − dP = f2(N,P ),

(35)

ahol a,b,c,d ∈ R pozitív paraméterek.A feltevések a modellben:

• Az a paraméter mutatja a zsákmányállatok csökkenésének mértékét aragadozók hatására.

16

Page 17: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

• A b paraméter a zsákmányok növekedési rátája abban az esetben, hanincsenek zsákmány állatok.

• A d paraméter a ragadozó populáció csökkenését jelenti, abban az eset-ben, ha nincsenek zsákmány állatok.

• A zsákmányok száma a ragadozók hiányában korlátlan n®, ez a bNkifejezés a képletben.

• A zsákmányok hiányában a ragadozók halálozási rátája exponenciálisann®, ez a −dP kifejezés a fenti egyenletrendszerben.

Ennek a modellnek igaz vannak hátrányai, de hasznos a fontos kérdések meg-válaszolásához, illetve a valóságosabb modellek elkészítéséhez. Ez a f® moti-váció, hogy ezt a modellt tanulmányozzuk. Tegyük fel, hogy N és P nemne-gatívak! Határozzuk meg az egyensúlyi pontokat a fenti egyenletrendszerb®l,melyeket P ?-gal és N?-gal jelöljünk:

1.

dN

dt= N(b− aP ) = 0⇒ N = 0 vagy b− aP = 0 (36)

N? = 0 P ? =b

a(37)

2.

dP

dt= P (cN − d) = 0⇒ P = 0 vagy cN − d = 0 (38)

P ? = 0 N? =d

c(39)

Tehát az egyensúlyi pontok a (0, 0) és a(dc, ba

).

Vizsgáljuk meg a stabilitásukat a

J =

∂f1∂N

∂f1∂P

∂f2∂N

∂f2∂P

(40)

alakú Jacobi mátrix segítségével.

17

Page 18: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Helyettesítsük be a di�erenciálegyenlet-rendszerb®l N és P deriváltjait: ∂∂N

(b− aP )N ∂∂P

(b− aP )N

∂∂N

(cN − d)P ∂∂P

(cN − d)P

=

(b− aP ?) −aN?

cP ? cN? − d

. (41)

Helyettesítsük be a kapott egyensúlyi pontokat:

• A (0, 0) pontban:

J =

(b 00 −d

), (42)

majd határozzuk meg a mátrix sajátértékét:

det

(b− λ 0

0 −d− λ

)= 0 (43)

b− λ = 0⇒ λ = b (44)

vagy

−d− λ = 0⇒ λ = −d. (45)

A sajátértékek b és −d, ezért a (0, 0) egyensúlyi pont instabil.

• A(dc, ba

)pontban:

J =

(b− a

(ba

))−a(dc

)(c(ba

)) (c(dc

)− d) =

(0 −ad

ccba

0

), (46)

majd határozzuk meg a mátrix sajátértékét:

det

(0− λ −ad

ccba

0− λ

)= 0 (47)

(0− λ)2 −(−(adc

)(cba

))= 0

λ2 + db = 0

λ2 = −db

λ = ±√−db = ±i

√db. (48)

18

Page 19: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

A sajátértékek ±i√db, melyr®l belátható, hogy a

(dc, ba

)egyensúlyi pont

centrum, azaz a pályák zárt görbék. A [2]. forrásként megjelölt könyvbenerr®l részletes levezetés olvasható.

Szemléltessük a Matlab segítségével, hogy t id® függvényében hogyanalakul a két populáció mérete!

f = @(t,x) [x(1)-1/2*x(1)*x(2);x(1)*x(2)-x(2)];

[t,xa] = ode45(f,[0 50],[1/2 1/2]);

plot(t,xa(:,1), t, xa(:,2),'Linewidth', 1.5)

title('Lotka-Volterra modell')

ylabel('ragadozók és áldozatok')

xlabel('t id®')

legend('zsákmány','ragadozó')

3. ábra. Ragadozó-zsákmány modell I

A (3). ábrán az a = 12, b = 1, c = 1, és d = 1 paramétereket használtuk.

A pozitív konstansok behelyettesítésével látható, hogy a kezdeti értékekt®l(12, 12

)és az egyensúlyi ponttól ((0, 0), (1, 2)) eltér® értékeknél az egyedszá-

mok periodikusan változnak. Azt tapasztaljuk, hogy az id®ben el®rehaladvaegy állandó kilengéssel ingadozó (oszcilláló) görbét rajzol ki a ragadozó ésa zsákmány egyedszámának változása. Fontos, hogy a természetben ilyen

19

Page 20: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

állapot ritkán, vagy sohasem alakul ki, hiszen ott számtalan más tényez® isbefolyásolja a két állomány változását.

Rajzoljuk ki a Matlab segítségével a két fajt, hogy a megoldások az N(t)és P (t) fázissíkban legyenek ábrázolva! A (4). ábra a ragadozók és a zsákmá-nyok közti kölcsönhatást mutatja, egy körforgást, mely az egyensúlyi állapotkörül rajzolható ki.

f = @(t,x) [x(1)-1/2*x(1)*x(2);x(1)*x(2)-x(2)];

[t,xa] = ode45(f,[0 50],[1/2 1/2]);

plot(xa(:,1),xa(:,2),'Linewidth', 1.5)

title('Lotka-Volterra modell')

ylabel('ragadozók')

xlabel('zsákmány')

4. ábra. Ragadozó-zsákmány modell II

20

Page 21: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

3.2. Verseng® modell

A természetben a fajok versengésének fontossága nyilvánvaló. Csak egyet-len, kifejezetten egyszer¶ modellt vizsgálunk, de ez a módszer meglehet®senáltalános. Ezeknél a modelleknél két vagy több faj verseng ugyanazért akorlátozott táplálékforrásért vagy valamilyen módon gátolják egymás szapo-rodását. Például versenyezhetnek az élelmiszerforrásként szolgáló területért.1979-ben feljegyzések jelentek meg ezekr®l az érdekes jelenségekr®l, amelybenolyan természetben is meg�gyelhet® általános elv alapján mutatják be a ver-seng® modellt, mint két faj versengését ugyanazon korlátozott er®forrásért.Ennek eredményeképp az egyik faj kihal.

Nézzük a Lotka-Volterra verseng® modellt, melyben két faj, N1 és N2

egyértelm¶ növekedése látható a másik hiányában. Ennek a növekedésneka számba vétele a Lotka-Volterra modelleket sokkal valóságh¶bbé teszi. Azegyszer¶ség kedvéért most egy egyszer¶bb modellt vizsgálunk, amely tük-rözi a bonyolultabb modellek tulajdonságait, különösen a stabilitást. Ez amodell nem olyan korlátozott rendszer, mint a Lotka-Volterra-féle ragadozó-zsákmány modell. Ezáltal a vizsgálandó di�erenciálegyenlet-rendszer

dN1

dt= r1N1

[1− N1

K1

− b12N2

K1

]dN2

dt= r2N2

[1− N2

K2

− b21N1

K2

] (49)

alakú, ahol r1, K1, r2, K2, b12, b21 pozitív konstansok.Feltevések a modellben:

• Az r1 és az r2 a két faj születési rátája.

• A K1 és a K2 a két faj eltartóképessége.

• A b12 és a b21 a két faj közötti kapcsolatot fejezi ki. Feltehet®, hogy akét paraméter általában nem egyenl®.

• A b12 az N2-nek az N1-re gyakorolt hatása.

• A b21 az N1-nek az N2-re gyakorolt hatása.

21

Page 22: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Vezessünk be új változókat, legyenek:

u1 =N1

K1

, u2 =N2

K2

, τ = r1t,

% =r2r1, a12 = b12

K2

K1

, a21 = b21K1

K2

.

(50)

Az így kapott di�erenciálegyenlet-rendszer:du1dτ

= u1(1− u1 − a12u2) = f1(u1, u2)

du2dτ

= %u2(1− u2 − a21u1) = f2(u1, u2).

(51)

Az egyensúlyi pontokat az

f1(u1, u2) = f2(u1, u2) = 0

egyenlet megoldásai adják, jelöljük u?1-gal és u?2-gal. A fenti egyenletet meg-

oldva megkapjuk, hogy

1. u?1 = 0 és u?2 = 0, tehát a P1 = (0, 0),

2. u?1 = 1 és u?2 = 0, tehát a P2 = (1, 0),

3. u?1 = 0 és u?2 = 1, tehát a P3 = (0, 1),

4. u?1 = 1−a121−a12a21 és u?2 = 1−a21

1−a12a21 , ha u?1 ≥ 0, u?2 ≥ 0 és

a12a21 6= 1. Tehát a P4 pont koordinátái az(

1−a121−a12a21 ,

1−a211−a12a21

).

Az egyensúlyi pontok stabilitása az alábbi Jacobi-mátrix segítségével ad-ható meg:

J =

∂f1∂u1

∂f1∂u2

∂f2∂u1

∂f2∂u2

. (52)

Helyettesítsük be a di�erenciálegyenlet-rendszerb®l a deriváltakat:

J =

1− 2u1 − a12u2 −a12u1

−%a21u2 %(1− 2u2 − a21u1)

. (53)

Helyettesítsük be a kapott egyensúlyi pontokat:

22

Page 23: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

• A P1 = (0, 0) pontban a Jacobi-mátrix

J(P1) =

(1 00 %

)(54)

alakú. Számítsuk ki a mátrix sajátértékeit a

det

(1− λ 0

0 %− λ

)= 0 (55)

egyenlet megoldásával. Az alábbi

(1− λ)(%− λ) = 0 (56)

egyenletb®l következik, hogy a mátrix sajátértékei a

λ1 = 1 és a λ2 = % =r2r1. (57)

Mivel mindkét sajátérték pozitív, így a P1 egyensúlyi pontban instabila modell.

• Az P2 = (1, 0) pontban a Jacobi-mátrix

J(P2) =

(−1 −a120 %(1− a21)

)(58)

alakú. Számítsuk ki a mátrix sajátértékeit a

det

(−1− λ −a12

0 %(1− a21)− λ

)= 0 (59)

egyenlet megoldásával. Az alábbi

(−1− λ)(%(1− a21)− λ) = 0 (60)

egyenletb®l következik, hogy a mátrix sajátértékei a

λ1 = −1 és a λ2 = %(1− a21) =r2r1

(1− b21

K1

K2

). (61)

Tehát, ha az

a21 = b21K1

K2

> 1 (62)

23

Page 24: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

teljesül, akkor stabil a P2 = (1, 0) egyensúlyi pontban a modell. Hapedig az

a21 = b21K1

K2

< 1 (63)

igaz, akkor instabil a P2 = (1, 0) egyensúlyi pontban a modell.

• A P3 = (0, 1) pontban a Jacobi-mátrix

J(P3) =

(1− a12 0−%a21 −%

)(64)

alakú. Számítsuk ki a mátrix sajátértékeit a

det

((1− a12)− λ 0−%a21 −%− λ

)= 0 (65)

egyenlet megoldásával. Az alábbi

((1− a12)− λ)(−%− λ)− (−%a21) = 0 (66)

egyenletb®l következik, hogy a mátrix sajátértékei a

λ1 = −% = −r2r1

és a λ2 = 1− a12 = 1− b12K2

K1

. (67)

Tehát, ha az

a12 > 1 (68)

igaz, akkor stabil a P3 = (0, 1) egyensúlyi pontban a modell. Ha pediga

a12 < 1 (69)

teljesül, akkor instabil a P3 = (0, 1) egyensúlyi pontban a modell.

• A P4 =(

1−a121−a12a21 ,

1−a211−a12a21

)pontban a Jacobi-mátrix

J(P4) = (1− a12a21)−1(

a12 − 1 a12(a12 − 1)%a21(a21 − 1) %(a21 − 1)

)(70)

24

Page 25: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

alakú. Számítsuk ki a mátrix sajátértékeit a

det(1− a12a21)−1(

(a12 − 1)− λ a12(a12 − 1)%a21(a21 − 1) (%(a21 − 1))− λ

)= 0 (71)

egyenlet megoldásával. Az alábbi

(1− a12a21)−1{((a12 − 1)− λ)((%(a21 − 1))− λ)−−[(a12(a12 − 1))(%a21(a21 − 1))]} = 0

(72)

egyenletb®l következik, hogy a mátrix sajátértékei a

λ1,2 = [2(1− a12a21)]−1[(a12 − 1) + %(a21 − 1)±{[(a12 − 1) + %(a21 − 1)]2 − 4%(1− a12a21)(a12 − 1)(a21 − 1)}

12 ].(73)

Az egyensúlyi pont stabilitása függ a % = r2r1, a a12 = b12

K2

K1, és a21 = b21

K1

K2

nagyságától.A különböz® eseteket megvizsgálva kapjuk, hogy

1. az a12 = b12K2

K1< 1 és az a21 = b21

K1

K2< 1,

2. az a12 = b12K2

K1> 1 és az a21 = b21

K1

K2> 1,

3. az a12 = b12K2

K1< 1 és az a21 = b21

K1

K2> 1,

4. az a12 = b12K2

K1> 1 és az a21 = b21

K1

K2< 1.

Tekintsük át ezeknek az eredményeknek néhány ökológiai hatását!Az (1). esetben létezik olyan egyensúlyi pont, ahol mindkét faj egymás

mellett él. Ami az eredeti paramétereket illeti, (az (50). képlet alapján) ezekmegfelelnek a

b12K2

K1

< 1-nek és a b21K1

K2

< 1-nek. (74)

Ha K1 és K2 megközelít®leg azonos és a b12 és b21 által mért fajok köztiversengés nem túl er®s, akkor azt mondjuk, hogy a két faj egyszer¶bbenalkalmazkodik az alacsonyabb populációmérethez, mintha nem lenne versen-gés. Más szóval a verseny nem agresszív. Viszont ha a b12 és a b21 majdnem

25

Page 26: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

egyenl®ek és a K1 és a K2 különböz®ek, akkor nehezen határozható meg,hogy mi fog történni.

A (2). esetben ha a K-k körülbelül egyenl®ek, akkor a b12 és b21 nagy.Az elemzés szerint a verseny olyan, hogy mindhárom nem triviális egyensú-lyi állapot létezhet, de csak az (1, 0) és a (0, 1) egyensúlyi pontok stabilak.Az egy kényes kérdés, hogy végül melyik gy®z. Nagyban függ attól, hogyaz egyes fajok milyen kezdeti el®nyökkel indulnak. Ha N1-nek van kezdetiel®nye, akkor el®bb-utóbb a második faj kihal, u2 → 0-hoz és u1 → 1-heztart, tehát N1 tart K1-hez, vagyis az N1 maximális növekedési határa a K1

eltartóképesség. Így a versenyb®l az N2 kiesett. Másrészt ha N2-nek van kez-deti méret el®nye, akkor u1 → 0-hoz és u2 → 1-hez tart. Ez esetben N1 fajfog kihalni és N2 tart K2-höz, a környezeti eltartóképességéhez. Számítunkvalamely faj kihalására még akkor is, ha a kezdeti populációk közel vannaka választóvonalhoz, s®t valójában már elérték, hiszen az állandó, véletlensze-r¶ ingadozások mindenképp azt fogják eredményezni, hogy az egyik ui, aholi = 1, 2, a 0-hoz fog tartani.

Szemléltessük ezt az esetet gra�kusan a Matlab program segítségével!Legyen r1 = 2, r2 = 3, K1 = 3, K2 = 2, b12 = 5 és b21 = 4. Ekkor látható,hogy tényleg az a12 = b12

K2

K1> 1 és az a21 = b21

K1

K2> 1. Ha mindkét faj

kiindulási értékét 12-nek választjuk, akkor látható az (5).ábrán, hogy az N2

faj kihal, míg az N1 tart az eltartó képességéhez, tehát K1 = 3-hoz.

Programkód:

f = @(t,x) [2*x(1)*(1-1/3*x(1)-5/3*x(2));3*x(2)*(1-1/2*x(2)-4/2*x(1))];

[t,xa] = ode45(f,[0 10],[1/2 1/2]);

plot(t,xa(:,1), t, xa(:,2),'Linewidth', 1.5)

title('Verseng® modell')

ylabel('A két populáció')

xlabel('t id®')

legend('N1 faj','N2 faj')

26

Page 27: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

5. ábra. Verseng® modell ugyanazon kezdeti értékek esetén

Ha azt az esetet nézzük, ha az N2 fajnak van kezdeti el®nye, akkor a fentleírtak a (6).ábrán is jól láthatók, tehát az N1 kihal és N2 tart az eltartóké-pességéhez, K2 = 2-höz.

Programkód:

f = @(t,x) [2*x(1)*(1-1/3*x(1)-5/3*x(2));3*x(2)*(1-1/2*x(2)-4/2*x(1))];

[t,xa] = ode45(f,[0 10],[1/2 1]);

plot(t,xa(:,1), t, xa(:,2),'Linewidth', 1.5)

title('Verseng® modell')

ylabel('A két populáció')

xlabel('t id®')

legend('N1 faj','N2 faj')

27

Page 28: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

6. ábra. Verseng® modell különböz® kezdeti értékek esetén

A (3). és a (4). esetekben az egyes fajok közti versenyekben az egyik fajsokkal er®sebb, mint a másik. Vagy az eltartó képességek eléggé különböznek,ezáltal az

a12 = b12K2

K1

< 1 és az a21 = b21K1

K2

> 1, (75)

vagy alternatív módon az

a12 = b12K2

K1

> 1 és az a21 = b21K1

K2

< 1. (76)

Ezek nagyon meghatározóak a végs® eredményben. A (3).-nál az u1 fajokdominálnak a versenynél és a másik u2 fajok kihalnak. Ezzel szemben a(4).-ben ez fordítva történik és u1 fog kihalni.

Bár nem mindegyik esetb®l következik a fajok kihalása, de (3). és (4).ezt eredményezi, illetve a (2). is, hiszen ez elkerülhetetlen a népességi szintektermészetes ingadozása következtében. Ez vezetett a versenytársak kizárásá-hoz, melyet fentebb említettünk. Vegyük azt észre, hogy a feltételek függeneka bevezetett paraméter csoportoktól, a12-t®l és a21-t®l. A növekedési ütemarányának paramétere (%) nem befolyásolja a stabilitási eredményeket, csaka rendszer dinamikáját. Mivel a12 = b12

K2

K1és a21 = b21

K1

K2, a feltételek a ver-

senytársak kizárásánál er®sen függnek a verseny és az eltartóképesség köztikölcsönhatástól, olyannyira, mint a kiindulási feltételekt®l a (2). esetben.

28

Page 29: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Tekintsük azt az esetet, ha van kis és nagy állatokat átfogó két fajcsoportés mindketten ugyanazért a f¶ért, ugyanazon területen versengenek. Azt istegyük fel, hogy egyformán versenyképesek, tehát b12 = b21. Legyen N1 anagy és N2 a kis állatok, K1 < K2, így

a12 = b12K2

K1

< b21K2

K1

= a21. (77)

Nézzük meg mi történik, ha b12 = 1 = b21 és a12 < 1, a21 > 1. Ekkor azN1 → 0-hoz és N2 → K2-höz, tehát a nagyobb állatok fognak kihalni. Egyspeciális helyzet az a12 = 1 = a21, a valóságban nem valószín¶ a gyakorisztochasztikus változékonyság a természetben. Ebben az esetben egy vagymás fajok versenyb®l való kizárása is el®fordulhat.

3.3. Mutualizmus és szimbiózis

Számos példa van arra, hogy kett® vagy több faj olyan együttm¶ködést foly-tat, amely mindegyikük számára el®nyös. A mutualizmus vagy a szimbiózisgyakran fontos szerepet játszik egyes fajok fenntartásában. A mutualizmus-ra megfelel® példa az állatok általi virágmegporzás, mely mindkét populációel®nyére válik. A növény számára ez az ivaros szaporodást teszi lehet®vé, míga megporzó egyed számára ez a táplálékfelvétel egyik formája. A szimbiózis,másnéven együttélés a mutualizmus egyik formája. Ez egy szorosabb kapcso-lat a fajok között. Erre jó példa a fák szétroncsolását végz® gombák és egyesbaktériumok között fennálló szimbiózis. A gomba szénforráshoz jutattja abaktériumokat a lebontó tevékenysége révén, míg a baktériumok biztosítjáka gomba fejl®déséhez szükséges organikus anyagokat. Még akkor is, ha atúlélésük nem forog kockán, a mutualizmusból vagy szimbiózisból származóközös el®ny nagyon fontos lehet. Az elméleti ökológia ezen területe nem lettolyan széles körben tanulmányozva, mint a többi, még két fajra sem, annakellenére, hogy fontossága összehasonlítható a ragadozó-zsákmány és a versenymodellekkel. Ez részben annak köszönhet®, hogy az egyszer¶ Lotka-Volterramodellek furcsa eredményeket hoztak. A legegyszer¶bb mutualizmus modellegyenérték¶ a klasszikus Lotka-Volterra ragadozó-zsákmány modellel:

dN1

dt= r1N1 + a1N1N2

dN2

dt= r2N2 + a2N2N1,

(78)

29

Page 30: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

ahol r1,r2,a1 és a2 pozitív valós konstansok. Mivel dN1

dt> 0 és dN2

dt> 0, így

N1 és N2 korlátlanul n®nek.A reális modell szemlélteti:

• a kölcsönös hasznot mindkét faj számára (általánosan annyi faj számá-ra, ahány a modellben szerepel),

• számos pozitív egyensúlyi állapotát vagy a határciklus típusú oszcillá-ciót.

Ahhoz, hogy egy értelmes modellt készítsünk el 2 fajjal, az els® lépés,hogy beiktatunk egy korlátozott eltartóképességet mindkét faj számára és�gyelembe vesszük az alábbi egyenletrendszert:

dN1

dt= r1N1

(1− N1

K1

+ b12N2

K1

)dN2

dt= r2N2

(1− N2

K2

+ b21N1

K2

),

(79)

ahol r1, r2, K1, K2, b12 és b21 pozitív konstansok. Ha ugyanúgy azokat az újváltozókat használjuk, mint a verseny modellnél (50) (A verseny modellnék ab-k el®tt negatív el®jelek vannak!), akkor megkapjuk az alábbi egyenletrend-szert:

du1dτ

= u1(1− u1 − a12u2) = f1(u1, u2)

du2dτ

= %u2(1− u2 − a21u1) = f2(u1, u2).

(80)

A bevezetett új változók:

u1 =N1

K1

, u2 =N2

K2

, τ = r1t,

% =r2r1, a12 = b12

K2

K1

, a21 = b21K1

K2

.

(81)

Vizsgáljuk meg a modell egyensúlyi pontjait, amit az

f1(u1, u2) = f2(u1, u2) = 0

egyenlet megoldásai adnak, jelöljük (u?1, u?2)-gal. Az egyenletet megoldva kap-

juk:

30

Page 31: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

1. az u?1 = 0 és u?2 = 0, tehát a P ?1 = (0, 0),

2. az u?1 = 1 és u?2 = 0, tehát a P ?2 = (1, 0),

3. az u?1 = 0 és u?2 = 1, tehát a P ?3 = (0, 1),

4. az u?1 = 1+a12δ

és u?2 = 1+a21δ

pozitív, ha δ = 1 − a12a21 > 0.

Tehát a P ?4 pont koordinátái

(1+a12δ, 1+a21

δ

).

Az egyensúlyi pontok stabilitása az alábbi Jacobi-mátrix segítségével adhatómeg:

J =

∂f1∂u1

∂f1∂u2

∂f2∂u1

∂f2∂u2

. (82)

Helyettesítsük be a fenti di�erenciálegyenlet-rendszerb®l a deriváltakat:

J =

1− 2u1 − a12u2 −a12u1

−%a21u2 %(1− 2u2 − a21u1)

. (83)

Majd helyettesítsük be a mátrixba a verseng® modellhez hasonlóan akapott P ?

1 , P?2 , P

?3 és P ?

4 egyensúlyi pontokat és számítsuk ki a mátrix sa-játértékeit. Mivel a P ?

1 , P?2 , P

?3 egyensúlyi pontok megegyeznek a P1, P2, P3

egyensúlyi pontokkal és a Jacobi-mátrixok is ugyanazok, így a sajátértékekis megegyeznek a verseng® modell P1, P2, P3 egyensúlyi pontjának saját-értékeivel. Tehát a P ?

1 egyensúlyi pontban vett Jacobi-mátrix sajátértékeia

λ1 = 1 és a λ2 = % =r2r1. (84)

A P ?2 egyensúlyi pontban vett Jacobi-mátrix sajátértékei a

λ1 = −1 és a λ2 = %(1− a21) =r2r1

(1− b21

K1

K2

). (85)

A P ?3 egyensúlyi pontban vett Jacobi-mátrix sajátértékei a

λ1 = −% = −r2r1

és a λ2 = 1− a12 = 1− b12K2

K1

. (86)

31

Page 32: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

A P ?4 =

(1+a12δ, 1+a21

δ

)pontban a Jacobi-mátrix

J(P ?4 ) =

(1− 21+a12

δ− a12 1+a21δ

−a12 1+a12δ

−%a21 1+a21δ%(

1− 21+a21δ− a21 1+a12δ

) ) (87)

alakú. Számítsuk ki a mátrix sajátértékeit a

det

(1− 21+a12

δ− a12 1+a21δ

)− λ −a12 1+a12δ

−%a21 1+a21δ

(%(

1− 21+a21δ− a21 1+a12δ

))− λ

= 0

(88)

egyenlet megoldásával. Az alábbi{(1− 2

1 + a12δ

− a121 + a21δ

)− λ}

{(%(

1− 21 + a21δ

− a211 + a12δ

))− λ}−

−(− a12

1 + a12δ

)(− %a21

1 + a21δ

)= 0

(89)

egyenletb®l következnek a mátrix sajátértékei.A sajátértékek kiszámítása után látható, hogy mindhárom egyensúlyi

pont instabil. A P ?1 = (0, 0) instabil, az P ?

2 = (1, 0) és a P ?3 = (0, 1) in-

stabil nyeregpont.Ha

1− a12a21 < 0,

akkor már csak 3 egyensúlyi pont lesz, a P ?1 , a P

?2 és a P ?

3 , így a populációkkorlátlan n®nek. Ez jól látható, ha az egyenletrendszerek alapján gra�kusanábrázoljuk a null klinákat a fázis síkban, nevezetesen f1 = 0-t és f2 = 0-t. Afázispályák a végtelenhez tartanak a tartományban, amelyben u1 → ∞-hezés u2 → ∞-hez tart. Ha a paramétereket r1 = 1-nek, r2 = 2-nek, K1 = 2-nek, K2 = 3-nak, b12 = 2-nek és b21 = 1-nek választjuk és N1 és N2 a[−2.5, 2.5] intervallumban van értelmezve, akkor az 1 − a12a21 = −1, tehátnegatív. Emellett mivel a δ negatív, így csak a P ?

1 , a P?2 és a P ?

3 egyensúlyipontok léteznek. Az iránymez®k kirajzolása után a (7).ábrán látható, hogya fázispályák valóban a végtelenhez tartanak a tartományban. A (8). ábránegy törött vonalat látunk, ami szemlélteti, hogy a modell elszáll a végtelenbe.

32

Page 33: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Programkód:

[x1, x2] = meshgrid(-2.5:0.5:2.5, -2.5:0.5:2.5);

x1dot = x1.*(1-1/2*x1 + 2/2 *x2);

x2dot = 2*x2.*(1-1/3*x2+1/3*x1);

quiver(x1,x2,x1dot, x2dot)

title('Iránymez®')

ylabel('N2 faj')

xlabel('N1 faj')

7. ábra. Iránymez® kirajzolása I.

33

Page 34: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

8. ábra. A mutualizmus modell I.

Ha1− a12a21 > 0,

akkor a negyedik egyensúlyi állapot, a P ?4 is létezik a pozitív negyedben.

A mátrix sajátértékeib®l leolvasható, hogy ez stabil egyensúlyi helyzet, ezegy csomópont szingularitás a fázis síkban. Itt az összes pálya a pozitív ne-gyedben, u?1 > 1-hez és u?2 > 1-hez tart. Tehát N1 > K1 és N2 > K2 és azösszes faj populációjának az egyensúlyi állapota megnövekedik elszigeteltség-ben. Ha a paramétereket r1 = 1-nek, r2 = 2-nek, K1 = 2-nek, K2 = 1-nak,b12 = 1-nek és b21 = 0.5-nek választjuk és N1 és N2 a [−4, 4] intervallumbanvan értelmezve, akkor az 1− a12a21 = 0.5, tehát pozitív. Emellett mivel a δpozitív, így mind a 4 egyensúlyi állapot létezik, a P ?

4 = (3, 1). A (9). ábránaz iránymez®k láthatók, míg a (10). ábra mutatja, hogy valóban N1 > K1 ésN2 > K2, hiszen mindkét faj túln®tt eltartóképességén.

34

Page 35: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

9. ábra. Iránymez®k kirajzolása II.

10. ábra. A mutualizmus modell II.

Ennek a modellnek vannak bizonyos hátrányai. Az egyik a korlátlannövekedés és a véges pozitív egyensúlyi állapot közti érzékenység. Ez függaz a12a21 < 1 egyenl®tlenségt®l, amely az eredeti paraméterek szempontjábólazt jelenti, hogy b12b21 < 1. A b-k az új paraméterek bevezetése nélküliértékek. Tehát, ha bármely faj szimbiózisa túl nagy, az utóbbi feltétel nemteljesül és mindkét faj populációja korlátlan n®.

35

Page 36: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

4. Összefoglalás

Az els® fejezetben a populációdinamikát mutattuk be, illetve azt, hogy di�e-renciálegyenletekkel modellezzük egy populáció méretének változását. Majdaz ehhez szükséges alapfogalmakat de�niáltuk, a feladatok megoldásához se-gítségül szolgáló Matlab nev¶ programozási nyelvet ismertettük. Itt foglal-koztunk a nemlineáris és a lineáris di�erenciálegyenletek stabilitásával, azegyensúlyi pontok vizsgálatával.

A következ® fejezetben a korlátlan és a korlátos növekedés modelljévelfoglalkoztunk. A korlátlan modell egyensúlyi pontja 0 volt, így a stabilitásta gyarapodási ráta el®jele döntötte el. Negatív el®jel esetén stabil volt amodell, ilyenkor a populáció exponenciálisan csökkent. Pozitív gyarapodásiráta esetén exponenciálisan n®tt a populáció. A korlátos modell egyensúlyipontjai 0 és K (az eltartóképesség) voltak. Itt is mindkét esetben a gyarapo-dási ráta el®jele döntötte el hasonló módon a stabilitást, illetve az ábrákonis látható, hogy a populáció mérete közelített az eltartóképességhez.

A harmadik fejezetben a kétszerepl®s modellekkel foglalkoztunk. El®szöra Lotka-Volterra-féle ragadozó-zsákmány modellt vizsgáltuk. A kapott kétegyensúlyi pont a (0, 0), melyben instabil és a (d

c, ba) pont, melyben a modell

egy centrum. Matlab segítségével gra�kusan is szemléltettük, hogy az egyed-számok periodikusan változnak és oszcilláló görbét rajzolnak ki. Az általunkvizsgált következ® modell a verseng® modell volt. Itt 4 egyensúlyi pontotkaptunk, a (0, 0)-t, itt instabil volt a modell. Az (1, 0) egyensúlyi pontbana modell stabilitását az a21, míg a (0, 1)-ben az a12 döntötte el. Ha 1-nélnagyobbak, akkor stabil, ellenkez® esetben instabil a modell. A 4. egyensúlyipont stabilitását is az határozta meg, hogy az a12 és a a21 nagyobb vagykisebb, mint 1. Emiatt ezeknek az egyenl®tlenségeknek ökológiai hatásaitmegvizsgáltuk. Itt készítettünk numerikus szimulációt arra az esetre, amikoregyenl® az eltartóképesség és a verseng® hatás elég nagy. A kapott ered-ményeink alapján, ha valamelyik fajnak van kezdeti el®nye, akkor a másikfaj kihal, de ugyanazon kezdeti érték esetén is az egyik faj kihal az állandóingadozás következtében. A szakdolgozatban végül a mutualizmus modellelfoglalkoztunk. Ebben az esetben is 4 egyensúlyi pontot kaptunk, az els® 3ugyanaz, mint az el®bbi modellnél. A pontok instabilak, s®t (0, 1) és (1, 0)pontokban egy instabil nyereg. A Matlab segítségével gra�kusan ábrázoltukazt az esetet, amikor a végtelenhez tartanak a populációk, illetve amikor apopuláció mérete az eltartóképességet is meghaladja, korlátlanul n®nek.

36

Page 37: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Hivatkozások

[1] N. Bacaër: A Short History of Mathematical Population Dynamics,Springer, 2011.

[2] Dr. Ruth E. Baker: Mathematical Biology and Ecology Lecture Notes,2011

[3] Vincenzo Capasso: Mathematical Structures of Epidemic Systems,Springer, 1993.

[4] Faragó István: Numerikus modellezés és közönséges di�erenciálegyenle-tek numerikus megoldási módszerei, 2013.

[5] Faragó István, Horváth Róbert: Numerikus Módszerek, Typotex, 2013.

[6] Faragó Sándor, Náhlik András: A vadállomány szabályozása - A fenn-tartható vadgazdálkodás populációökológiai alapjai

[7] J.D. Murray: Mathematical Biology: I. An Introduction,Third Edition,Springer, 2002.

[8] Simon L. Péter: Közönséges di�erenciálegyenletek jegyzet

[9] Stoyan Gisbert: MATLAB, Typotex, 2005

[10] Szerényi Gábor: Mutualizmus

[11] Székely Ferenc: Populációdinamikai modellek szemléltetése Matlabbal,Szakdolgozat, 2011.

[12] Andrew D. Taylor: Publications: Predator-Prey Models

[13] Vida Gábor: Populációdinamika és eltartóképesség

37

Page 38: Populációdinamikai modellek numerikus megoldása Matlab ...web.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2017/lovak_zsanett.pdf1. Bevezetés 1.1. Motiváció A populációdinamiak

Nyilatkozat

Név:

ELTE Természettudományi Kar, szak:

Neptun azonosító:

Szakdolgozat cím:

A szakdolgozat szerz®jeként fegyelmi felel®sségem tudatában kijelentem, hogya dolgozatom önálló munkám eredménye, saját szellemi termékem, abban ahivatkozások és idézések standard szabályait következetesen alkalmaztam,mások által írt részeket a megfelel® idézés nélkül nem használtam fel.

Budapest,

a hallgató aláírása

38