Pokroky matematiky, fyziky a astronomie Roman Plch O jednom využití počítače ve výuce matematické analýzy: Lokální extrémy funkcí dvou proměnných Pokroky matematiky, fyziky a astronomie, Vol. 42 (1997), No. 1, 24--34 Persistent URL: http://dml.cz/dmlcz/139201 Terms of use: © Jednota českých matematiků a fyziků, 1997 Institute of Mathematics of the Academy of Sciences of the Czech Republic provides access to digitized documents strictly for personal use. Each copy of any part of this document must contain these Terms of use. This paper has been digitized, optimized for electronic delivery and stamped with digital signature within the project DML-CZ: The Czech Digital Mathematics Library http://project.dml.cz O jednom využití počítače ve výuce matematické analýzy: Lokální extrémy funkcí dvou proměnných Roman Plch, Brno V současné době počítače ovlivňují prakticky všechny oblasti lidského života. Cílem tohoto článku je představit jednu z netradičních forem výuky matematické analýzy a dostupný software, využitelný pro tento způsob výuky. V závěrečné části jsou uvedeny ukázky příkladů, ilustrující tento způsob výuky a problémy vznikající při nesprávném použití počítačového systému. 1. Projekt CALC Jednou z možností využití počítačů ve výuce je jejich užití v počítačové laboratoři jako doplňku ke klasickým přednáškám. Studenti se učí matematice za současné komunikace s počítačem a s ostatními studenty. Tento systém je v současnosti testován na univerzitách v USA v rámci projektu CALC (Calculus As a Laboratory Course). V rámci tohoto projektu jsou také připravovány nové učebnice matematické analýzy, příklady pro laboratorní cvičení, interaktivní učební texty a řada dalších materiálů. Texty a materiály pro laboratoře jsou testovány již pět let a jejich předběžné verze jsou dostupné od: D.C. HEATH and Co., 125 Spring St., Lexington, MA 02173, 800-235-3565. Zájemci o testování mohou tyto materiály obdržet bezplatně. Některé z materiálů jsou dostupné i prostřednictvím počítačové sítě INTERNET (http: //www. math. duke. edu/f aculty/moore/pcalc. html). Hlavní cíle projektu jsou tyto: Studenti by měli být schopni (1) využívat matematických znalostí k pochopení a řešení problémů z praxe, (2) využívat metod matematické analýzy k formulování a řešení problémů, (3) využívat počítače jako nedílné součásti procesu řešení úlohy, (4) naučit se pracovat a učit se společně. Vlastní realizace: Přednášky v reformním kursu probíhají v místnosti vybavené demonstračním počítačem a projekčním rámečkem, cvičení pak v počítačové laboratoři s vhodným CAM1 ) systémem (viz dále). Studenti pracují ve dvojicích, zpracovávají zadaná data a snaží se získané výsledky zobecnit. Důraz je kladen na samostatné *) Computer Aided Mathematics, systémy pro symbolické výpočty RNDr. ROMAN PLCH (1964), katedra matematiky Přírodovědecké fakulty Masarykovy univerzity, Janáčkovo nám. 2a, 662 95 Brno. 24 Pokroky matematiky, fyziky a astronomie, ročník J^2 (1997), č. 1 učení studentů. Úkoly jsou voleny tak, aby jejich řešením získali a upevnili si potřebné matematické znalosti. K tomu slouží zejména experimenty se zadanými daty, modelování problémů, vývoj metod řešení problémů a ověřování správnosti výsledků. Na konci cvičení odevzdávají vyplněný protokol (předtištěný formulář s otázkami), několikrát za semestr pak dlouhodobější projekt, který řeší samostatně mimo výuku. Tyto projekty jsou pak rozhodující pro udělení zápočtu. Dosavadní výsledky a hodnocení projektu ukazují, že studenti zahrnutí do projektu dosahují u zkoušek lepších výsledků a hlubšího pochopení látky než studenti v tradičních třídách. V těchto třídách je ale na vyšší úrovni početní zručnost. 2. Systémy CAM Představme si nyní některé z CAM systémů, používaných v projektu CALC. MAPLE V (Release 4) — projekt Maple se vyvíjí od 80. let v Maple Waterloo Software (domovská stránka pro Web je http://www.maplesoft.on. ca) a dá se říci, že je prvním z moderních systémů, který v sobě kromě rozsáhlých algebraických manipulací obsahuje i implementace numerických metod, knihovny speciálních funkcí a v neposlední řadě také velmi propracovanou grafiku (všechny obrázky v tomto článku jsou připraveny systémem Maple). Navíc je důsledně odděleno uživatelské rozhraní od vlastního jádra systému. Uživatel má také možnost tvořit tzv. zápisníky, kde lze kombinovat text, vstupy, výstupy i grafiku. Z těchto důvodů je vhodný jak pro zpracování úkolů, tak pro vytváření protokolů (podporována je i konverze do formátu L^I^jX). Dalšími výhodami Maplu jsou jeho dostupnost pro prakticky všechny běžně užívané operační systémy (MS DOS, MS WINDOWS, SCO UNIX, BSD UNIX, SUN Solaris, Macintosh, Silicon Graphics, Next, . . . ) , poměrně nízké nároky na hardware (2-6 MB RAM, 10MB místa na disku) a jasně a dobře definovaná syntaxe. Shrňme si do několika bodů základní možnosti systému Maple (jsou vlastní i ostatním CAM systémům). • Maple umí pracovat s libovolně velkými celými čísly. Řádově lze používat čísla s desetitisíci ciframi. • Numericky lze pracovat s libovolně zvolenou přesností. • Jednoduchým způsobem lze definovat výrazy jako funkční závislosti, seznamy, množiny atd. • Různými způsoby lze interaktivně zobrazovat bodová data, křivky, plochy (zadané přímo či implicitně), sdružovat několik grafik, animovat apod. • Maple ovládá veškeré standardní procedury diferenciálního a integrálního počtu, umí řešit systémy lineárních, algebraických i diferenciálních rovnic, vše analyticky i numericky, v rozsahu převyšujícím výuku pro studenty odborné matematiky. • Jsou implementovány numerické metody, které lze automaticky (a se zvolenou přesností) aplikovat, kdykoliv analytické procedury nevedou k cíli. • Maple obsahuje velice bohatý programovací jazyk se syntaxí blízkou Pascalu. Lze v něm velice snadno definovat funkce, procedury i celé programové systémy. Ty jsou pak plně přenositelné mezi všemi implementacemi systému Maple. Pokroky matematiky, fyziky a astronomie, ročník J^2 (1997), č. 1 25 Na adresu support Qmaplesoft. on. ca je v případě problémů možno e-mailem zaslat žádost o pomoc. Domovská stránka Maplu je http://daisy.uwaterloo.ca. Zde najdeme vše týkající se Maplu (seznamy literatury, ukázkové zápisníky, oznámení o konferencích atd.). Mathematica (v. 3.0) firmy Wolfram Research Inst je zatím asi nejpoužívanějším CAM systémem (díky velice agresivní obchodní politice a designu vyhovujícímu plně inženýrským potřebám). Většina materiálů projektu CALC je také určena pro tento systém. Možnosti jsou obdobné jako u systému Maple. Domovská stránka archivu programů a doplňujících materiálů Mathsource je http://www.wri.com. Derive (3.0) firmy Soft Warehause je jednoduchý program pro symbolické výpočty, ovládaný pomocí systému menu. Jeho jednoduchost a nízké hardwarové požadavky ho umožňují používat prakticky na jakémkoliv počítači PC ihned, pouze po krátkém zaškolení (512 kB RAM, jedna disketová mechanika, grafická karta CGA a vyšší). Domovská stránka je http://www.derive.com/derive.htm a problematikou Derivu se zabývá diskusní skupina derive-news@mailbase.ac.uk. 3. Ilustrační příklady V další části textu je uvedeno několik příkladů z problematiky určování extrémů funkcí dvou proměnných, určených k samostatnému řešení pomocí počítače a jejich řešení pomocí uvedených počítačových systémů. Příklad 1. Najděte lokální extrémy funkce z = rr4 -f yA - x2 - 2xy — y2 . (K řešení bylo použito systému Mathematica. Studenti byli v předcházejících hodinách seznámeni se syntaxí a základními příkazy systému.) Nejdříve definujeme zadanou funkci: In[l]:= z[x_,y_]:=x~4+y~4-x~2-2x y -y~2 Stacionární body najdeme řešením soustavy rovnic zx = 4x3 - 2x - 2y = O, Zy = 4y3 - 2x - 2y = 0. In[2]: = a=Solve[{D[z[x,y],x]==0, D[z[x,y] ,y]==0},{x,y}]//Union 0ut[2]= { { x -> -1, y -> -1}, {x -> O, y -> 0}, {x -> 1, y -> 1}, (-1 - I~Sqrt[3]) Sqrt[l - I~Sqrt[3]] Sqrt[l - I"Sqrt[3]] > {* -> § y _> > , > Í * •> ... н ^° Pokroky matematiky, fyziky a astronomie, ročník J^2 (1997), č. 1 Získali jsme tedy tři stacionární body Fi = [-1, -1], P2 = [0,0] a P3 = [1,1], zbývající kořeny jsou komplexní. Z výstupu programu Mathematica jsou uvedeny pouze reálné a první komplexní kořen, zbývající komplexní kořeny jsou vypuštěny. (Analogicky jsou vypuštěny komplexní kořeny i v řešení tohoto příkladu pomocí souboru píce .m). Pomocí hodnoty výrazu D(x0,yo) = zxx(xo,yo)zyy(xo,yo)-[zxy(xo,yo)] 2 rozhodneme, zda ve stacionárních bodech nastává extrém: In[3]:= d:=D[z[x,y],x,x] D[z[x,y] ,y,y]-D[z[x,y] ,x,y] ~2 In[4]:= d/.{a[[l]], a[[2]], a[[3]]} 0ut[4]= {96, 0, 96} Dostáváme D(P\) = D(P3 ) = 96 > 0 a podle znaménka zxx ve vyšetřovaných bodech rozhodneme o povaze extrému: In[5]:= D[z[x,y],x,x] /.{a[[l]] ,a[[3]]} 0ut[5]= {10, 10} Tedy zxx (P\) = zxx (P3 ) = 10 > 0 a v bodech Fi, P3 nastává ostré lokální minimum o hodnotě: In[6]:= z[x,y]/.{a[[l]], a[[3]]} 0ut[6]= {-2, -2} Funkční hodnota z(Px ) = z(P3 ) = -2. Protože D(p2) = 0, nemůžeme o existenci extrému na základě druhých derivací rozhodnout. Postupujeme následujícím způsobem: Funkci z upravíme na tvar z(x, y) = = x 4 + y 4 - (x -I- y) 2 . Odtud z(-x, x) = 2x 4 > 0 pro x 7- 0. Na druhé straně z(x, 0) = = x4 - x2 = x2 (l - x2 ) < 0 pro x € (-1,0) U (0,1). Tedy v libovolném okolí bodu [0,0] funkce z nabývá jak kladných, tak záporných hodnot, což spolu s faktem, že z(0,0) = 0, znamená, že v tomto bodě lokální extrém nenastává. Závěrem si necháme zobrazit zkoumanou funkci (obr. 1) a pro názornost i její vrstevnice (obr. 2). Dlouhodobějším úkolem je navrhnout funkci, která otestuje stacionární body a rozhodne, zda nastává extrém, či zda jde o sedlový bod. (Jde vlastně o zautomatizování předcházejícího postupu prostředky programovacího jazyka daného CAM systému.) Tento úkol je možno zadat například v rámci zápočtového projektu. Ukázka možného řešení: Pokroky matematiky, fyziky a astronomie, ročník ^2 (1997), č. 1 27 Obr. 1. z = x 4 + y 4 — x 2 — 2xy - y 2 Obr. 2. Vrstevnice (* pfce.m *) SelectReal[rules_List,vars_List] : = Module[{temp}, temp = vars/.rules; Select[temp,VectorQ[#,Im[#] ] == 0&]&]//Union SDTest[func_,{varl_Symbol,var2_Symbol},cpt_List]:= Module[{cptlist,hessian,evalhessian,data,test}, cptlist = If[Length[Flatten[cpt]] == 2, {cpt},cpt]; If[Head[cptlist[[1,1]]] === Rule, cptlist = SelectReal[cptlist,{var1,var2}]]; hessian = Function[{varl,var2},Hessian[func,{varl,var2}]//Evaluate]; evalhessian = Apply[hessian,cptlist,{1}]//N; data = Map[{Det[#] ,#[[1,1]]}&,evalhessian] ; test = Which[First[#] < 0, "Saddle", First[#] == 0, "Inconclusive", First [#] > 0, Which[Last[#] > 0, "LocalMin", Last[#] < 0, "LocalMax"]]&; data = Transpose[{ test /Q data, cptlist } ] ; Map[# -> Cases[data,{#,x_} :> {varl -> First[x],var2 -> Last[x]}]&, {"LocalMin","LocalMax","Saddle","Inconclusive"}] ] Grad[fun_,vars_List] := Map[D[fun,#]&,vars] Hessian[fun_,vars_List] := Outer[D,Grad[fun,vars],vars] Řešení předcházejícího příkladu s využitím souboru pf ce.m pak vypadá takto: 28 Pokroky matematiky, fyziky a astronomie, ročník J^2 (1997), č. 1 In[7] := «pfce.m In[8]:= gr=Grad[z[x,y], {x,y}] 3 3 0ut[8]= {-2 x + 4 x - 2 y, -2 x - 2 y + 4 y } In[9]:= cp=Solve[gr=={0,0}, {x,y}] 0ut[9]= {{x -> - 1 , y -> -1}, {x -> O, y -> 0}, {x -> 0, y -> 0}, > {x -> 0, y -> 0}, {x -> 1, y -> 1}, (-1 - I~Sqrt[3]) Sqrt[l - I~Sqrt[3]] Sqrt[l - I~Sqrt[3]] > {x -> , y -> }, 4 2 > {x -> ... }} In[10]:= SDTest[z[x,y] , {x,y}, cp] 0ut[10]= {LocalMin -> {{x -> - 1 , y -> -1}, {x -> 1, y -> 1}}, > LocalMax -> { } , Saddle -> {}, Inconclusive -> {{x -> 0, y -> 0}}} Příklad 2. Najděte lokální extrémy funkce z = x 3 — 6xy + y 3 . (K řešení bylo použito systému Maple.) > zl:=x~3-6*x*y+y~3; zl := x 3 -6xy + y 3 > cp:=solve({diff(zl,x)=0,diff(zl,y)=0},{x,y}); cp:={y = 0,x = 0},{y = 2,x = 2}, {y = RootOf(.Z 2 + 2-Z + 4),x = -RootOf(.Z 2 + 2.Z + 4 ) - 2 } > d:=z->diff(z,x$2)*diff(z,y$2)-(diff(diff(z,y),x))~2; / g2 x2 d := z -> diff(z, x%2) difT(z, y%2) - ^—- z \oxoy Pokroky matematiky, fyziky a astronomie, ročník fé (1997), č. 1 29 > r:=z->diff(z,x$2) ; r := z -> diff(«, x$2) > subs(cp[l],d(zl)); s u b s ( c p [ l ] , r ( z l ) ) ; -36 0 > subs(cp[2],d(zl)); subs(cp[2],r(zl)) ; 108 12 > save d,r, ' p f ' ; Tedy v bodě P\ — [2,2] nastává ostré lokální minimum a bod P2 — [0,0] je sedlovým bodem. Zbývající kořeny jsou komplexní. Ilustrační obrázky (obr. 3, obr. 4) byly vygenerovány těmito příkazy: > with(plots): > plot3d(zl, x=-1..3, y=-l..3,view=-10..10, axes=boxed, orientation=[-108,52]); > contourplot(zl, x=-1..3, y=-1..3, contours=25, numpoints=2500, color=black, > axes=boxed); Obr. 3. z — x3 - 6xy + y3 Obr. 4. Vrstevnice 30 Pokroky matematiky, fyziky a astronomie, ročník 4% (1997), č. 1 J = uL z |F(x, y) := 3 x + t + z | 2 , ч rd л г d 1114: — F(x, y) »2: — F(x, y) dx tt8: | 1115: UyJ 6 y ttЗ: 6-x - 6-y 2 tt9: - 6 y + 3 y - 9 = 0 d d d ttlб: Ғ(x, y) tt4: — F(x, y) dy 1110: y = -1 dy dx ttll: y = 3 ttl7: -6 2 tt5: - 6 x + 3 y - 9 1112: 1—1 F(x, y) ttl9: 36 y - 36 1112: 1—1 F(x, y) ftб: 6-x - 6 y = 0 1112: 1—1 F(x, y) •28: 36 3 - 36 ft7: n 1113: 6 tt21: Ш э S18: Ь^ÉГ 1 ? (x, y)| ľ-l F(x, y) - f- F(з 1 Чy J -dy dx COMIIflliD: [gJUffiSI Build Calculus Declare Expand Factor Help Jump soLve ilanage Options Plot Quit Remove Simplify Transfer Unrenove moUe Uindou approX Enter option Der i ve XII User Free.lOOx Algebra Obr. 5. Obrazovka programu DERIVE K řešení příkladů je možno použít i jednoduššího systému DERIVE. Příklad 3. Najděte lokální extrémy funkce f(x, y) = 3x2 + y3 — Qxy — 9y + 2. Nejdříve definujeme funkci F(x,y) : =3 x~2 + y~3 -6 x y - 9 y + 2 (viz obr. 5). Dále spočítáme první parciální derivace /: DIF(F(x,y) ,x) a DIF(F(x,y) ,y) (Příkazy můžeme zadávat i výběrem z menu.) Výsledek získáme stiskem klávesy S implify. Ux = Gx - 6y, fy = -6x + 3y2 - 9). Položíme fx =0 (řádek 6, okno 2) a řešíme (so[_L_|ve) pro y (řádek 7). Dostáváme y — x. V řádku 8 pokládáme fy — 0. Jednoduchou substitucí y za x dostáváme řádek 9. Obr. 6. z = 3x 2 + y 3 - 6xy - 9y + 2 Obr. 7. Vrstevnice Pokroky matematiky, fyziky a astronomie, ročník J[2 (1997), č. 1 31 Ten opět řešíme (so[Ljve) a výsledkem jsou hodnoty y - 1 a 3 na řádcích 10 a 11. Získali jsem tedy stacionární body Pí = [-1, -1] a P2 = [3,3]. Potřebujeme spočítat druhé parciální derivace fxx, fyy a fxy (řádky 12, 14 a 16 s výsledky na řádcích 13, 15 a 17). Nyní definujeme D(xo,yo) (řádek 18) a pomocí SJimplify získáváme 36y — 36 na řádku 19. Dosazením (substitucí) za y = 3 dostáváme F)(3,3) = 76 > 0, a protože fxx > 0, nastává v bodě [3,3] relativní minimum. Vyhodnocením D(—1, —1) = -72 < 0, a tedy bod [-1, -1] je sedlovým bodem. Při řešení úloh počítačovými systémy musíme postupovat obezřetně a vždy kontrolovat, zda získané výsledky odpovídají skutečnosti. Dále jsou uvedeny příklady, při jejichž řešení počítačovým systémem dostáváme neúplné nebo nesprávné výsledky. Příklad 4. Určete lokální extrémy funkce z = xy\n(x 2 +y 2 ). Pro určení stacionárních bodů je třeba řešit soustavu rovnic zx =y \n(x 2 + y 2 ) + xy --——- = 0, x z + y z zy =x\n(x 2 + y 2 ) + xy V = 0. x z + y Á Tuto soustavu Mathematica neřeší, Maple vrací řešení Fi^ = [0, ±1] a P^^ = [±1,0]. Následným testem zjistíme, že v těchto bodech extrém nenastává. Řešením jsou ale dále body F5-8 = [±l/\/2ě, ±l/\/2ě]. Příklad poté pomocí Maplu dořešíme: > read(pf); d := z -> ditt(z, x%2) diS(z, y%2) r := z -> diff(z, x%2) ( d2 Ý \дхду ) > z4:=x*y*ln(x~2+y~2); zA := xy\n(x2 + y2 ) > cp:={x=l/sqrt(2*E),y=l/sqrt(2*E)}, {x=l/sqrt(2*E),y=-l/sqrt(2*E)}, > {x=-l/sqrt(2*E),y=l/sqrt(2*E)>. {x=-l/sqrt(2*E),y=-l/sqrt(2*E)}; f 1 >/2 l v ~ ] f 1 V2 1 V ~ 1 cp:= \y = 27Ë^ = 27ÊJ^\y = -27Ë^ = 27^]^ j _____[ _!__[) / __!__[ 1 v~ \X ~ 2VË' y ~2^È\' \ X - 2jË'y - 2JË 32 Pokroky matematiky, fyziky a astronomie, ročník J^2 (1997), č. 1 > for i from 1 to 4 do > a[i]:=simplify(subs(cp[i] , d(z4))): > b[i]:=simplify(subs(cp[i], r(z4))): > od: > { a [ l ] , b [ l ] } , {a[2],b[2]}, {a[3],b[3]}, {a[4],b[4]}; {4,2}, { 4 , - 2 } , { 4 , - 2 } , {4,2} V bodech [l/>/2Č, l/\/2ě] a [—l/\/2ě, — l/-/2e] je tedy lokální minimum a v bodech [l/\/2ě, — l/\/2Č] a [—l/\/2ě, l/\/2ě] lokální maximum. Obr. 8. z = xy\ii(x 2 + y 2 ) Obr. 9. Vrstevnice Příklad 5. Určete lokální extrémy funkce z — 1 — y/x2 + H2 . Daná funkce nemá stacionární bod)^, nemůžeme tedy použít dříve uvedený postup. Počítačové systémy nám pomohou pouze při zobrazení dané funkce. V bodě M[0,0] Obr. 10. z = \- yjx2 + y2 Pokroky matematiky, fyziky a astronomie, ročník ^2 (1997), č. 1 зз neexistují parciální derivace prvního řádu, tedy bod M je bodem možného extrému. Přírůstek funkce z(x,y) — 2(0,0) = - \Jx 2 + y 2 je záporný, tedy v bodě M[0,0] má funkce z maximum zm a x = 1. Příklad 6. Najděte lokální extrémy funkce z = (x 2 + y 2 )e~ {x +2/ ). Řešením systému zx = (2x - 2x(x 2 + y 2 ))є- (x2+y2 ï = 0, zy= (2гj-2y(x2 +yź ))e -(x 2 +y 2 ) _ získáváme množinu stacionárních bodů, která se skládá z bodu [0,0] a bodů kružnice x2 +y2 = 1. Maple a Mathematica nacházejí lokální minimum v bodě [0,0], o existenci extrému v bodech kružnice neumějí rozhodnout. Pro ověření dostatečné podmínky v bodech ležících na kružnici x + y = 1 budeme funkci z považovat za funkci jedné proměnné t — x2 +y2 : z — te~f , pro kterou je bod t = 1 stacionárním bodem. Protože z" — (t — 2)e~l je pro t — 1 záporná, má zde funkce z maximum. Tedy funkce z(x,y) má neostré maximum zmSíX — e _ 1 v bodech kružnice x 2 + y 2 — 1. = (X Z +У 2 )Є- U - ( i Ч ť ) Obr. 11. Obr. 12. L i t e r á t u r a [1] DoŠLÁ Z., DOŠLY O.: Diferenciální počet funkcí více proměnných. Skriptum MU, Brno 1994. [2] GlLLlGAN L G-, M A R Q U A R D T J. F.: Calculus and the Derive program. Gilmar publishing company, Cincinnati 1991. [3] H E C K A.: Introduction to Maple. Springer-Vorlag 1993. [4] ROUGH A.: Stationary Values, rough_manadon-engineering-college.ac.uk. [5] SCHNEIDER D. M.: Knox Packages. [6] SLOVÁK J.: Maple V Release 2. Zpravodaj ÚVT MU, IV (1994), 4. [7] WOLFRAM S.: Mathematica. Addison Wesley 1988. м Pokroky matematiky, fyziky a astronomie, ročník £2 (1997), č. 1