Mathematica - úvodní seznámení

Začínáme

Instalace programu

MFF má zakoupenu Multilicenci programu Wolfram Mathematica. Více informací naleznete na http://www.karlin.mff.cuni.cz/network/mathematica.html

Úvodní poznámky

Než začnete

Pokud jste otevřeli tento soubor v nižších verzích programu Mathematica, tak se vám na počátku notebooku objevila nabídka, která chtěla povolit dynamický obsah. Není důvod se bát (u souborů jejichž zdroj znáte). Tento obsah se vztahuje k příkazům souvisejícím s Wolfram|Alpha a příkazem Manipulate.

Vzhled tohoto notebooku

Vhledu dokumentů se budeme věnovat v samostatné kapitole, na začátku nám bude stačit, že vzhled tohoto notebooku se nastavil v nabídce Format/Stylesheet/Slideshow/Earth. Styly z dřívějších verzí lze také použivat, avšak již je nenaleznete v nabídce stylů

Zadávání problémů do Mathematicy

Pomocí programu Wolfram|Alpha

Chcete-li zadávat do programu jen jednoduché úkoly jako vyřeš rovnici, nakresli graf atd. dá se vyžít Wolfram|Alpha. Stačí jen stisknout klávesu = a zadat problém. Dvě == vrací výstup Wolfram|Alpha Pro.

Plot[Sin[x], {x, -6.6, 6.6}]

Plot[Sin[x], {x, -5, 5}]

Naše první vstupy

2+3

1+1

1+3*a -b +c

1+3 a-b+c-2c

Předdefinované funkce

Předdefinované funkce začínají velkými písmeny

Simplify[1+3*a -b +c-2c]

Sin[(Sqrt[3])]

Sin[(Sqrt[3.0])]

N[Sin[3]]

N[Sin[3],  250]

Odkaz na poslední výpočet

%

N[Sin[3],  200]
Cos[%]

Tan[3]

Výpočty v jedné skupině

Základní “konstanty”

E
N[E]

I

Pi

Infinity

E

E

I

E

Vkládáme výrazy

Pomocí intuitivního rozhraní (nové ve verzi 9)

Nově je v Mathematice intuitivní rozhraní pro doplňování příkazů. Při psaní výrazů se nabízejí příkazy, které člověk nejčastěji využívá (četnost využití se odvozuje z Wolfram|Alpha).

Plot[Sin[x],{x,0,2π}]

Plot[f,{x,(Subscript[x, min]),(Subscript[x, max])}]

Pomocí palet

Nabídka Palettes a např. Classroom Assistant.

Plot[Sinh[y],{var,min,max}]

Solve[lhs==rhs,var]

Simplify[expr]

Simplify[Solve[expr,var]]

Solve[lhs==rhs,var]

Plot[function,{var,min,max}]

Plot[f,{x,(Subscript[x, min]),(Subscript[x, max])}]

Pomocí klávesových zkratek

Mathematica umožňuje využívat velké množství klávesových zkratek, některé jsme si již ukázali u “konstant”. Způsob jak nejrychleji zjistit příslušnou klávesovou zkratku je využití palet. Najedeme-li myší na příslušnou ikonu palety zobrazí se společně s názvem funkce (případně syntaxí) i klávesová zkratka.

Základní klávesové zkratky pro psaní algebraických výrazů

CTRL + / vloží zlomek
CTRL + ^ vloží mocninu
CTRL + 2 vloží odmocninu (pozor u MACa přehodí na druhou plochu)

Klávesové zkratky a klávesa ESC

Většina klávesových zkratek využívá klávesu ESC. Stikneme-li klávesu ESC zobrazí se ⋮ oznamující, že budeme používat klávesovou zkratku. Zadáme-li následně příslušnou klávesovou zkratku a následně opět ESC, příslušná zkratka se změní na výraz programu Mathematica.
Příklad: ESC ee ESC.

Klávesové zkratky řecké abecedy

Jednoduchou ukázkou použítí klávesy ESC je řecká abeceda. Pro většinu řeckých písmen platí, že stačí zmáčkout

Klávesové zkratky pro doplňování syntaxe

Užitečné klávesové zkratky pro psaní kódu je CTRL + K a CTRL + Shift + K (u MACa CMD + K a CMD + Shift + K). První klávesová zkratka nabídne seznam funkcí na dané písmeno, CTRL + Shift + K u již definového příkazu nabídne varianty syntaxe.

Nápověda k funkcím

?Plot

?*Plot*

Definování proměnných a funkcí

promenna=3

promenna

promenna=10

promenna=a+b+Sin[x]+Cos[y]

Solve[(x^2)+1==2,x]
x/.%

Odpřiřazení proměnných

x=.

promenna=.

promenna=a+b+Sin[x]+Cos[y]

D[promenna,x]

Není definice jako definice

nahoda=Random[]

nahoda

nahoda2:=Random[]

nahoda2

Definování funkcí

MojeFunkce1[x_]:=a*x^2

MojeFunkce1[3]

MojeFunkce1[z]

a=1

MojeFunkce1[y]

Parametry ve funkci

Parametry ve funkci je potřeba definovat jako další argumenty funkce. Důležitost těchto definic se nám hlavně projeví při použití příkazu Manipulate

MojeFunkce2[x_,a_]:=a*x^2

MojeFunkce2[x,b]

Odpřiřazení (“vyčištění”) proměnných II

a=.
b=.

Je-li potřeba vyčistit všechny proměnné, případně chceme-li mít jistotu, že žádná z nich není definována, hodí se využít nabídku Evaluation/Quit Kernel/Local. Tím se odstraní definice v lokálním Kernelu, který provádí výpočty (pokud se používá více Kernelů - např. při výpočtech na více počítačích je pro jistotu lepší zavřít všechny z nich).

Práce s výrazy

Simplify[(a^2-b^2)/(a+b)]

Simplify[(((a^2)-(b^2))/(a+b))]

FullSimplify[(((a^2)-(b^2))/(a+b))]

(a^3)-(b^3)

Factor[(a^3)-(b^3)]

Expand[(((a-b))^3)]

Expand[(((a-b))^8)]

(1/(x+1))+(1/(x-1))

Together[(1/(x+1))+(1/(x-1))]

Simplify[(1/(x+1))+(1/(x-1))]

Apart[((2 x)/(-1+(x^2)))]

Příkaz Manipulate

Příkaz Manipulate má v programu Mathematica široké použití, proto se mu budeme později více věnovat. Zatím si ukážeme jen pár použití s tímto příkazem

Manipulate[Sin[x],{x,-3,3}]

Manipulate[a*Sin[x],{x,-3,3},{a,-5,5}]

Manipulate[Plot[Sin[a x],{x,-3,3}],{a,-5,5}]

Manipulate[Plot[Sin[a x],{x,-3,3},Filling->Axis],{a,-5,5}]

Manipulate[Plot[Sin[a x],{x,-3,3},Filling->Axis,FillingStyle->barva],{a,-5,5},{barva,Blue}]