Matematika s programem Maple Jaroslav Urbánek Březen 2013 Obsah 1 Úvod do systému Maple 6 1.1 Systém Maple................................... 6 1.1.1 Standardní zápisník (Standard Worksheet)............... 6 1.1.2 Klasický zápisník (Classic Worksheet).................. 7 1.1.3 Příkazový řádek a kalkulačka Maple................... 8 1.1.4 Document Mode, Worksheet Mode ................... 9 1.1.5 Math Mode, Text Mode......................... 9 1.2 Základní ovládání systému............................ 10 1.2.1 Vyhodnocení příkazů........................... 11 1.2.2 Palety................................... 11 1.2.3 Názvy symbolů.............................. 12 1.3 Nápověda..................................... 13 1.3.1 Tour of Maple, Quick Reference, Quick Help.............. 13 1.3.2 Whaťs New, Startup Dialog....................... 13 1.3.3 Manuals, Resources, and more...................... 14 1.3.4 Pomocníci, instruktoři a řešené úlohy.................. 15 1.3.5 Příkaz ? (otazník)............................. 15 1.4 Provádění výpočtů................................ 16 1.4.1 Příkazy .................................. 17 1.4.2 Označení výsledků............................ 18 1.4.3 Vytváření proměnných.......................... 19 1.4.4 Balíky................................... 20 1.4.5 Řešení rovnic............................... 22 2 Matematická analýza s Maple v IR 27 2.1 Výrazy a jejich úpravy.............................. 27 2.1.1 Zjednodušení výrazu........................... 27 2.1.2 Omezující podmínky........................... 27 2.1.3 Úprava polynomu............................. 28 2.1.4 Převod výrazu na jiný tvar........................ 28 2.2 Funkce jedné proměnné.............................. 33 2.2.1 Definice funkce.............................. 33 2.2.2 Vlastnosti funkcí............................. 35 2.2.3 Inverzní funkce.............................. 38 2.2.4 Složená funkce .............................. 40 2.3 Vykreslení grafu funkce.............................. 40 2.3.1 Vykreslování ............................... 40 2.3.2 Animace.................................. 45 2.4 Limita a spojitost funkce............................. 47 2 2.5 Derivace funkce.................................. 53 2.5.1 Diferenciál................................. 57 2.5.2 Taylorův polynom ............................ 58 2.6 Vyšetření průběhu funkce ............................ 61 2.7 Integrál funkce .................................. 70 2.7.1 Neurčitý integrál............................. 70 2.7.2 Metoda per partes ............................ 71 2.7.3 Substituční metoda............................ 72 2.7.4 Určitý integrál .............................. 74 2.7.5 Aplikace určitého integrálu........................ 78 2.7.6 Nevlastní integrál............................. 88 Matematická analýza s Maple v IRn 92 3.1 Funkce více proměnných............................. 92 3.1.1 Definice funkce více proměnných .................... 92 3.1.2 Vykreslení funkce dvou proměnných................... 92 3.1.3 Definiční obor funkce dvou proměnných................. 94 3.2 Limita a spojitost funkce více proměnných................... 99 3.2.1 Limita funkce............................... 99 3.2.2 Spojitost funkce.............................. 103 3.3 Parciální derivace funkce více proměnných................... 104 3.3.1 Směrové derivace............................. 107 3.3.2 Diferenciál................................. 108 3.3.3 Taylorův polynom ............................ 111 3.4 Extrémy funkce více proměnných........................ 112 3.4.1 Lokální extrémy.............................. 112 3.4.2 Absolutní extrémy ............................ 117 3.5 Vícerozměrný integrál .............................. 121 3.5.1 Geometrická aplikace dvojného integrálu................ 128 3.5.2 Geometrická aplikace trojného integrálu ................ 133 3.5.3 Transformace souřadnic ve dvojném a trojném integrálu ....... 136 3.6 Nekonečné řady.................................. 137 3.6.1 Absolutní konvergence řad........................ 145 Lineární algebra s Maple v Cn. 148 4.1 Vektorové prostory................................ 148 4.1.1 Vektory.................................. 148 4.1.2 Matice................................... 153 4.1.3 Soustavy lineárních rovnic......... ............... 158 4.1.4 Gaussova eliminace............................ 162 4.1.5 Determinant................................ 166 4.2 Lineární zobrazení ................................ 171 4.2.1 Matice lineárního zobrazení....................... 172 4.2.2 Matice přechodu ............................. 176 4.3 Afinní geometrie ................................. 179 4.3.1 Afinní prostory.............................. 179 4.3.2 Afinní zobrazení.............................. 184 4.4 Bilineární a kvadratické formy.......................... 186 4.4.1 Bilineární formy............ .................. 186 4.4.2 Kvadratické formy ............................ 190 3 4.5 Euklidovská geometrie.............................. 193 4.5.1 Skalární součin.............................. 193 4.5.2 Unitární a euklidovské prostory..................... 194 4.5.3 Vzdálenost a odchylka.......................... 198 4.6 Diagonalizace matic................................ 204 4.6.1 Vlastní čísla a vlastní vektory...................... 204 4.6.2 Ortogonální a unitární operátory.................... 208 5 Chyby 212 5.1 Chybové zprávy (Error Messages)........................ 212 5.1.1 Math mode / Text mode......................... 212 5.1.2 Chybné argumenty příkazů........................ 212 5.1.3 Nesprávné použití závorek........................ 214 5.1.4 Nesprávné přiřazení............................ 214 5.1.5 Dělení nulou................................ 215 5.1.6 Nesprávný zápis mocnin......................... 215 5.1.7 Nesprávné použití objektů........................ 215 5.1.8 Nesprávné definice a použití funkcí................... 215 5.1.9 Chyby při vykreslování.......................... 217 5.1.10 Další chybové zprávy........................... 217 5.2 Varování (Warnings)............................... 218 5.3 Ostatní chyby................................... 219 5.3.1 Nenačtení balíku (knihovny)....................... 219 5.3.2 Nesprávné používání některých symbolů................ 219 6 Návody k řešení příkladů 221 6.1 Úvod do systému Maple............................. 221 6.2 Matematická analýza s Maple v M........................ 222 6.3 Matematická analýza s Maple v M"....................... 237 6.4 Lineární algebra s Maple vC".......................... 258 4 Předmluva Učební text Matematika s programem Maple vznikl přepracováním původního díla „Matematická analýza - cvičení s použitím Maple", které vzešlo z řešení projektu FRVS č. 2785/2010, rozšířením o některé nové funkcionality přítomné v později vydaných verzích systému Maple, tj. verzích 15 a 16, a doplněním o kapitolu věnovanou lineární algebře. Současně byly odstraněny některé známé nedostatky předchozího textu. Text ještě není dokončen. Poslední aktualizace: 12. 3. 2013. Nejviditelnější změnou uvedenou v Maple 16 je vylepšení vizualizace. Veškeré grafy vypadají mnohem lépe a profesionálněji. Další novinkou jsou matematické aplikace zvané Math Apps přinášející interaktivní výukové demonstrační dokumenty. Oproti verzi Maple 14 byly také vylepšeny různé pomocné nástroje jako např. InverseTutor pro vykreslení funkce a její inverze do jednoho grafu spolu s osou symetrie. Nakonec ještě uveďme funkcionalitu zvanou Clíckable Math nabízející možnosti úpravy/vy hodnocení/vy kreslení zobrazeného výrazu (rovnice). V matematice je zvykem vynechávat symbol pro násobení, tečku, mezi výrazy, které spolu násobíme. Dostáváme tak např. výrazy 3x, 2%,xy ve skutečnosti představující 3-x,2-ir,x-y. Přestože je současná verze systému Maple již natolik „chytrá" a umí s výrazy tímto způsobem pracovat (tj. vynechávat symbol pro násobení), je při tom třeba velké opatrnosti a především začínajícím uživatelům vynechávání symbolu pro násobení nemůžeme doporučit. Z tohoto důvodu je ve všech příkazech systému Maple i v samotném textu důsledně dodržováno vkládání symbolu pro násobení, byť to někdy působí nezvykle (viz např. 2 • 7r). I přes mnohé kontroly se v textu mohou nacházet chyby. Autor bude vděčný za upozornění na jakoukoli chybu, případně návrh na vylepšení. 5 1 Uvod do systému Maple 1.1 Systém Maple Systém Maple je výkonný program pro řešení jednoduchých i složitějších matematických problémů. S jeho pomocí také můžeme vytvářet dokumenty vysoké kvality, prezentace a interaktivní uživatelské nástroje. Maple patří do skupiny systémů počítačové algebry umožňující jak symbolické, tak numerické výpočty. Systém navíc obsahuje komponenty podporující výuku matematiky. Výrobcem systému je kanadská společnost Maplesoft Inc., jejíž webové stránky1 poskytují široké informace o systému a jeho dalších příbuzných programech jako je MapleSim, MapleNet, Maple T.A. a mnoho dalších nástrojů a programů. Webové stránky mimo jiné obsahují tzv. Aplikační centrum2 (Application Center), z nějž si může každý zaregistrovaný uživatel stáhnout ukázkové programy demonstrující použití systému Maple při řešení mnoha různých matematických i technických problémů. Poskytují i tzv. Studentské centrum3 (Student Help Center), kde si zaregistrovaný student může stáhnout mnoho studijních materiálů. Dalšími významnými zdroji informací o Maple jsou diskuzní fórum uživatelů Maple4 a web distributora Maple pro Českou a Slovenskou republiku5, kde je většina dokumentů v českém jazyce [6], [10]. Systém Maple je vyvíjen od roku 1980, v němž se objevila jeho první limitovaná verze. V roce 2005 byla uvedena verze Maple 10 s novým grafickým uživatelským rozhraním zvaným Standard Worksheet a tzv. dokumentovým režimem (Document mode). Díky nim se ovládání systému Maple stalo výrazně jednodušším. V současné době vzniká každý rok nová verze, v době psaní této inovované a rozšířené verze původního textu byla na trhu nej novější verze Maple 16. Budeme proto prezentovat možnosti právě zmíněné nejnovější verze systému, nicméně naprostá většina příkazů a funkcí, jež budeme používat, jev Maple dostupná již od dřívějších verzí systému (zejména od přelomové desáté verze). Se systémem je možné pracovat několika různými způsoby, které volíme při spuštění programu ze startovacího menu počítače nebo kliknutím na příslušnou ikonu na ploše. Maple je k dispozici pro různé operační systémy. V následujícím textu popíšeme, jak program spouštíme v nej rozšířenějším operačním systému Windows. 1.1.1 Standardní zápisník (Standard Worksheet) Grafické uživatelské rozhraní Maple zvané Standard Worksheet se spustí ze startovacího menu počítače výběrem položky Programy > Maple 16 > Maple 16 nebo kliknutím na ikonu Maple 16 na ploše. Toto prostředí poskytuje veškeré možnosti systému Maple ^ttp://www.maplesoft.com 2 http: / / maplesoft. com / applicat ions / index. aspx 3 http: / / maplesoft. com / studentcenter / index. aspx 4http://www.mapleprimes.com 5http://www.maplesoft.cz 6 a pomáhá vytvářet elektronické dokumenty (zápisníky) zobrazující matematické výpočty, texty a komentáře spolu s propracovanou počítačovou grafikou. Některé je možné v zápisníku „schovat" a nechat „odkryté" jen nejdůležitější pasáže tak, aby dokument poskytoval uživateli potřebné informace. Jelikož jsou vytvořené dokumenty interaktivní, tj. v jistém smyslu „živé", může si uživatel sám upravovat předdefinované hodnoty parametrů, vyhodnocovat příkazy, a získávat tak nové výsledky. Menu zápisníku Maple má tři vodorovné lišty: hlavni menu (Menu Bar, zcela nahoře), nástrojovou líštu (Toolbar, pod hlavním menu) a kontextovou líštu (Context Bar, pod nástrojovou lištou). Zápisník dále obsahuje palety (Palettes, svislý blok na levé straně6), vlastní pracovní pole - dokument (Document), do nějž zadáváme příkazy, texty, provádíme výpočtové a grafické akce, a stavovou líštu (Status Bar, zcela dole). Vlastní pracovní pole je možné zobrazit přes celou obrazovku skrytím palet a všech lišt (kromě hlavního menu) kliknutím na příslušné položky v záložce View hlavního menu. j Untitled (2)* - [Server 3] - Maple 16 File Edit View Insert Format Table Drawing Plot Spreadsheet Tools Window Help t> <ŕ t [=• x ei m *• .'//.' o jä H i NÁSTROJOVÁ LIŠTA I ■ Favorites , ► MapleCloud (Off) I ^ Live Data Plots I ■ Variables T Handwriting '■471 Input Windc , y Expre: I ► Units (SI) Drawing Plot Animation ( C 2D Malh ^) (j\mes New Roman ^12 ^) B ["Ž] U KONTEXTOVÁ LISTA DOKUMENT t Ready SIAVOVA LISTA ^^ragram Files'flaple l^^emorj^0^^me^^5sja^^e Obrázek 1.1: Mapfe 16: Prostředí Standard Worksheet. 1.1.2 Klasický zápisník (Classic Worksheet) U 32bitových operačních systémů jek dispozici též tzv. Classic Worksheet, který se spustí ze startovacího menu počítače výběrem položky Programy > Maple 16 > Classic Worksheet Maple 16 nebo kliknutím na ikonu Classic Worksheet Maple 16 na ploše. Tento zápisník Maple je určen především pro méně výkonné počítače s omezenou pamětí. Neposkytuje také všechny funkce, příkazy a možnosti systému Maple jako Standard Worksheet [6]. 6Palety se automaticky zobrazují v levém bloku. Prostředí systému nabízí blok pro palety i po pravé straně obrazovky (automaticky zavřený), kam je možné některé (ale i všechny) přesunout. 7 ^ File Edit View Insert Format Spreadsheet Window Help |D|is|*|y|d§|| MSä||t>| ||z|T|[>|h7|Ťi||H-ll« IKKKIIill-M hl Hi. příklad > (xA2-5*x+6)* simplify<%), ;i2-5i + 6)(i2- l) (i-i)d-!) >-3)(i + l) 2. příklad > Sum(l/nA2, n = 1 .. infinity)=sum(l/nA2, n = 1 .. infinity); 3. příklad > plot(sin(x), x — -5 5); -V 1-0.5- -i ^ -2 ■ '°l 2 Time: 0.1s Bytes: 7ESK Available: 1.31G Obrázek 1.2: Prostředí Classic Worksheet v Maple 14 (převzato z [6]). 1.1.3 Příkazový řádek a kalkulačka Maple Se systémem Maple můžeme pracovat i pouze v režimu tzv. příkazového řádku spustitelného ze startovacího menu počítače výběrem položky Programy > Maple 16 > Command-line Maple 16. Příkazový řádek je určen k řešení rozsáhlých a složitých úloh. K dispozici přitom nejsou žádné grafické prvky. Ěl C:\ProgramData\Microsoft\Wifidows\StartWenu\Program5\Maple lť>\Gommand-line Maple lťj.lnľ iWi Maple 16 Maplesoft, a division of Waterloo Maple Inc- 2012 S MAPLE / fill rights reserved. Maple is a trademark of <_ _> Waterloo Maple Inc. ! Type ? for help. ľ Obrázek 1.3: Maple 16: Příkazový řádek. Dále je možné používat (a vytvářet) tzv. maplety, tj. grafická uživatelská rozhraní obsahující okénka, textová pole a další vizuální prvky umožňující pouhým klikáním spouštět výpočty. Kalkulačka systému Maple je speciální typ mapletu, který je k dispozici pouze 8 pro operační systémy Windows. Spouští se ze startovacího menu počítače, kde se vybere Programy > Maple 16 > Maple Calculator [6]. 1.1.4 Document Mode, Worksheet Mode Dále se budeme věnovat pouze rozšířenému prostředí Standard Worksheet. V tomto prostředí je možné pracovat ve dvou základních režimech: Worksheet Mode a Document Mode. Prvně jmenovaný odpovídá prostředí Classíc Worksheet, v němž je každý příkaz Maple uvozen symbolem [ a musí být ukončen středníkem (výsledek se zobrazí na dalším řádku uprostřed) nebo dvojtečkou (výsledek se nezobrazí). Otevírá se v hlavním menu zvolením File > New > Worksheet mode. Document Mode poskytuje přehlednější zápis příkazů a matematických vzorců bez „přebytečných" symbolů. Při otevření nového souboru z nástrojové lišty je automaticky spuštěn právě tento režim, jinak je možné jej též otevřít z hlavního menu v položce File > New. Obvykle je zápisník nastaven do jednoho režimu7, který je možné zvolit při otevírání nového souboru v hlavním menu (File > New > ...). Existuje však i možnost přepínat mezi režimy v rámci jednoho zápisníku, kdy je část vytvořena v jednom režimu, část v jiném. Z Document Mode se přepneme do Worksheet Mode kliknutím na ikonku [> v nástrojové liště. Naopak z Worksheet Mode se do režimu Document Mode přepneme výběrem položky v hlavním menu (Formát > Create Document block) [6]. Zápis v režimu Document Mode Zápis v režimu Worksheet Mode Tento text jev režimu Text Mode. Stiskem klávesy Enter jsme se dostali na další řádek. Tento text je též v režimu Text Mode. Na následujícím řádku se přepneme do režimu Math Mode. Tento text je v režimu Math Mode. přikaž příkaz nějaký text > přikaž nějaký text přikaž 256-125 > příkaz; 32000 přikaž solve (x2 — 7 x + 12 = 0 ) ~> 256-125 4,3 32000 > 256*125,- 32000 Obrázek 1.4-' Režimy zápisu (převzato z [6]). 1.1.5 Math Mode, Text Mode Pro rozlišení příkazů a obyčejného textu slouží kontextová lišta zápisníku, kde máme na výběr Text Mode a Math Mode. Math Mode odpovídá příkazům (po stisku klávesy Enter dojde k vyhodnocení), v Text Mode píšeme texty dokumentu podobně jako např. v textovém editoru (po stisku klávesy Enter přejdeme na nový řádek bez jakéhokoli vyhodnocení). Volit režim zápisu můžeme buď kliknutím myši (v kontextové liště nad dokumentem jsou uvedeny 7Ten zpravidla volíme při prvním spuštění po instalaci systému nebo jej můžeme následně nastavit v hlavním menu: Tools > Options... > Interface. 9 názvy představující jednotlivé možnosti) nebo výběrem položky v hlavním menu (Edit > Switch to Text/Math Mode). Totéž lze rychleji provést klávesou F5. V režimu Worksheet Mode lze pro text i pro příkazy použít oba druhy zápisu. Pro psaní textu je nutné kliknout na ikonku T v nástrojové liště nebo zvolit položku v hlavním menu (Insert > Text). Podobně pro zápis příkazů jazyka Maple je nutné kliknout na ikonku [> v nástrojové liště nebo zvolit položku v hlavním menu (Insert > Maple Input). Při otevření nového souboru je zápisník automaticky nastaven na psaní příkazů. K příkazům máme dále možnost zapisovat komentáře uvedením symbolu mřížky (#) před text, který má být komentářem (viz obrázek 1.5) [6]. 256-125 # nějaký komentář 32000 > 256*125; # nějaký komentář 32000 [> Obrázek 1.5: Zápis komentáře v příkazovém režimu (převzato z [6]). 1.2 Základní ovládání systému Již víme, jak spustit systém Maple a jak zvolit pracovní prostředí, které chceme. Otevřít již vytvořený program můžeme z hlavního menu (File > Open...) nebo spuštěním programu rovnou z operačního systému (prostřednictvím nějakého souborového manažeru). Když chceme vytvořený dokument uložit, zvolíme položku File > Save (resp. File > Save As...) v hlavním menu systému Maple. Dokumenty prostředí Standard Worksheet mají příponu mw, dokumenty prostředí Classíc Worksheet příponu mws. V prostředí Standard Worksheet je možné otevřít oba typy souborů, v prostředí Classíc Worksheet pouze typ mws. Maple poskytuje také možnost exportovat dokumenty jako soubory jiných typů. Podporovány jsou typy: HTML, PDF, LaTeX, Maple Input, Maplet, Maple Text, Plain Text, Maple T.A. a Rích Text Formát. Pro export dokumentu vybereme položku Export As... ze záložky File v hlavním menu. Nyní si ukážeme, jak v Document Mode zadávat jednoduché příkazy. Budeme proto předpokládat, že zápisník je již nastaven pro psaní příkazů {Math Mode). Základní operace: pro sčítání používáme symbol plus (+), pro odčítání mínus (-), pro násobení (*), ale pozor, pro dělení musíme používat pouze lomítko (/), dvojtečka (:) má jiný význam (viz dále). Zadání zlomku: zadáme čitatel, lomítko (/) a jmenovatel. Pro opuštění zápisu jmenovatele stačí stisknout šipku doprava (ve zlomku je též možno pohybovat se šipkami). Zadání mocniny: zadáme základ, symbol stříška (~) a exponent. Pro opuštění zápisu exponentu je opět možné použít šipku doprava. 10 1.2.1 Vyhodnocení příkazů f Favorites ► MapleCloud Příkaz vyhodnotíme stiskem klávesy Enter. Výsledek se zobrazí na dalším řádku uprostřed. V dřívějších verzích (méně než 10) systému Maple bylo nutné příkaz ukončovat středníkem, aby se provedl. Tato možnost nadále zůstala (tj. zadáme-li za příkaz středník, „nic nepokazíme") a v některých situacích je dokonce jediná možná - např. textový režim (Text Mode) příkazů v Worksheet Mode nebo při psaní příkazů v prostředí Classíc Worksheet. Z předešlých verzí Maple se uchovala i funkcionalita symbolu dvojtečka (:), která po zařazení za příkaz a následného stisku klávesy Enter potlačí zobrazení výsledku na dalším řádku (tj. příkaz se vyhodnotí, ale na obrazovku se nic nevypíše). Proto není možné dvojtečku používat jako operátor dělení. V Document Mode je navíc možné zapisovat příkaz i s výsledkem na jeden řádek. Po napsání příkazu k tomu stačí namísto stisku klávesy Enter použít klávesovou zkratku „Ctrl + =". Jak bylo zmíněno dříve, interaktivní dokumenty v Maple jsou „živé". Tím máme na mysli skutečnost, že i v dříve vytvořeném dokumentu s vyhodnocenými příkazy otevřeném po libovolně dlouhé době můžeme kterýkoli výraz upravit, znovu vyhodnotit (stisknout Enter nebo „Ctrl + =") a dostaneme nový výsledek. Označíme-li myší několik (libovolně mnoho) příkazů a stiskneme ikonku ! (vykřičník) z nástrojové lišty, všechny označené příkazy budou postupně vyhodnoceny. K vyhodnocení všech příkazů v dokumentu slouží ikonka !!! (tři vykřičníky). Maple obsahuje více než tisíc symbolů, pomocí nichž můžeme tvořit matematické výrazy a typograficky kvalitní text. Patří mezi ně písmena a číslice, jimiž vytváříme jména (posloupnost znaků začínající písmenem, za kterým může následovat kombinace písmen, čísel a vybraných symbolů), reálná čísla (celá, racionální, iracionální, s desetinou tečkou nebo v notaci pohyblivé řádové čárky), komplexní čísla, aritmetické, booleovské a jiné operátory (+, -, !, /, *,J , lim, ... ), konstanty (tt, e, ...), imaginární jednotku, nekonečno, matematické funkce (cos(x), sm(|), ... ) a proměnné (pojmenované jménem ...). Velkou předností systému Maple je jeho schopnost symbolických matematických výpočtů. Některé z matematických symbolů, které můžeme použít, nejsou na klávesnici, a tak se zadávají buď z palety nebo pomocí svých názvů [6]. 1.2.2 Palety ►Unit5(5I) 1 ►Unit5(FP5) 1 Palety jsou pojmenované „obdélníčky" s nabídkou předdefinovaných symbolů, zápisů, výrazů apod. (obrázek 1.6), zpravidla při levém okraji zápisníku. Každá paleta obsahuje symboly příslušné skupiny. Například paleta s názvem Expression nabízí některé základní matematické výrazy, paleta Greek písmena řecké abecedy atd. Standardně zůstává několik palet nezobrazených. V hlavním menu (View > Palettes) můžeme seznam zobrazených palet upravit tím, že některé přidáme, odebereme, ale třeba i jinak seřadíme. Totéž lze provést jen za pomoci myši. Přidržením levého tlačítka vybranou paletu přesuneme na jiné místo, stisknutím pravého tlačítka vyvoláme stejnou nabídku, jako bychom postupovali přes hlavní menu. Kliknutí levého tlačítka myši na některou z palet zobrazí (příp. skryje) symboly, které paleta nabízí. Vložit z palety symbol ► Handwriting T Expression J/dr \fdx 2J 1-i a Uf 3 ax Hl a + b a-b ab J % a. 77 sin(ii] cos(a) um 1 (J) f(á] f{a,b) /;= a -»v -x xa ► Common Symbols ► Matrix ► Components ► Greek Obrázek 1.6: Palety. 11 do zápisníku pak stačí pouhým kliknutím, případně „přetáhnutím" s pomocí levého tlačítka myši. Obecné barevně zvýrazněné symboly ve výrazu je možné dále specifikovat (upravovat) dosazením hodnoty, s níž potřebujeme pracovat [6]. 10 Příklad 1.1: Vložte do dokumentu výraz ^2 2* i=l Řešeni: Pro zapsání zadaného výrazu potřebujeme celkem dva různé symboly: sumu a mocninu. Sumační symbol nalezneme v paletě Expression. Kliknutím na tuto paletu ji otevřeme (na obrázku 1.6 je jako jediná otevřená) a vybereme z ní přítomný sumační symbol. Po jeho vložení do zápisníku pak jednoduše přepíšeme obecné symboly (k, na/) požadovanými hodnotami. Pohybovat ve vzorci se můžeme pomocí šipek na klávesnici, s výhodou lze využít klávesy Tab, přitom k úpravě výrazu můžeme používat i všechny ostatní klávesy jako např. Delete, Backspace, mezerník, ... Znak / přepíšeme mocninným výrazem. To můžeme provést buď vložením dalšího symbolu z palety Expression (symbol ab) a následnou úpravou (specifikací hodnot a, b), nebo užitím již známé klávesy pro tvorbu mocnin - stříšky (~). Příklad 1.2: Vložte do dokumentu výraz ^2 \. Příklad 1.3: Vložte do dokumentu výraz 32^-64^ 17-24 Příklad 1.4: Vložte do dokumentu výraz ln(e5)!-sin(^)-3-13 ^log2(16)-l 1.2.3 Názvy symbolů Mimo palet můžeme k zápisu symbolů užívat jejich názvů. Například symbol rr vložíme zapsáním jeho názvu Pi8, pro odmocninu je vyhrazen název sqrt, takže y/x vložíme napsáním sqrt(x). Při vkládání symbolů pomocí názvů nebo při tvorbě příkazů se může hodit funkce „dokončování". Pro zadání symbolu pak stačí napsat jeho úvodní písmeno (písmena) a pomocí klávesy Esc nebo kláves „Ctrl + mezerník" následně z vyskakovacího okénka zvolit požadovaný příkaz. Na obrázku 1.7 je ukázka nabídky pro dokončení zápisu písmen so [6]. Příklad 1.5: Vložte do dokumentu výraz 32j-642 17-24 bez použití palet. Řešení: Pro absolutní hodnotu z požadovaného výrazu použijeme příkaz abs, při zadávání mocnin využijeme symbolu stříšky (~). Výsledný zápis zadaného výrazu tedy bude: abs((32-3-64"2)/(17*2-4)). Příklad 1.6: Vložte do dokumentu výraz , /žn(e )-&™( 2 ) 3 13 ^ez pOU2Jtí palet. A/ y/log2(16)-l 8Maple rozlišuje malá a velká písmena. Například zápis Pi představuje Ludolfovo číslo ir i s jeho hodnotou, zatímco zápis pi představuje pouze symbol (řecké písmeno) tt. 12 r-1 so sol 1 solve solve solve solve [eqn) solve solve[eqn, x) solve (system) so!ve[ [eqnl, eqn2,... \ {xi, x2,... >) solve_group (DETools) (symmetry generator and variables) DE Tools 1 solve group\[ {list], [x,y]} solvefor solvefor sort sort sort (list) sort[Uší] sort (with ordering function) sort[istJ)z\ i >r Obrázek 1.7: Funkce automatického dokončování (převzato z [6]). 1.3 Nápověda Významnou součástí systému Maple je jeho nápověda. K dispozici je několik různých typů nápovědy, které nejlépe najdeme v hlavním menu v nabídce Help. Základní stránky nápovědy zobrazíme výběrem položky Maple Help9. Vyhledávat v nápovědě můžeme buď zadáním hledaného textu do textového pole v levé horní části okna (na obrázku 1.8 je v tomto poli zapsán text abs), nebo tematickým vyhledáváním v připravené stromové struktuře témat v levé části okna (na obrázku 1.8 je rozbalena Matematika a v ní téma Calculus, tedy Matematická analýza). Odkliknutím zadaného slova abs v textovém vyhledávacím poli nápovědy zobrazíme v hlavní části okna nápovědu právě k příkazu abs. Jak můžeme vidět na obrázku 1.8, nápověda obsahuje základní popis příkazu, obecný zápis příkazu pro jeho použití a konkrétní ukázkové příklady. 1.3.1 Tour of Maple, Quick Reference, Quick Help Nabídka Help hlavního menu poskytuje ještě několik jiných forem nápovědy. Položka Take a Tour of Maple zobrazí interaktivní přehled systému (jeho nej důležitějších prvků). Kliknutí na Quick Reference otevře tabulku informací o ovládání systému Maple, zejména pro nové uživatele. Jedná se o základní informace s odkazy do nápovědy Maple Help pro jejich případné doplnění. Položka Quick Help nabízí ještě stručnější tabulku než předchozí nápověda. Standardně se objevuje v každém novém zápisníku při pravé straně v podobě černého okénka (pokud toto nastavení nezrušíme). Po zavření je možné ji vyvolat stiskem klávesy Fl, či jako položku v hlavním menu [6]. 1.3.2 What's New, Startup Dialog Dalšími druhy nápovědy jsou přehled rozšíření stávající verze Maple oproti předcházející verzi (dostupné přes Help > What's New) a tzv. Startup Dialog obsahující tipy pro práci se systémem Maple. Startup Dialog se zobrazuje vždy po spuštění systému (pokud toto nastavení nezrušíme) [6]. 9Pro vyvolání této nápovědy můžeme také použít klávesovou zkratku „Ctrl + Fl", nebo poslední ikonku nástrojové lišty. 13 I^Maple 14 Help - [abs] search For: ť* Topic C Text :ents Getting Started What's New Create Maple Worksheets Share Maple Worksheets Customize the Maple Window Customize the Maple System Toolboxes Jj Connectivity ^ Mathematics El- Algebra El- Basic Mathematics El- JJ Calculus 0 ■ Continuity Testing Differential Calculus !.....0 Implicitdiff EJ-|^. Integration Ö-Jjl Limits 0-Jj Transforms EJ- Calculus of Variations + Conversions EJ- Differential Equations EJ- Differential-algebraic Equations EJ- . Differential Geometry EJ- Discrete Mathematics S- Evaluation ED Factorization and Solving Equations ED- Financial Functions FunctionAdvisor Fuzzy Sets General Information Geometry \2J Graphing Calculator - The absolute value function Y Calling Sequence abs(ri, x) Y Parameters ; - expression or rtable i - positive integer Y Description ■ The abs function returns the absolute value of the expressions. ■ You can enter the command abs using either the 1-D or 2-D calling sequence. For example, abs(-ll)is equivalent to ■ [fx is an rtab'.e (Array. Matrix, or Vector), the absfunction applies the absfunction to each entry in the table, and returns the resulting rtable. ■ [fx includes a function!, "then abs will attempt to execute the procedure abs/f to determine the absolute value of the corresponding partofx. Theuser can thus easily extend the functionality of abs. ■ The derivative of absis denoted by abs(l, x). This is sisnumix') for all non-0 real numbers, and is undefined otherwise. Neither first order nor higher order derivatives of abs can be determined if x is an rtable. ■ Higher order derivatives of abs are denoted by abs(n, x)^ where n is a positive integer. When u is known, the expression is automatically simplified to the appropriate expression in a derivative of either signum or abs Y Examples > l-iil (4.1) Obrázek 1.8: Hlavní nápověda systému Maple. 1.3.3 Manuals, Resources, and more Vyvoláním Manuals, Resources, and more přejdeme do další oblasti nápovědy, z níž popíšeme tři nejdůležitější části. Maple Portal Od verze Maple 13 je k dispozici tzv. Maple Portal. Spustit jej můžeme samostatně {Maple Portal má vlastní ikonu na ploše) nebo přes nápovědu v hlavním menu (Help > Manuals, Resources, and more > Maple Portal). Maple Portal slouží jako pomocník novým i zkušenějším uživatelům hledajících pokročilejší nápovědu. Je v něm možné rychle najít detailní popis práce se systémem Maple od řešení nejjednodušších problémů až po velmi složité úlohy [6]. Applications and Examples Z nápovědy je možno vyvolat i spustitelné soubory (tj. již vytvořené dokumenty) demonstrující možnosti systému Maple. Otevřeme je přes nápovědu v hlavním menu (Help > Manuals, Resources, and more > Applications and Examples) a pak kliknutím na zvolený příklad [6]. Manuals Dále je je možné vyvolat anglické manuály User manual, Introductory Programming Guide, Advanced Programming Guide a Getting Started with Maple Toolboxes podrobně popisující možnosti systému Maple. Otevřeme je přes nápovědu v hlavním menu 14 Maple Portal 1 The Maple Portal is designed as a starting place for any Maple user. Maple's Tutorials will help you get started with Maple, learn about the key tools available in Maple, and lead you through a series of problems From here, investigate more detailed topics in the Portals for Engineers, Students, and Math Educators. I Tutorials: Getting Started with Maple nately 5-10 minutes to Talking to Maple Putting Your Ideas Together Commands and Packages Plotting Working with Matrices Data Structures Data Manipulation Word Processing Tools Dynamic Applications How to Get Started Entering Math Combining Text and Math Solving Equations ExpressionSj Functions, and Procedures Using Top Commands and Packages Getting Help 2-D and 3-D Plots Using the Plot Builder Assistant Creating Matrices and Vectors including lists and Arrays Importing and Exporting Data Random Distributions Statistics, Regression, and Curve Fitting Sections and Tables Document Enhancements Exploration Assistant Expression Plotting Interactive Circle Plotting More Examples Working with Units Customizing Unit Settings How do I... enter a function? evaluate an expression? plot a function? Tools and Features . Learn more about Maple's tools and feaL sensitive menus Palettes I .■■ 11 ■ Command Completion Equation Labels . Assistants res, such as palettes and context- Maple Help Plotting Guide Applications . Example Worksheets Manuals . Portals for.., Engineers Math Educators Memory: - Time: - Text Mode Obrázek 1.9: Maple Portal (převzato z [6]). (Help > Manuals, Resources, and more > Manuals) a pak kliknutím na zvolený manuál [6]. 1.3.4 Pomocníci, instruktoři a řešené úlohy Systém Maple poskytuje také již připravené „pomocné nástroje" pro řešení úloh. Jsou to tzv. Pomocníci (Assístants), Instruktoři (Tutors) a Úlohy (Tasks), které vyvoláme z hlavního menu (Tools > Assistants nebo Tools > Tutors anebo Tools > Tasks). Pomocnicí (As-sístants) obsahují například nástroje pro hledání funkční závislosti v datech, optimalizaci funkcí, řešení diferenciálních rovnic a další. Pro daný typ úlohy mají implementováno několik často používaných algoritmů. Po vyvolání provedou uživatele nastavením a specifikací parametrů úlohy a zvolenou metodou úlohu vyřeší. Instruktoři (Tutors) provedou uživatele řešenou problematikou pomocí jednoduchých názorných příkladů. Úlohy (Tasks) zobrazují na příkladech, jak řešit různé úlohy. Zobrazí se vyvoláním z hlavního menu (Tools > Tasks > Browse) [6]. Od verze Maple 16 najdeme v záložce Tools hlavního menu také výukové demonstrační dokumenty pod názvem Math Apps. Tyto matematické aplikace byly vytvořeny ke znázornění různých matematických a fyzikálních konceptů. Každý z dokumentů obsahuje stručný popis příslušného konceptu a některé interaktivní prvky jako např. tlačítka, posuvníky, „klikatelné" grafy apod. 1.3.5 Příkaz ? (otazník) Symbol ? (otazník) je dalším ze způsobů zobrazení nápovědy. Zapsáním a provedením příkazu ? otevřeme hlavní stránku nápovědy. Otazník spolu s názvem příkazu otevře nápovědu na stránce týkající se zadaného příkazu. Tedy např. příkaz ?evalf otevře hlavní nápovědu 15 systému na stránce popisující syntaxi a sémantiku příkazu evalf spolu s příklady jeho použití. Zapsáním dvou otazníků na začátek příkazu otevřeme tutéž stránku nápovědy ve „sbaleném" tvaru osnovy, v níž je možné otevřít (odkrýt) libovolné části. Zadáním tří otazníků před příkaz otevřeme nápovědu na příkladech použití tohoto příkazu [6]. Otevřít nápovědu na stránce zadaného příkazu (resp. klíčového slova) můžeme též stisknutím klávesy F2 (za přítomnosti kurzoru na klíčovém slově). Příklad 1.7: Zjistěte, k čemu slouží příkaz sum a jak se používá. Příklad 1.8: Zjistěte, jak je možné v systému Maple pracovat s vektory a maticemi. 1.4 Provádění výpočtů Maple provádí přesně numerické výpočty s celými, racionálními i iracionálními čísly. Každý zadaný matematický výraz se snaží zjednodušit (např. zlomek zkrátit a převést na základní tvar, upravit algebraický výraz, ...), ale ne za cenu ztráty přesnosti. To znamená, že například racionální čísla (zlomky) udržuje stále v jejich základním tvaru. Podobně s konstantami 7r, e a dalšími, s odmocninami a jinými výrazy pracuje jako se symboly. Tímto je zaručena absolutní přesnost výpočtů i v případě, kdy nepracujeme pouze s celými čísly [6]. Jsou však situace, kdy potřebujeme znát přibližnou hodnotu reálného nebo racionálního čísla v pohyblivé řádové čárce. K tomu slouží příkaz evalf, jenž vrátí zaokrouhlenou hodnotu svého argumentu na počet platných cifer mantisy specifikovaný systémovou proměnnou Digits. Ta je standardně nastavena na hodnotu 10. Všechny výpočty, při nichž je nutné zaokrouhlovat čísla, provádí proto Maple s přesností na 10 platných míst. Proměnnou Digits můžeme nastavit na takřka libovolné přirozené číslo. Omezení, jak vysoké toto číslo může být, zjistíme příkazem kernelopts (maxdigits). Pro představu uveďme, že pro Maple 16 je toto číslo 38 654 705 646, tedy více než 38 miliard platných cifer, s kterými dokáže systém „teoreticky"10 počítat [6]. Pi = jr evalf {Vi, 5) =3.1416 Digits = 10 ťřvai/[5](Fí) =3.1416 evalf {Fi) evai/(H,20) = 3.1415926535897932385 3.141592654 evaí/[20](Pi) = 3.1415926535897932385 Obrázek 1.10: Příkaz evalf. Aniž bychom měnili nastavení proměnné Digits, můžeme zobrazit libovolný výraz s požadovanou přesností pouze pomocí příkazu evalf. Příkaz je možné použít s jedním nebo dvěma parametry. Jediný zadaný parametr znamená, že tento zadaný výraz bude vyhodnocen na počet platných míst specifikovaný v proměnné Digits. Druhý parametr, který řekne funkci evalf, na kolik platných míst má výraz vyhodnotit, lze buď přidat do kulatých závorek za vyhodnocovaný výraz, nebo do hranatých závorek umístěných před kulatými - viz obrázek 1.10. Maple rozeznává přesná čísla (mezi něž patří i zmíněné symboly 7r a e, zlomky atp.) a čísla typu Floatíng-Point, nebo-li čísla v pohyblivé řádové čárce. Jestliže systému zadáme 10Výpočet se s rostoucím počtem platných míst prodlužuje a je paměťově náročnější, což způsobuje praktickou nepoužitelnost pro vyšší počet (závislý na typu úlohy) cifer. 16 výraz, v němž některý z jeho podvýrazů bude typu Floatíng-Point, může Maple na celý výraz pohlížet jako by byl tohoto typu a bude výsledky výpočtů zaokrouhlovat. To nejlépe uvidíme na dalších příkladech na obrázku 1.11 [6]. y + y = , ale y + 1.5 = 2.166666667 JY + jY=^Y + jY, ale JY0~ + V Y= 1.414213562 + V Y Obrázek 1.11: Přesná čísla a čísla typu Floating-Point (převzato z [6]). 1.4.1 Příkazy Pro provedení výpočtu máme zpravidla více možností. Tou základní, která je k dispozici ve všech verzích systému, jsou příkazy jazyka Maple. Chceme-li například vypočítat odmocninu z čísla 2,5, zapíšeme v systému Maple příkaz sqrt(2.5). Stejného výsledku dosáhneme použitím symbolu pro odmocninu z palety Expression. Pokud chceme určit nejmenší společný násobek čísel 10, 12 a 15, můžeme využít příkazu lem nebo zapsat čísla na řádek za sebe (oddělená čárkami) a přes pravé tlačítko myši zvolit z kontextové nabídky Apply Function > Least Common Multiple, viz obrázky 1.12, 1.13 [6]. Ctrl+X Ctrl+C Ctrl+V Evaluate Evaluate and Display Inline Ctrl+= Explore Apply Function Apply a Command Dot Product Map Command Onto Select Element Simplify : Constructions Conversions Plots 2-D Math Table Greatest Common Divisor Least Common Multiple Obrázek 1.12: Provedení výpočtu pomocí kontextové nabídky (převzato z [6]). Příklad 1.9: Zobrazte číslo n s přesností na pět desetinných míst. Řešeni: Pro zobrazení přibližné (zaokrouhlené) hodnoty s požadovanou přesností využíváme příkazu evalf. Funkci evalf dáme jako první argument výraz, jehož přibližnou hodnotu chceme určit (tj. 7r). Druhý argument bude specifikovat počet platných míst. Jelikož chceme, 17 aby počet desetinných míst byl roven pěti, počet platných míst nastavíme na 6. Získáme tak výsledek na obrázku 1.14. sqrt(2.5) = 1.581138830 V2T= 1.581138830 lem (10, 12, 15) =60 Obrázek 1.13: Různé možnosti provedení výpočtu (převzato z [6]). evatf{%, 6) = 3.14159 Obrázek 1.14-' Řešení příkladu 1.9. Příklad 1.10: Zobrazte Eulerovo číslo s přesností na dvě desetinná místa. Příklad 1.11: Vypočítejte, kolik je 1 — 3^0 — 3^0 — Mr Pr°č není výsledek roven 0? 1.4.2 Označení výsledků Každému zobrazenému výsledku se v zápisníku přiřazuje číselné označení, které se zapisuje zcela vpravo na řádek s odpovídajícím výsledkem. Označení je možné potlačit (tj. nezobrazovat), znovu vyvolat, případně upravit jeho formát v hlavním menu (Formát > Equation Labels > ...). Díky označení se můžeme na předešlé výsledky odvolávat a používat je při tvorbě dalších příkazů. V ukázkách vytvořených dokumentů (prezentovaných v tomto textu) je označení výsledků vždy potlačeno. Použití označení ilustruje obrázek 1.15. 16 3 (1) 8-3 24 (2) 5 - ji 5 - Ji (3) 10 + (2) 34 (4) Obrázek 1.15: Označení výsledků (převzato z [6]). Pokud chceme například přičíst číslo 10 k výsledku s označením (2), pak napíšeme „10 + " a přes klávesovou zkratku „Ctrl + L" vložíme požadované označení (tedy do „vyskakujícího okénka" zadáme číslo 2 a potvrdíme (OK)). Místo klávesové zkratky „Ctrl + L" 18 je možné použít horní menu (Insert > Label. . .). Pozor, zápis (2) vytvořený (pouze) na klávesnici při tvorbě příkazu Maple nepochopí, pro vložení označení do příkazu je třeba důsledně používat předešlý postup s „vyskakujícím okénkem" zobrazeným na obrázku 1.16 [6]. Insert Label Type: Equation Identifier: |" OK Cancel Obrázek 1.16: „Vyskakující okénko" pro zadání označení (převzato z Maple dále nabízí možnost odkazovat se na poslední tři výsledky (v tomto případě je jedno, zda byly zobrazeny či nikoliv, a zda mají nějaké označení) pomocí symbolu °/0 (procento). Jedno procento (%) představuje poslední výsledek, dvě procenta (°/0°/0) předposlední a tři procenta (°/o°/0°/0) před-předposlední. Upozorněme, že výsledek získaný těmito příkazy závisí na pořadí vykonaných příkazů, ne na jejich umístění v zápisníku! Tedy např. °/0 vypíše poslední výsledek získaný předchozím (časově) vykonaným příkazem (obrázek 1.17). T + 5 17 3 8-3 24 5 - ji 5 - ji %, %%, %%% 5 - ji, 24, 17 3 Obrázek 1.17: Využití procent při odkazování se na předchozí výsledky (převzato z [6]). 1.4.3 Vytváření proměnných Odkazovat se na výrazy můžeme také po jejich přiřazení k nějaké proměnné. Operátorem přiřazení je (dvoj)symbol := (dvojtečka + rovnítko). Namísto (dvoj)symbolu := můžeme k přiřazení použít příkaz assign. Tak, jak můžeme výrazy do proměnných přiřazovat, můžeme též přiřazení rušit (tj. odebrat proměnné uloženou hodnotu). Zmíněné provedeme příkazem unassign nebo přiřazením názvu proměnné v apostrofech (obrázek 1.18). Přiřazovat hodnoty můžeme i do tzv. systémových proměnných. Již jsme se setkali s proměnnou Digits vyjadřující počet platných míst, s nimiž Maple počítá. Ilustraci na obrázku 1.19 můžeme srovnat s obrázkem 1.10. Odstranit uloženou hodnotu v systémové proměnné nelze. Do systémových proměnných můžeme hodnoty pouze přiřazovat, nebo vrátit příkazem restart nastavení všech systémových 19 a c a c a ~ 2 assign (c, 2) 2 c a 2 2 unassign[ 'c') c b c b a b ■= 3 - a 2 6 a :='a' b a 6 a a Obrázek 1.18: Přiřazení hodnot do proměnných a odstranění uložené hodnoty (převzato z [6]). Pi K Digits 10 evalf(Pi) 3.141592654 Digits := 5 5 evdf[Yi) 3.1416 Digits := 20 20 evalf(Pi) 3.1415926535S97932385 Obrázek 1.19: Proměnná Digits a příkaz evalf (převzato z [6]). proměnných na jejich původní hodnoty. Provedení příkazu odstraní všechny uložené hodnoty v paměti (tedy i námi definované proměnné, načtené balíky atd.). Příkaz restart se proto používá zpravidla na počátku řešení nové úlohy, zejména pak na začátku každé práce se zápisníkem (aby se předešlo tomu, že budeme používat proměnnou, v níž je z dřívějška uložena pro nás nesprávná hodnota) [6]. 1.4.4 Balíky Knihovna příkazů jazyka Maple je rozdělena na hlavní knihovnu a tzv. balíky11. Příkazy, s nimiž jsme se doposud setkali, patří do hlavní knihovny, a můžeme je tak používat ihned po spuštění systému. Naproti tomu většina speciálních příkazů náleží do balíků, které musíme před použitím příslušného příkazu buď načíst do dokumentu pomocí příkazu with, nebo zadat příkaz spolu s názvem balíku. Načtení balíku pomocí příkazu with umožní používání všech příkazů z příslušného balíku. Naopak zadání příkazu spolu s názvem balíku je nutné provádět při každém použití tohoto příkazu, pokud balík nenačteme (příkazem with). 11Kromě pojmu balík se v češtině používá také termín knihovna. 20 Načtení balíku můžeme zrušit příkazem unwith. Pokud balík nenačteme a použijeme z něj nějaký příkaz, Maple jej nerozpozná a příkaz vypíše jako textový řetězec. Například příkazy pro práci s vektory a maticemi náleží do balíku LinearAlgebra. Jestliže chceme tedy použít příkaz Eigenvalues pro nalezení vlastních čísel matice, načteme nejprve balík LinearAlgebra, jak dokumentuje obrázek 1.20 [6]. Matice '■ -2 1 -1 1 -1 0 -1 0 -1 with (LinearAlgebra) : Eigenvalues( Matice) umvith (LinearAlgebra) Eigenvalues( Matice) -2 1 -1 1 -1 0 -1 0 -1 r ' -2 1 -1 ' Eigenvalues 1 -1 0 -1 0 -1 ) LinearAlgebra\Eigenvalues (Matice) 0 -1 -3 Obrázek 1.20: Použití balíků. Jedním z významných balíků je balík s názvem RealDomain. Systém Maple pracuje s komplexními čísly a právě balík RealDomain umožňuje omezit se pouze na množinu reálných čísel12 (obrázek 1.21). Jednotky Práci s jednotkami umožňuje balík Units. Při výpočtech tak nemusíme pracovat jen s čísly, ale můžeme jim přiřazovat i jednotky. K vložení jednotek do zápisníku využijeme palety Units. Obrázek 1.22 ilustruje použití jednotek při výpočtu gravitační síly působící v tíhovém poli Země (kde gravitační zrychlení je přibližně rovno 9,81 ms~2) na těleso o hmotnosti 10 kg. Vidíme, že Maple umí jednotky také zjednodušovat (resp. upravovat na jiný tvar). Ke zjednodušení výrazů přitom slouží příkaz simplif y. Maple rozpoznává jednotky různých soustav a velikostí, s nimiž umí pracovat a vzájemně je převádět. Pro převod jednotek je k dispozici speciální nástroj zvaný Units Calculator. 12Uplný seznam případů (resp. příkazů), v nichž se můžeme pomocí tohoto balíku omezit jen na reálná čísla, nalezneme v nápovědě k balíku RealDomain 21 simplify{JjF) 1 (-8)3 csgn(jt) x (-8)1/3 with {RealDomain) simplify{JlF) 1 (-S)3 \x\ -2 solve{x +.V, _v) 0,1, -I solved + x,x) 0 ln(-l) Iii ln(-l) undefined Obrázek 1.21: Použití balíku RealDomain. F :=10fe]|-9.81^_ P] 98.10 pg] jmi H2 simplify (%) 98.10 pV] Obrázek 1.22: Použití jednotek (převzato z [6]). ™,?D!?S°ft ,.....i - Units Calculator Convert between over 500 units of measurement. See Units help index for details. First, select a dimension from the drop-down box. Then select the units to convert from and to. Click the "Perform Unit Conversion" button. The "Convert Back" button converts in the opposite direction. Convert: I10 Result: |3.o48oooooo From: |feet (ft) j0: |meters (m) Dimension: llen9th zi Perform Unit Conversion | Convert Back Obrázek 1.23: Units Calculator (převzato z [6]). Spustit jej můžeme z hlavního menu přes Tools > Assistants > Units Calculator.... Ukázku poskytuje obrázek 1.23. Pokud chceme použít jednotku, která není v paletě Units, můžeme si ji vytvořit sami tak, že přidáme jednotku s názvem unit a název přepíšeme. V systému Maple 16 je implementováno přes 500 jednotek (tzn. v paletě Units je pouze několik vybraných) [6]. 1.4.5 Řešení rovnic K řešení rovnic v systému Maple slouží příkaz solve a několik příkazů k němu příbuzných závislých na typech rovnic, viz tabulka 1.1. 22 Tabulka 1.1: Příkazy pro řešení rovnic Typ rovnice Příkaz pro řešení Rovnice a nerovnice solve, f solve Obyčejné diferenciální rovnice dsolve Parciální diferenciální rovnice pdsolve Rovnice v oboru celých čísel isolve Rovnice v oboru celých čísel v konečném tělese msolve Lineární integrální rovnice intsolve Systémy lineárních rovnic LinearAlgebra[LinearSolve] Rekurentní rovnice rsolve Pomocí interaktivního prostředí Standard Worksheet můžeme řešit rovnice též pomocí kontextové nabídky. Zapíšeme rovnici a pravým tlačítkem myši zvolíme požadovaný příkaz. Obrázek 1.24 ilustruje některé příklady řešení rovnic. Rovnice solve (x2 + 5-x + 6 = 0) -2, -3 x2 + 5-x +6 = 0-^ {x= -2}, {x= -3} Nerovnice solve{x2 + 5-x + 6 < 0 ) RealRange{Open{ -3 ), Open{ -2)) x2 + 5 x + 6 < 0{-3 N(t)=^^a~b)Í Obrázek 1.24-' Ukázka řešení různých druhů rovnic použitím jednak příkazu, jednak kontextové nabídky (převzato z [6]). Příkazy pro řešení rovnic nemusí vždy zobrazit všechna řešení. Pokud je chceme zobrazit, přidáme příkazu solve nepovinný parametr AllSolutions, viz obrázek 1.25 [6]. Symbol _Z2~ na obrázku 1.25 představuje libovolnou celočíselnou proměnnou. Ze jde o celočíselnou proměnnou poznáme podle toho, že se v symbolu vyskytuje písmeno Z. Podobně by výskyt například písmena C značil proměnnou komplexní. Cifra 2 v symbolu 23 solve (sin(x) = cos (x)) 1 4 71 solve (sin(x) = cos(x), AllSolutions) ■^-Ji + Ji Z2-4 about (_Z2) Originally _Z2, renamed _S2~: is assumed to be: integer list assumptions _Z2-* { _Z2~::integer} Obrázek 1.25: Zobrazení všech řešení rovnice (převzato z [6]). proměnné označuje pořadí, v jakém byla proměnná v zápisníku zavedena. A nakonec znak ~ vyjadřuje, že proměnná splňuje nějaký předpoklad. Jaké předpoklady proměnná splňuje přitom zjistíme příkazem about, případně zápisem proměnné a po kliknutí pravým tlačítkem myši zvolením What Assumptions z kontextové nabídky. V zobrazeném příkladu na obrázku 1.25 je předpoklad celočíselnosti (u již celočíselné) proměnné přebytečný. solve (x4 — 2x3 + 2 = o) RootOf [_ŕ - 2 _Zi + 2, index = 1), RootOf (_Z4 - 2 _Z3 + 2, index = 2), RootOf(_Z4 -2 _Z3 + 2, index = 3 ), RootOf (_r - 2 _Z3 + 2, index = 4) allvalues ({%}) . \ - \ i - i- V7TIT,\-\i + \ V7TIT, I +11 {-0.5290855140 - 0.7429341359 1, -0.5290855140 + 0.74293413591, 1.529085514 - 0.2570658641 I, 1.529085514 + 0.2570658641 1} Obrázek 1.26: Tvar zobrazení řešení rovnice (převzato z [6]). Dále může příkaz solve zobrazit výsledek se strukturou RootOf vyjadřující kořen (tj. řešení) rovnice v nevyhodnoceném tvaru. Řešení pak vyhodnotíme buď příkazem allvalues (pro symbolické vyjádření), nebo příkazem evalf (pro numerické vyjádření) - obrázek 1.26. Vedle příkazů můžeme též využít pravého tlačítka myši, zvolit z kontextové nabídky položku All Values (pro symbolické vyjádření) a získaný výsledek převést na numerickou hodnotu zvolením Approximate > 10 (pro 10 platných míst) z kontextové nabídky. Symboly _Z ve struktuře RootOf nyní nepředstavují celočíselnou proměnnou (neboť za písmenem Z nenásleduje číslo), nýbrž proměnnou libovolnou (tj. i komplexní). Systém Maple po zadání příkazu vypíše zpravidla pouze řešení, případně chybová hlášení či varování. U příkazu solve (a nejen u něj) toto chování způsobuje „prázdný výpis" v případě, že Maple žádné řešení nenašel. Pro výpis podrobnějších informací o průběhu vyhodnocení příkazu a výsledcích slouží proměnná inf olevel. Můžeme ji nastavit buď pro každý příkaz samostatně, přičemž do hranatých závorek za proměnnou vložíme název příslušného příkazu, 24 nebo ji nastavíme všem příkazům současně na stejnou hodnotu uvedením slova all do hranatých závorek. Proměnná může nabývat hodnot 1, 2, 5. Čím vyšší hodnota je přiřazena v proměnné inf olevel, tím více informací o vyhodnocení příkazu obdržíme. Standardně není proměnná nastavena na žádnou hodnotu, což v podstatě odpovídá nastavení proměnné na hodnotu 0. Použití proměnné inf olevel dokumentují obrázky 1.27 a 1.28 [6]. solve[x2 < o) mfolevel[solve] '■= 1 : solvei^x < o) solve: Warning: no solutions found Obrázek 1.27: Proměnná infolevel a „prázdný výpis" příkazu solve (převzato z [6]). solvs{ {x +y = 2,x — J = Q }) [x= l,y=l} mfoievei \ solve ■= 1 : solve{ {x+y = 2,x—y=G}) {x=l,y=l} iitfolevel[ solve] ~ 3 : solve( {x + y = 2,x — J = 0 }) Main: Entering salver with. 2 equations in 2 variables Linear: solving 2 linear equations Rational: # equations 2 Rational: 2 equations solved, rank: 2 Main: solving successful - now forming solutions Main: Exiting solver returning 1 solution {x=l,y=l} mfolevel[solve] ~ 5 : solve( {x + y = 2,x — J=0}) Main: Entering salver with. 2 equations in 2 variables Transformer: solving the uncoupled linear subsystem in {x, y} Linear: solving 2 linear equations Rational: # equations 2 Rational: # equations 1 Rational: # equations 0 Rational: backsubstitution at: 2 Rational: backsubstitution at: 1 Rational: 2 equations solved, rank: 2 Main: solving successful - now forming solutions Main: Exiting solver returning 1 solution {x=l,y=l} Obrázek 1.28: Proměnná infolevel a příkaz solve. Příklad 1.12: Řešte nerovnici: \x — 2| < 1 pro iGi 25 Řešeni: Pro řešení nerovnice použijeme příkaz solve. Získaný výsledek odpovídá zápisu x G (1,3). Výraz RealRange značí reálný interval, výraz Open(l) vyjadřuje otevřený interval (v bodě 1). Pokud bychom zadali argument příkazu solve do složených závorek (tj. solve({ | x—21 1 pro i£Z. Příklad 1.15: Určete kořeny polynomu x 3 * x 13 • x + 15 pro x G IR. Řešeni: Kořeny polynomu můžeme určit různými způsoby. Jednak je možné použít příkaz solve a hledat body, v nichž je polynom nulový. Systém Maple nabízí též příkaz roots pro hledání kořenů polynomu jedné proměnné. Oba postupy ilustruje obrázek 1.30. solve[x -3x - U-X+ 15 = O) 5,1, -3 roots(x3 - 3-x2 - 13x+ 15) [[1,1],[5,1],[-3,1]] Obrázek 1.30: Řešení příkladu 1.15. Výstup příkazu roots je tvořen seznamem dvojic. Každá dvojice obsahuje hodnotu kořenu a jeho násobnost. Příklad 1.16: Řešte nerovnici x < x2 — 12 < 4 • x pro x G IR. Příklad 1.17: Určete obecně kořeny kvadratického polynomu tvaru a ■ x2 + b ■ x + c pro a G IR \ {0},6 G IR, c G IR, x G C. Zamyslete se, jak byste v řešení postupovali, kdybychom povolili možnost a = 0 a x omezili jen na reálná čísla. Příklad 1.18: Řešte rovnici tan(rr) = pro x G IR. Příklad 1.19: Řešte soustavu rovnic 5 • x — 7 ■ y = —9, 3 • x + y = 5 pro x G IR, y G IR. 26 2 Matematická analýza s Maple v R 2.1 Výrazy a jejich úpravy 2.1.1 Zjednodušení výrazu Ke zjednodušení výrazu slouží především příkazy simplify, normal a combine. Příkaz simplify provádí základní zjednodušení zadaného výrazu, příkaz normal je určen pro úpravy zlomků a příkaz combine slučuje výrazy. Vybrané příklady použití můžeme pozorovat na obrázku 2.1. simplify x~2y simplify^ e* +ln(ř)) normáli — H---— y x x + 1 .ľ+ 1 5 e c .í + 1 + x x(x+l) normal] — H---— . expanded \ {x x + 1 j X + 1 + jc combme\ e -e ) combine{2 ■ sin(jc) -cos(jf)) jra(a-l-r) sin (2 jí) Obrázek 2.1: Zjednodušování výrazů. 2.1.2 Omezující podmínky Příkazu simplify (stejně jako ostatním příkazům) můžeme doplnit omezující podmínky (resp. předpoklady), které budou aplikovány při zjednodušování zadaného výrazu. Provedeme to buď přidáním druhého parametru assume = podmínka, nebo zápisem assuming 27 podmínka za příkaz simplify. Jako druhý parametr můžeme uvést také množinu omezujících rovností. Konkrétní příklady vidíme na obrázku 2.2. simplify^ ~J ) csgn(x) x assume —real) 1*1 simplijy{^j "y ii assume = positive) x simplify^ assume= negative) -x simplijy{^j ) assuming x real \x\ simplify^ X ) assuming x :: positive X simplify^ ( -1Y ) assuming z :: ŕvew 1 simplijy{ ( -1Y ) assuming z :: odd -1 v= x + 6 r + 5 x + 4 u — 2r — 9 x-y + 12 6x + 4r + 4u - 9xy+ 12 simplify^v, {x = 2,ľ=3,u = l}j 40 - 18 y Obrázek 2.2: Zjednodušování výrazů - další možnosti příkazu simplify. 2.1.3 Úprava polynomu Především pro úpravy polynomů máme k dispozici příkazy collect, coeff, sort, factor a expand, jejichž použití shrnuje tabulka 2.1 a na příkladech dokumentují obrázky 2.3, 2.4. Tabulka 2.1: Příkazy pro úpravy především polynomů Příkaz Použití collect vytýkání ve výrazech (nejen polynomech) coeff koeficient u zvoleného členu polynomu sort setřídění členů polynomu (nebo prvků seznamu) factor rozklad polynomu na součin kořenových činitelů expand roznásobení / rozvinutí (nejen u polynomů) 2.1.4 Převod výrazu na jiný tvar Závěrem této sekce zmíníme velmi univerzální příkaz convert. S jeho pomocí můžeme převádět zadaný výraz (případně jinou datovou strukturu jako např. seznam) na jiný (zvo- 28 íi-ln(.v) -ln(.v) -x—x coll@ct{%,ln(x)) collect^a + a■ -f3~, o) aln(x) — ln(x) x — x (a — x) In (.v) — x (l +/3~) a p^ := xS — 8 ■ x5 + 23 ■ x4 + 68■ x3 - 244- x - 224- x + 384 : coeff{pvx,A) 23 coeff^xA) -224 coejf^p^x, OJ 384 sort{ 1 + x3 + 3 ■ xA2 - -4-x4) -4 x4 + x3 + 3 x2 + 1 sort[\ + x3 + 3- jtA2 - -4-x4, jc. tdeg, ascending) 1 + 3 x + x — 4 x4 Obrázek 2.3: Použití příkazů collect, coeff a sort. polx := x6 - 8- x +23 x + 68- x -2AA-x1 -224- x + 384 .Z - 8x3 + 23x + 68x3 - 244x2 - 224x + 384 pol2 ~ x4 - 6 x3 + 22 x2 - 48 x + 40 x4- 6x3 +22x2-48x + 40 (x - 1) (x-3) (x2-8x+32) (x + 2)2 s2 :=factor^pol^ (x2-2x+ ÍO) (x-2)2 expand ^s^) expand ^s2) x6 - 8x2 + 23x4 + 68x3 - 244x2 - 224x + 384 x4 - 6x3 + 22x2 - 48x + 40 Obrázek 2.4: Použití příkazů factor a expand. lený) tvar1. Obrázky 2.5 a 2.6 ukazují použití příkazu pro převod desetinného čísla na zlomek 1 Jelikož má příkaz convert mnoho různých použití, doporučujeme čtenáři podívat se na stránku nápovědy k tomuto příkazu (viz ?convert). 29 (přidáváme parametr rational) a pro převod výrazu na parciální zlomky (přidáváme parametr parf rac2). convert (0.125. ratio rial) 1 8 convert{ 12.567, rational) 12567 1000 convert{ 0.33333333, rational) 33333333 100000000 ALE POZOR!!! (za desetinou tečkou je 10 "trojek1') convert( 0.3333333333, rational) 1 3 ,._ (-v5 + l) J ' f 4 2\ (x — x J x5 + 1 4 2 x —x co h vert (^ parfřac) X {x-bf coHVfirřf parfrac* x) 1 + h x~h (x-b)2 convert( parfřac* b) X {-x + bf Obrázek 2.5: Použití příkazu convert. Jak jsme již viděli, v prostředí Standard Worksheet je obvykle více možností, jak řešit danou úlohu. U výše uvedených příkladů (na obrázcích 2.1 - 2.6) je možné využít také kontextové nabídky. Do dokumentu vložíme výraz, který chceme upravovat, klikneme na něj pravým tlačítkem myši a z kontextové nabídky zvolíme požadovaný příkaz (často i s upřesněním požadované úpravy, tj. např. vybereme Simplif y>Simplif y nebo Combine>exp či Simplify>Assuming Real atp.). Tímto způsobem můžeme obdržet například výsledky na obrázku 2.7. 2Symbol I v systému Maple značí iniagonární jednotku. 30 _ (4 ■ x3 — 6 ■ x2 — 2) (x4 -2 x -2- x+ 4) co nvert (f, parfrac) 4 x3 — 6 x2 — 2 x' — 2 x3 — 2 x + 4 3x2 1 3 2 x~2 convert[ f, parfrac, r sal) 1.01 1.27+2.00 x 0.992 *-2- x2 + 1.259921050x+ 1.587401052 x - 1.259921050 convert (f,parfrac, complex) 0.980 + 0.003341 | Q.999 + 0.005281 | 1.00-0.002941 | 1.02-0.005681 1-2. x + 0.630- 1.091 x+ 0.630+ 1.091 -1.26 +x Obrázek 2.6: Možnosti příkazu convert při rozkladu výrazu na parciální zlomky. x x — 2y sirnpliŕy x + 1 x + 2y x-Ay2 * + 2 1 X normál X + 1 + X +---* X X + 1 x (x + 1 ) esiti(a) ■ cos(íf) ecos(a) ■ úo(b) oom^ioe sra(a) cos(r) +cos(a) sio(íf) cora^ine ^«(1 + ŕ) assuming Teal V * -* \x\ a-In (.v) -ln (.v) -x — .vcc=ct (a — x) ln(x) — x x6- 8-x5 +23-x4 + 68-x3 -244-x2 -224-x + 384*^* (x-1) (x-3) (x2-8x + 32) (x + 2)2 (x - 1) (x-3) (x2-8x + 32) (x + 2)2eX=3ndx6-8xi + 23x4 + 6Sx3 - 244x2 - 224x + 384 convert to rational 1 U.125 > y x convert to partial ftactions m s b (x-bf (jc — fc)2 x~h Obrázek 2.7: Zjednodušování výrazů pomocí kontextové nabídky. 31 Příklad 2.1: Určete hodnotu výrazu /x+b ■ (a-x—b-x) (a-b) pro b = 16, x = 9, y = 3. Řešení: Pro vyřešení máme více možností. Použijme nejprve příkaz simplify podobně jako na obrázku 2.2. Může se stát, že příkaz neupraví „najednou" zadaný výraz až na nej-jednodušší tvar. V takovém případě (který právě nyní nastane) jej použijeme dvakrát. Další možností je použít vyhodnocovací příkaz eval. simplify' simplijy{%) nebo a-b simpli^ simplify Cl {b=l6,x= 9,^=3} '25 ' ^x + b jax-bx) ^ -—i---1-7—^, {ů= 16,1=9,^ = 3} simplify eval ' ^Jx+b {ax — bx) ^ —-5-----r——, {o=16,i=9,^=3} 5^ 3 Obrázek 2.8: Řešení příkladu 2.1. Příklad 2.2: Vytvořte polynom, který má jeden trojnásobný kořen s hodnotou | a jeden dvojnásobný s hodnotou —5. Nechť je výsledný polynom v roznásobeném tvaru. Řešení: Polynomů splňujících zadání je nekonečně mnoho, připustíme-li možnost mít i další kořeny. Kořeny jednoznačně určují kořenové činitele polynomu. Polynom mající pouze kořeny zmíněné v zadání bude tvořený třemi činiteli tvaru (x — |) a dvěma tvaru (x — 5). Roznásobený tvar získáme příkazem expand. Obrázek 2.9: Řešení příkladu 2.2. Příklad 2.3: Zjednodušte výraz cos(n • 7r) za předpokladu, že n je sudé. 32 Příklad 2.4: Zjednodušte výraz g—b a+b Příklad 2.5: Zjednodušte výraz sin(2 • x) — cos(x) cos(2 • x) — 1 + sin(rr) Příklad 2.6: Rozložte na součin: 4 • x2 ■ (y2 — z2) + 25 • -u • (z2 — í/2). Příklad 2.7: Zjednodušte: (2 • + 5 • s)2 - (2 • h + 5 • s) ■ (2 • h - 5 • s). Příklad 2.8: Nechť Pl = x5 + 15 • x4 + 85 • x3 + 225 • x2 + 274 • x + 120, p2 = x2 + 6 • x + 8. Zjednodušte —. Výsledek rozložte na součin kořenových činitelů. Výraz — rozložte na P2 J J Pl parciálni zlomky. 2.2 Funkce jedné proměnné 2.2.1 Definice funkce V prostředí Standard Worksheet jsou 2 způsoby, jak definovat funkci. Vytvořme například funkci f(x) = x2. První možností (k dispozici jen v prostředí Standard Worksheet a pro matematický režim Math Mode) je napsat funkční předpis stejně, jak jsme to udělali před chvílí, s tím rozdílem, že namísto rovnítka („=") použijeme symbol pro přiřazení („:="), tedy f (x) :=x"2. Po spuštění příkazu musíme v následně zobrazeném vyskakujícím okénku potvrdit, že se jedná o definici funkce. Druhou možností (platnou i v jiných prostředích systému Maple), jak vytvořit funkci, je použití šipkové notace. Příkaz pak vypadá následovně: f :=x->x"2. Šipku vytvoříme pomlčkou následovanou symbolem „větší než" („>")• V prostředí Standard Worksheet si definování funkce můžeme ulehčit využitím palet. Buď je možné při vytváření příkazu použít šipku z palety Arrows, nebo můžeme vzít celou šablonu příkazu vytvoření funkce z palety Expression a modifikovat v ní požadované symboly. Funkční hodnotu definované funkce v daném bodě získáme zápisem názvu funkce spolu s hodnotami parametrů v závorce (nemusíme přitom zadávat pouze numerické hodnoty). Důležité je v Maple důsledně rozlišovat funkce a výrazy, lépe řečeno funkční operátory a výrazy. V matematice totiž užíváme pojem funkce i v případech, které v Maple představují výrazy (funkční výrazy - např. f{x)). Jestliže vytvoříme výraz, například x"2, a přiřadíme jej k nějaké proměnné, např. g, jedná se stále pouze o výraz. Hodnotu g pro x = 5 nemůžeme proto určit jako funkční hodnotu v bodě 5, ale musíme použít vyhodnocovacího příkazu eval, případně do x přiřadit hodnotu 5. Naproti tomu funkční hodnotu funkce / (nebo vhodněji řečeno funkčního operátoru) v bodě 5 získáme specifikací argumentu operátoru (funkce) /, viz obrázek 2.11 [6]. Dále Maple nabízí příkaz unapply, který ze zadaného výrazu udělá funkci (funkční operátor). Tento příkaz má dva argumenty: výraz, z něhož chceme udělat funkci, a nezávisle 33 ý ■= x-^x 2 x—>JÍ z(x) ■=x~ 2 /(5) 25 z(5) 25 z(3-í:) 9 c Obrázek 2.10: Definice funkce v prostředí Standard Worksheet. ŕ- _^ 2 / ■— x—>JĽ ■i 2 x—*x .v:=V: apply{f,x) 2 X s -—x "i /(5) 1 x 25 apply{f,5) 25 x(5)2 unappfy(g, x) 2 x—>x .Y 5) 25 unappfy[g,x) (5) 25 I := 5 5 g 25 /M 25 Obrázek 2.11: Rozdíl mezi funkcí a výrazem (převzato z [6] a doplněno). proměnnou. Podobně máme k dispozici též příkaz apply, který z funkčního operátoru udělá výraz (aplikuje funkční operátor na zadaný argument/argumenty) - pravá část obrázku 2.11. Výrazy a funkce můžeme též definovat po částech pomocí příkazu piecewise. Argumenty v závorce určují vždy nejprve interval následovaný funkční hodnotou na tomto intervalu. Poslední množinu bodů již zapisovat nemusíme, stačí funkční hodnota. Maple ji 34 doplní ve zbývající množině zatím nedefinovaných bodů. Je možné též sestrojit funkci, která je definována pouze na libovolné podmnožině reálných čísel. Pokud má funkce definovaná po částech pouze dva různé předpisy, můžeme k jejímu vytvoření využít symbolu otevřené složené závorky z palety Expression (viz obrázek 2.12) [6]. f:= x—>piecewise(x < 0,-1, x = 0, 0f 1) x—>piecewise[x < 0, -1, x = 0, 0, 1) /(-8) -1 0 /(153.6) 1 J2 '■— x^piecewise[x < 0,-x, undefined) x—>piecewise{x < 0, -x, undefined) J2Í-8) 8 fi(4) undefined gW := 0 x < Jl 1 x > TI x—>piecewise(x < n, 0? ji < x, 1) 0 0 g(4) 1 Obrázek 2.12: Funkce definovaná po částech (převzato z [6]). 2.2.2 Vlastnosti funkcí Definice 2.1: Definičním oborem funkce / nazýváme množinu všech hodnot, pro něž je funkce / definována. Značíme ji D(f)3. Oborem hodnot funkce / nazýváme množinu všech hodnot, kterých funkce / na svém definičním oboru nabývá. Značíme ji H(f)4. Definice 2.2: Funkce / se nazývá shora ohraničená, pokud existuje K G IR tak, že f(x) < K pro všechna x G D(f). Analogicky, funkce / se nazývá zdola ohraničená, pokud existuje L G IR tak, že f(x) > L pro všechna x G D(f). Funkci / nazýváme ohraničenou {omezenou), pokud je / ohraničená zdola i shora. 3V literatuře je též možné se setkat s označením Dom(f). 4V literatuře je též možné se setkat s označením Im(f), případně R(f). 35 Dennice 2.3: Funkce / se nazývá sudá, pokud pro všechna x G D(f) platí, že — x G -D(/) a f(x) = f(—x). Funkce / se nazývá lichá, pokud pro všechna x G D(f) platí, že — x G D(f) a f(x) = -f(~x)- Definice 2.4: Nechť M C -D(J) obsahuje alespoň 2 body. Řekneme, že funkce / je na M (a) rostoucí, jestliže \/x±,x2 G M : x\ < x2 =>- /(íCi) < f{x2), (b) klesající, jestliže \/xi,x2 G M : ii < 12 ^ /(^í) > f(x2), (c) nerostoucí, jestliže \/xi,x2 £ M : xľ < x2 f{xi) > f{x2), (d) neklesající, jestliže \/xi,x2 £ M : xľ < x2 f{xi) < f{x2), (e) konstantní, jestliže \/xi,x2 G M : /(rci) = f{x2). Definice 2.5: Nechť M C -D(J) obsahuje alespoň 2 body. Řekneme, že funkce / je na M (a) prostá (injektivní), jestliže \/x1}x2 E M : Xi ^ x2 ^ f{x{) 7^ f{x2), (b) zobrazením na množinu C H (f) (surjektivní), jestliže \/y G N : 3x G M A /(x) = y, (c) bijektivní z M do N, jestliže je prostá na M a současně je zobrazením na množinu N (tedy injektivní a surjektivní). Systém Maple nemá žádné příkazy na určování právě definovaných vlastností. To však neznamená, že tyto vlastnosti nemůžeme určovat sami. V některých případech nám může systém Maple pomoci. I definiční obor a obor hodnot funkce musíme zjistit sami. Systém Maple můžeme efektivně využít pouze v případech, kdy si nejsme jisti, jestli daný bod patří do některé z množin, a to buď pokusem o vyhodnocení funkce v daném bodě nebo hledáním řešení rovnice, kdy se uvažovaná funkce rovná danému bodu. Příklad 2.9: Určete D(f) a H(f) funkce f(x) = \n(x). Řešení: Z přednášky Matematické analýzy víme, že D(f) = IR+ = {x G M\x > 0} a H(f) = IR. Systém Maple bychom využili asi jen v případě, kdybychom si nebyli jistí, jak je definována funkce ln(x) a chtěli se například přesvědčit, že není definována pro x = 0. V tom případě bychom mohli zkusit získat funkční hodnotu v bodě 0. Na obrázku 2.13 vidíme, že obdržíme chybovou zprávu, která je sice trochu matoucí (zmiňováno je dělení nulou), nicméně funkční hodnota neexistuje. Podobně můžeme například ověřit, že 0 G H (f), řešením rovnice ln(x) = 0. Upozorněme, že Maple počítá standardně s komplexními čísly, a tak vyhodnocení funkce ln(x) pro záporné x nezpůsobí žádnou chybu. Jelikož se pohybujeme v oboru reálných čísel, je třeba se omezit pouze na něj načtením balíku RealDomain (viz obrázek 1.21). In(0) Error, fin In) numeric exception: division by zero 3olve{\n{x) = 0) 1 Obrázek 2.13: Řešení příkladu 2.9. Pro zjištění, zda je funkce (shora, zdola) ohraničená, či nikoliv, můžeme využít příkazů minimize a maximize pro hledání nejmenších a největších funkčních hodnot. V případě, že funkce není „v některém směru" ohraničená, vrací zmíněné příkazy hodnotu 00, resp. —00. 36 Další funkční vlastnosti můžeme určovat (ověřovat) za pomoci příkazů evalb nebo verif y. Tyto příkazy otestují, zdaje zadaný výraz pravdivý, či nikoliv. Ukažme si to na následujícím příkladu. Příklad 2.10: Určete, zdaje funkce cos(x) sudá nebo lichá. Řešeni: Opět z přednášky víme, že funkce cos(x) je funkcí sudou. Sudost funkce otestujeme zjištěním pravdivostní hodnoty výrazu cos(x) = cos(-x), lichost podobně podle pravdivostní hodnoty výrazu cos(x) = —cos(-x). I tentokrát bychom správně měli použít balík RealDomain, neboť bez něj ověřujeme zmíněné rovnosti pro všechna komplexní x. V obou případech však získáme stejný výsledek. evalb(cas{x) = cos( -x)) true evalb(cas(x) = -cos( -x)) false Obrázek 2.14-' Řešení příkladu 2.10. Přestože můžeme vytvořit logické výrazy i pro zbylé funkční vlastnosti, příkazy evalb a verif y většinou vracejí hodnotu FAIL jako znamení, že nedokáží o pravdivostní hodnotě rozhodnout. Některé další příklady je proto potřeba řešit samostatně a systém Maple využít jen k „drobným podúlohám" - jako v následujícím příkladu 2.11. Příklad 2.11: Určete, zda je funkce cos(x) na IR rostoucí, klesající, prostá či bijektivní. Řešení: Z přednášky víme, že funkce cos(x) na celé množině IR žádnou ze zmíněných vlastností nesplňuje, což můžeme dokázat nalezením protipříkladu. Vezměme např. body x\ = 0 a X2 = 2 • 7T. Platí, že x\ < X2 (tj. x\ ý x<í) a současně cos(x\) = cos(x2). Tedy funkce není rostoucí, není klesající a není prostá, z čehož plyne, že nemůže být ani bijektivní. Systém Maple tu můžeme použít ke zjišťování funkčních hodnot (i když v tomto případě známe funkční hodnoty zpaměti). V praxi se nám však často hodí najít intervaly, v nichž funkce některé vlastnosti splňuje. Funkce cos(x) je periodická s periodou 2 • rr a na intervalech [k ■ rr, {k + 1) • rr] pro k G Z je bijektivní (tedy i prostá), pro sudá A; je na těchto intervalech vždy klesající, pro lichá k rostoucí. Příklad 2.12: Dokažte, že funkce sin(x) je ohraničená. Příklad 2.13: Uvažujme funkci f(x) = x2_l.x+6- Je / sudá nebo lichá? Určete její definiční obor a obor hodnot. Je / ohraničená? Příklad 2.14: U následujících funkcí určete, zda jsou sudé, liché, nebo ani jedno, (a) f(x) = 9 - x\ (b) f(x) = y/ž, (c) f(x) = \. 37 Příklad 2.15: Definujte funkci /, pro niž platí: (a) D(f) = (0,1), tf(/) = (0,2), (b) DU) = M\{1}, tf(/)=R\{0}, (c) DU) = M\{0}, tf(/)=M\{l}, (d) DU) = IR, #(/) = IR+, / je prostá, (e) DU) = R\(-2,2), tf(/)=R, (f) W) = R, tf(/)=M\(-2,2), (g) DU) = IR, / je prostá a ohraničená. (h) HU) = IR, / je sudá. Příklad 2.16: Nalezněte k eM. tak, aby byla funkce f(x) = i"3 -k ■ x2 + 2 • x lichá. Příklad 2.17: U následujících funkcí určete, zda se jedná o bijekci, či nikoliv. (a) / : IR ->• IR, /(x) = a • x + 6, a, b G (b) /: f(x) = y/x, (c) /: R -> IR+, /(x) = x2, (d) /: IR —> IR, /(x) = r3, (e) / : R\{0}^M\{0}, = 2.2.3 Inverzní funkce Definice 2.6: Nechť / je prostá funkce. Funkci pro niž platí: £>(/_1) = #(/) a V:r G £>(/) : 3 0 je rovna yfx (obrázek 2.16). 39 Příklad 2.19: Nalezněte inverzní funkce k následujícím funkcím: (a) f(x) = 2 • x + 1, (c) f(x) = ±±f, (e) f(x) = ±, (b) f(x) = x\ (d) /(x) = VT^, (f) /(*) = Příklad 2.20: Existuje funkce, která je sama sobě inverzí? Pokud ano, je jediná, nebo jich existuje více? 2.2.4 Složená funkce Operátorem složení funkcí je v systému Maple symbol @ (zavináč). V praxi se bez něj však obejdeme, když použijeme kulaté závorky. Na obrázku 2.17 je několik příkladů vytvoření složené funkce, které potvrzují rovnost f(f^1(x)) = x. f(x) := x' , 3 x—*x g{x) :=3Jx 1/3 x—*x X X f{x) ■= sin (.v) g(x) ■— arcsin(.v) x—>arcsin(jt) X X Obrázek 2.17: Složená funkce. 2.3 Vykreslení grafu funkce 2.3.1 Vykreslování Prostředí Standard Worksheet poskytuje několik možností, jak zobrazit graf funkce nebo výrazu. Nejrychlejší a zřejmě nejjednodušší možností je zapsat do dokumentu výraz (resp. funkci), který chceme vykreslit, kliknout na něj pravým tlačítkem a z kontextové nabídky zvolit Plots > 2-D Plot. 40 lil Interactive Plot Builder: Select Plot Type Select Plot Type and Functions- rieiecr. hoc S3 rSelect Plot- %2-D plot 12-D polar plot |3-D conformal plot of a complex-valued function fZ-D conformal plot of a complex-valued function :-D complex plot i-D complex plot Select Variable Purposes, Ranges, and Plot Options ixij |x - I piČI Options On 'Plot' return plot command _ Edit Functions Plot Cancel Obrázek 2.18: Zvolení typu vykreslení v Plot Builder (převzato z Interactive Plot Builder: Specify Expressions File Expressions Add Edit Remove ariables — -n Add Remove Quit Obrázek 2.19: Okénko pro zadání výrazu z funkčního předpisu a nezávisle proměnných v Plot Builder (převzato z [6]). 41 Dále můžeme využít pomocník Plot Builder, a to dvěma způsoby. Buď opět zapíšeme do dokumentu výraz z funkčního předpisu, klikneme pravým tlačítkem myši a zvolíme Plots > Plot Builder, nebo zamíříme do hlavního menu a vybereme Tools > Assistants > Plot Builder.... V prvním případě se objeví okénko Interactive Plot Builder (obrázek 2.18), v němž upřesníme typ vykreslení. Pokud uvažujeme funkci jedné proměnné, volíme 2-D Plot. Je možné volit i jinou možnost jako například vykreslení v polárních souřadnicích (2-D polar plot). Kliknutím na tlačítko Plot zobrazíme graf v dokumentu [6]. V druhém případě, kdy Plot Builder vyvoláme z hlavního menu, se nám objeví okénko (viz obrázek 2.19), do nějž zadáme výraz z předpisu funkce, kterou chceme zobrazit (zadání nám umožní tlačítka Add, resp. Edit), a proměnné (pokud výraz obsahuje pouze proměnné, systém je vyplní sám). Kliknutím na tlačítko OK přejdeme do již známého okénka pro zvolení typu vykreslení (obrázek 2.18). Další možností k vykreslení grafu výrazu nebo funkce je příkaz plot. Při vykreslování můžeme specifikovat několik atributů měnících podobu grafu. Opět je několik možností, jak atributy zadávat. Při použití pomocníka Plot Builder se v okénku Interactive Plot Builder (obrázek 2.18) objevuje tlačítko Options. Kliknutím na toto tlačítko přejdeme na okénko (viz obrázek 2.21) umožňující nastavit parametry vykreslení jako jsou rozsah hodnot závisle i nezávisle proměnné, barva a styl vykreslované křivky, titulek grafu, legenda atd. Užitečné je navíc tlačítko Preview umožňující předběžně si prohlédnout současný stav a následně pokračovat v dalším nastavování atributů vykreslení grafu. i 100-\ so-\ 60-\ 40-\ 20- j plot(x^) i 100-\ 80-\ 60-\ 40-\ 20- J -10 -5 [ i 10 X -io -í : 5 10 X Obrázek 2.20: Vykreslení grafů pomocí kontextové nabídky a příkazu plot (převzato z [6]). Při použití příkazu plot můžeme totéž provést specifikací nepovinných parametrů jako jsou thickness pro tloušťku křivky, color pro její barvu, labels pro popisky os, legend pro tvar legendy u obrázku, axes pro nastavení souřadých os a další. Ukázku použití příkazu plot s nastavením některých nepovinných parametrů nabízí obrázek 2.22 [6]. Vzhled grafu můžeme upravovat i po jeho vytvoření a umístění do dokumentu. Jednak lze na graf kliknout pravým tlačítkem myši a z kontextové nabídky vybírat vlastnosti grafu, které jsme mohli měnit již dříve, nebo můžeme využít kontextové lišty těsně nad dokumentem. Po kliknutí levým tlačítkem myši na graf se ve zmíněné liště zobrazí nástroje skupiny nazvané Plot. K dispozici je též skupina s názvem Drawing. Nástroje v těchto skupinách umožňují do hotového grafu přidávat text, kreslit, či jinak graf upravovat [6]. Jestliže chceme vykreslit více funkcí (resp. výrazů) do jediného grafu, zapíšeme všechny do hranatých, případně složených, závorek jako první parametr příkazu plot. Uživatelům doporučujeme používat spíše hranaté závorky, v nichž systém Maple respektuje pořadí. Pokud nechceme u vykreslovaných funkcí nic dále specifikovat, je nám jedno, v jakém pořadí Maple funkce „vezme" a vykreslí, použijeme libovolné závorky (tj. hranaté nebo složené). 42 [13 2-D Plot (plot) x -> x-~-2|| Label Orientation 10 F |hori:ontal w |horizontal d rColor default default ^ | Symbol - default normal t| Advanced Settings Times r-View- ■Title- Times Zll10 d B I J Miscellaneous-Resolution 800 t J Constrained Scaling Adaptive Plotting Find Discontinuities Show Removable Number of Points | £00 Fill to x-axis ■Coordinate System - cartesian Preview Plot Command Back Reset Cancel Obrázek 2.21: Okénko Plot Builder pro nastavení parametrů grafu (převzato z [6]). plotny?,x= -5 ..5, color = blue, thickness = 5, legend = "Graf funkce 3^2", labels = = ["x", "y"]) 1 251 \ 20 - \ Y \ 10 - \ 5 - 1 1 1 1 1 ^^"^ -4 -2 [ 2 4 X Graf funkce Obrázek 2.22: Vykreslení grafu při specifikaci některých nepovinných parametrů (převzato 43 Pokud však chceme např. každé z křivek přiřadit nějakou barvu, použitím hranatých závorek se barvy aplikují v tom pořadí, v jakém očekáváme. Při použití složených závorek tomu tak být nemusí, viz obrázek 2.23. plot{ \_x^, x.x\,x — -2 ..2, thickness = 3, color— [green, red, brown ]) plot( {x^, x^, x},x=-2 .2, thickness —"i, color— [green, red, brown ]) Obrázek 2.23: Vykreslení grafu více výrazů příkazem plot. K dispozici je dále příkaz display z balíku plots, kterým můžeme dosáhnout stejného výsledku. Jednotlivé grafy nejprve vytvoříme a přiřadíme do proměnných, jež dáme jako parametry právě příkazu display (obrázek 2.24). pl '■= plot{x^,x = -2 ..2, thickness = 3, color = green) PLOT(...) p2 := plot{x^,x = -2 „2, tkickness=3, color= red) PLOT{.„) p3 '■= plot{x.x = -2 „2, thickness = 3. color= brown) PLOT(...) plots[display] ([pl,p2,p3]) 8 -i 6 - \ / s -2 1 2 ■------- f -2 - X í "4" -8 - Obrázek 2.2^: Vykreslení grafu více výrazů pomocí příkazu display. 44 2.3.2 Animace V systému Maple můžeme též vytvářet animace. Animace se skládá z několika grafů, které jsou po spuštění zobrazené v sekvenci za sebou. Vytvoříme ji buď příkazem animate z balíku plots, nebo pomocí Plot Builderu. Obrázky 2.25 a 2.26 ukazují nastavení Plot Builderu pro vytvoření animace, obrázek 2.27 ilustruje tentýž příklad při použití příkazu animate. Obrázek 2.25: Zadání výrazu z předpisu funkce v Plot Builderu (převzato z [6]). Ukončení Plot Builderu, resp. provedení příkazu, umístí do dokumentu „prázdný" graf. Kliknutím na něj zobrazíme skupinu nástrojů v kontextové liště s názvem Animation. Pomocí těchto nástrojů můžeme animaci spustit, změnit její rychlost, podívat se na libovolný snímek animace atd. Animace můžeme upravovat stejně jako grafy, tj. měnit tloušťku, barvu a druh křivky, souřadné osy, legendu apod. Navíc máme k dispozici několik nepovinných parametrů, díky nimž můžeme například určit počet grafů, z nichž se animace skládá (parametr f rames), nebo kolik grafů vyjma posledního má zůstat trvale zobrazených po spuštění animace (parametr trace) [6]. 45 Interactive Plot Builder: Select Plot Type -Select Plot Type and Functions ■Select Plot- 12-D polar plot 3-D conforrnal plot of a complex-valued function 2-D conforrnal plot of a complex-valued function Z-D complex plot 3-D complex plot AmmAtiori Parameter Options On 'Plot' return plot command -Select Variable Purposes, Ranges, and Plot Options 31 Plot Cancel Obrázek 2.26: Zvolení druhu vykreslení (animace) v Plot Builderu (převzato z with (plots) : animate (plot, [A * sin (x),x=-lO .. 10], .4 = 0.. 2 ) .4 = 2.0000 Obrázek 2.27: Animace vytvořená příkazem animate (převzato z [6]). 46 Příklad 2.21: Vykreslete funkci f(x) = x5 + 15 • x4 + 85 • x3 + 225 • x2 + 274 • x + 120. Řešeni: K vykreslení zadané funkce ji stačí zapsat do dokumentu a použít některý z dříve uvedených postupů. Musíme však mít na paměti, co bychom rádi na grafu viděli a že je možné získaný výsledek ovlivnit. Například v tomto případě, když nespecifikujeme rozsah vykreslení (použije se standardní rozmezí -10..10) zcela zkreslíme informaci o chování funkce na intervalu [—5,0]. Obrázek 2.28: Řešení příkladu 2.21. Příklad 2.22: K funkci g(x) = e2'x nalezněte inverzní funkci. Vykreslete do jednoho grafu funkci g(x), její inverzi a funkci f(x) = x. Do grafu přidejte také legendu. Příklad 2.23: Zkoumejte závislost funkce h(x) = ea'x na parametru a G IR (pomocí animace). Kdy je funkce rostoucí a kdy klesající? Příklad 2.24: Vraťte se k příkladům 2.12 - 2.20 předchozí sekce a vykreslením grafů se ujistěte o správnosti vašich odpovědí. 2.4 Limita a spojitost funkce Definice 2.7: Funkce f(x) má v bodě x0 G IR limitu L G IR, jestliže ke každému e > 0 existuje ô > 0 tak, že pro všechna x G (xq — ô,xq + ô) různá od xq platí: \f(x) — L\ < e. Takovou limitu nazýváme vlastní limitou ve vlastním bodě. Definice 2.8: Funkce f (x) má v bodě x0 G M limitu í G R zleva, jestliže ke každému e > 0 existuje ô > 0 tak, že pro všechna x G (x0 — ô,x0) platí: \ f(x) — L\ < e. Analogicky definujeme limitu zprava. Definice 2.9: Funkce f (x) má v bodě x0 G M limitu rovnu +oo, jestliže ke každému M G IR existuje ô > 0 tak, že pro všechna x G (x0 — ô, x0+ô) různá od x0 platí: f (x) > M. Analogicky definujeme limitu rovnu — oo. Takovou limitu nazýváme nevlastní limitou ve vlastním bodě. 47 Dennice 2.10: Funkce f {x) má v bodě +00 limitu rovnu Lei, jestliže ke každému e > 0 existuje K G M tak, že pro všechna x > K platí: \f(x) — L\ < e. Analogicky definujeme limitu v bodě —00. Takovou limitu nazýváme vlastní limitou v nevlastním bodě. Příklad 2.25: Definujte limitu zprava. Příklad 2.26: Definujte nevlastní limitu v nevlastním bodě. Systém Maple ve verzi 16 nabízí též tzv. Matematické aplikace, které najdeme v hlavním menu (Tools > Math Apps). Jednou z položek v sekci Calculus je dokument s názvem Definition of a Limit s definicí limity a její názornou interaktivní demonstrací - viz obrázek 2.29. 1. Choose a function: Cubic 2. Cho ose a valu e for c. D C = I -9.0 -6.0 -3.0 0.0 3.0 6.0 9.0 3. Ask for an e Give me a n™ epsilon! 4. Try to choose 5 small enough so that \x — c\ < 5 implies \f(x] -L\ < e.T. Ifthe blue strip is a river, and the purple strip is a bridge, then the junction (green) must only cross the river where the bridge is! 5 = 0,001 -o- 5. If it's not possible to choose such a 5, the function/(jc) does not have a limit at the point c ! Reset [7] shade Region Obrázek 2.29: Interaktivní demonstrace limity. K výpočtu limity použijeme buď příslušný symbol z palety Expression (a upravíme v něm barevné symboly, jak potřebujeme), nebo příkaz limit, který má povinně dva parametry - výraz (tj. i funkční výraz) a bod, v němž hledáme limitu. Také je možné zadat do dokumentu výraz, jehož limitu chceme určit, kliknout na něj pravým tlačítkem a z kontextové nabídky zvolit položku Limit. Otevře se nám okénko, v němž je dále třeba specifikovat bod, v němž hledáme limitu. Můžeme dále uvést i typ limity - oboustrannou (základně zvolená), limitu zleva nebo limitu zprava. V případě použití palety specifikujeme jednostrannou limitu zapsáním symbolu + nebo — do exponentu bodu, v němž chceme limitu určit. Příkazu limit můžeme zadat třetí (nepovinnný) parametr ve tvaru right nebo left pro limitu zprava, resp. zleva. Všechny zmíněné postupy ilustruje obrázek 2.30. V jeho pravé části je definována funkce a při určování limit používán funkční výraz f(x). Funkční operátor (tj. /) použít nemůžeme. Systém Maple v některých případech zobrazuje neočekávané výsledky, které můžeme označit za chybné. Jedná se například o limity na obrázku 2.31. Vypsaným výsledkem se nám systém snaží dát omezení na funkční hodnoty v okolí bodu, v němž hledáme limitu. Podle uvedených definic v tomto textu však musíme konstatovat, že příslušné limity neexistují. 48 limit í —, x = O ] = undefined \ x f U) ■■= limit ^ —, x — 0. right j Hm — = undefined x^O x lim — = oboustranná limita: —--undefmed ., , 1 limit limita zprava:--* limit (/(.v). x = 0) = undefined limit(f(x),x=0,right) = 03 lim^/(j:) = undefmed lim , f(x) = 00 1^0 + Obrázek 2.30: Určení limity v bodě. lim sin í — i y. -»0 ^ .v j -1 ..1 lim (-1)* -1 +1 Obrázek 2.31: Nedostatky Maplu při určování limity. Příklad 2.27: Určete následující limity: (a) lirn^l, (M lim sin(ffl':r) ex-l (c) lim , (d) lim tan(rr) Příklad 2.28: Určete následující limity: (a) lim Jp^, (b) lim (c) lim 2:—»2 Va2+5-3 :r2 — 2-2: ' cos(|)-sin(|) cos(:r) ' (d) lim (e) lim 5x +3x 4.x 1 (f) lim^ sin(í)-cos(í) Jak byste limity určovali bez systému Maple? Příklad 2.29: Definujte funkci, která: (a) má vlastní limitu ve vlastním bodě, (b) má vlastní limitu v nevlastním bodě, 49 (c) má nevlastní limitu ve vlastním bodě, (d) má nevlastní limitu v nevlastním bodě, (e) splňuje všechny předchozí body (a) - (d). Jak jsme se zmínili v sekci 1.3.4, Maple obsahuje pomocné nástroje, které nám ulehčují řešení úloh a pomáhají v učení některých matematických postupů při jejich řešení. Jedním z takových nástrojů je maplet zvaný Limit Methods. Spustíme jej z hlavní nabídky zvolením Tools > Tutors > Calculus — Single Variable > Limit Methods.... Tento nástroj umí řešit zadané limity krok po kroku pomocí implementovaných matematických pravidel. Můžeme mu tedy zadat výraz a bod, v němž chceme určit jeho limitu, a nechat například maplet zobrazit celé řešení krok za krokem kliknutím na tlačítko All Steps. Výsledek tohoto postupu na příkladu 2.28.(b) můžeme vidět na obrázku 2.32. V mapletu si však můžeme zobrazit pouze následující krok výpočtu, pokusit se použít některé z implementovaných pravidel nebo požádat o nápovědu, které pravidlo použít. Calculus i - Limit Methods File Edit Rule Definition Apply Rule Understood Rules Help - Enter a function Function (cos((l/2)*x)-sin((l/2)*x))/cos(x) — J 2 + lim cos\ — x 1 2 _ 1 _ U J lim sin[x) lim sin(x) lim sin{x) Variable x Direction |7 Show Hints Constant Constant Multiple Start Get Hint Identity Sum Difference Product Quotient Power Change I'Hopital's Rule Divide by zero Factor Rewrite Exponential Natural Logarithm ^ || 1 t || ^ | Undo Next Step All Steps Close Obrázek 2.32: Pomocník pro určování limit. Definice 2.11: Řekneme, že funkce f(x) je spojitá v bodě xq, pokud má v tomto bodě vlastní limitu a platí: lim f(x) = /(xq). 50 Dennice 2.12: Řekneme, že funkce f {x) je zprava (resp. zleva) spojitá v bodě xq, pokud má v tomto bodě příslušnou jednostrannou vlastní limitu a platí: lim f (x) = f(x0) (resp. x—>xo+ lim f (x) = f(x0)). Dennice 2.13: Řekneme, že funkce f {x) je spojitá na intervalu J G D(f), pokud (a) / je spojitá v každém vnitřním bodě intervalu J (b) a patří-li levý (resp. pravý) koncový bod do intervalu J, je v něm funkce / spojitá zprava (resp. zleva). V systému Maple můžeme jednak testovat rovnost limity a funkční hodnoty, jak plyne z definice. Pro určování spojitosti funkce na intervalu je však možné (a vhodné) využít příkazu discont hledajícího nespojistosti funkce. Příkaz má dva povinné parametry, a to výraz, jehož nespojitosti určujeme, a nezávisle proměnnou. Další možností je použít příkaz iscont testující spojitost na zadaném intervalu. Odpovědí je pravdivostní hodnota, zda je funkce na daném intervalu spojitá, či nikoliv. plot(taníx), _r = -5 ..5,y = -3 ..3, thickness= 3, discont= true) Obrázek 2.33: Zobrazování nespojitých funkcí. Pokud je funkce y = f (x) nespojitá na daném intervalu jen v konečně mnoha (izolovaných) bodech, systém Maple j i v těchto bodech spojuje úsečkami rovnoběžnými s osou y. 51 Jestliže chceme nespojitosti zobrazit korektně, použijeme nepovinný atribut discont příkazu plot, který nastavíme na hodnotu true - viz obrázek 2.33. Od verze Maple 14 je možné také zobrazovat odstranitelné nespojitosti (obrázek 2.34). Obrázek 2.34-' Zobrazování nespojitých funkcí a vyznačování odstranitelných nespojitosti. Výsledkem příkazu discont u funkcí definovaných po částech jsou vždy body „podezřelé" z nespojitosti. Pro zjištění, zda se jedná o nespojitosti či nikoliv, je potřeba v těchto bodech provést test (existence a) rovnosti limity a funkční hodnoty. Obrázek 2.35 ukazuje použití příkazu discont v případě funkce f(x) zadefinované po částech. discont{piecewise{x < 0,x,x > 0,x),x) {0} Obrázek 2.35: Použití příkazu discont u funkce definované po částech. 52 x ^ 4 ... x = 4 byla spojitá pro všechna i G K. Řešení: Jelikož x2 — 16 = (rr — 4) • (rr+4), platí f(x) = x+4 pro i/4,a tedy lim f(x) = 8. x—>4 Z definice spojitosti pak dostáváme: C = /(4) = 8. Příklad 2.31: Určete body nespojitosti funkcí: (a) f(x) = ... x>2 ... 1 < x < 2, ... x < 1 (b) /(*) = Ä^I, (c) fXx) = ^f,beR. Í3-x2 -1 ... x < 0 c-rr + ři ... 0 < :r < 1 + 8 ... x > 1 byla spojitá pro všechna x G IR. Příklad 2.33: Uveďte příklad funkce, která na uzavřeném intevalu není spojitá, ale má limitu v každém bodě tohoto intervalu. 2.5 Derivace funkce Definice 2.14: Nechť / je funkce, x0 E IR. Existuje-li lim iM_Jl£o)? nazýváme tuto limitu x->xo x x° derivaci funkce / v bodě x0. Poznámka 2.2: Derivace funkce f(x) je funkce, která je definovaná ve všech bodech, v nichž existuje limita z předchozí definice. Tuto funkci značíme několika způsoby: f'(x), nebo d^. Analogicky můžeme definovat druhou derivaci funkce f(x) jako derivaci funkce f'(x) a podobně derivace vyšších řádů. Poznámka 2.3: Limita v definici 2.14 může být vlastní i nevlastní. Podle toho rozlišujeme také vlastní a nevlastní derivaci. V tomto textu si situaci ulehčíme a budeme uvažovat pouze vlastní derivace. Z tohoto důvodu budeme slovo „vlastní" vynechávat a slovem „derivace" budeme vždy rozumět vlastní derivaci. Systém Maple nabízí (jako obvykle) několik možností, jak určit derivaci funkce. Opět můžeme využít kontextové nabídky (tj. zapsat do dokumentu výraz, který chceme derivovat, kliknout na něj pravým tlačítkem myši a z nabídky zvolit položku Differentiate s výběrem nezávisle proměnné). Dále je možné použít oba již uvedené symboly zápisu derivace, které jsou k dispozici v paletě Expression. Systém Maple (v režimu Document Mode) rozpozná i zápis f'(x) (tj. použití apostrofu jako symbolu derivace). Dlaší možností je příkaz diff mající dva povinné argumenty: výraz a nezávisle proměnnou. 53 d (jc2 + 2-jľ + 6) = 2x + 2 c r 2 dx (x2 + 2 x + 6) =2 x + 2 dijf{x + 2 x + 6, x) = 2 x + 2 2 , _ , , differeoäate w.r.t. x _ , -x +2x + 6-* 2x + 2 {x2 +2-x+é)' = 2x + 2 Obrázek 2.36: Přehled možností při výpočtu derivace. Při počítání derivací musíme být opět opatrní a rozlišovat mezi funkčním operátorem a výrazem. Všechny zmíněné způsoby určení derivace funkce (nebo lépe výrazu) vrací výsledek jako výraz. Pokud chceme poté určit jeho funkční hodnotu, musíme buď použít příkaz eval, nebo ze získaného výrazu udělat funkci příkazem unapply, případně použít apostrofovou notaci pro zápis derivace, viz obrázek 2.37. h (x) ■= x2 + 2 x + 6 x—*x + 2 x + 6 x^2x + 2 D(A)(2) 6 2x + 2 eval(%, x —2) 6 D(sin) D(sin) (x) cos cos(jľ) x^2x + 2 g(2) 6 h>(2) 6 Obrázek 2.37: Výpočet derivace v bodě. Systém Maple disponuje též příkazem D představujícím diferenciální operátor. Jeho argumentem je funkční operátor a výsledkem derivace opět jako funkce (funkční operátor) - 54 pravá část obrázku 2.37. —T{x + 2 x + 6) =2 A x —j{x2 +2-1+6) =0 d x diffix +2x + 6,x,x) =2 diff{x2 + 2 x + 6; x, x, x) =0 (x2 +2x + 6) " = 2 (xi + 2-x + 6) =0 Obrázek 2.38: Výpočet derivací vyšších řádů. Derivace vyšších řádů zadáváme tak, jak jsme zvyklí „s tužkou na papíře". Při použití příkazu dif f se n-tá derivace specifikuje tak, že zadáme nezávisle proměnnou n-krát (jako argument příkazu)5. Systém Maple (opět pouze v režimu Document Mode) umí rozpoznat i zápis s číslem derivace v exponentu výrazu v kulatých závorách - toto je nutné při odkliknutí ještě potvrdit ve vyskakujícím okénku (obrázek 2.38). Stejně jako u limit poskytuje Maple jednak pomocné nástroje pro výpočet derivací, ale od verze 16 také matematickou aplikaci s definicí a znázorněním derivace (Tools > Math Apps > Calculus — Derivative Definition) viz obrázek 2.39. Derivative Definition -20 Obrázek 2.39: Interaktivní znázornění derivace. Prvním z pomocných nástrojů pro výpočet derivace je maplet zvaný Derivatives. Spustíme 5 Je možné použít i zkrácený zápis ve tvaru dif f (f (x) ,x$n). 55 jej z hlavní nabídky zvolením Tools > Tutors > Calculus — Single Variable > Derivatives.... Maplet pro zadanou funkci vypočítá její první a druhou derivaci, zvolené funkce vykreslí do jednoho grafu. ^ Calculus 1 - Derivative File Help - Plet Window - n u -i- \ x 2 3 y-2- -3- ■Enter a function and an interval [a,b]-I f(x) = ■Derivatives I f'(x) = |cos(x)-x*sin(x) |7 Display F'(x) in the plot F"(x) = |-2*sin(x)-x*cos(x) I" Display F"(x) in the plot Display ~~j Plot Options Close - Maple Command DerivitivePlrt(K*c«(n) fí .. Pi < 1 order1 = [1] < 'view' = [(". .. 2.14, - J. 51 .. 1.24]); J Obrázek 2.40: Pomocník pro výpočet a zobrazení derivací. Calculus 1 - Differentiation Methods File Edit Rule Definition Apply Rule Understood Rules Help - Enter a Function Function |x*sin(x) -(xsifi(x : :. i - c I -^sm\:. = sm{x) -+ xcos(x] Constant Multiple 5um Product Integral Exponential Difference Quotient Chain Rule Rewrite Natural Logarithm Undo Next 5tep Obrázek 2.41: Pomocník pro výpočet derivací. Druhý takový nástroj je maplet s názvem Differentiation Methods. Spustíme jej 56 z hlavní nabídky zvolením Tools > Tutors > Calculus — Single Variable > Differen- tiation Methods.... Stejně jako analogický pomocník u limit umí řešit derivace zadaných funkcí krok po kroku pomocí implementovaných matematických pravidel (která nalezneme v nápovědě). Můžeme mu tedy opět zadat výraz a nezávisle proměnnou a nechat maplet zobrazit celé řešení krok za krokem kliknutím na tlačítko All Steps. Výsledek tohoto postupu můžeme vidět na obrázku 2.41. V mapletu si také můžeme zobrazit pouze následující krok výpočtu (Next Step), pokusit se použít některé z implementovaných pravidel nebo požádat o nápovědu (Get Hint), které pravidlo použít. Příklad 2.34: Určete: Příklad 2.35: Uveďte příklad spojité funkce na intervalu J, která na tomto intervalu není diferencovatelná (tj. nemá v alespoň jednom bodě derivaci). Dokážete uvést příklad funkce spojité na intervalu J, která na tomto intervalu nemá derivaci právě ve dvou bodech? Poznámka 2.4: Geometrickou interpretací derivace funkce f(x) v bodě xq je směrnice tečny k funkci f(x) v tomto bodě. Jestliže tedy y = k ■ x + q je rovnicí tečny v bodě xq, pak Příklad 2.36: Určete rovnici tečny k funkci f(x) = x2 v bodě xq = 1. Vykreslete do jednoho grafu funkci f(x) i tuto tečnu. Příklad 2.37: Najděte bod x0 tak, aby tečna k funkci f(x) = x3 v tomto bodě byla rovnoběžná s přímkou y = 12 • x — 5. Vykreslete do jednoho grafu funkci f(x), nalezenou tečnu a zadanou přímku. Příklad 2.38: Najděte bod x0 tak, aby tečna k funkci f(x) = x3 v tomto bodě byla kolmá na přímku y = — \-x — 5. Vykreslete do jednoho grafu funkci f(x), nalezenou tečnu a zadanou přímku. 2.5.1 Diferenciál Definice 2.15: Řekneme, že funkce / je diferencovatelná v bodě x0, jestliže je v něm definovaná a jestliže existuje A E IR tak, že lim ^Xo+h^ ^x°^ A'h = Q. Funkce A • h (h E IR se nazývá diferenciálem funkce / v bodě xq a značí se df(xo)(h). Poznámka 2.5: Jak již bylo zmíněno v příkladu 2.35, „diferencovatelná funkce" je totéž co „funkce mající derivaci". Diferenciál je možné použít k určení přibližné hodnoty funkce v okolí bodu se známou funkční hodnotou. V systému Maple se tato „výhoda" smazává, jelikož samotný Maple nám okamžitě vypíše přibližnou funkční hodnotu s „libovolnou" přesností. Přesto je možné si na příkladech význam pojmu ověřit a využít Maple alespoň k dílčím výpočtům. (b) £(f(g(x)) k = f'(x0). 57 Příklad 2.39: Určete přibližně: arctan(l.Ol). Řešeni: Vyjdeme z definice 2.15. Ta nám říká, že f(x0 + h) »2 f(x0) + df(x0) ■ h. V našem případě Xq — 1 cl h = O.Ol. Řešení získané v Maple je znázorněno na obrázku 2.42. Derivace zadané funkce: —— arctan(x) =--— to 1 +x2 S přesnosti na 10 míst pomocí Maple: arctan( 1,01) = 0.7903732467 Přibližně pomocí diferenciálu: arctan(1.01) ~ arctan( 1) H--^—=--0.01 = arctan( 1.0) + —í— = Q.7903981634 1 + l1 200 Obrázek 2.42: Řešení příkladu 2.39. Příklad 2.40: Určete přibližně: \/51-Příklad 2.41: Určete přibližně: \^123. Příklad 2.42: Určete přibližně: 2.954. 2.5.2 Taylorův polynom Definice 2.16: Nechť n G N U {0} a / je funkce mající v bodě x0 G M derivace až do řádu n. Polynom T'(x) = f(x0) + ^ • (x - x0) + • (x - x0)2 + ... + £^ • (x - x0T,x G K, 1! 2! n\ se nazývá Taylorův polynom stupně n funkce / v bodě x0. Funkci RÍ(x)=Tf(x)-f(x) říkáme Taylorův zbytek a celý výraz TÍ(x) + RÍ(x) nazýváme Taylorovým vzorcem. Poznámka 2.6: Jak jsme si mohli všimnout, aproximace funkční hodnoty pomocí diferenciálu je vlastně speciální případ Taylorova polynomu pro n = 1. Taylorův polynom také můžeme využít k aproximaci funkční hodnoty v okolí bodu se známou funkční hodnotou. Aproximace je tím přesnější, čím vyšší je n. Díky následující poznámce můžeme zjistit, jak vysoké musí být n, abychom docílili požadované přesnosti aproximace. Poznámka 2.7: Nechť jsou splněny předpoklady definice 2.16. Pak existuje číslo 0 G (0,1) tak, že 58 Poznámka 2.8: Když položíme v Taylorově vzorci xq = 0, všechny výrazy se nám zjedno-dušší. V takovém případě také někdy mluvíme o Maclaurínově vzorci. Pro Maclaurinův zbytek pak platí: (0 -x) (n + 1)! Systém Maple obsahuje příkaz taylor vypisující Taylorův vzorec příslušný zadané funkci v prvním parametru příkazu. Druhým povinným parametrem je bod, v němž se vzorec realizuje. Standardně je vzorec vypisován pro n = 5, což je o jedna nižší hodnota než základní nastavení systémové proměnné Order. Tato proměnná představuje řád Taylorova zbytku, tedy číslo n + 1. Počet členů Taylorova vzorce tak můžeme ovlivnit přenastavením proměnné Order nebo zapsáním této hodnoty na místo třetího (nepovinného) parametru příkazu taylor6. Někdy se nám může hodit pracovat pouze s Taylorovým polynomem (tedy bez Taylorova zbytku). K tomu je potřeba použít příkaz convert, kterému zadáme jako první parametr Taylorův vzorec (získaný příkazem taylor) a na místo druhého parametru zapíšeme slovo polynom (čímž se „zbavíme" vyjádření Taylorova zbytku pomocí funkce O). taylor(úxi{x),x = xO) (■ + o( (x-xO)Ř) 1 2 1 3 1 4 1 5 sin(jcO) + cos(xO) (x — xO) —— sin(jc0) (x — xO)--— cos(xO) (x—xO) + sin(jcO) (x — xO) + cos(jcO) (x — xO) taylor{ sin (x). x = 0) = x —\r x + \ x^ + o(x6) 6 120 , , l x „ .„1 ...1 2.1 3.1 4. 1 5 .__1 6 , 1 7 . 1 8 . 1 9 , n( 10) t Math Apps > Calculus — Taylor's Theorem) - viz obrázek 2.44 s interaktivní demonstrací zavedeného pojmu. Příklad 2.43: Najděte Maclaurinův polynom funkce tan(rr) pátého stupně. Příklad 2.44: Vytvořte Taylorův polynom pro funkci xx čtvrtého stupně v bodě 1. Příklad 2.45: Pomocí Taylorova polynomu vyjádřete funkci f(x) = x5+x4+x3+x2+x + l jako polynom v proměnné x — 2. Jak jsme se zmínili v poznámce 2.6, Taylorův polynom můžeme využít k nalezení přibližné funkční hodnoty. Díky poznámkám 2.7 a 2.8 máme navíc nástroj, jak určit tuto hodnotu se zadanou přesností. Podobně jako v případě použití diferenciálu platí i zde, že (podstatně) 6V tomto případě nedojde ke změně hodnoty uložené v proměnné Order, ovlivněn bude pouze příslušný výpis příkazu taylor. 59 Obrázek 2.44 ■' Interaktivní demonstrace Taylorova polynomu. jednodušším způsobem získáme dokonce přesnější hodnotu pouhým použitím systému Maple. Přesto může Maple sloužit jako pomocník při výpočtu a současně díky němu můžeme ověřit, zda byla splněna požadovaná přesnost výpočtu. Příklad 2.46: Určete hodnotu Eulerova čísla e s chybou menší než 10~3. Řešeni: Chceme zjistit hodnotu čísla e, vezmeme si proto na pomoc funkci f(x) = ex a budeme hledat funkční hodnotu /(l). Funkci musíme aproximovat v nějakém jiném bodě než je bod 1 (neboť pro ten bychom dostali přesnou hodnotu e a v ničem by nám to nepomohlo), současně ale ne příliš daleko od tohoto bodu (čím dále od tohoto bodu bychom hledali aproximaci, tím nepřesnější bude výsledek). Abychom si situaci co nejvíce zjednodušili, vezmeme bod 0 (který je „blízko" bodu 1), pro nějž máme tvar Taylorova (resp. Maclaurinova) zbytku určený poznámkou 2.8. Máme tedy funkci f(x) = ex a víme, že pro příslušný Maclaurinův zbytek platí: (n + l)! x n+l kde 0 G (0,1). Nás bude zajímat funkční hodnota v bodě 1, tj. pro x = 1 dostáváme: ^(1» = (STi)i- V zadání je požadována přesnost 10~3. Má tedy platit: K(i)| 3 103 = 3000 a následně: [n+ 1) ! > 3000 — n > 6 Maclaurinův polynom jako funkce: aprox ■— unapplyiconvert{taylor{e*,x = 0. 7 ).polynom),x) . . ,1 2,1 3, 1 4, 1 5 , 1 6 x->l +x+ —x + —x +— x +-r^rx + ——X 2 6 24 120 720 Aproximace Maclaurínovým polynomem: evalf{aprox{ 1)) =2.718055556 Přibližná hodnota v Maple: evalf{e) =2.715281828 Chyba aproximace: chyba := \evalf{aprox{ 1)) - evalf{z) \ = 0.000226272 Obrázek 2.45: Řešení příkladu 2.46. Příklad 2.47: S chybou menší než 10 3 určete hodnotu čísla: (a) i, (b) ^250. 2.6 Vyšetření průběhu funkce Než začneme s vyšetřováním průběhu funkce na příkladech, připomeňme si základní důležité pojmy a jejich vlastnosti. Poznámka 2.9: Nechť f(x) je funkce. Pokud f'(x) > 0 pro všechna x G J, pak je f (x) na intervalu J rostoucí. Pokud f'(x) < 0 pro všechna x G J, pak je f (x) na intervalu J klesající. Definice 2.17: Řekneme, že funkce f(x) má v bodě xq G IR lokální minimum, jestliže existuje ô G IR, ô > 0 tak, že f(x) > f(x0) pro všechna x G (xq — ô,x0 + ô). Analogicky definujeme lokálni maximum funkce. Lokální minima a maxima se souhrnně nazývají lokální extrémy. 61 Poznámka 2.10: Nechť f {x) je spojitá v bodě x$. Jestliže existuje ô G IR, ô > 0 tak, že f {x) je neklesající na intervalu [x q — ô,x0) a nerostoucí na intervalu (x0,Xq + ô), má f {x) v bodě x0 lokálni maximum. Analogické tvrzení platí pro lokální minimum. Poznámka 2.11: V předchozí poznámce jsou záměrně použity výrazy „neklesající" a „nerostoucí". Lokální minimum (resp. maximum) se totiž může podle definice nacházet i na intervalu, kde je funkce konstantní. V tom případě se jedná o tzv. neostrý extrém. Pro případ ostrých extrémů je možné v předchozí poznámce nahradit slovo „neklesající" za „rostoucí" a „nerostoucí" za „klesající". Poznámka 2.12: Body xq, v nichž f'(xo) = 0, nazýváme stacionárními body. Tyto body a body, v nichž funkce f(x) nemá derivaci, jsou „podezřelé" z toho, že jsou lokálními extrémy funkce. Jestli se skutečně jedná o extrém, určíme buď podle definice 2.17, poznámky 2.10 nebo poznámky 2.13. Poznámka 2.13: Nechť f'(x0) = 0 a f"(x0) Ý 0. Pokud f"(x0) < 0, má funkce f(x) v bodě Xq lokální maximum. Pokud f"(x0) > 0, má funkce f(x) v bodě x0 lokální minimum. Definice 2.18: Nechť f(x) je funkce, J interval. Říkáme, že / je konvexní na J, jestliže pro každé dva body xľ, x2 G J, X\ < x2 a každá dvě nezáporná reálná čísla a1? a2 taková, že a>i + a>2 = 1 platí: f(ax ■x1 + a2- x2) < ai • f(x1) + a2 ■ f(x2). Pokud za týchž předpokladů platí: /(ai ■x1 + a2- x2) > ai • f(x1) + a2 ■ f(x2), říkáme, že / je konkávni na J. Pokud změníme všechny neostré nerovnosti na ostré, mluvíme o ryzí konvexitě, resp. ryzí konkávitě. Poznámka 2.14: Nechť / má na intervalu J C D(f) druhou derivaci. Pokud f"(x) > 0 pro všechna x G J, pak je / na J konvexní. Pokud platí ostrá nerovnost, je / na J ryze konvexní. Analogicky, pokud f"(x) < 0 pro všechna x G J, pak je / na J konkávni. V případě ostré nerovnosti je ryze konkávni. Poznámka 2.15: Body, v nichž se mění ryzí konvexita funkce na ryzí konkávitu a naopak, nazýváme inflexními body. Nechť tedy x0 G IR, ô G IR, ô > 0. Pokud f (x) je na (x0 — ô,Xq) ryze konvexní a na (xq, xq + ô) ryze konkávni (resp. naopak), nazýváme bod xq bodem inflexním. Poznámka 2.16: V bodech nespojitosti xq funkce f(x) zkoumáme, jestli v nich jsou asymptoty bez směrnice, a to ověřením, zda lim f(x) = ±oo nebo lim f(x) = ±oo. x—>XQ~ X—>XQ + Dále zkoumáme, zda má funkce f(x) asymptotu (asymptoty) se směrnicí, tj. zda existují A, B G IR tak, že lim f(x) = A-x + B nebo lim f(x) = A- x + B. Platí, že „ /(*) ( * /(*) A = lim - resp. A = lim X^řOO x \ x^-co x B = lim (f(x) — A-x) resp. B = lim (f(x) — A- x) - ' - - x—> — oo 62 Při vyšetřování průběhu zadané funkce f(x) zkoumáme vlastnosti popsané v předchozích definicích a poznámkách, spolu s některými dříve zavedenými pojmy. Aplikujeme tak následující postup: 1. Zjišťujeme D(f), hledáme nulové body (tj. taková x, pro která f(x) = 0), průsečík s osou y (tj. /(O)), určujeme, kdy je funkce kladná, záporná, a hledáme body nespoji-tosti funkce /. 2. Vyšetřujeme funkci f'(x). Hledáme D(f), nulové body a intervaly, kde je funkce f'(x) kladná (tj. f(x) je rostoucí) a kde záporná (tj. f(x) je klesající). 3. Vyšetřujeme funkci f"(x). Hledáme nulové body a intervaly, kde je funkce f"(x) kladná (tj. f(x) je konvexní) a kde záporná (tj. f(x) je konkávni). Ověřujeme, zdaje některý z dříve nalezených stacionárních bodů lokálním extrémem funkce f(x). 4. Hledáme asymptoty funkce /, a to asymptoty bez směrnice a asymptoty se směrnicí. 5. Vykreslujeme graf funkce f(x). Příklad 2.48: Vyšetřete průběh funkce f(x) = x ■ e*. Řešeni: Budeme procházet právě uvedený postup, přičemž budeme využívat možností Maple 14. 1. Definiční obor funkce vidíme na první pohled z jejího předpisu. Funkce není definovaná pouze v bodě nula, tedy D(f) = IR\ {0}. K nalezení nulových bodů a intervalů, kde je funkce kladná, resp. záporná, využijeme příkaz solve7. V tomto případě však příkaz žádné řešení nenajde. Musíme jej proto určit „sami". Výraz e ž je pro libovolná x kladný, z čehož plyne, že f(x) > 0 pro x > 0 a f(x) < 0 pro x < 0. Pro nalezení nespojitostí použijeme příkaz discont. 1 Znatuenka: f(x) —xe* : solve[f[x) < 0) Harnin.qr solutions may have been lost Nulové body: solve(f(x) — 0, x) solve[f[x) > 0) Warninq, solutions may have been lost Průsečík s osou>': Není, Funksxffx) není Body nespojitosti: definovaná v bodě 0. f i 1 discont{x-e ,x) = {0} Obrázek 2.46: Řešení příkladu 2.48 - bod 1. Upozorněme, že příkaz solve má jednu „nepříjemnou" vlastnost: v případech, kdy nenalezne žádné řešení, na výstup nic nevypíše a přejde na další řádek. 63 2. Vypočteme f (x). Definiční obor první derivace je stejný jako u původní funkce, tedy D(f) = IR\{0}. Dále použijeme příkaz solve. Nyní již dostáváme všechny požadované výsledky od Maple. Pro nalezení stacionárních boduje možné též použít příkaz extrema vypisující funkční hodnoty ve stacionárních bodech. Prvním parametrem příkazu je výraz, jehož stacionární body hledáme, druhým parametrem je množina omezujících podmínek (když žádné nejsou, uvedeme prázdné složené závorky). Dalším parametrem je nezávisle proměnná zadané funkce a posledním čtvrtým parametrem je název proměnnné (v apostrofech), do níž se uloží stacionární body - viz obrázek 2.47. derl := -^-f(x) a x Nulové body: solve{derl = 0, x) První derivace je kladná (tj. funkce/je rostoucí): solve(derI > 0,x) RealRange{ - c°, Open(0)). RealRange(Open{ 1). co) První derivace je záporná (tj. funkce/je klesající): solve{derl < 0,x) RealRange( Open{ 0), Open( 1)) Extrémy: extrema(f(x), { }^x'boď) bod {{*=!}} Obrázek 2.47: Řešení příkladu 2.48 - bod 2. der2 :- f(x) á x 1 Druhá derivace je kladná (tj. funkce/ j e konvexní): solve{der2 > 0, x) Warninq, solutions may have been lost e 3 X solved > G,x) RealRange(Open(Q), 03) Nulové body: so lve (der 2 = 0, je) Druhá derivace je záporná (tj. funkce/je konkávni): solve{der2 < 0, x) Warninq, solutions may have been lost solve{x^ < 0,jc) RealRange( - Open(0)) Extrémy: eval(der2,x= 1) e Obrázek 2.48: Řešení příkladu 2.48 - bod 3. 64 3. Vypočteme f"{x) a do třetice použijeme příkaz solve, který podobně jako poprvé nezvládne vypočítat zkoumané nerovnosti. Jelikož je výraz vždy kladný, můžeme nerovnosti zjednodušit a hledat pouze znaménka výrazu x3. Vyhodnocením druhé derivace ve stacionárním bodě x = 1 zjistíme, že se jedná o lokální minimum. 4. Počítáme dříve uvedené limity a zjišťujeme, že zadaná funkce má asymptotu se směrnicí tvaru y = x + 1 a asyptotu bez směrnice v bodě x = 0 (obrázek 2.49). Se směrnicí: Bez směrnice: Předpokládáme, že směrnice má rovnici y = A-x + B. A, :- lim W 1 I"*™ x 1 Očekávat ji můžeme pouze v bodě nespojitosti. Její obecný tvar je x = K. K e J5. lim f [x] = oo A:= lim Í{X) ■i x -»■ - m x 1 lim f (x) = 0 i 1 Asymptota se směrnicí bude jedna (tj. bude stejná pro x —» oo a pro x —> - oo ). Bude mít tvar _y = x + 1. Obrázek 2.49: Řešení příkladu 2.48 - bod 4. plot{ [f[x),x+l],x = -3 .3,y- = -5 ..10. color = [red,green], lmestyle = [solid, dash], thickness = [3, 2], discont= true) 10-| -3 -2^....--^T-- 0 1 ' 1 ■ 1 1 2 3 -í - Obrázek 2.50: Řešení příkladu 2.48 - bod 5. 65 5. Vykreslíme graf funkce f {x). Použijeme k tomu příkaz plot, jemuž nastavíme několik nepovinných parametrů pro lepší vzhled. Do grafu vykreslíme zadanou funkci / (červeně) a asymptotu se směrnicí y = x + 1 (zeleně čárkovaně). Parametr discont nastavíme na true, aby byla správně zobrazena nespojitost funkce /. Příklad 2.49: Vyšetřete průběh funkce f(x) = -^f^-Řešeni: 1. Definiční obor funkce / je celá množina reálných čísel, tj. D(f) = IR. K nalezení nulových bodů a intervalů, kde je funkce kladná, resp. záporná, využijeme klasicky příkaz solve. Pro nalezení nespojitostí použijeme opět příkaz discont. fix) x + 1 Znaménka: solve{f{x) < 0) ReaíRange{ - oa. Open(0)) Nulové body: solve{f{x) = 0. x) 0 sotve(f[x) > 0) RealRange( Open{ 0). co ) Průsečík s osou>': Body nespojitostii /(O) 0 discont(f(x). x) = { } Obrázek 2.51: Řešení příkladu 2.49 - bod 1. 2. Postupujeme zcela analogicky předchozímu příkladu. D(f) ax 1 x + 1 Nulové body: solve(derl = 0,x) 2 x U2 + i)J ■1,1 První derivace je kladná (tj. funkce/je rostoucí): salve(derl > 0,x) RealRcmge{ Open{ -1). Open{ 1)) První derivace je záporná (tj. funkce/je klesající): solve{derl < 0,x] RealRemge( - od, Open{ -1)), RealRange{ Open{ 1), co) Extrémy: extrema(f(x), { },x,'body') body 2 ' 2 {{x=-l},{x=l}} Obrázek 2.52: Řešení příkladu 2.49 - bod 2. 66 3. Opět postupujeme stejně jako v příkladu 2.48. Tentokrát však získáváme nulové body druhé derivace zadané funkce. Jak vidíme z intervalů konvexity a konkávity, všechny tři získané body jsou body inflexní. Stacionární body jsou dva, bod x = 1 je lokálním maximem funkce / a bod x = — 1 jejím lokálním minimem. .2 der2 := -^jfix) di 3 ó x S x 3 Druhá derivace je kladná (tj. funkce/je konvexní): solve{der2 > 0,x) RealRange{Open{ -JJ), Open{0) ),RealRange{Open{ Ji),a>) U2 + 0 U2 + i) Druhá derivace je záporná (tj. funkce/je konkávni): Nulové body: solve{der2 < 0,x) RealRange{ - Open{ -/3~) ). RealRange{ Open(0). Open( JT) ) so lve (íier2 = 0, x) Extrémy: eval(der2.x = 1) 1 2 svař (der2, x = -1) 1 2 Obrázek 2.53: Řešení příkladu 2.49 - bod 3. 4. Určíme asymptoty se směrnicí a bez směrnice. Se směrnicí: Předpokládáme, že směrnice má rovnici y = A-x + B. A, :— lim 1 I -» oo Km Zlil i - ™ x o lim^^/(x) ~Á2-x} 0 5, Asymptota se směrnicí bude jedna (tj. bude stejná pro x —> <» a pro x —* - oo). Bude mít tvar y = 0. Bez směrnice: Funkce je spojitá na celé množině R, a nemá tak asymptotu bez směrnice. Obrázek 2.5^: Řešení příkladu 2.49 - bod 4. 5. Vykreslíme graf funkce f(x). 67 plot[[f[x),Q],x = -lQ.AQ,y = - -2 .1, color = [red, green]. linestyle = [solid, dash ]. thickness = [3.3]) 2 -i y i- i i i i i i i i i i -i - í 10 r. -2 - Obrázek 2.55: Řešení příkladu 2.49 - bod 5. Příklad 2.50: Vyšetřete průběh funkce: (a) /(*) = (x2 - l)3, (b) /(*) = #=T> (c) /(*) = (d) f(x) = sin(rr) + x, (e) /(*) • ln \x\ 0 .. x^O .. x = 0. Při vyšetřování průběhu funkce nám mohou dále pomoci některé příkazy nacházející se v balíku Student [Calculus 1]. Představme si alespoň několik z nich. Příkaz Asymptotes, vypíše asymptoty funkce (zadané systému jako výraz) se směrnicí i bez směrnice. Použití na funkcích z příkladů 2.48 a 2.49 ilustruje obrázek 2.56. with{Student[Calculusl ]) : ( 1 \ Asymptotes 7 { X v) [y = x+l,x=0] Asymptotes U2+rx) [y=o] Obrázek 2.56: Použití příkazu Asymptotes z balíku Student [Calculusl]. 68 Díky dalšímu příkazu, FunctionChart, zobrazíme graf funkce (zadané jako výraz) s vyznačením významných bodů a funkčních vlastností. Na obrázku 2.57 jsou zobrazeny graf vyšetřovaných funkcí z příkladů 2.48 a 2.49. Jsou v něm znázorněny extrémní a limitní body, monotonie funkce a konvexita s konkávitou. Obrázek 2.57: Použití příkazu FunctionChart z balíku Student [Calculusl]. Do balíku Student [Calculusl] dále náleží příkazy CriticalPoints pro hledání stacionárních bodů, ExtremePoints pro hledání extrémů, Inf lectionPoints pro hledání in-flexních bodů, Roots pro hledání kořenů a další. Závěrem uveďme ještě příkazy RollesTheorem a MeanValueTheorem pro vizualizaci Rolle- ovy věty, resp. Lagrangeovy věty o střední hodnotě. Poznámka 2.17: Rolleova věta: Nechť funkce / splňuje tyto předpoklady: (1) Je spojitá na uzavřeném intervalu [a, b]. (2) V každém bodě otevřeného intervalu (a, b) má vlastní nebo nevlastní derivaci. (3) Platí f (a) = f(b). Pak existuje číslo c G (a, b) tak, že /'(c) = 0. Poznámka 2.18: Lagrangeova věta o střední hodnotě: Nechť funkce / splňuje tyto předpoklady: (1) Je spojitá na uzavřeném intervalu [a, b]. (2) V každém bodě otevřeného intervalu (a, b) má vlastní nebo nevlastní derivaci. Pak existuje číslo c G (a, b) tak, že platí f'{c) = , 69 with [Student\_Calculusl ]) : RollesTheoremi^x' + 2x — 3,x = -2 ..o) Illustrati on of R oil e's Theorem -1.Í -0.Í ■/(-V) I For the fundi on/[*) = J2 +2 * —3 on the interval [ -2, o], a graph shcjwing/[r)? the line connecting ( — 2,f[ —2) ) and (o,/[0) ), tangents parallel to the line connecting ( —2,f[ —2)) and (OJIO)). MeanValueTheoremix — 5x^ + 8 x — l,x= 1 ..3^ On the interval [1, 3], the MeanV alue Theorem is illustrated for thefunction/[r) = j? —5 }? +8 x— 1. Obrázek 2.58: Ilustrace významných tvrzení příkazy z balíku Student [Calculusl]. 2.7 Integrál funkce 2.7.1 Neurčitý integrál Definice 2.19: Řekneme, že funkce F(x) je na intervalu I primitivní funkcí'k f(x), jestliže pro všechna x E I platí F' (x) = f {x). Poznámka 2.19: Ke každé funkci f (x) spojité na J existuje na intervalu J nekonečně mnoho primitivních funkcí lišících se o tzv. integrační konstantu. Definice 2.20: Množinu všech primitivních funkcí k funkci f(x) nazýváme neurčitý integrál a značíme f{x) dx. Poznámka 2.20: Nechť F{x) je primitivní k funkci f{x). Pak platí: f(x) dx = F{x) + C, kde C G IR je integrační konstanta. V systému Maple máme opět několik možností, jak spočítat integrál ze zadané funkce, přesněji řečeno, jak k této funkci určit funkci primitivní. Systém Maple totiž k výsledkům nepřidává integrační konstantu (resp. ji pokládá standardně rovnu 0), což musíme mít stále na paměti. Při výpočtu můžeme využít symbol pro integrování z palety Expression, příkaz int, jehož parametry jsou výraz, který chceme integrovat, a proměnná podle níž integrujeme. 70 Nakonec můžeme zapsat výraz do dokumentu, kliknout na něj pravým tlačítkem myši a z kontextové nabídky zvolit Integrate a následně proměnnou, podle níž chceme integrovat (viz obrázek 2.59). Jx" dv ři + 1 Obrázek 2.59: Výpočet primitivní funkce. K výpočtu integrálů se nejčastěji používají 2 základní metody - metoda per partes a substituční metoda. Poznámka 2.21: Metoda per partes vychází z pravidla pro derivaci součinu. Její předpis pro funkce u(x) a v(x) (které mají na daném intervalu spojité derivace) vypadá následovně: /U(I)V(I) Tutors > Calculus — Single Variable > Integration Methods.... Maplet nás krok po kroku povede výpočtem zadaného integrálu, nabízí tradičně nápovědu k jednotlivým krokům a pravidla, která je možno použít (viz obrázek 2.63). [71 Calculus 1 - Integration Methods File Edit Rule Definition Apply Rule Understood Rules Help jsi ■ Enter a function — Function |sin(x)-^2 Variable |x fromj to[~ j?xdx 2 ' 2 áx + cos{2x) J áx ^- cos{2x) áx ' x -+ \—cos[2x) áx 2 yjc-y \cqs(2x) dx cos( u) du 1 1 4- Jc- ~t \cos{a) du — x- — sin(u\ — x- — sm[2x) [7 Show Hints Get Hint | Constant Identity Constant Multiple Sum Difference Power Parts Partial Fractions Change Revert Solve Rewrite Exponential Natural Logarithm ▼ Undo j Next Step | |gsteps""!] Close Flip Join Split Obrázek 2.63: Výukový nástroj pro počítání integrálů. 2.7.4 Určitý integrál Definice 2.21: Mějme funkci f{x), která je ohraničená na uzavřeném intervalu [a, b]. Rozdělme interval [a, b] na n podintervalů a označme toto dělení d. Délku i-tého podin- 74 tervalu (pro i = 1, 2,n) i samotný podinterval označme stejným symbolem Axí. Označme dále rrii infimum f(x) pro x G Ax,i a Mj supremum /(rr) na tomtéž intervalu. Nyní definujeme dolní integrální součet předpisem: n s (d) = nii ■ Ax,i í=i a horní integrální součet předpisem: n S(d) = ^Mi-AXi. í=i Definice 2.22: Nechť platí předpoklady a označení definice 2.21. Nyní definujeme dolní integrál jako supremum všech dolních integrálních součtů (pro různá dělení d), tj.: b /f (x) dx = sup s (d) d a a horní integrál jako infimum všech horních integrálních součtů (pro různá dělení d), tj.: b f (x) dx = inf S (d). d a Definice 2.23: Jestliže platí: -k f (x) dx = I f (x) dx, pak řekneme, že ohraničená funkce f {x) je na intervalu [a, b] integrovatelná (resp. má určitý integrál). Společnou hodnotu z předchozí rovnosti nazýváme Riemannovým integrálem z funkce f {x) na intervalu [a, b] a značíme: b f {x) dx. Poznámka 2.22: (Newtonova-Leibnizova formule) Jestliže je funkce f (x) na intervalu [a, b] integrovatelná, funkce F (x) na intervalu [a, b] spojitá a primitivní k f {x), pak platí: b j f (x) dx=[F{x)fa = F{b)-F{a). a K výpočtu určitého integrálu systém Maple nabízí předdefinovaný symbol v paletě Ex-pression. Je možné použít i příkaz int podobně jako pro neurčitý integrál s tím rozdílem, že nyní při specifikaci proměnné, podle níž integrujeme, uvádíme i její rozsah (rozsah integrace). 75 x2dx h 124 3 inf(x2, x= 1 ..5) 124 3 ŕ x-e dx ■'a a a b , b , ôif(x-ex,x = a ..b) a a b , b ■ e — e a — e + e b Obrázek 2.64: Výpočet určitého integrálu. F := UFMppŕv^Jx dx, x J 1 3 x—* — x 3 F(5) 124 3 F ~ unapplyi^ Jjc- eJ dv, x J x—* ( -1 + x) e* F(4) -F(fl) (-1 +fr) eŕ- (-1+a) e11 Obrázek 2.65: Výpočet určitého integrálu pomoci Newtonovy-Leibnizovy formule. Je samozřejmě možné využít i Newtonovy-Leibnizovy formule, přičemž si pomůžeme příkazem unapply pro převod výrazu na funkci. Na tomto příkladu si můžeme všimnout, že různými postupy je možné dojít ke stejnému, ale jinak upravenému výsledku. Pro geometrickou interpretaci určitého integrálu a názorné zobrazení dříve definovaných pojmů (dolní integrální součet, horní integrální součet, ...) poskytuje systém Maple příkaz RiemannSum z balíku Student [Calculusl]. Příkaz má dva povinné argumenty, a to funkci, již chceme integrovat, a interval, přes který chceme integrovat. Pokud zadáme jen tyto parametry, příkaz vypočítá integrální součet pro funkční hodnoty ve středech podintervalů vzniklých rozdělením původního intervalu a vypíše hodnotu tohoto součtu. K dispozici je však několik parametrů, které můžeme nastavit. Prvním je parametr method určující, jakou metodou budou voleny funkční hodnoty v podintervalech vzniklých z rozdělení původního intervalu. Pro dolní integrální součet použijeme nastavení method=lower, pro horní integrální součet nastavení method=upper (základní nastavení odpovídá zápisu method=midpoint). Dalším parametrem je output (výstup). Pro nás jsou zajímavé zejména možnosti output=plot (zobrazí funkci v grafu i s dělením původního intervalu a základními informacemi) a output=animation (vytvoří animaci sestávající z grafů v případě output=plot pro různě jemná dělení původního inter- 76 with [Student[ Calculus I ]) : RiemannSum{ x — 7- x + 11 -x + 9,x= O ..4, method= upper, output=plot) An upper Riemam sum approximation of f[x) dr, where f[x) = — 7 7? + \ l x + 9 and the partitionis uniform. The approximate value of the integral is 41.34560000. Number of subintervals used: 10. Obrázek 2.66: Geometrická interpretace určitého integrálu - vykreslení. with(Student[ Calculus 1 ]) : 1 3 2 RiemannSum\ x —7- x + 11 -x + 9, x= 0 ..4, method= lower,partita = [0, 0.5, 0.6, 0.9,2.3,2.4,2.5, 3.6, 3.9,4], output = animation) o -2 -4 An animatedlower Riematm sum approximation of ' f[x) dr, where f[x) = —7 jt2 -t- 11 jr -t-9 and the partitionis uniform. The approximate value of the integral is 31.3360:5 53:5. Number of subintervals used: 9. Obrázek 2.67: Geometrická interpretace určitého integrálu - animace. valu)12. Nakonec uveďme ještě parametr partition specifikující dělení původního intervalu. Parametru je možné přiřadit číslo (v tom případě se původní interval rozdělí na zadaný počet stejně velkých intervalů) nebo seznam bodů, v nichž se má původní interval rozdělit. Pokud nechceme používat příkaz RiemannSum, je možné využít další z nástrojů systému Maple, který nalezneme v menu zvolením Tools > Tutors > Calculus — Single Variable 12V animaci tak můžeme sledovat, jak se pro různě jemná dělení původního intervalu mění hodnota aproximace integrálu. 77 > Approximate Integration.... V tomto mapletu (obrázek 2.68) můžeme zadat funkci, interval, počet podintervalů tohoto intervalu a zvolit metodu, která bude použita k výpočtu určitého integrálu. Na výběr máme přitom i několik dalších metod kromě Riemannových součtů. Maplet také nabízí srovnání provedené aproximace integrálu a jeho skutečné hodnoty. Přesto tento nástroj postrádá některé možnosti, které nám poskytuje příkaz RiemannSum. [7J Calculus 1 - Approximate Integration File Help Plot Window Area (Approximate Integral) = \z.008248408 Actual Integral = [Ž" Enter a function interval and number of partitions-f(x) = |sin(x) b = [pT - Riernann Sums - C upper C lower C random C left (* midpoint C right ■ Newton-Cotes Formulae ■ C (1) Trapezoidal Rule C (2) Simpson's Rule C (3) Simpson's 3/8 Rule C (4) Boole's Rule C Newton-Cotes Formula with order = |i - Partition type - G Normal C Subintervals Display Animate Plot Options Compare Close ■ Maple Command ■ Hlňpproyimitelnt [ jin[y) ŕ 0 . .Pi z 'pirtiticoV = 10 / 'method' - rriidpůÍTYtr 'pirtitioiftype' = rioiTiiil ,■ ' output' 'plot' / 'bovo^jtiorij ' = II ['filled1 = [' triTijpirericy' = ■ 5]]) ; _ Obrázek 2.68: Maplet pro přibližný výpočet určitého integrálu a jeho geometrická interpretace. Příklad 2.55: Pomocí vhodné metody (resp. vhodného postupu) aplikované pomocí existujících příkazů určete následující integrály. Příkazem int následně ověřte správnost vašeho výpočtu. 1 ln(3) (a) J arctan(rr) dx, (d) J ^£rr dx o ln(2) ľ 1 2'7r (k) J T+7Š (e) J x2 • cos(x) dx o ln(2) (c) jsin(rr) • cos2(x) dx, (f) j \Jex — 1 dx. o o 2.7.5 Aplikace určitého integrálu Obsah plochy Již z geometrické interpretace určitého integrálu vidíme jednu z jeho možných aplikací pro řešení praktických úloh, a tou je výpočet obsahu plochy vymezené dvěma (případně i více) křivkami. 78 Poznámka 2.23: Nechť f {x) je na intervalu [a, b] nezáporná integrovatelná funkce. Pak pro obsah S plochy vymezené funkcí f (x), osou x a přímkami x = a, x = b platí: b S = J f (x) dx. a Pokud je naopak funkce f (x) na tomto intervalu nekladná, pak pro obsah S plochy vymezené týmiž křivkami platí: S f (x) dx. Z předchozí poznámky můžeme odvodit i jak počítat obsah plochy v případě, kdy funkce f {x) na intervalu [a, b] protíná osu x (interval rozdělíme na podintervaly, v nichž je funkce nezáporná, a podintervaly, v nichž je nekladná). Podobně můžeme odvodit, že pro výpočet obsahu S plochy vymezené funkcemi f(x),g(x) takovými, že \/x G [a, b] : f {x) > g (x), a přímkami x = a, x = b platí: b S = J (f(x) ~ 9{x)) dx. a Funkce je možné zadávat též parametricky, a to například rovnicemi x = ip(t), y = ip(t), t G [a, b]. Poznámka 2.24: Nechť je funkce / zadána rovnicemi x = tp(t),y = ip(t),t G [a, b], přičemž funkce iof ( [jf2, ], jc = 0 ..1. cofor = "NavyBlue'V thickness = 2, scaling= constrained) : region '■— implicitplot[o,x=0 ..\,y = x ,jf3. color ="cyan'iv displays [region.^]) 2ji (1 -oos(/))(^- (ŕ-sin(ŕ)) j dí přoř( [ŕ — sin (f), 1 — cos(ŕ). ŕ = 0 ..2jr], color = "NavyBlue", thickness = 2, filled'= [color = cyan ]. scaling= constrained) Obrázek 2.69: Řešení příkladu 2.56 vlevo, řešení příkladu 2.57 vpravo. Příklad 2.58: Určete obsah plochy ohraničené křivkami: (a) y = 4 - x2, y = x2, (d) y = tan(rr), y = 0, x = f, (b) y = x3, y = -x, y = 1, (c) y = x2, x = y2, (e) y = ex,y = e~x, y = 2. Příklad 2.59: Určete obsah plochy ohraničené: (a) funkcí y = x2 — 2 • x + 2, její tečnou v bodě [3, 5] a souřadnými osami, (b) funkcí y = x3 a tečnou v bodě x = 1, (c) parabolou y = x2 — 6-1 + 8 a tečnami v bodech [1,3] a [4, 0]. Příklad 2.60: Určete obsah plochy ohraničené osou x a křivkou zadanou parametricky: (a) x = 3-t2,y = 3-t-t3,te [-VŠ,VŠ\, (b) x = 2 • (t - sin(í)), y = 2 • (1 - cos(í)), t G [0, 2 • tt], (c) x = 3- sin3(í), y = 3- cos3(í),í G [0,tt]. 80 Příklad 2.61: Odvoďte vzorec pro obsah kruhu o poloměru r. Délka oblouku křivky Poznámka 2.25: Nechť má funkce f(x) spojitou derivaci na intervalu [a, b]. Pak pro délku křivky / funkce f(x) od bodu a k bodu b platí: ^i + {f{x)ý dx. Poznámka 2.26: Nechť je funkce / zadána parametricky rovnicemi x = (£)] kolem osy x platí: P v = n- íij2{t) ■ y{t)\ dt. Příklad 2.67: Vypočtěte objem tělesa, které vznikne rotací oblasti ohraničené křivkami y = x2, y = 2 — x2 kolem osy x. Řešeni: Objem budeme počítat podobně, jako když počítáme obsah plochy vymezené dvěma křivkami. Přesněji řečeno: vypočteme objem rotačního tělesa, které vznikne rotací funkce y = 2 — x2 kolem osy x, a od něj odečteme objem tělesa, které vznikne rotací funkce y = x2 kolem osy x. Jelikož obě funkce splňují předpoklady poznámky 2.27, můžeme k výpočtu objemu použít uvedený vztah. V systému Maple lze jednak vykreslit zadanou oblast, která má rotovat kolem osy x, dále můžeme využít příkazu plot3d pro vykreslování trojrozměrných grafů, příkazu animate pro vytvoření animace a v neposlední řadě také příkazu VolumeOf Revolution z balíku Student [Calculusl]. Nastavením parametru coords=cylindrical vytvoříme rotační těleso vzniklé rotací kolem jedné z os. Dále nastavujeme parametry jako úhel, o nějž má zadaná (resp. zadané) funkce rotovat, a interval oblasti - obrázky 2.72 a 2.73. Poznámka 2.29: Mějme funkci zadanou parametricky rovnicemi x = f (t),y = g(t),z = h(t),t G [«,/?]• Pak těleso vzniklé rotací této funkce kolem osy x je popsáno parametricky rovnicemi x = f (t),y = a/g(t)2 + h(t)2 ■ cos(s), z = a/g(t)2 + h(t)2 ■ sin(s), t G [a, j3\, s G [0,2-tt]. Příklad 2.68: Vypočtěte objem tělesa, které vznikne rotací plochy vymezené křivkou zadanou parametricky rovnicemi x = t — sin(í), y = 1 — cos(í), t G [0, 2 • 7r] a osou x kolem této osy. ^ Řešeni: Zadaná křivka splňuje předpoklady poznámky 2.28. Výpočet objemu tedy provedeme dosazením do příslušného vzorce. V systému Maple opět vykreslíme zadanou oblast, která má rotovat kolem osy x, a poté i získané těleso pomocí příkazu plot3d. Přitom využijeme poznámky 2.29 - obrázek 2.74. 83 r 2 r 2 F^Tt-í (2-jc2) dr-jt-í (x2) di 1 3 U2) 1 V=— n pl := ^JÍoŕ( [x ,2 — x ],x = -1 ..1, co/ot= "NavyBTue", thickness = 2) : t 2 2 region ■= plots[implicitplot] \0,x = -l ..\,y=x ..2- x . color■ = cyan, gridrejm3=2) : plots[display] ([region.pl ]) S 15 \ 7 1 \, 03 -1 -03 0 03 1 with {Student^ Calculus 1 ]) : VolumeOfRevolutioni^x',2 — x~,x=-l ,.l) 16 (2 2 x ,2 —x ,Jt=-l ..1, output =plot) The solid of revolution created on —1 < x < 1 by rotation of/U) = P andgU) = 2 —ŕ about the axisj^ 0. Obrázek 2.72: Řešení příkladu 2.67. Příklad 2.69: Určete objem tělesa vzniklého rotací plochy ohraničené zadanými křivkami kolem osy x: (a) y2 = x,y = x2, (c) y = x, y = ±, y = 2, (b) y = 0, x = 0, y = sin(rr), x = tt, (d) x2 + y2 = 4, x + y = 2. V=k- (1 — cos(ŕ)) dr (ŕ — sin(ŕ)) dr V=5k plot( [t — sin(í). 1 — cos(ŕ), t— 0 ..2-it], scaling = constrained, color = "NavyBlue". thickness = 2,filled= [color = cyan]) plot3d( [t — sin(ŕ), (1 — cos(ŕ)) -cos(j). (1 — cos(ŕ) ) -sin(j) ], s = 0 ..2-n,t = Q ,.2-jt. axes = frame, labels = ["x", "y", "z"], scaling= constrained, orientation = [90, 0, 160]) Obrázek 2.74-' Řešení příkladu 2.68. Příklad 2.70: Určete objem tělesa, které vznikne rotací plochy ohraničené křivkou zadanou parametricky a osou x kolem této osy: (a) x = t2,y = t-tj,te [0, y/Š], (b) x = 3 • sin3(ť), y = 3 • cos3(í), t G [-f, f], (c) x = sin2(í), y = 1 — cos(í), t G [0,7r], (d) x = 2 + sin(í), y = 2 + cos(í), t G [0, 2 • n]. Příklad 2.71: Odvoďte vzorec pro objem koule o poloměru r. Příklad 2.72: Odvoďte vzorec pro objem válce o poloměru podstavy r a výšce válce v. Příklad 2.73: Odvoďte vzorec pro objem kužele o poloměru podstavy r a výšce kužele v. Obsah pláště rotačního tělesa Poznámka 2.30: Nechť je funkce f (x) spojitá a nezáporná na intervalu [a, b] a má zde spojitou derivaci. Pak pro obsah S rotační plochy vzniklé rotací křivky y = f (x) kolem osy x platí: b _ S = 2-n- í f (x) ■ ^Jl + (f(x))2 dx. 85 Poznámka 2.31: Nechť je funkce / zadána parametricky rovnicemi x = tp(t),y = ip(t),t G přičemž funkce Tutors > Calculus — Single Variable). 2.7.6 Nevlastní integrál Definice 2.24: Nechť je funkce f(x) integrovatelná v každém intervalu [a, t], kde a < t < b, t a nechť je f(x) neohraničená v levém okolí bodu b. Existuje-li vlastní limita lim j f (x) dx, t^b- a b pak řekneme, že integrál j f {x) dx konverguje, a klademe f(x) dx = lim / f(x) dx. b Pokud zmíněná limita neexistuje nebo je nevlastní, říkáme, že integrál j f {x) dx diverguje. Poznámka 2.32: V případě neohraničenosti funkce f(x) na intervalu [a, b] v pravém okolí b bodu a definujeme integrál j f (x) dx analogicky. i Příklad 2.80: Určete / -^i-y dx. o Řešeni: V systému Maple obdržíme řešení automaticky pouhým zadáním integrálu a provedením příkazu. Musíme si však uvědomit, že zadaná funkce 1^-^==^ není v bodě 1 spojitá a na intervalu [0,1] ohraničená! Správně bychom se tedy měli o získaném výsledku přesvědčit určením limity z definice 2.24. Obrázek 2.77: Řešení příkladu 2.80. 88 1 Příklad 2.81: Určete J x ■ ln(rr) dx. o Poznámka 2.33: Pokud je funkce f(x) neohraničená na intervalu [a, b] v pravém okolí bodu a i v levém okolí bodu b, rozdělíme interval [a, b] libovolným bodem c G (a, b), čímž přejdeme k případům popsaným v definici 2.24 a poznámce 2.32. Definice 2.25: Nechť je funkce f(x) integrovatelná v každém intervalu [a,b], kde a < b. b oo Existuje-li vlastní limita lim j f (x) dx, pak řekneme, že integrál j f (x) dx konverguje, a klademe oo b f (x) dx = lim / f(x) dx. 6—>00 Neexistuje-li zmíněná vlastní limita, říkáme, že integrál j f (x) dx diverguje. a b Poznámka 2.34: Analogicky definujeme nevlastní integrál J f (x) dx. Je-li funkce / inte- — oo oo grovatelná na každém omezeném intervalu, pak řekneme že integrál j f (x) dx konverguje, —oo a oo jestliže pro nějaké a G IR konvergují oba nevlastní integrály j f (x) dx, j f (x) dx a klademe f (x) dx = / f (x) dx + / f (x) dx. Příklad 2.82: Určete / ^ dx. 2 Řešení: V systému Maple obdržíme řešení opět automaticky pouhým zadáním integrálu a provedením příkazu. Jako v předchozím případě bychom si však měli uvědomit, zda existuje b vlastní limita lim f \ dx. Při výpočtu limity Maple zahlásí, že neumí určit, jestli b < 0. b^oo g x Je možné mu „pomoci" zavedením předpokladu, že b > 0, pomocí příkazu assume (obrázek 2.78). Příklad 2.83: Určete následující integrály: 00 oo (a) J -4= dx, (c) J sin(:r2) dx, 1 i oo OO (b) / 1+^2 dx, (d) / |5±1 dx. -oo 0 89 ■dx lim ■Čt Warning, unable to determine if 0 is between 2 and b; try to use assumptions or use the AllSolutions option 2 assume( b > 0) lim b —* co dl Obrázek 2.78: Řešení příkladu 2.82. Doposud jsme se setkali pouze s příklady, kdy Maple umí nalézt symbolické řešení (při použití „standardních" funkcí). Jsou však případy, kdy Maple zavádí funkce nové či symbolické řešení nenalezne. Pokud Maple zahrne do výsledku novou funkci, najdeme její předpis v nápovědě. Například na obrázku 2.79 je v řešení zahrnuta tzv. chybová funkce erf (x) s předpisem erf(x) 2- ( Je-*2 dt int{e ^,x = 0 ..1,numeric) 0.7468241328 df{lnt{c^,x = 0..l)) 0.7468241328 tř!í(e *2-ln(jí),x=0 ..1, numeric,method= _Dexp) -0.9059404763 evalf{lnt{e; ^■In(x),x = 0 ..1. method= Gquad) ) -0.9059404763 Obrázek 2.79: Symbolická a numerická integrace. Jestliže Maple nenalezne symbolické řešení, vypíše námi zadaný příkaz jako výsledek. V případě určitého integrálu můžeme hledat numerické řešení, a to buď přidáním nepo- 90 vinného parametru numer i c příkazu int, nebo použitím příkazu evalf na integrál zadaný příkazem Int14. Numerických metod pro výpočet určitého integrálu nabízí Maple několik. Mezi nimi je možné volit specifikací parametru method (více v nápovědě systému). 1 Upozorněme na rozdíl v zadání evalf (Int (. .)) a evalf (int (. . .)). První možnost vede na numerické řešení zadaného integrálu, v druhém případě je nejprve vyhodnocen integrál symbolicky příkazem int a následně výsledek převeden na numerickou hodnotu příkazem evalf. 91 3 Matematická analýza s Maple v R Ačkoli v sobě název kapitoly obsahuje prostor IRn, často se budeme omezovat na funkce dvou proměnných, tedy prostor IR2, pro nějž máme v systému Maple grafickou podporu. 3.1 Funkce více proměnných 3.1.1 Definice funkce více proměnných Funkci více proměnných definujeme v systému Maple zcela analogicky k funkci jedné proměnné (viz 2.2.1). V prostředí Standard Worksheet používáme tytéž postupy, pouze „přidáváme" proměnné - obrázky a . f[x,y) -=JC2+y /(0,1) 1 ff(0,l) íx,y) ->x2+y g ■= (x, y) —> x +y (x,y) ~^x2+y 1 A(0,1) undefined h ■= (x, v) —>-piecewise(x < 0,-x,x-y < 0,-y, undefined) (x, y) -^piecewise{x < 0, -x, x y < 0, -y, undefined) 1 h(h-l) 1 Obrázek 3.1: Definice funkce dvou proměnných. 3.1.2 Vykreslení funkce dvou proměnných V závěru předchozí kapitoly jsme se již setkali s příkazem plot3d pro vykreslování trojrozměrných grafů. V systému Maple máme tedy možnost vykreslovat funkce dvou proměnných, a to opět podobnými postupy jako v případě funkce jedné proměnné. První způsob nabízí kliknutí pravým tlačítkem na funkci (resp. výraz) dvou proměnných v dokumentu a zvolení Plots > 3-D Plot se specifikací proměnných. Další možnost poskytuje pomocník zvaný PlotBuilder a nakonec máme k dispozici již zmíněný příkaz plot3d. Narozdíl od vykreslování funkcí jedné proměnné Maple nyní v grafu standardně nezobrazuje souřadnicové osy. Pokud je chceme zobrazit (a na výběr máme z několika typů: normál, boxed, framed), je třeba při tvorbě grafu specifikovat parametr axes. Graf je možné upravovat i po jeho vytvoření kliknutím pravého tlačítka myši a volením požadovaných parametrů grafu z kontextové nabídky. Kliknutím na graf a přidržením levého tlačítka myši můžeme 92 /:= [x,y,z) ->x2+y2+z2 (x,y,z) ->x2 +y2 +z2 /(1,2,3) 14 f := (x, y.z) —> pi3cewise(x < O A v x +y +zu-v f"(1,2, 3,4,5) 12 Obrázek 3.2: Definice funkce více proměnných. s grafem funkce otáčet podle pohybů myši, případně provádět další úpravy, které si předem vybereme v kontextové liště, resp. kontextovém menu. Rozdíl mezi příkazy plot a plot3d je také v povinnosti specifikovat rozsah nezávisle proměnných. Zatímco u příkazu plot se použije standardní interval [—10,10] při nezadání rozsahu, příkaz plot3d zadání rozsahu vyžaduje pro obě nezávisle proměnné, jinak se neprovede a vypíše chybové hlášení. Stejně jako v případě funkce jedné proměnné musíme i zde myslet na to, jak má graf funkce vypadat a případně vyzkoušet různá nastavení parametrů (tj. např. rozsahů nezávisle proměnných), abychom dostali názorný graf. Některá zobrazení mohou velmi zkreslovat (resp. zobrazovat graf funkce chybně). Systém Maple kvůli efektivitě (rychlosti) vykreslování počítá funkční hodnoty1 jen v několika bodech. Graf bývá zpravidla rozdělen na čtvercovou síť bodů, v nichž je spočítána odpovídající (funkční) hodnota. Parametry sítě se pro různé typy grafů liší, například v Maple 16 je pro příkaz plot3d standardně použita síť 25x25 bodů, pro příkaz implicitplot síť 26x26 bodů atp. Zbylé body grafu jsou získané lineární (rovinnou) interpolací. Pokud chceme po systému přesnější zobrazení, máme několik možností. První je omezení rozsahů nezávisle proměnných (viz obrázek 3.4). Můžeme také nastavit parametr numpoints určující, v kolika bodech bude vypočítána (funkční) hodnota. Další možností je nastavit explicitně síť počítaných bodů pomocí parametru grid. Ten specifikujeme dvojicí v hranatých závorkách: [počet bodů na ose x, počet bodů na ose y]2. ľVe skutečnosti nemusí jít jen o funkční hodnoty, vykreslovat můžeme například i hodnoty vyhovující nějaké rovnosti (nerovnosti). 2Příkazu implicitplot je možné navíc nastavit parametr gridref ine, který „zjemňuje" síť počítaných bodů. Standardní nastavení je 0. Nastavení na hodnotu 1 (zjednodušeně) znamená, že místo jedné (funkční) hodnoty v daném místě sítě budou určeny dvě funkční hodnoty. Při dalším zvyšování hodnoty parametru gridref ine se vždy rekurzivně počítají dvě nové (funkční) hodnoty místo jedné předcházející. Více informací nalezneme v nápovědě k příkazu implicitplot. 93 Obrázek 3.3: Vykreslení funkce dvou proměnných pomocí příkazu plot3d. Obrázek 3.4-' Ukázka různých nastavení příkazu plot3d. 3.1.3 Definiční obor funkce dvou proměnných Systém Maple nám dává možnosti, jak zakreslit do grafu dvourozměrnou (případně i třírozměrnou) oblast. K zakreslení dvourozměrné oblasti zadané implicitně (rovností či nerovností) slouží 94 Obrázek 3.5: Ukázka dalších nastavení příkazu plot3d pro přesnější vykreslení. příkaz implicitplot z balíku plots. Pokud chceme zadanou oblast vyplnit, nastavíme parametr f illed na hodnotu true. Pro vykreslení oblastí vymezených více nerovnostmi (resp. rovnostmi) je někdy nutné použít jiný postup. Pokud je oblast vymezená lineárními nerovnostmi, je možné použít příkaz inequal z balíku plots. Příklad 3.1: Nakreslete oblast A = {(x,y) G R2 : x2 + y2 < 1}. Řešeni: Použijeme příkaz implicitplot, kterému navíc specifikujeme i parametr view pro rozsah souřadných os3 (obrázek 3.6). Příklad 3.2: Nakreslete oblast A = {(x,y) G IR2 : \x\ + \y\ < 1}. Řešeni: Právě v tomto případě se projeví nedostatečný počet generovaých bodů pro vykreslení zadané oblasti. Využijeme proto parametru gridref ine, který poskytuje příkaz implicitplot (obrázek 3.7). Příklad 3.3: Nakreslete oblast A = {(x,y) G R2 : x > 0,y > 0,x + y < 1}. Rešeni: Požadovaná oblast je zadána třemi nerovnostmi, přičemž všechny jsou lineární. Využijeme proto příkazu inequal. Příkaz má několik nepovinných parametrů, v nichž můžeme například specifikovat barvu, kterou budou vykreslovány body patřící (resp. nepatřící) do zadané množiny (oblasti) nebo hraniční body (obrázek 3.8). 3Neplést s nastavením rozsahu nezávisle proměnných! 95 i 2 1 plots[implicitplot]\x + y < 1. .v = - 2 ..2,y=-2 ..2, view= [ -2 ..2,-2 ..2 ], coloring = [cyan, white], filled'= true, thickness = 2 } 2 -| -2 -1 0 ''•-1" J 2 * -2 - Obrázek 3.6: Řešení příkladu 3.1. plots[implicitplot](\x\ + \y < 1,jc = -2 ..2,j> = -2 ..2, vigw= [-2 ..2,-2 ..2], coloring = [cyan, w/iiíe], filled = true, thickness = 1, gridrefine= 6) 2 -i 1 1 \ ' -2 -l\ 0 1 y ' i /l 2 -Is -2 - Obrázek 3.7: Řešení příkladu 3.2. 96 plots[ eílequa'i ( {O < xľ O < vt x + y < 1},x — -1 ..2, j = -1 ..2, optionsfeasible = (color = cyan). optionsexcluded= {color = white). optionsopen - \ color - white, linestyle - dot], labels = [ "x". "y" ]) \—-\ \ \ \. •k \. 1 o -h- "X \. \. >. >. \. \ \ V V \ Obrázek 3.8: Řešení příkladu 3.3. Příklad 3.4: Nakreslete oblast (a) A = {(x y) el R2 : \x -y\ < 1}, (b) A = {(x y) el R2 : 0 < x < y < i}, (c) A = {(x y) el R2 : (x - 2)2 + ž/2>i} (d) A = {(x y) el ť : 1 < i -1 -M <2}, (e) A = {(x y) el R2 : x < x2 -f- V 0. 97 Předchozí nerovnost se nám rozpadne na 2 případy, které bychom dále upravovali. V tuto chvíli však již můžeme využít příkazu implicitplot a příslušnou oblast - definiční obor funkce f(x,y) - rovnou vykreslit. Opět je nutné specifikovat některý z parametrů „kvality" zobrazení, použijeme proto například znovu parametr gridref ine (obrázek 3.9). plots[ implicitplot] '.'+JĽal-. coloring = [cyan, white],filled'= true, thickness =2, gridrefme=3 5 •(x-t-y-6-x) > 0,x=-2 .1, y =-4 ..5, Obrázek 3.9: Řešení příkladu 3.5. Příklad 3.6: U následujících funkcí určete jejich definiční obor a zobrazte jej v rovině: (a) f(x,y) = ^/l-x2-A (d) f(x,y) = arccos(^), (b) f(x,y) = ^sin^x2 + y2), (c) f(x,y) = \n(x + y), (e) f(x,y) = VT=tf + y/T=V2 (f) f(x,y) = \n(x ■ \n(y - x)). V systému Maple je možné vykreslovat též vrstevnice funkcí dvou proměnných, tj. množiny bodů se stejnou funkční hodnotou. Slouží k tomu příkaz contourplot, případně je možné vrstevnice zakreslit do grafu funkce nastavením parametru style příkazu plot3d na hodnotu patchcontour (lze nastavit i dodatečně v kontextové liště či kontextovém menu). Příkazům contourplot a plot3d můžeme dále zadat parametr contours určující, kolik vrstevnic se zobrazí4, případně jaké vrstevnice (tj. vrstevnice jakých funkčních hodnot)5 -obrázek 3.10. 4zadáme přirozené číslo 5 zadáme seznam funkčních hodnot 98 Příklad 3.7: Zobrazte vrstevnice následujících funkcí: (a) f(x, y) = x2 - y2, (c) f(x, y) = |, (b) f(x,y) = (d) f(x,y) = x-y. 3.2 Limita a spojitost funkce více proměnných 3.2.1 Limita funkce Definice 3.1: Řekneme, že funkce f(x,y) má v bodě [^ojŽ/o] £ IR2 limitu L G IR, jestliže ke každému e > 0 existuje ô > 0 tak, že pro všechny [rr,splňující \x — x0\ < ô, \y — yo\ < ô a [x,y] ý [^OjŽ/o] platí \ f(x,y) — L\ < e, a píšeme lim f(x, y) = L. Poznámka 3.1: Analogicky k vlastním a nevlastním bodům a limitám definujeme tyto body i v prostoru IR2. Limita se nazývá nevlastní, jestliže je rovna oo nebo — oo. V opačném případě se nazývá vlastní. Nevlastní bod je bod s alespoň jednou souřadnicí rovnou oo nebo — oo, tj. bod typu [a, ±oo] nebo [±oo, a], kde a G IR U { — oo, oo}. Poznámka 3.2: Taktéž analogicky definujeme příslušné pojmy v prostoru dimenze větší než 2. 99 Poznámka 3.3: Zásadní rozdíl mezi limitou funkce jedné proměnné a limitou funkce dvou proměnných spočívá v okolí limitního bodu a tedy směru přibližování k limitnímu bodu. U funkce jedné proměnné se blížíme pouze po jedné přímce (a to zleva nebo zprava). Naproti tomu u funkce dvou (a více) proměnných se k limitnímu bodu blížíme po různých přímkách, parabolách či jiných množinách. Pokud v daném bodě limita existuje, nesmí záležet na cestě, po jaké se k tomuto bodu přibližujeme. V systému Maple máme možnost počítat limity funkcí dvou (i více) proměnných. Nemáme k tomu však již symbol v paletě Expression, a tak musíme použít příkaz limit. Příkaz používáme jediný, limitní bod zapíšeme do složených závorek. Pokud bychom použili příkaz dvakrát za sebou vždy pro jednu proměnnou, tj. např. limit(limit(f(x,y),x=a),y=b), nepočítali bychom dříve definovanou limitu. K limitnímu bodu bychom se totiž v tomto případě blížili pouze ve dvou směrech (nejprve po ose x a následně po ose y). limit{x^-v, {_v=l,y=2}) 2 limit^^—, {jc=0,j = O}J u miefmed Limita funkce tří proměnných limit{x'-y + z, {_v = 1, v = 2,z = 3 } ) 5 Obrázek 3.11: Výpočet limity funkce více proměnných. Systém Maple limitu v mnohých případech neumí určit, i když limita existuje. Často je proto vhodnější použít „klasický" způsob určení limity a Maple použít jako pomocníka při dílčích výpočtech a pro vykreslení funkce (výrazu) v blízkosti limitního bodu (pro vyslovení hypotézy o existenci limity a její hodnotě). Pokud je možné do výrazu, jehož limitu počítáme, dosadit, řešení je triviální. Pokud při dosazení dostáváme neurčitý výraz typu nebo „^", upravujeme původní výraz, abychom do něj mohli „dosadit". Nejběžnějšími úpravami jsou rozšíření zlomků, použití (součtových) vzorců či substituce. Klíčová je otázka, zda limita vůbec existuje. Pokud očekáváme, že zadaný výraz nemá limitu, je možné využít přibližování k limitnímu bodu z různých směrů (tj. např. po různých přímkách, po přímkách a po parabolách, ...). Pokud dostaneme různé výsledky (limity), limita neexistuje. Často je využívána transformace do polárních souřadnic a následné přibližování se k limitnímu bodu po kružnicích. V tomto případě je nutné mít na paměti, že výsledná limita nesmí záviset na úhlu (ip) a že přibližování se po kružnici je opět pouze jeden z možných způsobů přibližování se k limitnímu bodu! Nicméně existuje tvrzení, které nám za jistých předpokladů dovolí určit limitu funkce (výrazu) použitím jen této metody. Poznámka 3.4: Platí-li pro funkci f(x,y) po transformaci do polárních souřadnic lim f(x,y) = limih(r) ■ g(ip), přičemž lim h(r) = 0 a g(f) je ohraničená pro tp G [0, 2 • 7r), r—5-0+ 100 pak lim f(x,y) = 0. Příklad 3.8: Určete lim Řešeni: Právě v tomto případě od systému Maple obdržíme chybné řešení. Použití systému Maple k výpočtu limity: limit ŕ 1 {x=0,y = 0} I * +y undefined Obrázek 3.12: Pokus o získání řešení příkladu 3.8 v Maple. Již první pohled nám napovídá, že by limita měla existovat a měla být rovna oo. K určení limity musíme vyjít z definice nevlastní limity. Potřebujeme ukázat, že pro libovolně velké M G IR existuje ô > 0 tak, že pro všechna [x,y] splňující \x\ < ô, \y\ < ô a [x,y] ^ [0,0] platí f(x,y)>M. Mějme proto libovolné, ale pevné M G IR. Položme ô = "~y=j^j- Pro \xiV\ splňující |rr| < ô, \y\ < ô a [x,y] ^ [0,0] nyní platí: x2 + y2 < 2 • ô2 = pgy. Z toho už vidíme, že skutečně f(x,y) > M pro tato [x,y], a tedy lim —- = oo. (x,y)^(0,0) x2 + y2 Příklad 3.9: Určete lim Řešeni: Od systému Maple nezískáme řešení. Nejprve musíme „odhadnout", zda limita existuje a pokud ano, čemu je rovna. Z toho vyvodíme postup, jakým vyslovenou hypotézu dokázat. Díky tvaru zadání nemusíme uvažovat nad změnami znamének, funkční hodnoty jsou vždy nezáporné. Pro |rr| < 1 a \y\ < 1 platí (zkuste dokázat6): 2 , 2 ^ 2 2 x + y > x -y a podíl čitatele a jmenovatele bude tím menší, čím menší (v absolutní hodnotě) budou x a y. To nás přivádí na myšlenku, že limita existuje a je rovná nule. 6Využijte nerovnost (|x| — |y|)2 > 0 platnou pro [x,y] ^ [0, 0]. 101 Nyní bychom mohli opět postupovat podle definice. Vzali bychom libovolné, ale pevné e a k němu bychom „vytvořili" ô tak, abychom splnili předpoklady definice 3.1 pro L = 0. Zkusme však k výpočtu limity použít transformaci do polárních souřadnic, tzn. provést substituci: [x,y] = [r ■ cos(),j> = rsin(q>) }, -^^2 * +y ) 4 , -.2 ■ s -,2 ľ cos(qp) sm(tp) r2 cos(cp Ý + ^ sin(cp )2 Zjednodušení: simplijy{%) 2 cos(

l). Příkaz D totiž vždy vrací opět funkci (funkční operátor). Poznámka 3.7: Podobně jako v případě derivace funkce jedné proměnné má svůj geometrický význam i parciální derivace funkce dvou proměnných. Také parciální derivace funkce f(x,y) v bodě [^OjŽ/o] Je směrnicí tečny k funkci f(x,y), a to v bodě [xq, yo, J'(xq, yo)]. Takových tečen je však nekonečně mnoho. Konkrétně parciální derivace funkce f(x,y) podle proměnné x je směrnicí tečny ke křivce vzniklé jako průsečík grafu funkce f(x,y) a roviny y = y0. Podobně parciální derivace funkce f(x,y) podle proměnné y je směrnicí tečny ke křivce vzniklé jako průsečík grafu funkce f(x,y) a roviny x = x0. Tvrzení poznámky 3.7 nyní zobrazíme graficky. Na pomoc si vezmeme funkci f(x,y) = x2 + y2 a budeme počítat její parciální derivaci v bodě [—1,1] podle proměnné x. Podle zmíněné poznámky je tato parciální derivace směrnicí tečny v bodě [—1,1, 2] ke křivce vzniklé jako průsečík funkce f(x, y) a roviny y = 1. Pro vykreslení funkce f(x, y) použijeme již známý příkaz plot3d. Pro vykreslení roviny y = 1 použijeme příkaz implicitplot3d k vykreslování objektů v třírozměrném prostoru zadaných implicitně. Následně vykreslíme tečnu k funkci f(x,y) (jejíž směrnici určuje parciální derivace) příkazem spacecurve pro vykreslování prostorových křivek zadaných parametricky. Rovnice tečny je dána rovnicí z = k-x + q, přičemž hodnota k je právě parciální derivace funkce f(x,y) v bodě [—1,1] a je tedy rovna —2. Bod q již dopočítáme dosazením bodu 104 2 g ■— [x,y) —► x +y [x,y)->x +y ox 2x D[2](S) 1 -j-g{x,y) ax differentiate w.r.t. 1 , , „ &-► \x,y)^2x 2x diff{g{x,y),x) 2x differentiate w.r.t. 2 H g-* 1 , , differentiate w.r.t. x g(x,y)-» 2x 1 D[l](ff)(3) 6 D[2](ff)(3) 1 i i differentiate w.r.t. v g(x, v)-> 1 Obrázek 3.14: Výpočet parciální derivace v Maple. dotyku ([—1,1, 2]) tečny k funkci f (x, y). Nakonec do grafu ještě pro názornost zaneseme bod dotyku pomocí příkazu pointplot3d. Vše vykreslíme najednou příkazem display a získáme obrázek 3.157. 2 2 x +y i^y) 2 . 2 ►x +y .3.v = -3..3, pi :— plot3d[f[x,y),x = -3 =framed) : p2 ■= plots [implicitplot 3d] ([y= 1 ],x = -3 ..3,j = -3 ..3,z = -l ..16, axes= frame, color = white) : p3 ■— plots[ spacecurve] ([ f, 1,-2 ■ t], t = -3 .. 1, axes =frame, color= blue, thickness = 3) : p4 := ^orj[£>o/Htpfor3dr]({[-1,1,2]},axes =framed, color = red, symbolsize= 20) : Obrázek 3.15: Geometrický význam parciální derivace. Všechny použité příkazy kromě příkazu plot3d náleží balíku plots, který je potřeba načíst před jejich použitím, případně používat spolu s voláním příslušného balíku, jak je tomu právě na obrázku 3.15. 105 Definice 3.4: Nechť bod [rrojž/o] patří do definičního oboru parciální derivace funkce f(x,y). Existuje-li parciální derivace funkce fx(xQ,y0) podle proměnné x v bodě [rE0,ž/o]> nazýváme tuto derivaci parciální derivací 2. řádu funkce f(x, y) v bodě [x0, y0] podle proměnné x a značíme ,// / x ( d2f(x0,y0) fxx{xo,yo) I resp. -—- Existuje-li parciální derivace funkce f'x(xo,yo) podle proměnné y v bodě [xo,í/o]? nazýváme tuto derivaci smíšenou parciální derivací 2. řádu funkce f(x,y) v bodě [rro; ž/o] a značíme d2f(x0,yo) fZy(x0,y0) (resp. ^ Poznámka 3.8: Analogicky definujeme „zbylé" parciální derivace 2. řádu a parciální derivace vyšších řádů. V systému Maple postupujeme při zadávání parciálních derivací vyšších řádů podobně, jak tomu bylo u derivací vyšších řádů v případě funkce jedné proměnné. /:= {x,y,z) -» ln(i2 +y + /) dijf(f(x,y,z),x) 2.Y 2 2 2 x +y + z R 2 cx f(x,y,z) 4/ diff{f{x, v, z), x, x) 2 4jr x2+y2+z2 (jl+yl+2y &x &y f(x,y,z) 4jj \x +y +z ) 4jj (x2+y2+z2Y T}[l\{f)U=dlff(f(x,y,z),x) 2.Y (x,y,z)^ 2 x +y +z D[l,l](/) %=diff(f(x,y,z),x,x) 2 4x* (x, y,z) — x2+y2+z2 (x2+y2+z2)2 D[\,2]{f)H = diff(f(x,yz),x1y) ix,y,z) 4jJ ( 2 , 2 , 2V [x +y +z ) iy[2A](f)Č=diffl(x,y1z),y1x) i^y,?) 4jx T>[2,2]{f)# = dlff(f(x,y.z),y.y) 2 4/ [x,y,z)^-2 x +y + z {x+y+z2) Obrázek 3.16: Parciální derivace vyšších řádů funkcí více proměnných. Poznámka 3.9: (Schwarzova věta) Nechť má funkce f(x,y) spojité smíšené parciální derivace f"y a fyX v bodě [x0,y0]. Pak platí: fL(xo,yo) = fyX(xo,yo)- 106 Příklad 3.15: Určete všechny parciální derivace 1. a 2. řádu u následujících funkcí: (a) f(x, y)=x2-y + \n (f), (c) f(x, y) = Xv, (b) f(x, y) = (x2 ■ y + y)4, (d) f(x, y) = x ■ y ■ ln (x + y). Příklad 3.16: Určete všechny parciální derivace 1. řádu funkce f(x,y) v bodě A: (a) f(x, y) = ln (x + ^Ttf), A = [1, 2], (b) f(x,y) = (l + \0gy(x))3, A=[e,e], (c) f(x,y) = \n(x + £), A =[1,2]. 3.3.1 Směrové derivace Definice 3.5: Nechť / je funkce n proměnných, X = [x1} x2,xn] vnitřní bod D(f) a u = (u1,u2, ...,un) vektor. Nechť Tutors > Calculus - Multi-Variable > Directional Derivatives.... Maplet pro zadanou funkci, bod a směr vypočítá směrovou derivaci a zobrazí ji graficky spolu s funkcí a tečnou rovinou v daném bodě. V mapletu je dále možné zobrazit animaci sestávající ze směrových derivací v různých směrech ve stejném bodě (ukázku poskytuje obrázek 3.18). 107 Multivariate Calculus - Directional Derivative File Help Plot Window Maple Command Options DLrectiw.aLDeri.vat-i.vfi í x"2+^"2, [x, y] — [ -1, 2], [i, 5], imtput — plot, axe: — boxed, scaling = ujlcoti a fcr a. ij*ed j; Obrázek 3.18: Maplet zobrazující směrové derivace. Příklad 3.18: Určete směrovou derivaci funkce (a) f(x,y) = arctan(x • y) v bodě [1,1] ve směru vektoru u = (^, ^), (b) f(x, y) = ln (ex + ey) v bodě [0, 0] ve směru vektoru u = (cos (a), sin(o)). 3.3.2 Diferenciál Definice 3.6: Řekneme, že funkce f(x, y) je diferencovatelná v bodě [xq, yo], jestliže existují reálná čísla A, B tak, že f(x0 + h,y0 + k)- f(x0,y0) — (A ■ h + B ■ k) = (h,fc)-Ko,o) y/h2 + k2 Lineární funkce A ■ h + B ■ k proměnných h, k se nazývá (totálni) diferenciál funkce v bodě [x0,y0] a značí se df(x0,y0)(h,k), resp. df(x0,y0). Poznámka 3.10: Je-li funkce f(x,y) diferencovatelná v bodě [rrož/o]? Pak má v tomto bodě parciální derivace a platí A = fx(x0, y0), B = fý(xQ,y0), tj. df(x0,y0) = fx(x0,y0) ■ h + f'(x0,y0) ■ k. 108 Poznámka 3.11: Tečná rovina k funkci f (x,y) v bodě T = [xq, í/o, f(%o, Vo)] má tvar z = f(x0,y0) + f'x(x0,y0) ■ (x - x0) + fý(x0,y0) ■ (y - ž/o)- Podobně jako v případě funkce jedné proměnné využíváme diferenciál k výpočtům odhadů funkčních hodnot v okolí bodu, v němž funkční hodnotu známe. I tady pochopitelně platí, že samotný systém Maple určí funkční hodnotu přesněji. Přesto jej můžeme využít k dílčím výpočtům a kontrole přesnosti získaných aproximací. Příklad 3.19: Určete přibližně: a/1.023 + 1.973. Řešeni: Budeme uvažovat funkci f(x,y) = a/x3 + y3. Aproximaci získáme podle vztahu: f(x0 + h,y0 + k) « f(x0,yo) + df(x0,yo) = f(x0,yo) + fUxo,yo)-(x-xo) + fý(x0,yo)-(y-yo). V našem případě: [^OjŽ/o] = [1>2], [x,y] = [1.02,1.97]. Systém Maple využijeme k výpočtu parciálních derivací v příslušných bodech a celkovému součtu vypočtených hodnot (obrázek 3.19). (x,y) -tjx3 +y c der x := -^—f[x,y) 3 x 2 1 3 , 3 Jx +y Q dsrjy ■= ——f[x,y) 2 / 3 , 3 Jx +y S přesností na 10 míst: -J 1.02^ + 1,97^ = 2.950691614 Přibližně pomocí diferenciálu: J 1.023 evalf{J l3 + 23 + eval(der x, {x= 1, y + 1.973 ~ = 2})-(l.Q2-l) + eval{d3rjy, {x= 1,y= 2}) ■ (1.97 -2.950000000 -2)) Obrázek 3.19: Řešení příkladu 3.19. 109 Příklad 3.20: Určete přibližně: (a) 3.05°-", (c) arctan(±|§), (b) V3l)5-cos(620), (d) log4(4.01 • 0.972) Příklad 3.21: Určete rovnici tečné roviny k funkci f(x,y) = a/1 — x2 — y2 v bodě [^=, ^] a rovinu i s funkcí vykreslete. Řešení: Vyjdeme z poznámky 3.11. V Maple vykreslíme funkci f(x, y) i tečnou rovinu pomocí příkazu plot3d (v němž nastavíme parametr průhlednosti - transparency - pro větší přehlednost), navíc doplníme i bod dotyku (červeně) tečné roviny příkazem pointplot3d z balíku plot s (obrázek 3.20). f{x,y) ■= J 1 - x 2 2 ■y (x, y) -»yr 2 2 x -y 1 + eval(-^-f{x,y),\x=-^,y _ + eval\ — f [x, y), \ x= ~^,y= } [dy 1 JY VT i > JY\ i fay) 7T —x pl ■—plot3d(f(x,y),x = -l ,.l.y = -l ..1. axes= framed, color = blue, numpomts = 1000) : p2 := /j/or3ŕŕ(í(je,y), jľ= 0 ..0.98, v=0 ..0.9, axes= frame, color =yellow, transparency^ 0,5) : p3 := plots\_pomtplot3d] I - - - tt" /š" /t =framed, color = red, symbolsize = 20 j : Obrázek 3.20: Řešení příkladu 3.21. Příklad 3.22: Určete rovnici tečné roviny a rovinu i s funkcí vykreslete pro: (a) funkci f(x, y) = x2 + y2 v bodě [2, —1,5], (b) funkci f(x, y) = x4 + 2 ■ x2 ■ y — x ■ y + x v bodě [1, 0, 2], (c) funkci f (x, y) = \n(x2 + y2) v bodě [2,1, ln(5)], (d) funkci f {x,y) = ex2+y2 v bodě [0,0,1]. 110 3.3.3 Taylorův polynom Definice 3.7: Nechť n G N U {0} a f (x,y) funkce mající v bodě [^ojŽ/o] G M2 a nějakém jeho okolí spojité parciální derivace až do řádu n. Polynom df df T/Áx,y) = f(xo,Vo) + ô^(xo,Ž/o) • (x-x0) + — (x0,y0) ■ (y - y0) 1 f d2 f d2 f d2 f \ +W[dx2~(x°,y^ ' ^X~X^2 + 2'l)xlhj^yo) ' (x~x°^ ' (y-yo) + ^2 fo,Ž/o) • (ž/ - ž/o)2 ) se nazývá Taylorův polynom stupně n funkce f {x,y) v bodě [:ro,ž/o]- Funkci RÍ(x,y) = T* (x, y) - f (x,y) říkáme Taylorův zbytek a celý výraz Tl(x,y) + Rfn(x,y) nazýváme Taylorovým vzorcem. Podobně jako v jednorozměrném případě existuje i nyní „předpis" pro R„(x, y), který nám řekne, „jak dobrou" aproximací dané funkce f(x,y) je polynom T£(x,y). My jej potřebovat nebudeme, a proto čtenáře pouze odkážeme na další literaturu (např. [2]). V systému Maple slouží k získání Taylorova polynomu funkce více proměnných příkaz mtaylor. Příkaz má 2 povinné parametry, a to výraz (funkční předpis) a seznam proměnných s případnou specifikací bodu, v němž má být polynom rozvinut. Pokud bod nespecifikujeme, bude použit nulový bod. Můžeme si dále všimnout, že narozdíl od příkazu taylor v jednorozměrném případě nyní získáme „pouze" Taylorův polynom (bez chybového členu). Stejně jako dříve využíváme k nastavení řádu chybového členu systémovou proměnnou Order, případně třetí (nepovinný) parametr příkazu mtaylor (viz obrázek 3.21). Příklad 3.23: Určete Taylorův polynom pro (a) funkci f(x,y) = | v bodě [1,1], (b) funkci f(x,y) = fgM v bodě [0, f], (c) funkci f(x,y) = sin(x + y) v bodě [0,0] tak, aby byl chybový člen řádu 9, (d) funkci f(x, y, z) = (cos(x + y)) ■ z v bodě [0, 0, 0]. Příklad 3.24: Pomocí Taylorova polynomu určete přibližně: (a) 71.023 + 1.973, (b) v^0~5-cos(62o), (c) arctan(±|§), (d) log4(4.01 -0.972). 111 mtaylor{s " . [x = 1,j = 1 ] e2 + 2 e2 [x - 1) + 2 i (y - 1) + 3 e2 [x - 1 f + AÍ {y - 1) (x - 1) + 3 e2 (y - 1 f + -y- e2 (jt - 1 )3 + 6 e2 [y 1W i^2_Lť 2f 1^2Í n , 10 2( ,,3. 19 2 ,,4.20 2 ,i3.n2 -l)(x-l) +6e (Jí- 1) + — e [y- 1) + —e(jt-l) + — e [y - 1) [x - 1) + 9s[y -l)2U-l)2 + TV(j-l)3(*-l) +^e2(>.-l)4 + ^-e2(x-l)5 + ^e2(j-l) (.v-1)4 + 10e2(j-l)2(x-l)3 + 10e2(j-l)3(x-l)2+^e2(j-l)4(x-l) +ile2(j-l)5 Nŕayío/^e " , [x,y], lOj ,,221 4221 4 1+JC +j + —x +y x + —y ,.2, 2, 1 4, 22, 1 4, 1 61 24, 1 42, 1 6, 1 8,126,144,162, 1 8 1+JC +y + —x +y x + —y +—x + —y x + —y x +—y + —x + —y x + — y x + —y x + —y 2 2o2 2o24o4o24 Obrázek 3.21: Výpis Taylorova polynomu funkce dvou proměnných. 3.4 Extrémy funkce více proměnných 3.4.1 Lokální extrémy Definice 3.8: Nechť p : IRn x W1 —y IR je funkce, pro niž pro libovolná X,Y,Z0, (b) p(X,Y) = 0^X = Y, (c) p(X,Y)=p(Y,X), (d) p(X,Z) IR. Bod X* g IRn nazveme stacionárním bodem funkce /, jestliže v bodě X* existují všechny parciální derivace funkce / a platí: df ——(X*) = 0 pro i = l,...,n. 112 Poznámka 3.13: Funkce / : IRn —> IR může mít lokální extrém pouze ve svém stacionárním bodě nebo v bodě, kde alespoň jedna z parciálních derivací neexistuje [2]. Poznámka 3.14: Nyní se omezíme pouze na funkce dvou proměnných. Nechť má funkce f(x,y) v okolí bodu [^ojŽ/o] spojité parciální derivace druhého řádu. Označme Pak: • Když B.2 > 0, má funkce f(x,y) v bodě [^OjŽ/o] ostrý lokální extrém. (a) Pokud navíc H\ > 0, pak je v bodě [^OjŽ/o] lokální minimum. (b) Pokud navíc H\ < 0, pak je v bodě [^ojŽ/o] lokální maximum. • Když H2 < 0, nemá funkce f(x,y) v bodě [^ojŽ/o] lokální extrém. • Když B.2 = 0, neumíme o existenci extrému tímto způsobem rozhodnout. Matici druhých derivací funkce f(x,y), jejíž determinant jsme označili B.2, nazýváme Hes-sovou maticí, její determinant, H2, označujeme jako hessián. V systému Maple je opět několik cest, po nichž můžeme dospět k lokálním extrémům zadané funkce. K dispozici máme několik příkazů, které nám mohou pomoci pří dílčím výpočtu, případně i nalezení některého z extrémů, žádný příkaz však obecně nedokáže najít všechny lokální extrémy. Nej univerzálnější cesta je projít výše popsaný postup, který známe z přednášky. Systém Maple přitom můžeme využít k vykreslení zadané funkce, výpočtu parciálních derivací (případně rovnou k výpočtu stacionárních bodů pomocí příkazu extrema), výpočtu Hessovy matice či jejího determinantu. K výpočtu Hessovy matice slouží příkaz Hessian z balíku VectorCalculus. Pro výpočet determinantu je určen příkaz Determinant z balíku LinearAlgebra. Příklad 3.26: Najděte lokální extrémy funkce f(x, y) = (x — 2)2 + {y — 3)2 + 5. Řešení: Využijeme příkaz extrema k nalezení stacionárních bodů. Následně vypočítáme Hessovu matici příkazem Hessian a její determinant příkazem Determinant. Na základě poznámky 3.14 pak rozhodneme o lokálních extrémech (obrázek 3.22). Příklad 3.27: Najděte lokální extrémy funkce f(x,y) = (y — 3)2 — (x — 2)2 + 5. Řešení: Postupujeme zcela analogicky k předchozímu příkladu. Využijeme opět příkaz extrema k nalezení stacionárních bodů, příkaz Hessian k výpočtu Hessovy matice a příkaz Determinant k určení jejího determinantu. Na základě poznámky 3.14 pak rozhodneme o lokálních extrémech (obrázek 3.23). x2+y2 Příklad 3.28: Najděte lokální extrémy funkce f(x,y) = x ■ y ■ e 2 . Řešení: Postupujeme opět stejně. Nyní získáváme víc stacionárních bodů, pro něž musíme vyhodnotit Hessovu matici a její determinant. Při tom si „pomůžeme" příkazem eval a narozdíl od předchozích příkladů načteme příkazem with potřebné balíky pro příkazy Hessian a Determinant (obrázek 3.24). f "x (xOjVo) fxy (zoiVo) fyx(xo,yo) fý'y(xo,yo) 113 /:= [x,y] (_v-2)2+(j-3)2+5 (x,y)^{x-2)2 + (j-3)2 + 5 plot3d{f{x, y),x = O ,.5,y=0 .5, axes = normál) Stacionární body: extrema[f[x,v). { }. jí},'ŕwíŕ') {5} bod {{x = 2,y = 3}} Stacionární bod je: [x,y]=[2.3]. Hessova matice: H ■ = VectorCalculus[ Hessian ] (f(x.y). [jí, jí] ) 2 0 0 2 První prvek Hessovy matice (druhá derivacef(x,y) podle ar): H(1A) 2 Determinant Hessovy matice: LinearAlgebra[Detsrminant] (H) 4 Bod [2,3] je lokálním minimem funkce f(x,y). Obrázek 3.22: Řešení příkladu 3.26. /:= M^(j-3)2-(x-2)2 + 5 [x,y)^(y-3)2-(x-2)2 + 5 plot3d(f(x,y),x=G ..5,y=0 .6, axss— normál) Stacionární body: extrema(f(x,y), { }, {x, v},'bod') {5} bod {{x = 2,y=3}} Stacionární bod je: [x,y]=[2,3]. Hessova matice: H ■= VectorCalculus[ Hessian] (/(.v, y), [x. y]) -2 0 0 2 Determinant Hessovy matice: L in earA Igebra [ Determ man t ] (H) -4 Determinant Hessovy matice je záporný bod [2,3] není lokálním extrémem ňmkcef(x,y). Obrázek 3.23: Řešení příkladu 3.27. 114 /:= (x,y) ( plot3d(f(x,y),X — -4 ..4,y= -4 ..4, axes =framed, numpoints = 2000) Stacionární body: a.vrreíMíi(/(j:ľjí)? { }ľ {jc, j?},Wj?') = { -e~\ e"1} bodv {{x=-l,y=-l}, {x=-l,y=l}, {*=0,y=0}, {*=l,y=-l}, {x= 1,^=1}} Stacionárni body: [-1,-1], [1,-1], [-1,1], [1,1], [0,0]. with( VectorCalculus) : wtih(LmearAlgebrá) : Hess ova matice: H:= Hessum(f(x,y), [x,y]) : Bod [-1,-1] Determinant(eval(H, {_v=-l,v=-l}))=4(e *) eval(H{l, 1), {.v = -Ly = -l}) = -2 e"1 Bod [1,-1] Determinant(eval(H, {x=l,y= _1})) = 4 (e ^) sraí(íf(l, 1), {-v=l,y= -1}) =2 e"1 Bod [-1,1] Determmant(eval(H, {jt=-l,v=l}))=4(e 1) a™í(fr(l, 1), = -1,^=1}) =2 e"1 Bod [1,1] Determinantyeval{H, {jc=l,v=l}))=4(e ^) ŕvaí(JÍ(l? 1), {.v=l,v=l}) = -2 e"1 Bod [0,0] Determinant(eval(H, {x— 0,y— 0})) = -1 Lokálni minima: [1,-1], [-1,1]-Lokálni maxima: [-1,-1], [1,1]. Obrázek 3.24-' Řešení příkladu 3.28. Jak jsme zmínili dříve, v systému Maple jsou i některé příkazy hledající extrémy funkcí. Jedná se především o příkazy minimize a maximize pro nalezení globálního minima či maxima (symbolicky). Stejné příkazy, ovšem s velkými počátečními písmeny, tj. Minimize a Maximize z balíku Optimization, hledají globální extrémy numericky. Všem zmíněným příkazům je možné nastavit omezující podmínky, a hledat tak absolutní extrémy na dané množině (více v další části kapitoly). Můžeme také využít mapletu s názvem Optimization, který vyvoláme například z hlavního menu zvolením Tools > Assistants > Optimization.... Na výběr máme několik metod, kterými je extrém hledán, tlačítkem Solve vypíšeme řešení, tlačítkem Plot jej zobrazíme graficky. Jeho ukázku s nalezením globálního minima funkce f(x,y) = x2 + y2 poskytuje obrázek 3.25. Příklad 3.29: Najděte lokální extrémy funkce f(x,y) = \/x2 + y2. Řešení: Postupujeme stále stejně. V tomto případě však nenalezneme žádné stacionární body. Již z grafu funkce je na první pohled vidět, že funkce má lokální minimum v bodě [0, 0], v němž neexistuje parciální derivace. Existenci minima můžeme ověřit vyšetřením lokálního chování funkce v okolí tohoto bodu nebo využitím příkazu minimize. Příkaz volaný s jedním parametrem vypíše pouze hodnotu minima. Abychom získali i jeho polohu, přidáme druhý nepovinný parametr location (obrázek 3.26). 115 (x,y)->Jx + y2 plot3d\ f(x,y),x = -3 ..3,y = -3 ..3,axes= frame) Stacionární body: extrema(f(x.y), { }, {x.y}Jboď) bod bod Stacionární body nejsou. V bodě [0,0] však neexistuje parciální derivace: -r-f{x,y)= i = V* +y eval^—f(x,y), {_v=0,y=0} j Errorr numeric exception: division by zero Použití příkazu minimize'. tninimize(f(x,y), location) 0, {[{jc=0,v=0},0]} Vbodě [0,0] je globální (a tedy i lokální) minimum funkce/(x,v). Obrázek 3.26: Řešení příkladu 3.29. Příklad 3.30: Najděte lokální extrémy funkce: (a) f(x, y) = x3 + y3 - 3 • x ■ y, (d) f(x, y) = {x2 + y2) ■ e~x2-y2, (b) f(x, y) = x4 - 3 • x2 ■ y + 3 • y - y3, (e) f(x, y) = 3-x2-2-x-y/y + y-8-x+l2, (c) f(x,y) = x-y- \n(x2 + y2), (f) f(x,y) = y ■ y/1 + x + x ■ y/y + 1, (g) f(x, y) = 3-^/x2 + y2 + 2-^(x-2)2 + (y - 3)2. 116 3.4.2 Absolutní extrémy Definice 3.11: Mějme funkci / : IRn —> R a množinu M C D(f). Řekneme, že bod X* e M je bodem absolutního maxima funkce / na množině M, jestliže pro všechna X z množiny M platí: f{X) < f(X*). Je-li uvedená nerovnost ostrá pro všechna X 7^ X*, mluvíme o ostrém absolutním maximu. Poznámka 3.15: Zcela analogicky definujeme (ostré) absolutní minimum. Místo pojmu absolutní minimum (maximum, extrém) používáme někdy termín globální minimum (maximum, extrém). Příklad 3.31: Napište definici absolutního minima. Definice 3.12: Bod X x -y + 4 : Definice vykreslení funkce pl ■= plot3d(f[x,y),x = -l.5 ..1.5,j = -1.5 ..1.5, axes= framed, orientation= [71, 56]) : Definice vykreslení hranice množiny M p2 ■= plots[spacecurve] ([cos(ŕ), sin(ŕ), /(cos(ŕ), sin(í)) ], t = 0 ..2-TZ,color = blach thickness = 3) : Vykresleni předchozího do jednoho grafu plots[display] ( {pl,p2}, labels = [x,y, z]); Stacionární body na celém D(f)\ extrema(f(x,y), { }, {x,y},'boď) = {4} bod {{x=0,y=0}} Štacionární bodje: [x,y]=[0,0]. Hessova matice: H ■= VectorCalculus[Hessian](f(x,y), [x,y]) 2 0 0 -2 Determinant Hessovy matice: LinearAlgebra[Determmant] (H) = -4 Bod [0,0] není lokálním extrémem funkce/fi,^. Stacionární body na hranici množiny M: extrema(f(x,y), {x^ +y^= l}, {x,y},'body') = {3, 5} body {{x=-l,y = Q}, {*=0,j=-l}, {x=0,y=l}, {x=l,y=0} /(-1,0)=5 /(0,-l)=3 /(0,1)=3 /(1,0)=5 Absolutní minima: [0,-1], [0,1]. Absolutní maxima: [-1,0], [1,0], Obrázek 3.27: Řešení příkladu 3.32. 2 2 /:= (*=j0 +y +4: Definice vykreslení funkce pl ■■= plot3d(f(x,y],x = -\.5 ,.1.5,v = -1.5 ..1.5, axes = framed, orientation= [71, 56]) : Definice vykreslení hranice množiny M p2 ■= plots[spacecurve] ([cos(ř), sin(ř), /(cos(ř), sin(f)) ], t = 0 ..2-TZ,color = blach thickness= 3) : Vykresleni předchozího do jednoho grafu plots[display] ({pl,p2}. labels= [x,y,z]); Stacionární body na celém D(f): extrema(f(x,y), { }, {x,y},'boď) = {4} bod {{x=0,y=0}} Stacionární bod je: [x,y]=[0,0]. Hessova matice: H ■= VectorCalculus[Hessian] {f{x, v), [jc,j]) 2 0 0 2 Determinant Hessovy matice: LinearAlgebra[Determinant] (H) = 4 První prvek Hessovy matice (druhá derivace/řx^ podle x): ff(l, 1)=2 Bod [0,0] je lokálním minimem funkce f(x,y). Stacionární body na hranici množiny M: extrema(f(x,y), {x^ +y^= l}, {x, y} ,'body') = {5} body {{*= ~^,y=(>}, {x=l,y=0}, {x=J 1 -y2 ,y=y], {x= -Ji -y2,y=y}} Absolutní minimum: [0,0]. 2 2 Absolutní maxima: body na kružnrci x +y =1. Obrázek 3.28: Řešení příkladu 3.33. 118 /:= [x, y) —» x + 2-x-y — 4-x — S-y: Definice vykreslení funkce pi ■= plot3d[f(x,y),x = -l .-3,j? = -l ..3. axes = framed) Definice vykreslení hranice množiny M p2 ■= phts[spaeecurve] ([ t, 0,f[t, 0) ], ŕ= 0 ..1. color = black, thickness = 4) : #y=0 p3 ■= plots[ spaeecurve] ([ 0. t,f{ 0, t) ], t = 0 ..2. color = black thickness = 4) : #x=0 p4 ■= plots[spaeecurve] ([ 1, t,f{ 1, f) ], t = 0 ..2,color = black thickness = 4) : # x=] p5 ■= plots[ spaeecurve] ([ f. 2,f{ t, 2) ], t = 0 ..1, color = black thickness = 4) : #y=2 Stacionární body na celém D(f): extrema(f(x,v), { }, {x,y},'bod'] {0} bod {{x = 4,y=-2}} Stacionární bod je: [x,y]=[4.-2]. Leží však mimo M. Vykreslení grafu: plots [display] ({p \\ (1 ..5)}, labels= [x, y, z]); Hranice množiny AT: mmimizei f{x,y),x= 0 ..i,y= 0 ..2. location) -16, {[{x=G,y=2}, -16]} mav/mĚe(/(.v. v),x= 0 ..l,j= 0 ..2. location) 0,{[{x=0,y=0},0]} Absolutní minimum: [0.2]. Absolutní maximum: [0.0]. Obrázek 3.29: Řešení příkladu 3.34. intervalů (rozsahů pro proměnné x a y). Přesně toto omezení je možné zadávat příkazům minimize a maximize, takže je využijeme8 (obrázek 3.29). Příklad 3.35: Určete absolutní extrémy funkce f(x,y) na množině M: (a) f(x y) = x2 + y2,M: x2 + y2 < 1, (b) f(x y) = x - \-y,M: \x\ < l,\y\ < 1, (c) f(x y) = \x\ + \y\,M: x2 + y2 < 1, (d) f(x y) = X ■ y — x2 — y2 + x + y, M je ohraničená přímkami x = 0,y = 0,y = A — x, (e) f(x y) = x2 + 2-x-y + 2-y2 — 3-x — 5-y,M]e trojúhelníková oblast s vrcholy v bodech A= [0,2], B= [3,0], C = [0,-1], (f) f {x, y) = sin(rr) • sin(í/) • sin(x + y), M: x > 0, y < it. Příklad 3.36: Najděte kladná čísla x, y, z taková, že x + y + z = 18 a x -y -z je maximálni. Řešeni: Chceme maximimalizovat funkci f {x,y, z) = x ■ y ■ z. Přitom má platit, že x + y + z =18. Tuto rovnost můžeme zahrnout rovnou do předpisu funkce, a získat tak funkci pouze dvou proměnných: x-y- (18 —y— x). Nově vzniklou funkci přitom maximalizujeme pro x G (0,18), y G (0,18), x + y < 18. Tímto zápisem jsme zadanou úlohu převedli na klasické 8Příkazy minimize a maximize v tomto případě neprochází jen hranici množiny M, ale celou množinu (což nám ale nevadí). Pro jiný tvar množiny M, např. trojúhelník, často musíme procházet jednotlivé části její hranice, tj. např. jednotlivé úsečky (a hledat na nich extrém). 119 hledání absolutního maxima funkce, jak jsme jej řešili v předchozích příkladech. Tentokrát dokonce nemusíme ani vyšetřovat funkční hodnoty na hranici „omezující" množiny, neboť omezující podmínky jsou ostré nerovnosti. Celkem získáváme, že požadovaná kladná čísla jsou: x = y = z = 6 (obrázek 3.30). Definice vykresleni funkce pl ■■= piot3d[f[x,y),x = Q ..18,y=0 ,.1S,vkw = [0 ..18, 0 ..18,-1000 ..300], axes■ = framed) : Definice vykreslení hranice množiny M p2 := plots[spacecurve] ([ f, 0,/(í, 0) ], t = 0 ..18, color = black thickness = 4): #x=0..18 p3 := plots [spacecurve] ([ 0, f,/(0, () ], f = 0 ,.18, color = black thickness = 4) : #y=0.. IS p4 plots[spacecurve]{[U 18- t,f{t, 18- t) ], r=0 ..18, color = black thickness = 4) : # x +y=l8 Stacionární body na celém D(f): extrema( f (x,y), { h {^y^tody') = {0,216} body {{x=G,y=C}, {jc=0,y=18}, {x=6,y=6}, {x=lS,y = 0}} Stacionární bod uvnitř množiny M: [6,6]. Hessova matice: H ■— VectorCalculus[Hessian] (f (x, y), [x, y]) -2y ÍS-2x-2y 18-2j:-2y -2x Vykreslení grafu: plots[display][{p\\{l .A)}) Determinant Hessovj7 matice: LinearAlgebra[Determinant] (eval(H, {x = 6, v = 6») 108 První prvek Hessoiy matice (druhá derivace/řx, y) podlex): eval[H[\, 1), {i=6,y=6}) " -12 ' Bod [6,6] je lokálním maximem ležícím uvnitř M, a tedy i absolutním maximem, Obrázek 3.30: Řešení příkladu 3.36. Příklad 3.37: Najděte kladná čísla x, y, z taková, že x-y ■ z =64ax + í/ + 2;je minimální. Příklad 3.38: Jakého nejmenšího čísla může nabýt součet tří kladných čísel x, y, z, jestliže pro ně platí: x ■ y ■ z2 = 2500? Příklad 3.39: Najděte bod plochy z = x ■ y — 1, který je nejblíže bodu [0, 0, 0]. Příklad 3.40: Určete rovnici přímky, pro niž platí, že má od bodů [0,2], [1,3] a [2,5] nej menší součet čtverců (druhých mocnin) jejich vertikálních vzdáleností (tj. ve směru osy y) - tzv. metoda nejmenších čtverců. 120 3.5 Vícerozměrný integrál Poznámka 3.17: Mějme spojitou funkci f(x, y) na obdélníku [a, 6] x [c, d]. Pak jsou spojité i funkce f{x) a ip(y) dané integrály: d b ľ(x) = / fi,x,y) dy a tp(y) = / f(x,y)dx. Funkce f{x) a ip(y) tak můžeme integrovat znovu a získat: b d f {x) dx = / f (x, y) dy dx, d d b Í>{y) dy = J J f {x,y) dx dy. c a Předešlé integrály nazýváme dvojnásobnými integrály. Definice 3.13: Nechť T = [a, b] x [c,d] C M2 a nechť je funkce f (x,y) spojitá na T. Dvojným integrálem funkce f (x,y) přes množinu T pak rozumíme: b d d b f(x,y)áxáy= j j f(x,y) dy dx = / / f(x,y)dxdy. Definice 3.14: Uvažujme nyní oblast, jíž budeme říkat oblast základni, definovanou jako T = {(x, y) G R2 I x G [ai,a2],í/ G [s^x), s2(x)]}, resp. T = {(x, y) G R2 | y G [6i,62],:r G [pi(í/),P2(ž/)]}? přičemž funkce si(rr), S2{x), p\{y), p2{y) jsou spojité na intervalech [01,02], resp. [61,62]- Základní oblast ilustruje pro lepší představu obrázek 3.31. T h pi{y)\ T K ai 0.-i (a) (b) Obrázek 3.31: Zobrazení základní oblasti (převzato z [5]). Analogicky jako v předchozí definici nyní definujeme dvojný integrál funkce f {x,y) přes množinu T jako: 121 02 <*2(» f(x,y)dxdy = J J f {x,y) dy dx, T ai Si(:e) b2 PÁV) resp. y^ f(x,y) dx dy = J J f {x,y) dx dy. T 61 Pl(y) Poznámka 3.18: Sjednocením konečně mnoha základních oblastí můžeme získat tzv. elementární oblast (množinu) K (viz obrázek 3.32). i) K y = d y = c Obrázek 3.32: Zobrazení elementární oblasti (převzato z [9]). Poznámka 3.19: Častým krokem při výpočtu integrálů je prohození pořadí integrace. Musíme mít na paměti, že vnější integrál musí být vždy ten, který neobsahuje proměnnou ve svých mezích. Definice 3.15: Uvažujme nyní základní oblast T = {(x,y) E IR2 | x E [01,02],y £ [si(rr), s2(^)]}, přičemž funkce Si(x), s2(x) jsou spojité na intervalu [ai, 02]- Definujme základni těleso P = {(x, y, z) G R3 | (x, y) E T, z E [h1(x,y),h2(x,y)]}. Trojným integrálem funkce f (x,y, z) přes množinu P nazýváme: f (x, y, z) dx dy dz = p T í h2(x,y) \ f (x,y, z) dz a2 s2(x) h2(x,y) f (x, y, z) dz dy dx. f a,i S!(x) hx(x,y) V systému Maple zadáváme vícenásobné integrály opakovaným použitím integračního symbolu z palety Expression, příkazu int či vyvoláním kontextové nabídky dokumentu (po kliknutí pravým tlačítkem myši na předpis funkce) a zvolením položky Integrate spolu se specifikací integrační proměnné (pouze pro neurčitý integrál). Pokud chceme do dokumentu zapsat vícenásobný integrál symbolicky (a nevyhodnocovat jej), použijeme příkaz Int. Další možnost, jak zadat (určitý) vícenásobný integrál (dvojný nebo trojný), poskytuje příkaz Multilnt z balíku Student [MultivariateCalculus]. 122 Symboly z palety 12,12 ľ [ {x+y) dxdy 12 Textové príkazy int{int{x+y,x),y) 12,12 -xy+-yx mt(int(x + y,x = 2 ..5),y = 0 ..1) 12 Kontextová nabídka integrate ivj-.t. x \ 2 x+y-> —x +xy integrate w_r.t_ y 12 12 -* 2Xy+2Xy Symboly z palety [x+y + z) dxdy dz 12 ,12 ,12 yx yz + y J ^ + y2 .3 .1 .í (jc+y + z) drdvdz 1 0 2 36 Textové príkazy7 int(int(int(x +y + z,x),y), z) 12 ,12 ,12 yx Jz + y J ^ + yz *y mt(mt(mt(x + y + z.x= 2 ..5) ,y= 0 ..1), z= 1 ..3) Kontextová nabídka integrate w_r.t_ x 1 2 integrate wi.t. v X + v + ^-* yX +jív + 2X-> 12 12 integrate wjr.t. z 12 12 12 — xy+—xy +zxy-* —xyz + —xyz + —zxy Obrázek 3.33: Vícenásobné integrály. Příkaz Multilnt nabízí možnost výpisu integrálu jako symbolu i jako integrálu, který bude „rovnou" vyhodnocen. Navíc je možné nechat vypsat kroky výpočtu integrálu nastavením nepovinného parametru output na hodnotu steps. Dalším nepovinným parametrem, který můžeme specifikovat, je parametr coordinates určující, v jakých souřadnicích je integrál uveden. Na výběr máme podle dimenze integrálu souřadnice kartézské (cartesian [x,y] nebo cartesian[x,y,z]), polární (polar [r,theta]), sférické (spherical [r,phi,theta]) či cylindrické (cylindrical [r,theta,z]), viz obrázek 3.34. K převodům mezi různými souřadnicovými systémy můžeme využít příkaz changecoords, který převede zadaný výraz z kartézského systému souřadnic do námi zvoleného. Pro dvojné a trojné integrály je k dispozici příkaz balíku Student [MultivariateCalculus] s názvem ChangeOf Variables převádějící proměnné mezi dříve vyjmenovanými souřadnicovými systémy. Příkaz má jednu „slabinu", a to, že zpravidla nepřevede integrační meze do nových proměnných, což musíme tedy udělat sami (obrázek 3.35). Příklad 3.41: Stanovte meze dvojnásobného integrálu f(x,y) dx dy. Integrál následně zapište i s těmito mezemi pro integrační oblast: (a) Q : 0 < x < y < 1, (c) íl : 1 < |rr| + \y\ < 2, (b) Q : x < x2 + y2 < 1, (d) OjeAs vrcholy [1,0], [1,1], [0,0]. Řešeni: Při stanovování mezí nám může velmi pomoci obrázek. Nejprve si tedy zadanou množinu Q vždy vykreslíme a následně odvodíme meze jednotlivých integrálů. Využijeme přitom příkazů inequal z balíku plots, transform z balíku plottools a implicitplot 123 II 2 Student[ MultivariateCa~lcu:us][ Mu:tilnt]{ í x + 3 v , x = 1 .A,y=-1 ..6, output = integral) 6 4 j [3x+3y)áxáy 12 2 Student[ MultivariateCa~lcu:us][ Mu:tilnt]{ í x + }' ; -Y = 1 -4,j=-i ..e) 1092 / 2 2 Stu den t [ A íu i t řva r ia te.Ca i c u i u s ] [ Mu i t iln t ]{3 x + 3 y , x = 1 .A,y=-1 ..6, output = steps) 6 4 J (3/ + 3/)dxdv -ľ] [x3 + 3y2x) ) dy x= 1 ..4 I = f (ó3+9/)dv ' -1 = (63y + 3y) 1092 with(Student[MultivariateCalculus]) Multilnt\ r, r= 1 ..4. 0 = 0 ..—, cooŕ-ŕíiŕiŕiŕej = polar[ŕ-, theta], output = integral^ 2 A e O 1 71 Aŕuŕŕiífiŕ^ŕ\ r= 1 .4. 0 = 0 ..—, coordinates = po\ar[r, theta] 21 — rc Multilnt(r, r = Q ..rc, 0 = 0 ..rc, <|> = 0 ..rc, coordinates = spkerical[r, phi. theta]. output = integrál) l a a J í-3sin(<|>)a7d0d<|> 'O'O'O Multilnt(r, r = Q ..rc, 0 = 0 ..rc, <|> = 0 ..rc, coordinates = spkerical[r, phi, theta]) 1 í 2* Int(lnt(lx + 3v ,x=l ,.4),v = -l ..6") -6 r4 (3x + 3y ) áxdy mt[mt[3x2 -V3y,x=\ ..4),j? = -l ..ô) 1092 Obrázek 3.34: Vícenásobné integrály s příkazy Multilnt a Int. changecoords(x +y , [jc,;y], polar, [r, 0]) ;-2cos(0)2 + r2sin(0)2 c?j(in^ecooj'ifj(ji2 + y2 + z2, j, z], spherical, [(|), 0] ) r2 sin(<|))2 cos(0)2 + j-2 sin(<|))2 sin(0)2 + 2 cos(§)"~ changecoords(x2 + y2 +z2, [x,y, z], cylindrical, [r, 0, z]) r cos (e^ + Zsin^ + z2 changecoords(x—y, [x,y], logarithmic) ln(x2 +y2) —2 arctan^ — with(Student[MultivariateCalculus]) : ChangeOjVariables^MultiInt{ 2 -Vy2,x= 1 ..4,jr=l .6. output = integral), ^ cartetfiaj^ v, polar^ g J J ji=6 i=4 r dr d0 Jy = -1Jx=1 ChangeOjVariables^Multilnt{ x2 + y2 +z2.x= 1 ..4,j=-l ..6, z = 0 . .3, output = integral), ^ cartsiia^ ^ z, spherical^ ^ a ] J z=3 >, = 6 ,jc=4 /|sin(0)| o>oVd0 ■z=0-jf=-lA=l f f 2 2 2 ChangeO/Variables\MultiInt[ x +y + z ,_* = 1 ..4, y = -l ..6,z = 0 .3. output = integral), ^cartesian^ ^ ^ cylindrical ^ J z=3 y=6 i=4 (r2+z2)j-dj-d0dz Obrázek 3.35: Transformace mezi souřadnicovými systémy. 124 z balíku plots, s nimiž jsme se již setkali při vykreslování oblastí a definičních oborů funkcí v sekci 3.1.3. (a) plots [msqual] ({0 < x,x < v. v < 1 }..¥ = -1 ..2,y = -1 ,.2. optionsfeasible= (color = cyan). opt ionsexcluded = (color■= whits), labels = ["x", "y"]) 2 Obrázek 3.36: Zobrazení oblasti íž z příkladu 3.41.(a) Z obrázku 3.36 můžeme vyvodit 2 různé (ekvivalentní) zápisy integračních mezí: 1- 0 < y < 1,0 < x < y, 2. 0 < x < l,x < y < 1. Celkem tak získáváme: i y ii 1=11 f (x,y) dx dy= / /(x, y) dx dy = / /(x, y) dy dx. n o o o x (b) Z obrázku 3.37 můžeme vyvodit opět 2 různé (ekvivalentní) zápisy integračních mezí. Dostáváme však výrazně komplikovanější zápis než v předchozím případě, a tak zapišme pouze jednu možnost (která je jednodušší): 1. -1 < x < 0,-a/1 -x2 0 A y > 0, (c) Q : \x\ + \y\ < 3, (b) Q : x2 + y2 < 1 A x > 0, (d) O je A s vrcholy [2,1], [-2,1], [0, 0]. Příklad 3.43: Vyjádřete zadané integrály v obráceném pořadí integrace. 4 2 2 x2 (a) f f f(x,y) dy dx, (c) / / f (x,y) dy dx, o f 0 0 2 2-x 1 x2 (b) / / f (x,y) dy dx, (d) J J f(x,y) dy dx. 0 x 0 is 3.5.1 Geometrická aplikace dvojného integrálu Obsah rovinné oblasti Poznámka 3.20: Nechť Q C M.2 je rovinná oblast. Plocha S oblasti Q je dána vztahem S = J J dx dy. Příklad 3.44: Určete obsah oblasti íl. (a) Q je ohraničená křivkami y = ^ay = 3 — 2-x, (b) Q je ohraničená přímkami y = x, y = x — 3, y = 2 a y = A. Řešeni: V zadání není specifikováno, jak máme obsah zadané oblasti hledat. Mohli bychom si proto vzpomenout na aplikace určitého integrálu funkce jedné proměnné a počítat obsah oblasti tímto způsobem. U některých oblastí je navíc jednodušší i jiný způsob než počítat integrály (jednoduché či dvojné). My si ukážeme výpočet jak pomocí jednoduchého, tak pomocí dvojného integrálu. 128 solve í — = 3 — 2 -x) = 1, — ■■= plot ^ 1 , 3 — 2-x x= — ..1, v= 1 .2, scaling - constrained, color = "NavyBlue" region '■= plots [itnpliciíplot] ^0, x = ..I,y = — ..3 — 2 -x, color = cyan : plots [ display1 (iegion.pi j 2 0.Ě 0.70.S 0.5 1.0 /" := x—*pjecewi?e(x < 5, 2, x — 3 ) : g := x—»psecewise(x < 4, x, 4) : p := p/o(( {_£ g}, color = "NavyBlue". thickness = 2, view = [2 ..7,2 ..4], scaling= constrained) : tr ■= plottools[ transform] ((x. y) —* [x,y +f(x) ]) : q := plot(g(x) -/(x),x = 2 .. 7,filled— true, color —cyan) : plots[display] (tr(q).p); Obrázek 3.40: Zobrazení oblasti íž z příkladu 3.44. Vlevo případ (a), vpravo případ (b). (a) Pomocí jednoduchého integrálu zvolíme jednu proměnnou, u níž známe číselné meze, a „odečítáme od sebe" dvě funkce vymezující zadanou oblast. U dvojného integrálu zapíšeme zadanou oblast pouze v integračních mezích. Pozor na to, že při výpočtu dvojnásobného integrálu v systému Maple musíme zadat funkci, která bude integrována. V případě počítání obsahů rovinných oblastí podle poznámky 3.20 se v integrálu žádná funkce nevyskytuje, i když ve skutečnosti integrujeme konstantní funkci f(x,y) = 1, kterou také zadáme do integrálu v systému Maple. 1 f 3 -2-x- — ] dx 1 3-2-x 1 1 ldjdx A xj 11 2 2 x -ln(2) -ln(2) Obrázek 3.41: Výpočet obsahu oblasti íž z příkladu 3.44.(a) (b) r4 rV+3 ( y + 3 - y) dy II ldxdy J2 6 6 Obrázek 3.42: Výpočet obsahu oblasti íž z příkladu 3.44.(b) 129 Příklad 3.45: Určete obsahy oblastí íl z příkladu 3.42 a obsahy oblastí tvořených integračními mezemi v příkladu 3.43. U příkladu 3.43 výpočtem obsahu příslušné oblasti navíc ověřte rovnost integrálů v zadání a v řešení. Příklad 3.46: Pomocí dvojného integrálu určete obsah kruhu o poloměru r. Příklad 3.47: Pomocí dvojného integrálu určete obsah oblasti ohraničené elipsou o délce hlavní poloosy a a délce vedlejší poloosy b. Objem tělesa Poznámka 3.21: Nechť f(x,y) je spojitá funkce na množině íl C IR2 a nechť f(x,y) > 0 pro všechna (x,y) G íl. Objem (kolmého) tělesa T C IR3 ohraničeného zdola množinou íl a shora částí grafu funkce f(x,y) je dán vztahem V = JJ f(x>y)dx dy- Q Příklad 3.48: Určete objem kolmého tělesa ohraničeného: (a) funkcí f(x,y) = x2 + y2 a množinou íl : \x\ + \y\ < 1, (b) funkcí f(x,y) = 64 — x2 a rovinami 3 • x + 4 • y = 24,x = 0,y = 0 & z = 0. Řešeni: (a) Nejprve v systému Maple zobrazíme těleso, jehož objem počítáme (obrázek 3.43), a jeho podstavu (množinu íl), abychom získali představu a snáze odvodili meze dvojného integrálu. pl ~ plot3d[ [jc.y.A2 +y2]..v = -l ..l.y=0 ,.1 — \x\,axes =frame, transparency =§.(>) : p2 := plot3d{ \_x,y,jř +y2],_Y = -l ..l,y = \x\ — 1 ..0,axes =frame, transparency =0.6) : p3 :=plot3d{ [x, 1 - \x\,z],x = -l A,z=Q .x + (1 - \x\)2, transparency =0,6): p4 :=plot3d{ [x, |i|-l,z],jt = -l ..l,z=0.J + (1 -\x\)2, transparency = 0.6): p5 ■■= plot3d{ [x,y, 0],x = -l ..l,y=0 ,.1 - : p6 -=plot3d{ [x,y,0],x = -l ..l,y=0..\x\ -1) : Obrázek 3.43: Řešení příkladu 3.48.(a) - vykreslení tělesa. S množinou íl (resp. jejími variantami) jsme se už několikrát setkali, takže by nám nemělo činit problémy přepsat ji do mezí pro proměnné x a y. Když si však uvědomíme, že množina íl je středově souměrná podle počátku souřadné soustavy (bodu [0,0,0]) 130 a že zadaná funkce f(x,y) je symetrická podle osy z, můžeme počítat objem pouze části tělesa vyskytující se v prvním oktantu (tj. pro x,y,z > 0) a výsledek vynásobit čtyřmi (abychom získali objem celého tělesa rozprostírajícího se přes čtyři oktanty, pro něž z > 0). Pro meze odpovídající prvnímu oktantu platí: 0 < x < 1, 0 0,y > 0, 3 x + 4-y - 24 < 0},jí = -2 ,.10,y = -2 ,.8, optionsfeasíble = [color = "cyan"], optionsexcluded= [color = "white"], labels = [ "x", "y"]); 24-í'X 0 0 64 — x dy dx V= 1280 Obrázek 3.45: Řešení příkladu 3.48.(b) (b) Postupujeme zcela analogicky k předchozímu příkladu. Pro meze integrálu platí: 0(x,y))2dx dy. Q Příklad 3.53: Určete obsah plochy tvořené grafem funkce f(x, y) nad množinou Q z příkladu 3.48 v případě (a) i (b). Řešeni: V obou případech využijeme poznámky 3.22, již dříve vypočítaných integračních mezí a předpisu ohraničující funkce, viz obrázek 3.46. Příklad 3.54: Určete obsah plochy tvořené grafem funkce f(x,y) nad podstavou tělesa z příkladu 3.49. Příklad 3.55: Určete obsah povrchu koule o poloměru r. Příklad 3.56: Určete obsah části plochy koule o rovnici x2 + y2 + z2 = 25 vymezené rovinami z = 2 a z = 4. 132 2 2 f (x, y) :=x +y (x, y) -+x+y ÍA-x S=4 S=4 O o r A 1+{jx-^) + {jy-^} f(x,y) ■= 64 —x J „ 4 Í f-yln(l+4a;2) -yln(l+4j:2). + y^S + Sjc2 — 8x - y Vi + 8x2 - 8 JC Jt + y ln(2 -2x + J5 + 8x2 -8x ) +ln(2 -2jľ + 75 + 8 jt2 - S*) x2 j dij 5=3.004625434 [x,y) -»64 - x 16 evtúf{%) S= 132.5103717 Obrázek 3.46: Řešení příkladu 3.53.(a) vlevo, řešení příkladu 3.53.(b) vpravo. Integrální součet Jak již víme, geometrickým významem dvojného integrálu z funkce f(x,y) přes množinu Q je objem tělesa ohraničeného množinou Q, funkcí f(x, y) a „svislými plochami". Tento objem můžeme počítat přibližně pomocí dolních (resp. horních, ...) integrálních součtů podobně, jako tomu bylo v případě jedné proměnné v sekci 2.7.4. Tentokrát přitom aproximujeme objem součtem objemů kvádrů se „zjemňující se" čtvercovou základnou a výškou spočtenou např. z funkční hodnoty ve středu čtverce - základny nebo v jednom z vrcholů. K tomu nám poslouží příkaz Approximatelnt z balíku Student [MultivariateCalcuius]. Použití příkazu Approximatelnt je takřka totožné s příkazem RiemannSum, s nímž jsme se dříve setkali. Příkazu opět povinně zadáváme předpis funkce, již chceme integrovat, a meze integrace. I v tomto případě můžeme zadávat nepovinné parametry specifikující typ integrálního součtu, typ výstupu, rozdělení integračních intervalů a další. Ukázku použití můžeme vidět na obrázku 3.47. Tak jako v případě funkcí jedné proměnné, kde můžeme místo příkazu RiemannSum využít nástroje Approximate Integration spouštěném například z hlavního menu, máme k dispozici analogický nástroj i nyní. Opět má název Approximate Integration a tentokrát jej spustíme například zvolením Tools > Tutors > Calculus — Multi-Variable > Approximate Integration... v hlavním menu (obrázek 3.48). 3.5.2 Geometrická aplikace trojného integrálu Objem tělesa Poznámka 3.23: Nechť P je množina z definice 3.15 (obecně stačí tzv. měřitelná množina) Pro objem V této množiny platí vztah V = / / / dx dy dz. p 133 Mrith(Student[MultivariateCalculus]) : /■= (x,y) ->xy (x,y) -yxy plot3d(f(x,y),x=C ..5,y=0 ..5, axes = frame) ApproximateInt(x-y,x=C ..5,y=C ..5) 156.2500000 ApproximateInt(x-y,x=0 ..5,y=0 ..5, otitput=plot, prismoptions = [color=yellow], axes = frame) UsingamidpointRiemann sum, an approximation of J f[x,y) d/ d*, where/C*,^) =yx. Actual value: 156.25. Approximate value: 156. 25. Grid: í x í Obrázek 3.47: Aproximace dvojného integrálu pomocí integrálních součtů. Multivariate Cakulus - Approximate Integration File Help Plot Window Values Approximate Value 156,25 Actual Value 156.25 Maple Command Options f= k*V □ -1° Partition: [ |5 | , \b \ ] Method: (flf) Midpoint Q Upper Coordinate System: (ô) Rectangular O Lower Q Random O Polar j Display [ Animate | J Plot Options Close Approjiiaiafcelr.fc Ĺ y*icŕ jc — C .. E, y — D .. S, Dethcd. — aiidpoir.t, CDDrdix_at*í — carte; Lax., p art-i.t-ion — [E, i], output — plot, ixt- — fcoxed, s c a L ix.g — -\it. c dt. stra ined j; Obrázek 3.48: Aproximace dvojného integrálu - maplet. Příklad 3.57: Určete objem trojosého elipsoidu daného rovnicí Řešeni: Nejprve si elipsoid vykreslíme pro nějaké konkrétní hodnoty a, b, c. Na obrázku 3.49 jsou použity hodnoty a = 13, b = 8, c = 6. Následně musíme odvodit jednotlivé meze v trojném integrálu. Za „počáteční" proměnnou vezměme x, pro niž tak platí: x G [—a, a]. vM^V1-^)21 Proměnnou y vyjádříme pomocí proměnné x jako: y G proměnnou z pomocí zbylých proměnných jako: z G a nakonec 2 2 plots [ implicitplot3d] y = - 8 ,.8.z = -6 ..6?ŕĽffiľ = frame, scaling = constrained x = -13 ..13, ft 1 ' 1 dz dv At -ŕ- 1 (7) -Hi) -(i)' F= — c a b It 3 Obrázek 3.49: Řešení příkladu 3.57. Příklad 3.58: Pomocí trojného integrálu určete objem tělesa z příkladu 3.48. Příklad 3.59: Pomocí trojného integrálu určete objem kvádru o rozměrech a, b, c. Příklad 3.60: Pomocí trojného integrálu určete objem koule o poloměru r. Příklad 3.61: Pomocí trojného integrálu určete objem válce o poloměru podstavy r a výšce v. 135 3.5.3 Transformace souřadnic ve dvojném a trojném integrálu U skupiny integrálů, kde pracujeme s kruhovými, kulovými či válcovými plochami, bývá výhodná transformace do polárních, sférických či cylindrických souřadnic. Poznámka 3.24: (Transformace do polárních souřadnic) Uvažujme dvojný integrál f(x,y) dx dy. Pro transformaci tohoto integrálu do polárních souřadnic daných vztahy x = r ■ cos(#), y = r ■ sin(0) platí: J J f (x,y) dx dy = J J /(r • cos(#), r • sin(#)) • r dr d#, kde r G [O,oo),0 G [0,2 -tt]. Poznámka 3.25: (Transformace do sférických souřadnic) Uvažujme trojný integrál f (x, y, z) dx dy dz. Pro transformaci tohoto integrálu do sférických souřadnic daných vztahy x = r ■ cos(0) • sin(#), y = r ■ sin(0) • sin(#), z = r ■ cos(#) platí: ľ ľ ľ f (x, y, z) dx dy dz f (r ■ cos(0) • sin(#), r • sin(0) • sin(#), r • cos(ŕ5)) • sin(0) - r dr d0 dO, kde r G [0, oo), 0 G [0, 2 • tt], 9 G [0, 2 • tt]. Poznámka 3.26: (Transformace do cylindrických souřadnic) Uvažujme trojný integrál J J J f (x,y, z) dx dy dz. Pro transformaci tohoto integrálu do cylindrických souřadnic daných vztahy x = r ■ cos(#), y = r ■ sin(#), z = z platí: ľľľ fff f (x, y, z) dx dy dz = J J J f (r • cos(9),r ■ sin(#), z) • rdr d9 dz, kde r G [0, oo), 9 G [0, 2 • tt], z G M. 136 Příklad 3.62: Použitím transformace do polárních souřadnic určete objem kolmého tělesa ohraničeného funkcí f(x,y) = ex +y a kruhovou podstavou popsanou nerovnicí x2 + y2 < 4. Řešení: Můžeme využít poznámky 3.24 nebo zapsat dvojný integrál pro kartézské souřadnice, který jsme již vytvořili v příkladu 3.49.(c), a pro transformaci do souřadnic polárních využít příkaz ChangeOf Variables (či příkaz changecoords). Využijme zmíněný příkaz. Integrační meze Maple nepřevede, musíme je tak vytvořit sami. Podstavou tělesa je kruh o poloměru r = 2, což vede na následující meze: r G [0, 2], ŕ? G [0, 2 • 7r]. with(Student[MultŕvariateCalculus]) : ChangeOfVariab\es\Multilnti^ é^+* ,y = -j4—x" ..J 4 — x , x = -2 ..2, output = integral), cartesian .polar í í V=lnt{lnt{fŕr!r=0 ..2), 9 = 0 ..2-jc) 2 ry=J'\-x2 e r Ar d9 -,/4-v2 value(%) evalf{%) V=\ e r ár do 0 o V= -K + e4 jr V= 168.3835544 Obrázek 3.50: Řešení příkladu 3.62. Příklad 3.63: Použitím transformace do polárních souřadnic určete objem kolmého tělesa ohraničeného funkcí f(x,y) = a/1 — x2 — y2 a kruhovou podstavou popsanou nerovnicí x2 + y2 < 1. Příklad 3.64: Vraťte se k příkladům 3.46, 3.51, 3.52, 3.60 a 3.61. Příslušné výpočty nyní proveďte i v jiném systému souřadnic (tj. např. polárních, sférických, ...) a výsledky porovnejte s původně získanými. 3.6 Nekonečné řady Definice 3.16: Mějme funkci / : IR —y IR. Jestliže D(f) = N, nazýváme tuto funkci posloupností reálných čísel a značíme {an}^=1. Definice 3.17: Nechť {an}^Li Je posloupnost reálných čísel. Symbol an nebo a\ + a2 + ••• + an + ••• n=l 137 nazýváme nekonečnou (číselnou) řadou. Posloupnost {sn}^Li definovanou předpisem si = ai, s2 = a1 + a2, ... sn = dl + a2 + ... + an, nazýváme posloupností částečných součtů této řady. oo Definice 3.18: Existuje-li vlastní limita lim sn = s, řekneme, že řada an konverguje n^oo n=1 a má součet s. oo Neexistuje-li vlastní limita lim sn, řekneme, že řada an diverguje. n^oo n=1 Poznámka 3.27: Divergenci řady můžeme ještě rozlišit na tři případy: • je-li lim sn = oo, říkáme, že řada diverguje k oo, n—>oo • je-li lim sn = — oo, říkáme, že řada diverguje k — oo, n—>oo • pokud lim sn neexistuje, říkáme, že řada osciluje. V systému Maple zadáváme posloupnosti pomocí příkazu seq nebo pomocí kontextové nabídky dokumentu. Příkaz seq je možné použít několika různými způsoby s ohledem na to, jaké mu zadáváme parametry. S výjimkou jediného případu mu vždy zadáváme jako první parametr n-tý člen posloupnosti a dalším parametrem (dalšími parametry) specifikujeme, které členy posloupnosti chceme vypsat (což můžeme učinit zadáním intervalu, zápisem jediné hodnoty - pro jediný člen nebo výpisem členů posloupnosti v seznamu). V případě použití kontextové nabídky zadáme do dokumentu n-tý člen posloupnosti, klikneme na něj pravým tlačítkem a zvolíme položku Sequence spolu s iterační proměnnou. V následně zobrazeném okénku navolíme, které členy posloupnosti chceme vypsat do dokumentu. Použití kontextové nabídky má však oproti příkazu seq mnohá omezení. seq{n',n = 0 ..10) 0,1,4,9,16,25,36,49,64,81,100 seq{n~ ,n = k) k2 seq{n2,n = s) 64 seq{n', n in [ 1, 3, 5, 7]) 1,9,25,49 j sequenoe w.r.t n n---* 0, 1,4,9, 16,25,36,49,64,81, 100 2 sequenoe w.r.t n n -* 64 Obrázek 3.51: Různé možnosti vypsání členů posloupnosti. Posloupnosti {an} můžeme též vykreslovat do grafů. Potřebujeme k tomu vytvořit dvojice [n,an], které následně zobrazíme jako body příkazem plot. Pro vytvoření dvojic [n, an] můžeme pochopitelně použít příkaz seq, vykreslení bodů je třeba specifikovat parametrem style nastaveným na hodnotu point (v příkazu plot). 138 dvojice := seq{ [n. ři2].w = 0 ..lo) [0,0], [1,1], [2,4], [3,9], [4, 16], [5,25], [6, 36], [7,49], [8, 64], [9,81], [10, 100] plot( [dvojice], style=point, symbol = solidcircle) 100n 80- • • eo- • • 40- • 20- • • 0^ [ • • 1—*—1-1—1—.—1—1—1-1-1 2 4 e 8 10 Obrázek 3.52: Vykreslení členů posloupnosti. l íťl (3-n-2)-(3-» + l) i SUm{ (3,-2H3.» + l i Částečný součet řady: k 2_1_ ■ (3n-2)(3» + l) -,n = 1 .. "f + 1 K) (3n-2)(3n + 1) 1— + j S_1_ ^ (3-h-2)-(3-ii + 1] (3n-2)(3n + 1) 15 ,n= 1 ..5 j 16 Matematický zápis řady: 1 sum w.r.t. n 1 _ 1 (3-M -2)-(3-u + 1) _* Sťi (3ji-2) (3ra + 1) 3 5um [(3,-2H3, + l)"=1-m):a = TAaW ~l (3»-2) (3n + l) 3 Obrázek 3.53: Různé možnosti zápisu nekonečných (i konečných) řad. Nekonečné řady (i konečné součty) zadáváme v Maple několika způsoby. Jednak paleta Expression nabízí předdefinovaný symbol velkého řeckého písmene sigma, k dispozici je také příkaz sum a využít můžeme opět i kontextové nabídky dokumentu (i když trochu „komplikovaně"). Příkaz sum má dva parametry (n-tý člen řady a „součtové" meze). Po provedení příkaz vypíše součet řady (pokud jej umí určit). Systém Maple nabízí též příkaz Sum s velkým počátečním písmenem, jenž slouží pro matematický zápis řady s použitím řeckého písmene sigma. A právě takový zápis je možné získat i pomocí kontextové nabídky, 139 když do dokumetu zapíšeme n-tý člen řady, klikneme na něj pravým tlačítkem myši a zvolíme položku Constructions > Sum > n. Dalším kliknutím pravého tlačítka myši (tentokrát na matematický zápis řady) a zvolením Evaluate (from inert) získáme součet řady (pokud jej Maple umí určit) - obrázek 3.53. S tím, co již známe, nám nic nebrání ve vypsání posloupnosti částečných součtů. Tuto posloupnost navíc můžeme vykreslit, například společně se součtem řady - viz obrázek 3.54. castec}ie_souct)' '■— seq *2 Éí (3-i-2)-(3-i + l) n=l ..25 7 22 13: 13 55 24, 13 40 i: 10 4, 13 25 28 19. 24 73 14. 19 58 25. 14 43 20. 15. 20 61 10. 15 46 10 31 21. 16. 21 64 16 11. 16 49 5, 19 11 34 22. 17. 22 67 12. 17 52 7, 12 37 23. 18: 23 70 25 76 pl := plot{ [castecne_soucty], style=point,symbol = solidcircle, symbols ize = 20) : p2 := plot ^ -i-, n = 0 . .25, cořoř- = rřus, thickness = 2 J 0.33 0.32 0.31 0.30 0.29 0.28 0.27 0.26 0.2í 0 10 lí 20 2Í Obrázek 3.54: Vykreslení posloupnosti částečných součtů a součtu řady. Existují nekonečné řady, jejichž součet Maple neumí určit. V takových případech ani nevypíše, zda řada součet má (tj. zda konverguje) či zda řada diverguje. V těchto situacích musíme konvergenci řady vyšetřit „sami" jinými postupy, přičemž si samozřejmě můžeme „pomáhat systémem Maple" při dílčích krocích. Příklad 3.65: Určete součty následujících řad: (a) E n=l n-(n+l) : (b) Ľá, n=l (<0 E í- n=l Příklad 3.66: Určete součty následujících řad: oo _ _ oo (a) V^Tl +Vň), (b) Earctan(^). n=l n=l Řešeni: (a) Systém Maple zadanou řadu sečíst neumí. Určíme tedy částečný součet řady pro libovolné (pevné) k a následně prověříme existenci limity tohoto částečného součtu pro k —> oo. Částečný součet s k přitom odvodíme na základě několika částečných součtů pro různé konkrétní numerické hodnoty. Zcela správně bychom měli (například matematickou indukcí) dokázat, že pravidlo, které vypozorujeme z některých (nejlépe několika prvních) částečných součtů platí skutečně pro libovolné k. 140 Naznačme proto takový důkaz aspoň nyní. Díky Maple víme, že 10 (Vn + 2 - 2 • y/n + 1 + y/nj = \-yÍ2- \/lí + >/l2, n=l 11 (Vn + 2 - 2 • Vn + 1 + Vň) = l-y/2- Vl2 + ^13, n=l 12 (V^ + 2 - 2 • y/n + 1 + Vň) = 1 - - VÍ3 + 7l4. n=l Předpokládejme nyní, že pro libovolné A; > 10 platí: fc (y/n+ 2 - 2 • VřiTT + y/n) = \-yÍ2- y/k + 1 + y/k + 2. n=l Pak platí: fc+3 (VňT2 - 2 • VřiTT + v^) = l-y/2- Vk + 1 + V A; + 2 n=l + (Vfc + 3- 2-VA; + 2 + VA; + l + (y/k + A-2-y/k + 3 + y/k + 2 + (y/k + 5-2-Vk + A + Vk + 3 = l-y/2- y/k + A + \/k + 5. Zjistili jsme tedy, že pokud naše hypotéza platí pro libovolné k > 10, platí i pro k + 3. Jelikož víme, že vypozorovaný vztah platí pro k G {10,11,12}, pak musí nutně platit pro zcela libovolné k > 10. (b) Systém Maple zadanou řadu sečíst opět neumí. Postupujeme totožným způsobem jako v předchozím příkladu. Opět je třeba dokázat, že vypozorovaný vztah skutečně platí pro libovolné k. V tomto případě to necháváme na čtenáři (obrázek 3.55). Pokud nedokážeme určit součet řady ani my, zpravidla bychom chtěli alespoň odpověď na otázku, zda řada konverguje či diverguje. Zabývat se nyní budeme řadami s nezápornými členy, u nichž platí, že buď konvergují (k nějaké konečné reálné hodnotě) nebo divergují k nekonečnu. Pro zjištění, zda řada konverguje či diverguje, máme několik rozhodovacích kritérií. oo oo Poznámka 3.28: (Srovnávací kritérium) Mějme řady ^2 an, ^ bns nezápornými členy n=l n=l a nechť an < bn pro všechna n G N. Pak platí: konverguje-li řada ^2 bn, konverguje i řada ^2 a n=l n=l oo "n i diverguj e-li řada ^2 an, diverguje i řada ^2 bn. n=l n=l 141 ;: = 1 X Un + 2 -2-Jn + l + Jň) CO ^(Jn + 2 -2Jn + l + j~ň~) 10 E n = l ^ [Jn + 2 -2-7" + l + 7"~) i - /2~ - 7TT + 11 ^ Un + 2 -2-V« + l +/«) i? = l 12 1 - 72" -/lY + 7^3" ^ Un + 2 -2-7« + l + 7"~) n = l 1 - 72" - 7^+-/14" iď 5] (V« + 2 -2-7« + l + 7^) n = l 1 - 72" - 7šě~ + 7ěo~ Je zřejmé, že: k Y, Un + 2 -2-Jn + l +Jn~) = l-j2 -Jk+ 1 +Jk + 2 A tedy: ^ Un + 2 -2-Jn + l + J~ň) ;; = 1 lim Jk+ 1 + yjt + 2 ) = 1-/2 2 arctaní - ^ arctaní ŕ 10 simplify ^ arctan í —- ™=1 ^2n J V 2/i J , arctan ' 11 1 simplify ^ arctaní-j- | " [m = 1 [ 2-n j , arctan í 12 1 simplify ^ arctaní-j- | arctan 13 simplify ^ arctan í —— arctan (f) Je zřejmé, že: y, arctan ľ n = l ^ 2 ň A tedy: arctaní : —(lir) n = l I 2-n 2 k" lim arctan - k+1 4 Obrázek 3.55: Řešení příkladu 3.66. Část (a) vlevo, část (b) vpravo. 00 00 Poznámka 3.29: (Limitní srovnávací kritérium) Mějme řady an, bn s nezápornými n=l n=l členy a nechť existuje lim -p- = L. Pak platí: • je-li L < 00 a konverguje-li řada 6n, konverguje i řada an n=l n=l je-li L > 0 a diverguje-li řada 6n, diverguje i řada an. n=l n=l Poznámka 3.30: (Odmocninové kritérium) Nechť an je řada s nezápornými členy. n=l Platí-li pro všechna n G N: ^fä~^ < q < 1, pak řada konverguje, 142 existuj e-li lim y/a^ = g, kde g G IR U { — oo, oo}, n—>oo pak pro q < 1 řada konverguje, pro g > 1 řada diverguje. Poznámka 3.31: (Podílové kritérium) Nechť ^ an je řada s nezápornými členy. n=l • Platí-li pro všechna n G N: < q < 1, pak řada konverguje, platí-li pro všechna n G N: > 1, pak řada diverguje, • existuj e-li lim n+1 = g, kde g G IR U { — oo, oo}, n^oo an pak pro q < 1 řada konverguje, pro g > 1 řada diverguje. Poznámka 3.32: (Limitní Raabeovo kritérium) Nechť ^ an je řada s nezápornými členy a nechť existuje n=l lim n ■ (1--) = g, kde g G IR U { — oo, oo}, íwoo y an ) pak pro g > 1 řada konverguje, pro q < 1 řada diverguje. Poznámka 3.33: (Integrální kritérium) Nechť je funkce / definovaná na intervalu [l,oo), která je na tomto intervalu nezáporná a nerostoucí. Nechť f(n) = an pro n G N. oo Pak řada ^ an konverguje právě tehdy, když konverguje nevlastní integrál n=l f(x) dx. Příklad 3.67: Rozhodněte o konvergenci následujících řad: (a) E k^ňj? (d) E ^i? n=2 n=l 00 . . oo (b) (e) E^ífe. n=l n=2 (c) E oo n i? esem': oo (a) Využijeme srovnávacího kritéria a toho, že řada ^ - diverguje. Jelikož pro všechna n=2 oo n co n\ (e) V posledním případě použijeme integrální kritérium. Funkce f (x) = x,l^x^ je na intervalu [2,oo) nezáporná a klesající (předpoklady integrálního kritéria). Jelikož f {x) dx = 00, 00 řada E n.\n(n) diverguje. Pomocné výpočty v Maple k tomuto příkladu ilustruje obrázek n=2 3.56. Příklad 3.68: Rozhodněte o konvergenci následujících řad: (a) E (v^-V^T), (d) + (g) ES, n" n=l n=l n=l 00 00 00 (b)E^, (e) Esin(£), (h)E^ n=l n=l n=l (c) E ^/n4+1 ? (f) E ^4? (í) E ^3- n=l n=l n=l 3.6.1 Absolutní konvergence řad Definice 3.19: Nekonečná řada E an se nazývá alternující, jestliže pro všechna n E N n=l platí: signum(an+1) = —signum(an). Poznámka 3.34: (Leibnizovo kritérium) Nechť an je nerostoucí posloupnost kladných čísel. Pak alternující řada E (—l)n_1 • an konverguje právě tehdy, když platí lim an = 0. n=l n^°° Alternující řady zadáváme systému stejným způsobem jako veškeré nekonečné řady. Jak uvidíme, systém Maple umí počítat součty alternujících řad. V případech, kdy součet řady určit nedokáže, nám velmi pomůže výše zmíněné Leibnizovo kritérium konvergence. Příklad 3.69: Rozhodněte o konvergenci následujících řad: w EH-ir1, (b) EiM-ir1- n=l n=l Řešení: (a) Systém Maple určí součet zadané řady. (b) V tomto případě Maple součet neurčí. Využijeme proto Leibnizova kritéria, díky němuž zjistíme, že zadaná řada diverguje. 145 Obrázek 3.57: Pomocné výpočty k řešení příkladu 3.69. Definice 3.20: Řekneme, že nekonečná řada ^ an konverguje absolutně, jestliže konver- n=l oo oo oo guje řada ^ \an\. Jestliže řada ^ an konverguje a řada ^ \an\ diverguje, říkáme, že řada n=l n=l n=l oo ^2 an konverguje neabsolutně. n=l oo oo Poznámka 3.35: Konverguje-li řada ^ |an|, konverguje i řada ^ an. Diverguje-li řada n=l n=l CXD CXD E an, pak diverguje také řada ^ |an|. n=l n=l Příklad 3.70: Rozhodněte o konvergenci a absolutní konvergenci následujících řad: oo oo (a) EMl + iM-ir1, (b) E^y(-l)n- n=l n=2 (a) Systém Maple součet zadané řady neurčí. Využijeme proto Leibnizova kritéria, díky němuž zjistíme, že zadaná řada konverguje. K posouzení absolutní konvergence již můžeme využít systému Maple. Závěr tedy je, že zadaná řada konverguje neabsolutně. (b) Systém Maple neurčí součet ani jedné z řad. Pro posouzení konvergence zadané řady využijeme Leibnizova kritéria, díky němuž zjistíme, že zadaná řada konverguje. Konvergenci (resp. divergenci) řady absolutních hodnot můžeme ověřit např. integrálním kritériem, což jsme prováděli již v příkladu 3.67.(e), kde jsme zjistili, že tato řada diverguje. Závěr tedy je, že zadaná řada konverguje neabsolutně. 146 co £K'+v)-<-»- co , lim ln 1 + — co CO (-0* h=2 nln(n) 1 lim ř!^co n-ln(íí) v 1 M=2n-ln(n) h=2 nln(n) Obrázek 3.58: Pomocné výpočty k řešení příkladu 3.70. Příklad 3.71: Rozhodněte o konvergenci a absolutní konvergenci následujících řad: oo oo (a) Z (2-n+l)! ' i-1)" ' (d) Z (n-ln(n) ' í"1)"' n=l n=l oo oo (b) E^i-í-r1, (e) E(i^vr-(-ir, n=l n=l oo oo (<0 Ei^ryí-ir1, (f) ETi-W-í-ir1- n=l n=l V »/ 147 4 Lineární algebra s Maple v Cn. Oproti kapitolám věnovaným matematické analýze nyní přejdeme od prostoru reálných čísel IR k obecnějšímu prostoru čísel komplexních C. 4.1 Vektorové prostory 4.1.1 Vektory Definice 4.1: Nechť n G N. Vektorem v prostoru Cn rozumíme uspořádanou n-tici komplexních čísel. Sčítání vektorů definujeme po složkách, při násobení vektoru skalárem (tj. komplexním číslem) vynásobíme skalárem každou složku vektoru. Poznámka 4.1: Vektorem zpravidla přesněji rozumíme uspořádanou n-tici zapsanou jako sloupec hodnot. V systému Maple můžeme vektor vytvořit dvěma hlavními způsoby1. Prvním je zapsat složky vektoru do lomených závorek, druhý způsob představuje použití příkazu Vector. Příkaz nemá žádný povinný parametr, nicméně jeho provedení bez parametru vytvoří 0-dimenzionální vektor. V nepovinných parametrech můžeme příkazu především říct, jakou má mít výsledný vektor dimenzi a z jakých hodnot se má skládat. v := (0, 1,-1) 1 2 0 1 -1 w ~ {I, 0, 0, 2 - /, 3 + 7} I 0 0 2-1 3+1 u. := Vector{[\,2]\ v:= Vectar([Q, 1,-1]) 1 2 0 1 -1 w ~ Vector{ [I, 0, 0, 2 -1 3 + I]) I 0 0 2-1 3+1 Obrázek J^.l: Definice vektoru v Maple. 1V sekci 4.1.2 si ukážeme ještě jeden významný způsob vytvoření vektoru pomocí palet. 14c restart u := Vector(3,symbol= u) Brrorf recursive assigratierit vektor u ■— VectoriZ,symbol — u) vektor v '■— VectorCi, symbol = v] vl h vektor u + l ■ vektorv kU^ + l Vy ku^ + lvj ku^ +1 Vy Vector(2) Vector{ \ ..3,5) /- 1 /i—*x Vector{l,f) Vector(3, skape = unit[ 3 ]) Obrázek 4-2: Možnosti při definování vektoru. Maple standardně vytvoří vektor jako sloupec hodnot. Pokud chceme mít řádek hodnot, použijeme příkaz ve tvaru Vector [row]. Více je patrné z obrázků 4.1 a 4.2. Na obrázku 4.2 Maple při prvním pokusu o vytvoření vektoru vypíše chybovou zprávu Error, recursive assignment. Tato zpráva se objevuje vždy, když se snažíme definovat proměnnou pomocí sebe sama. Musíme mít na paměti, že v Maple není možné použít značení, na něž jsme zvyklí z přednášek, tj. např. u = (ui,U2,us). K jednotlivým složkám vektoru můžeme přistupovat přes indexy. Ty je možné zapisovat do kulatých nebo hranatých závorek, přičemž hranaté závorky jsou ekvivalentní dolnímu indexu, tj. u[i] = u,i. Funkcionalita kulatých a hranatých závorek v indexování vektorů sice není naprosto totožná, ale pro naše potřeby prakticky bude, a je tak možné používat obojí značení2. Indexem může být jediné číslo (i), seznam hodnot ([*i, «2, vl) nebo interval (Í1..Í2). Použití ilustruje obrázek 4.3. Poznámka 4.2: Vektory v prostorech IR2 a IR3 si představujeme jako orientované úsečky, tj. úsečky, jejichž jeden krajní bod považujeme za počáteční a druhý za koncový - ten je označený šipkou. Přitom dvě stejně dlouhé, rovnobežné a souhlasně orientované úsečky představují tentýž vektor. Říkáme, že takové úsečky jsou různými umístěními téhož vektoru. Poznámku 4.2 můžeme ilustrovat pomocí příkazu PlotVector z balíku VectorCalculus - obrázek 4.4. 2Více o indexování vektorů, matic a obecných polí najdeme např. v nápovědě: http://www.maplesoft. com/support/help/Maple/view.aspx?path=rtable_indexing 149 u ~ Vector{ [ 1, 0,-3,2,4]) : u 1 0 -3 2 4 U(1)jU[1] = ií1 1, 1 = 1 «(1 ..3),h[1 ..3]=Ml j 1 1 1 0 ľ- 0 = 0 -3 -3 -3 «([1,3,5]), «[[1,3,5] 1' 1 ' -3 -3 4 4 «(1) :=2 «[1] :=3 2 0 -3 2 4 3 0 -3 2 4 Obrázek 4-3: Indexování vektoru. Obrázek 4-4'- Vykreslení vektoru. Sčítání vektorů můžeme v Maple znázornit například pomocí matematické aplikace dostupné od verze Maple 16. Spuštěním Tools > Math Apps a zvolením Vector Addition z části Vectors umístíme do dokumentu interaktivní graf s dvěma vektory a jejich součtem. Vektory je přitom možné pomocí myši libovolně měnit. Podobu interaktivního grafu posky- 150 tuje obrázek 4.5 vlevo. Kromě aplikace znázorňující sčítání vektorů nabízí Maple též aplikaci pro odčítání vektorů (Vector Subtraction) - obrázek 4.5 vpravo. Vector Addition id 7 (3.7,44) / J7^ -10 0 10 -V -11) -ii) Vector Subtraction id y 5 -íl) Obrázek 4-5: Interaktivní graf znázorňující sčítání vektorů (vlevo) a odčítání vektorů (vpravo) Definice 4.2: Nechť n G N. Řekneme, že V C Cn spolu s výše definovanými operacemi sčítání vektorů a násobení vektoru skalárem je vektorový (resp. lineárni) prostor nad polem K G {IR, C}, jestliže 1. nulový vektor, tj. (0, 0,0), patří do V, 2. Vu,v G V,Vk,l eK: k-u + l-v eV. Poznámka 4.3: Vektorový prostor nad obecným polem skalárů spolu s operacemi sčítání vektorů a násobení vektoru skalárem (ne nutně definovanými stejně jako v tomto textu) bývá standardně definován pomocí osmi axiomů. Ty zajišťují např. komutativitu a asociativitu sčítání vektorů, existenci nulového a jednotkového prvku a další. Ponecháváme na čtenáři, aby ověřil, že výše definovaný vektorový prostor vyhovuje i standardní definici. Poznámka 4.4: Standardní definici vektorového prostoru odpovídá daleko více množin s operacemi sčítání vektorů a násobení vektoru skalárem. My jsme se pro jednoduchost omezili pouze na ty vektorové prostory, s nimiž budeme dále v textu pracovat. Definice 4.3: Nechť n G N, V je vektorový prostor nad K G {IR, C}. Výraz i=i pro ui, u2,un G V, ki, k2,kn G K nazýváme lineami kombinaci vektorů u1} u2,un s koeficienty k±, k2,kn. Vektory ui, u2,un nazveme lineárně závislými, jestliže existují čísla ki, k2,kn G K tak, že alespoň jedno z nich je nenulové, a platí h ■ Uj = 0. 1=1 Pokud taková netriviální lineární kombinace neexistuje, nazýváme vektory u1} u2, ...,un lineárně nezávislými. 151 Dennice 4.4: Nechť V je vektorový prostor nad K G {IR, C}. Řekneme, že neprázdná množina U C. V ]e vektorový podprostor prostoru V nad K, jestliže vyhovuje definici 4.2. Mějme dále množinu M C V. Průnik všech vektorových podprostorů prostoru V, které obsahují množinu M, se nazývá lineárním obalem množiny M. Bází vektorového prostoru V nad K je množina lineárně nezávislých vektorů, jejichž lineární obal je roven celému prostoru V. Koeficienty lineární kombinace vyjadřující vektor u E V ve zvolené bázi {ui, U2,un} se nazývají souřadnice vektoru u v této bázi. with{LinearAlgebra) : -(1,2,3) = {1;U) = (2,3,4) = (0, 0,1) = (0, 0,3) vl v2 v3 v4 v5 Basis([v| (3 ..5) 2 3 4 Basís{[v\\{l ..3)]) 1 1 2 1 3 1 Basis( [v|| (1 ..4) 1 1 0 2 1 0 3 1 1 Obrázek 4-6: Určení báze vektorového prostoru v Maple. Pro nalezení báze vektorového prostoru poskytuje Maple příkaz Basis z balíku LinearAlgebra. Jeho parametrem je seznam (nebo množina) vektorů, z nichž chceme určit bázi prostoru, který generují. Definice 4.5: Bázi en = {e1; e2,en}, n G N vektorového prostoru V {R,C}, kde e.(j) = 1 pro i = j, e,t(j) = 0 pro i ^ j, i, j = 1, 2,n nazýváme kanonickou (resp. standardní) bází tohoto prostoru. nad K G Poznámka 4.5: Pokud nebude uvedeno jinak, budou v dalším textu souřadnice vektorů udávány vždy ve standardní bázi. Podobně vektorový prostor V = Kn,K G {R, C}, n G N bude vždy nad příslušným polem K. Příklad 4.1: Nechť V = C3 se standardní bází. Určete souřadnice vektoru u = (3,5, —2) ve standardní bázi. Řešení: Odpověď je triviální. Příklad slouží k zamyšlení se nad výše definovanými pojmy. Souřadnice vektoru u ve standardní bázi jsou právě (3,5, —2), neboť 3 • ei + 5 • e2 - 2 • e3 = 3 • (1, 0, 0) + 5 • (0,1, 0) - 2 • (0, 0,1) = (3,5, -2). Příklad 4.2: Nechť V = C3. Uvažujme bázi a = {(3, 0, 0), (0, 2, 0), (0, 0,1)}. Určete souřadnice vektorů standardní báze v bázi a. Příklad 4.3: Jsou vektory ui = (1, — 2,3),u2 = (2,—1,0), w3 = (1,1,—3) lineárně nezávislé? Příklad 4.4: Generují vektory ui = (1,—2,3),m2 = (2, —1,0),w3 = (1,1,— 3),w4 = (1, 0, — 1)} vektorový prostor IR3? 152 4.1.2 Matice Definice 4.6: Nechť m,n G N. Matici typu m x n nad množinou komplexních čísel C rozumíme obdélníkové schéma ^(2 n (2l2 021 O22 din \ a2n kde a,ij G C pro všechna i G {1, 2,m}, j G {1,2,..., n} se nazývají prvky matice. Jestliže m = n, mluvíme o čtvercové maticí řádu n. Poznámka 4.6: Jelikož vektorem můžeme chápat matici typu m x 1, lze vektory v Maple zadávat stejným způsobem jako matice. Matice v Maple vytváříme především následujícími třemi způsoby: • použitím lomených závorek se svislou čarou oddělující jednotlivé sloupce matice, • použitím příkazu Matrix • nebo použitím palety Matrix. Konkrétní příklady jsou uvedeny na obrázcích 4.7 a 4. A- (1,2|3,4) 1 3 2 4 B ~ (0, 1,-1 |J, 0, 0|0,2 -Z 3 +1) 0 I 0 1 0 2-1 -10 3+1 Á :=Mjřj-čc([[l,3], [2,4]]) 1 3 2 4 B:=MafrĎr([[0,Z0], [1,0,2 [-1,0,3+7]]) 0 I 0 1 0 2-1 -10 3+1 1 3 2 4 B := 1 3 2 4 0/0 1 0 2-/ -10 3+7 0 1 0 1 0 2-1 -10 3+1 Obrázek 4-7: Příklady vytvoření matice v Maple. Zcela analogicky, jako jsme přistupovali k jednotlivým prvkům vektoru, specifikujeme též prvky matice. Opět využíváme zápisu indexů do kulatých nebo hranatých závorek. Ovšem pozor, v případě matic již narazíme na některé odlišnosti těchto dvou zápisů. Při použití jediného indexu (resp. indexu pro jednu dimenzi), který vyjadřuje označení řádku matice, je u kulatých závorek automaticky brán pouze první sloupec, u hranatých závorek celý řádek matice. Více je patrné z příkladů na obrázku 4.9. 153 M : = Matrix | 3, sym bol = m) mm m % 1 m2,2 m2,l m3 1 m3 2 m3 3 N := Matrix(2, 3, symbol= n) "l, 1 nl,2 nl,3 n2, 1 n2,2 'h J Matrix(2, 3) 0 0 0 0 0 0 Matrix{l ..2, 1 ..3, 5) Matrix(3,f) 5 5 5 5 5 5 x x2 x3 x2 x3 x4 x3 x4 x5 Afařríxf 3. shape = identity) 1 0 0 0 1 o O O 1 Obrázek 4-8: Další možnosti při vytváření matice v Maple. B:=Matrix[[[0,lO], [1.0.2 - J], [-1.0.3 + /]]) 0 1 0 1 0 2-1 -10 3+1 B{2,1),B[2,1]=B21 1,1 = 1 B{2) 1 B[2] B{1 ..3) B[l ..3] [ 1 0 2-I] [01-1] 0 I o 1 0 2-1 -10 3+1 B{2 ..3, 1 ..2),B[2 .3, 1 ..2] 5(1) := 14 1 0 1 0 ' -1 0 -1 0 B 16 £[1,1] := 19 B 14 I 0 1 0 2-1 -10 3+1 16 16 16 16 1 0 2-1 -1 0 3+1 19 19 16 16 1 0 2-1 -1 0 3+1 Obrázek 4-9: Indexování matice. Poznámka 4.7: Matice značíme velkými písmeny, jejich prvky písmeny malými. To znamená, že např. prvky matice A budeme v textu značit (pro vhodná Systém Maple rozlišuje velikosti písmen, takže v něm se musíme držet zavedeného označení (tj. používat stále stejné písmeno včetně jeho velikosti). Písmenem E budeme značit jednotkovou čtvercovou matici řádu n G N, tj. matici, pro niž platí: G {1,2, ...,n} : = 1 pro i = j, = 0 jinak. 154 Dennice 4.7: Nad maticemi definujeme následující operace: • součet matíc: A + B = C, jestliže A, B, C jsou matice typu m x n (m, n G N) a platí: Wi G {1,2, ...,m},j G {1,2, ...,n} : = + bih • násobení matice skalárem: k ■ A = B, jestliže A, B jsou matice typu m x n (m, n G N), A; G C a platí: \/i G {1,2,m}, j G {1, 2,n} : = k ■ a^, • násobení matic: A ■ B = C, jestliže A je matice typu m x n, B je matice typu n x q, C je matice typu m x q (m, n, q E N) a platí: Mi G {l,2,...,m},k G {1,2,..., g} : cik = ^ aíj -bjk- Definice 4.8: Nechť A je matice typu m x n (m, n G N). Matici AT typu n x m nazveme transponovanou maticí matice A, jestliže pro její prvky platí: afj = cljí pro všechna i G {1, 2,m}, j G {1,2,..., n}. Čtvercovou matici A řádu n G N nazýváme symetrickou, jestliže platí AT = A. Definice 4.9: Nechť A, B jsou čtvercové matice řádu n G N splňující A • B = B ■ A = E. Pak se matice B nazývá inverzní matici k matici A a značí se A~ľ. Matici, k níž existuje matice inverzní, nazýváme invertibilní matici A ~Maträ[[[l,2,3], [4,5,6], [7,8,9]]) 1 2 3 4 5 6 7 8 9 3 =.-■/:■:.-:.-.. I I b. 2,1], [6,5,4], | -. " 3 2 1 6 5 4 9 8 7 A + B = 5-A-- AB-- 4 4 4 10 10 10 16 16 16 5 10 15 20 25 30 35 40 45 42 36 30 96 81 66 150 126 102 A %T 1 4 7 2 5 8 3 6 9 -1 Errorf fin rtable/Power) singular matrix C := Matrix( [ [ 1, 2, 3], [1,0, 1], [7,0,0]]) 1 2 3 1 0 1 7 0 0 0 0 1 7 1 3 1 2 2 7 0 1 1 7 Obrázek 4-10: Maticové operace v Maple. 155 Obrázek 4.10 ilustruje pojmy předcházejících definic v Maple. Sčítání matic a násobení matice skalárem je stejné jak v psaném textu. Totéž platí pro zápis inverzní matice. Pro násobení matic je určena tečka (tj. tatáž tečka na spodním okraji řádku, kterou například ukončujeme větu). Zápis transponované matice se liší od klasického matematického zápisu přidáním symbolu % do exponentu matice. Pro výpočet inverzní a transponované matice poskytuje navíc Maple příkazy Matrixlnverse a Transpose, které však oba náleží do balíku LinearAlgebra, jenž je proto potřeba před jejich použitím načíst. Pokud se pokusíme vypočítat inverzi k neinvertibilní (tj. singulární) matici, vypíše systém Maple chybovou zprávu Error, (in rtable/Power) singulár matrix. Matici můžeme systému Maple zadávat i blokově. Na obrázku 4.11 vidíme, jak k tomu použít příkaz Matrix. ■■Matrn[[[l,2,i], [4,5,6], [7,8,9]]) 1 2 3 4 5 6 7 8 9 ■■Matrix[[[3,2, 1], [6,5,4], [9,8,7]]) 3 2 1 6 5 4 9 8 7 : Matrix( 3, shape = identity) 1 0 0 0 1 o 0 0 1 C := Matrix(2, 3) 0 0 0 0 0 0 F := Matrix( [ [1. 1. 1]]) [m] N~Matrin[[[Ä,E\, [B[\ ..2], C], [£[3],ŕ] ]) 12 3 10 0 4 5 6 0 1 0 7 8 9 0 0 1 3 2 1 0 0 0 6 5 4 0 0 0 9 8 7 1 1 1 Obrázek J^.ll: Maticové operace v Maple. Příklad 4.5: Nechť (cos (a) — sin(oí)\ \vsin(oí) cos (a) J Určete Ä2, A3,.... Řešeni: V Maple získáme příslušné matice jednoduše, a to pouhým přepisem maticových výrazů. Nicméně obdržený výsledek není v nej jednodušším tvaru, což napravíme použitím příkazu combine (viz část 2.1.1). Při provedení indukčního kroku (k důkazu správnosti předpokladu o obecném tvaru Ak) je možné pro „lepší" vzhled použít příkaz f actor, jenž je třeba aplikovat na každý prvek matice. K takové aplikaci slouží příkaz map. Řešení v systému Maple znázorňuje obrázek 4.12. Příklad 4.6: Nechť A = 2 1 , B = (-1 0 2) , C 10 0-1 0 2 0 5 156 A := A2 cos(ot) -sin(ot) sin(cx) cos(ot) cos(ot) -sin(ot) sin(ot) cos(ot) 2 2 cos(a) — sin(oc) -2 cos(ot) sin(ot) 2 cos( a) sin (ot) cos( a)2 — sin (ot)*" combine(%) cos(2 a) -sin(2 a) sin(2 a) cos(2a) coy!' cos(3oc) -sin(3(x) sin(3a) cos(3a) cos(a) -sin(a) sin(ot) cos(a) cos(Ä:a) -sin(Äľ-ot) sin(ŕos) cos(ŕ-ot) cos(ŕa) -sin(Ä:ot) sin(Ara) cos(íoí) combine(KÁ) # =J^+1 cos(£a + a) -sin(Ä:a + a) sin(£a-|-a) cos(£a + a) map{x—*factor{x), %) cos( a (1 + k) ) -sin(a (1 + k) ) sin (ot (1 + k) ) cos( a (1 + k)) Obrázek 4.12: Maticové operace v Maple. 2 °\ A 0 °\ 0 -3 , G= 0 1 -4 ' H 3 5/ 0 1/ A - G-F A, B-A- c- H-B F ■ /1\ -3 0 V 7 y Příklad 4.7: K maticím A 1 0 2 4 B 1 +J 1 — J 2 J C a b c d určete matice inverzní. 1 1 3 3 -3 -2, Příklad 4.8: Vytvořte matici A typu 4x4 tak, aby: a) a,ij = i+j, b) ciij = i3'1, c) Ojj - pro i, j e {1,2,3,4}. 1 ... pokud \i — j\ > 1 — 1 ... pokud |« — j\ < 1. 157 Příklad 4.9: Nechť O je nulová matice typu 2x2. Existuje nenulová matice A typu 2x2 tak, že: a) A ■ A = 0 ? b) A- A = A ? Příklad 4.10: Ukažte, že matice cos (a) — sin(oí) ^ 1 sin(a) cos(a) reprezentuje otočení v rovině o úhel a. Tj. jestliže maticí A vynásobíme (sloupcový) vektor, získáme vektor pootočený o úhel a. Ilustrujte graficky. 4.1.3 Soustavy lineárních rovnic Poznámka 4.8: Soustavy lineárních rovnic můžeme přehledně zapisovat pomocí matic. Uvažujme systém o-ii ■ %i + 0-12 ■ %2 H-----\-aln-xn = í/i, a21 ■ xľ + a22 ■ x2 -\-----h a2n ■ xn = y2, O-ml ' X\ + Om2 ■ X2 + • • • + Omn ■ Xn Vm- Jestliže označíme A = (ciij),x = (x\, x2,xn)T, y = (yi, y2,ym)T, můžeme uvedený systém přepsat do tvaru A ■ x = y. Balík LinearAlgebra nabízí pro řešení soustav lineárních rovnic příkaz LinearSolve. Příkaz má dva základní parametry, a to matici A a vektor y, který není nutné uvádět v případě, že je nulový. Dále máme k dispozici ještě několik nepovinných parametrů, z nichž uveďme parametr f ree, v němž můžeme specifikovat symbol pro volnou proměnou (tj. parametr použitý při zápisu výsledku s nekonečně mnoha řešeními). Ukázku použití nabízí obrázek 4.13. Mezi pomocnými nástroji zvanými Tutors (spustitelnými například z položky Tools hlavního menu) najdeme pro lineární algebru mj. nástroj ilustrující soustavu lineárních rovnic graficky - Linear System Plot. Tento maplet je možné použít v oborech IR2 a IR3, v nichž dané rovnice představují přímky nebo roviny. Názorně tak můžeme vidět, zda má zadaná soustava rovnic řešení a kolik jich je. Maplet je možné spustit přímo z dokumentu příkazem LinearSystemPlotTutor z balíku Student [LinearAlgebra]. Jeho podobu znázorňuje obrázek 4.14. Pomocí příkazu LinearSolve můžeme též jednoduše zjistit souřadnice vektoru v zadané bázi - viz příklad 4.11. Příklad 4.11: Uvažujme bázi a = {ui, u2, u%} vektorového prostoru V, kde u\ = (2, —1, 0)T, u2 = (—4,1, 2)T, u3 = (3, 0, — 1)T. Určete souřadnice vektoru z = (—2, —1, 2)T v bázi a. Řešeni: Souřadnice zn v bázi a jsou řešením rovnice A ■ zn = z, kde matice A je tvořena právě bází a. Postup výpočtu ilustruje obrázek 4.15. 158 with (LinearAlgebra) : A :=Matrix[[[l,2,3], [4,0, 1], [0,2,3]]) 1 2 3 4 0 1 0 2 3 y := (6,5,5) x + 2x2 + 3jí3 4^ + jľ3 2x2 + ix^ LinearSolve(A, y) B~Matrix{[[l,2,3], [4, 5, 6], [ 7, 8, 9] ]) z := (6, 15,24) : LinearSolve(B, z, free — t') 3 -2ŕ„ Obrázek 4.13: Řešení soustav lineárních rovnic příkazem LinearSolve. ^ Linear Algebra - Linear System Plot File Help Plot of the system L8-l.fi- 1. 1.2-1.0-0.8-0. fill. 0.2-1 !~r\11'......i. 111,1 'j^rrvv^^ 1-81.01.41.21.00.80.60.40 2 l.S 1.4 1-0 0ň °" Displaying the system of equations: 4jtj + Oxj + Lj^ =5 Ox, + 2jc^ + 3:^ =5 Edit System i Plot Options Close Obrázek 4-M: Grafické zobrazení soustavy lineárních rovnic. Příklad 4.12: Uvažujme soustavu lineárních rovnic s neznámými x, y, z a parametry c,d E C: x + c ■ y — c - z = —3, x + (c — 1) • y — (c + 3) • z = —5, x + (c+l)-y + 2-z = d-1. Určete, pro která c, d má soustava žádné, jedno, resp. nekonečně mnoho řešení. 159 with (L msarA Igebra) U] - (2,-1,0): u2.= (-4,1,2): ^ (3,0,-1): 3 J V 2 -4 3 -1 1 0 0 2 -1 z := (-2, -1,2} : zn LmearSolve(A,z) seq(zn[i] - u i], i = 1..3) 3 ' -2 ' 3 1 2 2 0 1 -3 0 1 zn[l]-u[l] +zn[2]u[2] + zn[3]-u[3] -2 -1 2 Obrázek 4.15: Řešení příkladu 4.11. Řešení: Zapíšeme zadanou soustavu maticově a využijeme příazu LinearSolve. Získáme řešení vyjádřené pomocí parametrů c, d. Počet řešení soustavy je závislý především na hodnotě jmenovatele. Pokud je nenulový (c 7^ 1), soustava má jediné řešení. Pokud je jmenovatel nulový (c = 1), je nutné rozlišit případy, kdy je nulový i čitatel [d = 0, nekonečně mnoho řešení) a kdy je čitatel různý od nuly {d 7^ 0, tj. kdy zlomek nemá smysl, a tedy ani soustava řešení). Postup výpočtu je uveden na obrázku 4.16. Při řešení bylo využito (nově) příkazů numer pro získání čitatele zlomku a op k získání operandů ze zadaného výrazu (v tomto případě ze seznamu). with(LinearAlgebra) : A :=Matrix{[[l,c,-c], [ 1, c - l,c-3 ], 1,2]]) 1 c -c 1 c-1 -c-3 le+1 2 y- (-3,-5, J-l) -3 -5 d- 1 R '■— LinearSolve(A, y) 2 c + c — 4dc — 3 c-1 2c-2 - "id c-1 d c-1 eval{map(x—>mtmer(x),Jí), {c= 1}) Ad -3íí c/ solve( {s«g(%[/] =0, i=l .3)}) {^=0} Á2, y2 := op{eval{ [A,y], [c = 1, d = 0 })) 1 1 -1 -3 1 0 -4 -5 1 2 2 -1 LinearSol\e{A2, y2,free = t) -5 +4í, 2 -3 ŕ, Obrázek 4-16: Řešení příkladu 4.12. 160 Příklad 4.13: Uvažujme bázi a = {u\, u2,us} vektorového prostoru V, kde u\ = (1,1,0)T, u2 = (1, 0,1)T, m3 = (0,1,1)T. Určete souřadnice vektoru v = (1,2, 3)T v bázi a. Příklad 4.14: Který z vektorů ui,11,2,11,3,11,4 doplňuje množinu a na bázi prostoru IR4?: a) a = {(1, -2,1, -lf, (1, 0, -1, -lf, (1,1, -2, Of}, Ml = (-1, 2, -1,1)T, u2 = (3, -1, -2, -1)T, M3 = (2,1, 0, -2)T, M4 = (2,1, -3, -2)T. b) a = {(1, 3, 0, -lf, (1, 0,0, -lf, (0, 2,1, 0)T}, Ml = (-l,l,-l,l)T,u2 = (3,-l,0,-3)T,M3 = (2,1,0,-2)T,M4 = (l,-2,0,-l)T. Příklad 4.15: Prostory Rn[x] a Cn[x] všech polynomů s reálnými, resp. komplexními, koeficienty spolu se standardně definovaným součtem polynomů a skalárním násobkem polynomu tvoří také vektorový prostor (pozn. dokažte). Zjistěte, zda jsou následující polynomy v uvedených prostorech lineárně závislé nebo ne: a) WL%[x] : 1 — x,x — x2,x2 — x3,x3 — 1, b) ^[x] : 1 + x,x + x2,x2 + x3,x3 + 1, c) R2[x] : 2-x + A-x2,3 + Q.x + 2-x2,2 + 10-x-A-x2, d) R2[x] : 1 + 3 • x + 3 • x2,x + x2,5 + 6 • x + 3 • x2, 7 + 2 • x - x2. Příklad 4.16: Uvažujme soustavu lineárních rovnic s neznámými x, y, z a parametry a, b E R: a) a ■ x + y — 2 ■ z = 1, x — y + z = 0, (1 + a) ■ y — z = b. b) x — a ■ y — 2 ■ z = b, x + (1 — a) ■ y = 6 — 3, x + (l + a)-y + a-z = 2-6—1. Určete, pro která a, b má soustava žádné, jedno, resp. nekonečně mnoho řešení. Příklad 4.17: Uvažujme soustavu lineárních rovnic s neznámými x1,x2,x3 a parametry a,b,c G C: X\ + x2 + x% = 3, X\ + a ■ x2 + rr3 = 2, 6 • rri + 2 • + 2 • = c. Určete, pro která a, 6, c má soustava žádné, jedno, resp. nekonečně mnoho řešení. 161 4.1.4 Gaussova eliminace Poznámka 4.9: (Gaussova eliminace) Nenulovou matici A typu mxn nad C lze konečně mnoha elementárními řádkovými operacemi převést na tzv. (řádkově) schodovitý tvar. Tento tvar můžeme zapsat následujícími podmínkami: • je-li Ví : 1 < i < k < m, j g {1, 2, : = 0, pak také \/i > k : = 0, • je-li pro 1 < i < m, j g {1,2, ...,n} : první nenulový prvek na i-tém řádku, pak ci(i+i)j = 0. Elementární řádkovou operací přitom rozumíme jednu z následujících transformací: 1. výměnu dvou řádků matice A, 2. vynásobení některého řádku matice A nenulovým komplexním číslem, 3. přičtení skalárního násobku některého řádku matice A k jinému jejímu řádku. Pro převod matice na schodovitý tvar poskytuje Maple příkaz GaussianElimination, opět z balíku LinearAlgebra. Jeho jediným povinným parametrem je matice, již chceme na schodovitý tvar převést. Jedním z volitelných parametrů je parametr method, který při nastavení na FractionFree upraví matici na schodovitý tvar tak, aby všechna čísla matice byla celá - obrázek 4.17. wäh(LinearAlgebra) : A:=Matrix([[l,2,3], [4,0,1], [0,2,3]]) 1 2 3 4 0 1 0 2 3 GaussianElimination {A) 1 2 3 0 -8 -11 o o -1 GaussianElimination {A^'meihoď—FractionFree') 1 2 3 0 -8 -11 0 0-2 B- Matrix{[[\,2, 3], [4, 5, 6 ], [ 7, 8, 9 ] ]) : GaussianElimination [B) ' 1 2 3 0 -3 -6 0 0 0 Obrázek J^.ll: Gaussova eliminace v Maple. Příkazem GaussianElimination získáme rovnou výsledek. Pokud nás zajímá postup výpočtu, můžeme využít pomocníka GaussianEliminationTutor z balíku Student [LinearAlgebra] dostupného též z hlavního menu (Tools > Tutors > LinearAlgebra > Gaussian Elimination...). Podobně jako u jiných pomocných mapletů můžeme sami provádět zvolené úpravy se zadanou maticí nebo nechat systém Maple, aby nám sám ukázal následující krok výpočtu, případně celé odvození až k výsledku. Grafická podoba mapletu je uvedena na obrázku 4.18 vlevo. Pomocí Gaussovy eliminace můžeme řešit systémy lineárních rovnic. K tomu Maple nabízí dalšího pomocníka - příkaz LinearSolveTutor z balíku Student [LinearAlgebra], taktéž dostupného z hlavního menu (Tools > Tutors > LinearAlgebra > Linear System Solving...). Podoba tohoto pomocníka (obrázek 4.18 vpravo) je takřka shodná s mapletem pro 162 jj Jiiear A c^bra - Gaussian Elimination g Linear Algebra File Edit Help ..ssan Elim -at a- I Undo I Next Step ~| !nil Steps "1 | Close Obrázek 4-18: Pomocník při výpočtu Gaussovy eliminace. Gaussovu eliminaci. V tomto případě však můžeme postupovat dále k výpočtu řešení (pomocí tlačítka Solve System). Při spouštění pomocníka jsme dotázání, jestli chceme použít Gaussovu eliminaci nebo Gaussovu-Jordánovu eliminaci, která upraví matici až do jednotkového tvaru. Jelikož pro invertibilní čtvercovou matici A platí: A ■ A~ľ = A~ľ ■ A = E, kde E je jednotková matice, je možné využít Gaussovy eliminace i při výpočtu inverzní matice. Pro tento postup nabízí Maple dalšího pomocníka podobného dvěma předchozím: příkaz3 InverseTutor z balíku Student [LinearAlgebra], i v tomto případě dostupného z hlavního menu (Tools > Tutors > LinearAlgebra > Matrix Inverse...). Příklad 4.18: Řešte soustavu lineárních rovnic v IR užitím Gaussovy eliminace: 2 • x\ — 3 • x2 + 17 • :T3 — 29 • x4 — 36 • x^ = 22, 2 • x\ — 3 • x2 + 18 • :T3 — 27 • x4 + 33 • x^ = 21, 12 ■xl - 18 -x2 + 102 -x3 - 174-x4 - 216 ■ x5 = 132, 2 • xx - 3 • x2 + 21 • x3 - 24 • x4 - 30 • x5 = 20, 2 • xl - 3 • x2 + 24 • x3 - 21 • x4 - 27 • x5 = 19. Řešeni: Zadanou soustavu je možné řešit pomocníkem LinearSolveTutor. Lze však použít i příkaz GaussianElimination, což provedeme i my. Soustavu zapíšeme maticově ve tvaru A • x = y, příkaz GaussianElimination použijeme na matici A doplněnou o sloupec y. V tomto případě nemáme k dispozici svislou čáru oddělující matici A od vektoru y, což musíme mít na paměti. Po aplikaci Gaussovy eliminace získáme matici ve schodovitém tvaru, z níž na první pohled poznáme, že soustava má nekonečně mnoho řešení závislých na parametru, který přiřadíme buď k neznámé x\ nebo x2. Poté zbývá už pouze dopočítat hodnoty zbylých neznámých, k čemuž použijeme příkaz solve. Jeho prvním parametrem je množina rovnic vyplývající ze získané matice ve schodovitém tvaru. Proměnná r es obsahuje vektor řešení, tj. (xux2, ...,x5)T. 3Pozor! Neplést se stejnojmenným příkazem z balíku Student [Calculusl] pro vykreslení inverzní funkce. 163 with {LinearAlgebra) : A := Matrix{ [ [2,-3, 17,-29,-36], [2,-3, 18,-27, 33 ], [12,-18, 102,-174,-216], [2,-3,21,-24,-30], [2,-3,24,-21,-27]]) 2 -3 17 -29 -36 2 -3 18 -27 33 12 -18 102 -174 -216 2 -3 21 -24 -30 2 -3 24 -21 -27 (22,21, 132,20, 19} 22 21 132 20 19 R ■= GaussianElimmation{Matrix{ [A,y])) 2 -3 17 -29 -36 22 0 0 1 2 69-1 0 0 0-3 -270 2 0 0 0 0 66 0 0 0 0 0 0 0 res := Matrix( [seq( [.^j, i=l ..5 ) j J : X1 solve({seq{ (R[i, 1 ..5].res)[l]=R[i,6], z= 1 ..4)}, (a^j^j^jr.J) = 2. -2 = J_ A =nl ^1 2 5 2 '"^ 3 '"^ 3 I ÍTJJigTÍ ( % ) res 3 3 s J_ 3 _ 2_ 3 Obrázek 4.19: Řešení příkladu 4.18. Příklad 4.19: Řešte soustavu lineárních rovnic v C užitím Gaussovy eliminace: b) x + 2-I -y = 5 + 4 • I, (3-1)-V+ (6-2-I)-z = 10, 2-x-z = 5 + 3-1, x + y — z = 5 + 2-1, (1 + I) -x + 3- I-y = -I, (1 + 2-1)-x + (l-I)-y = 6 + 1, (l + I)-x + (l-I)-y = 6 + 4-1, I-x +(1 + 2-I)-y = -3 + 5-1. 164 Příklad 4.20: Řešte soustavu lineárních rovnic v IR užitím Gaussovy eliminace: x\ + 3 • x2 — 2 • x3 + 2 • rr5 = 0, 2 ■ Xi + Q ■ x2 — 5 ■ x% — 2 ■ X4 + 4 ■ X5 — 3 ■ x$ = —1, 5 • x% + 10 • X4 + 15 • xq = 5, 2 • x\ + 6 • x2 + 8 • X4 + 4 • rr5 + 18 • xq = 6. Příklad 4.21: Určete hodnoty parametrů a, b, c G C tak, aby měl následující systém právě jedno řešení: a ■ x + b ■ y = c, c ■ x + a ■ z = b, c ■ y + b ■ z = a. Příklad 4.22: K matici: A I -2 1 I nalezněte matici inverzní a ověřte, že A ■ A~ľ = E, kde E je jednotková matice. Řešeni: Jednak můžeme využít pomocníka pro hledání inverzní matice, jednak můžeme použít příbuzný příkaz k příkazu GaussianElimination, a to ReducedRowEchelonForm provádějící Gaussovu-Jordánovu eliminaci, jelikož potřebujeme zadanou matici upravovat až na jednotkovou. Postup výpočtu je uveden na obrázku 4.20. with {LinsarAlgebra) : A := Matru{[[I,-2], [1,1]]) I -2 1 I E ■— Matrix{2, skape = identity) 1 0 Matrix{ [A, E]) 0 1 1-210 110 1 R := ReducedRowEchelonForm{Matrix{ [A, E])) 10 12 0 1-11 A_inv~R[ \ ..2, 3..4] A. A im> I 2 -1 I 1 0 0 1 Obrázek 4.20: Řešení příkladu 4.22. Příklad 4.23: Pomocí Gaussovy eliminace najděte inverzní matice k následujícím maticím: Hl !)■ fl-C % c- U nalezených matic ověřte, že součinem matice a její inverze vznikne jednotková matice. 1 -4 -3 0 -5 -3 -1 6 4 165 Příklad 4.24: Pomocí Gaussovy eliminace najděte inverzní matice k následujícím maticím: í 2 + 1 1 + J 1 + 2- F F = j 1-J 3-2-7 1-1 \2-3-J 1 + / 1 + 2-1, U nalezených matic ověřte, že součinem matice a její inverze vznikne jednotková matice. 4.1.5 Determinant Definice 4.10: Permutaci množiny X nazveme bijektivní zobrazení o : X —> X. Permutaci o~(X) nazýváme transpozici, jestliže existují různá x, y G X tak, že a(x) = y A a(y) = x, a přitom \/z G X \ {x,y} : a (z) = z. Dvojice prvků a,b G X = {1, 2,n}, n G N tvoří inverzi v permutaci a, je-li a < b A a(a) > 0 -1 i \ 0 2 eval {subs [det = Lin ear A Igebra [ Determ inan t ]. %)) -4 Rozvoj podle třetího sloupce laplace(A,í,ns") t -11 ( 2 -4 1 3 det — det 0 2 j -1 1 eval( subs (det = LinearAlgebra[Determinant], %)) -4 LinearAlgebra[Determinant] (A) -4 Obrázek 4-22: Laplaceův rozvoj determinantu v Maple. Poznámka 4.12: Při „ručním" výpočtu determinantu matice je třeba znát následující pravidla: • determinant trojúhelníkové matice se rovná součinu jejích diagonálních prvků, • výměnou pořadí dvou řádků nebo sloupců matice se změní znaménko determinantu na opačné, • vynásobením nějakého řádku nebo sloupce matice nenulovým skalárem k G C, se její determinant změní na fc-násobek původní hodnoty, • připočtením skalárního násobku nějakého řádku matice k jejímu jinému řádku, resp. násobku nějakého jejího sloupce k jinému sloupci se hodnota jejího determinantu nezmění. Příklad 4.27: Určete hodnotu determinantu matice A pomocí Laplaceova rozvoje, kde A = (7 2 3 2\ 6 6 6 7 8 10 9 10 ^5 7 3 3y1 Řešeni: Ukážeme dva různé postupy. 168 A := B := B[2] B[3] B[4] B 7 2 3 2 6 6 6 7 8 10 9 10 5 7 3 3 copy(A) : ■=A[2] -2A[1] : ■=A[3] -3-A[l] : ■=A[4] -A[í]: 7 2 3 2 -8 2 0 3 -13 4 0 4 -2 5 0 1 d '■— laplace(B, 3. "s") 3 del -8 2 3 -13 4 4 -2 5 1 C:=op(op(d)[2]) -8 2 3 -13 4 4 -2 5 1 F := copy(C) : F[í] := C[l] - 3C[3] ŕ"[2] := C[2] -4C[3] -2 -13 0 -5 -16 O -2 5 1 'ď=eval{subs{op(op(d)[2\)=F,d)) tŕ = 3 det 2 -13 O 5 -16 O 2 5 1 laplace(F, 3, 'V) det f ' -2 -13 ' < -5 -16 j 'ď=eval(subs(op(d) [2]=%,d)) d=3 det f ' -2 -13 \ -5 -16 eval(subs(det = LínearAlgebra[Determmant\. rhs(%))) -99 Obrázek 4.23: První řešení příkladu 4.27. A := 7 2 3 2 6 6 6 7 8 10 9 10 5 7 3 3 Rozvoj podle prvního řádku d := laplace(A* 1, "r") f 6 6 7 1 " 6 ó 7 1 / 6 6 7 " 6 6 ó ' 7 det 10 9 10 -2 det S 9 10 + 3 det 8 10 10 -2 det S 10 9 7 3 3 j 5 3 3 ; \ 5 7 3 j 5 7 3 j evŕiŕ(subs(det = LmearAlgebra\LDetermmanť\, %)) -99 Obrázek 4-24-' Druhé řešení příkladu 4.27. První postup, prezentovaný na obrázku 4.23, má za cíl napodobit průběh „ručního" výpočtu. Když se pozorně podíváme na matici A, všimneme si, že ve třetím sloupci jsou všechna čísla násobky tří. Tj. vhodnými řádkovými úpravami docílíme tří nul v tomto sloupci, aniž by se změnila hodnota determinantu matice (viz poznámka 4.12). Před úpravami si 169 vytvoříme kopii B matice A příkazem copy, abychom nepřepisovali prvky původní matice. Hledaný determinant označíme písmenem d. V Laplaceově rozvoji „zůstane" determinant jediné matice typu 3x3, již označíme písmenem C. Ačkoli determinant matice řádu 3 už dokážeme spočítat přímo, je možné opakovat tentýž postup co pro původní matici A, získat upravenou matici F a jejím Laplaceovým rozvojem dospět k determinantu jediné matice řádu 2. Při řešení často využíváme příkazu op, abychom získali žádané operandy předchozích výrazů automaticky a nemuseli je ručně kopírovat. V druhém případě - obrázek 4.24 - využijeme toho, že systému Maple není nutné příklad zjednodušovat „vytvářením nul" v matici a necháme vše na něm. Příklad 4.28: Určete hodnotu determinantu zadaných matic pomocí Laplaceova rozvoje: A A 0 1 -1\ 2 0 1 -2 3 3 -1 1 1 1 B /l 2 -1 o\ /2 1 -2 -1\ 2 2 1 1 1 -1 -1 1 -1 1 2 3 4 2 2 1 \2 1 1 -v ^8 1 1 2/ Konjugovaná matice Definice 4.12: Matici A nazveme konjugovanou maticí (resp. komplexně sdruženou matici) k matici A s prvky a^-, jestliže matice A obsahuje prvky äij pro všechna tj. jejíž prvky jsou komplexně sdružené k prvkům matice A. Systém Maple nemá přímo příkaz pro výpočet konjugované matice, lze však využít příkazů conjugate pro zisk komplexně sdruženého komplexního čísla a map, jímž aplikujeme příkaz conjugate na každý prvek matice. Zmíněné lze provést též pomocí kontextové nabídky, která se objeví po kliknutí prvým tlačítkem myši na matici - obrázek 4.25. 1 -11+1 -I 1 0 1 -I 0 I map(x —* conjugate(x),Á) 1 I 1 -I I 1 0 1 +1 0 -I 1 -I 1+1 -I 1 0 1 -I 0 I complex conjugate 1 I 1 -I I 1 0 1+10 -I Obrázek 4.25: Výpočet konjugované matice v Maple. Pro komplexní matici dále zavádíme tzv. hermitovskou transpozici. Hermitovsky transponovaná matice je transponovaná konjugovaná matice. Pro tuto operaci poskytuje Maple příkaz HermitianTranspose z balíku LinearAlgebra. Operaci je však možné provést též pomocí kontextové nabídky po kliknutí pravým tlačítkem myši na matici, případně zápisem A%H, kde A je daná matice. Ukázku použití a rozdílu mezi obyčejnou a hermitovskou transpozici poskytuje obrázek 4.26. Jelikož (AT)T = A pro matici A, lze využít také hermitovské transpozice pro zisk konjugované matice. 170 A := 1 -I 1 0 1 —I 0 I ,%H 1 -I 1 — I -I 1 0 1 +1 0 I 1 I 1 +1 I 1 0 1 — I 0 -I 1 -7 1+/ -I 1 0 1 —I 0 7 1 -11+/ -I 1 0 1-/0 I transpose 1 -I 1 - I -I 1 0 1 +1 0 I he:Tflitiar. cranwc*? 1 I 1 + I I 1 0 1 —I 0 -I Obrázek 4.26: Hermitovská transpozice matice v Maple. Příklad 4.29: Uvažujme matice z příkladů 4.23 a 4.24. Ověřte, že platí pro X G {A, B, C, F}: \X\ = Jx\. 4.2 Lineární zobrazení Definice 4.13: Nechť U, V jsou vektorové prostory nad K G {IR, C}. Řekneme, že ip :U —> V je lineární zobrazení, jestliže pro libovolná x,y G U a a, 6 G K platí: ip(a • x + b ■ y) = a • V je lineárni zobrazení. Jádrem zobrazení p nazýváme množinu Ker(ip) = y?_1(0) = {x G U | ip{x) = 0}. Obrazem zobrazení p nazýváme množinu Im{íp) = ip(U) = {íf{x) | x G U}. Poznámka 4.13: Množina Ker (p) je vektorový podprostor prostom U a množina Im(íp) je vektorový podprostor prostoru V. Definice 4.15: Bijektivní lineárni zobrazení p : U —> V nazýváme lineárním isomorfismem. Řekneme, že vektorové prostory U, V jsou isomorfní, a píšeme U = V, jestliže existuje nějaký (lineární) isomorfismus p : U —> V. Poznámka 4.14: Lineární zobrazení p : U —> V je isomorfismus právě tehdy, když Ker(ip) = {0},lm( V vzhledem k bázím a, (3 nazýváme matici A=(p(u1)fí,...,p(un)fí)eKm>• U, píšeme pouze: A = (ip)a. Tuto matici nazýváme maticí lineární transformace. Příklad 4.33: Zapište matici lineárního zobrazení / : IR3 —y IR2 s bázemi a G IR3 a (3 G IR2, f(x) = (xi + 2 • x2 — 3 • xs, 2 • Xi)T, kde a) a = e3, (3 = e2, b) a = {(1, 2, Of, (-2,1, Of, (3,1, -lf}, /3 = {(2, lf, (0, 2f}. i? esem': a) Z definice 4.16: A = {f{el)£2, f(e2)£2, f(e3)£2) = (/ ((1, 0, Of )£2 , / ((0,1, Of)^ , / ((0, 0, lfjj . Ze zadání potom máme: / ((1, 0, 0)r) = (1, 2)T, f ((0,1, 0)r) = (2, Of, / ((0,0, lf) = (-3, 0)r. Vzhledem k tomu, že /(ej)£2 = /(e^) pro i = 1,2, 3, můžeme rovnou psát: A 2 -3^ v2 0 0 b) Opět z definice 4.16: A = (/ ((1, 2, Of ^ , / ((-2,1, 0)*% , / ((3,1, - lf) J . Ze zadání máme: / ((1, 2, 0)r) = (5, 2)r, / ((-2,1, 0)r) = (0, -4)r, / ((3,1, - lf) = (8, 6)r. Narozdíl od případu (a) musíme získané obrazy převést do báze (3, tj. najít jejich souřadnice v této bázi. K tomu lze využít příkaz LinearSolve, jak jsme jej použili i dříve - obrázek 4.28. Získané souřadnice následně zapíšeme do matice podle definice: 173 with(LinearAlgebra) : Vj := (2,1): v2:= (0,2): B '■— Matrix^ j^iy v^J ^ ŕ vektory baze /3 r 2 0 L 1 2 /"! :=<5,2): fii^ ■= LmearSolve^B.fu^ J ŕ souřadnice fu^ v P 5^ 2 4 >2 := (0,-4): fu^ p : = L inearSo lve {B.fu^ ff souradn ice fu^ v p 0 >3 ==(8,6): ^u^p := LmearSolve^B.fu^ J ff souřadnice fu^ v p 4 Obrázek 4.28: Nalezení souřadnic vektorů v příkladu 4.33.(b). Příklad 4.34: Uvažujme lineární zobrazení / : kde f(x) = (xi + x2 + x3 + rr4, —X\ — x2 — x3 — X4, X\ — x2 + x3 — X4, —X\ + x2 — x3 + rr4)T. Určete Ker(f) a Im(f). Řešení: Nejprve nalezneme matici lineárního zobrazení /. Jelikož nebyla zadána žádná báze, můžeme uvažovat standardní bázi £4 prostoru IR4. Získáme tak matici: / 1 1 1 1 \ -1 -1 -1 -1 1-11-1 \-l 1 -1 1 / Systém Maple disponuje příkazem NullSpace z balíku LinearAlgebra pro nalezení báze tzv. nulového prostoru matice, tj. jádra příslušného zobrazení. Dále máme k dispozici příkaz ColumnSpace z téhož balíku, který vypíše bázi vektorů zapsaných ve sploupcích dané matice, tj. bázi obrazu zobrazení. Příslušné množiny (Ker(f) a Im(f)) pak tvoří lineární obaly nalezených bází. Nalezení bází prostorů Ker(f) a Im(f) je uvedeno na obrázku 4.29. A Příklad 4.35: Zjistěte, zda je níže uvedené zobrazení / : Pokud ano, najděte Ker(f) a Im(f). Je / isomorfismus? a) f(x,y) = (x,y2)T, b) f(x, y) = (2 • x + 3 • y, x - y)T, c) f(x,y, z) = ((x + y)2,x-y,x + y + z)T, d) f(x, y,z) = (x - 2 • y + z, 2- x - y + z, 3 ■ y - z)T. n G {2,3} lineární. Poznámka 4.15: Nechť U,V jsou vektorové prostory konečné dimenze nad K G {IR, C} s bázemi a v U a (3 ve V. Nechť dále

V je lineární zobrazení, A jeho matice. Pak pro všechna u E U platí: {f {u))p = (ip)p,a ■ (u)a = A ■ (u)a. 174 with(LmearAlgebra) : Á :=Matrix{[[l. 1. 1. 1]. [-1.-1.-1.-1]. 1,-1,1]]) 1 1 [1,-1, !,-!],[■ 1 -1 -1 -1 1 -1 -1 1 NullSpace(A) ColumnSpaceiA) 0 -1 -1 0 0 5 1 1 0 1 0 -1 0 0 - 1 0 -1 Obrázek 4-29: Nalezení bází prostorů Ker(f) a Im{f) v příkladu 4.34. Příklad 4.36: Nalezněte matici lineárního zobrazení / : IR2 —> IR2, jestliže /(l, 1) = (2, — 1)T, /(l, — 1) = (2,1)T. Aplikací poznámky 4.15 ověřte, že A je skutečně maticí zobrazení /. Řešení: V zadání nebyla specifikována báze prostoru IR2, čili uvažujeme standardní bázi e2- Pro vytvoření matice A lineárního zobrazení / potřebujeme najít obrazy vektorů báze 62, /(1,0) a /(0,1), které tvoří sloupce matice A. Jelikož / je lineární, platí: /(l, 0) = | - (/(l, 1) + /(l, -1)) = (2, 0)r, /(0,1) = | - (/(i, i) - /(i, -i)) = (0, -l)r- 2 0 Matice A je proto rovna: A = {o -ir Rovnost z poznámky 4.15 přechází do tvaru: {f{u))£2=A.{u)£2=A.u. Ověření provedeme v Maple - obrázek 4.30. A ■= 2 0 1 2 A. = 0 -1 1 -1 " 2 0 " 1 " 2 A. = 0 -1 -1 1 Obrázek 4-30: Ověření správnosti nalezené matice v příkladu 4.36. Příklad 4.37: Nalezněte matici lineárního zobrazení / : IR3 —> IR4, jestliže /(1,1,0) = (0, 0,0, 0)T, /(l, 0,1) = (1, 0,1, 0)T, /(0,1,1) = (0,1, 0,1)T. Aplikací poznámky 4.15 ověřte, že A je skutečně maticí zobrazení /. 175 Příklad 4.38: Nechť 83 je báze prostoru IR3 a (3 = {(1, 3)T, (—1,4)T} je báze prostoru IR2, matice '1 3 2N '-250 je maticí lineárního zobrazení / : IR3 —y IR2 vzhledem k bázím £3, (3, tj. A = (f)pjS3- Určete (/(l, 3, 5)^,(7(2, 0,-2))^. Příklad 4.39: Je dána matice A lineárního zobrazení / : IR2 —y IR2. Jaký je geometrický význam tohoto zobrazení? Znázorněte graficky. a) A b) A c) A 0 -ť 1 0 V 1 0 o -iy 2 0N 0 27' Příklad 4.40: Najděte matici A lineárního zobrazení / : IRn —y IRn,n G {2,3} tak, aby jeho geometrický význam byl následující: a) projekce na osu y v IR2, b) osová symetrie kolem osy y v IR2, c) kolmá projekce do osy x v IR3, d) kolmá projekce do roviny tvořené osami y, z v IR3, e) otočení o 30° kolem osy x v IR3. Znázorněte graficky. 4.2.2 Matice přechodu Definice 4.17: Nechť V je vektorový prostor konečné dimenze n G N nad K G {IR, C} a a = {ui,un}, (3 = {vi,...,vn} jsou jeho dvě báze. Matici přechodu z báze (3 do báze a nazýváme matici identického zobrazení idy : V —y V vzhledem k bázím (3, a: pro jejíž prvky 0,^(3 G {1,2, ...,n}) platí: Poznámka 4.16: Podle definice 4.16 jsou sloupce matice (idy)aj3 z předchozí definice tvořeny souřadnicemi vektorů báze (3 v bázi a. Pro libovolné x G V navíc platí: (x)a = {idv)afi ■ (x)f). 176 Poznámka 4.17: Nechť V je vektorový prostor konečné dimenze n G N nad K G {M, C}, ip : V —> U je lineárni zobrazení a a = {ííi, un}, /3 = {vľ, ...,vn} jsou dvě báze vektorového prostoru V. Pak platí: Navíc, matice (idy)aj3 a (idy)pa jsou navzájem inverzní, tj.: Poznámka 4.18: Nechť y? : U —^ V je lineárni zobrazení, ax, a2 jsou dvě báze vektorového prostoru U, fii, (32 jsou dvě báze vektorového prostoru V. Pak platí: ol2,ol\ Příklad 4.41: Nechť V = R3, a = {(1, 0,0)T, (1,1, 0)T, (1,1, l)r}, /3 = {(-1,1,0)T, (1,1,0)T, (0,0,1)T} dvě báze prostoru V. Určete matici přechodu od báze a k bázi /3. Dále určete souřadnice vektoru x v bázi f3, jestliže (x)a = (—1,3,0)T. Rešeni: K zápisu matice [idy)g a potřebujeme vyjádřit vektory báze a jejich souřadnicemi v bázi (3. Následně postupujeme podle poznámky 4.16 - obrázek 4.31. with(LinearAlgebra) : ut == (1,0,0): u2 ■■= (1,1,0): := (1,1,1): vt := (-1, 1, 0) : v2 := (1,1, 0) : v% ■= (0, 0, 1) B ■= Matrix^ ^ v^ J ) ŕí vektory baze /5 -1 1 0 1 1 0 0 0 1 iíj. := LinearSolve^B, it^ # souřadnice Uj v p 2 j_ 2 0 : LinearSolve^B, ) ff souřadnice u^ v p 0 1 0 « := LinearSolvetB, J # souřadnice u^v$ ida ■= Matrixl \u p." U j J # matice prechodu 1 0 0 y 11 0 0 1 -V= {-1^,0): x„ ~ id„ .x H souřadnice x v B B p, a a r Obrázek 4-31: Řešení příkladu 4.41. 177 Příklad 4.42: Uvažujme prostor V = R3 s bází a = {(1, 0, 0)T, (1,1, 0)T, (1,1,1)T}. Nechť p> : V —> V je lineární zobrazení s maticí v bázi a tvaru: i o r i i o .o i i, Určete matici zobrazení p> ve standardní bázi a najděte jeho předpis. Řešení: Využijeme poznámky 4.17 - obrázek 4.32. with{LinearAlgebra) : ul := {1, 0, 0) : u2 := <1, 1. 0} : u3 := <1, 1, 1} (p^^ji&frätc[1,0,1], [1,1,0], [0,1,1]]) 10 1 1 1 o 0 1 1 id^ a:= Afarř-ů^ [Uj, "3] J ff souřadnice ave 1 1 1 0 1 1 0 0 1 id := id tx, s s, a 1 -1 0 o 1 -1 o o 1 (p ■= id . cp .id 2 0 0 1 1 -1 o 1 o 2*1 Obrázek 4.32: Řešení příkladu 4.42. Příklad 4.43: Určete matici lineárního zobrazení p> : R3[x] —> R3[x], které polynomu p(x) G R3[x\ přiřadí polynom 3 • p"(x) + 4 • p'(x) + p(x), a to: a) v bázi a = {1, x, x2, x3}, b) v bázi (3 = {1 + x, 1 — x, x2 + x3, — x3}. Příklad 4.44: Nechť V = IR3 s bázemi a, (3. Najděte matici přechodu od báze a k bázi (3, jestliže a) a = {(-3, 0, -3f, (-3, 2, -lf, (1, 6, -lf}, /3 = {(-6, -6, Of, (-2, -6,4f, (-2, -3, 7) b) a = {(2,1, lf, (2, -1, lf, (1, 2, lf}, /3 = {(3,1, -5f, (1,1, -3f, (-1,0, 2f}. Príklad 4.45: Necht' p> : IR2 —>• IR3 je lineárni zobrazení v bázích a = {(1,3)T, (—2,4)T}, (3 = {(1,1,1)T, (2, 2,0)T, (3, 0, 0)T} definované predpíšem 'xx + 2 • rr2N 0 Najděte matici přechodu od báze a k bázi /3 pro zobrazení p>, tj. (v?)aa- rr-i 178 4.3 Afinní geometrie 4.3.1 Afinní prostory Definice 4.18: Afinním prostorem A = A(V) nad vektorovým prostorem V rozumíme trojici (A,V,+), kde A je množina, jejíž prvky nazýváme body, V je vektorový prostor (který nazýváme zaměřením afinního prostoru) a + je zobrazení, jež bodu a vektoru přiřadí bod. Pro zobrazení + : A x V —> A a libovolný bod A E A a vektory u,v £ V přitom platí: 1. A + 0 = A, kde 0 značí nulový vektor, 2. A + (u + v) = (A + u) + v, 3. V A, B E A: 3\v E V tak, že A + v = B. Tento vektor značíme B — A. Poznámka 4.19: Dimenzí afinního prostoru A = A(V) rozumíme dimenzi vektorového prostoru V. Afinním prostorem dimenze 0 je bod. Afinnímu prostoru dimenze 1 říkáme přímka, afinnímu prostoru dimenze 2 říkáme rovina. Podprostoru dimenze n — 1 v afinním prostoru dimenze n říkáme nadrovina. Definice 4.19: Afinním podprostorem B = B(U) afinního prostoru (A,V,+), kde B C A a U je vektorový podprostor prostoru V, nazveme trojici [B, U, +), pokud pro libovolný bod B E B a vektor u E U platí, že B + u G B a pro libovolné A, B E B existuje vektor u E U tak, že u = B — A. Poznámka 4.20: Afinní podprostor B = B(U) lze zapsat pomocí libovolného bodu B E B jako množinu B = B + U = {B + u | u E U}. Nechť U je vektorový prostor dimenze n nad K G {IR, C} s bází {ui,un}. Libovolný prvek x E B pak můžeme jednoznačně vyjádřit jako n x = B + hi ■ u,i, i=i kde ki E K pro i = 1, ...,n. Toto vyjádření se nazývá parametrické vyjádření nebo parametrická rovnice podprostoru B. Poznámka 4.21: Afinní podprostor B = B(U), kde U je vektorový prostor dimenze n nad K G {IR, C}, můžeme zapsat též pomocí soustavy lineárních rovnic B = {x I A ■ x = b}, kde A je matice typu m x n nad Km, m E N, b E IRn. Toto vyjádření se nazývá obecná rovnice podprostoru B. Definice 4.20: Nechť B = B(U),C = C(W) jsou dva podprostory afinního prostom AiV). Řekneme, že podprostory B, C jsou rovnoběžné, pokud U C W nebo W C U. Řekneme, že podprostory B, C jsou různoběžné, mají-li alespoň jeden společný bod, ale nejsou rovnoběžné. Řekneme, že podprostory B, C jsou mimoběžné, nemají-li žádný společný bod, a současně nejsou rovnoběžné. 179 Příklad 4.46: Určete parametrickou rovnici afinního podprostoru B vektorového prostoru IR4 zadaného soustavou rovnic B = {x | A ■ x = b}, kde A 11-11 1-1 1 -1 9 Řešení: Stačí nalézt řešení systému A ' x — b j db to zapsat ve tvaru uvedeném v poznámce 4.20. V Maple k tomu použijeme příkaz LinearSolve z balíku LinearAlgebra. Pokud chceme rovnici zapsat tak, aby byl „viditelný" součet bodu a jednotlivých vektorů příslušného vektorového prostoru, je třeba zamezit sečtení odpovídajících si složek např. použitím dvojitého zpětného apostrofu. Souřadnice bodu a jednotlivých vektorů pak získáme jednak vhodným vyhodnocením nalezeného řešení, respektive určením koeficientů u vytvořených parametrů. Postup je uveden na obrázku 4.33. with(LinearAlgebra) : A ■ = Matrix{[[l, 1,-1, 1], [1,-1, 1,-1]]) 11-11 b:= (9,-3) 1-1 1-1 res ■= LinearSolve(A, b,free=Y) 3 6 + t3-t4 Vector(4, symbol=x) =res \ 3 6+/3-/4 h \ Vector(4, symbol = x) = eval^res, ^ = 0, = 0 J) + ŕ3 ■ "^jWíip^caeřT. res, t^, 1 ) ) + ■ (map^coeff, res, t^, 1 ) ) f ' 0 1 f 0 3 1 -1 6 ŕ, + f„ + 3 1 4 0 0 0 ) \ 1 0 Obrázek 4-33: Řešení příkladu 4.46. Příklad 4.47: Určete obecnou rovnici afinního podprostoru B vektorového prostoru IR4 zadaného parametrickou rovnicí: X = P + íi • Mi + t2 ■ U2 íxA x2 x3 = 0 2 + h ■ -i 0 + Í2- 2 0 \X4J W Řešeni: Hledáme matici A a vektor b tak, aby řešení rovnice A-x = b bylo rovno zadané parametrické rovnici. Parametrická rovnice má dva parametry, takže dimenze afinního podprostoru je rovna dvěma. Proto A má hodnost rovnu dvěma (tj. má dva lineárně nezávislé řádky). Stačí tedy najít dvě lineárně nezávislé rovnice v proměnných Xi,...,x4 vyhovující zadanému řešení. Způsobů, kterými tohoto lze dosáhnout, je několik. Jedním z nich je upravit blokovou matici (u1,u2, P, E), jež odpovídá rovnici t\ ■ U\ + t2 ■ u2 + P = E ■ x (kde E je 180 jednotková matice), na schodovitý tvar a z řádků, v nichž dostáváme nuly pro parametry íi a t2, „přečíst" matici A a vektor b - obrázek 4.34. Jak si můžeme všimnout, matice A a vektor b nejsou dány jednoznačně. Stejné řešení má mimo jiné také libovolný nenulový násobek rovnice A ■ x = b. with {LinearAlgebra) P:= 0=0,2,2) [/:= {(1,-1,0,0)K1,2,0,-1}) 1 1 -1 2 0 0 0 -1 E := Matrix(4, shape = identity) 10 0 0 0 10 0 0 0 10 0 0 0 1 Matrix{[U,P,E\) 1 1110 0 0 -1 2 0 0 1 0 0 0 0 2 0 0 1 0 0 -1 2 0 0 0 1 res ■= GaussianElimination [Matrixi [ Ľ. P. E]), 'methoď-FractionFree') 11110 0 0 0 3 111 0 0 6 0 0 0 0 0 2 2 0 0 3 0 -7 6 A := res[3 ..4, 4..7] b:=res[3.A,3] 0 0 3 0 2 2-76 Obrázek 4-34-' Řešení příkladu 4.47. Příklad 4.48: V prostoru IR4 vyšetřete vzájemnou polohu podprostorů: a) 7T : 3 • x\ + x2 + 2 • x3 = 5, 5 • x\ — x2 + 2 • X4 = 3, p : x\ + 5 • x2 — 4 • x% = —3, 2 • x2 — x% + X4 = —2, b) p : x\ + 2 • x2 — x% = 1, x\ + x% + 2 • X4 = 3, p: (3,-1,0, 0)T + Í- (-3,2,1, lf. i? esem': a) Nejprve zjistíme, zda mají zadané podprostory společný bod. Řešíme tedy systém (všech) čtyř rovnic o čtyřech neznámých. Získáme jediné řešení. To znamená, že roviny 7T a p jsou různoběžné. b) Opět se pokusíme najít společný bod. Souřadnice z parametrické rovnice přímky p dosadíme do rovnice roviny p. Z pouhého vyhodnocení vidíme, že rovnici roviny vyhovuje každý bod přímky (pro libovolné t). To znamená, že přímka p leží v rovině p. Příklad 4.49: V prostoru IR3 najděte příčku mimoběžek p : P + Í! • Ul = (3,3, 3)T + íi • (2, 2,1)T, q : Q + t2 ■ u2 = (0, 5, -1)T + t2 ■ (1,1,1)T, která prochází bodem A = (4,5,3)T. Zobrazte graficky. 181 rovnice ■= j 3 ■ x^ + Xj + 2 -x^ = 5. S-x^-x^ + 2- jc+=3, -¥j + 5- jtj — 4-j«3=-3, 2-j:2 — jí3 +x4 ="2} : lXy = 1, Xj= O, = 1, X^ = "Íl Jci := 3 -3.f: x2 :=-l + 2r: Jt3 ravfiíca :"= j _Vj + 2 ■ jc^ — x^ = 1. ,1+.v3+2,v4 = 3}: f: x, := í: {1 = 1,3 = 3} Obrázek 4.35: Řešení příkladu 4.48, a) vlevo, b) vpravo. Řešení: Ukážeme si dvě různá řešení, jak dospět ke grafickému znázornění. V obou případech budeme vycházet z toho, že hledaná příčka musí ležet jak v rovině tvořené přímkou p a bodem A, tak v rovině tvořené přímkou q a bodem A. Tedy příčka mimoběžek bude průnikem těchto dvou rovin. 1. Klasický výpočet. Vytvoříme body a vektory. Zapíšeme parametrické rovnice dříve uvedených rovin (pomocí rovnice přímky a vektoru spojujícím bod přímky s bodem A). Průnik rovin je roven řešení rovnosti jejich parametrických rovnic - viz obrázek 4.36. with(LinearAlgebra) : Hj:= (2,2,1): u2 := (1,1,1): P:= [3, 3, 3] : Q ■■= [0,5,-1] : A := [4, 5, 3] u3, u4 ■■= Vector(P-A), Vector(Q-Á) -1 -4 -2 0 0 -4 -sí+2tí ■2^+2^ Vector(P) +j^-u3 + řj-Uj 3 -3 - Vector(Q) + s^-u^ + f^-Uj -4j2+í2 5 + ŕ. 1 -*s2 + t2 solve( [seq(pi [i] = p2[i], í= 1 .3) ]) assign (%) Pl=P2 -4j2 "4-2 5 = 5 -1-4-2 Vector( [x,y,z]) = eval^p2, [J2 = ^]) + s2" (™3p(coeff. p2, 1) ) jc ( -4 1 0 y = S2 0 + 5 z -4 -1 Obrázek 4-36: Řešení příkladu 4.49. Přímky zadané parametricky můžeme v prostoru zobrazit například příkazem spacecurve z balíku plots. Na obrázku 4.37 je pro jednoduchost u všech přímek použitý parametr t (což ničemu nevadí). Každou z přímek reprezentujeme jedním příkazem spacecurve, příčku vyznačíme červeně a čerchovaně. Zobrazíme ji jako úsečku spojující přímky p a q. Pro názornost ještě vykreslíme i bod A příkazem plot3d jako černou tečku. 182 restart with( plots) : pi := spacecurve( [3 + 2-t, 3 + 2-t, 3 + f], f = -3 ..2, axes= frame, color= blue) : p2 ■= spacecurvei [ (. 5 + r.-l + f], (=-3 ..2. axes = frame, color = green) : p3 := ,space£ij?-ve( [1 — 4 - (, 5,-4- f], (=-1 ..0.25, axes = frame, color = red, linestyle= dashdot) : p4 ■= plot3d([4, 5, 3],x = -5 ..5, v = -5 ..5,style=point, axes = frame, labels= ["x", "y1', "z"], symbolsize= 20,color= black) : display(p\\ (1 ..4), orientoi'JOH = [ -15, 80, 6]) Obrázek 4-37: Grafické znázornění řešení příkladu 4.49. 2. ř/ižíz' balíku geom3d. Systém Maple nabízí balík geom3d pro (Euklidovskou) geometrii v trojrozměrném prostoru. Pomocí něj můžeme definovat body, přímky, roviny apod., s kterými je možné dále pracovat (vykreslovat je, zjišťovat jejich vlastnosti, ...). Načteme proto balík a vytvoříme vše potřebné. Body zavádíme příkazem point, přímky příkazem line, roviny příkazem plane. Pro informace o přesné syntaxi příkaů odkážeme čtenáře na stránky nápovědy systému, kde je vše podrobně a přehledně popsáno. Upozorněme pouze, že například vektor je nutné zadávat jako seznam (a ne datový typ Vector). Po vytvoření rovin můžeme použít příkaz intersection k nalezení jejich průniku. Příkazem Equation můžeme následně zobrazit rovnici získaného objektu, tj. hledanou rovnici příčky. Objekty zobrazíme příkazem draw. Abychom příčku zobrazili pouze jako úsečku spojující přímky pag, vytvoříme ji příkazem segment. Více na obrázku 4.38. Příklad 4.50: Určete parametrickou rovnici afinního podprostoru B vektorového prostoru IR5 zadaného soustavou rovnic: xi + 2 • x2 - x3 + x5 = 1, 2 • X\ + 4 • x2 + x4 — x5 = 4. Příklad 4.51: Určete parametrickou rovnici roviny, v níž leží body A = [0,2,1], B = [-1,3,2] a C= [4,-1,3]. Příklad 4.52: Leží bod K = [3, 2,0] v rovině obsahující bod A = [2,1,5] a přímku určenou bodem B = [2, —1, 2] a vektorem u = (1,3, 3)T? Zobrazte též graficky 183 restart with {geom3d) : u{ := [2,2,1]: u2 := [1,1,1]: point{P, [3, 3, 3]) : pomt(Q, [0, 5,-1]) : point{A, [4, 5, 3]) : lineup, [P,^])- lwe{q, [G'"2]) : line{pA, [P, A ]) : line{qA, [ g, ,4 ]) : pi := draw( [s,p, q], color= [red. blue, green], axes= frame, labels= ["x", "y", "z"], linestyie = [dashdot, solid, solid]) : p2 := plot3dicoordinatesiA),x =-5 ..10,j=-10 ..7, style = point, axes = frame, labels = ["x", "y", "z" ]. symbolsize = 20, color = black) : plots[display] (pl,p2, orientation= [ -15, 80, 6]) plane{pl, [p,pA]) : plane(p2, [q,qA]) : 4-2-t>- 7 — / i s* intersection^, pi, p2) : Equation(r,'ť) [l-4í,5,-4/] -2--(j--h- segment(s, intersection(Pr, p, r), intersection(Qr,q.r)) : o 1 1 1 í; y Obrázek 4.38: Řešení příkladu 4.49 pomocí balíku geom3d. Příklad 4.53: Určete obecnou rovnici afinního podprostoru B vektorového prostoru IR5 zadaného parametricky: B = (2, 0,1, 0, 0)T + h • (1, 0, 5, 0,2)T + í2 • (-1,0,-1,2, 0)T + t3 • (-2,1, 0, 0, 0)T. Příklad 4.54: Určete obecnou rovnici roviny, v níž leží body A = [2, —2,1], B = [1, —1,4] aC = [0,0,1]. Příklad 4.55: V prostoru IR3 najděte příčku mimoběžek p : p + tl ■ Ul = (1,2, -1)T + tx • (1, -1,1)T, g : Q + t2 ■ u2 = (0, 9, -2)T + í2 • (1, 0, 0)T ve směru u3 = (1,2,0)T. Zobrazte graficky. Příklad 4.56: V prostoru IR2, resp. IR3, vyšetřete vzájemnou polohu podprostoru (t G IR): a) p: 3-x+ 4-y = 20, q : x = 4 - 8 ■ t,y = 2 + 6 ■ t, b) p : (x, y f = (2, -9)r + t • (1, -lf, q : (x, = (1, -lf + í • (5, 2f, c) p:x = 3 — 6 • £, y = —1 + 4-1, z = t, q : x = —2 + 3 • t, y = 4, z = 3 — t. Vše zobrazte též graficky. 4.3.2 Afinní zobrazení Definice 4.21: Afinní zobrazení mezi afinními podprostory M. = M.(U),M = N (V) je zobrazení M tvaru 0(M + u) = N + ip(u), kde M G M, N G U,u G U & ip : U U je lineárni. 184 Poznámka 4.22: Nechť M ln,M = Rk, kde k, n E N. Pak zobrazení (j)(x) = A ■ x + 6, kde A je matice typu k x n a b = (61,62; •••)6fc)T, je afinní, neboť M je afinní zobrazení. Je-li + c=0 r2:=eVal[q, {x= Q2[ 1 ],y= g2[2] } ) -a + 5 ř> + c=0 {a = c, í> = 0, c=c} c ■= 1 : Obrázek 4-39: Řešení příkladu 4.57. Příklad 4.58: Napište předpis afinního zobrazení 0, které je zadáno pomocí matice A asociovaného lineárního zobrazení >p a bodů P = [1, 0], Q = [3, 8], přičemž 0(P) = Q, Řešení: Zadefinujeme zobrazení 9\y)~\ x + 2-y )' Napište předpis zobrazení / o g a g o /. Příklad 4.61: Určete předpis afinního zobrazení 0, které zobrazí bod M = [0,0] na bod N = [1,-1] a přímky Pi : x + y — 1 = 0, qi : x — y — 3 = 0 po řadě na přímky p2:x-2-í/ + l = 0, g2:2-x + í/ + l = 0. 4.4 Bilineární a kvadratické formy 4.4.1 Bilineární formy Definice 4.23: Nechť U, V jsou vektorové prostory nad K G IR, C. Zobrazení p : U x V —> K se nazývá bilineární, jestliže pro každé u, u\, u2 G U, v, v±, v2 G V a a, b,c,d G K: K se nazývá bilineární forma na U. Definice 4.24: Nechť a = {u1} ...,un} je báze vektorového prostoru U. Maticí bilineární formy f : U x U —> K nazveme matici A = (a^), pro jejíž prvky platí: aij = f(ui,uj) pro i, j = 1, ...,n. Poznámka 4.23: Nechť A je matice bilineární formy / : U x U —> K v bázi a, u, v G U vektory vyjádřené v této bázi. Pak: f (u, v) = uT ■ A ■ v. 186 Příklad 4.62: Uvažujme bilineární formu / na IR4 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: f(x, y) = -xx ■ y2 + xx ■ y3 + x2 ■ yi + x2 ■ y2 + x2 ■ y4 - x3 ■ y4 + x4 ■ y3. Určete matici této bilineární formy ve standardní bázi. Řešení: Matici bilineární formy můžeme vytvořit příkazem GenerateMatrix z balíku LinearAlgebra. Ten generuje matice ze zadaných rovnic nebo výrazů. Výstupem je matice tvořená z levých stran rovnic a vektor utvořený z pravých stran rovnic. Nás zajímá pouze matice, proto na konci příkazu uvedeme číslo 1 v hranatých závorkách určující první z výstupů. Rovnice v proměnných y\,...,y4 si vytvoříme pomocí příkazu map2 z bilineární formy /. Příkaz map2 aplikuje proceduru s uvedeným argumentem na každý operand daného výrazu. V tomto případě tedy map2(coef f ,f ,u) aplikuje příkaz coeff, jehož prvním argumentem je bilineární forma /, na každý prvek „vektoru" (typově přesněji seznamu) u. Výsledkem jsou koeficienty u jednotlivých souřadnic „vektoru" u, tj. Na závěr se můžeme vynásobením vektoru u, matice A a vektoru v přesvědčit, že nalezená matice je skutečně maticí bilineární formy /. Postup je uveden na obrázku 4.41. with(LmearÁlgebra) : f ■■- -jcl y2 + xľ y3 + x2 ■yl + x2 -y2 + x2 y4 - x3 -yA + xA -y3 : u := [ssq(x[i], i= 1 ..4) ] : v ■= [seq{y[i], i= 1 ..4) ] : A ■= Gen3ratäMatrix{map2(coeff, f, u), v) [ 1 ] [ 0 -1 1 0 ' 110 1 0 0 0 -1 0 0 10 Vector[row] (u). A.Vector(v) x2yľ + ( -ij + ^}y2 + (jL + x4)y3 + [x2 -*3)y4 expand(%) -*ly2 + xiyj + ^2^1 +xiyi+ ^2^4 ~ ^3^4 + x4^3 Obrázek 4-41-' Řešení příkladu 4.62. Poznámka 4.24: Nechť A je matice bilineární formy / : U x U —> K v bázi a. Pak pro matici B téže bilineární formy / v bázi (3 platí: Definice 4.25: Čtvercové matice A, B řádu n se nazývají kongruentní, jestliže existuje regulárni matice P řádu n taková, že: B = PT ■ A ■ P. Definice 4.26: Bilineární forma / : U x U —> K se nazývá symetrická, jestliže pro každé u,v G U platí: f {u,v) = f {v,u). Pokud pro každé u,v G U platí: f {u,v) = — f (v,u), nazývá se bilineární forma / antisymetrická. 187 Poznámka 4.25: Nechť A je matice bilineární formy / : U x U —> K v bázi a. Matice A je symetrická právě tehdy, když je symetrická bilineární forma /. Analogické tvrzení platí pro antisymetrickou bilineární formu. Každá bilineární forma je součtem symetrické a antisymetrické bilineární formy. Pro její matici A platí: A = \-(A + AT) + 1-.(A-Är), kde první sčítanec odpovídá symetrické části, druhý antisymetrické. Příklad 4.63: Uvažujme bilineární formu / na M2 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: f(x, y) = xx ■ yi - 2 • x2 ■ y2 + 3 • x1 ■ y2. Určete její souřadnicové vyjádření v bázi uľ = (3, — l)T,u2 = (1, — 1)T■ Řešení: Využijeme poznámky 4.24. Její rovnost nyní přechází do tvaru: B = [id)lp ■ A ■ [id)e,p. Jinak budeme postupovat podobně jako v příkladu 4.62, viz obrázek 4.42. with(LmearAlgebra) : /:=x1-y1-2-x2-v2+x2^ + 3-x1->2: u := [seq(x[ i], i= 1 ..2) ] : v ■= [seq(y[ /], 1=1..2)]: A ■— GenerateMatrix{map2(coeff,f, u),\ )[1] 1 3 0 -2 id^:= {{37-l)|{L-l)} 3 1 -1 -1 B:= úľ1.A.id a -2 -8 -2 -4 Vector[ row] (u). B. Vector{ v) (-2x1-2,2)Jl + (- 8X1-4X2)^2 sxpand{%) -2^-23^-8x^-4^ Obrázek J^.J^Ž: Řešení příkladu 4.63. Příklad 4.64: Uvažujme bilineární formu / na M.3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: f(x, y)=xi-yi + 2-x2-y2 + 2-x2-y$. Určete její souřadnicové vyjádření v bázi Ui = (1, 0,1)T, u2 = (0,1,1)T, ^3 = (1,1, 0)T. 188 Příklad 4.65: Pro následující bilineární formu / na IR3 určete její symetrickou a antisy-metrickou část: f(x, y) = 2-x1-y2 + 4-x2-y3 + 6-x3-y1. Poznámka 4.26: Každá symetrická čtvercová matice je kongruentní s nějakou diagonální maticí. Tj. pro symetrickou matici A existuje regulární matice P tak, že D = PT ■ A ■ P, kde D je diagonální matice. Báze, v níž má symetrická bilineární forma diagonální matici, se nazývá polární báze. Pro diagonalizaci symetrických matic ve smyslu poznámky 4.26 nemá Maple žádný příkaz. Podobně, jako jsme to udělali v případě Laplaceova rozvoje determinantu, si můžeme opět vytvořit proceduru, která bude provádět příslušný algoritmus. Nechť n G N je dimenze symetrické matice. Diagonalizační algoritmus spočívá v sestavení blokové matice typu 2 • n x n, v jejíž horní polovině je zadaná symetrická matice, ve spodní polovině je matice jednotková (řádu n). Na blokové matici provádíme řádkové a sloupcové elementární úpravy tak, abychom v horní polovině získali diagonální matici (řádu n). Ve spodní polovině získáme matici, již jsme v poznámce 4.26 označili jako P. Základem algoritmu je vynulování prvků mimo diagonálu zadané symetrické matice. Pro přehlednost a zjednodušení kódu vytvoříme dvě procedury - jednu právě pro zmíněné „vynulování", druhou pro provedení celé diagonalizace. V procedurách využijeme příkazů RowOperation a ColumnOperation z balíku LinearAlgebra pro řádkové a sloupcové úpravy matice a příkazů SearchArray z balíku ArrayTools, kterým najdeme první nenulový prvek ve sloupci pod nulovým prvkem na diagonále, a NumElems z téhož balíku pro zjištění počtu prvků pole. Vstupem procedury diagonalizace je symetrická matice, výstupem matice diagonální a matice P. vynuluj := proc(A::Matrix, radek::posint, dim : : p osi n t) uses LinearAlgebra: local i ; for i from radek to dim—1 do RowOperation (A, [ i +1, radek], —A [ i +1, radek]/A[radek, radek], inplace): ColumnOperation (A, [i+1, radek], —A[radek, i +1]/A[ radek , radek], inplace): end do: return A: end proc: diagonalizace := proc (A::( Matrix ( square ))) uses LinearAlgebra , ArrayTools : local 1, r, n, M, E; n := RowDimension(A) : r := 1: M := Matrix ([[A], [Matrix(n, shape = identity )]]) = while (r < n) do if (M[r, r] = 0) then 1 := SearchArray(M[ 1 .. n, r] , 1 , location = first): if (NumElems(l) > 0) then RowOperation (M, [r 1 [1]] , 1, inplace): ColumnOperation (M, [r, 1 [1]] , 1 , inplace): M := vynuluj (M, r , n): r := r + 1: else r := r + 1: end i f: else M := vynuluj (M, r, n); r := r+1 end i f: end do: return M[l .. n, 1 .. n] , M[n+1 .. 2*n, 1 .. n]: end proc: 189 Příklad 4.66: Uvažujme bilineární formu / na IR3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: f(x, y) = 2 • xx ■ y2 + 2 • x2 ■ yi + 4 • xx ■ y3 + 4 • x3 ■ y1 + 6 • x2 ■ y3 + 6 • x3 ■ y2. Najděte bázi (3 = {u1} u2, u3}, v níž má / diagonální matici. Řešeni: Využijeme procedur vynuluj a diagonalizace. Předpokládejme proto, že jsme je již načetli. Vytvoříme matici bilineární formy, použijeme příkaz diagonalizace a získáme jak diagonální matici, tak matici P. Jelikož P = (id)Sjp (viz poznámka 4.24), tak ve sloupcích matice P najdeme vektory báze (3 = {u1}u2, u3}. Jestliže chceme použít písmeno D například jako název pro diagonální matici, je třeba příkazem unprotect zrušit vyhrazení tohoto symbolu pro diferenciální operátor. Postup výpočtu je uveden na obrázku 4.43. with(LinearAlgebra) : f~2-xy-y1 + 2- x2-yl + 4- ^ y^+4-^ + 6 x^ + 6-x}-y2 : u := [sag(jc[i], i = 1 ..3) ] : v ■= [seq(y[i], i=l ..3) ] : A := GenerateMatrix(map2( coejf.f, u), v) [ 1 ] [ 0 2 4 1 2 0 6 4 6 0 unprotectCD) D. P := dksgonalízace(A) ľ 4 0 0 1 1 " 2~ 3 [ 0 0 -24 J 2 0 0 1 ď^.A.P [ 4 0 0 1 0-1 0 0 0 -24 P={P[ ..,l],P[ ..,2],P[ ..,3]} \ 1 1 [ 1 | 2 [ -3 1 P=. 1 , J_ , -2 0 2 1 0 Obrázek 4-4^: Řešení příkladu 4.66. 4.4.2 Kvadratické formy Definice 4.27: Nechť U je vektorový prostor nad K G IR, C. Zobrazení g : U —> K se nazývá kvadratická forma, jestliže existuje symetrická bilineární forma / : U x U —> K tak, že pro všechna u E U platí: g (u) = f (u,u). Poznámka 4.27: Symetrická bilineární forma / : U x U —> K z předchozí definice je kvadratickou formou g : U —> K určena jednoznačně. Definice 4.28: Matici kvadratické formy g : U —^ K nazveme matici symetrické bilineární formy, která tuto kvadratickou formu určuje. Příklad 4.67: Uvažujme kvadratickou formu g na IR3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: g(x) = X\ ■ x2 + x2 ■ x3. 190 Najděte bázi (3 = {ui,u2,us}, v níž má g diagonální matici. Řešeni: Postupujeme takřka identicky s řešením příkladu 4.66. Jediný rozdíl je v získání matice příslušné bilineární formy. Když si uvědomíme, co představuje Hessova matice, zjistíme, že právě ji lze použít pro získání symetrické matice. Závěrem můžeme zapsat kvadratickou formu v souřadnicovém vyjádření v bázi (3 - viz obrázek 4.67. with(LinearAlgebra) : A ■= VectorCalculus[Hsssian] ^ ^.VpX2,x^ j 1 y 1 o 2 ^ o !■ 2 2 o jo unprotect(~D) D, P ■= diagonalizace{Á) 1 0 0 0 0 0 o '1 ■ 0 0 1 lť°T.A.P 1 0 o 0 0 0 o P={P[ ..,1],P[ ..,2],P[ ..,3]} 1 1 2 " -1 ' 1 1 0 0 2 1 1 2 jy2 :[y) =y\ Obrázek 4-44: Řešení příkladu 4.67. Příklad 4.68: Uvažujme kvadratickou formu g na IR3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: g(x) = 2 • xi2 — 2 • x\ ■ X2 + 2 • x22 — 2 • x2 ■ x3 + 2 • X32. Najděte bázi (3 = {ui, u2, u%}, v níž má g diagonální matici. Příklad 4.69: Uvažujme kvadratickou formu g na IR3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: g(x) = Xi2 + X32 — 2 • x\ ■ x2 + 2 • x\ ■ X3 + 10 • x2 ■ X3. Najděte bázi (3 = {u1} u2, u3}, v níž má g diagonální matici. Poznámka 4.28: (Sylvestrův zákon setrvačnosti) Každou kvadratickou formu g : U x U —> K na reálném vektorovém prostoru U dimenze n G N lze ve vhodné bázi vyjádřit ve tvaru (pro p, r G N, r < n): / \ _ 2 _i_ _i_ 2 2 2 g\X\, XnJ X\ -r- ... -r- Xp <£p+l ••• %r ■> přičemž počet kladných, záporných a nulových koeficientů je nezávislý na volbě báze. 191 Dennice 4.29: Signaturou kvadratické formy g : U -í-Kna reálném vektorovém prostoru U nazveme trojici (s+, s_, s0), kde s+ je počet koeficientů z poznámky 4.28 rovných 1, s_ je počet koeficientů z téže poznámky rovných —1 a s0 Je počet koeficientů (taktéž z poznámky 4.28) rovných 0. Definice 4.30: Nechť g : UxU —> K je kvadratická forma na reálném vektorovém prostoru U dimenze n G N. Řekneme, že g je: • pozitivně definitní, jestliže \/u G U \ {0} : g (u) > 0, • negativně definitní, jestliže \/u G U \ {0} : g (u) < 0, • pozitivně semidefinitní, jestliže \/u G U \ {0} : g (u) > 0, • negativně semidefinitní, jestliže \/u G U \ {0} : g (u) < 0, • indefinitní, jestliže 3u,v E U \ {0} : g (u) > 0,g(v) < 0. Poznámka 4.29: Nechť g : U x U —> K je kvadratická forma na reálném vektorovém prostoru U dimenze n G N se signaturou (s+, s_, sq)- Pak p je: • pozitivně definitní právě tehdy, když s+ = n, • negativně definitní právě tehdy, když s_ = n, • pozitivně semidefinitní právě tehdy, když s_ = 0, • negativně semidefinitní právě tehdy, když s+ = 0, • indefinitní právě tehdy, když s+ > 0 a s_ > 0. Rozhodnout o definitnosti kvadratické formy můžeme různými způsoby. V Maple je nej-jednodušší vytvořit matici kvadratické formy a tu otestovat příkazem IsDef inite z balíku LinearAlgebra. Dále je také možné kvadratickou formu zobrazit graficky, případně hledat její minimum či maximum. Příklad 4.70: Uvažujme kvadratickou formu g na IR3 zadanou souřadnicovým vyjádřením vzhledem ke standardní bázi: (a) g(x) = xx ■ x3, (b) g(x) = xi2 + X22 + 3 • x%2 + 4 • x\ ■ x2 + 2 • x\ ■ x3 + 2 • x2 ■ x%, (c) g{x) = Xi2 — 2 • x22 + X32 + 2 • x\ ■ X2 + 4 • x\ ■ x3 + 2 • x2 • x%. Určete její signaturu a definitnost. Příklad 4.71: Uvažujme kvadratickou formu g na IR4 zadanou souřadnicovým vyjádřením vzhledem k nějaké bázi: (a) g{x) = x\2 + X22 + X32 + X42 + 2-xi-X2 + 4:-xi-xs + 2-xi-X4 + A-X2-xs + A-X2-X4 + 2-xs-X4, (b) g(x) = 3 • X32 + 2 • X42 + A ■ x\ ■ X4 + A ■ X2 ■ x% + 2 ■ X2 ■ X4 + 2 ■ x% ■ X4, (c) g{x) = X\ ■ x3 + X\ ■ X4. Určete její signaturu a definitnost. 192 4.5 Euklidovská geometrie 4.5.1 Skalární součin Definice 4.31: Skalárním součinem na vektorovém prostoru U nad K G {IR, C} rozumíme libovolnou symetrickou bilineární formu na U, jíž příslušná kvadratická forma je pozitivně definitní. Hodnotu této formy na u, v G U budeme značit (u,v). Poznámka 4.30: Skalární součin je možné definovat na vektorovém prostoru U též jako binární operaci (,} : U x U —> K, která každé dvojici vektorů u, v G U přiřadí číslo {u, v) tak, že pro všechny u,v,w G U a A; G K platí: • (u,v) = (v,u), • (u + v,w) = (u, w) + (v, w), • (k ■ u, v) = k ■ (u, v), • íi^0^(íi,íí}>0. k značí číslo komplexně sdružené k číslu k. Pro A; G IR přitom platí: k = k. Definice 4.32: Nechť U = IRn, u = (u1} ...,un),v = (vi,...,vn) G U jsou libovolné. Standardním skalárním součinem na vektorovém prostoru U nad IR rozumíme zobrazení dané předpisem: i=l Příklad 4.72: Dokažte, že standardní skalární součin z definice 4.32 odpovídá definici 4.31, tj. že se skutečně jedná o skalární součin. Definice 4.33: Nechť U = IRn. Normou (resp. velikostí) vektoru u = (ui,...,un) G U vzhledem ke standardnímu skalárnímu součinu rozumíme číslo: Příklad 4.73: Zjistěte, zda je zobrazení g : IR2 x IR2 —> IR, resp. g : IR3 x IR3 —> IR, skalárním součinem: a) g(x, y) = xx ■ y1 + xx ■ y2 + x2 ■ yi + x2 ■ y2, b) g(x, y) = 4 • xx ■ yx + 3 • xx ■ y2 + 2 • x2 ■ y2, c) g(x, y) = 2-x1-y1-x1-y2-x2-y1+x3- y3, d) g(x, y) = 3-x1-y1-x1-y3 + x3-y1+x3- y3. n 193 Příklad 4.74: Určete, zda je zobrazení g : WL2[x] x IR2M —> K skalárním součinem, jestliže ai, «2, 61, 62, ci, c2 G IR : b) g(al ■ x2 + b± ■ x + c±, a2 ■ x2 + b2 ■ x + c2) = a± ■ a2 + b± ■ b2 + c± ■ c2, c) g(a,i ■ x2 + bi ■ x + Ci, a2 ■ x2 + b2 ■ x + c2) = a>i + b2. 4.5.2 Unitární a euklidovské prostory Definice 4.34: Vektorový prostor U = Cn se skalárním součinem (,} : U x U —> C nazýváme unitárním prostorem. Definice 4.35: Normu vektoru u = (ui,...,un) E U na unitárním prostoru U = Cn definujeme předpisem: Poznámka 4.31: (Cauchyova-Schwartzova nerovnost) Nechť U je unitární prostor. Pak pro libovolné u,v G U platí: přičemž rovnost nastane právě tehdy, když jsou u,v lineárně nezávislé. Definice 4.36: Nechť U je vektorový prostor. Euklidovským prostorem E(U) rozumíme afinní prostor spolu se skalárním součinem na U. Poznámka 4.32: Euklidovský prostor E(M.n) se standardním skalárním součinem budeme značit En. Definice 4.37: Nechť E(U) je euklidovský prostor, u,v G U. Uhel, který svírají vektory u a v, definujeme jako číslo a G [0,7r], pro něž platí: Definice 4.38: Nechť E(U) je euklidovský prostor, u,v G U. Vektory u a v nazveme ortogonální (resp. kolmé), pokud (u,v) = 0. Vektory u a v nazveme ortonormální, pokud jsou ortogonální a navíc jsou jednotkové velikosti, tj. ||it|| = 1, \\v\\ = 1. Definice 4.39: Bázi tvořenou ortogonálními vektory nazveme ortogonální bází, bázi tvořenou ortonormálními vektory nazveme ortonormální bází. Poznámka 4.33: Pokud nebude uvedeno jinak, bude dále skalární součin představovat standardní skalární součin. 1 a) g(f(x),g(x)) = J f (x) ■ g (x) dx, o \(u,v)\ < \\u\\ ■ \\v 194 Příklad 4.75: Najděte ortogonální bázi podprostoru generovaného vektory (3,2,—4,6)T, (8, l,-2,-16)T, (5,12,-14,5)T, (11,3,4,-7)T v euklidovském prostoru E4. Řešeni: Maple poskytuje v balíku LinearAlgebra mj. i příkaz GramSchmiďt hledající ortogonální bázi pomocí Gramová-Schmidtova ortogonalizačního procesu. Řešení je proto velmi jednoduché. Jelikož jsou zadané vektory lineárně nezávislé (a generují tak celý prostor IR4), o čemž se lze přesvědčit např. příkazem Basis, může být odpovědí také standardní báze tohoto prostoru - viz obrázek 4.45. wäh (L in earA Igebra) : GramSchmidt{[{3,2,-4,6), {8,1,-2,-16), {5, 12,-14,5), {11,3,4,-7)]) 706 97470 54720 65 17281 25561 3 189 118372 120096 2 65 17281 25561 -4 378 63934 129168 6 65 17281 25561 668 33345 18720 65 17281 25561 Basis{ [{3,2,-4, 6), {8, 1,-2,-16), {5, 12,-14, 5), {11, 3,4,-7)]) 3 8 5 11 2 1 12 3 -4 -2 -14 í 4 6 -16 5 -7 Obrázek 4-45: Řešení příkladu 4.75. Příklad 4.76: Najděte ortogonální bázi podprostoru generovaného vektory (1,1,-1, — 1)T, (1, —1,1,1)T, (—1, —2, 0,1)T v euklidovském prostoru E4. Příklad 4.77: Najděte ortonormální bázi podprostoru generovaného vektory (1,0,1,0)T, (0,1,0, — 7)T, (3, —2, 3,14)T v euklidovském prostoru E4. Příklad 4.78: V euklidovském prostoru E4 jsou dány vektory u,v. Ověřte, že jsou ortogonální a doplňte je na ortogonální bázi celého prostoru: a) M = (l,-2,2,lf,t; = (l,3,2,l)T, b) u = (2, 3, -3, -4f, v = (-l, 3, -3,4f, c) U = (l,7,7,l)I> = (-l,7,-7,l)T. Definice 4.40: Nechť A je podmnožinou euklidovského prostoru E(U). Ortogonálním doplňkem množiny A v prstoru E(U) nazveme množinu: A± = {u e U I Vv G U : (u, v) = 0}. Definice 4.41: Nechť E (U) je euklidovský prostor, V jeho podprostor. Kolmá projekce vektoru u G E (U) do V je vektor Pu G V takový, že {u — Pu) _L V. 195 Příklad 4.79: Najděte ortogonální doplněk podprostoru U generovaného vektory (1,-1,1,0,0)T, (1,0,1,0,1)T, (1,1,0,-1,1)T v euklidovském prostoru E5. Řešeni: Označme zadané vektory podprostoru U jako u1}u2,u3 a libovolný vektor z prostoru U± písmenem v. Obecně můžeme psát v = (a, b, c, d, e)T pro a, b, c,d,e G IR. Podle definice 4.40 musí pro i = 1,2,3 platit: (uí,v) = 0. Tuto rovnici vyřešíme. Získaným parametrům pak přiřadíme nějaké nezávislé hodnoty, abychom dostali nezávislé (bázové) vektory ortogonálního doplňku - viz obrázek 4.46. := {1,-1, 1,0,0) : := {1,0, 1,0, 1} : := {1, 1, 0,-1, 1} : v := (a, b, c, d, é) res ■= sotve\ v ,u v ,ui = 0 {a = d, b = -e, c= -e — d, d = d, e = e) v := subsijes, v) cl -e -e — d d e eval{v, {e=0, d= \}),eval{v, {e= l,íí=0}) 1 0 0 -1 -1 -1 1 0 0 1 Obrázek 4-4@: Řešení příkladu 4.79. Příklad 4.80: Najděte kolmou projekci vektoru (1, 2, 3)T do podprostoru V generovaného vektory (—1,1,1)T, (1,1,1)T v euklidovském prostoru E%. Znázorněte graficky Řešeni: Označme u = (1,2,3)T, v\ = (—1,1,1)T, v2 = (1,1,1)T. Dle definice 4.41 platí: Pu G V, tj. pro a, b G IR : Pu = a ■ V\ + b ■ v2. Navíc pro i = 1, 2 : (Pu, v i) = 0. K vykreslení lze použít příkaz ProjectionPlot z balíku Student [LinearAlgebra] -obrázek 4.47. Příkaz má mnoho volitelných parametrů. K tomu je ještě možné nastavit i proměnnou inf olevel podobně, jak jsme se o tom zmínili u příkazu solve (viz část 1.4.5). Na obrázku 4.48 je na ukázku nastavena proměnná inf olevel na hodnotu 1, vpravo jsou navíc zeleně vykresleny bázové vektory vi, v2. Příklad 4.81: Nechť V je podprostor generovaný vektory Vi,v2,vs v euklidovském prostoru E4. Najděte kolmou projekci vektoru w do podprostoru VL: a) Vl = (5,1, 3,3)T, v2 = (3, -1, -3, 5)T, v3 = (3, -1, 5, -3)T, w = (4, 2, -5, 3)T, b) Vl = (1,1, 2,8)T, v2 = (0,1,1, 3)T, v3 = (l, -2,1, lf, w = (2,5,2- 2f. Příklad 4.82: Najděte ortogonální doplněk podprostoru U generovaného vektory (1, —3, 2)T, (2,1,5)T v euklidovském prostoru E3. Příklad 4.83: Najděte ortogonální doplněk podprostoru U generovaného vektory (1, 2,1,1)T, (3,1,1,1)T v euklidovském prostoru E4. 196 with(Student[LinearAlgebra]) : u := (1.2.3): Vj - {1,1,1): V= (-1,1,1): Pu := av1 + b-v2 : ■= solve^ ^v^T.(u -.(n-Ai)=OJ 4 4 P« := subs(res, Pu) 1 2 _5_ 2 Pu) =0, ProjectionPlot^u, |, v2}' snj3WCOINP^ement=fa^seJ orientation = [ -25. 75 ] J Proj ection(navy) of the first vector (burgundy onto the plane (gray) determined by the other two. Obrázek 4-4^: Řešení příkladu 4.80. with(Student[LinearAlgebra]) : infolevel[Siudent[LinearAigebra ■= 1: ProjectionPlot^u, |v^, v^J, jíiowcompíařKSMř =false, orientation— [ -25, 75 ] j Vector: <1, 2, 3> Projection: <1.000, 2.500, 2.500> Orthogonal complement: <.3419e-13, -.5000, .5000> Horn of orthogonal complement: .7071 Projection(navy) of the first vector (burgundy onto the plane (gray) determined by the other two. ProjectionPlot^u, {vpVjj, showcomplement =false, showbasis, orientation^ [ -25, 75 ] J Vector: <1, 2, 3> Projection: <1.000, 2.500, 2.500> Orthogonal complement: <.3419e-13, -.5000, .5000> Norm of orthogonal complement: .7071 Projection(navy) of the first vector (burgundy) onto the plane (gray) determined by the other two (leafgreen). Obrázek 4-4$: Různé možnosti grafického zobrazení řešení příkladu 4.80. Příklad 4.84: Najděte ortogonální bázi podprostoru U generovaného vektory (1,1,1)T, (1, 0,1)T a (1,2,1)T v euklidovském prostoru E%. Příklad 4.85: Najděte kolmou projekci vektoru u do podprostoru V popsaného rovnicí: 197 a) x + y = O, přičemž u = (3, — 2)T, b) x — y = O, přičemž -u = (1, 2)T v euklidovském prostoru E2 (se souřadnými osami x, y). Znázorněte graficky. Příklad 4.86: Najděte kolmou projekci vektoru (1, —1,1)T do podprostoru V popsaného rovnicí x + z = 0 v euklidovském prostoru E% (se souřadnými osami x, y, z). Znázorněte graficky. 4.5.3 Vzdálenost a odchylka Definice 4.42: Nechť A, B jsou dva body euklidovského prostoru En. Jejich vzdáleností nazveme velikost (normu) vektoru B — A, tj. p(A,B) = \\B — A\\. Definice 4.43: Nechť M. je afinní podprostor euklidovského prostoru En a A bod tohoto prostoru. Vzdáleností bodu A od afinní podprostoru M. nazveme nezáporné číslo definované vztahem: p(A, M) = min ({\\B - A\\, B e M}). Poznámka 4.34: Nechť M. = M.(V) je afinní podprostor euklidovského prostoru En, A bod tohoto prostoru a B bod patřící do M.. Vzdáleností bodu A od afinní podprostoru M. je rovna velikosti kolmé projekce vektoru B — A do ortogonálního doplnku zaměření podprostoru Ai, tj. do VL. Definice 4.44: Nechť M.,N jsou podprostory euklidovského prostoru En. Vzdáleností podprostoru M.,N nazveme nezáporné číslo definované vztahem: p(M,AÍ) = min ({\\B — A\\, B e M, A e A/"}) . Poznámka 4.35: Nechť M. = Ai(U),J\í = N (V) jsou dva afinní podprostory euklidovského prostoru En. Nechť dále A je libovolný bod patřící do M. a B libovolný bod patřící do N'. Vzdálenost podprostoru M.,N je rovna velikosti kolmé projekce vektoru B — A do ortogonálního doplnku součtu zaměření podprostoru Ai,J\f, tj. do (U + V)L. Příklad 4.87: V euklidovském prostoru E4 určete vzdálenost roviny a : (4,l,l,0)T + s- (1,-1, 0, 0)T + í • (2,0,-l,0)T od přímky p: (5,4,4,5)T + r-(0,0,l,-4)T. Řešení: Standardní postup odpovídá poznámce 4.35. Zaveďme proto označení, v němž a : A + s ■ u\ + t ■ u2, p : B + r • v. Nechť dále w je vektor ortogonálního doplnku a x = B — A. Pak kolmý průmět Px vektoru x leží v ortogonálním doplňku a zároveň x —P x je kolmý na w. Norma (velikost) kolmé projekce Px je požadovaná vzdálenost. K jejímu výpočtu lze použít příkaz VectorNorm z balíku LinearAlgebra. Jelikož norem existuje více, je nutné v druhém parametru specifikovat, že chceme vypočítat normu euklidovskou (což je právě ta, již jsme v tomto textu definovali). 198 Vzhledem k tomu, že systém Maple disponuje příkazy k hledání minima zadané funkce, můžeme vzdálenost počítat přímo z definice 4.44. Jedním z příkazů hledajících extrém je příkaz minimize, který v tomto případě řešení nenalezne. Dalším, jenž úspěch přinese, je příkaz extrema. Postup výpočtu je uveden na obrázku 4.49. with(LmearAlgebra) : u := (1,-1, 0, 0): u2 ■■= (2,0,-1,0) v== (0,0,1,-4): ^ = (4,1,1,0): B = (5,4,4,5) : w :— (a, b, c, d) : res ■= solve^ ^w^.u w .v = 0 1= 0,w%\ = 0, {a = 2d,b = 2d,c=4d,d = d} w := subs(res, w) 2d 2d 4d d x-=B-A: Px ■= w: res2 := solve{ [w^.lx — Px) — 0]) Px ■= subs(res2[2], Px) VectorNorm{Px, Euclidean) 5 Nalezeni minima vzdálenosti obecného bodu roviny a a bodu přímkyp podle definice. extrema (VectorNorm [A + s-u^ + t-u^— B — r-v, Euclideany { }, {r,s,t};boď) {5} bod {{r=l,S=-l,r=0}} Obrázek 4-49: Řešení příkladu 4.87. Příklad 4.88: V euklidovském prostoru E% určete vzdálenost přímek p : (9, -2, 0)T + r • (4, -3,1)T, q : (0, -7,2)T + s • (-2, 9, 2)T. Řešeni: Zaveďme označení, v němž p : A + s ■ u, q : B + t • v. Nyní zcela využijeme systému Maple. Nejprve určíme vzdálenost přímek opět pomocí příkazu extrema. Jelikož nyní pracujeme s prostorem E3, můžeme využít balíku geom3d, přímky vykreslit, ale také určit jejich vzdálenost příkazem distance z tohoto balíku. Postup výpočtu je uveden na obrázku 4.50. Příklad 4.89: V euklidovském prostoru E4 určete vzdálenost bodu A od afinního podpro-storu Ai: a) A = (4,1, -4, -5f, M : (3, -2,1, 5)r + s • (2,3, -2, -2)r + t ■ (4,1, 3, 2f, b) A=(2,l,4,-5f, M: (1,-1,1, 0f + í-(0,l, 2, -2)r, c) A = (2,1, -1, 0)T, Aí : 3 • ari + x3 - x4 + 6 = 0. 199 with (LmearAlgebra) with(geom3d) u := (4,-3,1) A:= (9,-2, 0) v:= (-2,9,2): B= (0,-7,2): Nalezeni minima vzdálenosti podle definice. extrema( VectorNorm(A + s-u — B — t-v, Euclidean). { }, {s, t}, •bod1) {?} bod {{s=-2,t=l}} line(p, [point(Al, convert(A, list)), convert(u, list) ]) line(q, [point(Bl, convert(B, list)), convert(v, list) ]) : distance(p, q) 7 draw( [p, q], color = [red, blue], axes= frame) Obrázek 4-50: Řešení příkladu 4.88. Příklad 4.90: V euklidovském prostoru Es určete vzdálenost přímek a) p : (-1, 7, -4f + r • (1, -2, if, q : (1, 6, 6f + s • (-3,1, if, b) p: (6,3,-3f + r-(-3,2,4f, q : (-1,-7,4f + s • (-3, 3, c) p : (2,1, 5f + r • (0,1, lf, g : (-3, -3, -lf + s • (2, 2, lf. 'j w i Příklad 4.91: V euklidovském prostoru E4 určete vzdálenost přímky a roviny a) p : (1, 3, — 3, — lf+ r • (1, 0,1, lf, a : — x\ + rr^ + ^3 + ^4 = 3, — 3• + 2 • — 4-2:4 = 4, b) p: (l,6,-6,4f+r-(l,-5,8,5f, a: (6,3-5, 5f+ s-(l, -2, 2, 2f+í-(2,-1, -2, lf. Definice 4.45: Nechť .A4 = M.(U),N = J\f(V) jsou afinní podprostory euklidovského prostoru En,u,v dva vektory tohoto prostoru. Odchylkou podprostorů M.,N rozumíme odchylku 0 jejich zaměření, tj.: a) je-li U = [u], V = [v], pak (j)(Ai,J\í) = a, a E [0, |], přičemž platí: cos(a) \(u,v)\ \u\ ■ \\v\ b) je-li U C V, resp. U C V, pak 0(A4,A/") = 0, c) je-li U H V = {0}, pak =-l} (ŕ,< 1 Obrázek 4.51: Řešení příkladu 4.92. Příklad 4.93: V euklidovském prostoru E% určete odchylku rovin a a r, kde o-:2-x-í/ + 2:-1 = 0, t: x + y + 2-z + 3 = 0. 201 Řešeni: Využijeme poznámky 4.37. Podle zmíněné poznámky platí: o-,t (na,nT), kde na,nT jsou normálové vektory rovin a a r. Přitom normálové vektory rovin odečteme přímo ze zadaných obecných rovnic. Jelikož se pohybujeme v prostoru Es, můžeme opět využít balíku geom3d a jeho příkazu FindAngle k určení odchylky. Roviny je dále možné vykreslit. Výpočet je uveden na obrázku 4.52. Miith(LinearÁlgebra) : with(geom3d) : rovnicejj ■= 2-x — y + z — 1=0: rovnice T:=jf + y + 2- z + 3 = 0: n ■■= {2,-1, 1) : n := {1, 1,2) : u t HOV := VectorNorm^n , Euclidean^ : niv ■= VectorNorm f n , Euclidean) : <|>(aT) \n . n a t k ÍIOV-ÍIW j plane(<3, 2-x —y + z — 1 = 0, [x,y, z] ) plane(x, x + y + 2 ■ z + 3 = 0, [x v, z]): 1 -TI hh Obrázek 4-52: Řešení příkladu 4.93. Příklad 4.94: V euklidovském prostoru E4 určete odchylku přímky p a roviny a, kde a) p : (1, 0, 0, 0)T + r • (3,4,4, 3)T, tr : (2, 9, 0, 6)T + s ■ (0,1,0, 5)T + t ■ (0,2, 0, -7)T, b) p : (1, 0, 0, 0)T + r • (1, -1,1,3)T, o- : (3,1,4, 5)T + s • (2, -2, 3, 0)T +1 ■ (-1,1, -2, 0) Příklad 4.95: V euklidovském prostoru .E3 určete odchylku zadaných podprostorů: a) p : (-2, -2, 6)T + r • (0,-7, -4)T, g : (6, 5, -6)T + s • (3, 7,8)T, b) p : (7, -3,4)T + r • (-3, 6, -3)T, íj:x-5-í/ + 3- 2- 7 = 0, c) a : x + 2 • z - 6 = 0, r:x + 2-í/-4 = 0, d) o- : (1, 0, 0)T + r • (1,1, 2)T + s ■ (3,1,1)T, r:x-2-y+l = 0, Znázorněte také graficky. 202 Příklad 4.96: V euklidovském prostoru Es veďte bodem Q přímku q tak, aby náležela rovině a a byla kolmá k přímce p, kde Q = (2,1,-3)T, p: (4,5,3)T + r- (-6,6,1)T, a:3-x-2-y + z=l. Znázorněte graficky Řešeni: Zaveďme označení tak, aby p : P + r • u, q : Q + s ■ v, v = (a, b, c)T, a, b, c E BĽ Aby p _L q a q G a, musí platit: uT ■ v = 0, 3 • (2 + a) - 2 • (1 + b) + (-3 + c) = 1. Vyřešením těchto rovnic získáme vektor v. Ke grafickému zobrazení využijeme balík geom3d. Vykreslovacím příkazům (draw, pointplot3d) nastavíme několik volitelných parametrů pro lepší vzhled. Bod Q zobrazíme jako zelenou tečku. Výpočet je uveden na obrázku 4.53. with(LinearÁlgebra) : with(geom3d) : rovnicejj '■= 3-x — 2 - y + z — 1 = 0: u ■= (-6, 6. 1} : v ■= {a, b, c) : P := (4,5,3): 0:= (2, 1,-3): u . v= 0 -6a + 6b + c=0 r2 ■= subs( {x = 2 + a,y = 1 + &,z = -3 + c}, rovnicejj] 3a-2fo + c=0 rej := Jořvá( [rl, r2]) : v := subs (res, v) v ■= eval(v, [a = 8 } ) point(PP, convert(P, list)) : point(QQ, convsrt(Q, list)) : line(p, [PP, convert(u, list) ]) : line(q, [QQ, convert(v, list) ]) : plane(<5, rovnicejj, [x,y, z]} : pi ■= draw{ [p, q, o], axes= frame, color= [red, blue, white], grid= [ 3,3], gridstyle = rectangular, thickness = [3,3, 1 ] ) : p2 ■= plots[pointplot3d]( [coordinates(QQ) ], symbolsize= 35, color = green) : plots[display] (pl,p2) 10 10^' Obrázek 4-53: Řešení příkladu 4.96. Příklad 4.97: V euklidovském prostoru E3 najděte rovinu, která je rovnoběžná s rovinou a:3-x — 2-y + z= l& má od ní vzdálenost 2. Znázorněte graficky. Příklad 4.98: V euklidovském prostoru Es najděte rovinu, která má od roviny a : z—1=0 odchylku 30°. Znázorněte graficky. Příklad 4.99: V euklidovském prostoru E3 najděte bod Q na přímce q : (1,-1,0)T + r • (1, —2, —3)T tak, aby jeho vzdálenost od roviny a: 2-x + y — z = —2 byla rovna \/E. Znázorněte graficky. 203 4.6 Diagonalizace matic 4.6.1 Vlastní čísla a vlastní vektory Definice 4.46: Lineárním operátorem, resp. lineární transformací, na vektorovém prostoru U nazýváme libovolné lineární zobrazení p> : U —> U. Poznámka 4.38: Spolu s lineárním operátorem budeme také uvažovat jeho matici, kterou jsme zavedli již v definici 4.16 jako matici lineárního zobrazení. Definice 4.47: Řekneme, že čtvercové matice A, B řádu n G N jsou podobné, jestliže existuje regulární matice P řádu n tak, že B = P'1 ■ A ■ P. Poznámka 4.39: Připomeňme, že v části věnované bilineárním formám jsme v definici 4.25 zavedli pojem kongruentních matic A, B, pro něž platil podobný vztah: B = PT ■ A ■ P. Definice 4.48: Nechť U je vektorový prostor nad K G {IR, C}. Nenulový vektor u E U nazveme vlastním vektorem lineárního operátoru

U, jestliže existuje číslo A G K tak, že . Definice 4.49: Nechť U je vektorový prostor nad K G {IR, C}, p> : U —>• U lineární operátor, A jeho matice, E matice jednotková stejného řádu jako matice A. Rovnice \A-X-E\ = 0 se nazývá charakteristickou rovnicí matice A, její levá strana charakteristickým polynomem. Poznámka 4.40: Vlastní čísla matice A jsou kořeny jí příslušné charakteristické rovnice. Jestliže A je vlastní číslo, pak jemu odpovídající vlastní vektor je (resp. vlastní vektory jsou) řešením rovnice A — A • E = 0. Definice 4.50: Nechť A je matice lineárního operátoru p> : U —^ U. Algebraickou násobností vlastního čísla A lineárního operátoru p> nazveme násobnost tohoto čísla jakožto kořene charakteristické rovnice matice A. Geometrickou násobností tohoto čísla nazveme dimenzi pod-prostoru Ker(ip — A • id). Poznámka 4.41: Je-li A = a + b ■ I, kde a, b G IR, / je imaginární jednotka, vlastní číslo reálné matice A řádu n G N s vlastním vektorem u = uľ + J • u2, kde u\,u2 G IRn, pak X = a — b ■ I ]e také vlastní číslo matice A a přísluší mu vlastní vektor u = uľ — I ■ u2. 204 Příklad 4.100: Nalezněte vlastní čísla a vlastní vektory lineárního operátoru s maticí A, kde '1 -1 r A = í-1 1 1 -1 -1 3, Řešeni: Nejprve načteme balík LinearAlgebra, který obsahuje všechny příkazy, jež v řešení zmíníme. K nalezení vlastních čísel a vlastních vektorů využijeme příkaz Eigenvectors. Výstupem je vektor vlastních čísel a matice obsahující po řadě vlastní vektory příslušné dříve uvedeným vlastním číslům (případně nulové vektory, pokud je geometrická násobnost vlastního čísla menší než algebraická). Pro získání charakteristického polynomu máme k dispozici příkaz CharacteristicPolynomial. Geometrickou násobnost vlastního čísla můžeme odvodit přímo z definice použitím příkazu NullSpace. Doplňme, že kdybychom chtěli znát pouze vlastní čísla (a nezajímali nás příslušné vlastní vektory), lze použít příkaz Eigenvalues. Výpočet je uveden na obrázku 4.54. with (LinearAlgebra) : 1 -1 1 -1 1 1 -1 -1 3 Eigenvectors(A) ' 2 " i -i 1' 2 0 i 1 1 i 0 1 CharacteristicPolynomial{A, X) -4 + l3 - 5 X2 + 8 X factor( % [X-\] (JL-2) E ■= MatrixCi, shape = identity) NullSpace{A - E) ' 1 1 1 NullSpace{A-2-E) 1 0 1 Obrázek 4-54-' Řešení příkladu 4.100. Příklad 4.101: Nalezněte vlastní čísla a vlastní vektory lineárního operátoru s maticí A, kde A = Řešeni: Postupujeme stejně jako v předcházejícím příkladu. Nyní získáváme komplexní (nereálná) vlastní čísla, můžeme tedy ověřit tvrzení poznámky 4.41. Výpočet je uveden na obrázku 4.55. Příklad 4.102: Nalezněte vlastní čísla, určete jejich algebraické a geometrické násobnosti, najděte příslušné vlastní vektory lineárního operátoru zadaného níže uvedenou maticí. Ověřte dále, že nalezená vlastní čísla a vlastní vektory skutečně odpovídají definici 4.48. 7 -12 6 10 -19 10 12 -24 13 a) A = 10 -19 10 , b) B 205 c) C /ll 1 1 \ 11-1-1 1-1 1 -1 \i -í-i i y d) F /3 -1 O O \ 110 0 3 0 5 -3 \4 -1 3 -1/ 4-5 7 1 -4 9 -4 0 5 Eigenveclors{A) 2+31 2-31 1 i i i CharacteristicPolynomial^A, X) -13 +13 -5l2+ 171 factor{%) (X-l) (a -43L+ 13) -(3L-2 + 3I) (-3L + 2 + 3I) (3L - l) £ := Aŕíiŕ?-re( 3. shape = identity) NullSpace{A - E) r 1 2 1 jVuHSfWftíU - (2 + 3 I) -E) 3 3 4-41 4 4 1 NuUSpace[A - (2-3 -i) -E) M' 1 Obrázek 4-55: Řešení příkladu 4.101. Postup výpočtu vlastních čísel a vlastních vektorů (uvedený v poznámce 4.40) lze v Maple projít krok po kroku díky pomocníkům, které najdeme v hlavní nabídce: Tools > Tutors > Linear Algebra. Konkrétně se jedná o položky Eigenvalues a Eigenvectors. Dalším pomocníkem v téže nabídce je EigenPlot. Tento maplet vykreslí vlastní vektory matice řádu 2 nebo 3 spolu s kružnicí, resp. koulí (podle dimenze), kterou transformuje tak, jak to činí zobrazení zadané příslušnou maticí. Standardně jsou vykreslovány též obrazy několika jednotkových vektorů. Obdobou mapletu je příkaz EigenPlot z balíku Student [LinearAlgebra], který provádí totéž až na transformaci kružnice (resp. koule). Na obrázku 4.56 je znázorněno použití příkazu jak v dvourozměrném, tak trojrozměrném případě. Provedením příkazu infolevel[Student[LinearAlgebra]] := 1: přimějeme příkaz EigenPlot navíc k numerickému výpisu vlastních čísel a vlastních vektorů. Vlastní vektory jsou zobrazovány vždy v páru od hranice kružnice, resp. koule. Poznámka 4.42: Nechť Ai,a2,...,An G IR jsou vlastní čísla (ne nutně různá) matice A řádu n a Ui,u2, ...,un G IRn jsou jim příslušné lineárně nezávislé vlastní vektory. Potom je matice A podobná diagonální matici, v níž je diagonála tvořena z vlastních čísel matice A. Poznámka 4.43: Nechť Ai, a2,An jsou navzájem různá vlastní čísla matice A řádu n. Potom jsou jim příslušné vlastní vektory Ui,u2, ...,un lineárně nezávislé. 206 with(Student[LinearAlgebra] ] 1 O A ■= 2 5 infolevel[Student[LinearAlgebra] ] := 1 : EigenPlot(A, showimagevectors= false, axes = normal) Eigenvalue: 1 Multiplicity: 1 Eigenvector: < -1, 1 > Eigenvalue: 3 Multiplicity: 1 Eigenvector: < 0, 1 > -2 -3 -4 x is an eigenvector if it is collinear with its image under left-multiplication by a square matrix A Thus, x satisfies the equations*= \ x. Shown in the figure: eigenvectors(burgundyandnavy). 1 -1 1 -1 1 1 -1 -1 3 EigenPlot(A, showimagevectors = false, axes = normal, caption = "") Eigenvalue: 1 Multiplicity: 1 Eigenvector: < 1, 1, 1 > Eigenvalue: 2 Multiplicity: 2 Eigenvectors: < 1, 0, 1 > < -1, 1, 0 > Obrázek 4-56: Grafické znázornění vlastních vektorů. Poznámku 4.42 můžeme ověřit na příkladu 4.100. Matice P z poznámky 4.47 je přitom maticí vlastních vektorů, kterou obdržíme jako výstup příkazu Eigenvectors. Jelikož je písmeno D v Maple rezervováno, označili jsme diagonální matici písmenem J - obrázek 4.57. with (L inearA Igebra) 1 -1 1 -1 1 1 -1 -1 3 C, P := Eigenvectors(A) ' 2 ' -1 1 1 ' 2 1 0 1 1 0 1 1 : DiagonalMatríx( C) 2 0 0 0 2 0 0 0 1 P'1.A.P 2 0 0 0 2 0 0 0 1 Obrázek 4-57: Ověření podobnosti matice A z příkladu 4.100 s diagonální maticí. Příklad 4.103: Dejte příklad matice řádu 4, jejíž vlastní čísla jsou 1, 2, 3,4. Příklad 4.104: Dejte příklad matice řádu 2, jejíž vlastní čísla jsou 1,2, obě geometrické násobnosti rovné jedné. 207 Příklad 4.105: Dejte příklad matice řádu 2, jejíž vlastní číslo 3 má algebraickou násobnost rovnu dvěma, ale geometrickou násobnost rovnu jedné. Příklad 4.106: Uvažujme lineární operátor zadaný maticí A ve standardní bázi. Najděte bázi, v níž má dané lineární zobrazení diagonální matici: a) A = I 1 -2 1 I , C) A = (l 0 b) A=[2 1 1|, d) /3 2 4.6.2 Ortogonální a unitární operátory Definice 4.51: Nechť U a V jsou vektorové prostory se skalárním součinem nad IR, resp. nad C, tj. jedná se o euklidovské, resp. unitární prostory. Zobrazení p> : U —> V se nazývá ortogonální, resp. unitární, jestliže pro všechna u\,u2 G U platí: (y{ux),p>{u2)) = (ííi,íí2). Poznámka 4.44: Nechť p> : U —> U je lineární operátor, a ortonormální báze prostoru U. Pak je ip ortogonální (nad IR), resp. unitární nad C, právě tehdy, když pro matici A = (íp)a platí: A-^={A)T, kde A značí matici komplexně sdruženou k A. Pro reálnou matici je A = A. Definice 4.52: Matici A splňující podmínku v poznámce 4.44 nazýváme ortogonální, resp. unitární, maticí. Vlastnosti matic jako jsou podobnost, ortogonalita nebo unitárnost můžeme v Maple testovat (ověřovat) přímo podle definice nebo k tomu využít příkazy balíku LinearAlgebra dávající standardně odpověď typu „ano/ne": IsSimilar, IsOrthogonal, IsUnitary. Poznámka 4.45: Vlastní čísla unitárního operátoru mají absolutní hodnotu 1. Vlastní vektory příslušné různým vlastním číslům jsou na sebe kolmé. Poznámka 4.46: Každá ortogonální matice řádu 3 reprezentuje otočení kolem osy určené vlastním vektorem k vlastnímu číslu +1 nebo —1. Toto otočení je případně složené se symetrií podle roviny kolmé k této ose procházející počátkem. Matice má tedy alespoň jedno vlastní číslo rovné ±1 s odpovídajícím vlastním vektorem v. Zbylá dvě vlastní čísla můžeme obecně psát ve tvaru cos(a) + J-sin(Qí) a cos(a) — J-sin(oí), kde I je imaginární jednotka a a G [0,2 • 7r]. Nechť těmto vlastním číslům odpovídají vlastní vektory u\ + I ■ u2 a u\ — I ■ u2. Jestliže nyní přejdeme k bázi {v,ui,u2}, bude mít ortogonální matice tvar: /±1 0 0 I 0 cos(a) — sin(a) y 0 sin(oí) cos(a) 208 přičemž a představuje úhel otočení kolem osy určené vektorem v. Pokud je jemu odpovídající vlastní číslo rovno —1, pak je otočení složené s reflexí podle roviny tvořené vektory Ui,u2. Příklad 4.107: Určete, jakou geometrickou transformaci reprezentuje zobrazení dané maticí (ve standardní bázi): '2 2 -1N 2-12 -12 2 3 Řešení: Nejprve se příkazem IsOrthogonal přesvědčíme, že A je ortogonální matice. Následně určíme vlastní čísla a vlastní vektory příkazem Eigenvectors. Matici vlastních vektorů uložíme do proměnné P. V bázi složené z vlastních vektorů má dané zobrazení matici J, v níž jsme však „přeskládali" vlastní čísla tak, aby její tvar odpovídal matici v poznámce 4.46. Přestože je na první pohled zřejmé, jakou transformaci J provádí, můžeme se příkazem solve přesvědčit, že úhel otočení a kolem osy dané vlastním vektorem (1, —2,1)T, který odpovídá vlastnímu číslu —1, je roven 0. Tj. k žádné rotaci nedochází. Vzhledem k vlastnímu číslu — 1 tak dochází „pouze" k reflexi podle roviny určené zbylými vlastními vektory: (—1,0,1)T a (2,1, 0)T. Výpočet je uveden na obrázku 4.54. V systému Maple můžeme řešení znázornit též graficky pomocí balíku geom3d. Uvažujme proto trojúhelník T zadaný body TI = [2, 2, 2], T2 = [3,4, 3] a T3 = [—2,4, 2]. Určíme obrazy bodů TI, T2, T3 (tak, že je převedeme na vektory tl, t2, £3 a vypočteme jejich obrazy ql, q2, q3) a označíme je Ql, Q2, Q3. Dostaneme tedy trojúhelník Q jako obraz trojúhelníku T v zobrazení daném maticí A. Nakonec vykreslíme osu otáčení modře, trojúhelník T zeleně, trojúhelník Q červeně a rovinu tvořenou vektory (—1, 0,1)T a (2,1, 0)T černě. Z obrázku 4.59 je vidět, že se skutečně jedná pouze o reflexi podle zmíněné roviny. with (L in ear A Igebra) : 2 2-1 2-12 -12 2 IsOrthogonal (A) true C, P ■= Eigenvectors(A) 1 " -1 2 1 ' 1 0 1 -2 -1 1 0 1 J ■= DiagonalMatrix( [-1.1.1]) -10 0 0 1 0 0 0 1 solve( [cos(a) = 1, sin(a) = 0]) {«=0} Obrázek 4-58: Řešení příkladu 4.107. Příklad 4.108: Určete, jakou geometrickou transformaci reprezentuje zobrazení dané maticí (ve standardní bázi): Řešeni: Řešíme analogicky předchozímu příkladu. Vlastní vektory vypočtené příkazem Eigenvectors nejsou tentokrát v nej jednodušším tvaru, a proto na ně aplikujeme další 209 with{geom3d) : draw{ [ T, Q, l, Cí], axes= normal, color = [green, red, blue. line[l, [pomt{S, [0, 0,0]), [1,-2,1]]) : black],view= [ -3 ..5,-2 ..5,-2 ..5], labels= [V, "y", "z"]) pomt{Tl,2,2,2),pomt{T2, 3,4, 3), point(T3,-2, 4, 2) : triangle{T, [T1,T2,T3]) : \ r II (1 ..3 ) := seq{ Vector{coordinates( \ ľ||í)),i=l -3) : q II (1 ..3) := seq( convert (A . t \\ i, list). i=l..3): triangle(Q. [seq(point(Q \\ i,q || ;). i=1..3)]): i *......JWl ' 1 linear, [S1. [-1,0, 1]]) : lme[s, [S, [2,1,0]]) : plane{c, [r, s]) : Obrázek 4-59: Grafické zobrazení řešení příkladu 4.107. ■with (LmearAlgebra) 2-12 2 2-1 -12 2 IsOrthogonal (A) true C, P ■= Eigenvectors(A) 1 1 1 FT!rif)( i-> expand( rationalize (x)). P) 2 2 v 2 v 2 1 J := DiagonalMatrix{ C) 1 0 J7: 0 0 C[l] 0 o 0 Re(C[2]) -Im(C[2] 0 Im(C[2]) Re(C[2]) 1 0 0 o cos(oc) = 1 ■ ( \ i Obrázek 4-60: Řešení příkladu 4.108. zjednodušující příkazy rationalize pro rozšíření zlomku a expand pro roznásobení. Dvě z vlastních čísel nejsou reálné, a proto je rozdělíme na reálnou a imaginární část. V bázi „upravených" vlastních vektorů má matice zobrazení tvar J2. Nakonec určíme úhel rotace a. Výpočet je uveden na obrázku 4.54. Stejně jako v přecházejícím příkladu můžeme řešení znázornit graficky pomocí balíku geom3d. K demonstraci rotace přitom využijeme tentýž trojúhelník T jako dříve - obrázek 4.61. 210 wäh[geom3d) : line[l, [point[S, [0, 0,0]), [1, 1,1]]) : point(Tl,2,2,2),point(T2, 3,4, 3), poínt[T3,-2,4,2) : triangle(T, [T1,T2,T3]) : draw{ [ T, Q, í], axer = normal, color= [green, red, blue], view = [ -3 ..5,-2 ..5,-2 ..5], Ja6e& = ["x", "y", "z']) tII (1 ..3 ) := seq{ Vector{coordmates{ T\\i)),i=\ ..3) : q 11 (1 ..3 ) := seq(convert(A .t\\i, list), i=l. .3): -J J z -1 triangle( Q, [seq(point( Q\\ i, q\\i), í=1..3)]): y Obrázek 4-61: Grafické zobrazení řešení příkladu 4.108. Příklad 4.109: Určete, jakou geometrickou transformaci reprezentuje zobrazení dané ticí (ve standardní bázi): a) A = | • f 1 1 y/2), c) A = l b) A = i • 6 3 -2 , d) A = i 211 5 Chyby V této kapitole si ukážeme nejčastéjší chyby při práci se systémem Maple. 5.1 Chybové zprávy (Error Messages) 5.1.1 Mat h mode / Text mode Jednou z prvních chyb, kterých se uživatelé často dopouštějí, je nevěnování dostatečné pozornosti příkazovému (matematickému) a textovému režimu. Příkazový (matematický) režim (Math mode) slouží k zápisu příkazů. Po kliknutí na klávesu Enter dojde k jeho vyhodnocení. Textový režim slouží k zápisu obyčejného textu. Po kliknutí na klávesu Enter se „pouze" přesuneme na nový řádek. Častá a někdy těžko odhalitelná chyba je „smíchání" těchto dvou režimů při zápisu příkazu, kdy zpravidla získáváme chybné výsledky. To, jestli je celý příkaz zapsaný v příkazovém (matematickém) režimu, můžeme poznat z fontu písma (ale nemusí tomu tak nutně být). Nejjistěji to poznáme umístěním kurzoru na příkaz, kdy se objeví (naneštěstí slabě viditelný) šedý obdélník tvořený přerušovanou čárou vymezující znaky zapsané v příkazovém (matematickém) režimu - viz obrázek 5.1. U příkazů na druhém řádku je vždy umístěn kurzor před číslicí 2. Můžeme si tedy všimnout zmíněného přerušovaného obdélníku, který v prvním případě (vlevo) zahrnuje pouze číslici 2. Příkazy na prvním řádku byly vytvořeny obdobně. Chybně zadané příkazy (na první pohled není poznat rozdíl), Správně. 15+20 15+20 20 35 fsin^yj -cos(jr) + |2J 2 1 Obrázek 5.1: Chyby v použití matematického a textového režimu. 5.1.2 Chybné argumenty příkazů Další velmi častou chybou (ne-li nej častější) je špatné zadání argumentů příkazů. Každý příkaz má definované použití. Vždy mu musíme nastavit povinné argumenty, můžeme přidat volitelné (charakterizované slovíčkem optional). Argumenty musí být zadány vždy v takovém tvaru, jaký je předepsaný. Informace o tom, jak daný příkaz použít, jak specifikovat argumenty příkazu, které argumenty jsou povinné a které volitelné, nalezneme v nápovědě 212 systému Maple k příslušnému příkazu. Následuje přehled chybových zpráv, které Maple při špatném zadání argumentů vypisuje. Chybne Správně sin([5]) Error,, invalid input: sin sin (5) sin (5) expects its 1st araument, xr to be of type alqebraic, but received. T51 LinearAlgebra[Eigenvalues] (2) Error,, fin LinearAlaebra:- L inearA Igsbra [ Eigenvalues ] ({{1, 4) | {4, 1))) 5 1 -3 Eiaenvalues) invalid input: LinearAlaebra:-Eiqenvalues expects its 1st araument, Ar to be of type Matrix(square) but received 2 solve( 5-x — 7 -y = - 9, 3 ■ x + j = 5) Error, invalid input: too many solvs{{Sx — 7-j = -9, 3-jc+jj=5}) {x=l,y = 2} and/or wrona type of arauments passed to solve; first unused arqument is 3*x+y = 5 simplify{\>c-y\, {x > G,y=0}) Error, fin unknown) invalid simplijy^x-^ {y=Q}) 0 input: numer expects its 1st arqument, xr to be of type Hist,. set, alaebraic>r but received 0 < x Obrázek 5.2: Ve všech případech si Maple stěžuje na špatný vstup. Nejprve je příkazu sin zadán seznam, kdežto Maple očekává algebraickou hodnotu. Argumentem příkazu Eigenvalues má být čtvercová matice (nikoli reálné číslo). Příkazu solve jsou v chybné variantě zadány dvě rovnice jako dva parametry, příkaz však očekává, že v případě více rovnic budou tyto zadány v jediném parametru jako seznam (resp. množina). Nakonec příkaz simplify neakceptuje nerovnosti jako dodatečná omezení. Chybne roots(sin(x)) Error, fin roots) argument must be a polynomial over an algebraic number field roots (x) Správně [[0,1]] convert (x-by . parfrac convert Error, fin convert/parirac) the variable name [for conversion to partial fractions) must be provided (x-by -.parfrac, x 1 +^ x~h ' {x-by Obrázek 5.3: Příkaz roots očekává jako argument polynom nad číselným tělesem, což sin(x) není. Příkaz convert vyžaduje uvedení jména proměnné, pokud upravovaný výraz obsahuje více neznámých. 213 Chybne Správne simplijy{ \x-y\,x = 0) Error, (in simplify/do) invalid simplify{\x-y\, {x=0}) 0 simplification command. simplijy{ \x-y\, assitme = x) Error, (in assumincr) when callina simplify{ \x-y\, assums(x = 0) ) 0 'assume1. Received: "last obiect. xr has no property1 Obrázek 5.4-' Chybné zápisy omezujících podmínek pro příkaz simplify spolu s jejich správnými variantami. 5.1.3 Nesprávné použití závorek V systému Maple můžeme používat všechny typy závorek, každý typ má však jiný význam a tedy jiné použití. Navíc je třeba dávat pozor na počet levých (otevírajících) a počet pravých (uzavírajících) závorek. Vždy, když se tyto počty nerovnají, systém vypíše chybovou zprávu Error, unable to match delimiters (obrázek 5.5). Chybně zadané příkazy. Správně. 1. 3)A2 Error, unable to match. delimiters 1. 3A2 9 2. 2- (3 - 1( +4) Error, unable to match delimiters 2. 2- (3-l( +4)) a - [3 - i[ + 4ji 3 3. {sin(.v- (x + 1)), cos(_y- (x + 1)), tan(.v- (x + 1)} Error, unable to match delimiters 3. {sin(.v- (x + 1)), cos(.v- (x + 1) ),tan(jc- (x + 1))} :{sin[x-£x+ lj), cos[x-£x + lj), tan[x-£x+ 1)}; {cos(jí (x + 1)), sin(jt [x + 1)). tan(jt 4, cos(jl} Error, unable to match delimiters jcos(tc]: 4. cos(lt) -1 5. cos(jr] Error. invalid interval 5, cos(jt) -1 Obrázek 5.5: Chyby v používání závorek. 5.1.4 Nesprávné přiřazení Systém Maple disponuje tzv. systémovými proměnnými a příkazy. Jejich názvy jsou chráněné, tj. do chráněných proměnných není možné přiřazovat jiný typ hodnot, než pro který jsou určeny, a názvy příkazů není možné používat jinak než jako příkazy s definovaným použitím (tj. není možné si např. vytvořit proměnnou se stejným názvem jako některý z příkazů). To, jestli je nějaký název chráněný či nikoliv, je možné zjistit příkazem type majícím dva argumenty: název (jméno), u nějž chceme zjistit, zda je chráněný, a argument protected (který už se nenastavuje na žádnou hodnotu) - viz obrázek 5.6. 214 Chybně zadané příkazy. Správně. 1. Digits '■= ů Error, invalid assianment to Diaits 1. Digits := 15 15 2. solve '■= 3 Error, attemptinq to assian to "solve" 2. type(solve,protected) true which is protected 3. int := 5 Error, attemptinq to assian to "int* 3. type(int,protected) true which is protected Obrázek 5.6: Chyby v přiřazování hodnot do proměnných. 5.1.5 Dělení nulou Když se při úpravě zadaného výrazu (příkazu) dostane Maple do situace, kdy má dělit nulou, vypíše zprávu Error, numeric exception: division by zero. Tato situace se může přihodit i u výrazů (příkazů), u nichž to neočekáváme (např. u funkce ln) - obrázek 5.7. -(f)...... Error, (in tan) numeric exception: division by zero ln(0) Error, fin ln) numeric exception: division by zero 2 1 ■ 1 a ~ 1 a := 1 : -— a — 1 Error, numeric exception: division by zero Obrázek 5.7: Vyhodnocení výrazu, v němž se dělí nulou. 5.1.6 Nesprávný zápis mocnin Některé chybové zprávy při práci s mocninami nabízí obrázek 5.8. 5.1.7 Nesprávné použití objektů V systému Maple můžeme narazit také na chybovou zprávu Error, illegal use of an object as a name. Ta se objeví vždy, když použijeme nějaký objekt, který není jménem, na místě, kde systém jméno očekává. Význam chyby bude nejlépe patrný z obrázku 5.9. 5.1.8 Nesprávné definice a použití funkcí Různých chyb se můžeme dopustit i při definici a použití funkce (obrázek 5.10). 215 Chybně zadané příkazy Správně. Chybí základ mocniny. 1. A2 Error, invalid power 1. 3A2 9 Špatně uvedený základ, který chceme umocňovat (je tam navíc čárka). 2. 3,A2 Error, invalid power 2. 3A2 9 V exponentu není možné použit <. 3. 3A( < 2) Brror. invalid <= 3. 3A2 9 Za písmenem b je mezera, chybí tak základ mocniny. 4.í> ~x Error, invalid base 4.b~x iM Obrázek 5.8: Nesprávný zápis mocnin. Chybně zadané příkazy, Správne, 1. [a, b] := [5, 6] 1. a, b ■= 5,6 Error, illeqal use of an obiect as a name 5, 6 i*, b] : Písmeno (velké) I je vyhrazeno pro imaginární jednotku. 2. seq(LI= 1 ..5) 2. seq(L i= 1 .5) Error, illeqal use of an obiect as a name 1,2,3,4,5 3. J:=2 3. J:= 2 Error, illeqal use of an obiect as a name 2 = 2; Obrázek 5.9: Nesprávné použití objektů. Chybně zadané příkazy. Správně. 2 1. f-= X »X 1. f'-= x—±x Error, invalid operator parameter name 2 x * x 2. f(x) ■= x—*x~ x^x^xA2 2. f (x) :=x2 2 x^x 3.f:=3->x Error, invalid operator parameter name 3.f:=x^3 x—>-3 /:=3->Jtj Error, invalid function arguments g{x,y) Obrázek 5.10: Nesprávné definice a použití funkcí. 216 5.1.9 Chyby při vykreslování Následují chyby vyskytující se při vykreslování. Jako u každého příkazu musíme dbát na správně uvedené argumenty i u příkazů pro vykreslování funkcí a výrazů. Chyby uvedené na obrázku 5.11 jsou způsobeny především nesprávně uvedeným rozsahem proměnné x. Chybně zadané příkazy. 1. plot(x,x = 2.5) Error, fin plot) unexpected option: x = 2.5 2. plot(x,x = 2 ..a) Error, fin plot) expecting a real constant as range endpoint but received a 3./(i) ■=x:plot[f,x = 2..5) Error, fin plot) expected a range but received x = 2 .. 5 4. f(x) :=x:plot(f{x),2 ..5) Errorr fin plot) procedure expectedr as range contains no plotting variable Správne. 1, ptot[x,x = 2 ..5) Ji 4 2. plot(x,x=2 ..5 x: plot(f(x 5 A. f{x) :=x:plot(f,2..5) Obrázek 5.11: Chyby při vykreslování. 5.1.10 Další chybové zprávy Závěrem chybových zpráv ukažme ještě tři časté chybové zprávy, obrázek 5.12. 217 Chybně zadané příkazy. Správně. 1. collect^ — 5 x + 2 -x-y, 2) Error, fin collect) cannot collect 2 1. collect^ — 5-x + 2-x-y, x) x + (-5+2y)x 2.f:=2x 2x g[x) ■= unapply(f,x) x—>tmapply(f,x) g[2) Error, fin unapply) variables must be 2f:=2-x 2x g := unapply(f,x) x—*2x g{2) 4 unique and of type name 3. í í áxáy Error, fin int) intearation ranae or 3. í í 1 dx dy 1 variable must be provided Obrázek 5.12: Další chybové zprávy. 5.2 Varování (Warnings) Kromě chybových zpráv vypisuje systém ještě tzv. varování. Varování může signalizovat naši chybu (v zápisu příkazu), ale zpravidla informuje o důvodech, proč nemůže systém zadaný příkaz vyhodnotit (někdy jej přesto vyhodnotí). Při výpisu varování s textem Warning, solutions may have been lost je nutné přeformulovat problém (zapsat příkaz jinak, neboť jej Maple nedokáže vyhodnotit). Ne vždy je toto možné. Zpravidla můžeme jinou formulací problému dosáhnout alespoň „nějakých zlepšení". Varováni. 1. V=\ I 1 1 dy dx Warning, unable to determine if 0 is between 1/x and x," try to use assumptions or use the Al 15 olut i□ns opti on dx 1 Warningr unable to determine if a is between 1 and b; try to use assumptions or use the AllSolutions option b -d.t 3. solve{ún[x-y) < 0} Warning, solutions may have been lost Řešení. 1. assume[x > 0) : V- dvdx V=- 2. assums{ a < 1 < b) : 1 dx x — a -ln(l -a~) +ln(6--a- 3. solv3(sm(z) < 0) RealRange( Open( -Jt), Open( 0) Obrázek 5.13: Varování. 218 Varováni. Řešení. plot{a-x,x = 1 .3) a •■= 2 :plot(ax^x= 1 Warnintr, expectintr only rancre variable x. in expression awx to t>e ulotted t>ut found name a 10 3 5 4 0 1.3 2 2 J 3 3 -5 2 1.3 2 2.3 3 -10 Obrázek 5.14-' Varování po spuštění příkazu plot. 5.3 Ostatní chyby Podkapitola ukazuje několik častých chyb, které však nevyvolávají chybové zprávy ani varování. 5.3.1 Nenačtení balíku (knihovny) Chybně Správně 1. divisors {50) divisors(50) 1. n um theory [ divisors ] (5 0) {1,2,5,10,25,50} neba with{numtheory) : divisors(50) {1,2, 5, 10,25, 50} 2. ArcLength( [cos(jí), sin(.v) ].x = 0 ..K) ArcLength( [cos(jí), sin(jc) ],x= 0 ..jc) 2. Student[Calculusl][ArcLength]( [cos(x), sin(x)],x= 0 .Ji) 71 nebo with {Student[ Calculus 1 ]) : ArcLength( [cos(x), sin(.v) ],x— 0 ..K) Obrázek 5.15: Při nenačtení potřebného balíku (knihovny) se příkaz pouze „přepíše" na následující řádek. 5.3.2 Nesprávné používání některých symbolů Maple je tzv. case sensitive, tj. záleží na velikosti písmen. Navíc např. pro Eulerovo číslo je vyhrazen speciální symbol různý od písmene e psaného na klávesnici počítače. 219 Chybně Správně 1. sin(pi) sin(jt) sin(K) 0 2. ln(/} ln(/) 2. ln(e2) 2 3. 1 + í 1 - i 1 +i 1 - i 3. 1+1 1 -I I Obrázek 5.16: Nesprávné používání některých symbolů. 220 6 Návody k řešení příkladů 6.1 Uvod do systému Maple Příklad 1.2: Pro vložení zadaného výrazu potřebujeme: sumační symbol a symbol nekonečna. Sumační symbol nalezneme v paletě Expression, symbol nekonečna v paletě Common Symbols. Zlomek můžeme buď vzít také z palety Expression, nebo jej zapíšeme ručně pomocí lomítka. Příklad 1.3: Potřebujeme vložit zlomek a mocninu (resp. exponent). Obojí najdeme v paletě Expression. Můžeme také použít lomítko a „stříšku". Příklad 1.4: Opět využijeme již dříve zmíněných palet. Pozor však na vkládání Eulerova čísla. To je nutné vzít z palety (resp. použít příkaz exp). Zapsané písmeno e z klávesnice Maple bere jako „obyčejné" písmeno (proměnnou) e. Příklad 1.6: K zadání výrazu potřebujeme příkaz sqrt pro vložení odmocniny a příkaz exp pro vložení Eulerova čísla. Příkaz má jeden parametr, kterým je exponent Eulerova čísla (tj. pro Eulerovo číslo samotné zadáváme exp(l)). Vložit Eulerovo číslo je možné též zapsáním písmene e, vyvoláním funkce automatického dokončování a zvolením položky Exponential 'e'. Příklad 1.7: Nejrychlejší způsob je zadat do dokumentu ?sum, případně zadat sum, umístit kurzor na příkaz a stisknout klávesu F2. Příklad 1.8: Je několik způsobů, jak to zjistit. Zřejmě nejrychlejší je vyhledávat v nápovědě klíčová slova matrix a vector, případně Linear Algebra. Příklad 1.10: Pozor na rozdíl mezi počtem platných cifer a počtem desetinných míst. Příklad 1.11: Když zapíšíme nějaké číslo s desetinnou tečkou, Maple jej automaticky bude brát jako číslo v pohyblivé řádové čárce a výpočty s ním bude zaokrouhlovat na počet platných míst specifikovaný proměnnou Digits. Příklad 1.13: Použijeme příkaz isolve. Příklad 1.14: Použijeme příkaz isolve. Systém Maple vypíše řešení s použitím konstant, které jsou přirozenými čísly (bez nuly). Správně však mají být použity nezáporné celočíselné konstanty. Příklad 1.16: Řešíme jako soustavu nerovnic příkazem solve. 221 Příklad 1.17: Použijeme příkaz solve. Pro a = 0 bychom dostali lineární polynom. Příklad 1.18: Řešíme opět příkazem solve. Pozor, daná rovnice má nekonečně mnoho řešení. Příklad 1.19: Řešíme jako soustavu rovnic příkazem solve. 6.2 Matematická analýza s Maple v R Příklad 2.3: Použijeme zavedení předpokladu: assuming. Příklad 2.4: Použijeme příkaz simplif y. Příklad 2.5: Použijeme příkaz simplif y. Příklad 2.6: Použijeme příkaz f actor. Příklad 2.7: Použijeme příkaz simplif y. Příklad 2.8: Využijeme příkazů simplify, f actor a convert. Příklad 2.12: Pro všechna x G M platí: sin(x) G [—1,1]. Příklad 2.13: Platí: f(x) = x2_lx+e a f{-x) = x2+lx+6- Z toho máme: f(x) / f(-x), f(x) Ý - f{-x) a tedy funkce není sudá, ani lichá. Ď(f) = R\ {2,3}, H(f) = R\ (-4,0]. Obor hodnot určíme z toho, že polynom x2 — 5 • x + 6 nabývá všech kladných hodnot (a proto musí i funkce f{x)). Zmíněný polynom nabývá též záporných hodnot, a to na intervalu (2, 3), přičemž tu nejmenší přesně uprostřed intervalu, tj. v bodě x = |. Funkce f(x) v tomto bodě naopak nabývá své nejvyšší hodnoty na intervalu (2,3), a to hodnoty —4. Z předešlého plyne, že funkce není ohraničená. Příklad 2.14: (a) f(x)=9-x2,f(-x) (b) fi.r) yj./i .ri (c) f(x) = i,f(-x) = ^ Příklad 2.15: (a) f[x) = 2-x, kde x G (0,1), (b) f {x) = ^, (c) f(x) = i + l, (d) f (x) = e\ (e) /(*)4* + 2 - X'-2 K J JK J |x - 2 ... x > 2 = 9 — x2 = f (x) sudá funkce, \J—x =>■ ani sudá, ani lichá, ■ = —f(x) =^ lichá funkce. x - 2 ... x < 0 (f) f (x) = {2 ... 0 < x < 1. x + 1 ... x > 1 (g) f (x) = arctan(i-), (h) f (x) - ln(—rr) ... x < 0 ln(rr) ... x > 0 222 Příklad 2.16: f(x) = x3 — k ■ x2 + 2 • x, f(—x) = —(x3 + k ■ x2 + 2 • x). Z toho dostáváme: k = -k = 0. Příklad 2.17: (a) Pro a ^ 0 se jedná o bijekci. (b) Ano, je to bijekce. (c) Nejedná se o bijekci, funkce není prostá. (d) Ano, je to bijekce. (e) Ano, je to bijekce. Příklad 2.19: (a) f-\x) 2 ' (X (b) r\x) = y/ž, (C) r\x) _ x—1 ~ x+1' (d) r\x) = (1-- (e) f-\x) _ 1 X ' (f) zadaná funkce není prostá (a nemá tak inverzi). Příklad 2.20: Každá funkce osově symetrická vzhledem k přímce y = x je sama sobě inverzí. To znamená, že jich je dokonce nekonečně mnoho. Příklad 2.22: g^1(x) = | • ln(rr). Legendu můžeme do grafu přidat nastavením parametru legend příkazu plot nebo kliknutím na graf a výběrem z kontextové nabídky. Příklad 2.23: Použijeme příkaz animate. Funkce h(x) je klesající pro a < 0, rostoucí pro a > 0 a konstantní pro a = 0. Příklad 2.25: Vycházíme z definice 2.8, pouze se nyní přibližujeme k bodu xq zprava, tj. uvažujeme interval (x0,Xq + ô). Příklad 2.26: Vyjdeme z definic 2.9 a 2.10. Uvažujeme bod oo (resp. — oo) a chceme popsat stav, kdy pro libovolně „vysokou" (resp. „nízkou") hodnotu M existuje hranice, nad níž (resp. pod níž) pro všechna x platí, že funkční hodnota f(x) je větší (resp. menší) než ona původně (libovolně) zvolená hodnota M. Příklad 2.27: Maple zvládne určit všechny limity. Postupujeme tedy klasicky využitím symbolu pro počítání limit z palety, kontextové nabídky nebo příkazu limit. Příklad 2.28: (a) Zavedeme substituci y = x3. 223 (b) Využijeme vzorce cos(x) = cos(|)2 — sin(|)2. (c) Rozšíříme výrazem \/x2 + 5 + 3. (d) Rozšíříme výrazem ^ a uvědomíme si, že pro x —> — oo je x = — \fx2. (e) Zadaný zlomek rozložíme na součet dvou zlomků a zavedeme substituci u = —x. Dalšími drobnými úpravami umíme rozhodnout, kam se který výraz (zlomek) limitně blíží pro u —> oo. (f) Využijeme vzorce sin(2 • t) = 2 • sin(í) • cos(í) a platnosti lim ÍSSM = j D->0 X Příklad 2.29: (a) Stačí dát příklad takřka jakékoli „rozumné" funkce definované na nějakém neprázdném intervalu - viz definice 2.7. (b) Vycházíme z 2.10. Je třeba dát příklad funkce f(x), jejíž hodnoty se blíží nějakému konečnému číslu pro x —> oo (resp. x —y — oo). Mohla by něco takového splňovat nějaká polynomiální, mocninná, exponenciální, či goniometrická funkce? (c) Takřka „opačný" případ k předešlému. Hledáme funkci f(x), která pro nějaké konečně velké x „roste nade všechny meze" (resp. „klesá pod všechny meze"). Mohla by něco takového splňovat nějaká polynomiální, mocninná, exponenciální, či goniometrická funkce? (d) Nyní chceme najít funkci f(x), jejíž hodnoty se blíží oo (resp. —oo) pro x —> oo (resp. x —> — oo). Opět je na místě stejná otázka: splňuje toto nějaká polynomiální, mocninná, exponenciální, či goniometrická funkce? (e) Musíme spojit všechny předešlé body. Na bod (a) můžeme zapomenout. Pokud splníme všechny ostatní, bude splněna i tato podmínka. Jedno možné řešení je najít funkci splňující (b) a (d) - takovou funkci jste již možná dokonce našli - a zkombinovat ji (tj. např. vynásobit) s funkcí splňující bod (c). Příklad 2.31: (a) Musíme se obejít bez systému Maple, jelikož příkaz discont neumí hledat nespojitosti u funkcí definovaných po částech. Podezřelé body z nepojitosti jsou body 1 a 2. Musíme ověřit, zda v nich existuje limita a zda je rovna příslušné funkční hodnotě. (b) V tomto případě příkaz discont pracuje bezchybně. (c) Opět se musíme obejít bez systému Maple. Postupujeme analogicky k řešení příkladu 2.30. Příklad 2.32: Postupujeme analogicky k řešení příkladu 2.30. Hledání čísel c a, d vede na soustavu dvou rovnic. Příklad 2.33: Jsou dvě hlavní možnosti, jak postupovat. Buď vzít známou funkci, která není spojitá, ale víme, že má limitu v každém bodě (na daném intervalu), nebo vzít funkci spojitou (ta má limitu v každém bodě) a nespojitost „vytvořit", aniž bychom porušili existenci limity. 224 Příklad 2.34: Systém Maple zvládne určit všechny derivace. Ke správné odpovědi je nutné porozumět výpisu systému v případě (b). Symbol d tu značí diferenciální operátor. Příklad 2.35: Je třeba najít spojitou funkci f(x), pro niž by v nějakém bodě xq neexistovala limita z definice 2.14: lim ÍÍELzĽEäl^ k tomu, aby tato limita neexistovala, stačí, aby se x—>xo " x° nerovnaly limity zleva a zprava, tedy aby platilo: lim f(x°) \[m /M f(xo) ^ J J 7 j j r- _ x — xn i i x—xn X^řXQ u X—>XQ + u musí vypadat funkce splňující předchozí nerovnost? Když najdeme právě popsanou funkci, je již jednoduché např. definováním po částech vytvořit funkci, která bude mít na daném intervalu libovolný počet (a tedy i např. rovný dvěma) bodů, v nichž bude funkce spojitá, ale nebude v nich mít derivaci. Příklad 2.36: Z poznámky 2.4 víme, že směrnice tečny je rovna derivaci funkce v příslušném bodě. V rovnici tečny tak zbývá určit pouze konstantní člen, jehož hodnotu zjistíme z toho, že tečna má s funkcí jeden společný bod. Příklad 2.37: Jelikož má být tečna rovnoběžná s nějakou přímkou, musí mít stejnou směrnici. Tedy pokud y = k-x+qje rovnicí tečny k funkci f(x) v bodě xq, pak musí platit k = f'(xo) = 12 (neboť 12 je směrnice rovnoběžné přímky). Jelikož f'(x0) = 3 -Xq2, dostáváme dva různé body Xq a tedy dvě tečny. Příklad 2.38: Řešíme obdobně jako předchozí příklad. Směrnice zadané přímky je rovna —|. My potřebujeme nyní směrnici kolmice. K tomu využijeme lineární algebry, odkud víme, že dva vektory jsou na sebe kolmé, jestliže je jejich skalární součin roven 0. Máme-li přímky y = k- xay = l-x, pak tyto jsou na sebe kolmé, jestliže 1 + k ■ l = 0. Z toho dostáváme, že směrnice hledané kolmice je rovna 3, což je tedy směrnice tečny. Tedy pokud y = k ■ x + g je rovnicí tečny k funkci f (x) v bodě xq, pak musí platit k = f'(xo) = 3. Jelikož f'(xo) = 3-xq2, dostáváme opět dva různé body xq a tedy dvě tečny. Příklad 2.40: f(x) = y/x, x0 = 49, h = 2. Příklad 2.41: f(x) = ^,x0 = 125, h = -2. Příklad 2.42: f(x) = x4,x0 = 3,h = -0.05. Příklad 2.43: Použijeme příkaz taylor pro bod x = 0 a získaný výsledek převedeme na polynom příkazem convert. Příklad 2.44: Použijeme příkaz taylor pro bod x = 1. Proměnnou Order nastavíme na hodnotu 5 a získaný výsledek převedeme na polynom příkazem convert. Příklad 2.45: Použijeme příkaz taylor pro bod x = 2. Příklad 2.47: Postupujeme analogicky k příkladu 2.46. (a) Uvažujeme funkci ex, kterou rozvineme do Taylorova polynomu v bodě x0 = 0, a hledáme aproximaci v bodě x = — 1. Stejným postupem jako v příkladu 2.46 dospějeme k tomu, že je pro požadovanou přesnost potřeba nastavit proměnnou Order na hodnotu 7. 225 (b) Uvažujeme funkci ^/x, kterou rozvineme do Taylorova polynomu v bodě xq = 243, a hledáme aproximaci v bodě x = 250. Nyní musíme k odhadu velikosti Taylorova zbytku použít poznámku 2.7, neboť x0 ^ 0. Tvar zbytku je pak nejjednodušší vyhodnocovat postupně pro n = 1,2,..., neboť Maple neumí vyřešit příslušnou nerovnici. Dostatečné n v tomto případě: n = 2. Příklad 2.50: (a) Funkce / má tři stacionární body, z nichž jediný je lokální extrém, další dva jsou body inflexní. Funkce nemá žádnou asymptotu. (b) Funkce / má dva stacionární body, oba jsou lokálními extrémy. Funkce má dále tři inflexní body. Funkce není definována ve dvou bodech, v nichž má asymptoty bez směrnice. Asymptoty se směrnicí neexistují. Aby Maple tento příklad správně vyřešil, je potřeba načíst balík RealDomain. (c) Funkce má dva stacionární body, z nichž jeden je lokální extrém, druhý je inflexním bodem. Funkce není definována v jediném bodě, v němž má asymptotu bez směrnice. Funkce má také asymptotu se směrnicí. (d) Funkce má nekonečně mnoho stacionárních bodů (na zjištění tohoto v Maple je třeba použít atribut allsolutions), všechny jsou však inflexními body. Funkce má i další inflexní body (vždy uprostřed intervalu tvořeného stacionárními body). Funkce nemá asymptotu bez směrnice ani asymptotu se směrnicí. Opět pozor na výpočet systému Maple - při počítání limit v některých případech vypisuje interval jako hodnotu limity (limita však neexistuje). (e) Zásadní otázka v tomto příkladu je, zda je funkce f(x) spojitá v bodě 0. Funkce má tři stacionární body a všechny jsou jejími lokálními extrémy. Funkce má dále dva inflexní body a žádnou asymptotu (bez směrnice či se směrnicí). Příklad 2.54: (a) Stačí rozložit na dva zlomky a určit přímo ze znalosti „tabulkových" integrálů. (b) Výraz pod odmocninou je možné upravit tak, aby se dala odmocnina odstranit (aplikovat). Poté už se výsledek určí podobně jako v předchozím případě. (c) Po roznásobení je možné integrovat každý člen zvlášť. (d) Rozklad na parciální zlomky. (e) Opět rozklad na parciální zlomky. V tomto případě je však výrazně pracnější než předchozí, neboť jeden ze získaných parciálních zlomků je třeba dále upravit (rozložit), abychom integrací získali přirozený logaritmus. Tím se nám však objeví další zlomek, u nějž je třeba rozpoznat, že připomíná derivaci funkce arkus tangens (arctan), jen je potřeba zlomek opět upravit do vhodného tvaru. (f) Zavedeme substituci t = 5 • x + 6. (g) Zavedeme substituci t = ln(rr). (h) Zavedeme substituci t = x2 + 1. 226 (i) Řešíme metodou per partes, přičemž funkce, kterou budeme chtít derivovat, bude funkce x. Maple při použití příkazu Parts využije znalosti f cos2(x) dx = | • cos(x) • sin(rr) + \ • x, k čemuž dospějeme užitím vztahu cos2( x) = —cof ' . Integrál získaný metodou per partes je třeba rozložit a na jeden z nich použít substituční metodu. (j) Řešíme metodou per partes. Funkcí, kterou budeme derivovat, je funkce ln(rr). (k) Řešíme opět metodou per partes. Funkci arctan(rr) si zapíšeme jako arctan(rr) • 1 a právě samotná funkce arctan(rr) bude ta, kterou budeme derivovat. (1) Řešíme nejprve substituční metodou položením t = x2. Následně použijeme metodu per partes, přičemž funkce, kterou budeme derivovat, bude funkce x. Příklad 2.55: Ve všech případech využíváme Newton-Leibnizovy formule. (a) Řešíme metodou per partes. (b) Zavedeme substituci x = t2. (c) Zavedeme substituci cos(x) = t. (d) Zavedeme substituci ex = t. (e) Řešíme metodou per partes. (f) Zavedeme nejprve substituci t = ex a následně u2 = t — 1. Příklad 2.58: (a) Řešíme naprosto analogicky s příkladem 2.56. Výsledek je: S = 163v^■ pl ■= plot[ [4-x^, jc2], x=-J~2 ..if~2 , color = "NavyBlue". thickness = 2) : f ■= plottools[transform] ((x v) —*■ \_x,y +x ]) : p2 := ploti^A —2- x",x=-j2 ..J~2, fúled= true, color = cyan) : plots[display] ([f(p2),pl ], scaling = constrained) f := x^-piecewise(x < 0,-x,x) : g ■■= x^ 1 : p := plot( íf(x),g(x) },x = -l .. 1,color = "NavyBlue" thickness = 2. scaling= constrained) : tr := plottools[ transform ] ((x,y) [x,y +f(x) ]) : q ■= plot(g(x) -f(x),x= -1 .. \,filled= true,color = cyan) : plots [display] (tr(q),p); -1 -OJ 0 OJ 1 \^ 0.8 j \^ 0.6 1 \. 0.4 / \0.2 Obrázek 6.1: Zobrazení plochy z příkladu 2.58.(a) vlevo, zobrazení plochy z příkladu 2.58.(b) vpravo. 227 (b) Obsah zadané plochy je třeba počítat „na dvakrát". Nejprve se spočítá obsah plochy mezi křivkami y = —x a y = 1 na intervalu [—1,0], následně obsah plochy mezi křivkami y = x3 a y = 1 na intervalu [—1, 0]. Výsledek je: S = |. (c) Stačí si uvědomit, mezi kterými částmi křivek leží zadaná plocha. Výsledek je: S 3' pl ■=piot{x',x= 0 ..1, coior= "NavyBlue", thickness = 2) p2 ■— plots[implicitplot] [y" = x,x = 0 .. 1,y = 0 .. 1, color = "NavyBlue", thickness = 2) : f := plottools[transform] ((x v) —» [x v + Jf2] ) : p3 := ploti^Jx — x',x = 0 ..1, filled = true, color = cyan) : plots[display] (f(p3),pl,p2) 0 0.2 0.4 O.í o f rc pi ■= plot\ [tan(jí), 0],jt= 0 ,.— ,v = -2 ..2, co/tv "NavyBlue". í/itc£jiejj= 2 p2 := přote[iří!příCiřpřof] j jc= ~px= 0 "^-3'= " c°l°r "NavyBlue". thickness= 2 : p3 '■= plot^tan{x),x = 0 filled = true, color = cyan plots [ display ]{p3,p2,pl) 2n Obrázek 6.2: Zobrazení plochy z příkladu 2.58.(c) vlevo, zobrazení plochy z příkladu 2.58.(d) vpravo. /:= X—*piecewise{x < 0, e e1} : g := x->2 : p := plot{ {f(x),g(x) },x = -]n[2) ..\n{2), color = "NavyBlue", thickness — 2, scaling— constrained) : if := plottools[ transform ] ((xy) —> [x,y + fix) ]) : q '■= plot(g(x) -f(x),x= -\n(2) ..\n(2),filled = true, color = cyan) plots [display] (tr(q),p, scaling — constrained): -0.fi -0.4 -0.2 0 0.2 0.4 O.fi Obrázek 6.3: Zobrazení plochy z příkladu 2.58.(e) (d) Řešíme rovnou podle poznámky 2.23. Výsledek je: S 228 2 • (e) Řešíme opět rozdělením na dva určité integrály. Výsledek je: S = 4 • ln(2) — 2. Příklad 2.59: (a) Pomocí derivace musíme určit rovnici tečny. Dále už řešíme analogicky k předchozím příkladům. Výsledek je: S = y. f '■= x^-piecewise^x < 0, 4-x — 7 j : 2 g'■= x—*x —2-x + 2: p := plot( {f[x),g[x) ),x=Q ..3,color = "NavyBlue", thickness = 2, scaling= constrained) : p2 := plots[implicitplot]{x = 0,x= 0 ,.3,y=0 ..2,color = "NavyBlue", rfiicfeie.i.i = 2) : fr" := plottools[transform] (—> + /(.v) ]) : q := /)fo((g^(.v) -f[x),x= 0 .. 3,filled= true, color = cyan) plots[display] (tr(q),p,p2, scaling= constrained): pi := plot( [.v3, 3 ■ x — 2], jc = -2 ..1, color= "NavyBlue", thickness =2} : f := plottools[ transform ] ( (x,y) —> [_*, v + 3 — 2 ] ) : p2 ■= plot{x^ — 3 -x + 2, jc = -2 ..1, filled = true, color = cyan) plots [ (fcpfcry ] (/(p2), pi ) It Obrázek 6.4-' Zobrazení plochy z příkladu 2.59.(a) vlevo, zobrazení plochy z příkladu 2.59.(b) vpravo. (b) Opět musíme určit rovnici tečny a také její průsečík s funkcí y = x3. Výsledek je: C _ 27 J — 4 • (c) Nyní je třeba určit rovnice dvou tečen a jejich průsečík. Výsledek je: S 4- Příklad 2.60: Ve všech případech využijeme poznámky 2.24: (a) Výsledek je: S = (b) Výsledek je: S = 12 • tt. (c) Výsledek je: S 27-7t 16 • Příklad 2.61: Je třeba odvodit rovnici kružnice. Máme dvě možnosti - buď popsat „horní" polovinu kružnice vztahem y = y/r2 — x2 a „spodní" polovinu kružnice vztahem y = —y/r2 — x2, nebo kružnici popsat parametricky předpisem x = r-sin(í), y = r-cos(í), t G [0, 2-rr]. Následně využijeme odpovídajícího určitého integrálu. Při použití prvního postupu je v Maple nutné přidat při výpočtu integrálu předpoklad, že r je nezáporné (reálné) číslo, abychom dospěli k požadovanému výsledku. 229 f ■= x-^ypiecewise^x < — ,-A-x + 7, 2 x — 8 J : 2 :— x ► x —6-1 + 8: /j := {/(.v). g'(.v) },.¥= 1 .A,color = "NavyBlue1', thtckness = 2, scaling = constrained) : rr '■— plottools[transform] {(x,y) —> [x,y + /(x) ]) : ij := plot(g(x) -f(x),x= 1 ..A,filled= true,color= cyan) : plots [display] (tr(q),p, seal ing= constrained), Obrázek 6.5: Zobrazení plochy z příkladu 2.59.(c). pi -—plot[\?i- 2, 3-1 — i, t = -J~3 ../"3~], scaling = constrained, filled = true, color = cyan) : p2 plot( [3- t\ 3f — i, t = -J~3 ..JT], scaling = constrained, color = "NavyBlue". thickness= 2) plots[display] (pi,p2) pi := plot([2- (t - sin(f)),2(l - cos( t)),t = 0 ,.2-n], scaling= constrained, filled= true, color = cyan) : p2 ■■= plot( [2- {t - sin(f) ),2-(1 - cos( f) ),f = 0 .-2-7i], scaling= constrained, color = "NavyBlue", thickness = 2 ) pfo (j [ display ]{pl, p2) Obrázek 6.6: Zobrazení plochy z příkladu 2.60.(a) vlevo, zobrazení plochy z příkladu 2.60.(b) vpravo. 230 pi ■■= ^řof([3-sin3(f), 3-cos3( f),/ = 0 ..7t], scaling= constrained, filled = true, color = cyan) : p2 := plot( [3-sin3( f), 3-cos3( f), t = O ..7t], sealing= constrained, color = "NavyBlue", thickness = 2) : Obrázek 6.7: Zobrazení plochy z příkladu 2.60.(c) Příklad 2.64: Ve všech případech využijeme poznámky 2.25. ía\ 1 — 26-VÍ3 _ 16 (b) l = = 2.35 (c) Systém Maple vyjádří řešení za pomoci eliptického integrálu. Informace k tomuto výsledku můžeme nalézt v nápovědě. Příkazem evalf získáme přibližné numerické řešení. i r~ší 1 = 2-y/2- EllipticE(Y) = 2 • V2 ■ J dx = 3.82 0 1 [7~ší (d) 1 = 2-y/2- EllipticE(Y) = 2 • V2 ■ J \^ dx = 3.82 o Příklad 2.65: Ve všech případech využijeme poznámky 2.26. (a) 1 = 2-VŠ (b) / = 2 • 7T2 (c) 1 = 2-71- y/1 + 16- 7T2 - \ ■ ln (-4 • 71 + y/1 + 16 -7T2) Příklad 2.66: Řešíme analogicky jako v příkladu 2.61, jen místo obsahu kruhu počítáme obvod kružnice. Příklad 2.69: Ve všech případech využijeme poznámky 2.27: (a) Výsledek: V = ^. (b) Výsledek: V = (c) Výsledek: V = ^f. (d) Výsledek: V = *f. 231 pi ■= p!ot{x',x — 0 ..1, color— "NavyBiue", thickness —2) p2 := plots[ implicitplot] (1/ =x. x= 0 ..1, y = 0 ..1. color = "NavyBiue", thickness = 2) : /":= pfoŕtooísf transform] ((x v) —> [jí. v + x~\) : := plot{J~x~ — x^,x = 0 .. 1. filled — true, color = cyan) : plots[display] (/ (p3),pi,p2) p ■= plot3d{[ x", J~x], 9 = 0..2-7C,x=0 ..I, axes—fro coords = cylindrical, labels= ["x", "y", "z1'] ) : plots [display] (p, orientation= [ -80, 185, 105]) Obrázek 6.8: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.69.(a). pi ■= plot{sin(x), x— 0 ..TZ,filled— true, color — cyan) : p '■= plot3d( sin(.v) ,6 = 0 ..2 -jr, x— 0 ..jr, axes—frame, p2 ■■= plot{ [ sin(.v), 0 ], x= 0 ..jr. color= "NavyBiue", coords = cylindrical, labels= [ "x", "y", "z" ] ) : ihickness=2) : plots[display] {p, orientation = [ -75, 185. 100]) plots[display] (pi,p2, scaling= constrained) Obrázek 6.9: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.69.(b). 232 /:=!—>piecewise^x < 1, —, x pl plot{^ [f[x),2],x=-^-..2,y=l..2,color = "NavyBlue", thickness=2 p2 ■= plot{^2 — f(x),x= -j- ..2,filled=true, color = cyanj : tr ■= plottools[transform] ((x,y) —> [x,y +f(x) ]) plots [ display] (řr (jj2 ), £>i ) 2t ;j := piořJJ^ [/(*), 2], 6 = 0 ,.2-jr, x = -i- .2,axes =frame, coords = cylindrical, labels = ['V, "y", "z"] přoíjfajípřay] oí-íeHříiřio« = [-85, 185,-35]) Obrázek 6.10: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.69.(c). p7 := /JÍo(( [7 4- jc2,2 -x],x=0 .2, co/or= "NavyBlue", ř/íieÁMejj = 2 ) : ír := plottools[ transform ] ((x, j) —> [x,y + 2 — x]) : £>2 := plot{ j 4 - x2 — 2 + x, x= 0 ..2, filled = true, color = cyan) : plots[display] (tr(p2) ,pl) 2 p ■= plot3d{^ [ 2 - x, y 4- x~ ], 9 = 0 ..2 -je, x= 0 ..2, axes =jřame, coords = cylindrical, labels= ["x", "y", "z"] ) plots[display] {p, orientation= [ -85, 0, 130]) Obrázek 6.11: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.69.(d). 233 Příklad 2.70: Ve všech případech využijeme poznámky 2.28: (a) Výsledek: V = ^f. pl := plot p2 ■= plot t.t- —. t=O..JJ 3 " v 7 t t . í - — ,ř=0..Í3~ 3 " filled= true, color = cyan , color = "NavyBlue", thickness— 2 plots[display] (pl,p2, scaling= constrained) p := plotíd t2, \ ŕ--O ■«»(*), í'-ý ■sin( s) s = 0 .2 ir, t = 0 ../s-. íivej^^ŕime. labels = [ "x", "y", V']): plots [display] (p, orientation= [ 85, 10. 160 ]) Obrázek 6.12: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.70.(a). (b) Výsledek: V 288-7t 35 • pl := ^)/ot = true, color = cyan p2 := plot 3-sin (ÍJ.3-COS (t),t = -— ..— , filled 3 - sin3(r). 3 ■ cos3( ŕ), í = --y- ..^ = "NavyBlue", thickness = 2, scaling= constrained j plots[display] (pl,p2) p := plot3d^ [3 - sin3((), 3 -cas (t) -cos(s), 3 - cos3(t) -sin(s) ], s = 0 ,.2-rt,t=-y axes = frame, labels = ["x", "y", "z"] J : /jfcrjfifcpfcjy] orientation= [85, 10, 150]) Obrázek 6.13: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.70.(b). (c) Výsledek: V = 3 • 7r. (d) Výsledek: \/ = 4 • tt2. 234 pi := plot{ [sin^í), 1 - oos(f), /= 0 .. JT,], color = "NavyBlue". thickness=2, scaling= constrained) : f ■= plottools[transform] ( (jí,y) —> [x,y + 1 -J 1 — x ]) : £>2 := plot(2-J 1 — jí ,je= 0 ..l,filled= true, color = cyan) plots [display] (f(p2),pl) 0 0.20.40.60.8 1 p := plot3d{ [ sin (t), (1 — cos( f)) ■ cos(s), (1 - cos(f)) -sin(j) ], s = 0 ..2-Jtt = 0..jc, axes = frame, labels = ["x", "y", "z"]) : plots[display](p, orientation= [85, 10, 150]) Obrázek 6.14-' Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.70.(c) £>I := plot( [2 + sin(f),2 + eos(f),/=0 ..2- n], color= "NavyBlue11, thickness=2, scaling= constrained, view= [0 ..4, 0 .4]) : f ■= plottools[transform] ((x,y) [jí,y + 2 — J 1 — (x — 2Ý ]) : p2 := plot^-J 1 — (x — 2)2 ,x= 1 ..3.filled = true,color = cyan) : plots[display] (f(p2),pl) o i p ■— plot3d( [2 + sin(ŕ), (2 + cos(í)) -cos(j), (2 + cos(í)) - sin(s) ], s = 0 ..2-lt, t=0 ..2- jt, axes = frame, labels = ["x", "y", "z"], scaling = constrained) : plots [display] (p, orientation = [85, 10, 150]) 11.522.53 -2"1 Obrázek 6.15: Zobrazení zadané plochy a získaného rotačního tělesa z příkladu 2.70.(d). Příklad 2.71: Koule vznikne například rotací „horní" poloviny kruhu kolem osy x. Je tedy potřeba odvodit rovnici kružnice o poloměru r a její „horní" polovinu použít pro dosazení do vztahu pro výpočet objemu. Příklad 2.72: Válec o poloměru podstavy r a výšce válce v vznikne rotací (kolem osy x) obdélníka tvořeného stranou o délce v na ose x, kolmicemi v krajních bodech o délkách r a zbylou stranou o délce v (spojující kolmice „na druhé straně"). Příklad 2.73: Kužel vznikne rotací trojúhelníka kolem osy x. Trojúhelník je tvořen úsečkou na ose x odpovídající výšce kužele a kolmicí na jednom konci úsečky o délce rovné poloměru kužele. Lineární funkce pak spojí „zbývající konce" úsečky a kolmice (při vhodném 235 „rozmístění" může být lineární funkcí funkce y = '- ■ x). Příklad 2.76: Ve všech případech využijeme poznámky 2.30. Obsah pláště zpravidla počítáme rozdělením na části pláště získané rotacemi jednotlivých funkcí na odpovídajících intervalech. (a) S = ^ • 7T • (134 • >/5 - 3 • ln (VŠ + 2) - 16) = 9.14 . (b) S = 2 • 7T • (y/2 + ln (1 + v^)) = 14.42. (c) S = 7T • (vTŤ + 2 ■ ln (2) - ln (l + y/ÍŤ) + 2 ■ y/2 + ln (l + y/2) + 6) = 42.68. (d) S = 4-n ■ (VŽ + 2) = 42.90. Příklad 2.77: Ve všech případech využijeme poznámky 2.31: (a) S = 3 • 7T. (b) S = ±°§*. (c) 5 = 7T • (2 • + ln (v^ + 2)) = 18.58. (d) S = 8-7r2. Příklad 2.78: Řešíme zcela analogicky k příkladu 2.71. Příklad 2.79: Řešíme analogicky k příkladu 2.72. Pozor na to, že v zadání se požaduje povrch celého válce, tj. musíme určit povrch pláště i podstavy válce. Příklad 2.81: Postupujeme stejným způsobem jako v příkladu 2.80. Tentokrát je funkce i nespojitá v bodě 0, a musíme tak určit lim f x ■ \n(x) dx. Příklad 2.83: (a) Integrál diverguje: lim (2 • y/x) = oo. x—^oo oo (b) í ~rhž dx = lim arctan(rr) + lim arctan(rr). —oo (c) Maple ve výledku zobrazí Fresnelův integrál definovaný jako 1 2 i Slil I — • 7T • + V2 o FresnelS (x) = j sin ( - • n ■ t ) dt, neboť neumí zapsat řešení analyticky pomocí standardních funkcí. Příkazem evalf zjistíme, že příslušný integrál konverguje. (d) Integrál diverguje: lim \n(x) = oo. 236 6.3 Matematická analýza s Maple v W1 Příklad 3.4: Nakreslené oblasti jsou zobrazeny na obrázcích 6.16 - 6.18 (a), (b) plots[implicitplot]([x-y\ < 1.x =-1 ..7.y = -7..7, coloring = [cyan, white], filled = true, thickness = 2, gridrefine = 3) plots[inequal]( [0 < x,x l,x = 0..4, : true, thickness = 2, gridrefine = 3) y i pi '■= plots[ implicitplot] ([ 1 < \x\ + [y| ], x =-4 .A, y = -2 ..2, color = black, thickness =2, gridrefine = 3) : p2 := pjols [ owpiicitplot] ([max( 1 — -|y|, |i| + [y| — 2) < 0], x =-4 ..4, y = -2 ..2, col or = black thickness = 2, gridrefine= 3, filledregions, coloring = ["cyan", "white"]) : plots[display] (pi, p2, view= [ -3 ..3,-3 ..3]) 3i Obrázek 6.17: Zobrazení zadané oblasti z příkladu 3.4.(c) vlevo, zobrazení zadané oblasti z příkladu 3.4.(d) vpravo. 237 (e) pi '■= plots[implicitplot] [fi,x = 0 ..1, v = J x- (1 — x) ..J 1 — x~ ,cofor = cyan) : £>2 — implicitplot] (o, i = 0 .. 1. v = - J 1 — .v"2 .. jc- (1 —x] , color = cyan) : := ploti^ [ ~y 1 — x", J 1 — x" \,x = -l ..0, eo/or = black, filled= [color = cyan]) : £>4 := ptof ( 1 -x ,x= 0 ..1, color= black ) /i-(-i)7 0 ..1. color = black, linestyle = dot 1 Obrázek 6.18: Zobrazení zadané oblasti z příkladu 3.4.(e). Příklad 3.6: Příslušné definiční obory jsou zobrazeny na obrázcích 6.19 - 6.21 (a), (b) Výraz pod odmocninou musí být nezáporný. f 2 2 plots[implicitplot] [1 — x — 4-y >0,x=-2 ..7, y = -4 ..5, coloring = [cyan, white], filled = true, thickness = 2, gridrefine=3,view= [-2 ..2,-2 ..2]) 21 y i 2 -N. 0 Jl 2 -i--2- plots[implicitplot] (sinf.ť^ > 0, x=-3 ..3, y =-3 ..3. coloring = [cyan, white], filled = true, thickness = 2. gridrefine = 3) 3 1 -2I -1 0 1 1 2 1 3 Obrázek 6.19: Zobrazení definičního oboru funkce z příkladu 3.6.(a) vlevo, zobrazení definičního oboru funkce z příkladu 3.6.(b) vpravo. (c), (d) Argument funkce ln musí být kladný. Argument funkce arccos musí nabývat hodnot z intervalu [—1,1]. Systém Maple má s vykreslením příslušné množiny případu (d) „problémy". Při vyšších hodnotách parametrů gridrefine a crossingrefine je výsledek akceptovatelný. (e), (f) Výrazy pod odmocninami musí být nezáporné. Díky jejich tvaru je pro ně možné vytvořit jedinou nerovnost a zbývající část podmínky „schovat" do rozsahu proměnných, abychom mohli použít příkaz implicitplot. Argument funkce ln musí být kladný, tzn. x>0Ay — x>l nebo x<0A0 0,x=-2 ..2, y = -2 ..2, coloring = [cvíih. white], filled'= true, thickness = 2) 2l y i plo ts [ implicitplo t ] x + v < l,x=-2 ..2, y =-2 ..2, coloring = [cyan, white], filled= true, thickness = 2, gridrefine = 7, crossingrefine = 6 j 2 Obrázek 6.20: Zobrazení definičního oboru funkce z příkladu 3.6.(c) vlevo, zobrazení definičního oboru funkce z příkladu 3.6.(d) vpravo. plots[implicitplot] ((1 — x ) ■ (1 — y2) > 0, x = -1 ,.l,y=-l .1, coloring = [cyan,white], filled= true, thickness = 2,gridrefine=3,view = [-2.2,-2 ..2]) 2 2 1 0 2 -2 with(plots) : pi inequal{{ x > 0, v — x > 1 },x= 0 A,y = -A .A, optionsfeasible= [color = "cyan"], optionsopen = [linestyle = dot. color = white, thickness = 2], optionsexcluded= [color = "white" ] , numpoints = 10) : p2 := inequal{ { x < 0,y — x < l,y — x > 0},.v = -4 ..0,j = -4..4, optionsfeasible= [color = "cyan" ], optionsopen = [linestyle = dot, color= white, thickness = 2], optionsexcluded= [color = "white" ] , numpoints = 10) : display\pl,p2) -4- y 3 2 / > / - 4 -3 -2 /'-\ ,A / .''-1 12 3' £-Ir Obrázek 6.21: Zobrazení definičního oboru funkce z příkladu 3.6.(e) vlevo, zobrazení definičního oboru funkce z příkladu 3.6.(f) vpravo. Příklad 3.7: (a) Pro některé hodnoty parametru contours Maple nezobrazí vrstevnice y = —x a y = x. (b) Pro rovnoměrné rozložení vrstevnic na zadané oblasti je vhodné specifikovat parametr contours seznamem funkčních hodnot. (c) Zadaná funkce je nespojitá pro y = 0, s čímž si Maple „neumí poradit" a vykresluje v tomto místě svislou plochu. Příkaz plot3d nemá k dispozici parametr discont, což se obchází vytvořením dvou grafů tak, abychom se nespojitosti „vyhnuli" - vykreslíme 239 / 2 2 plors[contourploi] \x -y ,x=-S ~5,y = -5 ..5. contours = 15) plot3d(x2 -y~,x = -5 ..5,y = -5 ..5, style =patchcontour, axes = frame) Obrázek 6.22: Zobrazení vrstevnic funkce z příkladu 3.7.(a). plots[contourplot] í , x=-5 ..5,y=-S ..5, grid= [100,\W\,view= [ -4 ..4,-4 ..4], contours = [0.1, 0.2, 0.3,1,1.5, 3,4, 5,10] plot 3d 2 2 x +y x=-3 ..3,y=-3 ..3, style =patchcontour. axes= frame, numpoints = 5000. view= [ -1 ,.1,-1 ..1,-1 ,.30], contours= 15 Obrázek 6.23: Zobrazení vrstevnic funkce z příkladu 3.7.(b). funkci nalevo od místa nespojitosti a napravo, grafy pak spojíme v jeden příkazem display. 240 plots[contourplot]\ — , x = -5 ,.5.v = -5 ..5. grid = [200, 200], contours [ -0.5,-1,-2,-3, -5, 0.5,1,2, 3, 5], view = [ -2 ..2,-2 ..2] 2i pi ■ —plot3d\ —. x = -5 ..5,y = S ..-0.01. stvle= patchcontour, axes =frame, numpoints = 5000, view = [ -5 ..5,-5 ..5,-5 ..5] p2 := plot3d\ —,x = -5 ..5. v= 0.01 ..5. srvfe=£WíeŕieoMíw. axes Ky =frame, numpoints = 5000, view = [-5 ..5,-5 ..5,-5 ..5] j : plots[display] (pi,p2) Obrázek 6.2^: Zobrazení vrstevnic funkce z příkladu 3.7.(c) (d) /JÍořj[cofiřouíyří)ř] (x-y, x = -5 ..5,y=-5 ..5' Obrázek 6.25: Zobrazení vrstevnic funkce z příkladu 3.7.(d). Příklad 3.10: Položíme S = min{e, 1}. Následně musíme ukázat, že pro libovolná x, y splňující < 5, \y\ < S, [x,y] ^ [0,0] platí: x2 ■ y2 x2 + y2 < e. Jelikož x,y splňuje [x,y] ^ [0,0], je aspoň jedno z nich nenulové. Bez újmy na obecnosti předpokládejme, že například y ^ 0. Pak pro jinak libovolná x, y platí: x2 < x2 + y2. Z toho máme: x2-y2 2 < V ■ x2 + y2 241 Pro e > 1 máme \x\ < 1, \y\ < 1 a tedy • y2 x2 + í/' - < y2 < 1< e\ Pro e < 1 máme |rr| < e, \y\ < e a tedy x2 ■ y2 x2 + y' 2 < y2 < e2 < e. Příklad 3.11: (a) Maple určí správně, že limita neexistuje. Sami to můžeme ověřit například přibližováním se po přímkách y = k ■ x. Výsledek je závislý na k, tj. na přímce, po níž se k limitnímu bodu blížíme. (b) Maple limitu neumí spočítat. Limita v tomto případě opět neexistuje, což můžeme stejně jako v předchozím případě ověřit přibližováním se k limitnímu bodu po přímkách. (c) Maple limitu nespočítá. Limita neexistuje, což můžeme zjistit pomocí transformace do polárních souřadnic. Získaný výsledek závisí na úhlu ip. (d) Maple limitu nespočítá ani v tomto případě, i když stačí pouze dosadit. (e) Maple limitu nespočítá. Limita existuje a je rovná 0. Ověřit to můžeme transformací do polárních souřadnic a aplikací poznámky 3.4. (f) Maple limitu nespočítá. Proměnná y tu přitom není zdrojem nespojitosti, a tak za ni můžeme dosadit a počítat zadanou limitu pouze jako limitu v proměnné x. (g) Maple limitu nespočítá ani tentokrát. Limita existuje a je rovná |. Výsledek získáme po rozšíření zadaného výrazu doplněním čitatele na rozdíl čtverců, následné úpravě a dosazení. Příklad 3.13: V případech a) - d) jsou body nespojitosti tvořeny vždy body, které nejsou v definičním oboru funkce f(x,y). Ve všech bodech definičního oboru jsou funkce totiž spojité. (a) Jmenovatel rovný nule, takže jediným bodem nespojitosti funkce f(x,y) je bod [0,0]. (b) Jmenovatel rovný nule, tj. body [x,y] takové, že x = 0 nebo y = 0. (c) Jmenovatel rovný nule, tj. body [x,y] takové, že y = 0. (d) Argument funkce ln(rr) nekladný, tj. body [x,y] takové, že x2 + y2 = 1. (e) Funkce f(x,y) nemá body nespojitosti. Jediný „podezřelý" bod z nespojitosti je bod [0, 0], v němž je však limita rovna funkční hodnotě (viz příklad 3.9). Příklad 3.14: (a) Podle příkladu 3.11.(g): C i 2' 242 (b) Podle příkladu 3.11.(c) limita v bodě [0,0] neexistuje, tj. není možné „dodefinovat" C tak, aby zadaná funkce byla v bodě [0, 0] spojitá. Příklad 3.15: (a) f'x(x,y) = 2-x-y+±, f'y(x,y) =x2 f»x(x,y)=2.y-±, f'Jy(x,y) = 2-x, fyx(x,y) =2 • X, fyy(X>y) = y2i (b) f'x(x,y) = 8-(x'2-y + y)3-x-y, f>(x,y)=4-(x2.y + yf.(x2 + l), f"(x, y) = 56 ■ • y4 + 120 • x4 ■ y4 + 72 • x2 ■ y4 + 8 • y4, f'Jy(x, y) = 32 ■ x7 ■ y3 + 96 • x5 ■ y3 + 96 • a:3 • y3 + 32 • x ■ y3, f{jx(x, y) = 32 ■ x7 ■ y3 + 96 • x5 ■ y3 + 96 • x3 ■ y3 + 32 ■ x ■ y3, f^x,y) = 12.y2.(x2 + l)\ (c) f'x{x,y) x"-y fý(x,y) = xy ■ ln(x), f^x(x,y)=xy-2.y.(y-l), f's;y(x,y) = xv-1-(y.\n(x) + l), fZx(x,y) = xy-1-(y\n(x) + l), f''(x,y)=xy-ln(x) 2 (d) f'x(x,y)=yhi(x + y) + ^, fý(x,y) = x-ln(x +y)+ fxx(xiy) = y' (x+y)2' f"(x,y) = \n(x + y) + ^- + ^- xy V í y / ííl\^ T" y J -r x+y -r x+y (x+y)2 ' fyÁx,y) = Hx + y) + ^ + ^ - /j/j/C^) y) = x ~ (x+y)2 ■ Příklad 3.16: (a) /^2) = ^,/í(l,2) = f.^, (b) ^(e,e) = f,/;(e,e) = -f, (c) /;(1,2) = 0,/;(1,2) = J. Příklad 3.18: (b) Příkaz DirectionalDerivative neumí pracovat s obecnými směry. Je proto potřeba vypočítat řešení jinak. f'u(Á) = \ ■ (cos(cv) + sin(a)). Příklad 3.20: 243 (a) f(x,y)=xy,[x0,y0} = [3,1], [x,y] = [3.05,0.99], (b) Nejprve převedeme stupně na radiány, f (x,y) = y/x ■ cos(y), [^o,yo] = [3, f], [x, y] [3-05, ff], (c) f(x,y) = arctan(|),[x0,ž/0] = [1,1], [x, y] = [1.02,0.95], (d) f(x,y) = \og4(x-y2),[x0,y0] = [4,1], [x,y] = [4.01,0.97]. Příklad 3.22: (a) t(x, y) = A ■ x — 2 ■ y — 5, (b) t(x, y) = 5 • x + y — 3, (c) t(x,y) = l-x + %-y + \n(5)-2, (d) ŕ(z,y) = l. Příklad 3.23: Ve všech příkladech použijeme příkaz mtaylor. (a) musíme specifikovat bod [x = l,y = 1], (b) musíme specifikovat bod [x = 0,y = |], (c) musíme změnit proměnnou Order nebo přidat třetí parametr příkazu mtaylor, (d) musíme specifikovat všechny tři proměnné. Příklad 3.24: (a) f(x,y) = y/x3 + y3,[x0,y0] = [l,2],[x,y] = [1.02,1.97], (b) Nejprve převedeme stupně na radiány, f (x,y) = \fx ■ cos(y), [a^ojž/o] = [3, f], [x, y] = [3-05, ^f], (c) f(x,y) = arctan(£),[x0,y0} = [1,1], [x, y] = [1.02,0.95], (d) f (x, y) = lo-i.r ■ y2), [x0,y0] = [4,1], [x, y] = [4.01,0.97]. Příklad 3.25: Definice lokálního minima je naprosto stejná s definicí 3.9, jen nyní požadujeme, aby pro všechna X z nějakého okolí bodu X* platilo: f (X) > f (X*). Příklad 3.30: (a) Funkce má 2 stacionární body, z nichž jeden (bod [1,1]) je lokálním minimem. (b) Funkce má 4 stacionární body. Dva z nich jsou lokálními extrémy. Bod [0,-1] je lokálním minimem, bod [0,1] je lokálním maximem. (c) Funkce má 8 stacionárních bodů. Čtyři z nich jsou lokální extrémy. Body [—, ~^r] a [^f, ] jsou lokální minima, body [—a [-^f, — ] jsou lokální maxima zadané funkce. 244 (d) Funkce má nekonečně mnoho stacionárních bodů, které jsou též jejími lokálními extrémy. V bodě [0, 0] se nachází lokální minimum. Ostatní stacionární body, které jsou všechny lokálními maximy, leží na kružnici x2 + y2 = 1. Klasickým způsobem neumíme o těchto bodech rozhodnout. Pro ověření, že se jedná o lokální maxima, můžeme zavést substituci t = x2 + y2 a vyšetřit lokální extrémy funkce, jako by se jednalo o funkci jedné proměnné. (e) Funkce má jediný stacionární bod ([2,4]), který je jejím lokálním minimem. Pro y = 0 neexistuje parciální derivace podle proměnné y. Podle toho, jak chápeme pojem okolí bodu (funkce není definovaná pro y < 0), bychom měli vyšetřit ještě body, pro něž y = 0. Nicméně pro y = 0 funkce lokálního extrému nenabývá, o čemž je potřeba se přesvědčit vyšetřením okolí „potenciálního" lokálního minima v bodě [|,0]. (f) Funkce má jeden stacionární bod, který není jejím lokálním extrémem. Pro x = — 1 nebo y = — 1 neexistují parciální derivace zadané funkce. Opět je na uvážení, jak chápat pojem okolí bodu a případně vyšetřit i lokální chování funkce v případech x = — 1 nebo y = — 1. Již z grafu je vidět, že funkce tu dosahuje lokálně své nejvyšší hodnoty v bodě [—1,-1], takže je možné mluvit o lokálním maximu funkce v tomto bodě. (g) Funkce má nekonečně mnoho stacionárních bodů, žádný z nich však není jejím lokálním extrémem. Funkce má dále dva body, v nichž neexistují parciální derivace. Bod [0, 0] není lokálním extrémem funkce, bod [2, 3] je lokálním minimem. Příklad 3.31: Definice absolutního minima je naprosto stejná s definicí 3.11, jen nyní požadujeme, aby pro všechna X z množiny M platilo: f{X) > f(X*). Příklad 3.35: (a) V tomto případě ani není potřeba nic počítat. Jen si pozorně přečíst zadání a zamyslet se nad ním. Největší hodnota (absolutní maximum) zadané funkce je dána „přímo" množinou M a jsou to tedy všechny body na její hranici. Absolutní minimum získáme tak, když si uvědomíme, že druhá mocnina reálného čísla je vždy číslo nezáporné (tj. větší nebo rovno nule). (b) Opět není třeba nic počítat, stačí použít „selský rozum". Množinu M můžeme přepsat do intervalů: x G [—1, l],y G [—1,1] a odtud už je na první pohled vidět, že absolutní minimum se nachází v bodě [—1,-1] a absolutní maximum v bodě [1,1]. (c) Absolutní minimum funkce určíme již ze zadání, neboť absolutní hodnota nabývá své nej menší hodnoty pro nulový argument a ten je uvnitř množiny M. Absolutní maximum můžeme hledat klasickou cestou. Zadaná funkce nemá stacionární body, má ovšem nekonečně mnoho bodů, kde není diferencovatelná. Z grafu funkce (případně rovnou ze zadání) zjistíme, že absolutní maximum leží na hranici množiny M. Například příkazem extrema můžeme extrém najít, a to hned ve čtyřech bodech: [^,^], [^,— \_V2 V2i ryj [ 2 ' 2 1 I 2 ' 2 J' (d) Postupujeme „klasickým" způsobem. Určíme lokální extrémy (lok. max. v bodě [1,1]) a následně extrémy na hranici množiny M. Celkem dostaneme, že absolutní maximum je v bodě [1,1], absolutní minima jsou dvě, a to v bodech [0,4] a [4, 0]. 245 (e) Zadaný trojúhelník M je možné vykreslit následující posloupností příkazů: pl := plots [pointplot]([[0, 2], [3, 0], [0, -1]], color = red, symbolsize = 20, symbol = solidcircle): p2 := plots[polygonplot]([[0, 2], [3, 0], [0, -1]], color = red, style = line, thickness = 2): plots[display](pl, p2) Základním krokem je zápis jednotlivých úseček trojúhelníku v proměnných x a y. Pak pokračujeme „klasickým" způsobem. Určíme lokální extrémy (lok. min. v bodě [i,l]) a následně extrémy na hranici množiny M. Celkem dostaneme, že absolutní maximum je v bodě [0, —1], absolutní minimum v bodě [|, 1]. (f) Postupujeme opět „klasickým" způsobem. Nejprve hledáme lokální extrémy. Dostáváme „tři" stacionární body, přičemž jeden z nich pokrývá všechny body takové, že y = 0. Tento stacionární bod (body) však není extrémem již na první pohled, protože funkční hodnota je pro něj rovna nule. Zbylé dva stacionární body [|, |], [—|, —|] jsou lokální minimum a maximum zadané funkce. Nyní je potřeba si uvědomit, že funkce sinus je periodická s periodou 2%, takže těchto lokálních extrémů je vlastně nekonečně mnoho a všechny jsou současně i extrémy globálními na celém definičním oboru. V zadání byla specifikována množina M, a tak je potřeba omezit množinu těchto extrémů tak, aby vyhovovala zadání, tj. absolutní maxima jsou body [| + 2 • k ■ 7r, | — 2 • / • 7r] pro k, l G No, absolutní minima jsou body [^j- + 2 ■ k ■ tt, — | — 2 ■ l ■ tt] pro k, l G No- Příklad 3.37: Řešíme naprosto stejným postupem jako v příkladu 3.36. Hledaná kladná čísla jsou: x = y = z = 4. Příklad 3.38: Opět postupujeme stejně jako v příkladu 3.36. Minimalizujeme funkci f(x,y) = x + y + -f= pro x > 0,y > 0. Nejmenší možný součet takových čísel je 20 pro x = 5, y = 5,z = 10.XV Příklad 3.39: Vzdálenost bodu o souřadnicích [x, y,z] od počátku souřadného systému je: \Jx2 + y2 + z2. Tento součet musíme minimalizovat pro z = x - y — 1. Přepisem analogickým k předchozím příkladům dostáváme úlohu minimalizovat funkci na celém jejím definičním oboru. K tomu můžeme využít příkaz minimize. Nejblíže počátku je bod [0,0,-1]. Příklad 3.40: Hledáme rovnici přímky y = k ■ x + q, tj. reálná čísla k a q, pro něž platí, že S = (q — 2)2 + {k + q — 3)2 + (2 • k + q — 5)2 je minimální. Můžeme opět využít příkazu Příklad 3.42: U každého případu vykreslíme množinu íl a z obrázku určíme meze dvojnásobného integrálu. minimize a dostáváme: k (a) Můžeme volit následující: 0 < x < 1,0 < y < x, nebo 0 < y < 1,0 < x < y. 246 plots[inequal]({G < x, O f^—-.-1 Obrázek 6.27: Zobrazení množiny íž z příkladu 3.42.(c) 3.42.(d) vpravo. vlevo, zobrazení množiny íž z příkladu Celkem tak získáme: 0 1 2 1 f(x,y)dx dy= f(x,y) dy dx + / / cřy dar. -2-£ 0 í 2 2 Příklad 3.43: Podobně jako v předchozím příkladu si nejprve zobrazíme mmožinu ohraničenou integračními mezemi a následně množinu vyjádříme v obráceném pořadí mezí. (a) Přepis množiny v obráceném pořadí proměnných: 0 = -2 ..2, cofor= black) : plots [ display ]{pl, p2) a a e ay ax 1 F=| (-Ierf(l/4-j;2 ) //jt) dx evalf{%) V= 168.3S35544 Obrázek 6.32: Řešení příkladu 3.49. (c) 252 pi := seq \^plot3d ^ [x. y. zn- (5-x2 + 2-x-y)].x=0 ..2.y= 0 ..1 — axes = frame, transparency=0.6 j, zn in [ 0, 1 ] J : p2 '■— plot3d[ p3 := plot3d{^ transparency = 0.6 j : /)řotj[ííivpříiv] (/j II (1 ..3)) x, 0, z], x = 0 ..2, z= 0 ..5-x , (rawsparency = 0.6J x. 1 — —,z 2 , x = 0 ..2, z= 0 ..4-x + 2-x, piof^l — —..¥=0 ,.2,filled= [color■= cyan], color= black, scaling^ constrained^ V=\ 1 (5-x + 2-x-y}djdx Obrázek 6.33: Řešení příkladu 3.49.(d). pi '■— seq\^plot3dy ,x= 1 ..2. y = — ..i,axes x =frame, transparency = 0.6 , zn in [0,1] p2 ■= plot3d( [x,x l,z\,x= 1 ..2.z = 0 .jc , transparency^ 0.6) : p3 '■= plot3d[ [2,y, z], y= 0.5 ..2,z = 0 ..Ay ^, transparency = .&] p4 ■= plot3d([x,x,z],x= 1 ..2,z = 0 ..1. transparency^ 0,6) : plots[display] (p\\ (1 ..4)) pi plots[implicitplot] |^ :■: < ;■■ = —,;. =:■. . = 1 ..2,y= ^ ,.2. calar=blackj : p2 := £>řoí(x — x \x= 1 ..2,filled= true, color = cyan) : tr := plottools [ transform ] ((x, y) —*■ [x. y + x ' ]) plots[display] [tr{p2),pl) 2l 1 1.2 1.4 1.(5 1.8 2 2 1 ' 1 dy dx Obrázek 6.34-' Řešení příkladu 3.49. (e). 253 Příklad 3.50: Kvádr je třeba vhodně umístit do souřadné soustavy - například tak, že spodní roh podstavy dáme do bodu [0,0,0], zbylé rohy podstavy budou v bodech [a, 0, 0], [0, 6, 0] a [a, 6,0]. Výška kvádru bude rovna c. Z toho vyplývá, že funkce ohraničující kvádr je konstantní funkce f(x,y) = c a podstavu kvádru můžeme přepsat do mezí následovně: x G [0,a],y G [0,6]. Příklad 3.51: Je potřeba znát rovnici koule: x2 + y2 + z2 = r2. Koule vyjádřená touto rovnicí má střed v počátku souřadné soustavy. Její objem určíme tak, že spočítáme objem její horní poloviny (která leží nad rovinou z = 0) a ten vynásobíme dvěma. Plášť horní poloviny koule je popsán funkcí f(x,y) = y/r2 — x2 — y2, podstava je tvořena kruhem popsaným nerovnicí x2 + y2 < r2. Integrační meze tak můžeme zapsat následovně: x G [—r,r],y G [—y/r2 — x2, y/r2 — x2]. Příklad 3.52: Opět je potřeba vhodně umístit válec do souřadného systému. Můžeme například podstavu válce umístit do roviny z = 0 tak, že její střed je v počátku souřadné soustavy. Podstava je pak popsána nerovnicí x2 + y2 < r2 a je možné ji přepsat do integračních mezí následovně: x G [—r, r], y G [—y/r2 — x2, y/r2 — x2]. Válec je shora ohraničen konstantní funkcí f (x, y) = v. Příklad 3.54: Postupujeme stejným způsobem jako v příkladu 3.53. Výsledky: (a) S = 3-y/U, (b) lS, = -i§ + if§-ln(5) + f- v/5 + ^- arcsinh (f • y/5) =5.58, (c) příslušný integrál musíme vyhodnotit numericky, S = 583.77, (d) příslušný integrál musíme vyhodnotit numericky, S = 7.57, (e) příslušný integrál musíme vyhodnotit numericky, S = 6.00. Příklad 3.55: Kouli umístíme opět středem do počátku souřadného systému. Povrch horní poloviny koule je pak popsán funkcí f(x,y) = y/r2 — x2 — y2. Integrační meze můžeme zapsat následovně: x G [—r, r], y G [—y/r2 — x2, y/r2 — x2]. Získaný výsledek je třeba vynásobit dvěma (neboť počítáme povrch pouze horní poloviny koule). Příklad 3.56: Povrch horní poloviny koule je popsán funkcí f(x,y) = a/25 — x2 — y2. Dále je třeba odvodit integrační meze. Rovina z = 2 protne kouli v bodech kružnice popsané rovnicí x2 + y2 = 21 a rovina z = 4 protne kouli v bodech kružnice popsané rovnicí x2 + y2 = 9. Množina íl je tedy prstencového tvaru vymezená kružnicemi o poloměrech y/21 a 3. Díky symetrii celého tělesa je možné zabývat se pouze prvním oktantem a výsledek vynásobit čtyřmi. Integrační meze (meze části množiny íl) bychom pak zapsali následovně: x G [0,3], y G [a/9 - x2, y/21 - x2} U x G [3,y/2Í],y G [0, y/21 - x2}. Pro získání symbolického výsledku je třeba převést integrál do polárních souřadnic, např. příkazem ChangeOf Variables z balíku Student [MultivariateCalculus]. Maple to nezvládne dokonale, a tak je potřeba následně zapsat do polárních souřadnic ještě množinu Q (pro získání integračních mezí). V polárních souřadnicích je navíc jednodušší množinu Q zapsat, a tak ji přepíšeme rovnou celou. Pro poloměr r platí: 3 < r < y/21, a pro úhel 9: 0 < 9 < 2 -7T. 254 /(xv) := V25-.v 2 2 y [x,y) ->725 - j:2-j ' 3 ^21 -i2 SruríeKífMurímir-ídireCrířcuruj] [ ChangeOJVariables] U1 + [iŕ^)2+[-fr^)2} dydx> [ carteswn^ r, polar^ &J r5 1=0 ^=721-^ y=Js-x2 1 -25 + r ŕ- dr d9 3 J 1 -25 + r dedŕ- 20 je Obrázek 6.35: Řešení příkladu 3.56 Příklad 3.58: Můžeme využít dvojných integrálů již získaných při řešení příkladu 3.48 a pouze funkci f(x,y) „přepsat" do mezí pro proměnnou z v třetím integrálu. Zřejmě platí: (a) z E [0,2? +y2], (b) z G [0,64-x2]. Příklad 3.59: Postupujeme analogicky k řešení příkladu 3.50. Kvádr vhodně umístíme do souřadné soustavy a jeho meze pak můžeme zapsat následovně: x G [0, a], y G [0, b], z G [0, c]. Příklad 3.60: Koule je speciálním případem trojosého elipsoidu z příkladu 3.57 pro a = b = c = r. Můžeme tedy pouze pozměnit tyto hodnoty v řešení v příkladu 3.57 a získáme vztah pro objem koule o poloměru r. Příklad 3.61: Postupujeme analogicky k řešení příkladu 3.52. Válec vhodně umístíme do souřadné soustavy a jeho meze pak můžeme zapsat následovně: x G [—r, r], y E [— ^/r2 — x2, ^/r2 — x2], z E [—v, v]. Příklad 3.63: Zadaná funkce představuje plášť horní poloviny koule o poloměru r = 1. V příkladu tak počítáme objem horní poloviny koule o zmíněném poloměru a z předešlých příkladů víme, že by výsledek měl vyjít 2y:. Můžeme například zapsat dvojný integrál v kartézských souřadnicích a použít příkaz ChangeOfVariables. Nové integrační meze odvodíme velmi snadno, neboť se jedná o kruh o poloměru r = 1. Dostáváme tedy: r G [0,1], 9 E [0,2-tt]. 255 Příklad 3.64: Ve všech příkladech (3.46, 3.51, 3.52, 3.60 a 3.61) jsme v tomto textu využili kartézských souřadnic. Nyní tedy provedeme příslušné výpočty v souřadnicích polárních, sférických a cylindrických. V příkladu 3.46 počítáme obsah kruhu o poloměru r. V polárních souřadnicích můžeme kruh popsat následovně: x = p ■ cos(9),y = p ■ sin(0), kde p E [O,r],0 G [0, 2 • tt]. Podle poznámky 3.24 tak počítáme integrál 2-7t r p dp dd. o o Jak v příkladu 3.46, tak i nyní bychom měli obdržet tabulkový vzorec: S = tt ■ r2. V příkladu 3.51 počítáme objem koule o poloměru r. Využijeme polárních souřadnic, v nichž popíšeme podstavu horní polokoule následovně: x = p ■ cos(9),y = p ■ sin(0), kde p G [0, r], 9 E [0, 2 • 7r]. Podle poznámky 3.24 tak počítáme integrál 2-7t r 2 • J J p- x/r2 - p2 ■ cos(#) - p2 ■ sin(0) dp d9. o o Jak v příkladu 3.51, tak i nyní bychom měli obdržet tabulkový vzorec: V = | • n ■ r3. V příkladu 3.52 počítáme objem válce o poloměru podstavy r a výšce v. Využijeme opět polárních souřadnic, v nichž popíšeme podstavu válce: x = p ■ cos(9),y = p ■ sin(0), kde p G [0, r], 9 E [0, 2 • 7r]. Podle poznámky 3.24 tak počítáme integrál 2-7t r p ■ v dp dd. o o Jak v příkladu 3.52, tak i nyní bychom měli obdržet tabulkový vzorec: V = tt ■ r2 ■ v. V příkladu 3.60 počítáme objem koule o poloměru r. Ve sférických souřadnicích můžeme kouli popsat následovně: x = p ■ cos(0) • sm(9),y = p ■ sin(0) • sm(9),z = p ■ cos(#), kde p G [—r, r], (f) E [0, 2 • 7r], 9 E [0, 2 • 7r]. Podle poznámky 3.25 tak počítáme integrál 2-7t 2-7t r s'm(9) ■ p2 dp d(f) dO. 0 0 -r Jak v příkladu 3.60, tak i nyní bychom měli obdržet tabulkový vzorec: V = | • 7r • r3. V příkladu 3.61 počítáme objem válce o poloměru podstavy r a výšce v. V cylindrických souřadnicích můžeme válec popsat následovně: x = p ■ cos(9),y = p ■ sm(9),z = z, kde p G [0, r], 9 E [0, 2 • 7r], z E [0, v]. Podle poznámky 3.26 tak počítáme integrál 2-7t r v p dz dp dd. ooo Jak v příkladu 3.61, tak i nyní bychom měli obdržet tabulkový vzorec: V = tt ■ r2 ■ v. 256 Příklad 3.65: Všechny tři řady umí Maple „sečíst". oo oo (a) E íT^fe) = (b) E ^2 = T' (c) E \ = 00> řada diverguje. n=l n=l n=l Příklad 3.68: (a) sn = ^/n, s = lim sn = 00 =^ řada diverguje, n—>oo 00 (b) a„ = , } n > , 0 \ = 1 1 = —tt, řada -4r diverguje =^ zadaná řada v ' n \/n2+2-n V"2+2-n+l ^/(n+1)2 n+l> n+1 ° J také diverguje, (c) an = ^^pj- < řada E \/^3 konverguje ^> konverguje i zadaná řada, n=l (d) použijeme limitní srovnávací kritérium a budeme srovnávat s řadou E ^2 ? 0 n^ víme, n=l že konverguje, (e) použijeme limitní verzi podílového kritéria a zjistíme, že řada konverguje, (f) využijeme opět limitní verze podílového kritéria a zjistíme, že řada diverguje, (g) využijeme limitní verze odmocninového kritéria a zjistíme, že zadaná řada konverguje, (h) využijeme limitní verze podílového kritéria a zjistíme, že zadaná řada konverguje, (i) stačí zadat systému Maple a zjistíme, že zadaná řada konverguje; jinak je možné použít například integrální kritérium. Příklad 3.71: (a) Jak součet zadané řady, tak součet řady absolutních hodnot umí určit Maple přímo. Zadaná řada konverguje absolutně. (b) Součet zadané řady i řady absolutních hodnot opět určí Maple přímo (i když je potřeba se „nevyděsit" vypsaným tvarem výsledku pro součet zadané řady). Zadaná řada konverguje neabsolutně. (c) Pomocí Leibnizova kritéria zjistíme, že zadaná řada konverguje. Pomocí integrálního kritéria ověříme, že řada absolutních hodnot diverguje. Zadaná řada proto konverguje neabsolutně. (d) Pomocí Leibnizova kritéria zjistíme, že zadaná řada konverguje. Srovnávacím kritériem s řadou ^2 ^ ověříme, že řada absolutních hodnot diverguje. Zadaná řada proto kon- n=l verguje neabsolutně. (e) Pomocí limitní varianty odmocninového kritéria zjistíme, že řada absolutních hodnot konverguje. Zadaná řada proto konverguje absolutně. (f) V příkladu 3.67.(c) jsme zjistli, že řada absolutních hodnot zadané řady konverguje, tedy zadaná řada konverguje absolutně. 257 6.4 Lineární algebra s Maple v Cn Příklad 4.2: Musíme najít lineární kombinace vektorů báze tak, abychom získali vektory báze standardní. Tj. např. pro e-i = (1, 0, 0) = ^ • (3,0, 0) + 0 • (0, 2, 0) + 0 • (0, 0,1). Souřadnice vektoru ei v bázi a jsou proto (§,0,0). Příklad 4.3: Nejsou. Je možné se o tom přesvědčit např. použitím příkazu Basis. Příklad 4.4: Negenerují. Opět je možné se o tom přesvědčit např. použitím příkazu Basis. Bázi tvoří pouze 2 z vektorů. Příklad 4.6: '-2 -6 0 \ f-A -2 G2-3-F = | 2 1 1 , A- F = nedefinováno, A-G • F ■ A = l 5 59 2 -9 -14/ V-7 -13, B-A-C-H-B-F-BT = 113. Příklad 4.7: 2 4/ \3 + -é'J/' a-d-b-c \-c a 3-10 F 1 = | 1 -1 -1 -3 2 1 Příklad 4.8: Ve všech případech využíváme vytvoření matice pomocí příkazu Matrix(4,f), kde funkce / specifikuje požadovanou závislost. Příklad 4.9: a) Například A = (® J J . b) Například A = f J J Příklad 4.10: Zvolíme nějaký vektor, např. u = (1,1)T. Vypočteme v = A ■ u pro nějakou hodnotu a a pomocí příkazu PlotVector vykreslíme u a v. Příklad 4.13: Postupujeme zcela analogicky příkladu 4.11. Souřadnice vektoru v v bázi a jsou: (0,1, 2)T. Příklad 4.14: Můžeme použít např. příkazu Basis: 258 a) vektor u%, b) žádný z uvedených. Příklad 4.15: Jestliže vhodně zvolíme bázi, tj. např. a = {1, x, x2, x3} pro ^[rc], vektor 1 — x má v této bázi souřadnice (1,-1,0,0) atd. Posléze již můžeme použít příkaz Basis jako v předchozím příkladu. a) vektory jsou lineárně závislé, např. x3 — 1 = —(1 — x) — {x — x2) — {x2 — x3), b) totéž co za (a), např. x3 + 1 = (1 + x) — {x + x2) + (rr2 + x3), c) vektory jsou lineárně nezávislé, d) není nutné ani cokoli počítat, jedná se o 4 vektory v prostoru dimenze 3. Rn[x] se standardním sčítáním polynomů a skalárním násobkem polynomu je vektorový prostor - je třeba ověřit, že platí: 1. p(x) = 0 G M.n[x] je nulový prvek, tj. Vg(rr) G M.n[x] : q{x) + p{x) = q(x), 2. Vq(x) G Rn[x] : 3 - q(x) G Rn[x] : q(x) + (-q(x)) = 0, 3. \/p(x), q(x),r(x) G M.n[x] : (p(x) + q{x)) + r(x) = p(x) + {q{x) + r(x)), 4. \/p(x), q{x) G M.n[x] : p{x) + q(x) = q{x) + p(x), 5. Va, b G ]R,p(x) G : a • (b • p (x)) = (a ■ b) ■ p(x), 6. p{x) = 1 G M.n[x] je jednotkový prvek, tj. \/q(x) G M.n[x] : q{x) ■ p{x) = q(x), 7. Va G M,p(x), q{x) G M.n[x] : a ■ (p(x) + q{x)) = a ■ p{x) + a ■ q(x), 8. Va, 6 G IR, p(rc) G IRn [x] : (a + b) ■ p{x) = a ■ p{x) + b ■ p{x). Příklad 4.16: Řešíme analogicky příkladu 4.12: a) „kritické" hodnoty: a = —1,6 = 1, b) „kritické" hodnoty: a = 0, 6 = —2. Příklad 4.17: Řešíme opět analogicky příkladu 4.12: „kritické" hodnoty: a = 1, 6 = 2, c = 6. Příklad 4.19: Řešení probíhá analogicky příkladu 4.18. Postup v případě (a) ilustruje obrázek 6.36. Pokud používáme příkaz assign a řešíme více příkladů najednou, je třeba mít na paměti, že vytváříme proměnné, do nichž přiřazujeme nějaké hodnoty - to může v dalších příkladech „vadit" a je třeba buď změnit názvy proměnných nebo z používaných jmen (x1,X2,...) hodnoty odstranit. O správnosti řešení se můžeme též přesvědčit dosazením do původní rovnice. Příklad 4.20: Řešíme opět analogicky příkladu 4.18. Dostáváme nekonečně mnoho řešení pro tři různé reálné parametry. 259 with [LinearAlgebra) : A :=Matríx{[[l,2-I, 0], [0,3 -16-21], [2, 0,-l],[l,l,l]]) 121 O 0 3-16-21 2 0 -1 1 1 1 y:= {5+41, 10, 5 + 3 I, 5 + 2 I) 5+41 10 5+31 5+21 R ■— GaussianEliminatian{Matrix{ [A,y])) 1 21 0 5+41 0 3-16-21 10 0 0 -1 +81 -9 +71 0 0 0 o res := MatrĹx^ ^seq^ ^x.|, i = 1 ,.3 J | J : solve{{seq( (R[i, 1 ..3].res) [ 1 ] =R[i,4], i= 1 ..3)}, jx^x^}) = 3 + 21, = 1 — I, = 1 + Ij assign (%) res 3+21 1 -I 1 +1 Obrázek 6.36: Řešení příkladu 4.19. Příklad 4.21: Můžeme řešit mnoha způsoby, které Maple nabízí. Vždy bychom se měli dopracovat k výsledku, v němž se ve jmenovatelích objevují v součinu výrazy a2 + b2 a c, tj. zadaná soustava má právě jedno řešení, pokud jsou tyto různé od nuly. Příklad 4.23: Postupujeme stejně jako v příkladu 4.22. Příklad 4.24: Postupujeme stejně jako v příkladu 4.22. Příklad 4.25: V zadání není specifikován postup výpočtu, takže stačí pouze „přepsat" do systému Maple a vyhodnotit. Příklad 4.26: Totéž jako v předešlém příkladu. Pouze je třeba dát si pozor na zápis symbolu pro násobení matic. Příklad 4.28: K Laplaceovu rozvoji využijeme zavedený příkaz lapiace. Matice lze jednoduše upravovat do tvarů „výhodnějších" pro výpočet, nicméně to není nutné. Přímým výpočtem determinantu můžeme ověřit správnost výpočtu pomocí Laplaceova rozvoje. Příklad 4.29: Pro reálné matice z příkladu 4.23 není třeba nic ověřovat, neboť konjugovaná matice je shodná s původní maticí (podobně jako v případě reálného čísla). U nereálných matic využijeme např. příkazů conjugate a map. Příklad 4.31: a) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení je lineární, b) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení není lineární, 260 c) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení není lineární. Příklad 4.32: Označme p(x) reálný polynom třetího stupně. Pakp(x) = a ■ x3 + b ■ x2 + c• x + d, kde a, b,c, d jsou reálná čísla. Označme / : Ms[x] —> WL2[x] zobrazení přiřazující polynomu jeho derivaci. Pak: f(p(x)) = 3- a-x2 + 2- b- x + c. Nyní je třeba ověřit podmínku lineárního zobrazení, tj. že pro libovolná k, l G IR a p(x), q(x) G Ms[x] platí: f(k ■ p(x) + / • q(x)) = k ■ f(p(x)) + / • f(q(x)). Příklad 4.35: a) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení není lineární, b) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení je lineární, jádro a obraz zobrazení najdeme tak jako v příkladu 4.34 a zjistíme, že se jedná o isomorfismus, c) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení není lineární, d) stejným postupem jako v příkladu 4.30 ověříme, že zobrazení je lineární, jádro a obraz zobrazení najdeme tak jako v příkladu 4.34 a zjistíme, že se nejedná o isomorfismus. Příklad 4.37: Můžeme postupovat zcela analogicky příkladu 4.36. Nyní např. /(i, o, 0) = \ ■ (/(i, 1,0) + /(i, o, 1) - /(o, 1,1)). Příklad 4.38: Využijeme poznámky 4.15. Uvedená rovnost v tomto případě přejde do tvaru: Výsledek tedy získáme pouhým vynásobením matice a zadaných vektorů. Vektory báze (3 k ničemu nepotřebujeme. Příklad 4.39: Nalezením obrazů vektorů standardní báze IR2, tj. vektorů (1,0)T a (0,1)T zjistíme, že matice A představuje a) otočení o 90 stupňů proti směru hodinových ručiček, b) překlopení přes osu x, c) dvojnásobné zvětšení. Možností, jak dané transformace znázornit graficky, je několik. Jednou z nich je například zobrazení některých vektorů pomocí příkazu VectorCalculus [PlotVector]. Příklad 4.40: Podobně jako v předchozím příkladu můžeme vyjít z obrazů vektorů standardní báze IR2, resp. IR3, tj.: fan a12\ fl\ f0\ fan a12\ f 0\ Í0\ a;W a22)'\p) \0J> \a21 a22)'\l) \l)> 261 b) d) au a12 Ka21 a22 au a,i2 0-21 a22 au Ol2 O13 021 022 023 031 O32 033 au Ol2 O13 021 022 023 «31 032 033 a1± Ol2 O13 021 022 023 031 032 033 Oll Ol2 O13 021 O22 023 O3I O32 O33 O Oll O12 021 022 l\ / au 012 0/ ' la2i o22 O Oll O12 Oi3 021 O22 O23 1O31 032 O33 On o12 013 021 022 023 v03i 032 033 -sin(f) |. cos(f) Příklad 4.43: Označme obecný polynom třetího stupně p(x) = a ■ x3 + b ■ x2 + c • x + d. Pak ip(p{x)) = a ■ x3 + (6 + 12 • a) • x2 + (c + 8 • b + 18 • a) • x + (d + 4 • c + 6 • b). Tedy v bázi {1, x, x2, x3}: /1\ /1\ /4\ /6\ M 0 0 1 1 0 8 0 18 0 — 0 0 — 0 1 — 1 0 — 12 w w W w W w v) W A v bázi {1 + x, 1 — x, x2 + x3, x2 — x3}: (p(l + x) = x + 5 = 3 • (1 + x) + 2 • (1 - x) o o M 1 o 0 0 \Á).P[ ..,S]=A.P[ ..,3] 7 -12 6 ' 10 -19 10 12 -24 13 1 1 2 2 5 = 5 6 6 1 -1 Obrázek 6.37: Řešení příkladu 4.102.(a). b) Ai = 2, alg. násobnost = 2, geom. násobnost = 1; a2 = —1, alg. i geom. násobnost = 1, c) Ai = 2, alg. i geom. násobnost = 3; a2 = —2, alg. i geom. násobnost = 1, d) Ai = 2, alg. násobnost = 4; geom. násobnost = 2. Příklad 4.103: Nej jednodušším příkladem je diagonální matice s čísly 1,2,3,4 na diagonále. Příklad 4.104: Stačí si uvědomit, že vlastní číslo diagonální matice má stejnou algebraickou i geometrickou násobnost, tj. podobně jako v předchozím příkladu může být odpovědí diagonální matice s čísly 1,2 na diagonále. Příklad 4.105: Matice má vlastní číslo 3 s algebraickou násobností rovnou dvěma, ovšem jeho geometrická násobnost je také dva. Pokud nevíme, jak matici modifikovat, aby se změnila geometrická násobnost vlastního čísla, nabízí se vzít obecnou matici kde a, b, c, d jsou reálná čísla. Následně vypočteme obecně vlastní čísla a určíme podmínky, za jakých budou vlastní čísla rovna třem. Dosadíme zpět do matice, která má nyní tvar V c d J' 267 Pro c / 0 ověříme, že každá taková matice má vlastní číslo 3 algebraické násobnosti dva a geometrické násobnosti pouze jedna. I pro c = 0 existují požadované matice, jsou to matice tvaru kde b Ý 0. Příklad 4.109: Je třeba najít vlastní vektory. Pokud je lineárně nezávislých vlastních vektorů tolik, jaká je dimenze zadané matice, je zadaná matice podobná s diagonální maticí. Zobrazení má přitom digonální matici v bázi dané právě vlastními vektory zadané matice. 268 Rejstřík ~, 171 ?, 15 %, 19 abs, 12 absolutní konvergence řady, 146 add,168 All values, 24 AllSolutions, 23 allvalues, 24 alternující řada, 145 animate, 45, 83 apply, 34 Approximate Integration, 78, 133 Approximatelnt, 133 ArcLength, 81, 82 Array Tools, 189 assign, 19 Assistants, 15 assume, 27, 89 assuming, 28 Asymptotes, 68 axes, 42 Basis, 152 bod uzávěru, 117 Change, 72 changecoords, 123, 137 ChangeOfVariables, 123, 137 CharacteristicPolynomial, 205 Classic Worksheet, 7 Clickable Math, 5 coeff, 28, 187 collect, 28 color, 42 ColumnOperation, 189 ColumnSpace, 174 combine, 27, 156 conjugate, 170 contourplot, 98 contours, 98, 239 convert, 28, 59, 73 copy, 170 CriticalPoints, 69 D, 54, 104 definiční obor, 35 DeleteColumn, 168 DeleteRow, 168 Determinant, 113, 166 diff, 53, 104 Digits, 16, 19 DirectionalDerivative, 107 discont, 51, 63, 66, 103 display, 44, 105 distance, 199 divergence řady, 138 Document Mode, 9 dolní integrál, 75 dolní integrální součet, 75 draw, 183, 203 Drawing, 42 dsolve, 23 EigenPlot, 206 Eigenvalues, 205 Eigenvectors, 205 Equation, 183 Error, (in plot) 217 Error, (in rtable/Power) singular matrix, 156 Error, illegal use of an object as a name, 215 Error, invalid assignment, 214 Error, invalid input, 167, 212 Error, invalid operator parameter name, 215 Error, invalid power, 215 Error, numeric exception: division by zero, 215 Error, recursive assignment, 149 Error, unable to match delimiters, 214 eval, 32, 33, 54, 113, 168 evalb, 37 evalf, 16, 17, 24 expand, 28, 32 extrema, 64, 113, 117, 199 269 ExtremePoints, 69 factor, 28, 156 FindAngle, 202 fsolve, 23 Function C hart, 69 GaussianElimination, 162, 163, 165 GaussianEliminationTutor, 162 GenerateMatrix, 187 geom3d, 183, 184, 199, 202, 203, 209, 210 GramSchmidt, 195 grid, 93 gridrefine, 93, 95, 98 HermitianTranspose, 170 hessián, 113 Hessian, 113 Hessova matice, 113 hlavní menu, 7 horní integrál, 75 horní integrální součet, 75 implicitplot, 79, 93, 95, 98, 123 implicitplot3d, 104 inequal, 95, 123 InflectionPoints, 69 infolevel, 24, 196 Int, 71, 122 int, 70, 75, 122 integrální kritérium, 143 integrační konstanta, 70 IntegrationTools, 71, 73 integrovatelná funkce, 75 intersection, 183 intsolve, 23 InversePlot, 38 InverseTutor, 5, 38, 163 invfunc, 38 iscont, 51 IsDefinite, 192 isolve, 23 IsOrthogonal, 208, 209 IsSimilar, 208 IsUnitary, 208 kernelopts(maxdigits), 16 kontextová lišta, 7 konvergence řady, 138 labels, 42 Lagrangeova věta o střední hodnotě, 69 laplace, 167, 168 lem, 17 legend, 42 Leibnizovo kritérium, 145 limit, 48, 100 limitní Raabeovo kritérium, 143 limitní srovnávací kritérium, 142 line, 183 LinearAlgebra, 21, 113, 158, 166 LinearSolve, 23, 158, 180 LinearSolveTutor, 162 LinearSystemPlot Tutor, 158 Maclaurinův vzorec, 59 Maclaurinův zbytek, 59 map, 156, 170 map2, 187 Maple Help, 13 Math Apps, 5, 15 Math Mode, 9 Matrix, 153, 156 Matrixlnverse, 156 Maximize, 115, 117 maximize, 36, 115, 117, 119 MeanValueTheorem, 69 metoda per partes, 71 Minimize, 115, 117 minimize, 36, 115, 117, 119 msolve, 23 mtaylor, 111 Multilnt, 122, 123 nástrojová lišta, 7 neabsolutní konvergence řady, 146 nekonečná řada, 138 neurčitý integrál, 70 normal, 27 NullSpace, 174, 205 NumElems, 189 numer, 160 numpoints, 93 obor hodnot, 35 odmocninové kritérium, 142 ohraničená funkce, 35 op, 160, 170 Optimization, 115, 117 Order, 59, 111 oscilace řady, 138 270 palety, 7, 11 parfrac, 73 Parts, 71 pdsolve, 23 Pi, 12 piecewise, 34 plane, 183 Plot, 42 plot, 42, 66, 138 Plot Builder, 42 plot3d, 83, 92, 93, 98, 104, 105, 110 PlotBuilder, 92 plots, 45, 79, 95, 105, 110, 123, 125, 182 plottools, 123 Plot Vector, 149 podílové kritérium, 143 point, 183 pointplot3d, 105, 110, 203 polygonplot, 246 posloupnost, 137 posloupnost částečných součtů, 138 primitivní funkce, 70 printf, 168 ProjectionPlot, 196 rationalize, 210 RealDomain, 21, 36 ReducedRowEchelonForm, 165 restart, 19 Riemannův integrál, 75 RiemannSum, 76, 133 Rolleova věta, 69 RollesTheorem, 69 Roots, 69 RowDimension, 167 RowOperation, 189 rsolve, 23 SearchArray, 189 segment, 183 seq, 138 simplify, 21, 27, 28, 32 singular, 103 solve, 22, 63, 79 sort, 28 spacecurve, 104, 117, 182 sqrt, 12 srovnávací kritérium, 141 stacionární body, 62 Standard Worksheet, 6 stavová lišta, 7 Student[Calculusl], 38, 68, 76 Student [Linear Algebra], 162, 163, 206 Student [MultivariateCalculus], 107, 122, 133 subs, 72, 168 substituční metoda, 71 Sum, 139 sum, 139 SurfaceOfRevolution, 86 Tasks, 15 taylor, 59, 111 Taylorův polynom, 58, 111 Taylorův vzorec, 58, 111 Taylorův zbytek, 58, 111 Text Mode, 9 thickness, 42 transform, 123 Transpose, 156 Tutors, 15 type, 214 unapply, 33, 54, 76 unassign, 19 Units, 21 Units Calculator, 21 unprotect, 190 unwith, 21 uzávěr množiny, 117 uzavřená množina, 117 value, 71, 73 Vector, 148 VectorCalculus, 113 VectorNorm, 198 verify, 37 VolumeOfRevolution, 83 Warning, solutions may have been lost, 218 Warning, unable to determine if 218 What Assumptions, 24 with, 20, 113 Worksheet Mode, 9 271 Literatura [1] Ash, C, Ash, R. B.: The Calculus Tutoring Book. Wiley-IEEE Press (1993) [2] Došlá, Z., Došlý, O.: Diferenciální počet funkcí více proměnných. Masarykova Univerzita, Brno (1999) [3] Došlá, Z., Plch, R., Sojka, P.: Nekonečné řady s programem Maple. Masarykova Univerzita, Brno (2002) [4] Elbelová, J.: Sbírka úloh z lineární algebry a geometrie II. [online], [cit 2013-01-08]. Dostupný z WWW: [5] Hamhalter, J., Tišer, J.: Integrální počet funkcí více proměnných. ČVUT, Praha (2005) [online], [cit 2010-12-27]. Dostupný z WWW: [6] Hřebíček, J., Pospíšil, Z., Urbánek, J.: Úvod do matematického modelování s využitím Maple. CERM, Brno (2010) [7] Hummelová, I., Hamříková, R., Janků, V., Tannenbergová, M., Dostálová, M., Dud-ková, K., Dudek, J.: ZÁKLADY MATEMATIKY pro kombinované a distanční studium. Fakulta elektrotechniky a informatiky, VSB — Technická univerzita Ostrava, 2003. [online], [cit 2010-08-28]. Dostupný z WWW: [8] Kalus, R., Hrivnák, D.: Breviár vyšší matematiky. Ostravská univerzita, Ostrava 2001. [online], [cit 2010-12-31]. Dostupný z WWW: [9] Kouřilová-Snyrychová, P.: Dvojný Riemannův integrál, [online], [cit 2010-12-27]. Dostupný z WWW: [10] Maplesoft: Maple User Manuál, [online], [cit 2010-08-17] Dostupný z WWW: [11] Ústav Matematiky FSI VUT Brno: MATEMATIKA online, [online], [cit 2010-08-17] Dostupný z WWW: [12] Mendelson, E.: 3000 Solved Problems m Calculus. McGraw-Hill (1988) [13] Novák, V.: Diferenciální počet v R. Masarykova univerzita, Brno (1997) [14] Plch, R., Došlá, Z., Sojka, P.: Matematická analýza s programem Maple. Díl 1, Diferenciální počet funkcí více proměnných. Masarykova Univerzita, Brno (1999) 272 [15] Slovák, J.: Lineární algebra 1997/1998. Masarykova Univerzita, Brno. [online], [cit 2012-10-16]. Dostupný z WWW: [16] Zlatoš, P.: Lineárna algebra a geometria. Bratislava (2006). [online], [cit 2012-10-16]. Dostupný z WWW: 273