Matematika s programem Maple Jaroslav Urbánek Listopad 2012 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 What'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 Přiřazení hodnot do proměnných.................... 20 1.4.4 Balíky................................... 21 1.4.5 Řešení rovnic............ ................... 23 2 Matematická analýza s Maple v IR 28 2.1 Výrazy a jejich úpravy.............................. 28 2.1.1 Zjednodušení výrazu........................... 28 2.1.2 Omezující podmínky........................... 28 2.1.3 Úprava polynomu............................. 29 2.1.4 Převod výrazu na jiný tvar........................ 29 2.2 Funkce jedné proměnné.............................. 34 2.2.1 Definice funkce.............................. 34 2.2.2 Vlastnosti funkcí............................. 36 2.2.3 Inverzní funkce.............................. 39 2.2.4 Složená funkce .............................. 41 2.3 Vykreslení grafu funkce.............................. 41 2.3.1 Vykreslování ............................... 41 2.3.2 Animace.................................. 46 2.4 Limita a spojitost funkce............................. 48 2 2.5 Derivace funkce.................................. 54 2.5.1 Diferenciál................................. 58 2.5.2 Taylorův polynom ............................ 59 2.6 Vyšetření průběhu funkce ............................ 63 2.7 Integrál funkce .................................. 72 2.7.1 Neurčitý integrál............................. 72 2.7.2 Metoda per partes ............................ 73 2.7.3 Substituční metoda............................ 73 2.7.4 Určitý integrál .............................. 76 2.7.5 Aplikace určitého integrálu........................ 80 2.7.6 Nevlastní integrál............................. 90 3 Matematická analýza s Maple v Wl 94 3.1 Funkce více proměnných............................. 94 3.1.1 Definice funkce více proměnných .................... 94 3.1.2 Vykreslení funkce dvou proměnných................... 94 3.1.3 Definiční obor funkce dvou proměnných................. 96 3.2 Limita a spojitost funkce více proměnných................... 101 3.2.1 Limita funkce............................... 101 3.2.2 Spojitost funkce.............................. 105 3.3 Parciální derivace funkce více proměnných................... 106 3.3.1 Směrové derivace............................. 109 3.3.2 Diferenciál................................. 110 3.3.3 Taylorův polynom ............................ 113 3.4 Extrémy funkce více proměnných........................ 114 3.4.1 Lokální extrémy.............................. 114 3.4.2 Absolutní extrémy............................ 119 3.5 Vícerozměrný integrál .............................. 123 3.5.1 Geometrická aplikace dvojného integrálu................ 130 3.5.2 Geometrická aplikace trojného integrálu ................ 135 3.5.3 Transformace souřadnic ve dvojném a trojném integrálu ....... 138 3.6 Nekonečné řady.................................. 139 3.6.1 Absolutní konvergence řad........................ 147 4 Lineární algebra s Maple v C". 150 4.1 Vektorové prostory................................ 150 4.1.1 Vektory.................................. 150 4.1.2 Matice................................... 155 4.1.3 Soustavy lineárních rovnic........................ 160 4.1.4 Gaussova eliminace............................ 164 4.1.5 Determinant................................ 168 4.2 Lineární zobrazení ................................ 173 4.3 Afinní geometrie ................................. 173 5 Chyby 174 5.1 Chybové zprávy (Error Messages)........................ 174 5.1.1 Math mode / Text mode......................... 174 5.1.2 Chybné argumenty příkazů........................ 174 5.1.3 Nesprávné použití závorek........................ 176 5.1.4 Nesprávné přiřazení............................ 176 3 5.1.5 Dělení nulou................................ 177 5.1.6 Nesprávný zápis mocnin......................... 177 5.1.7 Nesprávné použití objektů........................ 177 5.1.8 Nesprávné definice a, použití funkcí................... 177 5.1.9 Chyby při vykreslování.......................... 179 5.1.10 Další chybové zprávy........................... 179 5.2 Varování (Warnings)............................... 180 5.3 Ostatní chyby................................... 181 5.3.1 Nenačtení balíku (knihovny)....................... 181 5.3.2 Nesprávné používání některých symbolů................ 181 6 Návody k řešení příkladů 183 6.1 Uvod do systému Maple............................. 183 6.2 Matematická analýza s Maple v R........................ 184 6.3 Matematická analýza s Maple vt"....................... 199 6.4 Lineární algebra s Maple v C".......................... 220 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 kapitoly věnované lineární algebře a diferenciálním rovnicím. Současně byly odstraněny některé známé nedostatky předchozího textu. 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. 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). TATO VERZE TEXTU JEŠTĚ NENÍ DOKONČENA. POSLEDNÍ AKTUALIZACE: 5. 11. 2012. 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 [5], [9]. Systém Maple je vyvíjen od roku 1980, v němž se objevila jeho první limitovaná verze. Přelomovým obdobím byly roky 2003-2005, v nichž vznikla devátá a následně desátá verze Maple 10 přinášející nové grafické uživatelské rozhraní zvané Standard Worksheet a poté tzv. dokumentový režim (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 nejnově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, je v 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 ^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 na ikonu Maple 16 na ploše. Toto prostředí poskytuje veškeré možnosti systému Maple 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 QOĚél JítoH t> X mm >^ !!!!0^& O* fŕ g] NÁSTROJOVÁ LIŠTA I ■ Favorites , ►MapleCloud (Off) I ^ Live Data Plots I ► Variables T Handwriting I 1 AALET J \ Input Window... ( C 2D Math ▼) (Times New Roman ^) (j2 V) B [T] U KONTEXTOVÁ LISTA DOKUMENT * Ready SIAVOVA LISTA Ci'frogram Files'flaple ló Memory: 2.OM Time:0.35s Hath Mode 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 [5]. 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 |ü|s|*|y|Ä|| MB||t>| ||z|T|[>|h7|Ťi||H-ll« IKKKIIill-M hi 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); "A 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 [5]). 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 [5]. 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) [5]. 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 [5]). 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) [5]. 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 [5]). 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ů [5]. 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 ď ln(ü) 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 [5]. 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 ^fx 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 [5]. 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 [5]). 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 [5]. 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) [5]. 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 abs - 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 Portál Od předcházející verze (tedy Maple 13) je k dispozici tzv. Maple Portál. Spustit jej můžeme samostatně {Maple Portál má vlastní ikonu na ploše) nebo přes nápovědu v hlavním menu (Help > Manuals, Resources, and more > Maple Portál). Maple Portál 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í nej jednodušších problémů až po velmi složité úlohy [5]. 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 [5]. 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 [5]). (Help > Manuals, Resources, and more > Manuals) a pak kliknutím na zvolený manuál [5]. 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 (Assistants), Instruktoři (Tutors) a Úlohy (Tasks), které vyvoláme z hlavního menu (Tools > Assistants nebo Tools > Tutors anebo Tools > Tasks). Pomocníci (As-sistants) 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) [5]. 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 [5]. 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 [5]. 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 14 je toto číslo 268 435 448, tedy více než 268 milionů platných cifer, s kterými dokáže systém „teoreticky"10 počítat [5]. Pi Ji Digits 10 evalf (Pi) 3.141592654 evalf (Pi, 5) 3.1416 evalf'(Pi, 20) 3.1415926535897932385 Obrázek 1.10: Příkaz evalf (převzato z [5]). 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 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 počet platných míst specifikovaný v proměnné Digits. Přidaný druhý parametr řekne funkci evalf, na kolik platných míst má výraz vyhodnotit, viz příklady na obrázku 1.10 [5]. Maple rozeznává přesná čísla (mezi něž patří i zmíněné symboly 7r a e, zlomky atp.) a čísla typu Floating-Point, nebo-li čísla v pohyblivé řádové čárce. Jestliže systému zadáme výraz, v němž některý z jeho podvýrazů bude typu Floating-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 [5]. y + y = ^- , ale y + 1.5 = 2.166666667 + = JT + , ale + VT= 1-414213562 + V 3^ Obrázek 1.11: Přesná čísla a čísla typu Floating-Point (převzato z [5]). 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 [5]. 110, 12, 15 Copy Copy full precision Copy as MathML Paste Ctrl+V Evaluate Evaluate and Display Inline Ctrl+= Explore Apply Function Apply a Command Dot Product Map Command Onto 5elect Element Simplify Constructions Conversions Plots 2-D Math Table Greatest Common Divisor Least Common Multiple TT Obrázek 1.12: Provedení výpočtu pomocí kontextové nabídky (převzato z [5]). 17 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 [5]). 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, 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. evalf (tí, 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 — — — Proč 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. 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" 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 [5]- 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 (°/0) 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). 18 f- 16 3 (1) 8-3 24 (2) 5 - jr 5 - jt (3) 10 + (2) 34 (4) Obrázek 1.15: Označení výsledků (převzato z [5]). Insert Label xj _ Type: Identifier: [ Equation OK Cancel Obrázek 1.16: „Vyskakující okénko" pro zadání označení (převzato z [5]). 1- 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 19 1.4.3 Přiřazení hodnot do 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í zruš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). a a c c a := 2 2 assign (c, 2) c a 2 imassign{ 'c') c 2 b b a c b := 3 -a 6 a :=V 2 b 6 a a a Obrázek 1.18: Přiřazení hodnot do proměnných a odstranění uložené hodnoty (převzato z [5]). 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. Pi K Digits 10 evalf(Pi) 3.141592654 Digits := 5 5 evalf(Pi) 3.1416 Digits := 20 20 evdf[Vi) 3.1415926535897932385 Obrázek 1.19: Proměnná Digits a příkaz evalf (převzato z [5]). 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 proměnných na jejich původní hodnoty. Provedení příkazu odstraní všechny uložené hodnoty 20 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) [5]. 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). 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 [5]. Matice ■ -2 1 -1 1 -1 0 -1 0 -1 with (L in ear A Igebra) Eigenvalues{Matice) unwith {LinearAlgebra) Eigenvalues{Matice) -2 1 -1 1 -1 0 -1 0 -1 r ' -2 1 -1 ' Eigenvalues 1 -1 0 K -1 0 -1 J LinearAlgebra[Eigsnvalues (Matice) 0 -1 -3 Obrázek 1.20: Použití balíků. nKroniě pojmu balík se v češtině používá také termín knihc 21 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). simplify{Jx^) 1 (-8)3 csgn(jc) x (-8)1/3 with {RealDomain) simplify{JlF) 1 (-8)3 |z| -2 solve^x +-V..v) 0,1, -I solve^x +x,x) 0 ln(-l) IJT ln(-l) undefined Obrázek 1.21: Použití balíku RealDomain. 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. F:=10fe]|-9.81^_ M 98.10 fel [m] M2 simplify [%] 98.10 In} Obrázek 1.22: Použití jednotek (převzato z [5]). 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. 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) [5]. 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 22 ■glpšoft Units Calculator Convert between over 500 units of measurement. See I "nits 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-°«»°°°°<>° From: |feet (ft) zi To: |meters (m) Dimension: len9tn Perform Unit Conversion Convert Back Obrázek 1.23: Unit s Calculator (převzato z [5]). 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. 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. 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 [5]. 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 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ý. 23 Rovnice solve {x2 + 5-x+6 = o) -2, -3 x2 + 5-x +6 = 0-^ {x= -2}, {x= -3} Nerovnice solve {x2 + 5 -x +6 < 0) Re al Range [Op en ( -3 ), Open( -2)) x2 + 5 x + 6 < 0 {-3 10 (pro 10 platných míst) z kontextové nabídky. solve [y? — 2 y? + 2 = o) RootOf {_ŕ - 2 _ŕ + 2, index = 1), RootOf {_ŕ - 2 _Z3 + 2, index = 2), RootOf (_Z4 - 2 _Z3 + 2, index = 3 ), RootOf (_Z4 - 2 _Z3 + 2, index = 4) allvalues[ {%}) evalf[%) {-0.5290855140 - 0.74293413591, -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 [5]). solve[x^ < o) infolevel[solve] ~ 1 : solve^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 [5]). 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á infolevel. 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, 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é infolevel, 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é infolevel dokumentují obrázky 1.27 a 1.28 [5]. Příklad 1.12: Řešte nerovnici: \x — 2| < 1 pro x G IR. Řešení: 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 0pen(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 x G Z. Příklad 1.15: Určete kořeny polynomu 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. Výstup příkazu roots je tvořen seznamem dvojic. Každá dvojice obsahuje hodnotu kořenu a jeho násobnost. 26 solve[x -3x2 - 13 x + 15 = O) 5,1, -3 roots[x - 3-x2 - 13x+ 15) [[1,1],[5,1],[-3,1]] Obrázek 1.30: Řešení příkladu 1.15. Příklad 1.16: Řešte nerovnici x < x2 — 12 < 4 • x pro x G BL Příklad 1.17: Určete obecně kořeny kvadratického polynomu tvaru a ■ x2 + b ■ x + c pro aGl \ {0},& 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(x) = ^/Š 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. 27 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 [x + 2y x2-4y simplify^ e* +ln(ř)) normal í — + y x x + 1 normal í — H---— . expanded] y x x +1 J .ľ+ 1 x + 2y o e c i + 1 + x x (x+1) x + 1 + x j . í sinful cosťŕl casfal ■ siní ťl *| combme(2 ■ sin(jc) - cos(.v)) jrafa-l-ŕ) 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 28 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^ simplify^ jc2 ) csgn(jc) x assume —real) 1*1 simplify^ 7 ii assume = positive) x simplify^ x2, assume = negative) -x simplify^ If ) assuming x real \x\ simplify^ x" 1 1 ) assuming x :: positive simplify^ ( -1 )z ) assuming z '.'. even 1 simplijy{ ( -1)2) assuming z :: oŕ&í -1 v :— _v + 6 r + 5 jc + 4 u — 2r — 9 x-y + 12 6x + 4r + 4u - 9xy+ 12 simplify^y, {jí = 2./-=3.u = 1}) 40 - 18 j 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- 29 íi-ln(.v) -ln(.v) -x—x collect {%An(x)} collect^a + a■ ^3~3 o) aln(x) — ln(x) x — x (a — x) In (.v) — x (l a p^ := xS — 8 ■ x5 + 23 ■ x4 + 68■ x3, - 244- x2 - 224- x + 384 : coeff~(pvx,4} 23 c°<ď(Pv 1 ) -224 384 sort( 1 + x3 + 3 ■ xA2 - -4-x4) -4 x + x3 + 3 x2 + 1 sí>í-ř( 1 + x3 + 3 ■ xA2 - - 4-x4, x. ŕiŕeg. iijesíídĺHg) 1 + 3 x2 + x3 — 4 x4 Obrázek 2.3: Použití příkazů collect, coeff a sort. pol{ ~x - 8- x +23- x4 + 68- x3 - 244 ■x2 -224-x + 384 x6 — 8 x5 + 23 x4 + 68 x3 — 244x2 - 224x + 384 pol2 ■■= x4 - 6 x3 + 22 x2 - 48 x + 40 4 3 2 x — 6 x +22 x -48x + 40 (x - 1) (x-3) (x -8x+32j (x + 2) (x2-2x+ ltT (x-2)2 x6 — 8 x5 + 23 x4 + 68 x3 — 244x2 - 224x + 384 expand ^s^ J x — o x +22 x -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). 30 (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 nal) 1 S 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 ,._ U5 + l) x5 + 1 4 2 x —x convert (f, parjřac) {x-b)1 x {x-b)1 convertif.parfrac,. x) 1 + h x~b (x-b)2 convert{ parjř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čí imagonární jednotku. 31 y._ {4 X -6-X2 -2) (x4-2-x3-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, real) 1.01 1.27+2.00 x 0.992 *-2- x2 + 1.259921050jľ + 1.587401052 x - 1.259921050 convert{f,parfrac, complex] 0.980 + 0.003341 | 0.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 ámpliŕy x + 1 x + 2y x -4j x + 2y 2 1 X normál X + 1 + X + -—-.--* X x + 1 x (x + 1 ) ean(tr) cos(A) ^cosía)■ úo(b) oom|iioe siti(a) cos(r) +cos(a) sio(íf) com^ine »o(a + &) i~2 assuming reál V x -* \x\ aln(x) -ln(x) x _íco=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=andx6-8xi + 23x4 + 6Sx3 -244x2 -224x + 384 convert to rational 1 x convert to partial ftactions m s b 1 (x-bf * Obrázek 2.7: Zjednodušování výrazů pomocí kontextové nabídky. 32 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. ■J x + b (a ■ x — b-i a-b {b = í6,x=9,y='i} simplijy{%) nebo simplify simplify Cl ' ^x + b (ax-bx) } -—i---1-7—^, {o= 16,1=9,^ = 3} 3 simplify ,( J x + b íax — bx) sval ——z------——, i b = {b=16,x=9,y=3} 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. expo/ifí^x—— J ■(.v+5)2J 5 . H 4 53 3 387 2 . .„ 67 x +—x -—x -—x +135.-- 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é. 33 Příklad 2.4: Zjednodušte výraz g—b a+b I"! 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-v ■ (z2 Příklad 2.7: Zjednodušte: (2 • h + 5 • s)2 - (2 • h + 5 • s) • (2 • 5 • s). Příklad 2.8: Nechť Pl = x5 + 15 • x4 + 85 • x3 + 225 • x2 + 274 • x + 120, p2 x2 + 6 • x + 8. 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 [5]. 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 34 ý ■= x-^x 2 x— z(x) ■=x 2 /(5) 25 z(5) 25 {a + bf z(3-í:) 9 tľ Obrázek 2.10: Definice funkce v prostředí Standard Worksheet. 2 Jt—*Jt 2 x :—'x'\ apply[f,x) 2 X 2 /(5) 25 25 ff(5) *(5)2 unapply{g,x) 2 x—*x eval[g, i=5) 25 x unapply{g,x) (5) 25 x x '■— 5 5 & 25 25 Obrázek 2.11: Rozdíl mezi funkcí a výrazem (převzato z [5] 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 35 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) [5]. /:= x—>piecewise[x < 0,-1, x = 0, 0, 1) x—>piecewise(x < 0, -1, x = 0, 0, 1) /(-s) -1 0 /(153.Ó) 1 J2 '■— x^piecewise[x < 0,-x, undefined) x—>piecewise(x < 0, - x, undefined) 8 M*) undefined gW := 0 x < JI 1 x > jr x—>piecewise{x < Jt, 0, jr < x, 1) g(0) 0 0 g(4) 1 Obrázek 2.12: Funkce definovaná po částech (převzato z [5]). 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). 36 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)- Dennice 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 E M : xľ < x2 f{xi) > f{x2), (d) neklesající, jestliže \/xi,X2 E M : xľ < x2 f{xi) < f{x2), (e) konstantní, jestliže \/xi,X2 G M : /(rci) = f{x2). Dennice 2.5: Nechť M C -D(J) obsahuje alespoň 2 body. Řekneme, že funkce / je na M (a) prostá (injektivni), 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 solve{\o.{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. 37 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(cos{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 • 7r a na intervalech [k ■ 7r, (k + 1) • 7r] 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(rr) 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) = \. 38 Příklad 2.15: Definujte funkci /, pro niž platí: (a) D(f) = (0,1), H(f) = (0,2), (b) D(f) = R\{1}, H(f) =R\{0}, (c) D(f) = R\{0}, H(f) =R\{1}, (d) D(f) = R, H(f) = R+, f je prostá, (e) D(f) = R\(-2,2),H(f)=R, (f) D(f) = R, H(f)=R\(-2,2), (g) D(f) = R, f je prostá a ohraničená (h) H(f) = IR, / je sudá. Příklad 2.16: Nalezněte k ER tak, aby byla funkce f(x) = x3 — 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) / : R R, f (x) = a ■ x + b, a, b G R, (b) /:M0+^M+, f(x) = y/ž, (c) f :R—ř R+, f (x) = x2, (d) f :R^R, f (x) = x3, (e) f:R\{0}^R\{0}, f(x) = \. 2.2.3 Inverzní funkce Definice 2.6: Nechť / je prostá funkce. Funkci pro niž platí: D(f~v) = H(f) a \/x G D(f) : 3y G H (f) tak, že f~ľ(y) = x f (x) = y, nazýváme inverzní funkcí Poznámka 2.1: Z definice plyne, že funkce a její inverze jsou osově symetrické vzhledem k přímce y = x. Systém Maple má uchováno několik základních funkcí s jejich inverzemi v tabulce s názvem invf unc. Praktičtější je využít příkazů InverseTutor nebo InversePlot z balíku Student [Calculusl] vykreslujících do jednoho grafu funkci, její inverzi a osu y = x jakožto osu symetrie. Příkaz InverseTutor provádí zmíněné v mapletu, příkaz InversePlot slouží pro použití v dokumentu (obrázek 2.15). Hledat předpis inverzní funkce můžeme rovnou podle definice 2.6, a to řešením rovnice f(y) = x pro neznámou y. 39 with (Studenti Calculus 1 ]) : InversePlot{ e*, -4 ..2) Reflection aerossy = x 8- \ y I y / y \ y 6- f y í y í y j y 4- j y í y / y / y _ 2- / y —------ / y y y ^ 4 -2 ^15 f 2 4 6 S y / x / 2- y 2 y y y -a f(.\) f[x) reflected acrossy = jc On the interval [ -4, 2], a ^aphoff (x) = S*, the liruej; = x, and the reflection of/(x) across the line^^ x. Obrázek 2.15: Vykreslení funkce a její inverze. f (x) :=x2 2 x—*x y(x) := solve(f(y) = x,y) x->solve(f(y) =x,y) yfx Mx)[2] Si Obrázek 2.16: Řešení příkladu 2.18. Příklad 2.18: Nalezněte inverzní funkci k funkci f(x) = x2. Řešeni: Naše odpověď by mohla být velice stručná, neboť funkce / není prostá, a tak k ní neexistuje funkce inverzní. Nicméně je možné funkci / rozdělit na dvě funkce prosté a hledat inverzi ke každé zvlášť. V systému Maple provedeme dříve zmíněný postup, tj. budeme řešit rovnici f(y) = x. Získáme 2 řešení, a to právě pro 2 „prosté části" funkce /. Pro x < 0 je inverze k x2 rovna — y/x, pro x > 0 je rovna yfx (obrázek 2.16). 40 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 g[x) ■- V*7 1/3 x—*x x flsM) 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. 41 Interactive Plot Builder: Select Plot Type Select Plot Type and Functions- Edit Functions Select Plot- |2-D plot 2- D polar plot 3- D conforrnal plot of a complex-valued function 2-D conforrnal plot of a complex-valued function 2- D complex plot 3- D complex plot Select Variable Purposes, Ranges, and Plot Options Options On 'Plot' return plot command Obrázek 2.18: Zvolení typu vykreslení v Plot Builder (převzato z [5]). 42 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 [5]. 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-2 \ x —* \ \ 40-\ 20- j plot(x2) v 100-\ 80-\ 60-\ 40-\ 20- J -10 -J [ i 10 X -10 -í [ 5 10 Obrázek 2.20: Vykreslení grafů pomocí kontextové nabídky a příkazu plot (převzato z [5]). 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 [5]. 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 [5]. 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é). 43 Plot (plot) Ix -> Label Orientation Hi10 J B I J default .ill10 T |Red I Custom J | Caption- Times ~«"i|lO T| B 1 normal Advanced Settings [Times T1 10 J B 7 -View- -Miscellaneous-Resolution 800 -r J 17 Adaptive Plotting Find Discontinuities Show Removable Number of Points | £00 Fill to x-axis Constrained Scaling -Coordinate System — cartesian — Preview Plot Command Back Reset Cancel J Obrázek 2.21: Okénko Plot Builder pro nastavení parametrů grafu (převzato z [5]). plotny?,x= -5 ..5, color = bluer thickness = 5, legend = "Graf funkce 3^2", labels = = ["x", "y"]) . 25 -i \ 20 - \ 15' \ 7 \ 10 - \ 5 - ■ i 1 i 1 ^^Bli! -4 -2 [ 2 4 X Graf funkce Obrázek 2.22: Vykreslení grafu při specifikaci některých nepovinných parametrů (převzato 44 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([.V2,x^,x],x = -2 ..2, thickness^ 3, color— [green,red, brown]) plot{ {)?,x ,x\,x — -2 ..2, thickness— 3, 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, thickness=?>, color=red) PLOT{...) p3 '■= plot{x,x = -2 ..2, thickness= 3, color= brown) PLOT{...) plots[display] ([pl,p2,p3]) 8 -i & ■ \ \ 1 2 ■------f -2 - X f "4" / -6 --8 - Obrázek 2.2^: Vykreslení grafu více výrazů pomocí příkazu display. 45 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. [^7 Interactive Plot Builder: Specify Expressions 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) [5]. 46 Interactive Plot Builder: Select Plot Type Select Plot Type and Functions- J □ Edit Functions Select Plot- |2-D polar plot I3-D conforrnal plot of a complex-valued function 2-D conforrnal plot of a complex-valued function 2-D complex plot 3-D complex plot Select Variable Purposes, Ranges, and Plot Options 3 AmiYiAticri ParjjYieter Options On 'Plot' return plot command Plot Cancel Obrázek 2.26: Zvolení druhu vykreslení (animace) v Plot Builderu (převzato z with{plots I : animate( plot, [A * sin(x), x =- A =2.0000 2- 10 ..10],.4 = 0..2 ) Obrázek 2.27: Animace vytvořená příkazem animate (převzato z [5]). 47 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 IR 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 IR 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ě. 48 Definice 2.10: Funkce f {x) má v bodě +00 limitu rovnu L G IR, jestliže ke každému e > 0 existuje K E R 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. Choose a value for c. 0 C = I -9.0 -6.0 -3.0 0.0 3.0 6.0 9.0 3. Ask for an e Gíve me a n™ epsilon! 4. Try to choose 5 small enough so that \x — c\ < 5 implies \f[x) -L\ < e.T. If the 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' 0 5 _ If it's not possible to choose such a 5, the function/(jc) does not have a limit at the point c ! Reset [7J Shade Region Epsiloi y l + e í-Delta 1/ ------ ĺ - í 1 x .v -S C x + ň 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í. 49 limit ^ —. x = O j = undefined limit ^ —, x— 0. right j — co lim — = undefined lim — =<» oboustranná limita: —--undefmed „ , 1 limit limita zprava:--> íiřříiř (fix), x = 0) = undefmed limit(f (x),x=0, right) = 03 lim^/fjí) = undefmed 1^0 + Obrázek 2.30: Určení limity v bodě. lim sin í — I -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) lim 2^1, fbj lim sin(ffl':r) ex-l (c) lim , (d) lim tan(rr) Příklad 2.28: Určete následující limity: \a) llni 3/^2 ,3/-, (c) lim 2:—»2 Va2+5-3 (b) lim cos(|)-sin(|) cos(:r) : (d) lim 3-a+2 Jak byste limity určovali bez systému Maple? (e) lim 5x +3x 4.x 1 (f) lim^ sin(í)-cos(í) Příklad 2.29: Definujte funkci, která: (a) má vlastní limitu ve vlastním bodě, (b) má vlastní limitu v nevlastním bodě, 50 (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 1 - 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) Variable x at |Pi/2 Direction ~3 5tart JJTT lim cos I —jc 1 L 2 1 sm(x) 1 2 ■/~2~ 4- cos lim —jc 1 2 I -» IT 11 L 2 J sm(x] 1 1 ~* T 1 2 ■f~2 + cos — hm x 2 i i -» — n ^ 2 f lim sin{x) ■4" /2~ lim sm(x) ■ -ý. r |7 Show Hints Constant Constant Multiple Get Hint Identity Sum Difference Product Quotient Power Change I'Hopital's Rule Divide by zero Factor Rewrite Exponential Natural Logarithm ^ || 1 _rj 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) = f(xo). 51 Definice 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. lim f(x) = f(x0)). Definice 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), x = -5 ..5,y = -3 ..3, thickness = 3, discont= trne) 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 ji v těchto bodech spojuje úsečkami rovnoběžnými s osou y. 52 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. 53 x ^ 4 ... x = 4 byla spojitá pro všechna i G K. Řešení: Jelikož x2 — 16 = (rr — 4) • (x+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) /(*) = Äfe (c) fXx) = ^df,beR. Í3-x2 -1 ... x < 0 c-rr + ři . .. 0 < rr < 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° derivací 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. 54 d (x1 + 2-x + 6 ) = 2 x + 2 dx (i2 + 2i + 6) =2x + 2 diff{x +2x + 6,x) =2x + 2 2 , _ , , differetitiate w.r.t. x x +2x+6-* 2x + 2 {x2 +2x+ů)' = 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) := x1 + 2-x + 6 x^x + 2 x + 6 B(h) x^2x + 2 2x + 2 D(A)(2) 6 evaí{%, x=2) 6 D(sin) cos g ■■= ttnappty^-^h(x),x"j x^2x + 2 D(sin) (x) cos(jc) 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) - 55 pravá část obrázku 2.37. —j{x +2x + 6) =2 d x —y{x2 + 2x + 6) = 0 d x áiff{x2 +2-x + 6,x,x) =2 diff{x2 + 2 x + 6; x, _v; x) — 0 (x2 +2-.V + 6) " = 2 (x2 +2-x + 6)i3) = 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). 56 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. lil Calculus 1 - Derivative File Help r Plot Window - Enter1 a function and an interval [a,b]- ■Derivatives I f'(x) = |cos(x)-x*sin(x) |7 Display f'(x) in the plot F"(x) = |-2*sin(x)-x*cos(x) Display F"(x) in the plot j Maple Command - Plot Options Close D5rivitivrPl-rt(K*coj (xj , (■ .. Pi f 1 order1 = [1] , 'view' = [(". .. 2.14, - J. 51 .. 1.24]); J Obrázek 2.40: Pomocník pro výpočet a zobrazení derivací. m Calculus 1 - Differentiation Methods File Edit Rule Definition Apply Rule Understood Rules Help ■ Enter a Function -Function |x*sin(x) Variable fx {xsm{x} ) [ áx -- sinyx] -+ x ^ -^sinyx - sin(x) -+ xcos{x) Constant Identity Constant Multiple Sum Difference Product Quotient Power Chain Rule Integral Rewrite Exponential Natural Logarithm ▼ Undo Next 5tep I AÍÍSiieps ^ Close 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 57 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 (a) £(/(*)•ert(%, polynom) = 1 + x + \- x1 + \ x3 + -J- / + -^—x5 + xŘ + x7 + l x8 + 2 6 24 120 720 5040 40320 362880 Obrázek 2.43: Ukázka použití příkazu taylor. Maple 16 dále poskytuje matematickou aplikaci Taylor's Theorem (Tools > 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. 60 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í: Rn (X) X n+1 (n + 1)! kde 0 G (0,1). Nás bude zajímat funkční hodnota v bodě 1, tj. pro x = 1 dostáváme: (n + 1)!' V zadání je požadována přesnost 10 3. Má tedy platit: K(i)| + 1) Což je to samé jako: (« + 1) ! > 3-103 = 3000 Maple takovou nerovnost vyřešit neumí, ale případně metodou "pokus-omyl" zjistíme, že: (n + 1) í > 3000 — n > 6 Maclaurinův vzorec: taylor[e,x= 0, 7) . . , 1 2.1 3.1 4. 1 5 , 1 5 . „f 71 Maclaurinův polynom: app ■= convert(%,polvnom) 1 -u -u 1 2 . 1 3 . 1 4 . 1 5^1 6 2 6 24 120 720 Vytvoření funkce ze získaného výrazu: aprox := unappfy(app, x) . . ,1 2,1 3, 1 4, 1 5 , 1 6 X-*l +X+ —X +—X +— X +-TT— X -\-——X 2 6 24 120 720 Aproximace Maclaurinovým polynomem: evalf(aprox( 1)) =2.718055556 Přibližná hodnota v Maple: evalf[c) = 2.718231828 Chyba aproximace: chyba := \evalf{aprox{ 1)) - evalf[e ) | = 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. 62 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 /(x) na intervalu J klesající. Definice 2.17: Řekneme, že funkce f(x) má v bodě x0 G IR lokální minimum, jestliže existuje ô G IR, 5 > 0 tak, že f(x) > f(x0) pro všechna x G (x0 — ô,x0 + 5). Analogicky definujeme lokální maximum funkce. Lokální minima a maxima se souhrnně nazývají lokální extrémy. 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 [xq — ô,x0) a nerostoucí na intervalu (x0,Xq + ô), má /(rr) v bodě Xq lokální 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"(xo) > 0, má funkce f(x) v bodě xq 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 a±, cl2 taková, že ai + a2 = 1 platí: /(ai ■x1 + a2- x2) < ai • /(xi) + a2 ■ f{x2). Pokud za týchž předpokladů platí: f{a1 ■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. 63 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 — ô, x0) ryze konvexní a na (x0, x0 + ô) ryze konkávni (resp. naopak), nazýváme bod x0 bodem inflexním. Poznámka 2.16: V bodech nespojitosti x0 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—>X()~ 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^KX) X \ x^-co x B = lim (f(x) — A-x) í resp. B = lim (f(x) — A- x] 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 nespojitosti 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 je pro libovolná x kladný, z čehož plyne, že f(x) > 0 pro x > 0 a f[x) < 0 pro x < 0. Pro nalezení nespojitosti použijeme příkaz discont. 7Upozorně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. 64 1 Znamenkn: f{x) :=x-eX : solve{f{x) < 0) Warninq, solutions may have been lost Nulové body: so lve {f(x) = 0, jí) solve{f{x) > 0) Warninq, solutions may have been lost Průsečík s osouj: Není, Fuaksxffx) není definovaná v bodě 0. Body nespojitosti: f 5" 1 discontyx-s ,x) - {0} Obrázek 2.46: Řešení příkladu 2.48 - bod 1. 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 Nulové body: solve{derl = 0, x) První derivace je kladná (tj. funkce/je rostoucí): solve{derl > 0,x) RealRange{ - <*>. Open(0)). RealRange( Open(1), co ) První derivace je záporná (tj. funkce/je klesající): solve(derl < 0,jí) RealRange{ Open{ 0), Open{ 1)) Extrémy: extrema{f{x), { },x'bod') bod {{*=!}} Obrázek 2.47: Řešení příkladu 2.48 - bod 2. 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). 65 2 der2 ■= -t/Í*) d x 1 Druhá derivace je kladná (tj. funkce/j e konvexní): solve{der2 > 0, x) Warninq, solutions may have been lost j, e 3 x solve{x > 0,x) RealRange(Open(G), 03) Nulové body: so lve (der 2 = 0, x) Druhá derivace je záporná (tj. funkce/je konkávni): solve(der2 < 0,x) Warninq, solutions may have been lost solve{x3 < 0,x) RealRange( - 00, Open(0)) Extrémy: eval{ der2, x= 1) e Obrázek 2.48: Řešení příkladu 2.48 - bod 3. Se směrnici! Bez směrnice: Předpokládáme, že směrnice má rovnici y = Á-x + B. A, :- lim ^ 1 x 1 Očekávat ji můžeme pouze v bodě nespojitosti. Její obecný tvar je x = K. K e J5. lim f [x) = 00 A-.= lim f{x) 1 lim /(x) =0 1 B2 := Km_(/(x) -^2--v) 1 Asymptota se směrnicí bude jedna (tj. bude stejná pro x —* co a pro x —> - 00 ). Bude mít tvar y = x + 1. Obrázek 2.49: Řešení příkladu 2.48 - bod 4. 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 /. 66 plot[[f[x), x + l],.v = -3 ..3, j = = -5 . 10, color = [red, green], linestyle = [solid, dash], thickness = [ 3, 2 ], discont= true) lO-i y í- ^^^^^ -3 -2^--^1 0 i 1 i ■ i 1 2 3 -J - Obrázek 2.50: Řešení příkladu 2.48 - bod 5. Příklad 2.49: Vyšetřete průběh funkce f(x) = -^fp[-Ř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 sol ve. Pro nalezení nespoj itostí použijeme opět příkaz discont. f(x) ■=^—: x +1 Znaménka: sotve[f[x) < 0) RealRange{ - w, Open(0)) Nulové body: solveí f(x) — 0,x) 0 solve{f(x) > 0) RealRange(Open(0). o°) Průsečík s osou>' i Body nespojirosri: /(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) = IR. 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 67 derl := A-f(x) d.v 1 2x2 *2 + i U2 + i)2 První derivace je kladná (tj. funkce/je rostoucí): solve{derl > 0,x) RealRange{ Open{ -1), Open{ 1)) První derivace je záporná (tj. funkce/je klesající): Nulové body: solve{derl = 0. x) -1,1 solve(derí < 0,x) RealRange{ - oo, Open{ -1)), ReaiRange{ Open \ 1), <» ) Extrémy: sxfre/F!a(/(x). { }. x.'ř>Oífvř) {{x=-l},{x=l}} Obrázek 2.52: Řešení příkladu 2.49 - bod 2. 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 derl := -^-/(x) dx ó .v 8 x 2 „ 3 Druhá derivace je kladná (tj. funkce/je konvexní): solve(der2 > 0,x) RealRange{Open{ -JJ), Open{0) ),RealRange(Open{ JJ), oo) ť + 0 (x2+l) Druhá derivace je záporná (tj. funkce/Je konkávni): Nulové body: solve(der2 < 0,x) RealRange\[ - , Open\[ - ) ). RealRange\[ Open{ 0), Open[ ) ) jo rva (der 2 = 0. x) Extrémy: eval{der2,x = 1) 1 2 sval [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. 5. Vykreslíme graf funkce f(x). 68 Se směrnicí: Bez směrnice: Předpokládáme, že směrnice má rovniciy = A-x + B. A, ■= lim J • ' 1 a- -»co x 0 Funkce je spojitá na celé množině R, a nemá tak asymptotu bez směrnice. A.= lim /W 0 0 0 Asymptota se směrnicí bude jedna (rj. bude stejná pro x —> oc- a pro x —> - »). Bude mít tvar>' = 0. Obrázek 2.54: Řešení příkladu 2.49 - bod 4. plot[[f[x),Q],x = -10..1Q,y = - -2 ..2, coíoí"= [red, green], Imestyle = [solid, dash ]. thickness = [3.3]) 2 -i 7 i- -1 - 5 10 -2- Obrázek 2.55: Řešení příkladu 2.49 - bod 5. 69 Příklad 2.50: Vyšetřete průběh funkce: (a) f(x) = (x2 - If (b) /(*) (c) f(x) (d) f {x) = sin(rr) + x, (x-l)3 (e) f(x) x2 ■ ln \x\ O .. 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 [Calculusl]. Představme si alespoň několik z nich. Příkaz FunctionChart zobrazí graf funkce (zadané jako výraz) s vyznačením významných bodů a funkčních vlastností. Na obrázku 2.56 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. with (Student[ Calculusl í(xe* , FunctionChart\x-e ,pointoptions = \symbolsize= 20 ] On the intetval [ -10, lo], a chart of/[jr) =xe* . FunctionChart\ —, pomtoptions = [symbolsize = 2G] 0.6 -0.6 On the interval [-10, lo], achartof/(r) = 10 Obrázek 2.56: Použití příkazu FunctionChart z balíku Student [Calculusl]. with{Student[Calculusl ]) : ( 1 \ Asymptotes 7 Kx-e ,x) [y = x+l,x=0] Asymptotes i >A U +i J [y=o] Obrázek 2.57: Použití příkazu Asymptotes z balíku Student [Calculusl]. 70 Díky dalšímu příkazu, Asymptotes, získáme 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.57. 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ě. with (Student\_Calculusl ]) : RollesTheoremijc' + 2 x — 3,x = -2 ..o) Illustrati on of R oil e's Theorem -i.: -1 -O.J •/(-V) I For the function/[*) = x2 + 2 x — 3 on the interval [ -2, o], a g:aph showing/[j), the line connecting ( — 2,f{ —2) ) and (0?/f0) )? tangents parallel to the line connecting ( —2,f[ —2)) and MeanValueTheoremix — 5 x + 8jt — 1, x = 1 ..3, On the interval [1. 3], the MeanV alue Theorem is illustrated for the function/[r) = — J >? -t-S r. — 1. Obrázek 2.58: Ilustrace významných tvrzení příkazy z balíku Student [Calculusl]. 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 f'{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) = -^if ^ • 71 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 /(rr), 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 J f (x) dx. Poznámka 2.20: Nechť F{x) je primitivní k funkci f(x). Pak platí: J f (x) dx = F (x) + C, kde C G M 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. 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). x" dx j n+1 X n + 1 int{xnz x) «+1 X n + 1 »4-1 n integrate w_r_t_ x v n + 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. 72 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ě: Substituční metoda poskytuje řešení pro integraci složené funkce. Jestliže F(x) je primitivní funkcí k f (x) a funkce f{x) má derivaci v každém bodě svého definičního oboru, pak platí: při substituci t = (s) / íäfc) dx' (b) / Va;4-23+3!"4 dx, (h) Jx- Vx^TT dx, (c) j (x — 1) • (x — 2) • (x — 3) dx, (i) f x ■ cos2(:r) dx, (d) / (s-iHs-2)2 dx> O) / x ' ln(;r) dx' (e) / dx, (k) J arctan(rr) dx, (f) J cos(5 • x + 6) dx, (1) J x3 ■ ex2 dx. Již jsme se setkali s výukovými nástroji pro výpočet limit a derivací. Podobný nástroj je k dispozici i pro integrování. Spustíme jej z hlavní nabídky zvolením Tools > 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). 75 [7q Calculus 1 - Integration Methods File Edit Rule Definition Apply Rule Understood Rules Help Enter a Function - Function sin(x)A2 Variable |x from] to|~ ( y-yCOj(2jc) |dx -dx + 1 cos( 2 x) áx 1 cos(2x] áx 1 cos{ ú] du 2 yJC-y \cOs(2x) ÚX 1 1 1 1 2X-J — x- — sm{u) — x- — sm[2x) : ios( a) du Show Hints Constant Identity Constant Multiple Sum DiFFerence Power Parts Partial Fractions Change Revert Solve Rewrite Exponential Natural Logarithm ▼ Undo Next Step j All Steps ;| Close 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-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í a Mi supremum f(x) na tomtéž intervalu. Nyní definujeme dolní integrální součet předpisem: s (d) = rrii ■ Ax,i i=i a horní integrální součet předpisem: S (d) = ^2Mí-Axí. 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.: f(x) dx = sup s(d) 76 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 Definice 2.23: Jestliže platí: 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í: f(x) dx=[F{x)]ha = F{b)-F{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). 2 , x dx in/(i2, x= 1 ..5) ,5 it(x-s,x = a ..b) 124 124 a a b , b . e — e j-e +e b e — e a — e + e b Obrázek 2.64: Výpočet určitého integrálu. 77 F ■= unapply^ Jx2 dx. x J F{5) -F[l) F := unapplyi^ Jx- e* dv, x J 1 3 x—y — x 3 124 F[b) -F[a) x—» ( -1 + x) c (-1 +i) eŕ- (-1 +fl) ea 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. with (Stuežent[ Calculusl ]) x RiemannSum{ x3 — 7- x + 11 -x + 9, x= 0 ,.4. method= upper. output=plot) Anuppeť Riemam sum approximatioĽL of ' f[x) dx, where f[x) = r" —1 x^ + 11 y. +9 andthe partitionis uniform. The approxima vdue ofthe integrál is41.í45Ě0000. Number of subintervals ušed: 10. Obrázek 2.66: Geometrická interpretace určitého integrálu - vykreslení. 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 intervalu)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. wňh (Student[ Calculusl ]) : ti 2 RiemannSum\ x —1-x + 11 x + 9,x= 0 ..4. method= lower*partition = [0, 0.5, 0.6, 0.9,2.3,2.4,2.5, 3.6, 3.9, 4], output = animation) 14 12 10 % 6 4 2 0 -2 -4 An arimatedlower Riemann sum appimimatian of I f[x) dr, where f[z) = — 7 jt3 + 11 .í +9 andthe partitionis uniform. The apprcKirtiate value ofthe integrál is31.5360:553:5. Number ď subintervals used: 9. Obrázek 2.67: Geometrická interpretace určitého integrálu - animace. 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 > 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. 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. i 9 (a) j arctan(rr) dx, (b) j j^-y^ dx, o i 12V animaci tak můžeme sledovat, jak se pro různě jemná dělení původního intervalu mění hodnota aproximace integrálu. 79 Calculus 1 - Approximate Integration File Help Plot Window 1 0.8 0.6 0.4 0.2 0 r I Enter a function interval and number of partitions-f(x) = |sin(x) b = [pt - Riemann 5ums - 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 Area (Approximate Integral) = |2,008248408 Actual Integral = [i" J Partition type ■ (• Normal C Subintervals Display Animate Plot Options Compare Close Approximate Int [ jinfy) { Ů..Pir 'pirtit-icm1 = Id { 'method' - rŕiidpoÍTYtŕ 'pirtitioTYtype 1 = normil, 'output' = 'plot-1 , 'bovoptiorij ' ['íilleď = [1 trarijpirericy1 = . 5] ]) ; Obrázek 2.68: Maplet pro přibližný výpočet určitého integrálu a jeho geometrická interpretace. (c) j sin(rr) • cos2 (x) dx, o ln(3) (d) J e2-x_i dx, ln(2) 2-7T (e) j x2 ■ cos(x) dx, o ln(2) (f) / y/e^^ldx. 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. 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í: b S = — / f (x) dx. 80 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) (f(x) > g(x)), a přímkami x = a, x = b platí: b S = (f(x) ~ 9Í,X)) dx. Příklad 2.56: Určete obsah plochy vymezené křivkami x2 a x3. Řešeni: V zadání příkladu není zmíněn interval, na kterém se plocha nachází, neboť interval určí samotné křivky x2 a x3 protínající se právě ve dvou bodech. Souřadnice průsečíků na ose x tvoří hledané body a a b. Průsečíky zadaných funkcí zjistíme např. příkazem solve. Poté stačí pouze „dosadit do vzorečku"13. Plochu, jejíž obsah počítáme, můžeme zobrazit též graficky. K vybarvení plochy mezi funkcemi využijeme příkaz implicitplot z balíku plots (viz obrázek 2.69). soíve[x =x ) 0, 0,1 pl ■= plot{ [jc ,jľ3],.¥= 0 ..1, color = "NavyBTue", thickness = 2} : region ■— plots[implicitplot] (0,x — 0 ..\,y = x~.Jt , color — cyan piots \ display { region*pi ) x Obrázek 2.69: Řešení příkladu 2.56. Ještě je třeba vědět, která ze zadaných funkcí je na získaném intervalu „větší". 81 Funkce je možné zadávat též parametricky, a to například rovnicemi x = tp(t), y = ý(t),te [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 >)' - g(«0lL,t The arc length of/(x) = ln( on the interval [ 1, 10]. The coordinate system isCartesian Obrázek 2.71: Řešení příkladu 2.62. 2-ií ^-p-cos(x)3j + ^ -p- sin(x)3 j dx 1 = 6 plot{ [cos(x)3, sin(i)3, jc = -ti ..ir], color = "NavvBltie", thickness = 2) wiííí(Sit!JífeHf[ Calculusl ]) : ^4?-cLsíigí/i([cos(x)"\ sin(x)3],x = -jr J^j'cLewgfíi([cos(x)3, sin(x)3],x = -jr ..Jtouřpuf =j?íof) The arc length of/[*) = [ cos(jr)3, sin[*)3 ] on the interval [ -tz, n\. The coordinate system is Cartesian. Obrázek 2.72: Řešení příkladu 2.63. Příklad 2.64: Určete délku křivky: 84 (a) y2 = x3 na intervalu [0,1], (b) y = eX+2 na intervalu [—1,1], (c) y = sin(rr) na intervalu [0,7r], (d) y = sin2(x) na intervalu [O,n]. Příklad 2.65: Určete délku křivky zadané parametricky: (a) x = t2,y = t-tj,te [O, y/Š], (b) x = t ■ cos(í), y = t ■ sin(í), í G [0,4 • 7r], (c) x = cos(í) + t ■ sin(í), y = sin(í) — t ■ cos(í), í G [0, 2 • 7r]. Příklad 2.66: Odvoďte vzorec pro délku kružnice o poloměru r. Objem rotačního tělesa Poznámka 2.27: Nechť je funkce f(x) spojitá a nezáporná na intervalu [a, b]. Pak rotační těleso vzniklé rotací křivočarého lichoběžníka ohraničeného shora funkcí f(x), osou x a přímkami b kolem osy x má objem V: b V = n ■ í f2(x) dx. Poznámka 2.28: Nechť je funkce / zadána parametricky rovnicemi x = f (t), y = ip(t),t G [a,/3], přičemž funkce (£)] 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.73 a 2.74. 85 r 2 r 2 F^Tt-í (2-jc2) dr-jt-í (x2) di 1 pi := plot{ [x ,2—x \,x = -1 ..1, co/ot= "NavyBlue", thickness = 2 ) : t 2 2 region ■= plots[implicitplot] (0,x = -l ..l,y=x ..2- x , color■ = cyan, gridrefme=2) : plots[display] ([region,pl ]) S 1 'J \ 7 1 \, 0.5 -0.3 0 0.5 1 with (Studenti Calculus 1 ]) : VolttmeOfRevolutioni^x'',2 — x~,x=-l ,.l) 16 (2 2 jí ,2 — x ,Jt=-l ..1, output =plot] The solid of revolution created on —1 < x < 1 by rotation of/U) = í2 andgU) = 2 —ŕ about the axisj^ 0. Obrázek 2.73: Řešení příkladu 2.67. pIot3d{\2 — x", jí2], 6 = 0 ..2-jr, x=-l ,.\, axes = frame, coords = cylindrical, orientation= [90, 0, 120]) plots[animate] ^plot3d, [ \_2 — x~,x~ \ Q = A .A,x = -\ .A, axes= frame, coords = cylindrical, orientatk>n= [90, 0, 120]], .4= y .. ^y~,frames = 100 A= 1.5708 ..... 2 -1 0 1 2 -0:5 0 05 I Obrázek 2.74-' Řešení příkladu 2.67. 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/git)2 + h{t)2 ■ cos (s), z = a/git)2 + h{t)2 ■ sin(s), t G [a, j3\, s G [0,2-tt]. 86 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.75. V=n- (1 - cos(ř)) (ř — sin(ř)) dr V=5k plot( [t — sin(t). 1 — cos(i'), t= 0 ..2-jt], scaling = constrained, color = "NavyBlue". thickness = 2, filled = [ color = cyan ]) plot3d( [t — sin (ŕ), (1 — cos(ŕ)) -cos(j). (1 — cos(ŕ) ) - sin (j) ]. s = 0 .. 2-11,1= 0 .. 2 axes= frame, labels= [ "x", "y", "z"], scalmg= constrained, oriemaxion= [90, 0, 160]} I 1 i ' iľľľľi 4 5 6 -10 1 2 Obrázek 2.75: Řešení příkladu 2.68. 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 = 7r, (d) x2 + y2 = 4, x + y = 2. 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. 87 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) • a/i + (/'(x))2 dx. 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, 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 a b a a b Pokud zmíněná limita neexistuje nebo je nevlastní, říkáme, že integrál j f {x) dx diverguje. a Poznámka 2.32: V případě neohraničenosti funkce f(x) na intervalu [a, b] v pravém okolí b a 1 Příklad 2.80: Určete [ dx. 0 1 Příklad 2.81: Určete j x ■ ln(rr) dx. o 90 1 1 A, 2 — X 1 2* X lim x —> b~ Jl-x> arcsin(řf) ar&sin( 1) 1 -2* Obrázek 2.78: Řešení příkladu 2.80. 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. b^řOO 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 f \ 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.79). 91 -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.79: Řešení příkladu 2.82. Příklad 2.83: Určete následující integrály: oo oo (a) j 4j dx, (c) j sin(x2) dx, (b) / dx, (d) / Sír ^- 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.80 je v řešení zahrnuta tzv. chybová funkce erf (x) s předpisem 2 • Je o -ť dt erf(x) 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 nepovinného parametru numeric 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. 92 r -x1 e ln[x) dx -*1 A e ax f1 -x2 erf(x) Je^lnO) áx r1 -j2 e ln(jc) dx !«ř(e x = O ..1. numej-ic) 0.746824132S ilf{lnt{e^,x = Q ..l) ) 0.7468241328 j>tf( e ^■ ln(x), x = O ..1, numeric, method= _Dsxp) -0.9059404763 evalf{lnt{e; x^-ln(x),x=0 ..1. method= Gquad) ) -0.9059404763 Obrázek 2.80: Symbolická a numerická integrace. 93 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) undefmed h ■= (x, v) —>piec3WÍ3e{x < 0,-x,x-y < 0,-y, undefmed) (x, y) -^piecewise{x < 0, -x, xy < 0, -y, undefmed) 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 94 /:= [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. 95 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ží 96 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 IR2 : x > 0,y > 0,x + y < 1}. Řeš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! 97 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. 98 plots[ eílequa'i ( {O . >. \. \ \ 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 -1 V 0. 99 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 +y2 -6x) > 0?x=-2 ..7, 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) = y/l-x^-A (d) f(x,y) = arccos(^), (b) f(x,y) = ^ún(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 100 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. 101 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{x2 -v* {_v=l,v=2}) 2 limity—, {jc=0,v = O}J u miefmed Limita funkce tří proměnných limit{x2-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+ 102 pak lim f(x,y) = 0. Příklad 3.8: Určete lim 1 x2+y2 ' Ř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: } 1 limit —--, {x=G,y=G} x + y undefined plot3d 2 2 x +y ,x = -3 ..3,y = -3 .3,axes =jrame,view= [ -3 ,.3.-3 ..3, 0 ..6] 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 ô = —j===. Pro [x,y] 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 4-^. (x,i,)-.(o,o) x+y Řešení: 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é. Když se budou x a, y blížit k nule, budou „velmi malá". Přitom pro |rr| < 1 a \y\ < 1 platí x2 + y2 > x2 ■ y2 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. 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. 103 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((l,l) y/x2+y2 ' (e) lim x-y (x,y)^(0,0) y/x2+y2 ' (f) lim (x,y)^(0,2) x 1 (g) lim y/x2+y2+l-l (x,y)^(0,0) xi+yZ 104 3.2.2 Spojitost funkce Definice 3.2: Řekneme, že funkce f(x,y) je spojitá v bodě [^ojŽ/o] £ IR2, jestliže má v tomto bodě vlastní limitu a platí lim f(x,y) = f(x0,y0). V systému Maple máme pro hledání bodů nespojitosti funkce jedné proměnné příkaz discont. Ten však „funguje" jen pro funkce jedné proměnné. Pro funkce více proměnných můžeme využít příkazu singulár hledajícího tzv. singularity. Jeho použitím pak můžeme odhalit některé body nespojitosti. Příkaz singulár má však několik „nedostatků" (resp. „omezení"), takže je vhodnější hledat nespojitosti „klasicky" a Maple využívat k dílčím úkolům. Příklad 3.12: Je funkce f(xv)=ígfr ••• [*,y]r[o,o] \0 ... [x,y] = [0,0] spojitá na celém IR2? Řešeni: V příkladu 3.11.(b) pilný čtenář zjistil, že funkce f(x, y) nemá v bodě [0, 0] limitu. Podle definice 3.2 proto f(x,y) není v tomto bodě spojitá. Příklad 3.13: Určete body nespojitosti u následujících funkcí: (a) f(x,y) = . 1 , (b) f (x, y) = sin (j^j. (c) f (x, y) = arccos (d) f (x,y) = ln |1 -x2 -y2], x2-y2 P2_i_„2 \ ... [x,y] = [0,0] Příklad 3.14: Určete C G IR tak, aby byla následující funkce spojitá v bodě [0,0]: (a) f(x,y) = J ^y+ť 1 ••• tM0,0]_ C ... [x,y] = [0,0]' ,^ r, x . Ä ••• [x,y] Ý [0,0] (b) f{x,y) = {p* L n" C ... [x, y] = [0, 0] 105 3.3 Parciální derivace funkce více proměnných Definice 3.3: Nechť je funkce f(x,y) definována v bodě [^ojŽ/o] a nějakém jeho okolí. Položme íp(x) = f(x,yo). Existuje-li derivace funkce íp(x) v bodě xq, nazýváme tuto derivaci parciální derivací funkce f(x, y) podle proměnné x v bodě [xq, yo] a značíme f'x(xo, yo) (resp. df(x0,y0)\ dx )' Poznámka 3.5: Předchozí definici můžeme zapsat následovně: fx{x0,y0) = lim -. x^x0 X — Xq Poznámka 3.6: Analogicky definujeme fý(xo, yo) ^resp. q° J či parciální derivace funkcí více proměnných. V systému Maple máme několik možností, jak určovat parciální derivace funkcí (výrazů). Jednak máme v paletě Expression již předdefinované symboly pro derivaci (J^/, /j"/); využít můžeme též příkaz dif f fungující pro výrazy libovolného počtu proměnných. Můžeme též zapsat výraz (funkci) do dokumentu, kliknout pravým tlačítkem myši a z kontextové nabídky zvolit Differentiate a proměnnou, podle níž chceme derivovat. Oproti derivaci funkce jedné proměnné není možné nyní používat apostrof jako symbol pro derivaci. Respektive to možné je, ale apostrof má význam parciální derivace podle proměnné x, takže můžeme tímto způsobem derivovat pouze podle této proměnné. Stále musíme mít na paměti rozdíl mezi funkcí a výrazem (jak to „vnímá" Maple, který většinou pracuje s výrazem). Pro derivování funkcí z pohledu systému Maple (tj. funkčních operátorů) máme příkaz D (s nímž jsme se setkali již v případě funkcí jedné proměnné, viz sekce 2.5). Na obrázku 3.14 vidíme, že výsledek použití příkazu D může být poněkud matoucí (viz výsledek příkazu D [2] (g), kde by bylo vhodnější obdržet (x,y)->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 106 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 , , „ g-* \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,y)-> 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.156. 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] ([j= 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) : £>4 := plots[pointplot3d] ({[-1.1.2]}. axes =framed, color = red, symbolsize= 20) : Obrázek 3.15: Geometrický význam parciální derivace. 6Vš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). 107 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 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ě [rrojž/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 + /) diff(f(x,y,z),x) 2x 2 2 2 x +y + z R 2 cx 4/ diff(f(x, v, z), x, x) 2 4jr x2+y2+z2 f 1 . 1 . 2V \x +y +z ) diff{f{^y^),^y) 4*J U2+y2+z2Y T}[l\{f)U=dlff(f(x,y,z),x) 2.T (x,y,z)^ 2 x +y +z D[l,l](/) H = dijf(f(x,y,z),x,x) 2 4x* (x,y,z) — *W+z2 (x2+y2+z2)2 D[\,2]{f)H=diff(f(x,y1z),x1y) [*,y,z) 4jJ ( 2 , 2 , 2V [x +y +z ) iy[2A](f)č=diffl(x,y1z),y1x) U2+y2 + z2) T>[2,2]{f)# = dlff(f(wz),y,y) 2 4/ [x,y,z)^-2 * +y +z (x2+y2+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)- 108 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). 109 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], output — 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(a)). 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,fe)^(o,o) ^Jh2 + 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. 110 Poznámka 3.11: Tečná rovina k funkci f (x,y) v bodě T = [xq, í/o, Í'(xq, Vo)] má tvar z = f(x0,y0) + fx(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) = \/:r3 + y3. Aproximaci získáme podle vztahu: f(x0 + h,y0 + k) « f(x0,yo) + df(x0,yo) = f(x0,yo) + fx(xo,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) ->jx3 +y der x ■■= -^—f[x,y) 3 x 2 1 3 , 3 V* +y dsrjy ■= ——f[x,y) 3 y 2 / 3 , 3 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 +2^ + sval{der x, {x= 1, v + 1.973 ~ = 2})-(1.02-l) + eval{d3rjy, {x= 1,y= 2}) ■ (1.97 -2.950000000 -2)) Obrázek 3.19: Řešení příkladu 3.19. 111 Příklad 3.20: Určete přibližně: (a) 3.05°-", (c) arctan(±|§), (b) VŠM- cos(62°), (d) log4(4.01 • 0.972) Příklad 3.21: Určete rovnici tečné roviny k funkci f(x,y) = \J\ — x2 — y2 v bodě [-^=, -^=, ^=] a rovinu i s funkcí vykreslete. Řešeni: 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) Ax=-^=-,y> _ [dx j JJ JJ + eval\ — f [x, y), \x = ~^,y = } [dy 1 JJ JJ i > i fay) -JJ —x pl := plot3d(f(x,y),x = -l ,.l.v = -l ..1. axes= framed, color = blue, numpomts = 1000) : p2 := piot3d{t{x,y), x= 0 ..0.98, v=0 ..0.9, axes = frame, color =yellow, transparency^ 0,5) : /j3 := plots\_pomtpiot3d] I - - - =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 + xv 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]. 112 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 \ + 2!' Idx*^0'^ ' ^X~X^2 + 2'l)xlhj^yo) ' (X~Xo) ' (y-yo) + O1*, Ž/o) • (ž/ - ž/o)2 ) 1 s—^ fn\ dn f +•■■ + s' g (J &^J' <* - 'o)-1' (» - v°Y se nazývá Taylorův polynom stupně n funkce f (x,y) v bodě [:co,ž/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^Ď5-cos(62°), (c) arctan(±|§), (d) log4(4.01 -0.972). 113 mtaylor{s " , [x = 1,y = 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 -l){x-l) + 6e (y-1) (x- 1) + — e (y- 1) +— e(jt-l) + — e (y - 1) (jc - 1) + Se(y -l)2U-l)2 + T^e2(y-l)3(x-l) +^e2(>.-l)4 + ^e2(*-l)5 + TU2(y-l) (.v-1)4 + 10e2(y-l)2(x-l)3 + 10e2(y-l)3(x-l)2+^e2(y-l)4(x-l) + ile2(y-l)5 , í 12V r n) íŕíryfoŕ-^e " . [x,y\) ( ^+y2 ) ntayfor{e ' , [x,y], lOj ,,221 4221 4 1+x +y + yjí + y jí + yy ,,2,2,14,22,14,16,124,142,16, 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 R 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. 114 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 H2, 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) 115 /:= [x,y] (x-2)2+(y-3)2+5 M^(i-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). { }. {x, jí},'ŕwíŕ') {5} {{x = 2,y=3}} Stacionární bod je: [x,y]=[2.3]. Hessova matice: H ■ = VectorCalcu lus [ Hessian ] (f (x. y). [ x, y ]) 2 0 0 2 První prvek Hessovy matice (druhá derivacef(x,y) podle x): if(l,l) 2 Determinant Hessovy matice: LinsarAlgebra[Determiruint] (íf) 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-(,-2)2 + 5 [x,y)^(y-3)2-(x-2)2 + 5 plot3d(f(x,y),x—0 ..5,y—0 ..6, axes — 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. v). [.v. v]) -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 funkce j'(x,y). Obrázek 3.23: Řešení příkladu 3.27. 116 /:= (x,y) ( plot3d(f(x,y),X — -4 .A,y — -4 .A*axes =framed^ numpoints = 2000) Stacionární body: extremai/\x,y), { }, {x,y},'body') = { -e~L, e"1} {{*=-l,y=-l}, {*=-l,j=l}, {*=0,y=0}, {x=l,y=-l}, {x=l,y=l}} Stacionárni body: [-1,-1], [1,-1], [-1,1], [1,1], [0,0]. with( YectorCalculus) : with (LinearAlgebra) : Hess ova matice: H:= Hessian(f(x,y), [x,y\] : Bod [-1,-1] Deternimant(sval(H, {x= -l,y= -1})) =4 [e ^) eval(H{l, 1), {.v = -Ly = -l}) = -2 e"1 Bod [1,-1] Determinant(eval(H, {x=l,y= _1})) =4 (e ^) ™í(íf(l, 1), {-v=l,v= -1}) =2 e"1 Bod [-1,1] Determinant(eval(H, {jc=-l,v=l}))=4(e 1) a™í(fr(l, 1), = -1,^=1}) =2 e"1 Bod [1,1] Determmant\eval(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). 117 /:= (-*,y) -> J * +y2 (x,y)->Jx + y2 plot3d\f(x,y),x = -3 ..3,y = -3 ..3,axes=frame) Stacionární body: extremai f(x. y), { }, {x. y}'boď) bod bod Stacionární body nejsou. V bodě [0,0] však neexistuje parciální derivace: -r-f{x,y)= i = OX 2.2 V* +y eval^—f(x,y), {x=0,y=0} j Errcrr numeric exception: division by zero Použití příkazu minimize'. tninimize(f(x,y), location) 0, {[{jc=0,j=0},0]} Vbodě [0,0] je globální (a tedy i lokální) minimum 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+12, (c) f(x,y) = x-y- \n(x2 + y2), (f) f(x,y) = y ■ y/l + x + x ■ y/y + 1, (g) /(rr, y) = 3 - yjx2 + y2 + 2 • ^ - 2)2 + (y - 3)2. 118 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 Aŕ p2 ■= plots[ spacecurve] ([cos(ŕ), sin(ř), /(cos(ŕ), sin(í)) ], t = 0 ..2-TZ,color = blach thickness = 3) : Vykresleni předchozího do jednoho grafu plots[dísplay] ( {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[Hessían](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}, {x=0,y=-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 -»i +j +4: Definice vykreslení funkce pl ■= plot3d(f[x,y),x = -l.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(f), 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): ÍT(1,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 -y ,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. 120 /:= —»jc + 2-x-y — 4-x — 8■ y: Definice vykreslení funkce pi ■= plot3d[f(x,y),x = -l .3,y = -l ..3. axes = framed) Definice vykreslení hranice množiny M p2 ■= plots\_spacecurve] ([ f. 0,/( ŕ, 0) ], ŕ= 0 ..1. color = black, thickness = 4) : # y=0 p3 '■= plots[spacecurve\ ([ 0. (./(0, t) ], t = 0 ..2.color = black, thickness = 4) : #x=0 p4 ■= plots\_spacecurve] ([ 1, t,f( 1, f) ], t = 0 ..2,color = black thickness = 4) : # x=] p5 ■= plols\_spacecurve\ {[ f. 2,/( t, 2) ], f = 0 ..I,color = black thickness = 4) : # y=2 Stacionární body na celém D(f): extrema(f(x,v), { }, {x, v},'bod'} {0} {{*=4,v=-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 Af: řMB5ířříKe(/(j;:. v), Jt= 0 ..1, v = 0 ..2. location) -16Í {[{x=0,j=2}, -16]} mav/mĚe(/(.v. v),x= 0 ..1, v= 0 ..2. location) 0, {[{*=0,V=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žijeme7 (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 < tt. 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é 7Pří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). 121 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). /:= [x,y) -+x-y[W Definice vykresleni funkce pl ■■= piot3d[f[x,y),x = Q ,.18.v=0 ..1S,vkw = [0 ..18, 0 ..18,-1000 ..300], axes■ = framed) : Definice vykreslení hranice množiny M p2 := plots[spacecurve] ([ t, 0,/(í, 0) ], t = 0 ..18, color = black thickness = 4): #x=0..18 p3 := plots [spacecurve] ([ 0, f,/(0, ť) ], t= 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 {^yhtody') = {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 ■— VecwrCalculus[Hessian] (f (x, y), [x, y]) -2y ÍS-2x-2y 18-2j;-2j -2x Vykreslení grafu: plots[display]{{p\\ (1 ..4)}) i o Determinant Hessovj7 matice: LinearAlgebra[Determinant] (eval(H, {x = 6, v = 6») 108 První prvek Hessovy matice (druhá derivace_/řxí y) podlex): eval(H(\, 1), {x=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 =6Aax + y-\-zie 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ů. 122 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) = / f(x,y)dy a ip(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. Dennice 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. Dennice 3.14: Uvažujme nyní oblast, jíž budeme říkat oblast základní, 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 [4]). Analogicky jako v předchozí definici nyní definujeme dvojný integrál funkce f {x,y) přes množinu T jako: 123 02 <*2{x) f(x,y)dxdy = J J f {x,y) dy dx, T ai Si(:e) b2 PÁV) resp. Jj f {x,y) dx dy = J J f {x,y) dx dy. T 6i 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 [8]). 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 E [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]. 124 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),j=0..1) 12 Kontextová nabídka integrate ivj".t. x \ 2 x + v-> —x +xy integrate w_r.t_ y 12 12 -* 2Xy+2Xy Symboly z palety [x+y + z) dxdy dz 12 ,12 ,12 yx Jz + y J ^ + y2 .3 .1 .í (x+j + z) drdvdz 1 0 2 3(5 Textové příkazy šfif (int (ifif (jí +y + z,x),y), z) 12 ,12 ,12 yx Jz + y J xz + yz íRŕ(iRŕ(iRŕ(x + v-r-z.x=2 ..5) ,y= 0 ..1), z= 1 ..3) ' 3(3 Kontextová nabídka integrate w_r.t_ x 1 2 integrate wr.t. v x+y + z-* —x + xy + zi-> 12 12 integrate wr-.t. z 12 12 12 — xy+—xy +zxy-* —xyz + —xyz + —zxy Obrázek 3.33: Vícenásobné integrály. Příkaz Mult i Int 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) íl : 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 125 II 2 Student[ MuhivariateCaícu:us][ Muitil>n]{ í x + 3 y . x = 1 ..4,y=-l ..6. output = integral) 6 4 j (3/ + 3y2) dxdy 12 2 Student[ MuhivariateCaícu:us][ Muitil>n]{ 3 x + 3 y , x = 1 -4,y=-i ..e) 1092 / 2 2 Student[ MuhivarktteCalcuius~\ [ Muitilnt] {3 x + 3 y . x = 1 ..4,y=-l ..6, output = steps) 6 4 J (3x2 + 3y2)dxdy -ľ] (x3 + 3y2x) ) dy x= 1 ..4 I = f (°3 + 9y2)dy ' -1 = (63y + 3y ) 1092 y=-i -6 with(Student[MultivariateCalculus]) Multilnt\ r, r= 1 ..4. 0 = 0 ..—, coordinates = polar[ŕ\ theta], output = integral^ 2 a e o 1 Aŕuŕŕiífiŕ^ŕ-, r= 1 .4. 0 = 0 ..—, cooí'ííiraŕifej = polar[í', theta] 21 — 71 Multilnt(r, r = Q ..ic, 0 = 0 ..ic, <|) = 0 ..ic, coordinates = spkerical[r, phi. theta]. output = integral) L A A J í-3sin(<|>)dí-d0d<|> 'o'o'o Multilnt(r, r = Q ..ic, 0 = 0 ..ic, <|) = 0 ..ic, coordinates = spkerical[r, phi. theta]) 1 í 2* Int(lnt(lx +3y ,x=l ,.4).y = -l ..ô) -S r4 (3x + 3y ) dxdy ľ 1 mf(iFif(3x2 + 3y2 x= 1 ..4),y = -l ..ô) 1092 Obrázek 3.34: Vícenásobné integrály s příkazy Multilnt a Int. changecoords(x +y , [x,y], polar, [r, 0]) >-2cos(0)2 + r2sin(0)2 changecoords^x2 + y2 + z2, [x,y, z], spherical [ r, (|), 0] ) r2 sin(<|))2 cos(0)2 + j-2 sin(<|))2 sin(0)2 + 2 cos(<^)2 changecoords^x2 +y2 + z2, [x,y, z], cylindrical, [r, 0, z]) r cos changeco ords (x — y, [ x, y ], logarithm ic) ln(x2 +y2) — 2 arctan^ — w/ř/ifAUífenřfA/uíířvriř-ííiřeCíířcařuj]) : ChangeOjVariables^MultiInt{ x + y2, x= 1 ..4,y=l .6, output = integral), ^ cartetfiaj^ v, polar^ g J J y=6 x=4 r dr d0 Jy = -1Jx=1 ChangeOfVariables^Multilnti 2 +y2 +z2,x= 1 ..4,y=-l ..6, z = 0 . .3, output = integral), ^ cartsiia^ ^ 7, spherical^ ^ e] J z=3 >, = 6 ,jc=4 /|sin(0)| o>dj-d0 ■z=0-ji=-lA=L f (222 ChangeO/Variables\MultiInt[ x +y + z ,x= 1 ,.4,y = -l ,.6,z = 0 ..3, output = integral), ^cartesian^ ^ ^ cylindrical ^ J 2=3 j=6 i=4 (r2+z2)j-oVd0dz Obrázek 3.35: Transformace mezi souřadnicovými systémy. 126 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[mequal] ({0 < x,x < v.y < 1}.x = -1 ..2. v = -1 ..2. optionsfeasible = (color = cyan), optionsexcluded = (color = white), 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 i i f (x, y) dx dy f (x,y) dx dy f(x,y) dy dx. o o 0 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,-y/l -x2 4 := pfofs[implicitplot] {o,x = Q .. 1, v = -,/ 1 — x~ .. -J x- (1 — x) , color = cyan) : p5 := £>fc(( [ - J I — x~, j \ —x\,x = -\ ..0, color = black, filled= [color = cyan]) : (c) Obrázek 3.37: Zobrazení oblasti fž z příkladu 3.41.(b) 0 /FMľ pi := j)fo(j[»Bp(jci!p(o(] ([ 1 < |jc| + [y| ], x =-4 ..4, y = -2 ..2, color = black, thickness = 2, gridrsfine=3 ) : p2 := pfofs[awpfic/ipfor] ([max( 1 — |x| -\y\, \x\ + \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 ]) 3 Obrázek 3.38: Zobrazení oblasti íž z příkladu 3.41.(c) I v tomto případě máme dvě (základní) možnosti, jak zapsat integrační meze. Pro komplikovanost zápisu ukažme opět pouze jednu z možností. Doplňme, že v případech, kdy je oblast Q symetrická (kolem počátku či kolem některé z os) a podobně i zadaná funkce (vzhledem k ose z), počítáme zpravidla integrál pouze pro část oblasti (tj. např. jen pro jeden kvadrant) a výsledek vynásobíme počtem odpovídajících si částí. V tomto příkladu bychom tak mohli počítat integrál pouze pro oblast náležící prvnímu kvadrantu a výsledek vynásobit čtyřmi (pokud by funkce f(x, y) byla symetrická kolem osy z). 128 1. -2 < x < -l,-x - 2 < y < x + 2, -1 < x < 0,-x - 2 < y < -x - 1 U x + 1 < y < x + 2, O < a; < l,x - 2 < y < x - 1 U -x + 1 < y < -x + 2, 1 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. 130 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—*pjecewi7e(_v < 5, 2, x — 3 ) : g ■= x —>pwcewise[x < 4, x, 4) : p := p/o(( {f g}, color = "NavyBlue", thickness = 2, view = [2 ..7,2 ..4], scaling= constrained) : tr '■= plottools[ transform] (v) —* [x, v ]) : q := p/of(^(jc) -/(x),:r = 2 .. 7,filled— true, color —cyan) : 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 ldydx 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 ]2]y 6 6 Obrázek 3.42: Výpočet obsahu oblasti íž z příkladu 3.44.(b) 131 Příklad 3.45: Určete obsahy oblastí Í2 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ě Q 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 Q 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 Q : \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 Q), abychom získali představu a snáze odvodili meze dvojného integrálu. pl := plot3d[ [jc.y.j:2 +y2]..v = -l ..l.y=0 ,.1 — \x\,axes =frame. Transparency = 0.ö) : p2 := plot3d{ [jc,y,jf2 +y2],_Y = -l ..l,y = \x\ — 1 ..0,axes =frame, transparency =0.6) : p3 :=plot3d{ [x, 1 - \x\,z],x = -l A,z=O.J + (1 - , transparency =0,6): p4 :=plat3d{ [x, \x\-l,z],x = -l ..l,z=0 .J + (1 , transparency = 0.6): p5 ■■= plot3d{ [x,y, 0],x = -l ..1, y=0 ..1 - |x|) : 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 Q (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 Q je středově souměrná podle počátku souřadné soustavy (bodu [0,0,0]) 132 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, optionsfeasible = [color = "cyan"], optionsexclitded= [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í: 064-x jl + (^flx,y))\(^nx,y)}\yáx 16 evalf(%) 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 135 Mrith(Student[MultivariateCalculus]) : /■= (x,y) ->xy (x,y) -yxy plot3d(f(x,y),x=C ..5,y=0 ..5, axes = frame) ApproximateJnt(x-y,x=C ..5,y=C ..5) 156.2500000 ApproximateInt(x-y,x=0 ..5,y=0 ..5, output=plot, prismoptions = [color=yellow], axes = frame) UsingamidpointRiemann sum, an approximation of J f[x,y) d/d*, J0 }!> where/C*,^) =yx. Actual value: 156.25. Approximate value: 156.25. Grid: 5x5 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, Dethc-i — aiidpoir.t, CDDrdix_at*í — carte; Lax., p art-i.t-ion — [E, i], output — plot, ixt- — fcoxed, s c a L ix.g — -ux. c or. 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]. Vi-^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 pfote [ Ňnplicitplot3d] y = - 8 ,. 8. z = - 6 ..6, axes = frame, scaling = constrained x = -13 ..13, ft 1 ' 1 dz dv At -ŕ- 1 (7) -Hi) -(*)' F= — c a b Jl 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. 137 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(#) 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(6)) ■ sin(#) - r dr d0 dô, kde r G [0, oo), 0 G [0, 2 • tt], 0 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(6),r ■ sin(#), z) • rdr d6 dz, kde r G [0, oo), 0 G [0, 2 • tt], z G R. 13í 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], 9 G [0, 2 • 7r]. with(Student[MultŕvariateCalculus]) : ChangeOfVariablesíMultilnti^ é^+* ,y = -J 4—x" ..] 4—x",x = -2 ..2, output = integral), cartesian .polar í í i = -2-' V=lnt{lnt{fŕr!r=0 ..2), 9 = 0 ..2-jc) 2 ry=Jt-x2 e r dr do -,/4-v2 value(%) evalf{%) V=\ l 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 139 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 ^2 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. n—>oo 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{n2,n = 0 ..10) 0,1,4,9,16,25,36,49,64,81,100 seq{n~ ,n = k) k2 seq{n',n = s) 64 seq{n2, 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). 140 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- • • 60- • • 40- • 20- • • 0^ [ • • i-*-1-1-1-■-1-1-1-1-1 2 4 e 8 10 Obrázek 3.52: Vykreslení členů posloupnosti. l ^ (3-n-2)-(3-» + l) l_ 3 SUm{ (3,-2H3.» + l i Částečný součet řady: k 2_1_ ■ (3n-2)(3» + l) -,n = 1 .. ta + 1 K) (3n-2)(3n + 1) 1— + j S_1_ ^ (3-H-2H3-B + 1) (3n-2)(3n + 1) 15 ,n= 1 ..5 j 16 Matematický zápis řady: 1 sum w.r.t. n 1 _ 1 (3-n -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, 141 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 3, 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 6, 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, color = blue, thickness = 2 J /jíoŕj [ ŕíirpŕŕry] [pi. £>2) 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) E (V^T2-2-V^TT+ (b) Earctan(^). n=l n=l (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. 142 Naznačme proto takový důkaz aspoň nyní. Díky Maple víme, že 10 (Vn + 2 - 2 • y/n + 1 + y/n) = 1 - y/2 - Vlí + >/Í2, n=l 11 (Vn + 2 - 2 • vW 1 + Vň) = l-y/2- y/l2 + >/Í3, n=l 12 (V^ + 2 - 2 • y/n + 1 + V^) = 1 - - + >/Í4. n=l Předpokládejme nyní, že pro libovolné A; > 10 platí: fc (y/n+ 2 - 2 • vW 1 + y/n) = l - y/2 - y/k + 1 + y/k + 2. n=l Pak platí: fc+3 (Vn + 2 - 2 ■ y/n + l + y/n) = 1 - y/2 - y/k + 1 + y/k + 2 n=l + (y/k + 3-2-y/k + 2 + y/k + l + (y/k + A-2-y/k + 3 + y/k + 2 + (y/k + 5-2-Vk + A + Vk + 3 = \-y/2- y/k + 4 + y/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, ^2 bn s 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 143 ;: = 1 X [Jn + 2 -2-Jn + l + Jň) CO X ( fň+2 - 2 ./h+T + fň) 10 E n = l ^ [Jn + 2 -2-Jn + l + J~n~) 1 - /T - /TT + /i2~ 11 ^ [Jn + 2 -2-Jn + l + J~ň) !S = 1 12 1 -JY-J~12+J~13 ^ {Jn + 2 -2-Jn + l + J~n~) n = l 1 - /T - /TŠ" + /Ti" n = l 1 - /r - /ar+/9 0 a diverguje-li řada ^ bn, 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, 144 existuj e-li lim y/a^ = g, kde q G IR U { — oo, oo}, pak pro q < 1 řada konverguje, pro q > 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}, pak pro g < 1 řada konverguje, pro q > 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 q G IR U { — oo, oo}, 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 Příklad 3.67: Rozhodněte o konvergenci následujících řad: (a) E IrT(ňj' (^) S n=2 n=l 00 , x OO (b) (e) E^ífe. n=l n=2 (c) E OO n 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ÍVE-V^l), (d) + (g)E?, 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 00 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. 147 Obrázek 3.57: Pomocné výpočty k řešení příkladu 3.69. Definice 3.20: Řekneme, že nekonečná řada ^2 an konverguje absolutně, jestliže konver- n=l oo oo oo guje řada ^2 |an|. Jestliže řada ^2 an konverguje a řada ^2 \an\ diverguje, říkáme, že řada n=l n=l n=l OO an konverguje neabsolutně. n=l oo oo Poznámka 3.35: Konverguje-li řada ^2 \an\, konverguje i řada ^2 an- Diverguje-li řada n=l n=l OO OO an, pak diverguje také řada ^2 \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 Řešeni: (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ě. 148 co £K'+v)-<-»- co , lim ln 1 + — co CO (-0* h=2 nln(n) 1 lim ř!^co n-ln(íí) v 1 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^l-í-r1, (e) E^-("l)n, n=l n=l oo oo n=l n=l V »/ 149 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 -1, 3 + i) 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. 150 restart u := Vector{3,symbol= u) Brrorf recursive assianmerit vektor u ■= VectoriZ,symbol — u) vektor v := VectorCi, symbol = v] vl h vektor u + l ■ vektorv + l Vy ku^ + lvj ku^ + l Vy Vector(2) Vector{ \ ..3,5) /- 1 f '■= 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 151 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- 152 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 ^ ^ ki ■ Ui í=i pro ui, u2,un G V, ki, k2,kn G K nazýváme lineárni kombinací vektorů u1}u2, ...,un s koeficienty k±, k2,kn. Vektory ui, u2,un nazveme lineárně závislými, jestliže existují čísla k\, k2,kn G K tak, že alespoň jedno z nich je nenulové, a platí kj ■ Uj = 0. 1=1 Pokud taková netriviální lineární kombinace neexistuje, nazýváme vektory U\, u2, ...,un lineárně nezávislými. 153 Definice 4.4: Nechť V je vektorový prostor nad K G {IR, C}. Řekneme, že neprázdná množina U C V je 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:1,1) = (2,3,4) = (0, 0,1) = {0, 0,3) vl v2 v3 v4 v5 (3 ..5) 2 3 4 Basís{[v\\{l ..3)]) 1 1 2 3 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),m2 = (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? 154 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 0-21 a22 \0"ml Q"m2 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é matici řá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—1, 3 +1) 0 I 0 1 0 2-1 -10 3+1 Á :=Mjŕj-čc([[l,3], [2,4]]) 1 3 2 4 B:=Matrix[[[0,lO], [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 J^.l: 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. 155 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 2 3 A x x x5 Matrix[Z, shape— identity) 1 0 0 0 1 o O 0 1 Obrázek 4-8: Další možnosti při vytváření matice v Maple. B-=Matrix{[[0,l0], [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 B{2) 1 B[2] B(l ..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. 156 Definice 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í: Vi 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,...,(?} : 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. 157 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~Matrix[[[A,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 provední 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 158 A := A2 cos(ot) -sin(ot) sin(ot) 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!' bine^A?) cos(3oc) -sin(3(x) sin(3a) cos(3a) cos(a) -sin(a) sin(ot) cos(a) cos(Ä:a) -sin(Äľ-ot) sin(ŕ-oí) cos(ŕ-ot) cos(ŕa) -sin(Ä:ot) sin(Ara) cos(íoí) combineiK.A) # =A^+1 cos(£a + a) -sin(Ä:a + a) sin(A:a + a) cos(£a + a) map(x—>factor{x), %) cos( a (1 + £)) -sin(a (1 + k)) sin (a (1 + k) ) cos( a (1 + ŕ)) 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 5 1 +J 1 — J 2 J C a 6 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) j -pro i, j e {1,2,3,4}. 1 ... pokud \i — j\ > 1 — 1 ... pokud \i — j\ < 1. 159 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. 160 wüh(LmearAlgebra) : A :=Matrtc[[[l,2,3], [4,0, 1], [0,2,3]]) 1 2 3 4 0 1 0 2 3 (6,5,5) x + 2x2 + 3x^ Ax^ + x^ 2%2 + ix^ LmearSolve(A, y) B- Matrix([[\,2, 3], [4, 5, 6 ], [ 7, 8, 9 ] ]) z := <6, 15,24) : LmearSolve(B} z^firse — t') 3 -2r„ 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-1.6- ]. 1.2-1.0-0.8-0. fill. 0.2-1 J !~r\11'......i ■ 1111 \'rrrrvVFTr 1-81.01.41.21.00.80.60.40 2 l.S 1.4 1.0 0 6 0 ~ Displaying the system of equations: 4jtj + Oxj + Lij =i Ox, + 2j^ + 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í. 161 with (L inearA Igebra) U] - (2,-1,0): V= (-4,1,2): u} (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 5 2 0 1 -J 0 1 +zíi[2]m[2] +2íi[3]-h[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, c + 1, 2] ]) 1 c -c 1 c-1 -c-3 1 c + 1 2 y:= (-3,-5, J-l) -3 -5 d- 1 R '■— LmearSolve(A,y) 2 c + c — 4dc — 3 c-1 2c-2-3d c-1 d c-1 eval{map(x—>mtmer(x),R). {c= 1}) Ad -3d d solve( {si?g(%[i] =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 LinearSoh'e(A2, y2,jřee= f) -5 +4í, 2 -3 ŕ, Obrázek 4-16: Řešení příkladu 4.12. 162 Příklad 4.13: Uvažujme bázi a = {ui, 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, u2, u%, U4 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, M2 = (3, -1, -2, -1)T, M3 = (2,1, 0, -2)T, u4 = (2,1, -3, -2)T. b) a = {(1, 3, 0, -lf, (1, 0,0, -lf, (0, 2,1, 0)T}, Ml = (-1,1,-1,1)T,M2 = (3,-l,0,-3)T,M3 = (2,1,0,-2)T,M4 = (l,-2,0,-l)T. Příklad 4.15: Prostory Mn[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 + 6-x + 2-x2,2 + W-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 • x2 + 2 • = c. Určete, pro která a, 6, c má soustava žádné, jedno, resp. nekonečně mnoho řešení. 163 4.1.4 Gaussova eliminace Poznámka 4.9: (Gaussova eliminace) Nenulovou matici A typu m x n 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(LmearAlgebra) : A~Mátrň[[[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,'methoď= '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 164 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. 165 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^J, i=l ..5 ) J J : x1 :=,: solve({seq{ (R[i, 1 ..5].res)[l]=R[i,6], z= 1 ..4)}, {xr.v3,.v4,.v5JJ = 2. _!_ = J_ A =nl xl 2 5 2 '"^ 3 ,Xa 3 I assign (%) 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. 166 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 + 6 ■ X2 — 5 ■ x% — 2 ■ X4 + 4 ■ X5 — 3 ■ x$ = —1, 5 • x% + 10 • X4 + 15 • xq = 5, 2 • x! + 6 • x2 + 8 • x^ + 4 • x5 + 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[l ..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: H8,!). 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 167 Příklad 4.24: Pomocí Gaussovy eliminace najděte inverzní matice k následujícím maticím: í 2 + 1 1 + J 1 + 2- P F = j 1- I 3-2-1 1- I \2 - 3 • / 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) > na(n), kde Sn je množina všech permutací na množině {1, 2,n}. Poznámka 4.10: Vyjádřením determinantu z předchozí definice pro n = 3 získáme tzv. Saarusovo pravidlo: all a12 a13 0,21 0,22 0,23 O31 «32 033 +a,n ■ O22 ■ «33 + a21 ■ «32 ' 0-13 + a31 ' a12 ' O23 — Osi ■ 022 ■ «13 — a2l ■ 0\2 ■ «33 — all ' a32 ' a23- V systému Maple slouží k výpočtu determinantu matice příkaz Determinant z balíku LinearAlgebra. Místo něj je možné použít svislých závorek (jak jsme zvyklí z psaného textu), případně i kontextového menu po kliknutí pravým tlačítkem myši na matici. Obě tyto možnosti nevyžadují načtení zmíněného balíku. Ukázku výpočtu poskytuje obrázek 4.21. Příklad 4.25: Uvažujme matice z příkladů 4.23 a 4.24. Ověřte, že pro X G {A, B, C, F} platí: a) \X\ = \XT\, b) (X"1] - ^ \x\- Příklad 4.26: Uvažujme matice z příkladu 4.24. Ověřte, že platí: \A-B\ = \A\ ■ 151, \C-F\ = \C\ ■ \F\. 168 A := \4 2-4 3 -1 1 0 0 2-1 LinearAlgebra[Determinant] (Á) -4 2-4 3 -1 1 0 0 2-1 de:?:rrjir.äti: C := 1 -Ií+I -I 1 0 1 —I 0 7 -2+21 LmearAlgebra[Determmant] (C) -2+21 C = 1 -I 1 +I -I 1 0 1 -I 0 I determinant -2+21 Obrázek 4-21: Výpočet determinantu v Maple. Laplaceův rozvoj determinantu Poznámka 4.11: K výpočtu determinantu matic větších rozměrů než 3x3 (bez počítače) se obvykle používá Gaussova eliminační metoda a Laplaceův rozvoj determinantu. Laplaceův rozvoj determinantu nám říká, že pro čtvercovou matici A řádu n s prvky a přirozená čísla k, l taková, že 1 < k, l < n platí: n n \A\ = ]T(-l)fc+J • akj ■ \Akj\ = ]T(-l)í+ř • aa ■ \Aa\, j=i i=i kde Akj je matice A bez svého fc-tého řádku a j-tého sloupce, tzv. submatice matice A. Systém Maple nenabízí nástroj, který by uměl názorně provést Laplaceův rozvoj. Nic nám však nebrání v jeho vytvoření. Zavedeme proto příkaz lapiace jako proceduru se třemi povinnými parametry - čtvercovou maticí, přirozeným číslem od 1 do n udávající, podle kolikátého řádku či sloupce má být rozvoj proveden, a písmenem r nebo s v uvozovkách značícím, jestli se rozvoj povede podle řádku či sloupce. Smyslem textu není naučit programovat v Maple, a proto uveďme jen několik poznámek ke zdrojovému kódu umístěném níže v rámečku. Procedura má tři parametry (čtvercovou matici, přirozené číslo a znak). Pokud neuvedeme parametry v tomto pořadí a zmíněných typů, vypíše Maple chybovou zprávu Error, invalid input. lapiace := proč (A::(Matrix(square)), i::posint, c::cliaracter) local k, n; uses LinearAlgebra; n := RowDimension(A) ; if n < i then p r i n t f (" Druhy parametr musi byt cele cislo od 1 do %d.", n); return; end i f; if c = "r" then add(( -1)" (i+k)*A[ i , k]* det ( DeleteRow ( Delete Column (A, k) , i )) , k=l .n) elif c="s" then add(( -1)" (i+k)*A[k , i ]* det ( DeleteRow ( DeleteColumn (A, i ) ,k)) , k=l .n) else p r in t f (" T ret i parametr musi byt pismeno r nebo pismeno s return ; end i f; end proc: V proceduře je použito několik příkazů z balíku LinearAlgebra, který je na začátku „načten" (pouze pro potřeby procedury!). Těmito příkazy jsou RowDimension pro zjištění 169 počtu řádků (dimenze) zadané matice, DeleteRow a DeleteColumn pro odstranění řádku, resp. sloupce, zadané matice. Dalšími použitými příkazy (tentokrát již z hlavní knihovny Ma-plu) jsou add pro součet prvků (zejména numerické) posloupnosti a printf pro formátovaný výpis. Aby nedošlo k úplnému vyhodnocení a byl vidět Laplaceův rozvoj, je pro determinant použit neexistující „příkaz" det. Vyhodnotit získaný výsledek a získat tak konečnou hodnotu determinantu lze např. posloupností příkazů eval pro vyhodnocení a subs, jímž nahradíme řetězec det příkazem pro výpočet determinantu, tj. např. použít: eval (subs (det = LinearAlgebra [Determinant] , 7»)); následně po získaném rozvoji determinantu. Název balíku LinearAlgebra je pochopitelně možné vynechat, pokud jsme balík dříve načetli (příkazem with). Ukázku použití příkazu lapiace nabízí obrázek 4.22. 2-4 3 -1 1 0 0 2-1 Rozvoj podle prvního řádku laplace(A, 1. V) ' 1 0 1 ( ' -1 0 1 r -11 1 2 det + 4 det + 3 det 2 -1 > 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 svalysubs (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. 170 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 eval(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 171 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 7I7J 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 -11+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. 172 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 hfrmitian [ranwov? 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\ = LU 4.2 Lineární zobrazení 4.3 Afinní geometrie 173 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ě 174 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 - j = - 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{\x-y\, {x > 0,y=0}) Error, fin unknown) invalid simplify{\x-y\, {v=0}) 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-bf 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. 175 Chybne Správne simplijyl \x-y\,x = 0) Error, (in simplify/do) invalid ssmplify(\x-y\, {x=0}) 0 simplification command. simplijyi \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(i- (x + 1))} :{sin[x-£x+ 1)), cos[ř[x + 1J), 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. 176 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). 177 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žít <. 3. 3A( < 2) Error. 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. seqiL 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. /'■= 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 4-g(x„y) Error, invalid function arguments Obrázek 5.10: Nesprávné definice a použití funkcí. 178 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./fx) ■=x:pht(fx = 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ávně. 1, ptot[x,x = 2 ..5) Ji 4 2. plot(x.x=2 ..5 x: plot(f(x 5 A. f{x) :=x:plot(f2.S) 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. 179 Chybně zadané příkazy. Správně. 1. collect^ - 5-1 + 2-x-y, 2) Error, fin collect) cannot collect 2 1. coltect{x — 5-X + 2-x-y, x) x + (-5+2y)x 2.f-=2x 2x g[x) ■= unapply(f,x) x—>tmapply{f,x) ff[2) Error, fin unapply) variables must be 2.f:=2x 2x g := unapply(f,x) x—*2x ř(2) 4 unique and of type name 3. í í áxáy Error, fin int) intearation ranae or 3. í í 1 ix 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í. 180 Varováni. Řešeni. plot{a-x,x = 1 .3) a •■= 2 :plot(ax^x= 1 .3) 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} nebo with(numtheory) : divisors(50) {1,2, 5, 10,25, 50} 2. ArcLength( [cos(jí), sin(.v) ],x = 0 ..K) ArcLength( [cos(jí), sin(jí) ],x= 0 ..jc) 2. Studem[Calculusl][ArcLength]( [cos(x), sin(x)],x= 0 .Ji) TC 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. 181 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ů. 182 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. 183 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 R 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) fix) 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) /(s) = í* + 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 184 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) = fä, (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. 185 (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. 186 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 /Í£t/Í£22\ x 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 = /'(xq) = 3. Jelikož /'(xq) = 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) = fá,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. 187 (b) Uvažujeme funkci y/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. 188 (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) = —^ ' . 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 = 16■ pl ■= plot[ [4-x^, jc2], jí=-./2~-J~2, color = "NavyBlue". thickness = 2) : f ■= plottools[transform] ((xv) —*■ [jí, jí +x ]) : p2 := ploti^A —2- x",x=-Jl ..J~2, fúled= true, color = cyan) : plots[display] ([f(p2),pl ], scaling — constrained) f := x^>-piecewise(x < 0,-x, x) : g ■■= 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) : phts[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. 189 (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 ■= plot[pL,x = Q ..1, coior= "NavyBlue", thickness = 2) p2 :— plots [ implicitplot] [y = x, x = 0 .. 1, y = 0 .. 1, color = "NavyBlue", thickness = 2) : f := plottools[transform] ((xv) —» [jc, y + jc^] ) : p3 := plot^Jx —x',x= 0 ..1, filled = true, color = cyan) : plots[display] (f(p3),pl,p2) 0 0.2 0.4 0.6 o f K pl ■= plot] [tan(x), Q],x= 0 ..— ,y = -2 ..2, co/tv "NavyBlue". í/itc£jiejj= 2 p2 := plots[implicitplot] | jc= ~px = " -"p>'= " -1= cořor "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—->-piec3wise[x < 0, e e1} : g := x->2 : p := plot{ {f(x),g(x) },x = -ln{2) ..\n{2),color = "NavyBlue", thickness = 2, scaling^ constrained) : if := plottools[ transform ] ((.v.y) —> [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 = ^p-. 190 (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,j=0 ..2,color = "NavyBlue". f/!Jcfeess = 2) : tr := plottools[transform] ( (j:, v) —> [jljJ + /(.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. cofof = "NavyBlue". thickness =2} : f := £>fo(too£y[ transform ] ( (_*, v) —> [x,y + 3 — 2] ) : £>2 := plot{x^ — 3 + 2. jc = -2 ..1, filled = true, color = cyan) plots[display] (f(p2),pl) 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 = 7-^fl. (b) Výsledek je: S = 12 • rr. (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 = \Jr2 — x2 a „spodní" polovinu kružnice vztahem 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. 191 f ■= x-^ypiecewise^x < —,-4-x + 7, 2 -x — 8 J : 2 :— x ► x —6-1 + 8: /J := {/(.v). g(x) },*= 1 .A, color = "NavyBlue1'. thickness —2, scaling = constrained) : tr ■— plottools[transform] ((x,y) —> [x,y + f[x) ]) : q ■= plot{g[x) -f(x),x= 1 ..4,fdled— 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(\3- t2, 3-1 — i, t = -J~3 ../"3~], scaling = constrained, filled = true, color = cyan) : p2 := plot( t", 3-f — i, t = -J~3 ..^3"], scaling = constrained, color = "NavyBlue". thickness= 2) plots[display] (pi,p2) pi := plot([2- [t - sin(f)),2(l - cos( t)),l=0 ,.2-n], scaling= constrained, filled= true, color = cyan) : p2 ■■= plot{ [2- {t - sin(f) ).2- (1 - cos( f)). ( = 0 ,.2-je], scaling= constrained, color = "NavyBlue". thickness = 2 ) plots[display] (pi,p2) Obrázek 6.6: Zobrazení plochy z příkladu 2.60.(a) vlevo, zobrazení plochy z příkladu 2.60.(b) vpravo. 192 pi ■■= ^řof([3-sin3(f), 3-cos3( f),/ = 0 ..Ji], scaling= constrained, filled = true, color = cyan) : p2 := plot( [3-sin3( f), 3-cos3( f), t = 0 ..71], 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-^ _ 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 /rm 1 = 2-^2- EllipticE(Y) = 2 • V2 ■ J dx = 3.82 0 1 /r_n (d) 1 = 2-^/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) l = 2-7i- v7! + 16 • 7T2 - i • ln (-4 • 7T + v7! + 16 • tt2) 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 = ff. (b) Výsledek: V = (c) Výsledek: V = ^f. (d) Výsledek: V = *f. 193 pi ■= plot{x,x = 0 ..1, color= "NavyBlue", ihickness = 'l) p2 := plots[ implicitplot] (1/ = x. x = 0 ..1. y = 0 ..1. cofer = "NavyBlue", thickness = 2) : /":= pfoŕtooísf transform ] ((x, y) —> [x.y + x^]) : p3 := plot{Jx~ — x^,x=0 ..I, filled = true, color = cyan) : plots[display] [ f (p3),pi,p2) p '■— plot3d{[ x, J~x], 9 = 0..2-7C,x=0 ..1, axes=fra coords = cylindrical, labels= ["x", "y", "z1'] ) : plots [display] (p, orisntation= [ -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 ..K,filled= true, color = cyan) : p := plot3d( sin(x) ,6 = 0 ..2 -jr, x= 0 ..jr, axej=/rame, p2 := plot( [ sin(x), 0 ], x= 0 ..jr, color= "NavyBlue", coords = cylindrical, labels= [ "x", "y", "z" ] ) : thickness=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). 194 /:=!—>piecewise^x < 1, —. x pl plot{^ [f[x), 2],x = -i- -2,y = 1 ..2,eofoř = "NavyBlue", thickness=2 p2 '■= plot^2 —f[x),x= -j- ,.2,filled=true, color = cyanj : tr '■= plottools[transform] ((x,y) —* [x,y +/(x) ]) £>řoítf [ display] (řr ( jj2 ). pl) 2i p ■■= plot3d^ [/(x), 2], 6 = 0 .2n,x= -y .2, axes =frame, coords = cylindrical, labels= ['V, "y", "z"] pioíj[ifiYpííry] (p, 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). /)! := /jÍo(( [7 4- jc2,2 -i],i = 0 ..2, co/or = "NavyBlue", thickness = 2 ) : tr '■= plottools[ transform ] ((x, j>) —> [x, j + 2 — x]) : p2 '■= plot{ j 4- x — 2 + x, x= 0 ..2, filled = true, color = cyan) : plots[display] (tr(p2),pl) 2 p := pioř3t/( [ 2 - x, J 4- xt ], 9 = 0 .2 -je, x= 0 .2, axes =frame, coords = cylindrical, labels= ["x", "y", "z"] ) píofs[iíi?píay] (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). 195 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 = 0..JT 3 " v 7 t t ,t- — ,t=O..JJ 3 " filled= true, color = cyan , color = "NavyBlue", thickness =2 plots[display] (pl,p2, scaling= constrained) p := plotíd t2, \ ŕ--O ■«»(*), [í-y ■sin( j) s = 0 ,.2-ir,t=0 -J~i, axes = frame, 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 := plot = true, color = cyan p2 := plot 3-sin (íJ,3-cos (t),t = -— ..— , filled 3 - sin3(r). 3 ■ cos3( ŕ), í = --y- ..^ . color = "NavyBlue", thickness = 2, scaling= constrained j plots[ display ] (pl, p2) p := plot3d^ [3 - sin3((), 3 -cas (t) -oos(s), 3 - cos3(t) -sin(s) ], s = 0 ,.2-rt,t=-y axes = frame, labels = ["x", "y", "z"] J : /jfcrjfifcpfcn.'] 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: V = 4 • tt2. 196 pi := ploty"[silicí), 1 - oos(f),/= 0.. rc],color = "NavyBlue", thickness=2, scaling= constrained) : f ■= plottools[transform] ( (jí,y) —> [x,y + 1 -J 1 — x ]) : £>2 ■= plot{2-J l —x ,x = 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..7t, 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 := pfčrf( [2 + sin(f),2 + cos(f),/=0 ..2- re], color= "NavyBlue", thickness=2, scaling= constrained, view= [0 ..4, 0 .4]) : f ■= plottools[transform] ((x,y) \_x,y + 2 — J 1 — (x — 2Ý ]) : p2 := plotfa-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-rc, t=0 ..2- K 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 197 „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 + V2)) = 14.42. (c) S = 7T • (vTŤ + 2 ■ ln (2) - ln (l + y/TŤ) + 2 ■ y/2 + ln (l + y/2) + 6) = 42.68. (d) S = 4-n ■ (^2 + 2) = 42.90. Příklad 2.77: Ve všech případech využijeme poznámky 2.31: (a) S = 3 • 7T. (b) S = ± l,x = 0 ..4, : true, thickness = 2, gridrefine = 3) y i pi '■= plots[ implicitplot] ([ 1 < \x\ + [y| ], x =-4 ..4, y = -2 ..2, color = black, thickness =2, gridrefine = 3) : p2 := pioft [ owpficitplot] ([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. 199 (e) pi '■= plots[implicitplot] (o,.v= 0 ,.l,y= J x-{l —x] ..J 1 — x",color= cyan\ : p2 ■— plots[implicitplot] (o, x=0 .. 1, v=- J 1 — .v2 .. jc■ (1 —x] , color = cyan) : := ploti^[ ~y 1 — x , J 1 — x \,x = -\ ..0, eo/or = black, filled = [color = cyan]] : p4 := ptof ( i -i ,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] (sin(x2 > 0, x=-3 ..3, y =-3 ..3. coloring = [cyan, white], filled = frus. thickness = 2. gridrefine = 3) 3 1 -2I -1 0 1 J 2 J 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ů gridref ine a crossingref ine 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>0 pro případ (f). 200 plots[implicitplot](x + y > 0,x=-2 ..2, y = -2 ..2, coloring = [cyan, white], filled'= true, thickness = 2) 2n 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]{{l — jc^) ■ (1 — v2) >0,x=-l ..1, y = -1 ..1, coloring = [cyan, white], filled = true, thickness = 2, gridrefme = 3, view = [-2 ..2,-2 ..2]] 2 2 I 0 2 -2 pi :— plots[implicitplot] (y — x > 0, x = 0 ..4, y = 0 ..4, coloring = [cyan, white], filled = true, thickness = 2, gridrefine = 3) : p2 ■= plots[implicitplot](x= 0,x= 0 ,.4,y=0 .A,style =point, color= black, symbolsize = 4, numpoints = 400) plots[display] (pl,p2, view— [0 .A, 0 ..4]) 7 2 Obrázek 6.21: Zobrazení definičního oboru funkce z příkladu 3.6.(e). 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 funkci nalevo od místa nespojitosti a napravo, grafy pak spojíme v jeden příkazem display. 201 plots[contourplot] (x" -y", x—-5 ..5,y--5 ,.5, contours = 15) plot3d(x2-y",x—-5 ..5,y--5 ..5, style =patchcontowr, axes= frame) Obrázek 6.22: Zobrazení vrstevnic funkce z příkladu 3.7.(a). plots[contourplot] í ~v~—2~-x~~^ ■■^JJ~~5 grid= [ 100, 100], view= [ -4 ..4,-4 ..4], contours = [0.1, 0.2, 0.3, 1,1.5, 3,4, 5, 10] -4 plot 3d 1 2 2 ,x=-3 ..3. y=-3 ..3, Jívíe =patchcontour, axes= frame, numpoints = 5000, víffM-'= [ -1 ,.1,-1 ,.1,-1 ,.30], contours= is) Obrázek 6.23: Zobrazení vrstevnic funkce z příkladu 3.7.(b). 202 plots[contourplot]\ — . x = -5 ,.5.v = -5 ..5. grid \y = [200, 200], contours = [ -0.5,-1,-2,-3, -5, 0.5,1,2, 3, 5], view = [ -2 ..2,-2 ..2] 2i pl ■ —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 {y' =frame, numpoints= 5000, view = [-5 ..5,-5 ..5,-5 ..5] j : plots[display] (pl,p2) Obrázek 6.24-' Zobrazení vrstevnic funkce z příkladu 3.7.(c) (d) plots [contourplot](x-y,x = -5 ..5,y=-5 ..5] 2 ^^4__ 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í |rr| < 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 203 Pro e > 1 máme |rr| < 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' j < V2 < 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^ 204 (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 • X1 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) = V2.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) + -^-y + xT-y- jgfr, fyy(Xi 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: (a) fi(A) = % (b) Příkaz DirectionalDerivative neumí pracovat s obecnými směry. Je proto potřeba vypočítat řešení jinak. f'u(A) = \ ■ (cos(cv) + sin(a)). Příklad 3.20: 205 (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(f),[rro,ž/o] = [M], = [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) ž/) = f- a; + §- ž/ + ln(5) - 2, (d) t(x,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), [x0,í/o] = [3, |], [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 [—-^f, — ] a [^f, ] jsou lokální minima, body [—a [-^f, — ] jsou lokální maxima zadané funkce. 206 (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: [^,^], [^,— r_yj2 yj2l í_V2 _yJ2l [ 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]. 207 (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 • / • 7r] 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 + -J= 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: yf x2 + 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. 208 plots[inequal]{{Q 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: 0x= O .A,filled= true, color = cyan ] : x, v + plots [display] (pl,f(p3),p2) 2 pl '■= plots[implicitplot] ( {x= 2}, x = 0 ..3, y = 2 .A, color = black tliickness = 2, scaling = constrained) p2 := ploti [x, 2x], x = 0 ,2. thickness = 2. color = black) : pi := £>?o*( x,x= 0 ..2,filled= true, color = cyan) : f '■= plottools[ transform ] ((x, y) —* [x, y + x]) : plots [display] (pl,f[p3),p2) 0 0.5 1 1.Í 2 Obrázek 6.28: Zobrazení množiny ohraničené integračními mezemi z příkladu 3.43.(a) vlevo, zobrazení množiny ohraničené integračními mezemi z příkladu 3.43.(b) vpravo. 2 2-x 2 y 4 2 J j' f(x,y) dy dx = J J f {x,y) dx dy + J J f {x,y) dx dy. o x o y 2 í 2 2 (c) Přepis množiny v obráceném pořadí proměnných: 0-fiHcy = 0.6, axes = frame) : p3 := ploi3d([ 0,y, z],y = 0 ..2,z = 0 ..6 — 3 ■ y, írííHjfJíií-aHcy =0.6) := píofJíí^ [x,y, 0],x = Q ,.3.y=0 ,.2 — -j--x, transparency = 0,6 /jíoíj [ ifijpííTy] (J? 11 (1 . .4)) plot[ - — -x + 2. x = 0 ..3. filled [ co/or = cyan ]. eoiW = black] , -4--JE + 2 3 3 F= [ 1 6 -2- x-3-ydydx P=6 Obrázek 6.30: Řešení příkladu 3.49.(a) 213 pi ■= plot3d[ [x, y, x1 + 2 - y. ], x = -l ..1, y = \x\ .2 — x, transparency = 0.6, axes = frame) : p2 '■= plot3d[ [x, \x\, z],x = -\ ..l,z= 0 .jf2 + 2- |jc|, transparency =0.6): p3 ■= plot3d[ [x,2 — x, z\,x = -\ ..l,z=0 .4 — x2, transparency = 0,6) : p4 '■= plot3d[ [ x,y, o],x = -l ..l,y = \x\ ..2 — x2, transparency = 0.6) : plots [display] (p\\ (1 ..4)) pi ■= plot{[2 —x2, \x\],x = -l ..l,v=0 ..2, color = black) : p2 := plot{2 —x"-\x\,x = -\ ..1,filled— true, color —cyan) : f ■= plottools[ transform ] ((_x\ v) —* [x, y / 15 x 7 1 \ O.J -1 -0.J 0 O.J 1 O 2-x2 1 .2-0* K=J 1 U2 + 2-j)dvdv + J I ( ' -1' -.v 0 jc + 2-y) dydx 11 Obrázek 6.31: Řešení příkladu 3.49.(b). pi := seq{tplot3d( [xj.zn-e^+^ \,x = -2 ..2,y = -J a — x ..J a —x , axes = frame, transparency = 0.6 ), zn in [ 0, 1 ] p2 := [x, zn ■ J a — x2 ,z\, x = -2 ..2,z=0 ..e, transparency = 0.6 ). zn in [ -1, 1]) : plots [ display ](pl, p2) pi ~plot{ [,/ 4 — x2 ,-J a — x2 ],_v=-2 ..2, filled = true, color = cyan) : p2 := plots[implicitplot] ([x2 +y2 = a\,x = -2 ..2,y = -2 ..2, color = black) : plots [ display ](pl. p2) e dv ax 2 -A^? F=| {-lex{{lj4-x2 ) //jr) dx evalf{%) V= 168.3S35544 Obrázek 6.32: Řešení příkladu 3.49. (c) 214 pi := seq \^plot3d ^ [x, y, zn- (5-x2 + 2-x-y)],x=0 ..2, y = Q ..1 — axes —frame, transparency—0.6 j, zn in [ 0, 1 ] J : £>2 — plot3d[ p3 := /)/oí3íí^ řrařispařeKcy = 0.6 j : plots [display] (p\\ (1 ..3)) x, 0, z], x = 0 ..2, z= 0 ..5x , transparency- 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}dydx LI 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 1 ,z],x— 1 .2,z = 0 .x , transparency^ O.ó) : p3 '■= plot3d[ [2,y,z],y= 0.5 ..2,z = 0 ..4-v 2, transparency= .&] p4 ■= plot3d([x,x,z],x= 1 ..2,z = 0 ..1, transparency^ 0,6) : ^řořjfiíiYpřay] (1 ..4)) pi plots[implicitplot] y :■: < _. ;■■ = —,;. =:■. . = 1 ..2,y= ^ ,.2, oolor=blackj : p2 := £>roi(x — x \x= 1 ..2,filled= true, color = cyan) : tr := plottools[ transform ] ((x, v) —*■ [x,y + x ' ]) 2l 1 1.2 1.4 1.(5 1.8 2 assume(x > 0) 2 1 ' 1 dj?dx Obrázek 6.34-' Řešení příkladu 3.49. (e). 215 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) = yjr2 — 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) S = + -ln(5) + |- y/E + ■ arcsinh ■ y/E) =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) = \/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/21], 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 íl (pro získání integračních mezí). V polárních souřadnicích je navíc jednodušší množinu íl zapsat, a tak ji přepíšeme rovnou celou. Pro poloměr r platí: 3 < r < y/21, a pro úhel 9: 0 < 6 < 2 -7t. 216 f(x,y) := V25-.v 2 2 V [Jí, v) ->7 25 -jc2-j ' 3 ^21 -i2 AíjáeKífAíuříriwíditeCíířcuřuj] [ ChangeO/Variables] [ carteswn^ r, polar^ &J r 1=0 ^=721-^ 1 -25 + r ř- dř- d9 3 J 1 -25 + r dedř- 20 jc 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 G [0,x2 + 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]. 217 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(#), kde p G [0,r],# G [0, 2 • 7r]. 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(#), 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- ^r2 - p2 ■ cos{9) - p2 ■ sm(9) 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(#), 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) • sin(9),y = p ■ sin(0) • sin(9),z = p ■ cos(#), kde p G [—r, r], (f) G [0, 2 • 7r], 9 G [0, 2 • 7r]. Podle poznámky 3.25 tak počítáme integrál 2-7T 2-7T r sin(#) • p2 dp d(f) d9. 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 ■ sin(9),z = z, kde p G [0, r], 9 E [0, 2 • 7r], z G [0, v]. Podle poznámky 3.26 tak počítáme integrál 2-7T r v p dz dp d9. ooo Jak v příkladu 3.61, tak i nyní bychom měli obdržet tabulkový vzorec: V = tt ■ r2 ■ v. 218 Příklad 3.65: Všechny tři řady umí Maple „sečíst". oo oo (a) E = (b) E ^ = \, (c) E £ = 00, řada diverguje. n=l n=l n=l Příklad 3.68: (a) sn = y/n, s = lim sn = 00 =>• řada diverguje, n—>oo 00 (b) a„ = , „1 „ > , 0 \ = 1 1 = —tt, řada -4r diverguje =>- zadaná řada v 7 n \/n2+2-n V"2+2-n+l ^/(n+1)2 n+1' n+1 ° J také diverguje, r I— 00 /— (c) an = ^r^i < řada E v/^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 ^ 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ě. 219 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 ex 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 + -é'V' 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: 220 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 IR3LT], 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) + {x2 + 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 Rn[x] je nulový prvek, tj. Vg(rr) G Rn[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 Rn[x] : (p(x) + q{x)) + r(x) = p{x) + {q{x) + r(x)), 4. \/p(x), q{x) G Mn[rr] : p(rr) + g(x) = q(x) + 5. Va, b G ]R,p(x) G Mn[rr] : a ■ (6 • p(rc)) = (a • 6) • 6. p(rr) = 1 G Rn[x] je jednotkový prvek, tj. \/q(x) G Mn[rr] : q{x) ■ p{x) = q(x), 7. Va G ]R,p(x), g(x) G Rn[x] : a • (p(^) + q{x)) = a ■ p{x) + a ■ q(x), 8. Va, 6 G IR, p(rr) G Rn [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. 221 with (LinearAlgebra) : A :=Matrix{[[l,2-I, 0], [0,3 -1,6-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 + 21) 5+41 10 5+31 5+21 R ■— GaussianElimination(Matrix( [A,y])) 1 21 0 5+41 0 3-16-21 10 0 0 -1 +81 -9 +71 0 0 0 o res := Matrix^ ^seq^ [jr.J, i = 1 ,.3 J | J : solve{ {seq( (R[i, 1 ..3 ]. res) [ 1 ] = R[i,4], i= 1 .3)}, jx^^^JJ Jjc^ = 3 + 21, = 1 — I, = 1 +1 j 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. 222 Rejstřík ?, 15 %, 18 abs, 12 absolutní konvergence řady, 148 add, 170 All values, 25 AllSolutions, 23 allvalues, 24 alternující řada, 147 animate, 46, 85 apply, 35 Approximate Integration, 79, 135 Approximatelnt, 135 ArcLength, 83 assign, 20 Assistants, 15 assume, 28, 91 assuming, 29 Asymptotes, 71 axes, 43 Basis, 154 bod uzávěru, 119 Change, 73 changecoords, 125, 139 ChangeOfVariables, 125, 139 Classic Worksheet, 7 coeff, 29 collect, 29 color, 43 combine, 28, 158 conjugate, 172 contourplot, 100 contours, 100, 201 convert, 29, 60, 75 copy, 172 CriticalPoints, 71 D, 55, 106 definiční obor, 36 DeleteColumn, 170 DeleteRow, 170 Determinant, 115, 168 diff, 54, 106 Digits, 16, 20 DirectionalDerivative, 109 discont, 52, 64, 66, 67, 105 display, 45, 107 divergence řady, 140 Document Mode, 9 dolní integrál, 76 dolní integrální součet, 76 Drawing, 43 dsolve, 23 Error, (in plot) 179 Error, (in rtable/Power) singular matrix, 158 Error, illegal use of an object as a name, 177 Error, invalid assignment, 176 Error, invalid input, 169, 174 Error, invalid operator parameter name, 177 Error, invalid power, 177 Error, numeric exception: division by zero, 177 Error, recursive assignment, 151 Error, unable to match delimiters, 176 eval, 33, 34, 55, 115, 170 evalb, 38 evalf, 16, 18, 24 expand, 29, 33 extrema, 65, 115, 119 ExtremePoints, 71 factor, 29, 158 fsolve, 23 FunctionChart, 70 GaussianElimination, 164, 165, 167 GaussianEliminationTutor, 164 grid, 95 gridrefine, 95, 97, 100 HermitianTranspose, 172 hessián, 115 223 Hessian, 115 Hessova matice, 115 hlavní menu, 7 horní integrál, 77 horní integrální součet, 76 implicitplot, 81, 95, 97, 100, 125 implicitplot3d, 106 inequal, 97, 125 InflectionPoints, 71 Int, 73, 124 int, 72, 77, 124 integrální kritérium, 145 integrační konstanta, 72 IntegrationTools, 73, 74 integrovatelná funkce, 77 intsolve, 23 InversePlot, 39 InverseTutor, 5, 39, 165 invfunc, 39 iscont, 52 isolve, 23 kernelopts(maxdigits), 16 kontextová lišta, 7 konvergence řady, 140 labels, 43 Lagrangeova věta o střední hodnotě, 71 lapiace, 169, 170 lem, 17 legend, 43 Leibnizovo kritérium, 147 limit, 49, 102 limitní Raabeovo kritérium, 145 limitní srovnávací kritérium, 144 LinearAlgebra, 21, 115, 160, 168 LinearSolve, 23, 160 LinearSolveTutor, 164 LinearSystemPlot Tutor, 160 Maclaurinův vzorec, 60 Maclaurinův zbytek, 60 map, 158, 172 Maple Help, 13 Math Apps, 5, 15 Math Mode, 9 Matrix, 155, 158 Matrixlnverse, 158 Maximize, 117, 119 maximize, 37, 117, 119, 121 MeanValueTheorem, 71 metoda per partes, 72 Minimize, 117, 119 minimize, 37, 117, 119, 121 msolve, 23 mtaylor, 113 Multilnt, 124, 125 nástrojová lišta, 7 neabsolutní konvergence řady, 148 nekonečná řada, 140 neurčitý integrál, 72 normal, 28 numer, 162 numpoints, 95 obor hodnot, 36 odmocninové kritérium, 144 ohraničená funkce, 36 op, 162, 172 Optimization, 117, 119 Order, 60, 113 oscilace řady, 140 palety, 7, 11 parfrac, 75 Parts, 73 pdsolve, 23 Pi, 12 piecewise, 35 Plot, 43 plot, 43, 66, 140 Plot Builder, 43 plot3d, 85, 87, 94, 95, 100, 106, 107, 112 PlotBuilder, 94 plots, 46, 81, 97, 107, 112, 125, 127 plottools, 125 Plot Vector, 151 podílové kritérium, 145 pointplot3d, 107, 112 polygonplot, 208 posloupnost, 139 posloupnost částečných součtů, 140 primitivní funkce, 72 printf, 170 RealDomain, 22, 37 ReducedRowEchelonForm, 167 restart, 20 Riemannův integrál, 77 RiemannSum, 78, 135 224 Rolleova věta, 71 RollesTheorem, 71 Roots, 71 RowDimension, 169 rsolve, 23 seq, 140 simplify, 22, 28, 29, 33 singular, 105 solve, 23, 64, 81 sort, 29 spacecurve, 106, 119 sqrt, 12 srovnávací kritérium, 143 stacionární body, 63 Standard Worksheet, 6 stavová lišta, 7 Student[Calculusl], 39, 70, 78 Student [Linear Algebra], 164, 165 Student [MultivariateCalculus], 109, 124, 135 subs, 73, 170 substituční metoda, 72 Sum, 141 sum, 141 SurfaceOfRevolution, 88 Tasks, 15 taylor, 60, 113 Taylorův polynom, 59, 113 Taylorův vzorec, 59, 113 Taylorův zbytek, 59, 113 Text Mode, 9 thickness, 43 transform, 125 Transpose, 158 Tutors, 15 type, 176 Warning, solutions may have been lost, 180 Warning, unable to determine if 180 What Assumptions, 23 with, 21, 115 Worksheet Mode, 9 unapply, 34, 55, 78 unassign, 20 Units, 22 Units Calculator, 22 unwith, 21 uzávěr množiny, 119 uzavřená množina, 119 value, 73, 74 Vector, 150 VectorCalculus, 115 verify, 38 VolumeOfRevolution, 85 225 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] 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: [5] Hřebíček, J., Pospíšil, Z., Urbánek, J.: Úvod do matematického modelování s využitím Maple. CERM, Brno (2010) [6] Hummelová, I., Hamříková, R., Janků, V., Tannenbergová, M., Dostálová, M., Dudkova, 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: [7] Kalus, R., Hrivnák, D.: Breviár vyšší matematiky. Ostravská univerzita, Ostrava 2001. [online], [cit 2010-12-31]. Dostupný z WWW: [8] Kouřilová-Snyrychová, P.: Dvojný Riemannův integrál, [online], [cit 2010-12-27]. Dostupný z WWW: [9] Maplesoft: Maple User Manuál, [online], [cit 2010-08-17] Dostupný z WWW: [10] Ústav Matematiky FSI VUT Brno: MATEMATIKA online, [online], [cit 2010-08-17] Dostupný z WWW: [11] Mendelson, E.: 3000 Solved Problems in Calculus. McGraw-Hill (1988) [12] Novák, V.: Diferenciální počet v R. Masarykova univerzita, Brno (1997) [13] 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) [14] Slovák, J.: Lineární algebra 1997/1998. Masarykova Univerzita, Brno. [online], [cit 2012-10-16]. Dostupný z WWW: 226 Zlatoš, P.: Lineárna algebra a geometria. Bratislava (2006). [online], [cit 2012-10-16]. Dostupný z WWW: 227