Jít k navigaci - Jít k vyhledávání


Maple 1 - seznámení se základními příkazy

17. 12. 09 - 11:40. Napsal Jiří Chytil. Přečteno 3773x. 6 komentářů

Nový seriál o vynikajícím matematickém programu MAPLE. Postupně se spolu prohrabeme příkazy a funkcemi, které nám tento program poskytuje. Ukážeme si, jak pomocí něj řešit rozličné matematické úlohy, ale určitě ho neprojdeme komplet, protože to by bylo na hodně dlouho. Chtěl bych se zaměřit hlavně na užitečné a často používané příkazy...

MAPLE lze spustit ve dvou módech. Mě učili používat mód classic worksheet a já to přenesu dále. Tento mód spustíme ikonou s žlutým javorovým listem. Ne, že bych neuměl používat druhý mód, ale myslím, že tento je jednodušší na vysvětlování.

Po spuštění se zobrazí velké bílé okno, do kterého můžeme psát, a nad ním dva řádky s tlačítky. Prvních deset tlačítek v prvním řádku je jasných a zbytek zatím není důležitý. Zatím prostě budeme jen psát.

Ještě si ujasníme nějaké konvence. Takže to co zadávám do MAPLU bude vyznačeno červeně a to co je vystup MAPLU bude označeno modře. Fialově potom chyby a upozornění MAPLU. A pokud budete mít nějaký problém, zkuste hledat na konci článku - naleznete zde vždy několik důležitých poznámek.

První se podíváme na to, jak se počítají jednoduché příklady. Stačí zapsat výraz, který chceme počítat. A zakončit ho středníkem:

6+3*x+x*(3+6);
6+12x

Pozor ovšem na zápis, protože když to napíšete takto:

6+3x+x(3+6);

Tak vás MAPLE důrazně informuje, že takhle to nepůjde.

Error, missing operator or `;`

Jistě jste si všimli, že MAPLU nedělá vůbec žádné potíže, že jsme mu místo čísla zadali x. Ba naopak MAPLE je analytický nástroj a tak pracuje raději s písmeny, než s čísly. Ale písmenům neboli proměnným je třeba přiřazovat nějaké hodnoty - podíváme se jak na to.

Delka:=6;

Tímto výrazem jsme do proměnné Delka přiřadili hodnotu 6. Důležité je, že operátor přiřazení je :=, nikoliv pouze =, a výraz je opět ukončen středníkem. Na tu dvojtečku doporučuji dávat si pozor, dovede způsobit značné trápení.

Definujeme si ještě proměnnou Sirka (jako šířka) a přiřadíme do ní hodnotu 7:

Sirka:=7;

A nyní chceme spočítat obsah obdélníku, kde jsou strany zadány proměnnými Delka a Sirka:

Obsah:=Delka*Sirka;
Obsah:=42

Do proměnné obsah jsme tedy uložily součin proměnných Delka a Sirka.

Funkce a operátory

Pomocí těchto proměnných ale můžeme spočítat například i úhlopříčku. Ttím se dostáváme k první funkci, kterou je výpočet odmocniny. Pro výpočet odmocniny se používá zkratka sqrt za anglického square root. Argument funkce se zadává na její název do kulatých závorek.

uhlopricka:=sqrt((Delka*Delka)+(Sirka*Sirka));
uhlopricka=sqrt(85)

Asi se vám asi nelíbí zbytečné násobení, takže se naučíme používat operátor umocňování. Používá se znak stříšky ^. A upravíme zápis na:

uhlopricka:=sqrt((Delka^2)+(Sirka^2));
uhlopricka:=sqrt(85)

Výsledek je stejný. Ale ne každému se nutně musí líbit, někteří lidé zápis pod odmocninou moc v oblibě nemají, tak z toho udělám normální číslo. Na to se používá funkce evalf().

evalf(uhlopricka);
9.219544457

Stejný výsledek obdržíme, pokud použijeme následující zápis

evalf(sqrt((Delka^2)+(Sirka^2)));
9.219544457

Další možnost funkce evalf() je nastavení počtu zobrazených platných cifer. Tento parametr se zadává do hranatých závorek:

evalf[3](Pi);
3.14

Další důležitá funkce, se kterou bych vás rád seznámil je restart restart;

Po restartu zkusíme opět již dříve použitou funkci na výpočet odmocniny a ?

uhlopricka:=sqrt((Delka^2)+(Sirka^2));
uhlopricka:=sqrt(Delka^2+Sirka^2)

Výsledek se liší. Je to proto, že jsme pomocí příkazu restart; vymazali obsahy proměnných. Nemají tedy žádný obsah a MAPLE je tedy zpracovává jako obecné proměnné (pracuje s jejich názvy).

