Uvedené programy kolegy velmi zaujaly. Všichni by je rádi ve výuce alespoň občas používali, ale problém právem viděli ve finanční náročnosti licencování uvedeného software jak pro školu, tak pro žáky (pokud by měli s pomocí počítače vypracovávat domácí úkoly). Protože jsem příznivcem operačního systému Linux a Open Source Software, rozhodl jsem se vytipovat programy podobného zaměření, jejichž licence je pro školu i žáky zdarma, a připravit semináře určené určené učitelům matematiky a fyziky, kteří chtějí učit své předměty moderně a dát svým žákům k dispozici výkonné nástroje k rozvíjení matematických představ a řešení náročnějších fyzikálních a technických problémů. Tak vznikl třídílný cyklus seminářů s názvem „Open Source Software ve výuce matematiky a fyziky“ a tři stejnojmenné brožurky s jednoduchým popisem ovládání a možností využití jednotlivých programů: ● OSS ve výuce matematiky a fyziky 1 – Interaktivní geometrický náčrtník Geonext ● OSS ve výuce matematiky a fyziky 2 – Systém počítačové algebry Maxima ● OSS ve výuce matematiky a fyziky 3 – Tabulkový procesor OpenOffice.org Calc a editor vzorců OpenOffice.org Math
Maxima Open Source Software ve výuce matematiky a fyziky - 2 Mgr. Michal Musílek
říjen 2006 - 16 -
-1-
(C7) y(x):=sqrt(r^2-x^2)$ (C8) integrate(3/8*y(x)^4*m/r^3,x,-r,r); 2 2 m r -----5
(D8) r
Tedy J =
∫ 38 r
y2 2 y dx = r3
r
2
2 2
∫ 38 r 3x r
r
dx =
2 m r 2 . Všimněte si, že jsme při výpočtu 5
pomocí Maximy vhodně využili substituci a tím zjednodušili zadání vlastního příkazu pro integraci. V případě neurčitého integrálu Maxima nezobrazuje integrační konstantu. Musíme si ji „pohlídat“ sami. Zkusme integrovat vztah pro rychlost rovnoměrně zrychleného pohybu. (C9) v(t):=a*t+v0; (D9) v(t) := a t + v0 (C10) integrate(v(t),t); 2 a t (D10) t v0 + ---2 Pokud místo příkazu integrate použijeme 'integrate s apostrofem, bude se integrál místo výpočtu zobrazovat. (C11) integrate(v(t),t); / [ (D11) I (v0 + a t) dt ] / Závěrem Ukázali jsme si jen malou část příkazů a možností systému počítačové algebry Maxima. Jednak proto, že čas vyhrazený pro seminář je krátký, jednak proto, že metody a z nich plynoucí příkazy dalece přesahují učivo středoškolské matematiky.
Proč jsem napsal tento text V uplynulých třech letech jsem jako certifikovaný lektor volitelného modulu „ICT ve výuce matematiky“ školení SIPVZ7 úrovně P8 seznámil více než šedesát učitelů matematiky základních a středních škol s obsluhou a využitím software pro podporu výuky matematiky, konkrétně s programy Cabri Geometrie II Plus, Derive 6, Excel a Imagine Logo. 7 SIPVZ … státní informační politika ve vzdělávání. 8 Úroveň P (poučený uživatel) dosáhne pedagogický pracovník, který absolvuje povinný úvodní modul a dva volitelné moduly z nabídky speciálně informatických a předmětových modulů. -2-
- 15 -
Derivace a totální diferenciál
Jak získat, nainstalovat a spustit Maximu
K výpočtu derivace i totálního diferenciálu dané funkce slouží příkaz diff, který může mít různý počet parametrů. Ukážeme si to na příkladu z kinematiky. Pro dráhu rovnoměrně zrychleného pohybu v závislosti na čase platí s(t) = ½ vt2 + v0t + s0. Derivováním tohoto vztahu podle času získáme nejprve vztah pro rychlost a potom pro zrychlení. C(1) s(t):=1/2*a*t^2+v0*t+s0; 1 2 D(1) s(t) := - a t + v0 t + s0 2 C(2) diff(s(t),t); první derivace D(2) a t + v0 C(3) diff(s(t),t,2); druhá derivace D(3) a Pro totální diferenciál použijeme příklad z dynamiky. Hybnost je definována jako součin hmotnosti a rychlosti tělesa. Obě se obecně mohou měnit. C(4) p(m,v):=m*v; D(4) p(m, v) := m v C(5) diff(p(m,v)); D(5) m del(v) + v del(m) Neboli d p = m d v v dm , tedy k změně hybnosti tělesa dojde buď změnou jeho rychlosti nebo jeho hmotnosti.
Na domovské stránce http://maxima.sourceforge.net/ systému počítačové algebry Maxima jsou v sekci Download k dispozici instalační balíčky jak pro Windows, tak pro Linux. Instalaci jsem vyzkoušel pod Windows 2000, Windows XP Home a pod Mandrake Linuxem 10.1 a ve všech případech proběhla naprosto bezproblémově. V systému Windows se program objeví v nabídce [START] a, pokud to během instalace neodmítneme, také jako ikona na ploše. Dialog se spouští v okně, které je rozděleno do dvou nad sebou umístěných oblastí. V Linuxu je možné program spustit také v grafickém režimu. Např. v mém Mandrake - prostředí KDE zvolím [] > Další aplikace > Věda > Matematika > Maxima .
Integrály K výpočtům integrálů slouží příkaz integrate(expr,x); pro neurčitý nebo integrate(expr,x,a,b); pro určitý integrál. Ukažme si výpočet momentu setrvačnosti válce a koule užitím určitých integrálů. Představme si, že válec je složen z tenkých prstenců o tloušťce dx, hmotnost každého je md = 2πx . dx / πr2 a poloměr je x. Tento poloměr se mění od nuly do r a výsledný moment setrvačnosti zjistíme integrací momentů setrvačnosti těchto tenkých prstenců: (C6) integrate(2*Pi*x/(Pi*r^2)*m*x^2,x,0,r); 2 m r (D6) ---2 r 2π x 1 2 2 Tedy ∫ m x dx= m r . Když známe moment setrvačnosti válce, můžeme 2 2 0 π r ho využít k výpočtu momentu setrvačnosti koule. Představme si, že koule je složena z tenkých plátků (jako když krájíme salám) o tloušťce dx. Každý plátek je malý válec π y2 a výšce dx. Jeho hmotnost je dm = 4 π r 3 dx a moment 3
o poloměru
y = r x
setrvačnosti
3 y2 2 dJ = y dx . Integrací těchto příspěvků získáme výsledek. 8 r3
2
2
- 14 -
Pod Linuxem můžeme program spustit také v textové konzole příkazem maxima. Nejprve se přepneme do textové konzole nebo spustíme terminálové okno v grafickém prostředí a za výzvu systému zapíšeme do příkazové řádky maxima. Objeví se úvodní hlášení programu, které končí řádky: Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. This is a development version of Maxima. The function bug_report() provides bug reporting information. (C1)
Poslední řádek (C1) je už výzva Maximy k zadání příkazu. Maxima se tedy ovládá z příkazového řádku a to i když pracujeme v grafickém prostředí. Hlavní výhodou grafického prostředí je, že ve spodní části okna máme k dipozici stručnou nápovědu. Ovládání je naprosto analogické1 pod oběma operačními systémy, takže je v tomto textu nebudeme nijak odlišovat. První kroky - příkazy Maximy Každý příkaz musí končit středníkem, jinak se neprovede! Reakce na správné zadání (C1) 1+1; (D1) 2 Na chybné zadání bez středníku (C1) 1+1 Maxima nezareaguje. Pokud na středník zapomenete, můžete ho doplnit na dalším řádku. Po doplnění středníku se příkaz provede. Vyzkoušejte příkazy pro všechny základní2 aritmetické operace: (C2) 9-6/3; (C4) sqrt(121); (D2) 7 (D4) 11 (C3) 5^3-5*5; (C5) 5!+4!; (D3) 100 (D5) 144 1 Podle verze Maximy může být různé označování výzvy systému - vstup (C1), (%i1) a jeho odpovědí - (D1), (%o1), kde číslo 1, 2, 3, ... je pořadové číslo zadaného příkazu. 2 Pro umocňování používáme symbol stříška ^ , ale je možné používat také dvě hvězdičky ** . Při násobení nesmíme vynechat symbol hvězdička * . -3-
Maxima počítá přesně se zlomky a výsledek zobrazuje v základním tvaru ve třech řádcích: (C6) 1/5+1/6; 11 (D6) ── 30 Zadáme-li algebraický výraz tak se nejprve jenom opíše, např.: (C7) (x+5)^3; 3 (D7) (x + 5) Jestliže chceme výraz roznásobit, použijeme příkaz expand(výraz);, pokud chceme roznásobit nebo jinak použít naposledy zadaný výraz, není třeba ho znovu vypisovat3, stačí použít znak procent (%): (C8) expand(%); 3 2 (D8) x + 15x + 75x + 125 Jiná je situace u následujícího lomeného výrazu, který nepomůže expandovat. Pro zkrácení musíme použít příkaz radcan(výraz);: (C9) (a^2-b^2)/(a+b); 2 2 a - b (D9) ─────── a + b (C10) expand(%); 2 2 a b (D10) ───── + ───── a + b a + b (C11) radcan(%); (D11) a - b (C12) expand((a-2*b)^3); 3 2 2 3 (D12) a - 6 a b + 12 a b - 8 b
3 Pokud se chceme vrátit nikoliv k naposled zadanému výrazu, ale k výrazu zadanému dříve, dáme do závorek místo znaku procent označení řádku s výrazem – např. expand(C7);
Jiný způsob zadání matice je pomocí příkazu matrix, jehož argumentem je seznam řádků matice (každý řádek jako vektor v hranatých závorkách): (C5) C: matrix([1,2,3],[1,-1,1],[5,1,-2]); [ 1 2 3 ] [ ] (D5) [ 1 - 1 1 ] [ ] [ 5 1 - 2 ] (C6) X: matrix([x],[y],[z])$ (C7) C.X; [ x + 2 y + 3 z ] [ ] (D7) [ x – y + z ] [ ] [ 5 x + y – 2 x ] V tuto chvíli už vidíme levé strany soustavy rovnic, kterou můžeme v maticovém tvaru zapsat jako C.X = P. Přidáme-li matici P pravých stran a můžeme řešit: (C8) P: matrix([-1],[6],[5])$ (C9) invert(C); [ 1 7 5 ] [ ---- ] [ 33 33 33 ] [ ] [ 7 17 2 ] (D9) [ -- - -- -- ] [ 33 33 33 ] [ ] [ 2 3 1 ] [ -- -- - -- ] [ 11 11 11 ] (C10) invert(C).P; [ 2 ] [ ] (D10) [ - 3 ] [ ] [ 1 ] Soustava rovnic má tedy řešení x = 2, y = -3, z = 1. Všimněme si znaku „$“ dolar, který je uveden na konci některých příkazů místo středníku a který potlačí vypsání odpovědi systémem Maxima. Tím jsme ušetřili několik řádků textu. Na závěr exkurze do vyšší algebry determinant matice C a matice transponovaná k matici C. (C11) determinant(C); (D11) 33 (C12) transpose(C); [ 1 1 5 ] [ ] (D12) [ 2 - 1 1 ] [ ] [ 3 1 - 2 ]
-4-
- 13 -
Ludolfovo číslo, Eulerovo číslo a numerické výpočty Maxima umí pracovat s iracionálními čísly jako je Ludolfovo číslo π, nebo základ přirozených logaritmů e. Používá pro ně znaky %pi a %e. Zadáme-li je do výpočtu, výsledek může být zobrazen opět pomocí těchto zástupných znaků. Jestliže chceme výsledek zobrazit numericky (pomocí desetinného čísla), musíme za výraz napsat čárku a slovo numer;. Vyzkoušejte: (C13) %e; (D13) %E (C14) %e, numer; (D14) 2.718281828459045
Matice a operace s nimi Maxima ovládá velké spektrum maticových operací. Ukážeme si pouze část, kterou můžeme využít i na středoškolské úrovni výuky. Vložit prvky matice můžeme interaktivně pomocí funkce entermatrix. Vložíme dvě matice A a B a vypočteme součiny matic A.B a B.A: (C1) A: entermatrix(2,3); Row 1 Column 1: 1; 1 2 3 Row 1 Column 2: 2; A = 1 0 1 Row 1 Column 3: 3; Row 2 Column 1: -1; Row 2 Column 2: 0; Row 2 Column 3: 1; Matrix entered. [ 1 2 3 ] (D1) [ ] [ - 1 0 1 ] (C2) B: entermatrix(3,2); Row 1 Column 1: 1; Row 1 Column 2: 2; 1 2 Row 2 Column 1: 3; Row 2 Column 2: 4; B = 3 4 Row 3 Column 1: 5; 5 6 Row 3 Column 2: 6; Matrix entered. [ 1 2 ] [ ] (D2) [ 3 4 ] [ ] [ 5 6 ] (C3) A.B; [ 22 28 ] (D3) [ ] [ 4 4 ] (C4) B.A; [ -1 2 5 ] [ ] (D4) [ -1 6 13 ] [ ] [ -1 10 21 ] Podle definice maticového součinu snadno ověříme, že skutečně platí
[
]
[ ]
[ ]
1 2 1 2 3 22 28 ⋅ 3 4 = 1 0 1 4 4 5 6
[
]
[
]
Podobně můžeme ověřit i výsledek druhého násobení matic B.A. Pokud pro zadávání matice zvolíme stejný počet řádků i sloupců (čtvercová matice), Maxima se zeptá, zda chceme zadávat diagonální, symetrickou, antisymetrickou, nebo obecnou matici.
(C15) 2*%pi; (D15) 2 %PI (C16) %, numer; (D16) 6.283185307179586 Určitě jste si všimli, že numerické výsledky jsou uvedeny na 15 desetinných míst, ve skutečnosti ovšem na 16 platných číslic: (C17) 100000*%PI, numer; (D17) 314159.2653589793 Se stejnou přesností, ale v semilogaritmickém tvaru vrací výsledky výpočtů funkce bfloat(výraz); Přesnost této funkce můžeme změnit4 pomocí nastavení globální proměnné fpprec. Nejprve ověříme, že „default“ hodnota je 16, potom ji změníme na 333 a nakonec si dáme vypsat π na 332 desetinných míst: (C18) fpprec; (D18) 16 (C19) fpprec: 333; (D19) 333 (C20) bfloat(%pi); (D20) 3.141592653589793238462643383279502884197169399375105820# 97494459230781640628620899862803482534211706798214808651# 32823066470938446095505822317253594081284811174502841027# 01938521105559644622948954930381964428810975665933446128# 47564823378678316527120190914564856692346034861045432664# 821339360726024914127372458700660631558817488152092096B0 Písmeno „B“ odděluje exponent u desítky (zde „krát deset na nultou“). Podobně jako s π nebo e počítá maxima s odmocninami. Částečně odmocní co lze, o numerické vyjádření musíme požádat (vyzkoušejte): C(21) sqrt(75); 75 = 5 3 D(21) 5 SQRT(3)
Řešení rovnic a soustav rovnic Řešení rovnice vyvoláme pomocí příkazu solve(rovnice);. Pokud je rovnice v anulovaném tvaru (pravá strana je 0), stačí do závorky zapsat výraz představující levou stranu rovnice: (C1) 1/2*x+5=1/3*x+7; x x (D1) ─ + 5 = ─ + 7 2 3 (C2) solve(%); (D2) [x = 12] (C3) solve(5*x+20); (D3) [x = -4] Pokud chceme řešit soustavu rovnic, je nejpřehlednější zadat každou rovnici zvlášť a potom zadat příkaz k vyřešení soustavy tak, že odkazy na jednotlivé rovnice 4
- 12 -
Na rozdíl od přesnosti výsledku zobrazeného příkazem numer; ,kterou změnit nelze. -5-
uspořádáme do vektoru (tj. umístíme do hranatých závorek a oddělíme čárkami): (C4) x-2*y+z=1; (D4) x – 2 y + z = 1 (C5) -x+3*y+2*z=0; (D5) - x + 3 y + 2 z = 0 (C6) 2*x-y+5*z=5; (D6) 2 x – y + 5 z = 5 (C7) solve([C4,C5,C6]); (D7) [[x = 3, y = 1, z = 0]] Příkaz solve má ve skutečnosti dva parametry. Prvním z nich je rovnice, případně vektor s jednotlivými rovnicemi soustavy, druhým je neznámá, případně vektor s jednotlivými neznámými. Pokud je počet rovnic a neznámých shodný, můžeme druhý parametr vynechat. U rovnic s parametrem musíme druhý parametr zadat: (C8) t*x^2+t^2*x+t=0; 2 2 (D8) t x + t x + t = 0 (C9) solve(C8,x); 2 2 SQRT(t -4) + t SQRT(t -4) - t (D9) [x = - ──────────────, x = ──────────────] 2 2 Všimněte si, že Maxima má ve zvyku občas řadit části výsledku jinak, než jsme zvyklí. To se vám možná stalo u soustavy rovnic, kde se nejprve zobrazil kořen z a až nakonec x. V případě rovnice C8 bychom množinu řešení zapsali ve tvaru t t24 t t 24 , 2 2 navíc za nás Maxima rozhodně neprovede diskuzi5 závislosti počtu řešení na hodnotě parametru t.
{
}
Definování funkcí a standardní funkce v Maximě Velmi jednoduše můžeme definovat libovolnou polynomickou funkci. Ukažme si to na příkladech kvadratické funkce a kubické funkce: (C10) f(x):=x^2-6*x+8; 2 (D10) f(x) := x - 6 x + 8 (C11) f(1); (D11) 3 (C12) f(2); (D12) 0 (C13) f(3); (D13) - 1 (C14) f(4); (D14) 0
Komplexní čísla Maxima umí pracovat s komplexními čísly. Imaginární jednotku značíme %i. Potom algebraický tvar komplexního čísla je x + y*%i. Pomocí operátoru „dvojtečka“ můžeme komplexní čísla pojmenovat jedním písmenem a pak s nimi provádět běžné algebraické operace: (C1) a:2+%i; (D1) %i + 2 (C2) b:1-2*%i; (D2) 1 - 2 %i (C3) a+b; (D3) 3 - %i (C4) a-b; (D4) 3 %i + 1 (C5) a*b; (D5) (1 - 2 %i) (%i + 2) (C6) radcan(%); (D6) 4 - 3 %i Dělení se ovšem neprovede, ale pouze naznačí (vyzkoušejte). Kromě běžných operátorů máme k dispozici funkce pro výpočet absolutní hodnoty abs(z);, pro převod do polárního exponenciálního tvaru polarform(z);, zjištění velikosti směrového úhlu ϕ carg(z);, do goniometrického tvaru demoivre(z); a zpět do algebraického tvaru rectform(z);: (C7) abs(a); (D7) sqrt(5) (C8) abs(a*b); (D8) 5 (C9) polarform(b); - %i atan(2) (D9) sqrt(5) %e (C10) demoivre(%); 1 2 %i (D10) sqrt(5) (─────── - ───────) sqrt(5) sqrt(5) Při řešení rovnic Maxima automaticky počítá i komplexní kořeny (i když koeficienty rovnice jsou reálná čísla): (C11) 5*x^2+6*x+5; 2 (D11) 5 x + 6 x + 5 (C12) solve(%); 4 %i + 3 4 %i - 3 (D12) [x = - ────────, x = ────────] 5 5
5 Viz příklad 7 v učebnici Charvát, J. - Zhouf, J. - Boček, L. Matematika pro gymnázia - Rovnice a nerovnice. Dotisk 3. vydání. Prometheus Praha 2004. ISBN 80-7196-154-X. -6-
- 11 -
(C12) cos(2*x)/(sin(x)+cos(x));
(C15) f(5); (D15) (C16) g(x):=x^3-8;
cos(2 x) ─────────────── sin(x) + cos(x)
(D12) (C13) trigexpand(%);
2 2 cos (x) - sin (x) ───────────────── sin(x) + cos(x)
(D13)
(C14) trigsimp(%); (D14) cos(x) - sin(x) 2 2 cos 2x cos xsin x cos xsin xcos xsin x = = = cos xsin x sin xcos x sin xcos x cos xsin x Velmi opatrní musíme být při řešení goniometrických rovnic. Maxima může některé kořeny vynechat - sama na to upozorňuje, periodicitu řešení nevyznačuje a některé rovnice „odmítá“ řešit úplně: (C15) (5+sin(t))/(1-sin(t))=3; sin(t) + 5 (D15) ─────────── = 3 1 - sin(t) (C16) solve(%); 'solve' is using arc-trig functions to get a solution. Some solutions will be lost. %pi (D16) [t = - ───] 6 Ve skutečnosti množina všech řešení P =
{π
} {
7 2 k π , k ∈ ℤ ∪ 6
11 π 2 k π , k ∈ℤ 6
}
(C17) sin(t)+sqrt(3)*cos(t)=1; (D17) sin(t) + sqrt(3) cos(t) = 1 (C18) solve(%); (D18) [sin(t) = 1 - sqrt(3) cos(t)] Protože tuto rovnici Maxima místo řešení pouze upravila, zkusíme ji vyřešit alespoň graficky. Úpravu v řádku D18 využijeme a zobrazíme zvlášť levou a pravou stranu: (C19) plot2d([sin(t),1-sqrt(3)*cos(t)],[t,0,2*%pi]); Z grafu vidíme, že v intervalu <0; 2π) mají grafy dva průsečíky, tedy rovnice má v tomto intervalu dvě řešení. Použijeme-li záměrný kříž (tedy kurzor myši) k odečtení souřadnic průsečíků a povšimneme-li si hodnot x souřadnic vidíme množinu všech řešení
P =
{π
2
} {
2 k π , k ∈ℤ ∪
11 π 2 k π , k ∈ℤ 6
}
5
3 (D16) g(x) := x - 8 (C17) g(1); (D17) - 7 (C18) g(2); (D18) 0 Maxima samozřejmě zná všechny běžné matematické funkce, které můžeme použít jak samostatně, tak jako součást definice složitějších funkcí: (C19) sin(%pi/6); 1 (D19) ─ 2 (C20) cos(%pi/6); SQRT(3) (D20) ─────── 2 (C21) exp(2); 2 (D21) %E (C22) log(%e); (D22) (C23) log2(x):=log(x)/log(2);
1 LOG(x) log2(x) := ────── LOG(2)
(D23) (C24) log2(8); (D24)
3.0
Zobrazování grafů funkcí – příkaz plot2D Pravděpodobně nejužitečnější funkcí CAS6 Maxima pro nasazení v běžné vyučovací hodině matematiky je zobrazení grafu funkce na zadaném intervalu
. Používáme k němu příkaz plot2D(funkce,[proměnná,od,do]);. Pokud chceme zobrazit více funkcí najednou zapíšeme je do hranatých závorek, oddělené čárkami, jako vektor. Jestliže pracujete pod Linuxem, spusťte si nyní Maximu v textové konzole příkazem maxima. Tím získáte všechny výhody práce v příkazovém řádku. Např. se můžete pomocí kurzorových šipek vracet k dříve zadaným příkazům a editovat je. Grafy funkcí se budou zobrazovat v samostatných grafických oknech, která si můžete podle libosti uspořádat na ploše monitoru, a práce v konzole je tak přehlednější než práce v grafickém režimu. Maximu ukončíte příkazem quit();. 6 CAS … computer algebra systém … systém počítačové algebry
- 10 -
-7-
Pokud budete chtít samostatná okna grafů v grafickém prostředí Linuxu či Windows, stačí zvolit možnost „Separate“ v nabídce Options > Plot Windows. (C1) plot2D(sin(x),[x,0,2*%pi]); (D1) 0
(C4) plot3D(x^2-y^2,[x,-5,5],[y,-5,5]); (D4) (C5) plot3D(sin(x)-cos(y),[x,-5,5],[y,-5,5]); (D5)
0 0
Pokud pracujeme v textové konzole, zobrazí se nám každý graf samostatně v novém grafickém okně. Obrázek okna pak snadno získáme a uložíme pomocí programu KSnapshot. Obrázek pak můžeme vložit do svého matematického textu. Vkládaní vzorců pomocí editoru OpenOffice.org Math se naučíme příště.
(C2) plot2D([sin(x),sin(x+%pi/2),sin(x)+1],[x,0,2*%pi]); (D2) 0 (C3) plot2D([x^2,x^2-5*x,x^2-6,x^2-5*x-6],[x,-5,7]); (D3) 0
Grafy funkcí dvou proměnných – příkaz plot3D Pokud nemáme k dispozici vhodný počítačový nástroj, pak ve školské matematice zpravidla prostorové grafy funkcí dvou proměnných nezobrazujeme. Máme-li ovšem k dispozici Maximu, je zobrazení 3D grafů dílem okamžiku: -8-
Goniometrie a trigonometrie Pro úpravy goniometrických výrazů se používají funkce trigreduce(výraz); trigexpand(výraz); a trigsimp(výraz);. Ukažme si to na příkladech: (C6) 2*sin(x)*cos(x); (D6) 2 cos(x) sin(x) (C7) trigreduce(%); (D7) sin(2 x) (C8) cos(2*x); (D8) cos(2 x) (C9) trigexpand(%); 2 2 (D9) cos (x) - sin (x) Některé složitější goniometrické výrazy se zjednoduší, když je nejprve rozložíme, tj. expandujeme. Ukažme si to opět na příkladech: (C10) sin(%pi/6+x)+sin(%pi/6-x); %pi %pi (D10) sin(x + ───) - sin(x - ───) 6 6 (C11) trigexpand(%); (D11) cos(x) sin
π 6
π
π
π
π
π
π
xsin x = sin cos xsin x cos sin cos xsin x cos = 2 sin cos x 6 6 6 6 6 6
-9-