Knihovna funkcí a návody pro praktika z ekologie společenstev v prostředí Matlab
V tuto chvíli nepoužíváme k přednášce (je zde z historických důvodů), a dále ji neudržuji, a případné chyby ve skriptech neopravuji.
|
|
|
|
|
|
Jméno funkce |
Obsah
|
Text s popisem
|
Logistický růst jedné populace s volitelnou lag fází.
|
||
logerr |
Logistický růst jedné populace se stochastickou variabilitou.
|
|
Mayova rovnice pro populaci.
|
||
parabolasingle |
Mayova rovnice pro populaci, stavové zobrazení.
|
|
Mayova rovnice pro populaci, animace v závislosti na měnícím
se r.
|
||
Simulace LV dynamiky dvou druhů.
|
||
Isočáry LV dynamiky dvou druhů ve stavovém prostoru.
|
||
Simulace LV dynamiky dvou druhů ve stavovém prostoru s
čarami nulového růstu.
|
||
LV dynamika dvou druhů, response surface k hodnotám
alfa.
|
||
LV dynamika dvou druhů, response surface k počátečním
populačním hustotám.
|
||
Simulace LV dynamiky dvou druhů s disturbancí.
|
||
Dynamika dvou druhů s disturbancí, zobrazení ve stavovém
prostoru.
|
||
Dynamika dvou druhů s disturbancí, response surface.
|
||
Simulace LV dynamiky dvou druhů s cyklickou variabilitou
vnějších podmínek (změna K).
|
||
Dynamika dvou druhů s variabilitou vnějších podmínek,
zobrazení ve stavovém prostoru.
|
||
pp_time | Simulace predator-prey dynamiky dvou druhů | |
pp_lines | Isočáry predator-prey dynamiky dvou druhů | |
pp_plot | Simulace predator-prey dynamiky dvou druhů ve stavovém prostoru s čarami nulového růstu. | |
pp_plot_para | Stavový graf predator-prey dynamiky dvou druhů s čarami nulového růstu. Měnící se izočáry v závislosti na měnících se parametrech. | |
pp_shape | Srovnání dvou složek populační dynamiky kořisti - tj. růstu a predace. Funkci lze použít ke zkoumání vlivu jednotlivých parametrů predace na chování kořisti při type III functional response | |
Kompetice o zdroje: Jeden zdroj a jeden nebo více druhů.
|
||
Kompetice o zdroje: Jeden zdroj a jeden druh ve stavovém
grafu s izočárami. Animovaná dynamika.
|
||
Kompetice o zdroje: Jeden zdroj a jeden druh ve stavovém
grafu s izočárami. Měnící se izočáry v závislosti na měnících se parametrech
|
||
Kompetice o zdroje: dva druhy kompetující o jeden zdroj
ve stavovém grafu.
|
||
Kompetice o zdroje: Dva zdroje a jeden nebo více druhů.
|
||
Kompetice o zdroje: Dva zdroje a jeden nebo více druhů,
grafické zobrazení.
|
||
Metapopulační dynamika: Jeden druh na systému diskrétních
stanovišť - základní funkce.
|
||
metapop_lines |
Metapopulační dynamika: graf složek Levinsovy rovnice.
|
|
metapop_plot |
Metapopulační dynamika: dynamika jednoho druhu na systému
diskrétních stanovišť v grafu složek Levinsovy rovnice.
|
|
Metapopulační dynamika: Dva druhy na systému diskrétních
stanovišť - základní funkce.
|
||
Metapopulační dynamika: Dva druhy na systému diskrétních
stanovišť - izočáry nulového růstu pro dominance a founder control.
|
||
Metapopulační dynamika: stavová dynamika dvou druhů na
systému diskrétních stanovišť - stavový graf s izočárami a animovanou
dynamikou.
|
||
Interakce v explicitním prostoru: Jeden nebo více druhů
v prostorově explicitním systému diskrétních stanovišť.
|
||
Generování teoretického rozložení druhových četností různých
typů.
|
||
Generování jednoho konkrétního společenstva (souboru N
jedinců) z daného rozložení druhových četností.
|
||
Vytvoření species-area křivky.
|
||
Neutrální dynamika metaspolečenstva se speciací.
|
Základní zacházení s prostředím Matlab
Problém | Postup | Příklad | Poznámka |
Definice vektoru | čísla je třeba dát do hranaté závorky | [1,2,3,4] nebo [1 2 3 4] | |
Definice matice | čísla je třeba dát do hranaté závorky, oddělit středníkem při přechodu na další řádek | [1,2,3,4;5,6,7,8] |
všechny sekvence čísel musí být stejně dlouhé: [1,2,3,4;5,6,7] je špatně - matice není obdélníková |
Přiřazení hodnoty proměnné | pomocí symbolu = | a = [3,7,10] |
lze přiřazovat skaláry, vektory i matice (proměnná si pamatuje jakého typu je) existující proměnné lze prozkoumat pomocí Object Exploreru na liště Matlabu nahoře |
Generování řady čísel | pomocí operátoru : | 1:10 | |
Kreslení základního dvourozměrného grafu | funkce plot, první argument je vektor pro osu X, další je argument je vektor nebo matice k vynesení na osu Y |
plot([1,2,3],[3,7,10]) nebo: x=[1,2,3] |
počet řádků v matici je počet řad k vynesení délka vektoru pro x a matice pro y musí být stejná |
Kreslení do již existujícího obrázku | po nakreslení prvního obrázku zadat funkci hold on | plot(x,y) hold on plot(x,z) |
|
Vypsat soubory v pracovním adresáři | funkce ls | ls | bez argumentů |
Vypsat jméno pracovního adresáře | funkce pwd | pwd | bez argumentů |
Změnit pracovní adresář | Pomocí File>Set path nebo ikony na horní liště |
Systém:
- dN/dt = rN(K-N)/K (základní rovnice).
- Parametry:
- r: růstová rychlost (jednotky: 1/čas)
- K: nosná kapacita (jednotky: počet jedinců)
Možná zajímavá zkoumání:
- zkoumejte, jak závisí dynamika druhu na nosné kapacitě (K), na počáteční populační hustotě (n0), na rychlosti populačního růstu (r)
- zkoumejte, jak závisí dynamika druhu na délce lagfáze a jak se tato závislost mění se změnou rychlosti populačního růstu
- zkoumejte, jak závisí dynamika druhu na variabilitě vnějších podmínek
Funkce pro logistický růst populace:
(1) Funkce logist: Logistický růst jedné populace s volitelnou lag fází. Funkce vrací vektor o délce nostep, obsahující časový vývoj druhu; tu je třeba vynést pomocí příkazu plot. Parametry funkce:
(2) Funkce logerr: Logistický růst jedné populace se stochastickou variabilitou. Funkce vrací vektor o délce nostep, obsahující časový vývoj druhu; tu je třeba vynést pomocí příkazu plot. Parametry funkce:
- r (populační růstová rychlost)
- K (nosná kapacita populace)
- n0 (počáteční velikost populace)
- lag (zpoždění: populace reaguje svým růstem v čase t na populační velikost v kroku t-lag)
- nostep (počet kroků)
- r (populační růstová rychlost)
- K (nosná kapacita populace)
- n0 (počáteční velikost populace)
- noise (intensita stochasticity prostředí; jednotky závisí na následujícím parametru, pokud má hodnotu <2)
- ifrel (typ variability prostředí):
- 0: absolutní (vyjádřena v počtu individuí)
- 1: relativní (vyjádřena v podílu počtu individuí)
- 2: Poissonovská (demografická stochasticita - ve skriptu jsou dvě varianty)
- nostep (počet kroků)
Logistický růst populace: Mayova rovnice
Systém:
- N(t+1) = RN(K-N)/K (základní rovnice).
- Parametry:
- R: růstová rychlost (jednotky: 1)
- K: nosná kapacita (jednotky: počet jedinců)
Možná zajímavá zkoumání:
- zkoumejte, jak závisí dynamika druhu na rychlosti populačního růstu (R), případně i na nosné kapacitě (K), na počáteční populační hustotě (n0),
- Pozn. V těle funkce maysingle je ještě "skrytá" proměnná noise (intensita stochasticity prostředí v absolutních jednotkách - počtech jedinců). Zkoumejte její vliv na časový vývoj populace a na vznik cyklického nebo chaotického chování
- Pozn. Mayova rovnice na rozdíl od rovnice běžného logistického růstu není kumulativní. Proto výsledná populační velikost závisí na R.
Funkce:
(1) Funkce maysingle: Mayova rovnice pro populaci. Funkce vrací vektor čísel (časovou řadu vývoje populace); tu je třeba vynést pomocí příkazu plot. Parametry funkce:
(2) Funkce parabolasingle: Mayova rovnice pro populaci: stavové zobrazení. Funkce kreslí obrázek. Parametry funkce:
- R (populační růstová rychlost)
- K (nosná kapacita populace)
- n0 (počáteční velikost populace)
- nostep (počet kroků)
- R (populační růstová rychlost)
- K (nosná kapacita populace)
- n0 (počáteční velikost populace)
- nostep (počet kroků)
- maxr: slouží pouze pro vynášení obrázku (rozsah osy y)
(3) Funkce may: Mayova rovnice pro populaci: animace v závislosti na měnícím se r. Funkce kreslí obrázky, případně animované. Parametry funkce:
- startr (počáteční hodnota R)
- endr (koncová hodnota R)
- stepr (přírůstek R)
- K (nosná kapacita populace)
- n0 (počáteční velikost populace)
- nostep (počet kroků)
- singleplot (0: žádné animace; 1: animace grafu závislosti na čase; 2: animace stavového grafu)
- animation (rychlost animace v sekundách)
Lotka-Volterrovská dynamika dvou druhů
Systém:
- dN1/dt = r1N1(K1-N1-alfa12N2)/K1.
- dN2/dt = r2N2(K2-alfa21N1-N2)/K2.
- Parametry:
- r1, r2: růstové rychlosti druhu 1 a 2 (jednotky: 1/čas)
- K1 a K2: nosné kapacity druhu 1 a 2 (jednotky: počet jedinců příslušného druhu)
- alfa12: působení druhu 2 na druh 1 (jednotky: počet jedinců druhu2/ počet jedinců druhu1)
- alfa21: působení druhu 1 na druh 2 (jednotky: počet jedinců druhu1/ počet jedinců druhu2)
Lotka-Volterrovská dynamika dvou druhů: Problémy ke zkoumání
Funkce implementující Lotka-Volterrovskou dynamiku:
- zkoumejte časovou dynamiku různých kombinací hodnot K1, K2, alfa12 a alfa21. Používejte jak vynášení hodnot obou druhů v čase, tak stavový graf s hodnotami obou druhů. Zkuste najít (viz jednoduché závislosti z přednášky) kombinace odpovídající všem možným typům chování (stabilní koexistence, jeden druh převládne bez ohledu na výchozí populační hustoty, jeden druh převládne v závislosti an výchozích populačních hustotách)
- Pro zkoumání vlivu alfa je vhodné pracovat s K1=K2 (pak je dynamika systému určena tím, zda alfy jsou větší nebo menší než jedna).
- zkoumejte jak pro jednu kombinaci parametrů K1, K2, alfa12 a alfa21 závisí na r1 a r2.
- pro situaci s nestabilním rovnovážným bodem zkoumejte, jak dynamika závisí na výchozích populačních hustotách obou druhů
(1) Funkce lv2_time: Simulace LV dynamiky dvou druhů. (základní funkce) Tato funkce je vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici ve tvaru 2xnostep, obsahující časový vývoj obou druhů. Parametry funkce:
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapcita populace druhu 1)
- n01 (počáteční velikost populace druhu 1)
- r2 (populační růstová rychlost druhu 2)
- K2 (nosná kapacita populace druhu 2)
- n02 (počáteční velikost populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
- nostep (počet kroků)
(2) Funkce lv2_lines: Isočáry LV dynamiky dvou druhů ve stavovém prostoru. Tato funkce počítá hodnoty izočar nulového růstu pro oba druhy. (Tahle funkce je spíš pomocná pro funkci následující.) Parametry funkce:
- K1 (nosná kapacita populace druhu 1)
- K2 (nosná kapacita populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
(3) Funkce lv2_plot: Simulace LV dynamiky dvou druhů ve stavovém prostoru s čarami nulového růstu (je třeba stáhnout a uložit i předcházející dvě funkce). Tato funkce nakreslí stavový graf systému, vynese do něj čáry nulového růstu a současně trajektorii vývoje systému. Parametry funkce:
- prvních devět parametrů je stejných jako pro funkci lv2_time
- zda animovat vývoj populace.
(4) Funkce lv2_3d: LV dynamika dvou druhů: response surface k hodnotám alfa (je třeba stáhnout a uložit i předcházející funkce). Tato funkce kreslí trojrozměrný obrázek, který ukazuje, jak (pro daná K, a r a počáteční hustoty) závisí podíl druhu 2 na alfa12 a alfa21. Parametry funkce jsou podobné, jako v předchozím případě, ale je jich trochu víc::
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapcita populace druhu 1)
- n01 (počáteční velikost populace druhu 1)
- r2 (populační růstová rychlost druhu 2)
- K2 (nosná kapacita populace druhu 2)
- n02 (počáteční velikost populace druhu 2)
- alfaini dolní hranice kompetičních koeficientů
- alfaend horní hranice kompetičních koeficientů
- alfastep změna kompetičních koeficientů
- nostep (počet kroků)
(5) Funkce lv2_3d_ini: LV dynamika dvou druhů: response surface k počátečním hustotám druhů (je třeba stáhnout a uložit i předcházející funkce). Tato funkce kreslí trojrozměrný obrázek, který ukazuje, jak (pro daná K, alfa a r) závisí podíl druhu 2 na počátečních hustotách obou druhů. Parametry funkce jsou podobné, jako v předchozím případě, ale je jich trochu víc::
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapacita populace druhu 1)
- r2 (populační růstová rychlost druhu 2)
- K2 (nosná kapacita populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
- n0ini dolní hranice počáteční hustoty
- n0end horní hranice počáteční hustoty
- n0step změna počáteční hustoty
- nostep (počet kroků)
Vliv disturbance na dynamiku a koexistenci dvou druhů
Systém:
- LV rovnice jako v předcházejícím případě
- disturbance (=likvidace určité části jedinců populace) s určitou frekvencí
Problémy ke zkoumání
- zkoumejte, jak závisí převládnutí jednoho druhu či koexistence na růstové rychlosti. Je výhodné pracovat s K1=K2 a takovými alfami, které vedou k převládnutí jednoho druhu nezávisle na počátečních podmínkách (jedna alfa >1 a druhá alfa <1) a při tom měnit růstovou rychlost "slabšího" druhu. Poznámka: v rovnovážném systému růstová rychlost koexistenci neovlivňuje - zkoumejte, jak je to zde.
- zkoumejte totéž pro nastavení četnosti disturbance a odlišné citlivosti obou druhů k disturbanci. Zkuste, jak v systému s jedním rychle rostoucím, ale kompetitivně slabým druhem a jedním pomalu rostoucím, ale kompetitivně silným druhem ovlivní koexistenci/převládnutí jednoho z nich frekvence nebo intensita disturbance.
- zobrazujte systémy jak v závislosti na čase, tak i ve stavovém prostoru
- zkoumejte, zda lze vhodným nastavením růstových rychlostí získat koexistenci dvou druhů i v případě, kdy rovnovážný model ke koexistenci nevede (competition-colonization tradeoff). K hledání parametrů růstových rychlostí a intensity disturbance lze rovněž využít funkcí response surface
Funkce s disturbancí v LV systémech:
(1) Funkce lv2_dist: Simulace LV dynamiky dvou druhů s disturbancí. Tato funkce je vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici o rozměru 2xnostep, obsahující časový vývoj obou druhů. Parametry funkce:
(2) Funkce lv2_dist_plot: Dynamika dvou druhů s disturbancí: zobrazení ve stavovém prostoru. Tato funkce kreslí obrázek (případně animovaný) ve stavovém prostoru (isočáry a trajektorie vývoje systému). Parametry funkce jsou stejné jako v předchozím případě, a jeden parametr navíc (zda animovat).
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapcita populace druhu 1)
- n01 (počáteční velikost populace druhu 1)
- r2 (populační růstová rychlost druhu 2)
- K2 (nosná kapacita populace druhu 2)
- n02 (počáteční velikost populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
- perioda disturbance (po kolika krocích dojde k disturbanci)
- faktor, na nějž klesne při disturbanci populační velikost druhu 1 (0: úplná likvidace; 1: disturbance na něj nemá vliv)
- faktor, na nějž klesne při disturbanci populační velikost druhu 2
- nostep (počet kroků)
(3) Funkce lv2_dist_3d: Dynamika dvou druhů s disturbancí: response surface. Tato funkce kreslí trojrozměrný obrázek, který ukazuje, jak (pro daná K, alfa a frekvenci disturbance) závisí podíl druhu 2 na jeho růstové rychlosti a intensitě disturbance. Parametry funkce jsou podobné, jako v předchozím případě, ale je jich trochu víc:
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapcita populace druhu 1)
- n01 (počáteční velikost populace druhu 1)
- r2ini (dolní hranice populační růstové rychlosti druhu 2)
- r2end (horní hranice populační růstové rychlosti druhu 2)
- r2step (přírůstek populační růstové rychlosti druhu 2)
- K2 (nosná kapacita populace druhu 2)
- n02 (počáteční velikost populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
- perioda disturbance (po kolika krocích dojde k disturbanci)
- dolní hranice faktoru, na nějž klesne při disturbanci populační velikost obou druhů (0: úplná likvidace; 1: disturbance na ně nemá vliv)
- horní hranice faktoru, na nějž klesne při disturbanci populační velikost obou druhů
- přírůstek faktoru
- nostep (počet kroků)
Vliv variability vnějších podmínek na dynamiku a koexistenci dvou druhů
Systém:
- LV rovnice jako v předcházejícím případě
- změna nosné kapacity prostředí (K1 a K2) s určitou frekvencí
Problémy ke zkoumání:
- zkoumejte vliv změny vnějších podmínek (změny K) na dynamiku a koexistenci druhů.
Funkce implementující proměnlivost prostředí v LV systémech
(1) Funkce lv2_env: Simulace LV dynamiky dvou druhů s cyklickou variabilitou vnějších podmínek (změna K). Tato funkce je vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici o rozměru 2xnostep, obsahující časový vývoj obou druhů. Parametry funkce (jsou tři, a první dva z nich jsou vektory!):
- r1 (populační růstová rychlost druhu 1)
- K1 (nosná kapacita populace druhu 1)
- n01 (počáteční velikost populace druhu 1)
- r2 (populační růstová rychlost druhu 2)
- K2 (nosná kapacita populace druhu 2)
- n02 (počáteční velikost populace druhu 2)
- alfa12 (působení druhu 2 na druh 1)
- alfa21 (působení druhu 1 na druh 2)
- perioda změny prostředí (po kolika krocích dojde ke změně prostředí)
- K1': hodnota nosné kapacity druhu 1 po změně prostředí; stará hodnota K1 se uloží a hodnoty se "vymění" znovu při další následující změně prostředí
- K2': hodnota nosné kapacity druhu 2 po změně prostředí
- nostep (počet kroků)
(2) Funkce lv2_env_plot: Dynamika dvou druhů s variabilitou vnějších podmínek: zobrazení ve stavovém prostoru. Tato funkce kreslí obrázek (případně animovaný) ve stavovém prostoru (isočáry a trajektorie vývoje systému). Parametry funkce jsou stejné jako v předchozím případě, a jeden parametr navíc (zda animovat).
Dynamika dravec-kořist (Predator-prey, PP)
Systém:
- dR/dt = r1 R (K-R)/K - C(aR2/(1+aThR2))
- dC/dt = cC(aR2/(1+aThR2)) - dC
- Parametry:
- r1: růstová rychlost kořisti (jednotky: 1/čas)
- K: nosná kapacita kořisti (jednotky: jedinci kořisti)
- c: prey conversion rate (jednotky: jedinci dravce/jedinci kořisti)
- a: encounter rate (jednotky: 1/(čas*jedinci kořisti2)
- Th: handling time (jednotky: čas)
- d: mortalita predátora (jednotky: 1/čas)
Dynamika dravce a kořisti: Problémy ke zkoumání
Funkce implementující dynamiku dravec-kořist:
- zkoumejte časovou dynamiku různých kombinací parametrů. Používejte jak vynášení hodnot obou druhů v čase, tak zejména stavový graf s hodnotami obou druhů.
- Zkuste najít kombinace odpovídající všem možným typům chování (stabilní koexistence v rovnovážném bodě, nestabilní dynamika - extinkce jednoho z obou druhů, limitní cyklus) - v závislosti na tom, kde protne isočára dravce (svislá zelená čára) isočáru kořisti (zda v rostoucí či klesající části isočáry kořisti)
- Pro volbu smysluplných hodnot parametrů je třeba vycházet z úvah o rozměrech těchto parametrů (zejména a je třeba mít malé). Systém nemá smysl, pokud c < d.Th (predátor nemá oblast růstu v oblasti kladných čísel)
(1) Funkce pp_time: Simulace PP dynamiky dvou druhů. (základní funkce) Tato funkce je vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici ve tvaru 2xnostep, obsahující časový vývoj obou druhů. Parametry funkce:
- r1: růstová rychlost kořisti
- K: nosná kapacita kořisti
- n01: počáteční populační velikost kořisti
- c: prey conversion rate
- a: encounter rate
- Th: handling time
- d: mortalita predátora
- n02: počáteční populační velikost predátora
- nostep: počet kroků
(2) Funkce pp_lines: Isočáry PP dynamiky dvou druhů ve stavovém prostoru. Tato funkce počítá hodnoty izočar nulového růstu pro oba druhy. (Tahle funkce je spíš pomocná pro funkci následující.) Parametry funkce:
- r1: růstová rychlost kořisti
- K: nosná kapacita kořisti
- c: prey conversion rate
- a: encounter rate
- Th: handling time
- d: mortalita predátora
(3) Funkce pp_plot: Simulace PP dynamiky dvou druhů ve stavovém prostoru s čarami nulového růstu (je třeba stáhnout a uložit i předcházející dvě funkce). Tato funkce nakreslí stavový graf systému, vynese do něj čáry nulového růstu a současně trajektorii vývoje systému. Parametry funkce:
- prvních devět parametrů je stejných jako pro funkci pp_time
- zda animovat vývoj populace.
(4) Funkce pp_plot_para: Simulace PP dynamiky dvou druhů ve stavovém prostoru s čarami nulového růstu (je třeba stáhnout a uložit i první dvě funkce, pp_lines a pp_time). Tato funkce nakreslí stavový graf systému, vynáší do něj čáry nulového růstu pro jeden měnící se parametr. Parametry funkce:
- prvních devět parametrů je stejných jako pro funkci pp_time (parametry n01 a n02 se nepoužívají, ale musí být zadány)
- číslo parametru, který má být měněn (ostatní parametry mají hodnoty zadané podle hodnot r1,K atd. výše). Parametry jsou kódovány takto:
- 1: r1 (růstová rychlost kořisti)
- 2: K (nosná kapacita kořisti)
- 4: c: (prey conversion rate)
- 5: a: (encounter rate)
- 6: Th: (handling time)
- 7: d: (mortalita predátora)
- počáteční hodnota parametru
- koncová hodnota parametru
- krok změny parametru
- zda animovat vývoj populace.
(5) Pomocná funkce Funkce pp_shape: kreslí dvě složky populační dynamiky kořisti (první rovnice výše) - tj. růst a predaci. Krom všech parametrů kořisti je třeba také zadat hodnotu populační velikosti predátora, pro niž chci zjistit chování kořisti. Změna populační hustoty kořisti při dané hustotě predátora je kladná, je-li modrá čára nad zelenou; v opačném případě je záporná. Funkci lze použít ke zkoumání vlivu jednotlivých parametrů predace na chování kořisti při type III functional response. Parametry funkce:
- r1: růstová rychlost kořisti
- K: nosná kapacita kořisti
- c: prey conversion rate
- a: encounter rate
- Th: handling time
- C: populační velikost predátora (je třeba zadat zevně)
Kompetice o zdroje: jeden zdroj
Systém:
- Dynamika populace: dN/dt = N (uR - d).
- Dynamika zdroje: dR/dt = S - aR - wuRN.
- Parametry a jejich jednotky:
- S - produkce zdroje. Jednotky: zdroj za čas
- a je mortalita zdroje. Jednotky: 1 / čas
- w je spotřeba zdroje na jednotku růstu (consumption)
- u je růst na jednotku zdroje (1/zdroj.čas)
- d je mortalita druhu
- V systému s více druhy jde o jednoduché zobecnění (každý druh má své parametry w, u a d)
Problémy ke zkoumání:
- zkoumejte vývoj množství zdroje v systému pokud žádný druh není přítomen - v závislosti na parametrech zdroje
- zkoumejte vliv parametrů zdroje (supply a loss) na množství zdroje a populační velikost druhu pokud je druh přítomen.
- zkoumejte vliv parametrů druhu (natality, consumption rate, mortality) na množství zdroje a populační velikost druhu pokud je druh přítomen. Použijte závislost na čase i stavový graf.
- zkoumejte dynamiku systému se dvěma a více druhy. Ověřte, že koexistence dvou druhů s jedním zdrojem není možná (pokud nejsou identické v parametru natality na jednotku zdroje). Použijte závislost na čase i stavový graf (ten lze jen pro dva druhy).
- Pozor: U parametrů je vždy třeba bedlivě zkoumat jednotky, v nichž se vyjadřují! (to platí obecně, ale zde, kde se střídavě uvažují jednotky zdroje a počty jedinců, je to obzvlášť důležité)
Funkce implementující dynamiku kompetice o jeden zdroj pro jeden nebo více druhů:
(1) Funkce res1: Jeden zdroj a jeden nebo více druhů (základní funkce). Tato funkce je zejména vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici o n+1 řádcích (n je počet druhů), obsahující hodnoty zdroje a všech druhů. Funkce má šest parametrů, druhý z nich je vektor (pokud je v systému jeden druh) nebo matice (pokud je tam víc druhů).
- počet druhů
- vektor se čtyřmi prvky, který popisuje konsumaci zdroje druhem (pokud je druhů více, místo vektoru je to matice o 4 sloupcích a tolika řádcích, kolik je druhů):
- u, per capita natalita jako funkce zdroje. Jednotky: 1 / (jednotka zdroje x čas).
- w, příjem zdroje na jednotku růstu (consumption rate). Jednotky: jednotka zdroje / jedinec.
- d, mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců
- S, množství zdroje vytvořené za jednotku času (supply). Jednotky: jednotka zdroje / čas.
- a, "mortalita" zdroje za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- lag: po kolika krocích se v systému objeví druh
- počet kroků simulace
(2) Funkce res1_plot_rsp: Jeden zdroj a jeden druh ve stavovém grafu s izočárami. Tato funkce kreslí obrázek (stavový graf). V systému může být jen jeden druh. Funkce má pět parametrů, první z nich je vektor.
- vektor se čtyřmi prvky, který popisuje konsumaci zdroje druhem:
- u, per capita natalita jako funkce zdroje. Jednotky: 1 / (jednotka zdroje x čas).
- w, příjem zdroje na jednotku růstu (consumption rate). Jednotky: jednotka zdroje / jedinec.
- d, mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců
- S, množství zdroje vytvořené za jednotku času (supply). Jednotky: jednotka zdroje / čas.
- a, "mortalita" zdroje za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- lag: po kolika krocích se v systému objeví druh
- počet kroků simulace
- animation (zda animovat)
(3) Funkce res1_plot_para: Jeden zdroj a jeden druh ve stavovém grafu s izočárami. Tato funkce kreslí obrázek (stavový graf) s měnícími se izočárami podle změn hodnot jednoho (vybraného) parametru. V systému může být jen jeden druh. Funkce má pět parametrů, první z nich je vektor.
- vektor se čtyřmi prvky, který popisuje konsumaci zdroje druhem:
- u, per capita natalita jako funkce zdroje. Jednotky: 1 / (jednotka zdroje x čas).
- w, příjem zdroje na jednotku růstu (consumption rate). Jednotky: jednotka zdroje / jedinec.
- d, mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců. Tenhle parametr je tu jen pro shodu s předchozími funkcemi; ve výpočtu se nepoužívá.
- S, množství zdroje vytvořené za jednotku času (supply). Jednotky: jednotka zdroje / čas.
- a, "mortalita" zdroje za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- číslo parametru, který má být měněn (ostatní parametry mají hodnoty zadané podle hodnot u,w atd. výše). Parametry jsou kódovány takto:
- 1: u (natalita)
- 2: w (consumption rate)
- 3: d (mortalita)
- 5: S (supply)
- 6: a (loss)
- počáteční hodnota parametru
- koncová hodnota parametru
- krok změny parametru
- animation (zda animovat)
(4) Funkce res1_plot_sp2: Dva druhy ve stavovém grafu. Tato funkce kreslí obrázek (stavový graf). V systému musí být právě dva druhy. Funkce má pět parametrů, první z nich je matice o dvou řádcích a čtyřech sloupcích.
- matice se 2x4 prvky, který popisuje konsumaci zdroje druhy:
- per capita natalita jako funkce zdroje. Jednotky: 1 / (jednotka zdroje x čas).
- příjem zdroje na jednotku růstu (consumption rate). Jednotky: jednotka zdroje / jedinec.
- mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců
- množství zdroje vytvořené za jednotku času (supply). Jednotky: jednotka zdroje / čas.
- "mortalita" zdroje za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- lag: po kolika krocích se v systému objeví druh
- počet kroků simulace
Kompetice o zdroje: dva zdroje
Systém:
- Dynamika populací:
- dN1/dt = N1 (min(u11R1, u12R2) - d1).
- dN2/dt = N2 (min(u21R1, u22R2) - d2).
- Dynamika zdrojů je
- dR1/dt = S1 - a1R1 - w11(natalita N1) - w12(natalita N2). [Natalita populace je vyjádřena předchozími rovnicemi.]
- dR2/dt = S2 - a2R2 - w21(natalita N1) - w22(natalita N2). [Natalita populace je vyjádřena předchozími rovnicemi.]
- Parametry a jejich jednotky:
- S - produkce zdroje. Jednotky: zdroj za čas
- a je mortalita zdroje . Jednotky: 1 / čas
- w je spotřeba zdroje na jednotku růstu (consumption)
- u je růst na jednotku zdroje (1/zdroj.čas)
- d je mortalita druhu
Problémy ke zkoumání:
- zkoumejte, na kterých parametrech druhu závisí posice isočar nulového růstu (Pomůcka: zkoumejte to pro systéme jen o jednom kroku - ať se do toho neplete dynamika)
- zkoumejte, na kterých parametrech druhu závisí výchozí směr vývoje systému
- zkoumejte, jak závisí vývoj systému na posici isočar nulového růstu. Doporučení: pro identické hladiny zdroje měňte jen isočáry.
- zkoumejte, jak závisí vývoj systému na consumption rates. Doporučení: sestavte takový systém, v němž pro každý druh je limitující jiný zdroj a měňte při tom consumption rates, postupně pro oba druhy. Jako výchozí hodnoty použijte třeba:
- v=[0.008,0.004,0.4,0.5,0.3,10;0.005,0.01,0.5,0.4,0.3,20] a res2_plot(2,v,100,0.5,100,0.4,100,0.2)
- v=[0.008,0.004,0.5,0.4,0.3,10;0.005,0.01,0.4,0.5,0.3,20] a res2_plot(2,v,100,0.5,100,0.4,100,0.2)
- zkoumejte, jak závisí vývoj systému na výchozí hladině zdroje. Doporučení: sestavte takový systém, v němž pro každý druh je limitující jiný zdroj a měňte při tom výchozí hladinu zdroje a consumption rates
- Zkuste systém s třemi a více druhy.
- Pozor: Stejně jako v předcházejícím případě je třeba u parametrů vždy bedlivě zkoumat jednotky, v nichž se vyjadřují!
Funkce implementující dynamiku kompetice o dva zdroje pro jeden nebo více druhů:
(1) Funkce res2: Dva zdroje a jeden nebo více druhů (základní funkce). Tato funkce je zejména vhodná pro sledování dynamiky systému v čase (na ose x čas, na ose y hodnoty funkce). Funkce vrací matici o n+2 řádcích (n je počet druhů), obsahující hodnoty obou zdrojů a všech druhů. Funkce má sedm parametrů, a druhý z nich je vektor (pokud je v systému jeden druh) nebo matice (pokud je tam víc druhů).
- počet druhů
- vektor se šesti prvky, který popisuje konsumaci zdrojů druhem (pokud je druhů více, místo vektoru je to matice o 6 sloupcích a tolika řádcích, kolik je druhů):
- per capita natalita jako funkce zdroje 1. Jednotky: 1 / (jednotka zdroje 1 x čas).
- per capita natalita jako funkce zdroje 2. Jednotky: 1 / (jednotka zdroje 2 x čas).
- příjem zdroje 1 na jednotku růstu (consumption rate). Jednotky: jednotka zdroje 1 / jedinec.
- příjem zdroje 2 na jednotku růstu (consumption rate). Jednotky: jednotka zdroje 2/ jedinec.
- mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců
- množství zdroje 1 vytvořené za jednotku času (supply). Jednotky: jednotka zdroje 1 / čas.
- "mortalita" zdroje 1 za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje 1, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- množství zdroje 2 vytvořené za jednotku času (supply). Jednotky: jednotka zdroje 2 / čas.
- "mortalita" zdroje 2 za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje 2, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- počet kroků simulace
(2) Funkce res2_plot: Dva zdroje a jeden nebo více druhů: grafické zobrazení. Tato funkce kreslí dva obrázky, jeden stavový graf v prostoru obou zdrojů (s isočárami nulového růstu a trajektorií systému) a graf závislosti na čase. Funkce má sedm parametrů (stejně jako předcházející funkce), a druhý z nich je vektor (pokud je v systému jeden druh) nebo matice (pokud je tam víc druhů).
- počet druhů
- vektor se šesti prvky, který popisuje konsumaci zdrojů druhem (pokud je druhů více, místo vektoru je to matice o 4 sloupcích a tolika řádcích, kolik je druhů):
- per capita natalita jako funkce zdroje 1. Jednotky: 1 / (jednotka zdroje 1 x čas).
- per capita natalita jako funkce zdroje 2. Jednotky: 1 / (jednotka zdroje 2 x čas).
- příjem zdroje 1 na jednotku růstu (consumption rate). Jednotky: jednotka zdroje 1 / jedinec.
- příjem zdroje 2 na jednotku růstu (consumption rate). Jednotky: jednotka zdroje 2/ jedinec.
- mortalita. Jednotky: bezrozměrné číslo (podíl jedinců, kteří zemřou v jednom kroku)
- počáteční počet jedinců v populaci. Jednotky: počet jedinců
- množství zdroje 1 vytvořené za jednotku času (supply). Jednotky: jednotka zdroje 1 / čas.
- "mortalita" zdroje 1 za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje 1, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- množství zdroje 2 vytvořené za jednotku času (supply). Jednotky: jednotka zdroje 2 / čas.
- "mortalita" zdroje 2 za jednotku času (leaching, loss). Jednotky: 1 / čas (podíl zdroje 2, jenž odplyne ze systému nezávisle na přítomnosti druhů za jeden krok)
- počet kroků simulace
- animace: doba mezi dvěma kroky v sekundách (malé číslo <1, jinak to poběží hrozně dlouho)
Metapopulační dynamika jednoho druhu
Systém:
- Systém diskrétních stanovišť, z nichž každé může být buď prázdné, nebo osídlené druhem
- Pozn. Stanoviště se zobrazují ve čtvercové síti, ale fysická vzdálenost nehraje pro dynamiku žádnou roli - systém je prostorově implicitní
- dp/dt = ip(1-p) - ep/(1+alfa.e.p), kde i je rychlost imigrace, e je rychlost extinkce, alfa míra rescue efektu (pro alfa == 0 jde o standardní Levinsovský systém) a p je podíl osídlených stanovišť.
Problémy ke zkoumání:
Funkce implementující metapopulační dynamiku jednoho druhu:
- doba k dosažení rovnováhy a rovnovážný počet osídlených ostrovů v závislosti na imigrační a extinkční pravděpodobnosti s prostorově implicitní (Levinsovou) dynamikou (použijte i zobrazení s průběhem imigrace a extinkce, funkce levins_plot)
- ověřte, že všechny systémy konvergují k rovnovážnému bodu nezávisle na počáteční hustotě druhu (Poznámka. V této implementaci modelu typicky konvergují k hodnotě větší než je rovnovážná hodnota. Je to proto, že systém je synchronizovaný, napřed se provede extinkce na všech stanovištích a pak imigrace na všech stanovištích - je tedy o půl kroku "přestřeleno")
- vliv počtu stanovišť (dim) na stochastickou variabilitu
- závislost vývoje systému na počátečních podmínkách pro systémy s rescue efektem
(1) Funkce metapop: Jeden druh na systému diskrétních stanovišť (základní funkce). Tato funkce modeluje dynamiku jednoho druhu na systému diskrétních stanovišť. Funkce vrací vektor s hodnotami podílu obsazených stanovišť během simulace. Případně také kreslí prostorový obrázek. Parametry funkce:
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- alfa (míra rescue efektu)
- počet řad buněk (dim^2 je počet stanovišť, čili K)
- zda nakreslit prostorový obrázek
- počet kroků simulace
- speed: rychlost animace v sekundách (doba jež má uplynout mezi dvěma kroky)
(2) Funkce metapop_lines: Levinsova rovnice (obrázek). Tato funkce kreslí závislost imigrace a extinkce na počtu osídlených stanovišť (spíš pomocná funkce pro funkci následující). Parametry funkce:
- immigration rate
- extinction rate
- alfa (míra rescue efektu)
(3) Funkce metapop_plot: Jeden druh na systému diskrétních stanovišť: obrázek a vývoj systému. Tato funkce kreslí vývoj počtu osídlených stanovišť v čase, spolu s průběhem imigrace a extinkce. Parametry funkce:
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- alfa (míra rescue efektu)
- počet řad buněk (dim^2 je počet stanovišť)
- počet kroků simulace
- zda animovat
Metapopulační dynamika dvou druhů
Systém:
- Systém diskrétních stanovišť, z nichž každé může být buď prázdné, nebo osídlené nějakým (jedním) druhem
- Pozn. Stanoviště se zobrazují ve čtvercové síti, ale fysická vzdálenost nehraje pro dynamiku žádnou roli - systém je prostorově implicitní
- (founder control):
- Dynamika prvního druhu: dp/dt = i1p(1-p-q) - e1p
- Dynamika druhého druhu: dq/dt = i2q(1-p-q) - e2q
- kde i je rychlost imigrace, e je rychlost extinkce (indexy 1 a 2 značí parametry příslušné druhům 1 a 2), a p a q je podíl osídlených stanovišť druhem 1 a 2.
- (dominance control):
- Dynamika prvního druhu: dp/dt = i1p(1-p) - e1p
- Dynamika druhého druhu: dq/dt = i2q(1-p-q) - e2q - i1pq
- Pokud je systém founder controlled, obsazené stanoviště není nikdy k disposici pro kolonizaci druhým druhem. Pokud je systém dominance controlled, dominantní druh (v tomto případě druh 1) může osidlovat stanoviště obsazené druhem slabším, ale obráceně to není možné. (Proto jsou rovnice pro dominance controlled systém nesymetrické.)
Problémy ke zkoumání:
Funkce implementující metapopulační dynamiku dvou druhů:
- koexistence obou druhů za různých podmínek imigrace, extinkce
- rozdíl koexistence pro systémy s founder a dominance control.
- Zkoumejte odlišnost chování těchto systémů, když extinkce == 0 a extinkce > 0
- závislost na počátečních podmínkách ve founder a dominance control
- pomocí stavového grafu nalezněte podmínky pro colonization-competition tradeoff
(1) Funkce metapop2: Dva druhy na systému diskrétních stanovišť . Tato funkce modeluje dynamiku dvou druhů na systému diskrétních stanovišť s Levinsovskou dynamikou. Funkce vrací matici o dvou řádcích s časovou dynamikou obou druhů. Krom toho případně kreslí prostorový obrázek.Parametry funkce:
- Druh 1 (modrý)
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- Druh 2 (zelený)
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- parametr domcon: 1 dominance control (druh 1 (modrý) je dominantní), 0 founder control
- počet řad buněk (dim^2 je počet stanovišť)
- zda nakreslit prostorový obrázek
- počet kroků simulace
(2) Funkce metapop2_lines: izočáry dvou druhů na systému diskrétních stanovišť . Tato funkce kreslí izočáry dvou druhů na systému diskrétních stanovišť s Levinsovskou dynamikou a rozlišením zda jde o founder a dominance control. Parametry funkce:
- Druh 1 (modrý)
- immigration rate
- extinction rate
- Druh 2 (zelený)
- immigration rate
- extinction rate
- parametr domcon: 1 dominance control (druh 1 (modrý) je dominantní), 0 founder control
(3) Funkce metapop2_plot: Stavový graf s izočárami vývoje dvou druhů na systému diskrétních stanovišť. Tato funkce modeluje dynamiku dvou druhů na systému diskrétních stanovišť s Levinsovskou dynamikou a rozlišením zda jde o founder a dominance control. Funkce kreslí stavový graf. Parametry funkce:
- Druh 1 (modrý)
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- Druh 2 (zelený)
- immigration rate
- extinction rate
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- parametr domcon: 1 dominance control (druh 1 (modrý) je dominantní), 0 founder control
- počet řad buněk (dim^2 je počet stanovišť)
- počet kroků simulace
- zda animovat simulaci
Prostorově explicitní dynamika jednoho a více druhů s použitím celulárních automatů
Systém:
- čtvercová síť buněk, z nichž každá může být buď prázdná, nebo osídlená nějakým (jedním) druhem
- pravděpodobnost osídlení prázdné buňky druhem i je součet:
- longi x frekvence druhu i v celé ploše
- imii x frekvence druhu i v okolí buňky
- pravděpodobnost osídlení buňky ve stavu i druhem j
- imij x frekvence druhu j v okolí buňky za předpokladu, že příslušný prvek interakční matice, tj. aij = 1
- pokud je (podle těchto pravidel) více kandidátů na osídlení buňky, jeden se vybere náhodně
- okolí buňky je definováno buď jako von Neumann neighbourhood (čtyři nejbližší buňky - tj. buňky dotýkající se stranou), nebo Moore neighbourhood (osm nejbližších buněk - tj. buňky dotýkající se stranou a rohem),
- pravděpodobnost uprázdnění buňky osídlené druhem i je exti
- Pozn. Na rozdíl od všech předchozích systémů jsou zde stavové proměnné stavy jednotlivých buněk (je jich proto hodně!)
Problémy ke zkoumání:
- v systému jednoho druhu zkoumejte vliv parametrů druhu (imi, ext a long) na populační velikost a prostorové pattern druhu v čase
- v systému dvou druhů
- zkoumejte vliv parametrů druhu (imi, ext a long) na populační velikost a prostorové pattern obou druhů v čase.
- srovnejte chování systému s dominance control a founder control na koexistenci (Poznámka: founder-controlled je takový systém, kde v interakční matici jsou jedničky jen na diagonále)
- zkuste najít systém, kde koexistence je důsledkem colonization-competition tradeoff (jde to...). Je třeba, aby jeden druh rychle rostl a byl schopen se šířit (velké imi a long), ale byl kompetitivně slabší. Současně dominantní druh musí mít dostatečně velkou mortalitu.
- v systému tří druhů
- srovnejte chování systému v závislosti na struktuře interakční matice
- zejména srovnejte matice transitivní (pokud A>B a B>C, tak A>C) a matice netransitivní (pokud A>B a B>C, tak A<C) pokud jde o koexistenci a prostorové pattern
- zkuste najít systém, kde koexistence je důsledkem colonization-competition tradeoff
Funkce implementující prostorově explicitní dynamiku druhů s použitím celulárních automatů:
(1) Funkce ca: Jeden nebo více druhů v prostorově explicitním systému diskrétních stanovišť. Tato funkce modeluje dynamiku několika druhů s lokální dynamikou. Funkce vrací matici o nospec řádcích s časovou dynamikou všech druhů. Krom toho případně kreslí prostorový obrázek. Parametry funkce:
- počet druhů
- Popis druhů: vektor s čtyřmi prvky (pro nospec == 1) nebo matice s nospec x 4 prvky
- immigration rate
- extinction rate
- long distance dispersal
- podíl osídlených stanovišť na začátku (0 - jedno stanoviště)
- Popis interakcí mezi druhy: matice s nospec x nospec prvky skládající se z nul a jedniček. Pokud prvek ij se rovná jedné, znamená to, že druh j je schopen invadovat do buňky obsazené druhem i
- počet řad buněk (dim^2 je počet stanovišť)
- typ prostorové dynamiky: 1 - lokální, von Neumann neighbourhood (čtyři nejbližší buňky - tj. dotýkající se stranou), 2 - lokální, Moore neighbourhood (osm nejbližších buněk - tj. dotýkající se stranou a rohem),
- zda nakreslit prostorový obrázek
- počet kroků simulace
- animace (trvání obrázku v sekundách)
Rozložení druhových četností, species-area křivka a související jevy
Systém:
- zcela homogenní společenstvo s fixním počtem jedinců (kuliček), které mohou patřit různým druhům.
- Species pool, tj. soubor všech druhů, které jsou k disposici k tažení (migraci) do společenstva
- jedinci těchto druhů jsou taženi ze základního species poolu náhodně, přičemž pravděpodobnosti jejich tažení jsou dány teoretickým rozdělením druhových četností
- Rozdělení je několik typů (geometrické, lognormální, Tokeshi power fraction, broken stick)
- NB. Počet jedinců je parametr společenstva, počet druhů ve species poolu je parametr celého systému, ale počet druhů ve společenstvu je pasivní výsledek procesů tažení ze species poolu
- tento systém je statický - druhy se táhnou jen jednou
Problémy ke zkoumání:
Funkce implementující rozložení druhových četností, a species-area křivky:
- srovnání tvarů teoretických rozdělení druhových četností. Nakreslete několik rozdělení dohromady, do lineárního i logaritmického grafu. (K tomu použijte Matlabovskou funkci hold on - obrázek zůstane k disposici pro dokreslování dalších čar)
- Zkoumejte tvar rozdělení druhových četností ve společenstvech o různém velikosti (počtu jedinců). Vyneste rozložení četností do histogramu pomocí funkce hist
- Zkoumejte sklon závislosti počtu druhů na velikosti společenstva pro různá rozdělení druhových četností, a různé velikosti species poolu
(1) Funkce distr: Generování teoretického rozložení druhových četností různých typů. Funkce vrací vektor kumulativních relativních četností daného rozdělení. Parametry:
- type: typ rozdělení: 1 geometrické, 2 lognormální, 3 Tokeshi power fraction, 4 random (broken stick)
- par_a: první parametr rozdělení
- geometrické: podíl abundancí mezi po sobě následujícími druhy (<1)
- lognormální: směrodatná odchylka
- power fraction: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- broken stick: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- par_b: druhý parametr rozdělení (průměr pro lognormální; pro ostatní rozdělení libovolná hodnota)
- pool_size: počet druhů
Funkce vrací vektor absolutních četností druhů daného společenstva a počet druhů ve společenstvu (funkce volá funkci distr). Parametry:
- size: velikost společenstva (počet jedinců)
- type: typ rozdělení: 1 geometrické, 2 lognormální, 3 Tokeshi power fraction, 4 random (broken stick)
- par_a: první parametr rozdělení
- geometrické: podíl abundancí mezi po sobě následujícími druhy (<1)
- lognormální: směrodatná odchylka
- power fraction: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- broken stick: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- par_b: druhý parametr rozdělení (průměr pro lognormální; pro ostatní rozdělení libovolná hodnota)
- pool_size: počet druhů
- ifplot: zda kreslit obrázek (1: lineární, 2: logaritmický)
(3) Funkce SpecArea: Vytvoření species-area křivky (přesněji závislosti počtu druhů na počtu jedinců)
Funkce táhne 'noreal'-krát společenstvo o velikosti (postupně) sizemin, sizemin*sizeincrease, sizemin*sizeincrease^2, atd. až do počtu nosizes. Vrací 2*nosizes matici s velikostí společenstva a k ní příslušejícímu počtu druhů a kreslí lineární nebo logaritmický graf této závislosti
- sizemin: nejmenší velikost společenstva
- sizeincrease: poměr velikostí po sobě následujících společenstev (číslo > 1)
- nosizes: počet velikostí společenstev
- noreal: počet opakování pro jednu velikost společenstva
- type: typ rozdělení: 1 geometrické, 2 lognormální, 3 Tokeshi power fraction, 4 random (broken stick)
- par_a: první parametr rozdělení
- geometrické: podíl abundancí mezi po sobě následujícími druhy (<1)
- lognormální: směrodatná odchylka
- power fraction: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- broken stick: libovolná hodnota (rozdělení je kanonické, tj. bez parametrů)
- par_b: druhý parametr rozdělení (průměr pro lognormální; pro ostatní rozdělení libovolná hodnota)
- pool_size: počet druhů
- ifplot: jaký kreslit obrázek (1: lineární, 2: logaritmický)
Neutrální model dynamiky společenstev
Systém:
- systém několika zcela homogenních lokálních společenstev (=metaspolečenstvo) s fixním počtem identických jedinců (kuliček), které mohou patřit různým druhům.
- různé druhy se neliší svým chováním (pravděpodobností migrace extinkce nebo množení)
- v lokálním společenstvu probíhají tyto procesy
- mortalita (disturbance): každý jedinec v každém kroku zahyne s konstatní pravděpodobností
- lokální natalita: v každém společenstvu se doplní určitý počet jedinců (maxind * dist * growthfr) množením jedinců druhů ve společenstvu přítomných
- migrace: v každém společenstvu se doplní určitý počet jedinců (maxind *dist *(1 - growthfr) ) migrací druhů z ostatních lokálních společenstev. Alternativně se doplní migrací ze species poolu bez ohledu na to, co se vyskytuje v okolních společenstvech
- speciace: v každém kroku má každý jedinec učitou pravděpodobnost, že dá vznik novému druhu o jednom (právě tom) jedinci (vznik druhů bodovou mutací). Alternativně se v každém kroku s určitou pravděpodobností každý druh rozstěpí náhodně na dva (vznik druhů alopatrickou speciací)
- Počet jedinců je parametr společenstva, počet druhů je pasivní výsledek procesů tažení ze species poolu a jeho evoluce
- NB. na rozdíl od předcházejícího systému je tento systém dynamický, sampling druhů probíhá opakovaně v čase. Vývoj metaspolečenstva je důsledek náhodných procesů na úrovni společenstev
Problémy ke zkoumání:
- Jedno společenstvo (bez migrace a speciace)
- zkoumání efektu neutrálního ekologického driftu: nastavte určitý počet druhů na začátku (a určité rozdělení) zkoumejte, jak se vyvíjí počet druhů během času. Zkoumejte, jak převládnutí jednoho druhu závisí na parametrech (disturbance).
- v modelu s jedním společenstvem bez speciace zkoumejte, jak rychle se ustálí počet druhů ve společenstvu a jaké je výsledné rozdělení druhových četností
- Mnoho společenstev (s migrací, bez speciace)
- rozšiřte model tak, aby zahrnoval více lokálních společenstev a zkoumejte (krom výše uvedeného) jak parametry modelu ovlivňují počet druhů v metaspolečenstvu a podobnosti společenstev mezi sebou
- Mnoho společenstev (s migrací a speciací)
- rozšiřte model o speciaci bodovou mutací, a zkoumejte, jak se změní rozdělení druhových četností a počet druhů a jak vypadá rovnovážný stav
- zkoumejte, jak parametry (disturbance, počet společenstev a počet jedinců, intensita migrace) modelu ovlivňují (i) rovnovážný stav, a (ii) rychlost jeho dosažení (rychlost přechodové dynamiky)
- učiňte totéž pro model s alopatrickou speciací.
- začněte jak od společenstev s jedním druhem na začátku, tak i od společenstev s velkým počtem druhů a zkoumejte jejich případnou konvergenci v počtu druhů.
Funkce implementující neutrální model:
(1) Funkce hubbell. Tato funkce modeluje neutrální dynamiku metaspolečenstva (tj. několika lokálních společenstev) s mortalitou (disturbancí), imigrací, množením uvnitř společenstva a evolucí druhů. Funkce kreslí animované obrázky (pokud iffig > 0) a vrací pět proměnných:
- (i) vektor s rozložením druhových četností na konci simulace
- (ii) vektor s časovým průběhem počtu druhů ve metaspolečenstvu
- (iii) maxspec x nostep matici s s rozložením druhových četností (počtu jedinců ve všech lokálních společenstvech) během simulace
- (iv) maxspec x nostep matici s s rozložením druhových frekvencí (podílem lokálních společenstev, v nichž se druh vyskytuje) během simulace.
- (v) vektor s rozložením dob trvání jednotlivých druhů (délka vektoru může být větší než maxspec, protože druhy se mohou během trvání společenstva obměňovat)
- (vi) vektor s časovým průběhem Simpsonova indexu metaspolečenstva
Parametry funkce:
Poznámka. Funkce operuje s proměnlivým počtem parametrů. Pokud je zadán jen jeden parametr (iffig), bere si hodnoty ostatních parametrů z těla funkce (na začátku jsou všechny vypsány i s hodnotami). Pokud je zadáno více parametrů (v tom případě je třeba ale zadat všechny), pak si bere jejich hodnoty při volání přímo z volajícího příkazu (příkazové řádky)
- iffig: zda nakreslit obrázky
- nocom: počet lokálních společenstev skládajících metaspolečenstvo
- dist: mortalita (na jedince na krok)
- growthfr: podíl lokální natality z celkového počtu nově vytvořených jedinců
- outside: jaký podíl z jedinců doplňovaných migrací se táhne ze "species poolu" mimo metaspolečenstvo. Pro Hubbellovský proces = 0.
- maxind: počet individuí v lokálním společenstvu
- pointrate: frekvence speciace bodovou mutací (point mutation). Je vyjádřena na jedince a krok.
- splittrate: frekvence speciace rozdělením druhu (allopatric speciation). Je vyjádřena na druh a krok.
- inicializace (pomocí funkce distr, proto používá její parametry)
- type: typ rozdělení: 1 geometrické, 2 lognormální, 3 Tokeshi power fraction, 4 random (broken stick)
- par_a: první parametr rozdělení (viz popis funkce distr)
- pool_size: počet druhů pro inicializaci (pro čistý Hubbellovský proces = 1, ale není nezbytné)
- počet kroků simulace
- maxspec je technický limit, který musí být větší než počet současně koexistujících druhů v kterémkoliv kroku simulace (jeho překročení vede k pádu simulace; na druhé straně jeho velké hodnoty simulaci zpomalují - holt to není profesionálně naprogramováno... - ale zas Matlab na tohle není nejvhodnější. Zájemci si to jistě napíší v C nebo C++ daleko lépe.)
Jak získat hodnoty parametrů ve naměřených datech
- Použití postupů pro nelineární regresi (Marquardtův algoritmus) pro odhad parametrů křivek, jejichž tvar je znám (například data o šíření v závislosti na vzdálenosti)
- danou závislost o daném počtu parametrů (exponenciální nebo probabilistický model) je třeba specifikovat pomocí těchto důležitých prvků
- tvar závislosti (formuli)
- počáteční hodnoty všech parametrů (nejlépe číslo odlišné od nuly a od jedničky)
- míru shody/odlišnosti tohoto modelu od dat ("loss function")
- konvergenční kritéria (počet prvků, tolerance)
- z fitované rovnice odvodit hledané parametry a zkoumat R2 jako míru úspěšnosti.