Ještě bych se vrátil kousek zpět k operátoru umocňování. Pomocí něj lze vypočítat nejen mocniny ale také odmocniny. Stačí vědět, že platí vzorec:

n-tá odmocnina z a = a na 1/n

Potom můžeme psát například pro třetí odmocninu ze 7:

7^(1/3);
7^(1/3)

Pro vyčíslení lze opět použít funkci evalf().

Pro vyjádření odmocniny ale můžeme použít také jiný zápis, a to funkci root[](). Do hraných závorek zapisujeme, jakou odmocninu hledáme a do kulatých závorek zapisujeme, z jakého čísla má být hledaná odmocnina.

root[3](7);
7^(1/3)

Když už jsme u těch funkcí, tak se podíváme na ty základní, bez kterých to prostě nejde. Nebudu tu u každé funkce dělat ukázku. Jen pro vybrané. A vybral jsem si funkci exp(), tedy e na x, a log[n](x) - logaritmus o základu n za čísla x.

exp(x+3);
e^(x+3)

Funkci exp() ale používám také pro získání hodnoty Eulerova čísla e. A to tak, že jako parametr dosadíme číslo 1.

exp(1); evalf(exp(1));
e
2.718281828

Tímto jsem vám také odhalil další možnost, a to jest psaní více příkazu na jeden řádek. Často se to používá při deklarování proměnných. Nebo právě pokud uvádíme dva druhy výsledku, jako v předchozím případě. Pokud chceme, aby se všechny kroky nevypisovaly, budeme pro oddělení za výrazem, který nechceme vypsat psát dvojtečku.

a:=7: b:=3: s:=a*b;
s:=21

Další funkce Log[n](x), je psána s dvěma parametry. Kde n je základ logaritmu a x je logaritmované číslo nebo výraz. Chceme-li tedy počítat dekadický logaritmus ze tří, zápis je následující:

log[10](3);
ln(3)/ln(10)

Opět můžete funkcí evalf() vyčíslit. Často používaný je tzv. přirozený logaritmus, tedy logaritmus o základu e. Abychom e nemuseli vypisovat pomocí funkce exp() s parametrem 1, je zde funkce ln(). Ta vrací přirozený logaritmus zadaného výrazu. Stejně ale funguje zápis log(x), tedy nezadáme-li základ.

Další funkce, která se může hodit, je abs(), tedy absolutní hodnota. Další funkce, které jsou k dispozici, a se kterými vás seznámím, jsou trigonometrické, cyklometrické, hyperbolické a funkce inverzní hyperbolické funkce. Jejich zápisy vypadají například takto - sin(x). Ostatní funkce jsou uvedeny v tabulkách níže.

Občas je třeba používat faktoriál, ten se značí běžně vykřičníkem, takže:

4!
24
(x+2)!
(x+2)!

A může se nám hodit i zjednodušené použití posledního výsledku. Na to se používá operátor %. Použití může vypadat třeba takto:

4*sin(x);
4sin(x)
sqrt(%);
2*sqrt(sin(x))

Na závěr se podíváme na funkce, pomocí nichž zjišťujeme znaménko a zaokrouhlujeme. Pro zjištění znaménka nám slouží dvě funkce signum(). Parametrem funkce může být reálný nebo komplexní výraz. Obor hodnot je pro kladné hodnoty x roven +1 pro záporné hodnoty x je roven -1 a pro nulu je roven 0. Zobrazeno na grafu.

graf funkce signum
Obrázek č. 1 - Graf funkce signum

Na grafech si předvedeme i funkce pro zaokrouhlování. Konkrétně na průběhu 4*sin(x) na intervalu od -π do π. Zeleně je zobrazena funkce 4sin(x) a červeně funkce upravená přes některou za míněných funkcí.

Funkce trunc() sníží absolutní hodnotu čísla tak, aby se přiblížilo nejbližšímu celému číslu směrem k nule.

graf funkce trunc
Obrázek č. 2 - Graf funkce trunc

Funkce round() zaokrouhlí číslo k nejbližšímu celému číslu

graf funkce round
Obrázek č. 3 - Graf funkce round

Funkce floor() zaokrouhlí k největšímu nižšímu celému číslu (zaokrouhlování dolů)

graf funkce floor
Obrázek č. 4 - Graf funkce floor

Funkce ceil() zaokrouhlí k nejmenšímu vyššímu celému číslu (zaokrouhlování nahoru)

graf funkce ceil
Obrázek č. 5 - Graf funkce ceil

Funkce frac() je trochu jiná - ta naopak bere z čísla pouze část za desetinou tečkou. Může být nahrazena výrazem x-trunc(x).

