Diferenn rovnice Jan Forejt FAV kombinovan studium Plze
Diferenční rovnice Jan Forejt FAV – kombinované studium © Plzeň, 2008
Tower of Hanoi (1) o o o . . . v jedné tibetské oblasti, v klášteře uprostřed strmých hor, prý existuje náboženská sekta, která ví, kdy bude konec světa. Mnichové této sekty se zabývají problémem přesouvání 64 zlatých disků navlečených na tři tyče. Cílem je přesunout všechny disky z první tyče na třetí s tím, že mohou používat druhou tyč jako pomocnou. Vždy však mohou přesouvat pouze jeden disk a nikdy nesmíme umístit větší disk na menší. Před mnoha sty lety začali mniši s přesouváním disků. Až se jim podaří úkol splnit, nastane konec světa. Otázkou je, jestli je tato legenda pravdivá, a přenesení jednoho disku trvá kněžím 1 s, jak dlouho budou kněží disky převádět a kdy nastane konec světa. © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Tower of Hanoi (2) o K řešení tohoto problému nejprve určíme počet požadovaných pohybů k přesunu jednoho, dvou či tří disků. Z tohoto řešení budeme moci odvodit pravidlo pro přenesení libovolného počtu disků. n 1 disk (n=1) (P 1=1) Jeden disk lze přenést z jedné jehly na druhou v jednom pohybu. n 2 disky (n=2) (P 2=3) Dva disky lze přenést z jedné jehly na druhou ve třech povolených pohybech. n 3 disky (n=3) (P 3=7) Tři disky lze přenést z jedné jehly na druhou v sedmi povolených pohybech. © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Tower of Hanoi (3) o Animace přesunujících se disků © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Tower of Hanoi (4) 2 1
Tower of Hanoi (4) 3 4
Tower of Hanoi (4) 5 6
Tower of Hanoi (4) 7
Tower of Hanoi (5) o Nyní známe, jak přenést jeden, dva nebo tři disky z jedné jehly na druhou. Není již těžké odvodit strategii pro přenos libovolného počtu disků. Krok Popis akce Počet kroků 1 Přenesení všech disků kromě největšího disku z 1. jehly na 2. Pn-1 2 Přenesení zbývajícího disku z 1. jehly na 3. 1 3 Přenesení disků z 2. jehly na 3. Pn-1 Počet pohybů celkem © Plzeň, 2008 Pn = 2 Pn-1 + 1 Jan Forejt : Diferenční rovnice
Tower of Hanoi (6) o o Tabulka ukazuje danou strategii a dle ní lze spočítat požadovaný počet přesunů pro libovolný počet disků. Naším úkolem bylo zjistit, jak dlouho potrvá přesun 64 disků. Výpočet provedeme přesně podle dané strategie: - nejdříve vypočteme počet přenosů pro jeden disk - z něj lze vypočítat počet přenosů pro dva disky - atd. , až spočteme hledaný počet pro 64 disků P 64 = 18 446 744 073 709 551 615 [s] > 500 * 109 [let] © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Lineární diferenční rovnice (1) o o Hanojské věže a její řešení je příkladem diferenční rovnice. Diferenční (rekursivní) rovnice jsou takové rovnice, kde hledáme vzorec pro n-tý člen posloupnosti čísel splňující jistý daný vztah. Pokud se v dané rovnici vyskytuje pouze lineární kombinace členů hledané posloupnosti, hovoříme o lineární diferenční rovnici. yn = -a 1 yn-1 - a 2 yn-2 - … - akyn-k + bn o o Pokud se zpětně podíváme na diferenční rovnici z Hanojských věží (yn = 2 yn-1 + 1), tak v případě nezadání tzv. počáteční podmínky (počet nutných přesunů pro nejmenší počet disků), řešením dané rovnice by byla každá posloupnost tvaru: yn = d*2 n – 1, d ≠ 0 Dosazením dostaneme: d*2 n – 1 = 2*(d*2 n-1 – 1) + 1 = 2*d*2 n-1 – 2 + 1 = d*2 n – 1 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Lineární diferenční rovnice (2) o Aby bylo její řešení určeno jednoznačně (existovala pouze jediná posloupnost splňující danou rovnici), je nutno ještě zadat tzv. počáteční podmínky, tj. hodnoty prvních k členů dané posloupnosti. © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Lineární diferenční rovnice (3) o Příklady známých lineárních diferenčních rovnic: n Fibonacciho rovnice: Fn = Fn-1 + Fn-2 n Tower of Hanoi: Pn = 2 Pn-1 + 1 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Problémy s počáteční podmínkou (1) o o Pokud máme dánu diferenční rovnici a její první eventuálně i druhý člen, a úkolem je najít posloupnost čísel dané diferenční rovnice, jedná se o tzv. problém s počáteční hodnotou (initialvalue problem). Pro objasnění uvedu několik příkladů: Příklad 1. : Nalezněte prvních podmínkou. n y 0 = 1 n yn = 3 yn-1 + 5 © Plzeň, 2008 šest členů posloupnosti s počáteční Jan Forejt : Diferenční rovnice
Problémy s počáteční podmínkou (2) o o Příklad 1. : Nalezněte prvních podmínkou. n y 0 = 1 n yn = 3 yn-1 + 5 o Řešení: n Známe hodnotu y 0 (= 1) a použitím zadané diferenční rovnice spočteme požadovaný počet členů posloupnosti: n y 0 = 1 n y 1 = 3 y 0 + 5 = 3*1 + 5 = 8 n y 2 = 3 y 1 + 5 = 3*8 + 5 = 29 n y 3 = 3 y 2 + 5 = 3*29 + 5 = 92 n y 4 = 3 y 3 + 5 = 3*92 + 5 = 281 n y 5 = 3 y 4 + 5 = 3*281 + 5 = 848 © Plzeň, 2008 šest členů posloupnosti s počáteční Jan Forejt : Diferenční rovnice
Problémy s počáteční podmínkou (3) o o Příklad 2. : Nalezněte prvních šest podmínkou. n y 0 = 1 n yn – yn-1 = 2 n, n ≥ 1 o Řešení: n Tato diferenční rovnice není zadána ve tvaru, aby člen s nejvyšším indexem byl na levé straně rovnice sám. Tyto rovnice se řeší pro člen s nejvyšším indexem jako funkce členů s nižšími indexy. Tudíž je nutno danou rovnici upravit: n yn = yn-1 + 2 n, n ≥ 1 © Plzeň, 2008 členů posloupnosti s počáteční Jan Forejt : Diferenční rovnice
Problémy s počáteční podmínkou (4) o Příklad 2. (pokračování): n Nyní již můžeme spočítat prvních šest členů dané posloupnosti: n y 0 = 1 n y 1 = 1 + 2*1 = 3 n y 2 = 3 + 2*2 = 7 n y 3 = 7 + 2*3 = 13 n y 4 = 13 + 2*4 = 21 n y 5 = 21 + 2*5 = 31 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Problémy s počáteční podmínkou (5) o o Příklad 3. : Nalezněte prvních pět členů podmínkou. n y 0 = 5 n y 1 = 0 n yn = (yn-1)2 - yn-2 , n ≥ 1 o Řešení: n Tato diferenční rovnice potřebuje pro své řešení první dva členy dané posloupnosti (počáteční podmínky). Jejich hodnota je známa a není proto problém najít řešení: n y 0 = 5 n y 1 = 0 n y 2 = 0 2 – 5 = – 5 n y 3 = (– 5)2 – 0 = 25 n y 4 = 252 – (– 5) = 630 © Plzeň, 2008 posloupnosti s počáteční Jan Forejt : Diferenční rovnice
Řešení diferenčních rovnic (1) o o Předcházející příklady ukazují fakt, že stačí ovládat základní kroky aritmetiky abychom dokázali najít prvních několik členů řešení úlohy s počáteční podmínkou. Nicméně jak už bylo prezentováno na problému Hanojských věží, bylo by určitě časově a výpočetně ideálnější najít algebraický výraz pro n-tý člen yn posloupnosti. Nazvali bychom ho řešením problému s počáteční podmínkou. Výhoda tohoto výrazu leží ve skutečnosti, že můžeme nalézt hodnotu nějakého členu posloupnosti jednoduše bez nutnosti vyčíslit předchozí členy posloupnosti. Jako příklad si můžeme vzít Hanojské věže: yn = 2 yn-1 + 1 y 0 = 1 je řešením problému s počáteční hodnotou yn = 2 n – 1 2 n – 1 = 2*(2 n-1 – 1) + 1 = 2*2 n-1 – 2 + 1 = 2 n – 1 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Řešení diferenčních rovnic (2) o o o Mějme dánu diferenční rovnici: yn = ayn-1 + b , kde a, b jsou reálná čísla. Takovouto rovnici nazveme diferenční rovnicí prvního řádu (first-order linear). Je možné najít n-tý člen yn z posloupnosti, který uspokojí tuto rovnici pro první člen y 0, touto metodou: postupným rozepisováním dané diferenční rovnice nejdříve pro n=1 a dále pro n=2, 3, …, a nahrazením členů s vyššími indexy členy s indexy nižšími, dostaneme vztah pro výpočet člena yn pomocí člena y 0 (počáteční podmínka). © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Řešení diferenčních rovnic (3) o Dostaneme: y 1 = ay 0 + b y 2 = ay 1 + b = a(ay 0 + b) + b = a 2 y 0 + ab + b y 3 = ay 2 + b = a(a 2 y 0 + ab + b) + b = a 3 y 0 + a 2 b + ab + b. . yn = ayn-1 + b = any 0 + an-1 b + an-2 b + … + a 2 b + ab + b o Použitím formule na součet konečné geometrické řady: o b + a 2 b + … + an-1 = b[(1 -an)/(1 -a)], a ≠ 1 Takže řešením je: yn = any 0 + b[(1 -an)/(1 -a)] = any 0 + b/(1 -a) – ban/(1 -a) = = b/(1 -a) + [y 0 - b/(1 -a)]an © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Řešení prvního řádu lineárních rovnic (1) o Z uvedeného podmínkou: vzorce vyplývá, že problém s počáteční yn = ayn-1 + b, dáno y 0 , n ≥ 1 má řešení: yn = r + (y 0 – r)an , n ≥ 0 , kde r = b/(1 -a), a ≠ 1 o Pokud je a = 1, diferenční rovnice má řešení yn = y 0 + nb © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Řešení prvního řádu lineárních rovnic (2) o o Příklad 4. : Nalezněte řešení problému s počáteční podmínkou. n y 0 = 0 n yn = 0, 8 yn-1 + 1 , n ≥ 1 o Řešení: n y 0 = 0 n yn = ayn-1 + b , n ≥ 1 , kde n a = 0, 8 n b=1 n r = b/(1 -a) = 1/(1 -0, 8) = 5 , pak n yn = r + (y 0 - r)an = 5 + (0 – 5)0, 8 n = 5 – 5*0, 8 n , n ≥ 0 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (1) o o Příklad 5. : Pastevec má populaci 30 horských koz. Jeho stádo se zvětšuje ročně o 12%. Na takto zadané úloze můžeme zkoumat 2 problémy: n Jak velká bude populace koz za n let? n Za kolik let dosáhne jeho stádo počtu 150 ks? © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (2) o o Jak velká bude populace koz za n let? Řešení: n yn - yn-1 = 0, 12 yn-1 n y 0 = 30, yn = 1, 12 yn-1 , n ≥ 1 , problém s počáteční podmínkou n yn = ayn-1 + b , kde n a = 1, 12 n b=0 n r = b/(1 -a) = 0 o Dostaneme řešení n yn = r + (y 0 – r)an = 0 + (30 – 0)1, 12 n = 30*1, 12 n , n≥ 0 n Prvních pár členů je uvedeno v tabulce: © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (3) n yn-populace horských koz 0 30. (1. 12)0 30 1 30. (1. 12)1 33, 6 2 30. (1. 12)2 37, 63 3 30. (1. 12)3 42, 14 4 30. (1. 12)4 47, 20 5 30. (1. 12)5 52, 87 6 30. (1. 12)6 59, 24 7 30. (1. 12)7 66, 32 8 30. (1. 12)8 74, 27
Diferenční rovnice v praxi (4) n o Za kolik let dosáhne jeho stádo počtu 150 ks? Řešení: stanovíme n 30*1, 12 n = 150 , kde potřebujeme určit n n 1, 12 n = 5 , zlogaritmováním dostaneme n n log 1, 12 = log 5 n log 1, 12 ≈ 0, 049218 n log 5 ≈ 0, 69897 , dosazením n 0, 049218 n ≈ 0, 69897 n n ≈ 14, 2 Stádo dosáhne stavu 150 ti kusů za přibližně 14 let. © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (5) 180 160 140 120 100 80 60 40 20 0 0 2 © Plzeň, 2008 4 6 8 10 12 14 16 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (6) o o o Příklad 6. : Třeboňští rybáři mají ve svém rybníce 100. 000 ks třeboňských kaprů. Kapři se ročně rozrostou o 25% a je povolen výlov 30. 000 ks kaprů určených na vánoční stůl. Za kolik let bude celé hejno ryb vyloveno? Řešení: n yn - yn-1 = 0, 25 yn-1 – 30000, n ≥ 1, y 0 = 100000 n yn = 1, 25 yn-1 – 30000 , což je lineární rovnice prvního řádu (yn = ayn-1 + b), kde n a = 1, 25 n b = -30000 n r = b/(1 -a) = (-30000)/(1 - 1, 25) = 120000 © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (7) n Za kolik let bude celé hejno ryb vyloveno? (yn = 0) o Dostaneme řešení n yn = r + (y 0 – r)an , n≥ 0 n 0 = 120000 + (100000 – 120000)1, 25 n n 0 = 120000 – 20000*1, 25 n n 20000*1, 25 n = 120000 n 0, 2*1, 25 n = 1, 2 n 1, 25 n = 6 , zlogaritmováním dostaneme n n log 1, 25 = log 6 n log 1, 25 ≈ 0, 09691 n log 6 ≈ 0, 778151 , dosazením n 0, 09691 n ≈ 0, 778151 n n ≈ 8, 029 Rybník bude bez kaprů za 9 let. © Plzeň, 2008 Jan Forejt : Diferenční rovnice
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Diferenční rovnice v praxi (8) n y - velikost rybí populace 0 1 2 3 4 5 6 7 8 9 100000 95000 88750 80937 71171 58964 43705 24631 789 0
Děkuji za pozornost © Plzeň, 2008 Jan Forejt : Diferenční rovnice
- Slides: 41