Matematika pro matematickou (pato)fyziologii Jarní semestr 2022 Matematika pro matematickou (pato)fyziologii Michal Šitina 22. května 2022 Ústav patologické fyziologie Lékařská fakulta Masarykova univerzita Brno Obsah 1 Stavební kameny matematiky 4 1.1 Množina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Zobrazení, funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Komplexní čísla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Umění zanedbat nepodstatné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Úvod do matematické analýzy 8 2.1 Funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 Inverzní funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.2 Transformace funkcí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Přehled základních funkcí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 Polynomické funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.2 Exponenciální a logaritmické funkce . . . . . . . . . . . . . . . . . . . . . 12 2.2.3 Goniometrické funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Limita funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Derivace funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4.1 Intuitivní představa derivace . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4.2 Exaktní definice derivace . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4.3 Derivace elementárních funkcí . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.4 Derivace součtu, rozdílu, součinu a podílu . . . . . . . . . . . . . . . . . . 16 2.4.5 Derivace složených funkcí . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.6 Příklady výpočtu derivace funkcí . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.7 Derivace inverzních funkcí . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.8 Derivace vyššího řádu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.9 Geometrický a fyzikální význam derivace . . . . . . . . . . . . . . . . . . 17 2.4.10 Vyšetřování průběhu funkce . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.11 Taylorovy řady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5 Funkce více proměnných . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.1 Představa funkce více proměnných . . . . . . . . . . . . . . . . . . . . . . 21 2.5.2 Parciální derivace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5.3 Vyšší a smíšené parciální derivace . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.4 Vyšetřování průběhu funkce více proměnných . . . . . . . . . . . . . . . . 25 2.6 Integrální počet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6.1 Idea integrálního počtu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6.2 Neurčitý integrál . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6.3 Metody integrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.6.4 Určitý integrál . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.7 Obyčejné diferenciální rovnice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.7.1 Idea diferenciálních rovnice . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.7.2 Základní pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7.3 Metoda separace proměnných . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7.4 Lineární diferenci rovnice prvního řádu, metoda variace konstant . . . . . 35 2.7.5 Soustavy obyčejných diferenciálních rovnic prvního řádu . . . . . . . . . . 38 2.7.6 Lineární diferenciální rovnice druhého řádu . . . . . . . . . . . . . . . . . 39 2 Obsah 3 Poznámky k numerické matematice 44 3.1 Numerické řešení algebraických rovnic . . . . . . . . . . . . . . . . . . . . . . . . 44 3.1.1 Metoda půlení intervalů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.1.2 Metoda prosté iterace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.3 Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2 Numerické řešení diferenciálních rovnic . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2.1 Eulerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2.2 Metoda Rungeho a Kutty . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3 Numerické řešení soustav diferenciálních rovnic . . . . . . . . . . . . . . . . . . . 53 3.3.1 Eulerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.2 Runge-Kuttova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4 Poznámky k lineární algebře 58 4.1 Vektory a vektorové prostory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1.1 Operace s vektory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1.2 Lineární kombinace, lineární závislost a nezávislost vektorů . . . . . . . . 61 4.1.3 Báze a dimenze vektorového prostoru . . . . . . . . . . . . . . . . . . . . 61 4.2 Matice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.1 Typy matic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.2 Hodnost a determinant matic . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.3 Operace s maticemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.4 Geometrická interpretace násobení vektoru maticí . . . . . . . . . . . . . 64 4.2.5 Příklady aplikací matic v biologii a medicíně . . . . . . . . . . . . . . . . 65 4.2.6 převedení z teorie grafů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.7 popis sítí - metabolické, genové regulační ... . . . . . . . . . . . . . . . . . 65 4.2.8 analýza vícerozměrných dat. Principal component analysis . . . . . . . . . 65 4.2.9 klasické fyzikální uplatnění . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.10 analýza obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3 Soustavy lineárních algebraických rovnic . . . . . . . . . . . . . . . . . . . . . . . 65 3 1 Stavební kameny matematiky V této úvodní kapitole stručně popíšeme některé základní matematické pojmy a představy, které se vyskytují ve všech speciálních oblastech matematiky, jako jsou např. matematická analýza, algebra, teorie pravděpodobnosti nebo numerická matematika. Učebnice vyšší matematiky jsou většinou psány systémem Definice – Věta – Důkaz. V našem kurzu budeme postupovat méně precizně, intuitivní cestou. Přesto je vhodné základním principům dobře rozumět. Definice je přiřazení názvu jisté přesněji vymezené entitě. Sama o sobě neobsahuje žádnou novou informaci, žádný poznatek. Definice bývají často psány nepřesně jako implikace, tedy „Pokud platí to a ono, označujeme jej jako abc“. Vždy je ve skutečnosti rozuměna ekvivalence, tedy „Právě když platí to a ono, označujeme jej jako abc“. Příklad definice: Reálná funkce jedné reálné proměnné je každé zobrazení z množiny R do množiny R. V tomto případě jsme entitě „zobrazení z množiny R do množiny R“ přiřadili název „reálná funkce jedné reálné proměnné“. 1.1 Množina Množinou rozumíme souhrn jakýchkoli vzájemně odlišitelných elementů, prvků množiny, do jednoho celku. Představu množin prvně zformuloval německý matematik Georg Cantor1. Založil oblast matematiky dnes označovanou jako Teorie množin. V originále definuje Cantor množinu takto: Unter einer „Menge“ verstehen wir jede Zusammenfassung M von bestimmten wohlunterschiedenen Objekten m unserer Anschauung oder unseres Denkens (welche die „Elemente“ von M genannt werden) zu einem Ganzen. Původní Cantorovu verzi označujeme jako Naivní teorii množin, jejíž nedostatky byly odhaleny na počátku 20. století a byla zprecizována v tzv. Axiomatické teorii množin, spojené se jmény Zermelo a Fraenkel. Teorie množin je absolutním základem matematiky, snad vše v matematice lze převést na operace s množinami. 1.2 Zobrazení, funkce Často nás zajímá vztah dvou množin A a B, tedy souvislost mezi jednotlivými prvky. Taková souvislost se velmi obecně označuje jako relace. Každému prvku jedné množiny může být přiřazeno více prvků druhé množiny nebo nemusí být některému prvku přiřazen žádný prvek. Velmi speciální, ale nejdůležitější relace, kdy je každému prvku množiny A přiřazen právě jeden prvek množiny B, se označuje jako zobrazení nebo funkce. Funkce a zobrazení jsou obvykle vnímána jako synonyma. Pokud prvky množiny A označíme x a množiny B y, pak zápis f : A → B; x → y 1 Georg Cantor, 1845-1918, německý matematik, založil Teorii množin 4 1.3 Komplexní čísla znamená zobrazení f z množiny A do množiny B, které každému x ∈ A přiřazuje y ∈ B. Množinou A mohou být např. všichni občasné České republiky, množinou B reálná čísla (B = R). Zobrazení „měření výšky“ zapíšeme jako měření výšky : občané ČR → R; občan → výška . 1.3 Komplexní čísla Známe několik nekonečných množin čísel, např. přirozená čísla N, celá čísla Z, racionální čísla Q nebo reálná čísla R. Nad těmito množinami jsou definované jisté operace, t.j. co můžeme s čísly dělat. Přirozená čísla můžeme sčítat a násobit, přičemž výsledek je opět přirozené číslo, ale nemůžeme např. odečíst větší číslo od menšího. To můžeme provádět s celými čísly, ta ale např. nemůžeme libovolně dělit. K tomu už potřebujeme ještě větší množinu čísel, totiž racionální čísla, která jsou vyjádřitelná zlomkem. Racionální čísla jsou první nekonečnou množinou čísel, s nimiž můžeme provádět všechny běžné operace s čísly a výsledek je vždy racionální číslo. Jak už ale zjistili v antickém Řecku, některá čísla, např. √ 2, mezi racionální nepatří. Pokud racionální čísla obohatíme o tato tzv. iracionální čísla, dostaneme reálná čísla. Na okraj poznamenejme, že iracionálních čísel je mnohem více než čísel racionálních. Kromě reálných čísel ale existuje ještě jedna (a už žádná další!!) nekonečná množina poněkud zvláštních čísel, označovaných jako komplexní čísla, s nimiž lze počítat jako s „normálními“ čísly. Neexistuje žádné reálné číslo, které umocněno na druhou dá −1. Definujme si proto nějaké nové číslo i, které není reálné, říkejme mu imaginární, pro nějž platí i2 = −1. Vezměně dvě reálná čísla a, b ∈ R a definujme nové číslo jako z = a + bi Množinu všech takových čísel označme jako komplexní čísla C. Pokud s nimi budeme „normálně“ počítat, zjistíme, že vše bez problémů funguje. Dvě komplexní čísla vynásobíme např. takto (3 + 2i) . (4 − 3i) = 12 − 9i + 8i − 6i2 = 12 − i − 6.(−1) = 18 − i Komplexní číslo obsahuje dvě „proměnné“ a a b, dá se proto zobrazit jako bod v plošném grafu, v tzv. Gaussově2 rovině (obr. 1.1), kdy reálnou část a vynášíme na osu x a imaginární část b na osu y. Velikost neboli absolutní hodnota komplexního čísla ∥z∥ je vzdálenost bodu od počátku, platí ∥z∥ = a2 + b2 Spojnice bodu a počátku svírá s osou x úhel φ, označovaný jako fáze komplexního čísla. Platí proto a = ∥z∥. cos φ a b = ∥z∥. sin φ. Komplexní číslo tedy můžete vyjádřit pomocí goniometrikých funkcí jako z = a + bi = ∥z∥ cos φ + i∥z∥ sin φ = ∥z∥ (cos φ + i sin φ) Absolutní hodnota ∥z∥ bývá též označována jako amplituda komplexního čísla A. 2 Carl Friedrich Gauss, 1777-1855, německý matematik a fyzik 5 1 Stavební kameny matematiky −1 1 2 −1 1 2 1 + 2i φ ∥z∥ a = 1 b = 2 Re(z) Im(z) Obrázek 1.1: Komplexní číslo v Gaussově rovině 1.4 Umění zanedbat nepodstatné Umění rozpoznat a zanedbat nepodstatné je cenná dovednost v životě i v matematice. V matematice vhodné zanedbání vede ke zjednodušení výrazu bez podstatného nárůstu chyby výsledku. Zanedbat můžeme v součtu, je-li jeden ze sčítanců podstatně menší. V součinu pochopitelně zanedbávat nelze. Pokud tedy d ≪ x, platí x + d ≈ x Zanedbat můžeme zejména mocniny malých hodnot. Pokud totiž d ≈ 0, pak d ≫ d2 ≫ d3 ≫ . . . Ilustrujme si zanedbávání na následujícím příkladu. Chceme určit hodnotu výrazu y = x (x + d)2 Nechť d ≪ x, např. x = 1 a d = 0, 01. Pak y = 1 (1+0,01)2 = 0, 980296. Pokud bychom zanedbali přímo d, bude y = 1, vznikne tedy chyba asi 2 %. Úpravou vztahu a zanedbáním druhé mocniny d2 dostaneme y = x (x + d)2 = x x2 + 2dx + d2 ≈ x x2 + 2dx = 1 x + 2d Po dosazení y ≈ 1 1+0,02 = 0, 980392. Chyba je zhruba 0, 1 ‰, ale výraz je podstatně jednodušší. Pokud nás snad je3t2 obtěžuje součet ve jmenovateli, pak výraz rozšíříme a znovu zanedbáme 6 1.4 Umění zanedbat nepodstatné druhé mocniny. y ≈ 1 x + 2d = 1 x + 2d . x − 2d x − 2d = x − 2d x2 − 4d2 ≈ x − 2d x2 Po dosazení y ≈ 1−0,02 1 = 0, 98. Nyní už nepotřebujeme kalkulačku, ale chyba je přesto stále pod 1 ‰. 7 2 Úvod do matematické analýzy 2.1 Funkce Pojmy zobrazení a funkce jsou většinou chápány jako synonyma. V užším smyslu rozumíme pod reálnou funkcí jedné reálné proměnné zobrazení f : R → R : x → y = f(x). Některé funkce jsou definované na podmnožině R, např. logaritmická funkce na R+. x a y se označují jako argument a hodnota (či obraz) funkce. Argument pochází z definičního oboru funkce D, x ∈ D, obraz z oboru hodnot H, y ∈ H. Ve výše uvedeném případě platí D = H = R. 2.1.1 Inverzní funkce Funkce f přiřazuje jistému x hodnotu y, y = f (x). Mohla by nás však zajímat i opačná otázka, totiž kterému x byla přiřazena hodnota y. Hledáme tedy vlastně funkci, která dělá opak než funkce f. Označujeme ji jako inverzní a značíme f−1. Platí y = f (x) ⇔ x = f−1 (y) Ne vždy lze inverzní funkci vytvořit. Pokud existuje více hodnot x, jimž funkce f přiřazuje stejné y, pak nemůžeme určit, které x by měla inverzní funkce přiřadit tomuto y. Pro invertabilitu tedy musí být funkce f prostá a navíc musí pokrývat celý obor hodnot, x a y tedy musí být vzájemně jednoznačné. Např. funkce y = x2 není prostá v celém definičním oboru D = R. Pokud ji však omezíme na R+, prostá již je a jí odpovídající inverzní funkce je f−1 (x) = √ y. Poznamenejme, že je lhostejné, jakými písmeny označíme argument a obraz, určující pro funkci √ y je √ . Protože je zvykem používat x pro argument a y pro obraz, píšeme y = f−1 (x) = √ x. Pokud takto zakreslíme f i f−1 do společného grafu, jsou oba grafy symetrické podle osy y = x (poněvadž jsme zaměnili x a y), viz obr. 2.4. 2.1.2 Transformace funkcí Drobnou úpravou funkce můžeme dosáhnout úpravy jejího „tvaru“, např. posunout na osách x a y nebo roztáhnout či zúžit. Mějme funkci y = f (x). Novou, transformovanou funkci označme jako g (x). 1. Posunutí na ose y o konstantu c nahoru dosáhneme přičtením c, g (x) = f (x) + c 2. Posunutí na ose x o konstantu c doleva dosáhneme přičtením c v argumentu funkce, g (x) = f (x + c) 3. Zvětšení na ose y k-krát dosáhneme vynásobením funkce konstantou k, g (x) = kf (x) 4. Zkrácení na ose x k-krát dosáhneme vynásobením argumentu funkce konstantou k, g (x) = f (kx) Kombinací všech úprav získáme funkci g (x) = af (bx + c) + d která je oproti původní funkci f posunuta o d nahoru, a-krát roztažena na ose y, b-krát užší na ose x a posunuta na ose x o c/b doleva. 8 2.2 Přehled základních funkcí −4 −2 2 4 −4 −2 2 4 −2x + 4 0, 3x + 1 1 −10 3 x y Obrázek 2.1: Lineární funkce 2.2 Přehled základních funkcí Známe řadu tzv. elementární funkcí, z nichž jsou „sestaveny“ ostatní funkce. Existují však i funkce, které nelze takovou kombinací vyjádřit. Např. primitivní funkce (neurčitý integrál) ke Gaussově „zvonové“ funkci existuje, ale není vyjádřitelná pomocí elementárních funkcí. Jiné funkce, např. exponenciální nebo goniometrické, mohou být formálně definovány pomocí nekonečné řady mocninných funkcí. Dále je uveden přehled vybraných elementárních funkcí, s nimiž se běžně setkáváme. 2.2.1 Polynomické funkce Nejjednodušší polynomickou funkcí je konstantní funkce y = c. Další v řadě je lineární funkce y = ax + b (obr. 2.1). Funkce protíná osu y v hodnotě b, kdy platí f(0) = a.0 + b = b, a osu v bodě −b/a, kdy platí 0 = ax + b. a označujeme jako směrnici přímky, platí a = tan φ, značí rychlost růstu přímky. Poznamenejme, že lineární funkce je prvního řádu, t.j. nejvyšší exponent u x je 1, a funkce protíná osu x v právě 1 bodě. Kvadratická funkce y = ax2 + bx + c je druhého řádu a protíná osu x nejvýše ve 2 bodech, tzv. kořenech kvadratické rovnice ax2 + bx + c = 0 Jsou jimi x1,2 = −b ± √ b2 − 4ac 2a V oboru komplexních čísel má kvadratická rovnice vždy 2 řešení. Křivka kvadratické funkce se označuje jako parabola, několik parabol zobrazuje obr. 2.2. 9 2 Úvod do matematické analýzy −8 −6 −4 −2 2 4 6 −4 −2 2 4 6 8 −0, 6x2 + 2x + 1 x2 0, 3x2 + 2x + 5 x y Obrázek 2.2: Kvadratické funkce 10 2.2 Přehled základních funkcí −4 −2 2 4 6 −4 −2 2 4 6 8 −x3 + 2x2 + 1 0, 4x3 − x2 − 3x + 4 x3 x y Obrázek 2.3: Kubické funkce Kubická funkce y = ax3 + bx2 + cx + d je třetího řádu a protíná osu x nejvýše ve 3 bodech, kořenech kubické rovnice ax3 + bx2 + cx + d = 0. Několik kubických funkcí je na obr. 2.3. S rostoucím řádem funkce je „stále obtížnější vymýšlet“ názvy koeficientů a je snazší používat indexy. Můžeme tedy napsat y = a3x3 + a2x2 + a1x + a0 Polynom n-tého stupně je y = anxn + an−1xn−1 + . . . + a2x2 + a1x + a0 Pokud použijeme symbol součtu , můžeme stejný polynom elegantně zapsat takto: y = n i=0 aixi Polynom n-tého stupně má n kořenů v oboru komplexních čísel. Lze jím přesně proložit n+1 body. 11 2 Úvod do matematické analýzy −4 −2 2 4 6 −4 −2 2 4 6 y = x f(x) = ex f−1(x) = ln x x y Obrázek 2.4: Exponenciální a logaritmická funkce 2.2.2 Exponenciální a logaritmické funkce Řadu procesů, jako např. eliminaci léku ledvinami, lze popsat exponenciální funkcí y = ax. Jako a se obvykle používá Eulerovo číslo1 e ≈ 2, 718, tedy y = ex. Exponenciální funkce, viz obr. 2.4, roste extrémně rychle. Inverzní k exponenciální funkci je logaritmická funkce y = loga x, viz obr. 2.4, a se označuje jako základ logaritmu. Platí y = ax ⇔ x = loga y Pokud a = e, označuje se logaritmus jako přirozený a značí se ln, tedy y = ln x. 2.2.3 Goniometrické funkce Pro popis periodických dějů se používají periodické goniometrické funkce sinus a cosinus (obr. 2.5), které se liší pouze posunutím o π/2 na ose x. Perioda obou funkcí je 2π. Pomocí těchto funkcí lze vyjádřit i komplexní číslo z jako z = A (cos φ + i sin φ) A se označuje jako amplituda a φ jako fáze komplexního čísla. Euler zjistil mimořádnou souvislost mezi komplexní exponenciální funkcí a goniometrickým vyjádřením komplexního čísla. Eulerův 1 Leonhard Euler, 1707-1783, švýcarský matematik a fyzik 12 2.3 Limita funkce −7.85 −6.28 −4.71 −3.14 −1.57 1.57 3.14 4.71 6.28 7.85 −1 −0.5 0.5 1 f(x) = sin xf(x) = cos x x y Obrázek 2.5: Goniometrické funkce vztah, někdy popisovaný jako nejkrásnější vztah matematiky, zní A (cos φ + i sin φ) = Aeiφ 2.3 Limita funkce Intuitivně zformulováno představuje limita funkce v bodě x0 hodnotu, jakou by funkce v bodě x0 nabyla, kdyby se v tomto bodě chovala stejně, jako se chová v jeho blízkém okolí. Limitu funkce f „pro x jdoucí k x0“ značíme lim x→x0 f(x) Z grafů na obr. 2.6 je zřejmých několik možností „vztahu“ limity v bodě k průběhu funkce: (a) Funkce je v bodě x0 definována a spojitá. Zprava i zleva se funkce blíží k hodnotě f(x0). Platí limx→x0 f(x) = f(x0). (b) Funkce není v bodě x0 definována. To ale limitu „nelimituje“, poněvadž odvozuje chování v bodě na základě chování v okolí. Platí tedy totéž, co v předchozím případě, limx→x0 f(x) = fa(x0). fa(x0) znamenná hodnotu f(x0) z případu a). f(x0) nyní nelze psát, poněvadž f není v x0 definována. (c) Funkce je v bodě x0 definována, má ale jinou hodnotu, než předpovídá její chování v okolí. Proto se limita nemění a platí limx→x0 f(x) = fa(x0) (d) Funkce je v bodě x0 definována, ale chování funkce zprava a zleva se liší (liší se limita zprava a limita zleva), proto nelze limitu definovat. Ve většině případů je určení limity snadné, stačí pouze dosadit x0 za x, např. lim x→0 x3 + 2x2 + 4 = 03 + 2.02 + 4 = 4 Jindy prosté dosazení vede k neurčitému výsledku 0 0 nebo ∞ ∞ . Např. lim x→1 x2 − 2x + 1 x2 − 1 = 0 0 =? 13 2 Úvod do matematické analýzy x0 2 4 f(x) = sin xos x x y (a) limx→x0 f(x) = f(x0) x0 2 4 f(x) = sin xf(x) = cos x x y (b) limx→x0 f(x) = fa(x0) x0 2 4 f(x) = sin xos x x y (c) limx→x0 f(x) = fa(x0) x0 2 4 f(x) = sin xf(x) = cos x x y (d) limx→x0 f(x) není definovaná Obrázek 2.6: Různé případy limity funkce v bodě x0 Pak je třeba výraz nejprve vhodně upravit, např. lim x→1 x2 − 2x + 1 x2 − 1 = lim x→1 (x − 1)2 (x + 1)(x − 1) = lim x→1 x − 1 x + 1 = 0 2 = 0 2.4 Derivace funkce Speciálním případem limity je derivace funkce. Určuje strmost nárůstu funkce. 2.4.1 Intuitivní představa derivace Chceme posoudit, jak rychle narůstá funkce f(x) v bodě x0, viz obr. 2.7. Řešení je v principu zřejmé: přiložíme k funkci v bodě [x0, f(x0)] tečnu (červená přímka na obrázku) a určíme úhel α, který svírá s osou x, případně její směrnici tan α. Jak ale tuto tečnu a její směrnici určit? Můžeme najít přibližné řešení. Z obrázku je vidět, že směrnice tan α modré úsečky, spojující 14 2.4 Derivace funkce 1 2 3 2 4 f(x) ∆x ∆y α α′ x y Obrázek 2.7: Derivace funkce f(x) v bodě x0 = 2 body [x0, f(x0)] a [x0 + ∆x, f(x0 + ∆x)], je jen o trochu vyšší než sklon tečny. Platí tedy tan α ≈ tan α′ = ∆y ∆x = f(x0 + ∆x) − f(x0) ∆x Je zároveň patrné, že se modrá a červená přímka budou postupně přibližovat, jak klesá ∆x, až v limitním přechodu pro limx→x0 splynou. tan α = lim ∆x→0 ∆y ∆x = lim ∆x→0 f(x0 + ∆x) − f(x0) ∆x 2.4.2 Exaktní definice derivace Často se místo symbolu ∆x používá h. Derivace funkce v bodě x se značí f′(x) nebo df(x) dx . Derivace funkce f v bodě x je tedy definována jako f′ (x) ≡ df(x) dx := lim h→0 f(x + h) − f(x) h (2.1) Derivace je právě tím případem limity, kdy prosté dosazení vede k neurčitému výrazu typu 0 0. Je proto nejprve potřeba použít nějakou úpravu či „trik“. Např. dx2 dx = lim h→0 (x + h)2 − x2 h = (x + 0)2 − x2 h = 0 0 =? (2.2) 15 2 Úvod do matematické analýzy Po předchozí úpravě však dostaneme dx2 dx = lim h→0 (x + h)2 − x2 h = lim h→0 x2 + 2hx + h2 − x2 h = lim h→0 2hx + h2 h = lim h→0 2x + h = 2x (2.3) 2.4.3 Derivace elementárních funkcí Obdobnými (většinou složitějšími) úpravami lze odvodit následující vztahy pro derivace elementárních funkcí, k je libovolná konstanta. k′ = 0 (2.4) k.f(x) ′ = k.f′ (x) (2.5) (xn )′ = n.xn−1 (2.6) (sin x)′ = cos x (2.7) (cos x)′ = − sin x (2.8) (ex )′ = ex (2.9) 2.4.4 Derivace součtu, rozdílu, součinu a podílu Pro derivaci součtu, rozdílu, součinu a podílu platí f(x) + g(x) ′ = f′ (x) + g′ (x) (2.10) f(x) − g(x) ′ = f′ (x) − g′ (x) (2.11) f(x).g(x) ′ = f′ (x).g(x) + f(x).g′ (x) (2.12) f(x) g(x) ′ = f′(x).g(x) − f(x).g′(x) g2(x) (2.13) 2.4.5 Derivace složených funkcí Složenou funkcí se rozumí kombice dvou (nebo více) funkcí f(x) a g(x), přičemž jedna z nich je „uvnitř“ druhé, výsledek vnitřní funkce je argumentem vnější funkce. Ve výrazu f(g(x)) je f vnější a g vnitřní funkce. Uznačme výsledek vnitřní funkce jako y, tedy y = g(x). Pro derivaci složené funkce pak platí f(g(x)) ′ = df(g(x)) dx = df(y)) dx = df(y) dy . dy dx = f′ (g(x)).g′ (x) (2.14) Slovy formulováno: „derivace složené funkce je derivace vnější funkce krát derivace vnitřní funkce“. Pravidlo je nutno uplatnit opakovaně, pokud je vnořeno více úrovní funkcí. 2.4.6 Příklady výpočtu derivace funkcí Příklad 1: Derivace složené funkce ex2−2x ′ = ex2−2x .(2x − 2) Příklad 2: Derivace součtu funkcí sin2 x + cos2 x ′ = 2 sin x. cos x + 2 cos x.(− sin x) = 0 16 2.4 Derivace funkce Výsledek nás samozřejmě nepřekvapil, poněvadž víme, že derivace konstanty je nula a že sin2 x + cos2 x = 1 Příklad 3: Derivace součinu funkcí Podobně si ověříme pravidlo pro derivaci mocninné funkce, neboť x5 .x4 ′ = 5x4 .x4 + x5 .4x3 = 5x8 + 4x8 = 9x8 = x9 ′ Příklad 4:Derivace podílu funkcí ex sin x ′ = ex sin x − ex cos x sin2 x 2.4.7 Derivace inverzních funkcí Derivace inverzní funkce f−1(x) k f(x) je rovna převrácené hodnotě derivace funkce f(x) v bodě f−1(x), f−1 (x) ′ = 1 f′ f−1(x) Příklad: Derivace logaritmu Princip si ukážeme na derivaci logaritmu ln x, inverzní funkci k ex. Výraz v hranatých závorkách znamená „v bodě“, např. [ln x] znamená v bodě [ln x]. (ln x)′ = 1 (ex)′ [ln x] = 1 ex[ln x] = 1 eln x = 1 x 2.4.8 Derivace vyššího řádu Dosud byla popsána derivace prvního řádu, tzv. první derivace, která popisuje rychlost růstu funkce. Derivace sama je ovšem též funkcí a je proto (většinou) možné ji znovu derivovat. Docházíme tak k druhým, třetím... derivacím, které se značí f′′(x), f′′′(x) nebo d2f(x) dx2 , d3f(x) dx3 . N-tá derivace je f(n)x nebo dnf(x) dxn . Příklad: Třetí derivace d3xex dx3 = [xex ]′′′ = [ex + xex ]′′ = [2ex + xex ]′ = 3ex + xex = ex (x + 3) 2.4.9 Geometrický a fyzikální význam derivace Geometrický význam derivace první derivace byl již naznačen. Derivace je směrnice tečny ke grafu funkce, určuje strmost nárůstu funkce. Pokud se jedná o závislost nějaké proměnné na čase, určuje derivace okamžitou rychlost změny proměnné. Pokud je proměnnou dráha s(t), kterou cyklista do doby t ujel, pak okamžitá rychlost cyklisty v čase t je v = ds(t) dt 17 2 Úvod do matematické analýzy Pokud c(t) je koncentrace léčiva v plazmě v čase t, pak − dc(t) dt je okamžitá rychlost poklesu plazmatické koncentrace léčiva. Geometrickým významem druhé derivace je míra konvexity nebo konkavity funkce. První derivace funkce je v (lokálním) maximu i minimu nulová. V maximu je však funkce konkávní se zápornou druhou derivací. Velmi záporná druhá derivace značí velmi „ostré, špičaté“ maximum. Druhá derivace těsně pod nulou značí ploché maximum. V minimu je funkce naopak konvexní s kladnou druhou derivací. Vysoká druhá derivace znamená ostré minimum, nízká druhá derivace ploché minimum. Fyzikálním významem druhé derivace je zrychlení. Nechť je s(t) opět dráha, kterou cyklista do doby t ujel. Jeho okamžitá rychlost je v = ds(t) dt Zrychlení a je nárůst okamžité rychlosti, proto a = dv(t) dt = d2v(t) dt2 Druhá derivace je pro fyziku velmi důležitá, protože hned druhý Newtonův zákon popisuje vztah síly a zrychlení, tedy síly a druhé derivace polohy. F = m.a = m. d2v(t) dt2 Druhá derivace též popisuje oscilace a vlnění. Vlnová rovnice, popisující např. šíření elektrického vzruchu po axonu zní 1 v2 ∂2z(x, t) ∂t2 = ∂2z(x, t) ∂x2 kde v je rychlost šíření vlny. Tím pomalu přecházíme k funkcím více proměnných. 2.4.10 Vyšetřování průběhu funkce Věnujme se však ještě krátce možnostem vyšetření průběhu funkce. Jak jsme již řekli, nulová derivace v bodě x0 značí v tomto bodě 3 možné situace (obr. 2.8), které rozlišíme druhou derivací: df(x0) dx = 0 a zároveň    d2f(x0) dx2 > 0. . . lokální minimum d2f(x0) dx2 = 0. . . inflexní bod d2f(x0) dx2 < 0. . . lokální maximum 2.4.11 Taylorovy řady Mějme za cíl přibližně nahradit nějakou složitou funkci f(x) v bodě x0 a jeho blízkém okolí nějakou jednodušší funkcí g(x). Například funkci f(x) = ex můžeme v okolí bodu x0 = 0 aproximovat funkcí g(x) = 1+x+ x2 2 + x3 6 , jak ukazuje obr. 2.9. Vidíme, že v blízkém okolí bodu x0 = 0 je aproximace téměř přesná, 18 2.4 Derivace funkce 1 2 1 2 3 f′(x) = 0 f′′(x) > 0 x y (a) Lokální minimum 1 2 1 2 f′(x) = 0 f′′(x) = 0 x y (b) Inflexní bod 1 2 −1 1 2 f′(x) = 0 f′′(x) < 0 x y (c) Lokální maximum Obrázek 2.8: Vyšetření průběhu funkce −2 −1 1 1 2 3 4 5 f(x) = ex g(x) = 1 + x + x2 2 + x3 6 x y Obrázek 2.9: Aproximace funkce ex polynomem Pokusme se nyní konkrétně aproximovat funkci f(x) v okolí bodu x0 polynomem řádu n „centrovaným“ do bodu x0, tedy g(x) = n i=0 ai(x − x0)i = a0 + a1(x − x0) + a2(x − x0)2 + a3(x − x0)3 . . . + a(x − x0)n Chceme, aby se v bodě x0 shodovaly hodnoty obou funkcí i všech jejich (prvních) n derivací, 19 2 Úvod do matematické analýzy tedy požadujeme platnost následujích rovností: f(x0) = g(x0) (2.15) f′ (x0) = g′ (x0) (2.16) f′′ (x0) = g′′ (x0) (2.17) ... (2.18) f(k) (x0) = g(k) (x0) (2.19) Spočítejme všechny potřebné derivace funkce g. g′ (x) = a1 + 2.a2(x − x0) + 3.a3(x − x0)2 . . . + n.an(x − x0)n−1 g′′ (x) = 2.a2 + 3.2.a3(x − x0) . . . + n.(n − 1).an(x − x0)n−2 g′′′ (x) = 3!.a3 + 4.3.2.a4(x − x0) . . . + n.(n − 1).(n − 2).an(x − x0)n−3 ... g(k) (x) = k!.ak + (k + 1)!.ak+1(x − x0) . . . + n(n − k + 1).an(x − x0)n−k ... g(n) (x) = n!.an Dosadíme nyní derivace v bodě x0 do rovností (2.15-2.18). Hrůza opadne, jakmile si uvědomíme, že pro x = x0 jsou všechny členy obsahující x−x0 nulové, čímž zmizí. Dostaneme tedy jednoduché vztahy f(x0) = a0 f′ (x0) = a1 f′′ (x0) = 2a2 f′′′ (x0) = 3!a3 ... f(n) (x0) = n!.an Tudíž a0 = f(x0), a1 = f′(x0), a2 = f′′(x0) 2 , . . ., ak = f(k)(x0) k! Dospěli jsme tak k požadovanému polynomu g(x) = n i=0 f(i)(x0) i! (x − x0)i = f(x0) + f′ (x0)(x − x0) + f′′(x0) 2 (x − x0)2 + f′′′(x0) 6 (x − x0)3 . . . + f(n) n! (x0)(x − x0)n Co kdybychom se neomezili na polynom řádu n a shodu v n derivacích, ale použili bychom hned polynom řádu ∞, tedy nekonečnou mocninnou řadu. Opět bychom požadovali shodu v bodě x0 i ve všech derivacích v bodě v bodě x0, g(x) = ∞ i=0 f(i)(x0) i! (x − x0)i Lze ukázat, že za určitých podmínek pro některé funkce f(x) polynom konverguje k funkci f(x) 20 2.5 Funkce více proměnných ve všech bodech x, tedy že lze funkci f(x) zcela a všech bodech nahradit polynomem g(x). Ilustrujme si použití polynomu na 2 příkladech: Příklad 1: Aproximace funkce f(x) = ex v okolí bodu 0. Spočítejme jednotlivé derivace. Pro funkci f(x) = ex platí, že f(x) = ex, f′(x) = ex, f′′(x) = ex, . . . , f(n)(x) = ex. Pro x0 = 0 jsou tedy všechny derivace rovny 1. Po dosazení do rovnice ... dostaneme ex ≈ 1 + x + x2 2 + x3 6 . . . + xn n! Shodu pro polynom řádu 3 vidíme na obr. 2.9. Funkce ex je právě jednou z funkcí, které lze zcela nahradit polynomem. Platí ex = ∞ i=0 xi i! Speciálně pro x = 1 dostaneme vyjádření Eulerova čísla e = 2, 7182818285 . . . pomocí nekonečné řady. Můžeme tak toto iracionální číslo vyjádřit s libovolnou přesností. e = 1 0! + 1 1! + 1 2! + 1 3! . . . Prvních 5 členů např. dává součet 1 + 1 + 1 2 + 1 6 + 1 24 = 2, 708, již docela blízký hodnotě e. Příklad 2: Aproximace funkce sin x v okolí bodu 0. Jednotlivé derivace pro f(x) = sin x jsou f′(x) = cos x, f′′(x) = − sin x, f(3)(x) = − cos x, f(4)(x) = sin x, a dále stále periodicky. Pro x0 = 0 jsou tedy derivace (včetně 0. derivace) postupně rovny 0, 1, 0, -1, 0, 1, 0, -1 . . . . Po dosazení do rovnice ... dostaneme sin x ≈ x − x3 6 + x5 5! + . . . Shodu pro polynom řádu 5 vidíme na obr. 2.10. Vidíme typickou vlastnost polynomu - na okraji intervalu polynom rychle uniká k ±∞. I funkci sin x lze zcela nahradit polynomem. Platí sinx = ∞ i=0 sin π(i mod 4) xi i! Použili jsme operaci modulo, t.j. zbytek po dělení. i mod 4 je zbytek po dělení čtyřmi. 2.5 Funkce více proměnných 2.5.1 Představa funkce více proměnných Reálná funkce n reálných proměnných přiřazuje n-tici reálných čísel reálné číslo, je to tedy zobrazení f : Rn → R : (x1, x2, . . . , xn) → f(x1, x2, . . . , xn) Funkce dvou proměnných má jasnou vizuální představu, např. kopce a údolí nad krajinou, viz obr. 2.11. Dva rozměry, x a y, „leží“ v rovině podstavy, funkční hodnotou je např. nadmořská výška. Funkce 3 proměnných je ještě představitelná, např. rozložení teploty v prostoru místnosti, kde je každému bodu přiřazena určitá teplota. Funkce více než 3 proměnných již nejsou vizuálně představitelné, ale matematicky s nimi lze nadále operovat. 21 2 Úvod do matematické analýzy −4 −2 2 4 −1 1 f(x) = sin x g(x) = x − x3 6 + x5 5! x y Obrázek 2.10: Aproximace sin x polynomem 2.5.2 Parciální derivace Parciální derivace je obdoba jednoduché derivace pro případ více proměnných. Parciální derivaci funkce f podle xx značíme ∂f ∂x . Jak bylo výše popsáno, pokud zjišťujeme derivaci funkce jedné proměnné v bodě x0, sestrojíme nejprve tečnu k funkci v tomto bodě a pak určíme její směrnici. Významem je tedy rychlost nárůstu funkce. Podobnou úlohu má i parciální derivace. Představme si pro jednoduchost funkci dvou proměnných, tedy hory v krajině. Problémem je, že u funkce dvou proměnných neexistuje jen jedna tečna, nýbrž celá tečná rovina. Kterákoli přímka v ní ležící a procházející bodem dotyku roviny s funkcí, je tečnou k funkci. Vyberme si dvě speciální tečny. První tečna bude mířit ve směru osy x, její projekce do podstavy (t.j. roviny x-y) bude rovnoběžná s osou x. Druhá tečna bude naopak mířit ve směru osy y, její projekce je rovnoběžná s osou y. Směrnice těchto dvou tečen označujeme jako parciální derivaci podle x, resp. podle y. Výhoda těchto speciálních tečen je v tom, že se při pohybu ve směru tečny mění jen jedna proměnná (x nebo y), ale druhá zůstává konstantní. Parciální derivace podle x a y k funkci f(x, y) v bodě (x0, y0) tedy stejně jako obyčejnou derivaci definujeme jako ∂f ∂x (x0, y0) := lim h→0 f(x0 + h, y0) − f(x0, y0) h ∂f ∂y (x0, y0) := lim h→0 f(x0, y0 + h) − f(x0, y0) h Jak je vidět přímo v definici, druhá proměnná se „v rámci pacientální derivace“ chová jako konstanta. Můžeme tedy použít známá pravidla pro derivování, pouze druhou proměnnou považujeme za konstantu. Geometrickým významem parciální derivace funkce dvou proměnných je strmost funkce ve směru příslušné osy. Fyzikálním významem parciální derivace je rychlost nárůstu funkce se změnou jedné proměnné, přičemž ostatní proměnné zůstávají konstantní. Tento fyzikální význam je zachován i pro funkce 3 a více proměnných, ačkoli vizuální představu „tečné roviny“ již nelze uplatnit. 22 2.5 Funkce více proměnných Obrázek 2.11: Rotační paraboloid: z = x2 + z2 Ilustrujme si postup na několika příkladech. Příklad 1: f(x, y) = x3 + y3 ∂f ∂x = 3x2 ∂f ∂y = 3y2 Příklad 2: f(x, y) = sin x. cos y ∂f ∂x = cos x. cos y ∂f ∂y = − sin x. sin y Příklad 3: f(x, y) = x2y. sin x Platí známé pravidlo pro derivování součinu. Přitom v součinu vystupuje pouze funkce x! ∂f ∂x = 2xy. sin x + x2 y. cos x ∂f ∂y = x2 . sin x 23 2 Úvod do matematické analýzy Příklad 4: f(x, y) = ex2+y2 Platí známé pravidlo pro derivování složené funkce. ∂f ∂x = ex2+y2 .2x ∂f ∂y = ex2+y2 .2y Příklad 5: f(x, y, z) = x5exyz Stejný postup platí pro funkci 3 a více proměnných. ∂f ∂x = 5x4 exyz + x5 exyz .yz ∂f ∂y = x5 exyz .xz ∂f ∂z = x5 exyz .xy 2.5.3 Vyšší a smíšené parciální derivace Stejně jako v případě derivace funkce jedné proměnné je i výsledkem paciální derivace funkce více proměnných opět funkce více proměnných. Tuto novou funkci ovšem můžeme opět podrobit derivování, nyní ovšem máme více možností, podle x, podle y . . .. Dospějeme tak druhým, třetím, případně smíšeným derivacím. ∂2f ∂x2 , ∂2f ∂y2 , ∂2f ∂x∂y Příklad: f(x, y) = ex2+y2 ∂f ∂x = ex2+y2 .2x ∂f ∂y = ex2+y2 .2y ∂2f ∂x2 = ex2+y2 .4x2 + 2ex2+y2 ∂2f ∂y2 = ex2+y2 .4y2 + 2ex2+y2 ∂2f ∂x∂y = ∂ex2+y2 .2x ∂y = ex2+y2 .4xy V případě smíšených druhých derivací máme dvě možnosti: derivovat nejprve podle x a poté podle y, nebo opačně. Dostaneme tak ∂2 ∂x∂y nebo ∂2 ∂y∂x . V matematické analýze se dokazuje Schwarzova věta, která tvrdí, že nezáleží na pořadí derivování ve smíšených parciálních derivacích, tedy že ∂2f ∂x∂y = ∂2f ∂y∂x 24 2.6 Integrální počet Vidíme např., že platí ∂2f ∂x∂y = ∂ ex2+y2 .2x ∂y = ex2+y2 .4xy ∂2f ∂y∂x = ∂ ex2+y2 .2y ∂x = ex2+y2 .4xy 2.5.4 Vyšetřování průběhu funkce více proměnných Průběh funkce více proměnných může být podstatně složitější než průběh funkce jedné proměnné. V určitém bodě se například může nacházet lokální maximum nebo lokální minimum. Nebo se v určitém směru může nacházet minimum a v kolmém směru maximum, pak se jedná o tzv. sedlový bod. Obecně ale může být situace ještě komplikovanější. Podobně jako v případě funkcí jedné proměnné je nutnou podmínkou pro extrém funkce f(x, y) v bodě (x0, y0) nulovost obou parciálních derivací, tedy ∂f(x0, y0) ∂x = 0; ∂f(x0, y0) ∂y = 0 Není to však podmínka postačující. Může se stát, že jsou obě parciální derivace nulové, ale ve směru „mezi osami“ funkce roste a nejedná se tedy o lokální extrém. V reálných problémech však podmínka většinou „postačující“ je. Příklad: Najděme lokální extrémy funkce f(x, y) = x2 + y2 (obr. 2.11). Pro extrém musí platit ∂(x2 + y2) ∂x = 2x = 0 ∂(x2 + y2) ∂y = 2y = 0 Jediným řešením je zjevně bod (0,0), kde funkce dosahuje minima. 2.6 Integrální počet 2.6.1 Idea integrálního počtu Pokud zderivujeme x2, získáme 2x. Položme si opačnou úlohu. Co jsme museli zderivovat, abychom dostali 2x? Snadné. x2. Ovšem též x2 + c, kde c je libovolná konstanta. Integrování je právě ta zpětná cesta, určitý opak derivace. Takový integrál, opak derivace, se označuje jako neurčitý integrál a značí se symbolem . Dále existuje určitý integrál, který „počítá“ plochu pod křivkou, a úzce souvisí s neurčitým integrálem. Dále si přesněji definujeme oba integrály, popíšeme si jejich vlastnosti a způsoby výpočtu. Budeme se zabývat pouze funkcemi jedné pro- měnné. 2.6.2 Neurčitý integrál Mějme funkci F(x). Její derivaci označme f(x), tedy f(x) := F′(x). F(x) označujeme jako primitivní funkci nebo synonymně jako neurčitý integrál k funkci f(x) a značíme F(x) = f(x) dx 25 2 Úvod do matematické analýzy dx značí proměnnou, podle níž integrujeme, podobně jako dx značilo proměnnou, podle níž jsme derivovali. Protože pro jakoukoli funkci F(x)+c platí (F(x)+c)′ = f(x), měli bychom správněji psát F(x) = f(x) dx + c čímž vyznačíme, že řešením integrace není jedna funkce, ale celá nekonečná množina funkcí, které se navzájem liší o konstantu. 2.6.3 Metody integrace Integrování je podstatně složitější činnost, než derivování. Pomocí pravidel pro derivování lze víceméně snadno zderivovat jakoukoli (běžnou) funkci. Integrovat jakoukoli funkci obecně nejen není snadné, ale ani možné. Např. integrál ze statistiky známé Gaussovy funkce ex2 dx sice existuje, ale není vyjádřitelný v uzavřené formě pomocí elementárních funkcí jako ex, ln x nebo sin x. Existuje několik metod integrace, ani s nimi však řada funkcí není snadno integro- vatelná. Přímá integrace U základních elementárních funkcí, kde „původní derivaci přímo vidíme“, je intergrace snadná. Příklady: 1 dx = x + c x dx = 1 2 x2 + c xn dx = 1 n + 1 xn+1 + c cos x dx = sin x + c sin x dx = − cos x + c sin x dx = − cos x + c ex dx = ex + c e2x dx = 1 2 e2x + c 1 x dx = ln x + c 1 x2 dx = − 1 x + c f(x) ± g(x) dx = f(x) dx ± g(x) dx + c k.f(x) dx = k. f(x) dx + c Cokoli dalšího už je složitější. Podobný jednoduchý vztah jako pro derivaci součinu a další podobné pro integrování neexistuje. Někdy pomůže substituční metoda nebo metoda per partes. 26 2.6 Integrální počet Substituční metoda Pomocí substituční metody nahradíme, subsituujeme, komplikovanější část integrované funkce jinou funkcí, čímž získáme jednodušší tvar, který už umíme přímo integrovat. Příklad: Řešme integrál x sin x2 dx „Uhádnout“ správné řešení neumíme. Použijme však následující substituci: nahradíme funkci x2 funkcí t, tedy t := x2. Pak platí dt dx = 2x → x dx = 1 2 dt Je to podivné, ale s diferenciály d můžeme operovat jako v jinými výrazy, násobit, dělit . . . . Dosaďme nyní vše do původního výrazu a upravme. Dostaneme x sin x2 dx = 1 2 sin t dt = 1 2 sin t dt = − 1 2 cos t = − 1 2 cos x2 Tímto „trikem“ jsme integrál převedli na známý tvar a přímo vyřešili. Derivací ověříme, že d dx − 1 2 cos x2 = − 1 2 d cos x2 dx = x sin x2 Příklad: Zkusme ještě vyřešit integrál ln x x dx Použijeme substituci t := ln x, odkud dt = dx x . Proto ln x x dx = t dt = 1 2 t2 = 1 2 ln2 x Derivací ověříme, že d dx 1 2 ln2 = 1 2 d ln2 dx = ln x x Metoda per partes Druhou metodou, kterou si představíme, je metoda integrování „po částech“, per partes. Je aplikací pravidla pro derivování součinu. (f.g)′ = f′ .g + f.g′ → f′ .g = (f.g)′ − f.g′ Nyní obě strany zintegrujem a využijeme skutečnosti, že „integrál z derivace“ se rovná původní funkci. f′ (x).g(x) dx = (f(x).g(x))′ dx − f(x).g′ (x) dx Tedy f′ (x).g(x) dx = f(x).g(x) − f(x).g′ (x) dx Zdánlivě jsme mnoho nezískali. Funkce g se však po derivaci může výrazně zjednodušit. Ukažme si postup na příkladech. Příklad: Vypočítejme sin x.x dx. Představme si, že f′(x) = sin x a g(x) = x. Pak f(x) = − cos x a g′(x) = 1. Dosadíme do vyše uvedeného vzorce. sin x.x dx = −x cos x − − cos x dx = −x cos x + sin x 27 2 Úvod do matematické analýzy Derivací ověříme, že d dx (−x cos x + sin x) = − cos x + x sin x + cos x = x sin x Příklad: Vypočítejme nyní ln x dx. Integrál si představme jako ln x.1 dx a definujme f′(x) = 1 a g(x) = ln x. Pak f(x) = x a g′(x) = 1 x. Dosadíme do vyše uvedeného vzorce. ln x dx = x ln x − x x dx = x ln x − x = x(ln x − 1) Derivací ověříme, že d dx (x ln x − x) = ln x + x x − 1 = ln x 2.6.4 Určitý integrál Určitý integrál, též označovaný jako Riemannův integrál, historicky vznikl nezávisle na integrálu neurčitém a nemá s ním na první pohled žádnou souvislost. Úkolem bylo určit velikost plochy pod křivkou. Princip spočíval v tom, že celá plocha pod křivkou rozdělí na úzké obdélníky a sečte se plocha všech obdélníků. Je přitom jasné, že jak roste počet obdélníků a klesá jejich šířka, součet plochy obdélníků se stále více blíží ploše pod křivkou, až v limitě obě plochy splynou. Určitý integrál je vlastně „sčítání nekonečně velkého počtu nekonečně malých čísel“. Výpočet plochy pod křivkou jako limity součtu je ovšem velmi obtížný. Elegantním řešením je výpočet určitého integrálu pomocí neurčitého integrálu. Vztah neurčitého a určitého integrálu Pokusíme se odvodit vztah mezi určitým a neurčitým integrálem. Chceme určeme plochu pod křivkou na obr. 2.12, přičemž plochu budeme měřit od nějakého konkrétního, ale libovolného bodu vlevo, např. od x = −2. V takovém případě je změřená plocha funkcí x. Např. v bodě X0 je to S = S(x0). O malý úsek h dále je obsah roven S(x0 + h). Rozdíl mezi oběma obsahy je na obr. 2.12 vyznačen žlutě. Je zjevné, že je tento rozdíl téměř roven obsahu červeně vyšrafovaného obdélníku o rozměrech h a f(x0). Platí tedy f(x0).h ≈ S(x0 + h) − S(x0) Jak se h blíží nule, „žlutá a červená plocha“ si jsou stále bližší, až v limitě pro h → 0 splynou. Tedy lim h→0 f(x0).h = lim h→0 S(x0 + h) − S(x0) Po úpravě dostaneme f(x0) = lim h→0 S(x0 + h) − S(x0) h Výraz na pravé straně rovnice je ale právě definice derivace S podle x. Tedy f(x) = dS(x) dx Po integraci platí 28 2.6 Integrální počet S(x) = f(x)dx + C Konstanta C je libovolná, určena bodem, kde jsme „začali měřit“ plochu. Pro plochu mezi body x = a a x = b platí S(b) − S(a) = f(x)dx (b) + C − f(x)dx (a) − C =: b a f(x)dx Tím dostáváme způsob, jak vypočítat určitý integrál pomocí neurčitého. Stačí určit libovolnou primitivní funkci (neurčitý integrál), určit její hodnoty v horní i dolní integrační mezi a obě hodnoty odečíst. Jestliže primitivní funkci k f(x) označíme F(x), tedy F(x) = f(x)dx platí b a = [F(x)]b a = F(b) − F(a) V kontextu výpočtu integrálu bývá zvykem rozdíl F(b) − F(a) označovat [F(x)]b a. 2 4 6 x0 h S(x0) S(x0 + h) x y Obrázek 2.12: Odvození vztahu určitého a neurčitého integrálu Příklady aplikací určitého integrálu Příklad 1: Výpočet plochy pod grafem funkce Chceme zjistit plochu pod grafem funkce y = x2 pro x ∈ [0, 1] (obr. 2.13). S = 1 0 x2 dx = 1 3 x3 1 0 = 1 3 Příklad 2: Výpočet obsahu kruhu Chceme odvodit známý vztah pro výpočet obsahu kruhu S = πr2. Postupujme podle obr. 2.14. Máme kruh o poloměru r, který si celý rozložíme na infinitezimálně úzké rovnoramenné trojúhelníky, které každý svírají úhel dφ, mají ramena délky r a základnu dr. Umědomíme si, že úzký romnoramenný trojúhelník je vpodstatě pravoúhlý. Pro jeho obsah dS tedy platí dS = r.dr/2. Z definice úhlu víme, že dr = r.dφ. Nyní stačí sečíst, tedy zintegrovat, všechny trojúhelníky přes celý kruh, tedy pro φ ∈ [0, 2π]. 29 2 Úvod do matematické analýzy 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 S x y Obrázek 2.13: Plocha pod grafem funkce S = S 0 dS = 2π 0 1 2 r2 dφ = 1 2 r2 2π 0 dφ = 1 2 r2 .2π = πr2 −3 211 2 3 −3 −2 −1 1 2 3 r drdφS Obrázek 2.14: Výpočet plochy kruhu Příklad 3: Biologická dostupnost léku a AUC (area under curve) Víme, kolik léku jsme podali (D). Nevíme však, jaká jeho část se vstřebala do plazmy (Dr). Můžeme tuto vstřebanou část, označovanou jako biologická dostupnost léku, nějak zjistit? Je jasné, že veškeré množství léku, které se z plazmy eliminovalo, musí být právě tomu množství do ní vstřebaného. Eliminaci samu ale také měřit nemůžeme. Můžeme však měřit koncentraci léku opakovaně v čase a eliminaci z křivky koncentrace léku v čase dopočítat (obr. 2.15), když známe nějaké farmakokinetické parametry léku, např. jeho clearance. Clearance, Cl je definována jako objem plazmy, který je od léku úplně očištěn za jednotku času, má tedy rozměr např. ml.s−1. Za čas dt se tedy očistí Cl.dt plazmy. Pokud v tu chvíli činila plazmatická koncentrace léku c, odstranilo se množstí c.Cl.dt léku. Pokud clearanci považujeme za konstantní, odstranilo se od okamžiku podání léku za dostatečně („nekonečně“) dlouhou dobu Dr = ∞ 0 c.Cl.dt = Cl. ∞ 0 cdt léku. Integrál ∞ 0 cdt je přitom plocha pod koncentrační křivkou a označuje se jako area under 30 2.6 Integrální počet curve (AUC). Pro biologickou dostupnost tedy platí Dr D = Cl.AUC D 2 4 6 8 0.2 0.4 AUC t c Obrázek 2.15: Plocha pod křivkou plazmatické koncentrace léku v čase Příklad 4: Měření srdečního výdeje pomocí Swan-Ganzova katetru Swan a Ganz vyvinuli svůj po nich pojmenovaný plovoucí katetr v roce 1970. Katetr se cestou centrální žíly (např. v. jugularis interna) zavede přes pravou síň a komoru do a. pulmonalis (obr. 2.16). Obrázek 2.16: Swan-Ganzův plicnicový katetr Tam jednak měří tlak, jednak jej lze využít k měření srdečního výdeje. Princip techniky je následujícíc: Chladná kapalina (tzv. termodiluční metoda) nebo nějaká měřitelná látka se rychle 31 2 Úvod do matematické analýzy vstříkne do pravé síně. Kapalina ochladí kolem tekoucí krev nebo zředí vstřikovanou látku. Jakmile krev doputuje do a. pulmonalis, čidlo na konci katetru změří teplotu nebo koncentraci látky v čase, výsledkem je křivka na obr. 2.17. Ze známého množství aplikované látky a změřené křivky lze dopočítat srdeční výdej. 2 4 0.1 0.2 dt t c Obrázek 2.17: Křivka měřená Swan-Ganzovým katetrem Obr. 2.18 představuje a. pulmonalis, v níž je měřena křivka 2.17. Krev teče průtokem q, který v případě a. pulmonalis odpovídá minutovému srdečnímu výdeji. Za čas dt proteče kolmým průřezem a. pulmonalis (viz obrázek 2.18) objem krve dV = q.dt. Pokud koncentrace látky (nebo pokles teploty) v tomto elementárním objemu krve je c, pak tento objem obsahuje dN = c.qdt látky. Po celou dobu měření přitom musí postupně protéct veškerá podaná látka N. Stačí tedy sečíst, zintegrovat, jednotlivá elementární množství látky. Integrujeme opět od 0 do „nekonečna“. N = N 0 dN = ∞ 0 c.qdt = q ∞ 0 cdt Funkce c(t) je změřená křivka. Integrál ∞ 0 cdt opět měří plochu pod křivkou. Pro srdeční výdej CO (cardiac output) tedy dostáváme CO = N ∞ 0 cdt Na první pohled kontraintuitivní je skutečnost, že čím nižší je srdeční výdej, tím větší je křivka i plocha pod ní. Zde odvozenou rovnici pro případ měření koncentrace nějaké látky je pro případ termodiluce nutno jen lehce „obohatit“ o teplotu krve a podávané tekutiny a o tepelnou kapacitu krve. Rovnice se v literatuře označuje jako Stewart-Hamiltonova a zní CO = V (Tb − Ti)k1k2 t2 t1 ∆Tdt kde V je objem podané tekutiny, Tb a Ti teploty krve a podané tekutiny, k1 spojuje hustotu a tepelnou kapacitu, k2 je kalibrační konstanta a ∆T je aktuálně měřený rozdíl mezi teplotou protékající krve a teplotou krve před podáním roztoku. Je zajímavé poznamenat, že se změřená křivka 2.17 v průběhu putování krve příliš nemění. Je téměř stejná ve větvích a. pulmonalis jako přímo v a.pulmonalis, ale podobná je i po průchoddu plícemi v arteriální krvi. Toho lze využít k méně invazívnímu, ale jen lehce méně přesnému měření srdečního výdeje pomocí tzv. transpulmonální termodiluce (například systémem zvaným 32 2.7 Obyčejné diferenciální rovnice q dV Obrázek 2.18: Měření srdečního výdeje pomocí Swan-Ganzova katetru zvaným PiCCO). Chladný roztok se podává centrální katetrem do pravé síně a teplota se měří až speciálním arteriálním katetrem v arteria radialis nebo arteria femoralis. Odpadá tak invazivita a komplikace spojené s nutností zavedení katetru až do a. pulmonalis. 2.7 Obyčejné diferenciální rovnice Nyní si v základech představíme pro potřeby matematického modelování zásadní oblast matematické analýzy, diferenciální rovnice. Říká se, že diferenciální rovnice jsou nejpřirozenější formulací fyzikálních zákonů. Obyčejné diferenciální rovnice se často označují zkratkou ODE, z anglického ordinary differential equations. V této kapitole popíšeme analytické metody řešení ODE. Analytickým řešením se rozumí matematický výraz popisující hledanou funkci, nakř y = cos x. Poněvadž však většinu diferenciálních rovnic neumíme řešit analyticky, pro praktické použití důležitější jsou numerické metody řešení, které budou popsány v další kapitole. Výsledkem numerického řešení je graf nebo vybrané hodnoty hledané funkce, ale nikoli vztah ji popisující. 2.7.1 Idea diferenciálních rovnice Představme si jakoukoli pro nás dosud známou algebraickou rovnici, např. x2 + 2x − 1 = 0 Řešením (algebraické) rovnice je číslo. Diferenciální rovnice je rovnice, která obsahuje derivaci nějaké neznámé funkce. Řešením diferenciální rovnice je funkce. Jako příklad vezměme nějakou funkci, označme ji y(x) a požadujme například, aby se její derivace rovnala funkci samé. Takový požadavek formulujeme diferenciální rovnicí y′ = y Je zřejmé, že této diferenciální rovnici vyhovuje např. funkce y(x) = ex, ale též y(x) = k.ex, kde k je libovolná konstanta. Řešení diferenciální rovnice tedy není jednoznačné, ale liší se o konstantu. Hodnotu konstanty pro konkrétní případ aplikace můžeme určit ze známých okolností popisovaného děje, např. ze známé hodnoty funkce v čase t = 0. Hovoříme o tzv. počátečních nebo okrajových podmínkách. 33 2 Úvod do matematické analýzy 2.7.2 Základní pojmy Vysvětlíme se několik základních pojmů z problematiky diferenciálních rovnic. Neznámou funkcí bude dále y, nezávisle proměnnou bude x, tedy y(x). Pro derivaci budeme ekvivalentně používat zápis y′ nebo dy dx . Řádem diferenciální rovnice se rozumí nejvyšší stupeň derivace přítomný v diferenciální rovnici. Je-li nejvyšší derivace první, pak jde o rovnici 1. řádu. Je-li nejvyšší derivace n-tá, pak je rovnice n-tého řád. Rovnice y′x + y = 2x2 je tedy 1. řádu, rovnice xy′ + 2x = y′′′ je třetího řádu. Lineární diferenciální rovnice je taková, kdy se neznámá, y nebo její derivace, vyskytuje pouze v součtu, nikoli v součinu. Rovnice y′ + 2y = x2 je tedy lineární, rovnice yy′ = x je nelineární. Poznamenejme, že x není neznámá, proto se součin x, resp. f(x), a y v lineární rovnici vyskytovat může. Rovnice xy′ + 2y = x je tedy též lineární. Obecně můžeme lineární diferenciální rovnici 2. řádu (a obecně jakéhokoli řádu) zapsat jako a(x)y′′ + b(x)y′ + c(x)y = d(x) Pokud jsou a(x), b(x) i c(x) konstanty, hovoříme o rovnici s konstantními koeficienty. Na pravé straně rovnice se nevyskytuje neznámá, pouze funkce x. Jestliže je pravá strana rovnice nulová, tedy d(x) ≡ 0, hovoříme o homogenní rovnici, jinak o nehomogenní . Ve výše uvedeném příkladu jsme našli y(x) = ex jako jedno konkrétní řešení rovnice y′ = y. Každé konkrétní řešení označuje jako partikulární . Existuje ale nekonečně mnoho partikulárních řešení, která jsou všechna zapsatelná obecným tvarem y(x) = k.ex, kde k ∈ R. Takovému obecnému zápisu říkáme obecné řešení . Najít nějaké partikulární řešení, narozdíl od obecného řešení, může být snadné, lze jej např. uhádnout. Takovým zjevným partikulární řešení uvedené rovnice y′ = y je např. y(x) = 0. 2.7.3 Metoda separace proměnných Řešme nyní rovnici již zmíněnou rovnici y′ = y systematickým způsobem. Derivaci můžeme přepsat do tvaru podílu dvou diferenciálů, dy a dx, dy dx = y S diferenciály můžeme zacházet jako s čísly, např. jimi násoit či dělit. Převedeme rovnici na tvar dy y = dx Tím jsme vše související s y přesunuli na levou stranu rovnice a vše související s x na pravou stranu. Postup označujeme jako separace proměnných. Nyní před oba diferenciály napíšeme integrál a zintegrujeme, čímž vyřešíme rovnici. dy y = dx → ln y = x + C Po úpravě dostaneme obecné řešení rovnice y = ex+C = eC .ex = kex 34 2.7 Obyčejné diferenciální rovnice kde k := eC. Hodnotu konstanty získáme z počátečních podmínek. Požadujme například, aby y(0) = y0. Pak je k = y0 a odpovídající partikulární řešení zní y = y0ex Jen poznamenejme, že metoda má samozřejmě exaktní důkaz, popsaný formální postup sám o sobě důkazem není. Příklad: Antibiotikum vankomycin je z organizmu eliminováno převážně v nezměněné podobě ledvinami, přičemž se řídí kinetikou 1. řádu, tedy rychlost eliminace vankomycinu je přímo úměrná jeho plazmatické koncentraci c. Tomu odpovídá diferenciální rovnice dc dt = −kc popisující prostou eliminaci vankomycinu. Rovnice je separovatelná do tvaru dc c = −kdt Po integraci dostaneme ln c = −kt + b → c = B.e−kt kde b, resp. B = eb je integrační konstanta. Tím jsme získali obecné řešení. Hodnotu konstanty B určíme z počáteční podmínky. Koncentraci v čase 0 označme c0. Platí tedy c0 = B.e−k.0 = B Finálním partikulárním řešením proto je c = c0.e−kt Příklady průběhů funkce ukazuje obr. 2.19. Poznamenejme ještě, že rovnice dc dt = −kc je homogenní, protože ji můžeme upravit na tvar s nulovou pravou stranou dc dt + kc = 0. 2 4 1 2 3 4 5 t c Obrázek 2.19: Homogenní lineární diferenciální rovnice prvního řádu 2.7.4 Lineární diferenci rovnice prvního řádu, metoda variace konstant Nyní si popíšeme další způsob řešení, tzv. metodu variace konstant. Nejprve si postup ukážeme na konkrétním příkladu, poté obecně. 35 2 Úvod do matematické analýzy Příklad: Rozšíříme předchozí příklad s eliminací vankomycinu o situaci, kdy vankomycin současně kontinuálně podáváme infúzí rychlosté v0. Zajímá nás, jak se vyvíjí plazmatická koncentrace v čase poté, co zapneme infuzi s vankomycinem. Problém nyní popisuje rovnice dc dt = v0 − kc zahrnující jak eliminaci ledvinami, tak kontinuální podávání léku. Oproti předchozímu příkladu jde nyní o nehomogenní rovnici s nenulovou pravou stranou, dc dt + kc = v0 kde již nemůžeme separovat proměnné. K řešení použijeme následující „trik“, označovaný jako variace konstant. Nejprve budeme řešit odpovídající homogenní rovnici, což už jsme výše provedli a získali řešení c = B.e−kt kde B byla konstanta. Variace konstant spočívá v tom, že B nadále nebudeme považovat za konstantu, nýbrž za funkci t, B(t). Řešení nehomogenní rovnice tedy hledáme ve tvaru c = B(t).e−kt Pro c′ platí dc dt = B′ (t).e−kt − kB(t)e−kt Po dosazení do rovnice dostaneme B′ (t).e−kt − kB(t)e−kt = v0 − kB(t).e−kt Po zkracení stejných členů dostáváme diferenciální rovnici pro B(t) B′ (t).e−kt = v0 která je separovatelná. Proto dB = v0ekt dt → B = v0 k ekt + D kde D je další integrační konstanta. Řešením původní nehomogenní rovnice tedy je c = v0 k ekt + D .e−kt = v0 k + De−kt Na počátku požadujme nulovou koncentaci vankomycinu, tedy c(0) = 0, odkud plyne 0 = v0 k + De−k.0 → D = − v0 k Partikulární řešením proto je c = v0 k 1 − e−kt Příklady řešení pro různé hodnoty parametrů jsou na obr. 2.20. Koncentrace zpočátku rychle roste k setrvalé, stacionární hodnotě, pro níž (v nekonečném čase) platí 36 2.7 Obyčejné diferenciální rovnice cstac = v0 k 1 − e−k∞ = v0 k V reálném životě považujeme koncentraci za ustálenou po zhruba 5 poločasech. 2 4 1 2 3 4 5 t c Obrázek 2.20: Nehomogenní lineární diferenciální rovnice prvního řádu Zformulujme řešení ještě pro obecný případ lineární diferenciální rovnici prvního řádu a(x)y′ + b(x)y = c(x) V předchozím případě šlo o speciální případ s konstantními koeficienty a = 1, b = k i c = v0. Rovnice je nehomogenní, protože má nenulovou pravou stranu. Nejprve vyřešíme odpovídající homogenní rovnici a(x)y′ + b(x)y = 0 Zde můžeme snadno separovat proměnné, dostaneme tedy dy y = − b(x) a(x) dx A po integraci ln y = − b(x) a(x) dx + C → y = ke − b(x) a(x) dx kde k je konstanta. Nyní použijeme variaci konstanty k, kterou budeme dále považovat za funkci x, a budeme hledat řešení nehomogenní rovnice ve tvaru y = k(x)e − b(x) a(x) dx Pro y′ platí y′ = k′ (x)e − b(x) a(x) dx − k(x) b(x) a(x) e − b(x) a(x) dx Dosadíme za y do nehomogenní rovnice a dostaneme a(x)k′ (x)e − b(x) a(x) dx − a(x)k(x) b(x) a(x) e − b(x) a(x) dx + b(x)k(x)e − b(x) a(x) dx = c(x) 37 2 Úvod do matematické analýzy Po úpravě dostáváme separovatelnou rovnici pro k(x) a(x)k′ (x)e − b(x) a(x) dx = c(x) Po separaci a integraci obdržíme dk = c(x) a(x) e b(x) a(x) dx dx → k = c(x) a(x) e b(x) a(x) dx dx + D Dosadíme do původní rovnice a získáme poněkud komplikovaný tvar obecného řešení. y = e − b(x) a(x) dx c(x) a(x) e b(x) a(x) dx dx + De − b(x) a(x) dx 2.7.5 Soustavy obyčejných diferenciálních rovnic prvního řádu Soustavy obyčejných diferenciálních rovnic jsou mimořádně důležité, protože popisují řadu reálných procesů, kdy spolu různé proměnné interagují. Ilustrujme pojem soustava diferenciálních rovnic následujícím příkladem. Příklad: Chceme matematicky popsat vývoj koncentrace inzulínu a glukózy v čase. Obě látky se vzájemně ovlivňují. Inzulín snižuje koncentraci glukózy, zároveň je však jeho produkce závislá na její koncentraci. Inzulín je současně odbouráván kinetikou prvního řádu, nezávisle na koncentraci glukózy. Nechť je glukóza zároveň přiváděna infúzí konstantní rychlostí v0. V následujícím modelu pro zjednodušení považujme všechny vzájemné závislosti za lineární (s konstantami úměrnosti ki), byť toto neodpovídá fyziologické realitě. g bude značit koncentraci glukózy (g := [glukóza]) a I koncentraci inzulínu (I := [inzulín]). Změny koncentrace glukózy a inzulínu v čase můžeme popsat následující dvojicí diferenciálních rovnic dg dt = v0 − k1I dI dt = k2g − k3I Tato dvojice diferenciálních rovnic je „zvláštní“ tím, že ani jednu z rovnic nemůžeme řešit samostatně, neboť pro vyšetření každé z rovnic potřebujeme znát řešení druhé rovnice. Takovou dvojici rovnic označujeme jako soustavu diferenciálních rovnic. Analogická situace nastává u soustavy algebraických rovnic, kde jsou jednotlivé rovnice též provázané. Soustava rovnic může být libovolně rozsáhlá. Řešit soustavu diferenciálních rovnic analyticky je možné jen v nejjednodušších případech, obvykle je nezbytné řešení numerické. Soustavu algebraických rovnic můžeme řešit eliminací proměnných, kdyz jedné rovnice vyjádříme jednu z proměnnáých a dosadíme ji do ostatních rovnic. Zkusme použít podobný postup na uvedenou soustavu diferenciálních rovnic. Eliminujme glukózu. Zderivujeme druhou rovnici podle času a dosadíme poté za g′ z první rovnice. d2I dt2 = k2 dg dt − k3 dI dt = k2v0 − k1k2I − k3 dI dt Získali jsme nehomogenní lineární diferenciální rovnici druhého řádu s konstantními koeficienty d2I dt2 + k3 dI dt + k1k2I = k2v0 kterou budeme řešit v další části. Jakmile zjistíme funkci I(t), z první rovnice dopočteme g(t). Konkrétní volba konstant určuje nejen konkrétní hodnoty funkce, ale i její kvalitativní charak- 38 2.7 Obyčejné diferenciální rovnice teristiky, např. jestli řešení v čase konverguje, zda dochází k oscilacím apod. Řešili jsme soustavu tak, že jsme eliminovali proměnnou a ze soustavy dvou rovnic prvního řádu jsme získali jednu rovnici druhého řádu. Pro numerické řešení diferenciálních rovnic je ale postup obvykle opačný. Numericky řešit soustavu rovnic prvního řádu je totiž relativně snadné. Proto se nabízí, pokusit se rovnice vyšších řádů převést na soustavu rovnic prvního řádu a tu pak řešit. Postup je snadný. Jako příklad vezměme rovnici druhého řádu y′′ + by′ + y = d s neznámou funkcí y(x). Definujme novou funkci z(x) := y′ jako derivaci funkce y. Pak platí z′ = y′′ a rovnici můžeme přepsat do tvaru z′ + bz + y = d Můžeme sestavit novou soustavu dvou rovnic pro 2 neznámé funkce y a z, kterou dále numericky řešíme. dz dx = d − y − bz dy dx = z Pro potřeby numerického řešení (jakýchkoli) diferenciálních rovnic tedy stačí umět vyřešit soustavu rovnic prvního řádu. 2.7.6 Lineární diferenciální rovnice druhého řádu V poslední části kapitol o diferenciálních rovnicích se budeme zabývat analytickým řešení nehomogenní rovnice druhého řádu s konstantními koeficienty. Takovou rovnicí je např. výše odvozená rovnice pro inzulín d2I dt2 + k3 dI dt + k1k2I = k2v0 Pro jednoduchost zápisu přeznačme konstanty na b, c a d. Před nejvyšší derivací konstanta být nemusí, poněvadž je nutně nenulová a lze jí krátit. d2I dt2 + b dI dt + cI = d Řešme opět nejprve homogenní rovnici d2I dt2 + b dI dt + cI = 0 Vysvětlíme nejprve pojem lineární kombinace. Mějme libovolné funkce I1 a I2. Lineární kombinací funkcí I1 a I2 se rozumí jejich násobky a součty. Nechť p a q jsou libovolná reálná čísla. Pak každá funkce I(x) := pI1(x) + qI2(x) je lineární kombinací funkcí I1 a I2. Každá homogenní diferenciální rovnice má pozoruhodnou vlastnost. Jestliže nějaké funkce I1 a I2 jsou řešením homogenní rovnice, pak i jejich jakákoli lineární kombinace je řešením. Důkaz je snadný. Nechť tedy I1 a I2 jsou řešeními homogenní rovnice, tedy platí d2I1 dt2 + b dI1 dt + cI1 = 0 39 2 Úvod do matematické analýzy a d2I2 dt2 + b dI2 dt + cI2 = 0 Dosaďme I(x) = pI1(x) + qI2(x) do homogenní rovnice. d2I dt2 + b dI dt + cI = p d2I1 dt2 + b dI1 dt + cI1 + q d2I2 dt2 + b dI2 dt + cI2 = 0 + 0 = 0 I(x) tedy slňuje homogenní rovnici a je tedy též jejím řešením, jak jsme chtěli dokázat. Nehomogenní diferenciální rovnice má jinou pozoruhodnou vlastnost. Obecné řešení nehomogenní rovnice ION lze získat jako součet kteréhokoli jednoho partikulárního řešení nehomogenní rovnice IPN a obecného řešení homogenní rovnice IOH ION = IPN + IOH Najít nějaké partikulární řešení nehomogenní rovnice může být snadné, lze ho často „uhádnout“. Např. zjevným partikulární řešením nehomogenní rovnice d2I dt2 + b dI dt + cI = d je konstantní řešení IPN = d c . Pak už stačí „pouze“ najít obecné řešení homogenní rovnice. Zkusme tedy nyní najít řešení homogenní rovnice, a to ve tvaru I = ekt. Po dosazení do rovnice a zkrácení ekt dostaneme k2 ekt + bkekt + cekt = 0 → k2 + bk + c = 0 Aby tedy I = ekt bylo řešením, musí k splňovat rovnici, tedy musí platit k1,2 = −b ± √ b2 − 4c 2 Můžeme rozlišit 3 situace podle hodnoty dikriminantu D = √ b2 − 4c. 1. D > 0 Dostáme 2 reálné hodnoty k1,2 a 2 jim odpovídající řešení I1 = ek1t a I2 = ek2t. Řešení jsou tzv. lineárně nezávislá, což znamená, že nelze vyjádřit jedno řešení jako násobek druhého řešení. V hlubší teorii diferenciálních rovnic se ukazuje, že rovnice n-tého řádu má nejvýše n lineárně nezávislých řešení. Protože řešíme rovnici druhého řádu, jsou řešení I1 a I2 veškerá lineárně nezávislá řešení. Jakékoli další řešení I(x) homogenní rovnice lze vyjádřit v již známém tvaru I(x) = pI1(x) + qI2(x), tedy IOH = pek1t + qek2t Obecné řešení nehomogenní rovice je ION = d c + pek1t + qek2t Konstanty p a q se určí z počátečních podmínek, které v případě rovnice druhého řádu musí být 2, např. počáteční koncentrace inzulínu a počáteční rychlost tvorby inzulínu (což vlastně nepřímo vyjadřuje počáteční koncentraci glukózy). V případě našeho příkladu s inzulínem jsou b i c kladné, proto je v případě kladného diskriminantu určitě √ b2 − 4c < b, jsou tedy k1 i k2 záporné. S časem tedy exponenciální 40 2.7 Obyčejné diferenciální rovnice komponenty klesají k 0 a zůstává stacionární hladina inzulínu d c . Exponenciální komponenty se uplatní pouze zpočátku, než se ustaví stacionární hladina. Obr. 2.21 ukazuje možné průběhy funkcí, pokud je počáteční hladina nad nebo pod hladinou stacionární. 2 4 1 2 3 4 5 t I Obrázek 2.21: Lineární diferenciální rovnice druhého řádu, D > 0 2. D = 0 Pro nulový diskriminant dostáváme jediné lineárně nezávislé řešení I1 = e −b 2 t Vzhledem k nulovému diskriminantu platí b2 − 4c = 0 → c = b2 4 čímž se diferenciální rovnice převádí na tvar d2I dt2 + b dI dt + b2 4 I = 0 Prozradíme její druhé lineárně nezávislé řešení. I2 = te −b 2 t Pro obecné řešení nehomogenní rovice s nulovým diskriminantem tedy získáme ION = d c + pe −b 2 t + qte −b 2 t Několik možných průběhů funkcí ukazuje obr. 2.22. Průběh je kvalitativně podobný průběhu s kladným diskriminantem. 3. D < 0 Pro záporný diskriminant pod odmocninou neexistuje reálné řešení, ale existují 2 řešení v oboru komplexních čísel. Odmocninu ze záporného diskriminantu můžeme upravit do následujícího komplexního tvaru. √ D = −|D| = √ −1 |D| = i |D| 41 2 Úvod do matematické analýzy 2 4 1 2 3 4 5 t I Obrázek 2.22: Lineární diferenciální rovnice druhého řádu, D = 0 Proto k1,2 = −b ± √ D 2 = −b ± i |D| 2 Dostáváme tak 2 komplexně sdružená lineárně nezávislá řešení I1 = e− b 2 t ei √ |D| 2 t I2 = e− b 2 t e−i √ |D| 2 t To je na první pohled podivný výsledek, poněvadž v reálném fyzickém světě musí být řešení reálné. Komplexní řešení je pouze matematická konstrukce. Můžeme však využít výše popsanou vlastnost homogenní lineární rovnice, že součet řešení je též řešením. Zkusme obě komplexně sdružená řešení převést do goniometrického tvaru a sečíst. I1 + I2 = e− b 2 t . ei √ |D| 2 t + e−i √ |D| 2 t = e− b 2 t . cos |D| 2 t + i sin |D| 2 t + cos |D| 2 t − i sin |D| 2 t = 2e− b 2 t cos |D| 2 t Došlo k eliminaci komplexních členů a zbylo nám reálné řešení! Poznamenejme, že druhé lineárně nezávislé řešení bychom získali odečtením obou řešení. Řešení by bylo čistě imaginární a pro reálný svět irelevantní Pro obecné řešení nehomogenní rovice se záporným diskriminantem tak získáme ION = d c + pe− b 2 t cos |D| 2 t Řešení je kvalitativně odlišné než řešení předcházející, vyskytují se zde totiž oscilace. Ve výrazu e− b 2 t cos |D| 2 t 42 2.7 Obyčejné diferenciální rovnice můžeme vidět dvě části - oscilaci s konstantní amplitudou cos √ |D| 2 t a exponenciálně klesající amplitudu −b 2t. V čase tedy oscilující komponenta odezní a zbyde konstantní hladina inzulínu I0 = d c . Obr. ukazuje možný průběh funkce. Červené čárkované linie vyznačují exponenciálně kesající amplitudu. Všimněme si, že parametry původní rovnice, resp. soustavy rovnic, určovaly, zda dojde či nedojde k oscilacím. Oscilace v regulačních systémech je tedy možná, ale nikoli nutná. 2 4 1 2 3 4 5 t I Obrázek 2.23: Lineární diferenciální rovnice druhého řádu, D < 0 43 3 Poznámky k numerické matematice Řadu, nebo spíše většinu reálných úloh nelze řtešit analyticky, tedy nepodačí se nám najít jednoduchý vztah, vzorec, do něhož můžeme dosadit a ihned zjistit výsledek. Téměř zcela to platí pro diferenciální rovnice. V kapitole 2.7 jsme řešili všechny úlohy analyticky, to byly ale ve skutečnosti pečlivě vybrané výjimky. Většinou je třeba úžít nějaký jiný postup, abychom získali alespoň číselný výsledek, když už nemáme analytické řešení. Rozvojem a studiem vlastností těchto postupů se zabývá numerická matematika. Formuluje též algoritmy, programy, k hledání řešení. Tím se pohybuje na hranici matematiky a informatiky. 3.1 Numerické řešení algebraických rovnic Analyticky umím řešit jednoduché algebraické rovnice, jako x2 + 3x + 2 = 0. Nelineární algebraické rovnice, např. cos x = x musíme řešit numericky. Zde si představíme 3 postupy numerického řešení algebraických rovnic. Všechny 3 postupy mají iterativní charakter. To znamená, že se znovu a znovu opakuje stejný výpočet s odlišnými čísly, přičemž výstup i-tého kroku je vstupem pro krok i+1. Na počátku je třeba zvolit nějaký odhad řešení, označme jej x0. Následují iterace. Pokud se již řešení mezi jednotlivými kroky příliš nemění, je např. menší než předem zvolené kritérium ukončení iterací ε, |xi −xi−1| < ε, program se ukončí a vypíše aktuální hodnotu xi. Různé postupy se liší konvergencí a efektivitou. Konvergencí se míní skutečnost, že se postup stále více blíží správnému řešení. Konvergence může záviset na volbě počátečního x0. Pro některá x0 může postup konvergovat, pro jiná nikoli. Efektivitou se rozumí počet provedených iterací, než program splní kritérium ukončetí. Každou algebraickou rovnici lze upravit na tvar f(x) = 0. Hledejme tedy numerické řešení této rovnice. Nechť řešením rovnice xs, tedy f(xs) = 0. 3.1.1 Metoda půlení intervalů Metoda půlení intervalů je nejjednodušší, viz obr. 3.1. Je třeba zvolit dvě počáteční hodnoty xL 0 a xR 0 , jednu vlevo a druhou vpravo od xs. Tyto dvě hodnoty vymezují interval, v němž se nachází řešení. Poněvadž uvažujeme monotónní úsek funkce f a její průsečík s osu x, tedy řešení xs, se nachází mezi oběma krajními hodnotami, musí mít f(xL 0 ) a f(xR 0 ) opačné znamení, tedy f(xL 0 ).f(xR 0 ) < 0. V každé iteraci najdeme prostřední hodnotu mezi oběma krajními xM := xR 0 − xL 0 2 a určíme její funkční hodnotu, f(xM ). Řešení xs se určitě nachází mezi xM a tou z krajních hodnot, která má opačné znaménko než f(xM ). Nechť jsou tedy obecně v i-té iteraci algoritmu krajní hodnoty intervalu, v němž se nachází xs, xL i a xR i . Pak xM i := xR i − xL i 2 a definujeme nové krajní hodnoty xL i+1 a xR i+1 tak, že vždy jednou z nových krajních hodnot se stane xM i a druhá se nemění. Přitom xL i+1 := xM i a xR i+1 := xR i , pokud f(xM i ).f(xR i ) < 0, jinak 44 3.1 Numerické řešení algebraických rovnic xR i+1 := xM i a xL i+1 := xL i . V každé iteraci se interval obsahují řešení xs zkrátí na polovinu, odtud název metody. Iterace se provádějí tak dlouho, až je šířka intervalu menší než předem zvolené ε. Dokonce stačí polovina intervalu, protože xM i se od xs liší nanejvýš o polovinu délky intervalu [xL i , xR i ]. Výhodou metody je její jistá konvergence, pokud se nám podaří najít monotónní úsek funkce v okolí řešení. 1 1 x cos x xs ≈ 0, 739 x f(x) (a) Rovnost funkcí. x = cos(x). 1 −1 1 f(x) = x − cos x xL xR xS x f(x) (b) Kořen rovnice. f(x) = x − cos(x) = 0. Obrázek 3.1: Metoda půlení intervalů. V Pythonu bychom algoritmus řešící rovnici cos(x) = x mohli napsat takto: import math def g(x): return x−math.cos(x) epsilon = 0.001 # po ž adovan á př esnost řeš en í j=0 # sledov ání po č tu iterac í xL=0.0 # lev á krajn í hodnota po čá te ční ho intervalu xR=1.0 # prav á krajn í hodnota po čá te ční ho intervalu while abs(xR−xL)/2 > epsilon: # krit é rium ukon č en í iterac í xM = (xL+xR)/2 # definice st ř edu intervalu if g(xM)∗g(xR)<0: # volba nov ý ch krajn í ch hodnot xL = xM else: xR = xM j+=1 # př ibyla 1 iterace print(xL) # lev á krajn í hodnota kone čné ho intervalu print(xR) # prav á krajn í hodnota kone čné ho intervalu print(j) # po č et proveden ý ch iterac í V daném příkladu získáme pro ε = 0, 001 po 9 iteracích interval řešení [0.73828125, 0.740234375]. Pro představu přesnosti dodejme, že na 8 desetinných míst je xs = 0, 73908513. 3.1.2 Metoda prosté iterace Další metodou, zajímavou, ale asi nejméně používanou, je metoda prosté iterace. Je nutné z řešené rovnice f(x) = 0 vyjádřit x, tedy rovnici přeformulovat do tvaru x = g(x). Například 45 3 Poznámky k numerické matematice rovnici x−cos x = 0, kde f(x) = x−cos x, přeformulujeme do tvaru x = cos x, kde g(x) = cos x. Opět se zvolí počáteční odhad řešení x0. Každý krok iterace je charakterizován jednoduchým předpisem xi+1 := g(xi) Princip algoritmu objasňuje obr. 3.2. Algoritmus „postupuje“ ve směru červených šipek. Problematické jsou podmínky konvergence. Aby algoritmus konvergoval, je nutné aby pro všechny hodnoty mezi x0 a řešením xs platilo, že |g′(x)| < 1. Funkce tedy nesmí v žádném bodě tohoto intervalu růst nebo klesat příliš rychle. To často neplatí. Též rychlost konvergence závisí na |g′(x)| a může být nízká. 1 1 x0 x1x2 cos x x g(x) Obrázek 3.2: Metoda prosté iterace. g(x) = cos(x). Algoritmus řešící stejnou rovnici cos(x) = x implemenovaný v Pythonu je následující: import math def g(x): return math.cos(x) j=0 # sledov ání po č tu iterac í epsilon = 0.001 # po ž adovan á př esnost řeš en í x1=0.9 # po čá te ční hodnota x2=g(x1) while abs(x1−x2) > epsilon: # krit é rium ukon č en í iterac í x1=x2 # itera ční př edpis x2=g(x1) j+=1 # př ibyla 1 iterace print(x1) # př edposledn í hodnota iterace print(x2) # posledn í hodnota iterace print(j) # po č et proveden ý ch iterac í Pro stejnou přesnost ε = 0, 001 jako v předchozím příkladě získáme z poslední iterace dvojici hodnot 0, 7386421766270547 a 0, 7393834415834122, a to až po 15 iteracích. 3.1.3 Newtonova metoda Populární je Newtonova metoda, označovaná též Newton-Raphsonova metoda nebo metoda tečen. Konverguje velmi rychle, ale nikoli vždy. Řešíme opět rovnici f(x) = 0. Současně musíme 46 3.1 Numerické řešení algebraických rovnic znát derivaci funkce f, f′. Opět je nutné poskytnou počáteční odhad řešení x0. Princip metody ilustruje obr. 3.3. V bodě x0 zjistíme derivaci f′(x0), čímž známe směrnici tečny v tomto bodě. Posuneme se do bodu x1, kde tečna protíná osu x. Obecně xi+1 je bod, kde tečna v bodě xi protíná osu x. Z obr. 3.3 je zřejmé, že pro iterační předpis platí xi+1 := xi − f(xi) f′(xi) Poznamenejme pro úplnost, že pokud derivaci neznáme a nahradíme ji odhadem derivace jako podílu 2 rozdílů, přechází metoda tečen v tzv. metodu sečen. 1 −1 1 f(x) = x − cos x x0 x1 x2 x f(x) Obrázek 3.3: Newtonova metoda. f(x) = x − cos(x). Algoritmus řešící opět stejnou rovnici x − cos(x) = 0 zní: import math def f(x): # řeš en á rovnice return x−math.cos(x) def fdev(x): # derivace funkce f return 1+math.sin(x) j=0 # sledov ání po č tu iterac í epsilon = 0.001 # po ž adovan á př esnost řeš en í x0=1 # po čá te ční hodnota x1=x0−f(x0)/fdev(x0) # " nult á" iterace while abs(x0−x1) > epsilon: # krit é rium ukon č en í iterac í x0=x1 x1=x0−f(x0)/fdev(x0) # itera ční př edpis j+=1 # př ibyla 1 iterace print(x0) # př edposledn í hodnota iterace print(x1) # posledn í hodnota iterace print(j) # po č et proveden ý ch iterac í Pro stejnou přesnost ε = 0, 001 jako v předchozím příkladě získáme z poslední iterace dvojici hodnot 0, 7391128909113617 a 0, 739085133385284, k čemuž nám stačí pouhé 2 iterace!! Počet iterací přitom s rostoucí přesností roste velmi pomalu. Například pro řešení s přesností 11 47 3 Poznámky k numerické matematice desetinných míst (ε = 0, 00000000001) stačí pouhé 4 iterace (xs = 0.7390851332151607). 3.2 Numerické řešení diferenciálních rovnic Numerické řešení diferenciálních rovnic je stěžejní téma pro potřeby matematického modelování v medicíně a biologii. Představíme si dva nejznámější iterativní postupy, jednodušší Eulerovu metodu a složitější, ale přesnější metodu podle Runga a Kutty 4. řádu. Diferenciální rovnici převedeme na explicitní tvar, kdy na levé straně rovnice se vyskytuje pouze derivace a ne pravé straně členy bez derivace, tedy dx dt = f(x, t) Hledanou neznámou bude funkce x(t). Pokud není derivace explicitně vyjádřena (často to není možné), hovoříme o tzv. implicitním tvaru diferenciální rovnice, obecně f(x′, x, t) = 0. Pak je do každého kroku numerického řešení nutno vložit řešení algebraické rovnice pomocí některé z metod uvedených v předchozí kapitole. diskretizace 3.2.1 Eulerova metoda Eulerova metoda využívá skutečnosti, že derivace je podíl dvou malých rozdílů, tedy dx dt ≈ ∆x ∆t Výraz pro derivaci pak hned přepíšeme do tvaru ∆x ∆t ≈ f(x, t) Iterativní předpis je definován výrazem xi+1 := xi + f(x, t).∆t Musí být známa počáteční hodnota x(0) = x0 v čase t = 0 resp t = t0. V každém kroku metody se posuneme v čase o ∆t dopředu a o ∆x ve funkční hodnotě. Princip ilustruje obr. 3.4. Je patrné, že se hodnota xi+1 liší od správné hodnoty x(t + ∆t). V i-tém kroku tak vzniká chyba errori = x(t + ∆t) − xi+1. Chyba zjevně závisí na velikosti kroku ∆t. Drobné chyby se však kumulují v každém kroku a výsledná celková chyba postupně roste. Celkovou chybu někdy nelze eliminovat ani zmenšením kroku ∆t. Pak sice klesne chyba jednotlivého kroku, ale vzroste počet kroků a celková kumulativní chyba klesnout nemusí. Dále popsaná metoda podle Rungy a Kutteho tento problém řeší. Dále je uvedena možná implementace Eulerovy metody v Pythonu pro diferenciální rovnici x′ = −x. Při počátečních podmínkách x(0) = 10 je analytickým řešením x = 10e−t. Numerické i analytické řešení je zobrazeno na obr. 3.5. Je patrná drobná odlišnost obou křivek, tedy chyba Eulerovy metody. import numpy as np import matplotlib.pyplot as plt size = 50 t = np.linspace(0, 10, size) # vektor č asov ý ch bod ů x_num = np.linspace(0, 10, size) # vektor numerick ý ch hodnot funkce x_anal = np.linspace(0, 10, size) # vektor analytick ý ch hodnot funkce 48 3.2 Numerické řešení diferenciálních rovnic 1 2 3 5 10 ∆t ∆x errori xi xi+1 t x(t) Obrázek 3.4: Eulerova metoda def g(a): # derivace hledan é funkce return −a dt = 10/size # č asov ý krok i=0 x[i] = 10 # po čá te ční hodnota funkce − x( t0 ) t[i] = 0 # po čá te ční č as while i < (size−1): # iterace dx = dt ∗ g(x_num[i]) x_num[i+1] = x_num[i] + dx t[i+1] = t[i] + dt i += 1 x_anal = 10∗np.exp(−t) # analytick é řeš en í # graf řeš en í fig, axes = plt.subplots() axes.plot(t, x_num, ’b’, label = ’numerické řešení’) axes.plot(t, x_anal, ’r’, label = ’analytické řešení’) axes.set_xlabel(’čas’) axes.set_ylabel(’x’) axes.legend() 49 3 Poznámky k numerické matematice Obrázek 3.5: Eulerova metoda: x′(t) = −x 3.2.2 Metoda Rungeho a Kutty Jak je jistě patrno, je Eulerova metoda velmi jednoduchá, ale nepříliš přesná. Výrazně přesnější metodu numerického řešení diferenciálních rovnic vypracovali počátkem 20. století němečtí matematici Carl Runge a Wilhelm Kutta. Metoda se snaží odstranit nepřesný odhad ∆x po kroku ∆t, tedy snížit chybu errori. Hodnotu x(t + ∆t) neodhaduje v jednom kroku, ale v několika navzájem propojených krocích. Představíme si nejpoužívanější variatu se 4 kroky, tzv. Runge-Kuttovu metodu 4. řádu (často označovanou RK4). Řešíme rovnici dx dt = f(x, t) Opět zvolíme časový krok ∆t. Postupně spočítáme 4 odhady ∆x, označené k1 až k4 a z jejich váženého průměru dopočteme finální odhad ∆x. Existují i jiné drobné modifikace téhož postupu. Algoritmus je následující: k1 = f (xi, ti) ∆t k2 = f xi + k1 2 , ti + ∆t 2 ∆t k3 = f xi + k2 2 , ti + ∆t 2 ∆t k4 = f (xi + k3, ti + ∆t) ∆t 50 3.2 Numerické řešení diferenciálních rovnic Odhad průměrného sklonu je ∆x := k1 + 2k2 + 2k3 + k4 6 Odhady ti+1 a xi+1 definujeme jako ti+1 = ti + ∆t xi+1 = xi + ∆x Je zjevné, že první krok, tedy určení k1, je identický s Eulerovou metodou. 1 2 3 5 10 ∆t k1 xi t x(t) 1 2 3 5 10 ∆t k1 k2 xi t x(t) 1 2 3 5 10 ∆t k2 k3 xi t x(t) 1 2 3 5 10 15 ∆t k3 k4 xi t x(t) Obrázek 3.6: Konstrukce k1 až k4 v Rungově-Kuttově metodě Obr. 3.7 ukazuje výsledky obou metod po jednom kroku, počítáno z hodnot k1 až k4 z obr. 3.6. Je vidět, že RK4 metoda je výrazně přesnější než Eulerova metoda. Odhad hodnoty xi+1 RK4 metodou je téměř přesně funkční hodnota v bodě t + ∆t, x(t + ∆). Dále je uvedena možná implementace Runge-Kuttovy metody v Pythonu pro řešení stejné diferenciální rovnici x′ = −x jako v předchozí kapitole. Numerické i analytické řešení je zobrazeno na obr. 3.8. Obě křivky jsou prakticky totožné. Opět je patrno, že chyba metody RK4 je výrazně menší než metody Eulorovy, ačkoli časové kroky ∆t jsou stejné. import numpy as np import matplotlib.pyplot as plt size = 50 51 3 Poznámky k numerické matematice 1 2 3 5 10 ∆t xi xi+1,RK xi+1,Euler t x(t) Obrázek 3.7: Porovnání přesnosti Eulorovy a Rungovy-Kuttovy metody t = np.linspace(0, 10, size) # vektor č asov ý ch bod ů x_num = np.linspace(0, 10, size) # vektor numerick ý ch hodnot funkce x_anal = np.linspace(0, 10, size) # vektor analytick ý ch hodnot funkce def g(x,t=1): # derivace hledan é funkce return −x def RK(x,t=1): # 1 krok RK metody 4. řá du k1 = dt ∗ g(x,t) k2 = dt ∗ g(x+k1/2,t+dt/2) k3 = dt ∗ g(x+k2/2,t+dt/2) k4 = dt ∗ g(x+k3,t+dt) return x+(k1+2∗k2+2∗k3+k4)/6 dt = 10/size # č asov ý krok i=0 x_num[i] = 10 # po čá te ční hodnota funkce − x_num ( t0 ) t[i] = 0 # po čá te ční č as while i < (size−1): # iterace x_num[i+1] = RK(x_num[i],t[i]) t[i+1] = t[i] + dt i += 1 x_anal = 10∗np.exp(−t) # analytick é řeš en í 52 3.3 Numerické řešení soustav diferenciálních rovnic # graf řeš en í fig, axes = plt.subplots() axes.plot(t, x_num, ’b’, label = ’numerické řešení’) axes.plot(t, x_anal, ’r’, label = ’analytické řešení’) axes.set_xlabel(’čas’) axes.set_ylabel(’x’) axes.legend() Obrázek 3.8: Runge-Kutteova metoda 4. řádu: x′(t) = −x 3.3 Numerické řešení soustav diferenciálních rovnic Pro řešení soustav diferenciálních rovnic jsou numerické metody zásadní. Analytické řešení je možné jen vzácně. Oběvýše popsané metody se dají rozšířit pro případ soustavy rovnic. Uvažujme dvě funkce času, x(t) a y(t), které charakterizuje soustava diferenciálních rovnic dx dt = f1(x, y, t) dy dt = f2(x, y, t) s počátečními podmínkami x(0) = x0, y(0) = y0 a t(0) = t0. 3.3.1 Eulerova metoda Úprava Eulerovy metody pro případ soustavy rovnic je snadná. Rovnice upravíme na tvar 53 3 Poznámky k numerické matematice ∆x ∆t ≈ f1(x, y, t) ∆y ∆t ≈ f2(x, y, t) Pro iterační předpis dostaneme xi+1 := xi + f1(x, y, t).∆t yi+1 := yi + f2(x, y, t).∆t ti+1 := ti + ∆t Implementace v Pythonu může být následující. import numpy as np size = 100 t = np.linspace(0, 50,size) x = np.linspace(0, 50,size) y = np.linspace(0, 50,size) def f1(x,y,t): return −x + 2∗y def f2(x,y,t): return −x + y dt = 0.1 i=0 x[i] = 0 y[i] = 10 t[i] = 0 while i < size−1: dx = dt ∗ f1(x[i],y[i],t[i]) dy = dt ∗ f2(x[i],y[i],t[i]) x[i+1] = x[i] + dx y[i+1] = y[i] + dy t[i+1] = t[i] + dt i += 1 import matplotlib.pyplot as plt fig, axes = plt.subplots() axes.plot(t, x, ’b’, label = ’x’) axes.plot(t, y, ’r’, label = ’y’) axes.set_xlabel(’čas’) axes.set_ylabel(’y’) axes.set_title(’vývoj v čase’) axes.legend() 54 3.3 Numerické řešení soustav diferenciálních rovnic Obr. 3.9a ukazuje časový průběh řešení. Obr. 3.10a ukazuje tzv. fázový portrét. Jde o vzájemné zobrazení vývoje funkcí x a y po eliminaci nezávisle proměnné (zde času). Kdybychom z výšky pozorovali pohybující se objekt, trajektorie jeho pohybu, kterou bychom viděli, je příkladem fázového portrétu, polohy vůči osám, tedy x(t) a y(t), jsou funkcemi času. Pomocí fázového portrétu můžeme „zobrazit chování“ soustav diferenciálních rovnice, např. hledat oscilace či stabilní a nestabilní body. (a) Eulerova metoda (b) Runge-Kuttova metoda Obrázek 3.9: Numerické řešení soustavy diferenciálních rovnic - vývoj v čase fig, axes = plt.subplots() axes.plot(x, y, ’b’, label = ’dt = 0.1’) axes.set_xlabel(’x’) axes.set_ylabel(’y’) axes.set_title(’fázový portrét’) axes.legend() (a) Eulerova metoda (b) Runge-Kuttova metoda Obrázek 3.10: Numerické řešení soustavy diferenciálních rovnic - fázový portrét 3.3.2 Runge-Kuttova metoda Upravit RK4 metodu pro soustavy diferenciálních rovnic je lehce složitější než v případě Eulerovy metody. V zásadě je třeba jednotlivá k1 až k4 tvořit pro obě proměnné zároveň. k odpovídající proměnné x označme kx, ky budou odpovídat y. Pro případ soustavy 2 výše uvedených rovnic by byl algoritmus následující: 55 3 Poznámky k numerické matematice k1,x = f1 (xi, yi, ti) ∆t k1,y = f1 (xi, yi, ti) ∆t k2,x = f1 xi + k1,x 2 , yi + k1,y 2 , ti + ∆t 2 ∆t k2,y = f2 xi + k1,x 2 , yi + k1,y 2 , ti + ∆t 2 ∆t k3,x = f1 xi + k2,x 2 , yi + k2,y 2 , ti + ∆t 2 ∆t k3,y = f2 xi + k2,x 2 , yi + k2,y 2 , ti + ∆t 2 ∆t k4,x = f1 xi + k3,x, yi + k3,y, ti + ∆t ∆t k4,y = f2 xi + k3,x, yi + k3,y, ti + ∆ ∆t Odhad průměrných sklonů je ∆x := k1,x + 2k2,x + 2k3,x + k4,x 6 ∆y := k1,y + 2k2,y + 2k3,y + k4,y 6 Odhady ti+1, xi+1 a yi+1 definujeme jako ti+1 = ti + ∆t xi+1 = xi + ∆x yi+1 = yi + ∆y Implementace v Pythonu může být následující. import numpy as np size = 100 t = np.linspace(0, 50,size) x = np.linspace(0, 50,size) y = np.linspace(0, 50,size) def fx(x,y,t): return −x + 2∗y def fy(x,y,t): return −x + y def RK(x,y,t=1): k1x = dt ∗ fx(x,y,t) k1y = dt ∗ fy(x,y,t) k2x = dt ∗ fx(x+k1x/2,y+k1y/2,t+dt/2) k2y = dt ∗ fy(x+k1x/2,y+k1y/2,t+dt/2) k3x = dt ∗ fx(x+k2x/2,y+k2y/2,t+dt/2) k3y = dt ∗ fy(x+k2x/2,y+k2y/2,t+dt/2) k4x = dt ∗ fx(x+k3x,y+k3y,t+dt) 56 3.3 Numerické řešení soustav diferenciálních rovnic k4y = dt ∗ fy(x+k3x,y+k3y,t+dt) return (x+(k1x+2∗k2x+2∗k3x+k4x)/6, y+(k1y+2∗k2y+2∗k3y+k4y)/6) dt = 0.1 i=0 x[i] = 0 y[i] = 10 t[i] = 0 while i < size−1: a,b = RK(x[i],y[i], t[i]) x[i+1] = a y[i+1] = b t[i+1] = t[i] + dt i += 1 Obr. 3.9b a obr. 3.10b ukazují časový průběh obou funkcí a fázový portrét. Fázový portrét se podstatně liší od portrétu téže soustavy rovnic řešené Eulerovou metodou, jde o stacionární cyklus oproti rostoucí amplitudě oscilací. Správné řešení plyne z Runge-Kuttovy metody, což opět dokumentuje její přesnost oproti Eulerově metodě (při stejném časovém kroku ∆t). Rozbíhání v Eulerově metodě je dáno postupnou kumulací chyb. Lze proto doporučit vždy upřednostnit RK metodu před Eulerovou metodou. 57 4 Poznámky k lineární algebře Matematika bývá označována jako strukturální věda, čímž se míní, že „hledá“ strukturu či zákonitosti v jistých vztazích. Matematika však není přírodní věda, toto hledání má jinou povahu, než hledání v přírodních vědách. Přírodní vědy hledají zákonitosti v něčem, co je, co existuje, v přírodním světě. Matematika často postupuje tak, že extrahuje zákonitosti z intuitivně známých skutečností, např. z počítání s přirozenými čísly, a zkoumá, jaké jsou obecné důsledky těchto abstraktních zákonitostí. Lineární algebra je úchvatnou oblastí matematiky, často první výrazně abstrahující discíplínou, s níž se student matematiky setká. Buduje řadu základních představ a pojmů. Na její poznatky navazují další oblasti matematiky i fyziky, např. teorie diferenciálních rovnic či kvantová mechanika. Ilustrujme si popsaný „abstrahující princip“ na příkladu. Dítě se v první třídě učí sčítat. 2 hrušky + 3 hrušky = 5 hrušek, 2 auta + 3 auta = 5 aut, 2 domy + 3 domy = 5 domů. Postupně zjistí, že všechny tyto rovnosti mají něco společného, totiž, že 2 + 3 = 5. Je to první stupeň abstrakce. Můžeme počítat s čísly, nepotřebujeme konkrétní předměty. Mnohem později abstrakce pokračuje. 2.(3 + 4) = 2.3 + 2.4, 4.(1 + 5) = 4.1 + 4.5. Všechna čísla ve vztazích můžeme nahradit proměnnými a, b, c, zastupujícími libovolné číslo, ale početní zákonitost, zde označovaná jako distribuční zákon, tedy a.(b + c) = a.b + a.c, stále platí. Nepotřebujeme tedy přímo čísla, stačí nám proměnné, které se řídí stejnými pravidly. Mají v jistém smyslu „stejnou strukturu“. Lineární algebra pokračuje touto cestou dále. Dalším stupněm abstrakce může být pojem vektoru. 4.1 Vektory a vektorové prostory Ukažme si, jak by cestou abstrakce matematika dospěla k pojmu vektor. Klasickou středoškolskou představou vektoru je „šipka mířící odněkud někam“. S taková „šipkou“ můžeme provádět některé „operace“, které mají charakteristické vlastností. Násobení šipky číslem šipku prodlouží, zkrátí, nebo obrátí, ale šipka stále zůstává šipkou. Pokud vynásobíme šipku číslem 1, nezmění se. 2 šipky sešteme tak, že přiložíme druhou na konec první. Můžeme však též přiložit první na konec druhé. Výsledná šipka, resp. bod, kam šipky společně dosáhnou, je totožná. „Nulovou“ šipku, tedy šipku délky O, můžeme přičíst k jakékoli šipce, aniž by se tím změnila. Dalšími typickými vlastnosti jsou vzájemné „interakce“ obou operací, označované jako komutativita, distributivita a asociativita. Zapišme popsané vlastnosti formálně, matematicky. Místo slova šipka používejme dále slovo vektor. Vektor označme ⃗v, případně ⃗v1, ⃗v2 nebo ⃗v3. Reálné číslo, jímž násobíme bude a. Máme tedy 2 operace - násobení vektoru konstantou a sčítání vektoru. Obě operace jsou uzavřené, tedy výsledkem je opět vektor, nikoli třeba reálné číslo. ⃗v2 = a.⃗v1 násobení vektoru konstantou ⃗v = ⃗v1 + ⃗v2 sčítání vektorů Operace splňují následujícíh 8 vlastností, jak se můžeme na chování šipek snadno přesvědčit: 58 4.1 Vektory a vektorové prostory ⃗v −2 3⃗v (a) Násobení vektoru konstantou ⃗v1 ⃗v2 ⃗v1 ⃗v2 ⃗v1+ ⃗v2 (b) Sčítání vektorů Obrázek 4.1: Operace s vektory ⃗v =⃗0 + ⃗v neutrální prvek sčítání ⃗v + ( ⃗−v) =⃗0 existence inverzního prvku ⃗v1 + ⃗v2 = ⃗v2 + ⃗v1 komutativita ⃗v1 + (⃗v2 + ⃗v3) = (⃗v1 + (⃗v2) + ⃗v3 asociativita sčítání ⃗v = 1.⃗v neutrální prvek násobení a.(⃗v1 + ⃗v2) = (a.⃗v1) + (a.⃗v2) distributivita (a + b).⃗v = a.⃗v + b.⃗v distributivita (a.b).⃗v = a.(b.⃗v) asociativita násobení Dosud jsme pouze „zkomplikovali“ banální představy o šipkách. Abstraktní krok je následující. Změňme od této chvíle význam slova vektor. Vektor již nebude znamenat pouze šipku, nýbrž jakýkoli objekt, na němž lze definovat 2 výše uvedené operace, které mají všech 8 uvedených vlastností. Takových objektů je řada, krom šipek například n-tice čísel, polynomy kteréhokoli stupně, funkce, které jsou řešením homogenní diferenciální rovnice, matice konkrétního typu a další. Matematika se může dále zabývat pouze chováním 8 uvedených vlastností. Zjištěné výsledky pak budou automaticky platit pro všechny konkrétní případy vektorů. Zaveďme ještě důležitý pojem vektorový prostor, též označovaný jako lineární prostor. Poznamenejme jen, že slovo prostor je v matematice (přinejmenším zde) pouhé synonymum ke slovu množina, nemá jiný speciální význam. Mějme nějakou množinu V , na jejíž prvcích nějak libovolně definujeme operaci násobení reálným číslem „.“ a operaci sčítání 2 prvků „+“, přičemž ale definované operace splňují 8 výše uvedených podmínek. Trojici (V, ., +) označíme jako vektorový prostor. Každý prvek vektorového prostoru nazveme vektor. Zjevně tedy množina všech šipek s dvěma výše definovanými operacemi tvoří vektorový prostor. Ukažme si však, že i polynomy 3. stupně můžeme skutečně považovat za vektory, prvky vektorového prostoru. Vezměme nějaké dva (obecné) polynomy 3. stupně y1 = a1x3 + b1x2 + c1x + d1 y2 = a2x3 + b2x2 + c2x + d2 Operaci násobení číslem a sčítání budeme chápat „klasicky“, jak jsme zvyklí. Násobme polynom y1 konstantou k ∈ R. Pak dostamene y = ky1 = (ka1)x3 + (kb1)x2 + (kc1)x + (kd1) což je zjevně opět polynom 3. stupně. Operace násobení reálným čísle je tedy uzavřená. Nyní 59 4 Poznámky k lineární algebře sečteme vektory y1 a y2 y1 + y2 = (a1 + a2)x3 + (b1 + b2)x2 + (c1 + c2)x + (d1 + d2) Výsledkem je opět polynom 3. stupně. Operace je též uzavřená. Velmi jednoduše se dá dále ukázat, že tyto dvě operace splňují všech 8 výše uvedených požadavků. Jako příklad ukažme komutativitu: y1 + y2 = (a1 + a2)x3 + (b1 + b2)x2 + (c1 + c2)x + (d1 + d2) = (a2 + a1)x3 + (b2 + b1)x2 + (c2 + c1)x + (d2 + d1) = y2 + y1 Polynomy 3. stupně tedy můžeme považovat za vektory. Množina všech polynomů 3. stupně společně s operacemi násobení konstantou a sčítání tvoří vektorový prostor. V dalším textu zúžíme naši představu vektorů pouze na n-tice čísel. Rozlišujeme řádkové vektory ⃗v = 1, 2, 3 a sloupcové vektory ⃗v =    1 2 3    Záměna řádků a sloupců se označuje jako transpozice, značí se T. Tedy 1, 2, 3 =    1 2 3    T Jednotlivá čísla uvnitř vektoru se označují složky nebo komponenty vektoru, označujeme je indexy, např. v2 = 2. i-tá složka je vi. 4.1.1 Operace s vektory Sčítání vektorů a násobení čísle probíhá „po složkách“, angl. element-wise.    5 7 9    =    1 2 3    +    4 5 6       −3 −6 −9    = −3.    1 2 3    Dále definujeme reálné číslo skalární součin 2 vektorů jako x1, x2, x3 .    y1 y2 y3    = x1y1 + x2y2 + x3y3 Obecně můžeme psát ⃗u.⃗v = n i=1 uivi 60 4.2 Matice ⃗v1 ⃗v2 φ Obrázek 4.2: Operace s vektory Např. (1, 2, 3).(4, 5, 6)T = 1.4 + 2.5 + 3.6 = 29 Délka vektoru je dle Pythagorovy věty přirozeně v =∥⃗v∥ = v2 1 + v2 2 + . . . + v2 n Pomocí skalárního součinu můžeme psát v = √ ⃗v.⃗v Geometricky představuje skalární součin kolmou projekci jednoho vektoru do druhého (a násobenou druhým vektorem), viz obr 4.2. 4.1.2 Lineární kombinace, lineární závislost a nezávislost vektorů 4.1.3 Báze a dimenze vektorového prostoru vyjádření vektorů jako násobků báze příklad báze polynomů 3. prostoru 4.2 Matice Maticí rozumíme seskupení několika čísel do obdélníkového nebo čtvercového tvaru. Matici obvykle uzavíráme do kulatých nebo hranatých závorek. Rozlišujeme řádky a sloupce matice. Např. A =    1 2 3 3 5 5 8 7 6 9 1 0    je matice nazvaná A s 3 řádky a 4 sloupci. Hovoříme o matici typu 3 × 4. Obecně má matice typu m × n m řádků a n sloupců. Matice typu m × m se označuje jako čtvercová. Jednotlivá čísla označujeme jako prvky či elementy matice. Prvek v druhém řádku a třetím sloupci značíme a23, pro uvedenou matici je a23 = 8. Obecně je prvek v i-tém řádku a j-tém sloupci aij. Prvek levý horní je a11, prahý horní a1n, levý dolní am1 a prvek pravý dolní je amn.     a11 . . . a1n ... aij ... am1 . . . amn     Jednolivé řádky matice můžeme považovat za řádkové vektory, sloupce za sloupcové vektory. 61 4 Poznámky k lineární algebře 4.2.1 Typy matic Kromě obecné matice výše uvedené, kdy je většina čísel v matici odlišných od 0 a není patrna žádná struktura uspořádání prvků, existují speciální typy matic. Diagonální matice má prvky jen na hlavní diagonále       1 0 0 0 0 3 0 0 0 0 2 0 0 0 0 7       Jednotková matice je diagonální matice se všemi prvky rovnými 1. E4 =       1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1       Symetrická matice je symetrická vůči hlavní diagonále       1 −1 7 −3 −1 3 5 4 7 5 2 0 −3 4 0 7       Horní a dolní trojúhelníhová matice       1 −1 7 −3 0 3 5 4 0 0 2 9 0 0 0 7       ,       1 0 0 0 −1 3 0 0 7 5 2 0 −3 4 8 7       Transponovaná matice má vyměněné řádky a sloupce. Pro symetrickou matici zjevně platí AT = A. Transponovaná matice AT k výše uvedené matici A je typu 4 × 3 a zní AT =       1 5 6 2 5 9 3 8 1 3 7 0       4.2.2 Hodnost a determinant matic 1.    1 0 0 0 1 0 0 0 1    .    1 2 3 4 5 6 7 8 9    2.    1 2 3 4 5 6 7 8 9    .    1 2 3 4 5 6 7 8 9    62 4.2 Matice 4.2.3 Operace s maticemi Sčítání a odčítání matic stejného typu je prosté sčítání a odčítání po prvcích. Např.    1 3 −5 −2 1 4 3 4 −3    +    1 2 3 4 5 6 7 8 9    =    2 5 −2 2 6 10 10 12 6    Totéž platí pro násobení matic číslem. Např. 3.    1 2 3 4 5 6 7 8 9    =    3 6 9 12 15 18 21 24 27    Operace splňují všech 8 výše popsaných vlastností. I množina všech matic stejného typu proto tvoří vektorový prostor. Chovají se totiž „jako šipky“. Násobení vektoru maticí je složitější. Matici si představíme jako m řádkových vektorů napsaných pod sebou a provedeme skalární součin každého řádku s násobeným vektorem. Postupujeme systémem „řádek-krát-sloupec“. Např.    1 3 −5 1 −2 1 4 1 3 4 −3 1    .    1 2 3    =    1.1 + 3.2 + (−5).3 + 1.1 (−2).1 + 1.2 + 4.3 + 1.2 3.1 + 4.2 + (−3).3 + 1.3    =    −7 14 5    Výsledky vektor má tolik prvků, jako má matice řádků. Násobený vektor musí mít tolik prvků, jako matice sloupců. Pokud je matice A typu m × n, v násobení ⃗y = A.⃗x má ⃗x n prvků a ⃗y m prvků. Nejkomplikovanější je násobení matice maticí , C = A.B. První matici, A, typu m × n si představíme jako složenou z m řádkových vektorů o n komponentách, druhou matici B typu n×p jako složenou z p sloupcových vektorů délky n. Provedeme skalární součin každého řádkového vektoru matice A s každým sloupcovým vektorem matice B. Pro to je nutné, aby byl „vnitřní“ rozměr obou matic, v tomto případě n, stejný, tedy počet sloupců první matice musí být stejný jako počet řádků druhé matice. Výsledná matice C je typu m × p. Obecně pro prvek s indexy i, j matice C platí Cij = n k=1 Aik.Bkj Obr. 4.3 názorně ukazuje postup výpočtu. Například pro A =       1 5 6 2 5 9 3 8 1 3 7 0       a B =    1 6 −2 9 3 −1    je C = A.B =       1.1 + 5.(−2) + 6.3 1.6 + 5.9 + 6.(−1) 2.1 + 5.(−2) + 9.3 2.6 + 5.9 + 9.(−1) 3.1 + 8.(−2) + 1.3 3.6 + 8.9 + 1.(−1) 3.1 + 7.(−2) + 0.3 3.6 + 7.9 + 0.(−1)       =       9 45 19 48 −10 89 −11 81       63 4 Poznámky k lineární algebře a1,1 . . . a1,j . . . a1,n ... ... ... ... ... ... ai,1 . . . ai,j . . . ai,n ... ... ... ... ... ... am,1 . . . am,j . . . am,n                                         b1,1 . . . b1,j . . . . . . b1,p ... ... ... bi,1 . . . bi,j . . . . . . bi,p ... ... ... bn,1 . . . bn,j . . . . . . bn,p                             c1,1 . . . c1,j . . . . . . c1,p ... ... ... ... ... ... ci,1 . . . ci,j . . . . . . ci,p ... ... ... ... ... ... cm,1 . . . cm,j . . . . . . cm,p                                         × + × + × + × + × Obrázek 4.3: Schéma násobení matic Matice A je typu 4 × 3, matice B typu 3 × 2 a matice C typu 4 × 2. 4.2.4 Geometrická interpretace násobení vektoru maticí Mějme jako příklad dvojrozměrný vektor v rovině ⃗u = (u1, u2) a vynásobme jej čtvercovou maticí typu 2 × 2. Ukažme si několik příkladů, abychom „viděli“, co provede matice s vektorem (obr. 4.4). Násobením maticí A = 0 1 1 0 dostaneme nový vektor ⃗v = A.u = (u2, u1). Došlo k výměně složek vektoru, což odpovídá zrcadlení vektoru podle osy y = x. Matice A = 1 0 0 2 prodlouží „y-vou“ složku vektoru dvakrát a nezmění „x-vou složku“, provede tedy vertikální roztažení. Matice A = cos φ − sin φ sin φ cos φ způsobí rotaci vektoru o úhel φ proti směru hodinových ručiček, ale nezmění velikost vektoru. Různé matice tedy působí různé, ale pro danou matici charakteristické změny vektoru. Pokud vektor násobíme čtvercovou maticí, výsledný vektor má stejnou dimenzi. Je možné násobit vektor i maticí obdélníkovou. Pak klesá nebo roste dimenze vektoru a geometrická interpretace už není snadná. Mohlo by jít např. o projekci 3D-vektoru do nějaké roviny (2D-vektoru). 64 4.3 Soustavy lineárních algebraických rovnic 1 2 3 1 2 3 ⃗v ⃗u x y (a) Zrcadlení podle osy y = x 1 2 3 1 2 3 ⃗v ⃗u x y (b) Vertikální roztažení 1 2 3 1 2 3 ⃗v ⃗u φ = 50◦ x y (c) Rotace o 50° Obrázek 4.4: Geometrická interpretace násobení vektoru maticí 4.2.5 Příklady aplikací matic v biologii a medicíně převedení z teorie grafů popis sítí - metabolické, genové regulační ... analýza vícerozměrných dat. Principal component analysis klasické fyzikální uplatnění analýza obrazu 4.3 Soustavy lineárních algebraických rovnic Soustavou m lineárních algebraických rovnic o n neznámých se rozumí celek m lineárních vzájemně provázaných rovnic, v nichž se dohromady vyskytuje n neznámých. Soustavou 3 rovnic o 3 neznámých x1, x2, a x3 je například 2x1 +x2 −x3 = 1 (4.1) −x1−3x2 + 2x3 = 4 (4.2) 3x1 −x3 = −2 (4.3) Řešením této soustavy je trojice čísel x1, x2, a x3, které můžeme považovat za složky vektoru ⃗x = (x1, x2, x3). Na pravé straně soustavy, za „=“, stojí též 3 čísla, která můžeme považovat za složky nějakého vektoru, např. ⃗b = (1, 4, −2). Kdybychom z napsané soustavy „vypustili“ proměnné xi, zbyla by nám struktura matice. Seskupme tedy koeficienty u proměnných do matice A. A =    2 1 −1 −1 −3 2 3 −1    Pak ale můžeme celou soustavu rovnic ihned přepsat do maticové rovnice A⃗x = ⃗b Řešit soustavu rovnic tedy vlastně znamená hledat vektor ⃗x, který vyhovuje dané maticové rovnici. Geometricky nahlíženo hledáme vektor ⃗x, který matice A přetváří ve vektor ⃗b. Tím jsme sice dospěli k novému „pohledu“ na řešení soustavy rovnic, ale zatím nám to jakkoli nepomohlo při vlastním řešení. 65 4 Poznámky k lineární algebře inverzní matice gaussova metoda 66