Eötvös Loránd Tudományegyetem Természettudományi Kar Populációdinamikai modellek szemléltetése Matlab-bal Szakdolgozat Székely Ferenc Matematika B.Sc., elemző szakirány Témavezető: Mincsovics Miklós, tudományos segédmunkatárs Alkalmazott Analízis és Számításmatematikai Tanszék
Budapest 20 2
Tartalomjegyzék. Bevezetés 2.. Populációdinamika és a differenciálegyenletek................ 2.2. Az egyensúlyi pontok és stabilitás....................... 2.3. Differenciálegyenletek megoldása Matlab-bal................. 5 2. Modellek 7 2.. Egyszereplős modellek............................. 7 2... Korlátlan növekedés modellje..................... 7 2..2. Korlátos növekedés modellje...................... 0 2..3. A robbanás modellje.......................... 3 2.2. Kétszereplős modellek............................. 6 2.2.. A Lotka-Volterra modell versengő fajokra............... 6 2.2.2. A Lotka-Volterra-féle zsákmány-ragadozó modell........... 23 2.2.3. A Lotka-Volterra modell korlátos esete................ 27 2.2.4. Zsákmány-ragadozó modell vadásszal................. 29 3. Háromszereplős modellek 3 3.. A Hastings-Powell modell........................... 3 4. Összefoglalás 36 5. Függelék 37 5.. Egyértelműség és létezés tételek........................ 37 5.2. Egyensúlyi pont és stabilitás.......................... 38 6. Köszönetnyilvánítás 40
. fejezet Bevezetés.. Populációdinamika és a differenciálegyenletek A populációdinamikában szeretnénk jól megbecsülni, előre jelezni egyes élőlények egyedszámát. Erre valamilyen matematika modellt próbálunk alkotni, amely kevés hibával leírja ezeket a változásokat. Legtöbbször abból indulunk ki, hogy milyen gyorsan változik egy adott időpillanatban a populáció. Ha változásról különösen, ha egy függvény változásáról beszélünk, akkor az első deriváltra gondolunk. Ennek a változásnak a gyorsasága függhet a populáció jelenlegi méretétől, paraméterektől valamint más populációk méretétől, amelyekkel az adott faj interakcióba lép. Ebből az látszik, hogy valamilyen elsőrendű egyvagy többváltozós, állandó együtthatós differenciálegyenlet kapunk. A következő alakú kezdetiérték-problémákkal fogunk foglalkozni (szokás Cauchy-feladatnak is nevezni): ẋ(t) = f(t,x(t)) x(t 0 ) = x 0 (.) A 5. tétel és a 5.2 tétel alapján tudjuk, ha egy függvény teljesíti a 5. definícióban leírt tulajdonságot az egész értelmezési tartományon, akkor a függvénynek létezik megoldása és az egyértelmű lesz..2. Az egyensúlyi pontok és stabilitás Nagyon fontos a differenciálegyenlet-rendszer vizsgálatánál, hogy az egyensúlyi pontokat megkeressük, valamint megmondjuk ezek típusát. Ez nem más, mint az f(x(t)) = 0 egyenletet kell megoldani, ami azt jelenti, hogy ẋ(t) = 0. A kétszereplős modelleknél az 2
f(x,y) = 0-t vizsgáljuk, ekkor ẋ valamint ẏ 0 lesz. Ezekben a pontokban a deriváltak nullák, azaz a rendszer örökké ebben az állapotban marad. Ha viszont a rendszer kicsit kimozdul ebből a pontból, akkor a pont környezetét vizsgáljuk. Ekkor vagy visszatért oda és a stacionárius pont stabilis (pontattraktor). Vagy nem tér vissza ekkor az egyensúlyi pont nem stabil. A következő lépés tehát a stacionaritás vizsgálata. Aztán megvizsgáljuk a talált egyensúlyi pontok stabilitását. Nemlineáris rendszerek stabilitásvizsgálatát is a lineáris rendszerekére lehet visszavezetni, ha a differenciálegyenlet-rendszert linearizáljuk a stacionárius pontok környezetében. Lineáris differenciálegyenlet-rendszer stacionárius pontjának stabilitásvizsgálata. A következő lépéseket végezzük el minden esetben.. Megkeressük az egyensúlyi pontokat ẋ(t) = 0 helyen. 2. Megvizsgáljuk a viselkedést az egyensúlyi pontok körül. 3. Kirajzoljuk az iránymezőt. Vegyük az egydimenziós esetet: ẋ(t) = k x(t) Itt az x(0) = x 0 kezdeti értékhez tartozó megoldás x = x 0 e kt. Az egyensúlyi pont, az x = 0 k < 0 esetén stabilis, mivel az exponenciális tag időben csökken. Ha x 0 0 akkor a megoldás tart 0-hoz. De k 0 esetén nem lesz stabilis hiszen x 0 0 kezdeti értéke ẋ(t) > 0 lesz, amikor a függvény szigorúan monoton nőni fog. De vizsgáljunk egy kettővagy többdimenziós rendszert. ẋ(t) = A x(t) (.2) Ahol x(t) egy n-hosszú oszlopvektor, A pedig egy n n-es mátrix. Egy tipikus megoldása a rendszernek az s i e λi t tagok lineáris kombinációjaként áll elő, ahol λ i az A mátrix i-edik sajátértéke,s i a hozzá tartozó sajátvektor. Ahhoz,hogy a stacionárius pont típusát megmondjuk, az A mátrix sajátértékeit kell kiszámolni. Stabilis akkor és csak akkor lesz a stacionárius pont, ha az összes sajátértek negatív. Ha a sajátértékek komplex, akkor a valós rész előjelét kell vizsgálni. Tehát a kétdimenziós esetet vizsgálva (magasabb dimenziós lineáris rendszernél is hasonlóan járunk el): 3
ẋ = a x +a 2 x 2 ẋ 2 = a 2 x +a 22 x 2 Stacionárius pontja (mint minden lineáris rendszeré) az origó. Az A mátrix sajátértékeit a det(a λe) = 0 egyenlet (ún. karakterisztikus polinom) megoldásával kapjuk meg. A λe = [ a λ a 2 a 2 a 22 λ ] det(a λe) = λ 2 (a +a 22 )λ+(a a 22 a 2 a 2 ) Mivel a a 22 a 2 a 2 = deta és a + a 22 = tra (tr A az A mátrix nyoma, trace-e), a karakterisztikus polinomot átírhatjuk λ 2 tra λ+deta = 0 alakba. Ezt az egyenletet megoldva a sajátértékek: λ,2 = tra 2 ± tr 2 A 4 deta A stabilitás szempontjából ezek előjele a döntő (komplex sajátértékek esetén a valós rész előjele). A sajátértékek kiszámítása nem szükséges, mert ezek nélkül is megtudhatjuk, milyen típusú az egyensúlyi pont, elég kiszámolni az A mátrix determinánsát és nyomát, majd megvizsgálni az alábbi feltételeket: 4
A sajátértékek......helye a tr A - det A A stacionárius pont síkon típusa λ λ 2 < 0, det A < 0 nyereg λ pozitív, λ 2 negatív Re λ > 0 és Re λ 2 > 0 det A > 0 és tr A > 0 instabil λ,λ 2 (valós része) pozitív (csomó vagy fókusz) Re λ < 0 és Re λ 2 < 0 det A > 0 és tr A < 0 stabil λ,λ 2 (valós része) negatív λ és λ 2 valósak λ és λ 2 konjugáltak (csomó vagy fókusz) deta < (tra)2 4 csomó (stabil vagy instabil) deta > (tra)2 4 fókusz (stabil vagy instabil) λ és λ 2 valósak, det A = 0 nyeregcsomó de legaláb az egyik zérus λ és λ 2 komplex konjugáltak, det A > 0 és tr A = 0 centrum a valós részük zérus λ és λ 2 valósak, és λ = λ 2 deta = (tra)2 4 egytengelyű csomó Sajnos a helyzet ennél nehezebb, mivel nemlineáris differenciálegyenlet-rendszereket stabilitását kell majd sok esetben vizsgálni. Általában az ẋ = f(x) differenciálegyenletrendszer nem megoldható, de az egyensúlyi pontokat az f(x) = 0 egyenletből meg tudjuk határozni. Ekkor linearizálunk és a rendszer Jacobi mátrixára vizsgáljuk ugyanazokat a feltételeket. Ami a következőképpen néz ki: M = [ f x g x A mátrix sajátértékei sajátértékeit vizsgálva azt tapasztaljuk, hogy a valós részük nulla akkor sajnos a módszer nem működik. Ekkor Ljapunov-függvény segítségével mondjuk meg a stacionárius pontokat. f y g y ].3. Differenciálegyenletek megoldása Matlab-bal A differenciálegyenletek csak egy nagyon kis csoportja oldható meg direkt módszerrel. Ezért numerikus módszerekkel kell megoldanunk az ilyen feladatokat. A Matlab nevű programot fogjuk használni. A legfontosabb függvény az ode45 lesz, amit használni fogunk. 5
Ez egy differenciálegyenlet megoldó solver, ami egy negyed- vagy ötödrendű Runge-Kutta módszer szerint oldja meg az egyenletet. Pontosabban megfelelő lépésközzel lép és utána megvizsgálja, hogy mekkora az eltérés. Ha a hibakorlátnál nagyobb a különbség, akkor kisebb lépésközt fog választani. Adott a differenciálegyenlet: ẋ(t) = β x(t) Ezt ennek megfelelően leírjuk megfelelő jelölésekkel: function dx=korlatl(t,x,b) dx = b*x; Majd írunk egy új függvényt, amiben meghívjuk erre a függvényre a solvert és kirajzoljuk az eredményt. function korlatlan(x0,b) options = odeset( RelTol,e-6, AbsTol,e-7); [T,Y] = ode45(@korlatl,[0 0],x0,options,b); plot(t,y, green ) A fontos a harmadik sor, ahol a megoldást egy T-be és X-be tároljuk el. A T lesz az idő, gyakorlatilag az x tengely. Az X pedig a populáció mérete az y tengely. Beállítjuk továbbá, hogy milyen T-re vizsgáljuk (itt 0-tól 0-ig haladunk), valamint az x 0 kezdőértéket. Ezután pedig kirajzoljuk X-et T függvényében. Ha több függvényt akarunk ábrázolni, akkor írhatunk egy ciklust, amiben ezt a programot hívjuk meg. A másik fontos függvény a quiver. Ezzel tudunk iránymezőt vagy más néven fázisképet rajzolni. [X,Z] = meshgrid(0:0.4:0); U = ones(26); V = a*z; quiver(x,z,u,v) Az első sorban készítünk két mátrixot. X minden sora 0-tól indul és 0.4-del növekedve tart 0-ig. Ugyanez igaz Z oszlopaira. U és V pedig az egyes pontokban az egységvektor irányú növekedést írja majd le. Majd ezt kirajzoljuk egy ábrán. 6
2. fejezet Modellek 2.. Egyszereplős modellek 2... Korlátlan növekedés modellje A következő feltevésekkel élünk ennek a modellnek a leírásánál:. Állandó, de véges táplálék található a területen. 2. Az egyedek szaporodása arányos a táplálékkal való találkozások számával. 3. A populáció szaporodását más külső tényező nem befolyásolja. Ezek alapján a t idő alatt a populáció változása: x(t+ t) = x(t)+ t c k x(t) Itt k-val jelöljük a táplálék mennyiségét c pedig a folyamat intenzitását írja le. Ezt összevonva c k = β-t nevezzük majd a folyamat növekedési rátájának és β > 0. t nagyon kicsi, akkor az egyenletet átrendezve adódik. Elvégezve a határátmenetet x(t+ t) x(t) t ẋ(t) = β xt = β x(t) (2.) egyenletet kapunk, ahol β > 0. Az.-hez hasonlóan akarjuk definiálni a kezdetiértékproblémát, akkor szükségünk van még az x(t 0 ) = x 0 7
feltételre. Ezzel korrekt módon kitűztük a feladatot. Egy másik megközelítés is létezik, ha a korlátlan növekedés egyenleteit magyarázni akarjuk. A feltételezéseink ugyanazok, mint fent. Feltesszük, hogy bizonyos t idő alatt az egyedek száma a duplájára nő. Ha t = t, ahol t nagyon kicsi, akkor: r Az egyenletet átrendezve, valamint t = n t x(t+ t) = 2 x(t) x(t+ t) = x(t)+ r x(t) x(t+ t) x(t) t = t x(t) adódik. Innen β = t elnevezéssel: ẋ(t) = β x(t) Mindkét gondolatmenetből ugyanazt az egyenletet kapjuk. Tehát a kezdetiérték-probléma a következő (Az egyszereplős modelleknél a kezdeti feltételt általában t 0 = 0-ban adjuk meg): ẋ = β x(t) x(0) = x 0 (2.2) Ebben az esetben direkt módszerrel is meg tudjuk oldani az egyenletet, de valamilyen numerikus módszert fogunk általában használni. A pontos megoldás: x(t) = x 0 e βt Megoldjuk Matlabbal is. Különböző kezdeti feltételre valamint változó paraméterekre eltérő eredmények adódnak. De az jól látható lesz a kirajzolt ábrán, hogy a függvények exponenciális gyorsasággal növekednek. Megírjuk a programot, ami a következőképpen néz ki: function korlatlan(x0,b) options = odeset( RelTol,e-6, AbsTol,e-7); [T,X] = ode45(@egyszereplos,[0 0],x0,options,b); 8
plot(t,x, green ) function dx = egyszereplos(t,x,b) dx = b*x; Négy különböző kezdeti értéket vizsgálunk és egy ábrán rajzoljuk ki őket. 300 Korlátlan növekedés modellje A populációk egyedszáma 250 200 50 00 50 x0=40 x0=30 x0=20 x0=0 0 0 0.2 0.4 0.6 0.8.2.4.6.8 2 Idõ Valóban megfigyelhető az exponenciális viselkedés itt is. Ez a valóságban nem állandó, de általában annak tekintjük. De most jön a 2.2 kezdetiérték-probléma vizsgálata, azaz az iránymező kirajzolása valamint az egyensúlyi pontok megkeresése. Az iránymező pedig a következőképpen néz ki (itt most nem az előzőekben használt kezdeti értékeket választottuk az átláthatóság miatt):.2 Iránymezõ 0.8 0.6 X 0.4 0.2 0 0.2 0 0.2 0.4 0.6 0.8.2.4 Idõ 9
Az ábra csak szemléltető jellegű. Pontosan az egyensúlyi pontokat csak a teljes vizsgálat után tudjuk meghatározni. Azt tudjuk, hogy a β x(t) = 0 (2.3) esetén igaz lesz, hogy ẋ(t) = 0 teljesül. Ez azt jelenti, hogy egyensúlyi állapotban van a rendszer mivel a derivált nulla. Az 2.3 megoldásaként kapjuk, hogy x(t) = 0. Ha t, hogy x(t) > 0 akkor ott ẋ(t) > 0 x(t). A másik eset pedig nem lehetséges, mert x(t) < 0 nem lehet, negatív számú egyedről nincs értelme beszélni. Tehát egy instabil egyensúlyi pontot kaptunk. 2..2. Korlátos növekedés modellje Az előző példa is jelen van a természetben és alkalmas egyes jelenségek leírására, például egy kémcsőben nagyon rövid ideig a baktériumok szaporodása. De valamivel "jobb" modell a korlátos növekedés modellje. Ennél a megközelítésnél azt feltételezzük, hogy a környezetnek van egy eltartó képessége (carrying capacity). Ezt az állandó K-val fogjuk jelölni. A feltételezéseink a következők:. Véges mennyiségű táplálék áll rendelkezésre. 2. Az egyedek szaporodása arányos a táplálékkal való találkozások számával. 3. Viszont amikor két egyed találkozik és élelmet talál, akkor vagy csak az egyik vagy egyik sem jut táplálékhoz. Ez negatív hatással van a populáció növekedésére. 4. Más külső tényező nem befolyásolja a rendszert. Ezek alapján felírva a t idő alatt lévő változást: x(t+ t) = x(t)+ tβ x(t) t k δ x 2 (t) Az első rész teljesen hasonló a korlátlan növekedés modelljéhez. tβ x(t) pont azt jelenti, hogy az egyedek szaporodása arányos a táplálékkal való találkozások számával. A második tag (k δ x 2 (t)) pedig azt fejezi ki, hogy ha két élőlény találkozik a táplálékkal egy időben, akkor valamelyik nem jut táplálékhoz. k-val a táplálék mennyiségét δ-val 0
pedig azt jelöltük, hogy mennyire szorítják ki egymást (csak az egyik vagy mindkettő táplálék nélkül marad). Itt δ {, 2} lesz. k δ = elnevezéssel fogjuk megkapni K azt a paramétert, amire a modell elején eltartó képesség (carrying capacity) néven már említettünk. Tovább vizsgálva az egyenletet: x(t+ t) = x(t)+ tβ x(t) K x2 (t) x(t)-t a másik oldalra rendezve (elvégezve a határátmenetet majd x(t)-t kiemelve): ẋ(t) = β x(t)(k x(t)) (2.4) A feladat korrekt kitűzéséhez még meg kell adni a kezdeti feltételt. ẋ(t) = β x(t)(k x(t)) x(0) = x 0 A pontos megoldás x 0 -tól és β-tól függ majd: x(t) = ( ) + x 0 e βt Itt is megírjuk a programot, amivel ábrázoljuk a korlátos viselkedést function korlatos(x0,a,k) options = odeset( RelTol,e-6, AbsTol,e-7); [T,Y] = ode45(@korlat,[0 0],x0,options,a,k); [Y,Z] = meshgrid(0:0.2:2); U = ones(); V = a*z.*(k-z); subplot(2,,) plot(t,x, green ) subplot(2,,2) quiver(y,z,u,v) - - - - - - - - - - - - - - - - - - - function dx = korlat(t,x,a,k) dx =a*x*(k-x); Különböző kezdeti értékeket egy ábrán ábrázolva még átláthatóbb a korlátos viselkedés.
40 Korlátos növekedés modellje 35 A populáció mérete 30 25 20 5 0 5 x0=40 x0=20 x0=5 x0=2 0 0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Idõ A grafikonon jól látszik, hogy egyre tart a görbe K értékhez, de minél közelebb vagyunk, annál kisebb a növekedés. Ez jól szemlélteti, hogy az erőforrások végesek. Az egyensúlyi pontok vizsgálatát megint el kell végezni. Először rajzoljunk egy iránymezőt a Matlab segítségével (a = valamint k = esetben). Iránymezõ 2.5 X 0.5 0 0.5 0 0.5.5 2 2.5 Idõ Az ábráról már sok minden látszik, de ha elvégezzük a pontos vizsgálatot, akkor teljességgel megbizonyosodhatunk az egyensúlyi pontok típusáról. Ekkor a következő egyenletet kell vizsgálni: β x(t) (K x(t)) = 0 (2.5) Ekkor a deriváltra teljesül, hogy ẋ(t) = 0 2
Megoldva az 2.5 egyenletet két egyensúlyi pont adódik x(t) {0,K}. Ha 0 < x(t) < K, akkor ẋ(t) > 0-t, ami azt jelenti, hogy a függvény azon a szakaszon szigorúan monoton nő, azaz x(t) = 0 instabil egyensúlyi pont. x(t) > K-ra pedig azt kapjuk, hogy ẋ(t) < 0, ekkor x(t) szigorúan monoton csökken. Ebből következik, hogy x(t) = K stabil egyensúlyi pont lesz, hiszen K-nál kisebb értekre a függvény nő, K-nál nagyobb értékekre viszont csökken. 2..3. A robbanás modellje Másik nagyon érdekes és fontos modell a robbanás modellje. A jelenség úgy magyarázható talán a legjobban, hogy amikor két egyed találkozik, akkor utód születik. Ennél a rendszernél a következő feltételezésekkel élünk:. Az populáció szaporodása arányos azzal, hogy két egyed találkozik. 2. Az ökoszisztémát semmilyen külső tényező nem befolyásolja. 3. A találkozások száma arányos az egyedek négyzetével. A találkozásra úgy gondolunk, mint a korlátos növekedés modelljénél. De itt nem negatív hatással van a populáció növekedésére, hanem pontosan ettől fog szaporodni az adott faj. A találkozások száma pedig x(t) x(t)-vel arányos. ẋ(t) = x2 (t) a 4 x(t 0 ) = x 0 Itt a törtet kiküszöböljük a = β elnevezéssel. A annyit jelentett, hogy a női illetve a 4 4 férfi egyedek találkozása számít. De ez a paraméterben is szerepelhet. ẋ(t) = β x 2 (t) (2.6) A β-t megint nevezzük növekedési rátának, ahogy a korlátlan és korlátos növekedés modelljénél is volt. Először megoldjuk direkt módszerrel az egyenletet: x(t) = β (t+c) Majd numerikusan is megoldjuk. A kód a következő: (2.7) 3
function robbanas(x0,a) options = odeset( RelTol,e-6, AbsTol,[e-7]); [T,X] = ode45(@robb,[0 0.9],x0,options); [Y,Z] = meshgrid(0:0.:.5); U=ones(6); V=Z.*Z; plot(t,x(:,)) - - - - - - - - - - - - function dx = robb(t,x,a) dy() = y()*y(); 60 Robbanás 50 40 X 30 20 0 0 0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Idõ Itt viszont nagyon oda kell figyelni, hogy milyen intervallumon vizsgáljuk a függvényt. Ha vesszük a [0 : 0] intervallumot, akkor csak annyit látunk, hogy -ig 0, utána pedig elszáll a végtelenbe. Tehát egy töröttvonalat látunk, ami nem árul el sok mindent. Az ábra a következő: 4
5 x 03 Robbanás modellje 4.5 4 A populáció mérete 3.5 3 2.5 2.5 0.5 0 0 0.2 0.4 0.6 0.8.2.4 Idõ Ez sajnos semmit nem mutat arról, hogyan is viselkedik a függvény a [0 : ] intervallumon. Egyre finomítjuk a felosztást és tartunk -hez, akkor ehhez az ábrán lévő töröttvonalhoz fog hasonlítani. A vizsgálat természetesen még nem ért véget, hiszen semmit nem mondtunk az egyensúlyi pontokról. Iránymezõ 2.5 X 0.5 0 0.5 0 0.2 0.4 0.6 0.8.2.4.6.8 Idõ Sajnos az iránymező itt még nem árul el sok mindent. Bár az látszik, hogy egyensúly pont csak a nulla lesz. Tehát vizsgálva az β x 2 (t) = 0 5
egyenletet. Ekkor teljesül a ẋ(t) = 0. Megoldásként az x(t) = 0 adódik, ami instabil egyensúlyi pont lesz, mert x(t) > 0-ra ẋ(t) > 0 lesz a derivált. Ekkor a függvény szigorúan monoton nő. 2.2. Kétszereplős modellek 2.2.. A Lotka-Volterra modell versengő fajokra Azoknak a modelleknek a családját, amely gyakran kettő vagy több faj közötti interakció szimulálását segíti, Lotka-Volterra egyenleteknek nevezzük. A versengés kétféle lehet. Az egyik, amikor valamelyik populáció egyedszámának növekedése negatív hatással van a másik növekedésre. Ez akkor lehetséges, ha azonos élelemért vagy élőhelyért vetélkednek, például két hasonló körülményeket kedvelő növény. A másik típusa az ilyen egyenleteknek, amikor az egyik populáció növekedése jó hatással van a másikra. Például az oroszlánok számára kedvező az antilopok egyedszámának növekedése. Ezt a két esetet fogjuk Lotka- Volterra egyenleteknek tekinteni, versengő fajoknak valamint zsákmány-ragadozó modellnek fogjuk nevezni őket. Jelöljük x-szel illetve y-nal az egyes populációk egyedszámát. Az első példa két versengő faj lesz. A következő feltevésekkel élünk:. Az egyik populáció növekedése arányos egy korlátos növekedéssel. 2. Az egyik populáció növekedésére negatívan hat a másikkal való találkozás. 3. A találkozások vagy interakciók száma x(t) y(t)-vel arányos. Így az egyes egyedek szaporodási rátáját a következő egyenlet írja le: ẋ(t) = a x(t) ( x(t)) b y(t) x(t) ẏ(t) = c y(t) ( y(t)) d x(t) y(t) Az egyenletek első része a korlátos növekedés, ami jól látszik. A másik fele, a negatív előjelű tag az interakciók számát jelöli. Az első esetben úgy választjuk a paramétereket, hogy a folyamat kihaláshoz vezet. Ez a természetben is jelen lévő jelenség. Vagyis nem áll rendelkezésre elég erőforrás ahhoz, hogy a fajok fennmaradjanak. Most mellékeljük a Matlab kódot és azokat a jelöléseket fogjuk használni. Ez a következőképpen írható fel: 6
function lotkav(x0,y0,a,b,c,d) options = odeset( RelTol,e-6, AbsTol,[e-7 e-7]); [T,Y] = ode45(@nre,[0 00],[x0 y0],options,a,b,c,d); plot(t,y(:,), green,t,y(:,2), blue ) - - - - - - - - - - - - - - - - - function dy = nre(t,y,a,b,c,d) dy = zeros(2,); dy() = y()*a*(-y())-y()*b*y(2); dy(2) = y(2)*c*(-y(2))-y(2)*d*y(); A programot futtatva a következő eredményt kapjuk:.2 Lotka Volterra versengõ fajok I. Az egyes populációk mérete 0.8 0.6 0.4 0.2 0 0.2 0 0 20 30 40 50 60 70 80 90 00 Idõ Majd x-et és y-t mint egymás függvényeit ábrázoljuk. 7
.2 Lotka Volterra versengõ fajok I..2 Az Y populáció mérete 0.8 0.6 0.4 0.2 0.8 0.6 0.4 0.2 0 0.2 0 0 20 30 40 50 60 70 80 90 00 0 0.2 0.2 0 0.2 0.4 0.6 0.8.2 Az X populáció mérete Az ábrán jól látszik, hogy az egyik faj teljesen kihal, míg a másik tart -hez, ami az ő eltartó képessége. Ez nem meglepő, hiszen hay(t) = 0 lesz, akkor csak egy egyenlet marad, ami viszont pont a korlátos növekedés modellje. Fontos megjegyezni, hogy most inkább arányokról beszélünk mintsem konkrét értékekről. Az egyszerűség kedvéért választottuk az eltartó képességet -nek. A fontos számunkra, hogy milyen arányban változik a két populáció egymáshoz képest. Az egyensúlyi pontok meghatározása következik. Ha először Matlabbal rajzoljuk ki az iránymezőt, akkor nagyon pontosan kellene választanunk a tartományt ahhoz, hogy igazán látszódjanak az egyensúlyi pontok. Megpróbáljuk azt a [0,] [0,] négyzetet, ahol már x-t és y-tz ábrázoltuk..2 Iránymezõ.2 0.8 0.8 0.6 0.4 0.6 0.2 Y 0 0.4 0.2 0 0 20 30 40 50 60 70 80 90 00 0.2 0 0.2 0.2 0 0.2 0.4 0.6 0.8.2 X 8
Ha jól megnézzük, akkor a (0.2, 0.4) pontban az irányvektor nagysága nulla. Ott egyensúlyi pontot sejtünk. De ennél pontosabb elemzésre van szükség. Vizsgáljuk az ẋ(t) = 0 és ẏ(t) = 0 esetet. x(t) ( x(t)) 2 x(t) y(t) = 0 y(t) ( y(t))+3 x(t) y(t) = 0. A legelső eset triviálisan adódik x(t) = 0 és y(t) = 0 választással. 2. Utána x = 0-t nézzük, de y(t) 0. Ekkor ẋ = 0, amire y(t) = adódik, ezért a második egyensúlyi pont (0,). 3. Aztán vizsgáljuk y(t) = 0-t, amikor ẏ(t) = 0 lesz. Ekkor x(t) = adódik, ezért a harmadik egyensúlyi pont (,0). 4. Majd végül x(t) 0 és y(t) 0. Ekkor megoldjuk az egyenletet és x(t) = 0.2, y(t) = 0.4 lesz a megoldás. De itt még nem ér véget a vizsgálat, mert ez egy nemlineáris egyenletrendszer. Szükségünk van a Jacobi mátrixra és ott kell vizsgálni A-nak a determinánsát, valamint a nyomát. A mátrix felírása: A = [ f(x(t),y(t)) x(t) g(x(t),y(t)) x(t) f(x(t),y(t)) y(t) g(x(t),y(t)) y(t) Elvégezve a parciális deriválást: [ ] 2 x(t) 2 y(t) 2 x(t) A = 3 y(t) 2 y(t) 3 x(t) A négy különböző egyensúlyi pontra egyaránt elvégezzük a behelyettesítést. ] (2.8). (0,0)-nál deta = > 0 és tra = 2 > 0. Ebből a táblázat alapján látszik, hogy instabil egyensúlyi pontot kapunk. Azt nem mondhatjuk, hogy deta = tr2 A 4 miatt ez egy egytengelyű csomó lesz, mert a rendszert linearizáltuk és ekkor az egyenlőség nem teljesül a valóságban. Tehát csak annyit tudunk, hogy instabil egyensúlyi pontot kaptunk. 2. A követketző esetben ((,0)-nál) deta = 2 > 0 és tra = 3 < 0, tehát stabil pontot kapunk. Továbbá deta < (tra)2 4, ami azt jelenti, hogy csomót kapunk. Tehát az (,0) pont egy stabil csomó. 9
3. A másik esetben a helyzet hasonló (0,)-nél, hiszen deta = > 0 és tra = 2 < 0, azaz stabil pontot kapunk megint. Hasonlóan az első esethez deta = (tra)2 4 nem jelenti azt, hogy egytengelyű csomó lesz a (0,) pont. Csak annyit mondhatunk bizonyosan, hogy stabil egyensúlyi pontot kapunk. 4. Az utolsó pont a legérdekesebb, amikor egyik faj sem hal ki. (0.2,0.4)-nél deta = 0,88 < 0 ami azt jelenti, hogy egy nyeregpontot kaptunk (0.2,0.4)-nél. Azokat az egyensúlyi pontokat, ahol csak a stabilitást döntöttük további vizsgálódás lehetséges. Ljapunov módszerével, megfelelő segédfüggvény választása mellett ezek típusa is meghatározható. Bár a Matlabbal készített ábra is sok dolgot mutatott számunkra, de az átfogóbb elemzés után elkészítünk egy szemléletesebb iránymezőt. Közben megpróbáljuk kirajzolni azt a viselkedést, amit az egyensúlyi pontok típusából tudunk: Iránymezõ 0.8 y 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8.2 x Az ábrából és az iránymező berajzolása után az látszik, hogy 2 stabil egyensúlyi pont van (,0) és (0,), valamint kettő pedig nem stabil stacionárius pont. Az egyik ahol az egyenesek metszik egymást. A másik, amikor egyik populációnak sincs élő egyede. A stabil helyzetek azok, amikor csak az egyik populáció hal ki. Most válasszuk x 0 = 2-t, y 3 0 = -t, a = 3,b = 2-t, c = 4-t valamint d = 3-t. Ezeknél 2 a paramétereknél együttélésnek (coexistence) nevezzük a kialakult helyzetet. Először kirajzoljuk Matlabbal az ábrát. Három különböző kezdeti értéket vizsgálunk x-re és y-ra. Zöld színnel az x-eket kékkel az y populációkat ábrázoló grafikonokat rajzoltuk ki. 20
0.9 Lotka Volterra versengõ fajok II. 0.8 Az egyes populációk mérete 0.7 0.6 0.5 0.4 0.3 0.2 0 0 20 30 40 50 60 70 80 90 00 Idõ x-t és y-t egymás függvényeként is ábrázoljuk. 0.9 Lotka Volterra versengõ fajok II. 0.8 0.7 0.6 Y 0.5 0.4 0.3 0.2 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 X Először megint megrajzolunk egy Matlabbal elkészített iránymezőt. 2
0.9 Iránymezõ 0.8 0.7 0.6 Y 0.5 0.4 0.3 0.2 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 X Megint elvégezzük az egyenletek elemzését és megkeressük az egyensúlyi pontokat. 3 x(t) ( x(t)) 2 x(t) y(t) = 0 4 y(t) ( y(t))+3 x(t) y(t) = 0. Először megint az x(t) = 0 és y(t) = 0 esetet kapjuk. 2. Majd az x(t) = 0, de y(t) 0-ra kapjuk, hogy y(t) =. 3. Ugyanígy fordítva y(t) = 0, de x(t) 0-ra adódik x(t) = 4. Valamint az x(t) 0 és y(t) 0-ból az x(t) = 2 3,y(t) = 2 jön ki. Elvégezve a parciális deriválást és behelyettesítünk 2.8 mátrixba: [ 3 6 x(t) 2 y(t) 2 x(t) A = 3 y(t) 4 8 y(t) 3 x(t) ] Megint végignézzük az egyes pontok típusát a Jacobi-mátrix determinánsa és nyoma alapján.. (0,0)-ban instabil csomót kapunk, mert deta = 2 > 0 és tra = 7 > 0, valamint deta < tr2 A 4 2. (0,)-ben a helyzet ugyanaz lesz, mint (,0) a deta < 0 és nyeregpontot kapunk. 3. ( 2, )-nél deta = 2 és tra = 4, ami azt jelenti, hogy deta < tr2 A. Ezért itt stabil 3 2 4 csomót kapunk. 22
Itt is fontos, hogy a nullklínákat kirajzoljuk, valamint azok segítségével az iránymezőt. Ami a következőképpen néz ki: 2 Nullklínák és iránymezõ.8.6.4.2 Y 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8.2.4.6.8 2 X Az ábra nagyon hasonlít az előző esethez, bár lényeges különbség, hogy a két egyenes metszéspontja lett a stabil egyensúlyi pont. A másik esetben úgy voltak a paraméterek megválasztva, hogy az egyik vagy másik populáció kihalásához vezetett a folyamat bizonyos idő elteltével. A most választott paraméterek egy stabil equilibriumba juttatják a folyamatot. A természetben mindegyik példával nagyon sokszor találkozhatunk. Legtöbbször együttéléshez kellene, hogy vezessen a folyamat, de a környezeti és főleg emberi tényezők ezt olyan mértékben befolyásolják, hogy a kihalás is gyakori. 2.2.2. A Lotka-Volterra-féle zsákmány-ragadozó modell A következő modellben egészen másfajta feltételezések és kezdeti feltételek vannak:. A zsákmány növekedése arányos a saját populáció méretével. 2. A ragadozó növekedése arányos a zsákmánnyal való találkozással. 3. Az interakció a zsákmányra negatív hatással van (elpusztul a találkozáskor). Az egyenletek pedig a következőképpen néznek ki: ẋ(t) = a x(t) b x(t) y(t) ẏ(t) = c y(t)+d x(t) y(t) 23
Az első egyenletben a zsákmányok (például nyulak) korlátlan növekedés modelljét követnék, ha nem lennének ragadozók (rókák), akkor a x(t) ezt írja le. A második tag pedig azt jelenti, ha egy róka és egy nyúl találkozik, akkor a nyúl elpusztul. A második egyenletben a ragadozók, ha csak egyedül lennének, kipusztulnak, mert nincs mit enni. De d x(t) y(t) azaz amikor interakcióban vannak a nyulakkal, akkor tudnak szaporodni. Ez a találkozást pont a nyulak és a rókák számának a szorzatával arányos. Itt is megírjuk az egyenletet és megpróbáljuk kirajzolni x(t)-t valamint y(t)-t mint egymás függvényeit. function LV(x0,y0,a,b,c,d) options = odeset( RelTol,e-6, AbsTol,[e-9 e-9]); subplot(,2,) [T,Y] = ode45(@lv,[0 30],[x0 y0],options,a,b,c,d); subplot(,2,2) plot(t,y(:,), blue,t,y(:,2), red ) - - - - - - - - - - - function dy = lv(t,y,a,b,c,d) dy = zeros(2,); dy() = a*y() - b* y() * y(2); dy(2) = -c*y(2) + d* y() * y(2); 0.55 A Lotka Volterra féle zsákmány ragadozó modell 0.5 0.45 0.4 Y 0.35 0.3 0.25 0.2 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 X Az eredmény nem túl meglepő. Egyensúlyi pont ezen az ábrán nem látszik, az ábra egy körforgást mutat. Érdemes megnézni a két változót az idő függvényében. 24
0.8 A zsákmány ragadzozó modell II. 0.7 Az X és Y populáció mérete 0.6 0.5 0.4 0.3 0.2 0. 0 0 20 30 40 50 60 70 80 90 00 Idõ Itt is látszik a körforgás a két populáció között. Most fontos meghatározni, hogy vannake egyensúlyi pontok. Az egyszerűség miatt a következő paraméterekre végezzük el a vizsgálatot:a =, b =, c = valamint d =. Valamint ha ezek léteznek mik a típusaik. A nullklínák és az iránymező kirajzolását az előzőekhez hasonlóan hajtjuk végre. Először azonban kirajzolunk egy iránymezőt a programmal, ami nagyon sok mindent meg fog mutatni. Iránymezõ.2 0.8 0.6 y 0.4 0.2 0 0.2 0.2 0 0.2 0.4 0.6 0.8.2 X Ebből már nagyon jól látszanak a dolgok, de a pontos vizsgálatot is el kell végezni: x(t) x(t) y(t) = 0 y(t)+x(t) y(t) = 0 25
Most megint sorban vesszük az egyes eseteket, amikor ezek nullák.. x(t) = 0 esetén az egyensúlyi pont az y(t) = 0 helyen lesz. 2. Ha x(t) 0, akkor y(t) = és x(t) = De ezek típusait is meg kell határozni az előzőekhez hasonlóan. A következő lépés a 2.8 mátrix felírása: A = [ y(t) x(t) y(t) x(t). (0, 0) esetben deta < 0, tehát nyeregpontot kapunk. 2. (,)-nál pedig deta = > 0 és tra = 0, ami azt jelenti, hogy itt centrum lenne az egyensúlyi pont típusa, de ez a linearizálás miatt nem lesz igaz. Az egyenlőség nem teljesül, mert a magasabb rendű tagok nagyon kicsik, de nem nullák. Ljapunov módszerére van szükségünk. Sajnos ehhez megfelelő függvényre van szükségünk. Jelen esetben a következő segédfüggvényt használjuk: V(r,s) := r ln(r)+s ln(s) ahol ((r,s) R + R + ). Ellenőriznünk kell, hogy V függvény értéke konstans a megoldások mentén. Legyen V (t) = V(x(t),y(t)) (t R). Ekkor a 5.5 iránymenti derivált ( V = ) ( ẋ+ ) ẏ = (x ) ( y)+(y ) (x ) = 0 x y TehátV konstans függvény. Ez azt jelenti, hogy a megoldások av függvény szintvonalain haladnak, ami a Matlabbal kirajzolt ábrán is látszik. Ennek megfelelően elkészíthetünk egy szemléletesebb ábrát. ] 26
Nullklínák és iránymezõ 0.8 y 0.6 0.4 a/b 0.2 0 0 0.2 0.4 0.6 0.8.2 c/d x Az ábrán az egyik egyensúlyi pont az ( c, a ) nagyon jól látszik. Ha ilyen kezdeti értékekről d b indulunk a folyamat semmilyen változást nem fog mutatni, ha x-t és y-t, mint egymás függvényét ábrázoljuk akkor egy pontot kapunk. Valamint a két populáció az idő függvényében állandó lesz. A másik egyensúlyi pont nem látszik ilyen szépen, bár az a triviális (0,0). 2.2.3. A Lotka-Volterra modell korlátos esete A modell egyik változata, amikor a környezet eltartó képességét is figyelembe vesszük a zsákmánynál. Hasonlóan a korlátos növekedéshez K-val fogjuk jelölni ezt. Az egyenletek a következőképpen alakulnak: ẋ(t) = a x(t) (K x(t)) b x(t) y(t) ẏ(t) = c y(t)+d x(t) y(t) Erre egy nagyon érdekes grafikont lehet kirajzolni megfelelő paraméterválasztás mellett (a = 2, b =, c =, d = 2, K =.5) 27
2.5 Lotka Volterra modell korlátos esete 2 Y.5 0.5 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9. X Kirajzoljuk Matlabbal az iránymezőt: 2.5 Iránymezõ 2.5 2 2.5.5 Y 0.5 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9. 0.5 0 0.5 0.5 0 0.5.5 2 X Ebben az utolsó esetben meghatározzuk az egyensúlyi pontok típusát. A következő egyenleteket kell megoldani: 2 x(t) (.5 x(t)) x(t) y(t) = 0 y(t)+2 x(t) y(t) = 0. Az x(t) = 0 esetben y(t) = 0 adódik. 2. Amikor viszont x(t) 0 akkor x(t) = 2 és y(t) = 2 lesz az egyensúlyi pont. 28
Ezek típusát megint a 2.8 mátrix felírása után tudjuk meghatározni. [ ] 3 4 x(t) y(t) x(t) A = 2 y(t) +2 x(t) Ezután könnyedén meghatározzuk a stacionárius pontok típusát.. A (0, 0) pont esetében nyeregpontot kapunk, mert deta = 3 < 0 lesz. 2. A ( 2,2)-nél deta = 2, valamint tra =. Az is látszik, hogy deta > tr2 A 4, így stabil fókuszt kapunk. 2.2.4. Zsákmány-ragadozó modell vadásszal Ebben a modellben van egy vadász, aki mindkét populációt "tizedeli". Ez az egyenletekben nem sok változást jelent. ẋ(t) = a x(t) b x(t) y(t) v x(t) ẏ(t) = c y(t)+d x(t) y(t) v y(t) Ha v nagyon kicsi, akkor az ábra hasonló az előzőhez. Amikor nagy a folyamat kihaláshoz vezet mindkét populációban. De vizsgáljuk egy esetet a következő paraméterekkel:x 0 = 2, y 0 = 2, a =, b = 2, c = 2, d = 3, v =. Rajzoljuk ki y-t x fügvényében. 5 Lotka Volterra vadásszal 4.5 4 3.5 3 Y 2.5 2.5 0.5 0 0 0.5.5 2 2.5 3 3.5 4 4.5 5 X Úgy is tekinthetünk, mintha az a illetve c paramétereket módosítanánk az eredeti modellben. De ez nem csak egyszerűen a növekedési és kihalási ráta megváltozását jelenti, hanem 29
eltorzítja a képet. Nagyon közel kerülünk ahhoz, hogy az egyik populáció kipusztuljon. Az iránymezőt megint kirajzoljuk a Matlabbal: 6 Iránymezõ 5 4 3 Y 2 0 0 2 3 4 5 X Az egyensúlyi pontokat ennél a fejezetnél nem elemezzük, mert nagyon hasonló az egyszerű zsákmány-ragadozó modellhez. Kapunk egy centrumot ( c v nyeregpontot (0,0)-ban., a v d b ) pontban és egy 30
3. fejezet Háromszereplős modellek 3.. A Hastings-Powell modell A háromszereplős modellek közül egyik legalapvetőbb a Hastings-Powell modell, ahol a következő alapfeltevésekkel élünk:. Három populáció kölcsönhatását vizsgáljuk egyszerre. 2. Interakcióban résztvevő fajok egyedsűrűsége megadható egyetlen változóval. 3. Csak az egymás mellett közvetlenül álló fajok vannak kölcsönhatásban, azaz a csúcsragadozó nem ragadozik a legalsó szinten lévő fajon. 4. A kölcsönhatás bekövetkezése a ragadozók és a zsákmányállatok számának szorzatával arányos. 5. Ha több a zsákmány, a ragadozó születési aránya nő. Ez a modell most csak a legegyszerűbb háromszereplős folytonos modell tűzi ki célul (egy háromszintes tápláléklánc). Ez megmutatja majd, hogy a paraméterek ésszerű biológia választása esetén a dinamika rendszer viselkedése kaotikus lesz. Majd diszkutálni fogjuk, hogy ez eredmény általánosabb táplálék hálózatokra is igaz lesz. Az x lesz az a faj, aki a tápláléklánc legalsó szintjén fog elhelyezkedni. A középső szinten y fog állni, aki interakcióban leszx-szel (x leszy zsákmánya) ész-vel is (y leszz zsákmánya), a csúcsragadozóval. Az egyenletek ennek megfelelően a következőképpen fognak kinézni: 3
( ẋ(t) = R 0 x(t) x(t) ) C F (x(t)) y(t) K ẏ(t) = F (x(t)) y(t) F 2 (y(t)) z(t)+d y ż(t) = C 2 F 2 (y(t)) z(t) D 2 z(t) És tudjuk, hogy F i (U) = A i U(t) B i, ahol i =,2. +A Az egy- és kétszereplős modellekből ismert viszonyokat használjuk ennek a rendszernek a leírására is. R 0 X belső növekedési rátája, míg K az eltartó képessége. C és C 2 azok az arányok, amik azt mutatják meg, hogy egy zsákmány elfogyasztása mennyivel növeli a ragadozók számát (conversion rate). Míg D és D 2 pedig a halálozási ráták. Nagyon sok paraméterünk van és ezzel túl bonyolult lenne dolgozni, ezért valahogyan redukálni kell ezeket. Ahhoz, hogy ezt elérjük a következő átalakításokat tesszük: x = X K 0 y = C Y K 0 z = C Z C 2 K 0 t = R 0 T Ekkor az egyenletek a következőképpen néznek ki: Ahol dx dt = x ( x) f (x) y dy dt = f (x) y f 2 (y) z d y dz dt = f 2(y) z d 2 z f i (u) = a i u +b i b i A paraméterválasztásnál Hastings és Powell két dolgot tartott fontosnak. Az egyik, hogy biológiailag ésszerű táplálékláncot modellezzenek. Másfelöl a kaotikus viselkedést szerették volna leírni. Ennek megfelelően a differenciálegyenletek a következőek: ( ẋ(t) = x(t) ( ẏ(t) = y(t) ż(t) = z(t) ) a +b x(t) ( x(t)) y(t) ) a +b x(t) z(t) a 2 +b 2 y(t) d ( ) y(t) a2 +b 2 y(t) d 2 32
Most három változóra készítjük el a Matlab programot: function HP9(x0,y0,z0,a,a2,b,b2,d,d2) options = odeset( RelTol,e-6, AbsTol,[e-7 e-7 e-7]); [T,Y] = ode45(@nre,[0 0000],[x0 y0 z0],options,a,a2,b,b2,d,d2); st=size(t); k=floor(st/2); subplot(,2,) plot(t(k:st),y(k:st,), green,... T(k:st),Y(k:st,2), red,... T(k:st),Y(k:st,3), black ) grid on subplot(,2,2) plot3(y(k:st,),y(k:st,2),y(k:st,3)) grid on function dy = nre(t,y,a,a2,b,b2,d,d2) dy = zeros(3,); dy() = y()*((-y()) - y(2)*a/(+b*y())); dy(2) = y(2)*(y()*a/(+b*y()) - y(3)*a2/(+b2*y(2)) - d); dy(3) = y(3)*(y(2)*a2/(+b2*y(2)) - d2); Az st változót azért hozzuk létre, hogy a felétől a végéig ábrázoljuk az értékeket. A változók az idő és egymás függvényeként kirajzolva: 33
2 Hastings Powell I. Hastings Powell II. 0 0.5 A populációk mérete 8 6 4 Z 0 9.5 9 8.5 8 7.5 7 0.5 2 0.4 0.3 0.8 0 5000 5500 6000 6500 7000 7500 8000 8500 9000 9500 0000 Idõ Y 0.2 0. 0 0 0.2 0.4 X 0.6 Az modellt szokás teáscsésze (teacup) modellnek nevezni az ábra formája miatt. A bifurkációs diagramok jól szemléltetik a kaotikus viselkedést. Itt b paraméter érteke mellett z max értékét ábrázoljuk. Kaotikus viselkedés I. 9 8 7 Z max 6 5 4 3 3 3.5 4 4.5 5 5.5 6 6.5 b Talán még szemléletesebb ha b -et 2.2-től 3.2-ig vizsgáljuk. 34
3 Kaotikus viselkedés II. 2.5 2.5 Z max 0.5 0 9.5 9 8.5 8 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3. 3.2 b Ezek az ábrák jól mutatják, hogy kis változás valamely paraméterben, lényegében megváltoztatja a rendszer viselkedését. 35
4. fejezet Összefoglalás Az első fejezetben felépítettük azt, hogyan lesz differenciálegyenlet egy populáció méretének változásából. Itt már foglalkoztunk a megoldás stabilitásával, egyensúlyi pontok vizsgálatával. A második fejezetben arra próbáltunk választ adni, hogy két populáció milyen hatással van egymásra. Majd fókuszáltunk a stacionárius pontok stabilitására,típusára. Módszereket adtunk ezek meghatározására. A harmadik fejezetben egy 3-szereplős modellt vizsgáltuk, kiindulva a 2-szereplősekből. A rendszer kaotikus viselkedését próbáltuk szemléltetni. A populációdinamika ilyesfajta megközelítése (egyszereplős modellektől a többszereplősig) elősegíti az élőlények közötti kölcsönhatások modellezését és megértését. A numerikus módszerek és a számítógép ezek gyors és szemléletes vizsgálatát teszi lehetővé. 36
5. fejezet Függelék 5.. Egyértelműség és létezés tételek 5.. Definíció. Az f : R A R függvény Lipschitz-tulajdonságú, ha létezik olyan L > 0 szám, hogy teljesül. f(x) f(y) L x y (5.) 5.. Tétel (Cauchy-Peano). Legyen adott az U R 2 nyitott halmaz és az f : U R függvény. Feltesszük, hogy. az f függvény folytonos U-n. Ekkor bármely (t 0,x 0 ) U-hoz az ẋ(t) = f(t,x) x(t 0 ) = x 0 (5.2) kezdetiérték-problémának van megoldása a [t 0 h,t 0 +h] alakú intervallumon ahol h > 0. 5.2. Tétel (Picard-Lindelöf). f : R A R függvény Lipschitz-tulajdonságú az egész értelmezési tartományon, akkor az igaz, hogy a ẋ = f(t,x) x(t 0 ) = x 0 t [t 0 ε,t 0 +ε] (5.3) kezdetiérték-problémának létezik megoldása a [t 0 ε,t 0 +ε] intervallumon és az egyértelmű egy ε > 0-ra. 37
5.2. Egyensúlyi pont és stabilitás 5.2. Definíció (Stacionárius pont). A p M pont egyensúlyi vagy stacionárius pont, ha minden t R számra ϕ(t,p) = p. 5.3. Definíció. Tetszőleges p M pont esetén a {ϕ(t,p) : t I(p)} = R ϕ(,p) görbét a p pont pályájának (trajektóriájának) nevezik. 5.4. Definíció. A rendszer p M egyensúlyi pontja pontosan akkor stabilis, ha minden ǫ R + számhoz létezik olyan δ R + szám, hogy q M, q p < δ, t 0 esetén ϕ(t,p) p < ε. Az egyensúlyi pont pontosan akkor aszimptotikusan stabilis, ha stabilis és q fenti választása mellett t + esetén ϕ(t,p) p 0. 5.. Lemma. Az.2 rendszer pontosan akkor aszimptotikusan stabilis, ha minden λ σ(a) esetén Re(λ) < 0. 5.2. Lemma.. Ha az A mátrixnak van nemnegatív valós részű sajátértéke, akkor a.2 rendszer nem aszimptotikusan stabilis. 2. Ha az A mátrixnak van pozitív valós részű sajátértéke, akkor a.2 rendszer nem stabilis, azaz instabilis. 3. Ha az A mátrixnak van olyan 0 valós részű sajátértéke, amely minimálpolinomnak többszörös gyöke, akkor a.2 rendszer nem stabilis, azaz instabilis. 5.5. Definíció. A V M, R Ljapunov-függvény deriváltja a ẋ(t) = f(x(t)) rendszer szerint az alábbi függvény L f V = V,f azaz (L f V)(p) = V (p),f(p), (p M) (Ezt nevezik a V függvény f vektormező mentén vett iránymenti deriváltjának, illetve a V függvény Lie-Deriváltjának.) 5.3. Tétel (Ljapunov stabilitási tétele). Ha megadható a p M egyensúlyi pont valamely nyílt U M környezetén olyan V : U R folytonosan differenciálható függvény, melyre 38
. V(p) < V(q) minden q U \{p} pontban, és 2. (L f V)(q) 0 minden q U \{p} pontban akkor a p egyensúlyi pont stabilis. Ha (L f V) < 0 minden q U \{p} pontban, akkor a p egyensúlyi pont aszimptotikusan stabilis. 5.4. Tétel (Ljapunov instabilitási tétele). Ha a p egyensúlyi pont valamely nyílt U M környzetén megadható olyan V : U R folytonosan differenciálható függvény, melyre. p nem lokális minimumhelye a V függvénynek, és 2. (L f V)(q) minden q U \{p} pontban, akkor a p egyensúlyi pont instabilis. 39
6. fejezet Köszönetnyilvánítás Köszönöm témavezetőmnek, Mincsovics Miklósnak, hogy bevezetett a populációdinamika matematikai leírásába, valamint megmutatta a Matlab használatát. 40
Nyilatkozat A szakdolgozat szerzőjeként fegyelmi felelősségem tudatában kijelentem, hogy a dolgozatom önálló munkám eredménye, saját szellemi termékem, abban a hivatkozá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. 4
Irodalomjegyzék [] Kathleen T. Alligood, Tim D. Sauer, and James A. Yorke: Chaos: An Introduction to Dynamical Systems Springer Verlag, New York, 997 [2] Morris W. Hirsch, Stephen Smale, Robert L. Devaney: Differential Equations, Dynamical Systems and An Introduction to Chaos Academic Press, San Diego, 2004 [3] Alan Hastings, Thomas Powell: Chaos in a three-species food chain Ecological Society of America, 99 [4] Kumi Tanabe, Toshiyuki Namba: Omnivory creates chaos in simple food web models, Ecological Society of America, 2005 [5] http://www.fke.bme.hu/oktatas (8.Dinamikai rendszerek) [6] Tóth János, Simon L. Péter:Differenciálegyenletek Typotex, Budapest, 2005 42