graf funkce frac
Obrázek č. 6 - Graf funkce frac

Tabulky použitých funkcí

exp(x) e na x
ln(x) logaritmus x o základu e
log[n](x) logaritmus x o základu n
sqrt(x) druhá odmocnina z x
root[n](x) n-tá odmocnina z x
abs(x) absolutní hodnota x
signum(x) znaménko pro reálné a komplexní výrazy
evalf(x) vyčíslení výrazu v závorce
Tabulka č. 1 - Použité funkce
sin() sinus
cos() kosinus
tan() tangens
cot() kotangens
sec() sekans
csc() kosekans
Tabulka č. 2 - Trigonometrické funkce
sinh() hyperbolický sinus
cosh() hyperbolický kosinus
tanh() hyperbolický tangens
coth() hyperbolický kotangens
sech() hyperbolický sekans
csch() hyperbolický kosekans
Tabulka č. 3 - Hyperbolické funkce
arcsin() arkus sinus
arccos() arkus kosinus
arctan() arkus tangens
arccot() arkus kotangens
arcsec() arkus sekans
arccsc() arkus kosekans
Tabulka č. 4 - Cyklometrické funkce
arcsinh() arkus hyperbolický sinus
arccosh() arkus hyperbolický kosinus
arctanh() arkus hyperbolický tangens
arccoth() arkus hyperbolický kotangens
arcsech() arkus hyperbolický sekans
arccsch() arkus hyperbolický kosekans
Tabulka č. 5 - Inverzní hyperbolické funkce
¨
trunc zaokrouhlení směrem k nule
round zaokrouhlení k nejbližšímu celému číslu
floor zaokrouhlování dolů
ceil zaokrouhlování nahoru
frac čísla za desetinou čárkou
Tabulka č. 6 - Zaorkouhlování
+ sčítání
- odčítání
/ násobení
* dělení
^ umocňování
! faktoriál
( ) závorky ? úprava priorit operátorů a funkcí
:= přiřazení čísla nebo funkce do proměnná
% výsledek předchozí operace
Tabulka č. 7 - Operátory

Důležité věci na závěr na které se během článku nedostalo

  • Název proměnné musí začínat písmenem a nesmí obsahovat mezery, dále také nesmí být shodný s klíčovými slovy MAPLU.
  • Čísla zle zadávat ve tvaru 1735.3 nebo stejné číslo zadáme takto 1.7353e3
  • Při zápisu čísel se musí používat desetinná tečka, nikoliv čárka.
  • MAPLE je case sensitive, zaleží tedy na tom, zda jsou písmena malá, nebo velká. Je tedy rozdíl mezi proměnou Deset a deset nebo DESET.
  • Konstantu π zapisujeme jako Pi. P je velké, i je malé. Nijak jinak.
  • Všechny zde zatím uvedené funkce píšeme pouze a jedině malými písmeny.
  • Podrobnosti o funkcích hledejte v nápovědě programu. Nejsem totiž schopen sem vypsat vše.



Autor
Jiří Chytil

Jiří Chytil24 let

Šéfredaktor 8bitu.cz. V současné době je studentem prvního ročníku magisterského studia na Fakultě elektrotechické na VUT v Brně. Mezi jeho koníčky patří elektrotechnika, bastlení, programování a hudba. Pracuje na částečný úvazrek ve společnosti Honeywell HTS ACS.


Novinky Další novinky

[10. 03.]  Tak jsem pro Vás připravil novou anketu. A snažím se pokračovat na projektu jehož výsledky bych zde rád zveřejnil, ale poněkud mě brzdí diplomová práce a práce.
[30. 01.]  Omlouvám se za nečinnost způsobenou značným nedostatkem času. Nevím, ale jestli se mi to podaří změnit. To víte, člověk stárne a jeho čas je potřeba jinde než na internetu.
[07. 03.]  Po dlouhé době jsme pro vás přichystali novou anketu - najdete ji níže v pravém panelu.
[12. 12.]  Zajímavý počin v oblasti měřící techniky jsou Real-time spektrální analyzátory - odkaz
[07. 12.]  Sice již starší video, ale stále mě uchvacuje. Výroba elektronek "doma" - odkaz

Reklama

Morphy Richards elektronika Okruháři.cz

Programujte.com

Léčivé obrazy - enkaustika Lenka Blažíková

Keramika Věra Coufalová - užitková keramika

Anketa

Jaký obchod preferujete při nákupu součástek?

TME

GES

GME

Farnell

SOS electronic

TIPA

EZK

PS Electronic

Mouser

Buček

Denkl Electronic

FK Technics

Hadex

Conrad

Jiný český

Jiný zahraniční