Úvodní seznámení Sbírka příkladů

Text diplomové práce


Úvodní seznámení

Mathematica 7
Maple 12
MathCad 14
wxMaxima 0.8.5 (M. 5.21)


Maple 12

Základy používání programu
Základní operace
Řešení rovnic a nerovnic
Úprava výrazů
Vektory a matice
Integrální a diferenciální počet
Posloupnosti a řady
Grafy 2D a 3D
Fyzikální jednotky
Zajímavosti pro učitele
Závěrečné shrnutí
Doporučená literatura
Odkazy
Soubory ke stažení



Sbírka příkladů

Úvodní seznámení s matematickými programy


Základy používání programu

Maple 12 - Základy používání programu

Maple 12 umožňuje pracovat v rámci programu ve dvou prostředích - Worksheet mode a Document mode. Worksheet mode má výhodu, že rozlišuje mezi částmi s kódem programu, který provádí výpočty a textem, tudíž je pro začátečníka přehlednější. Document mode je na druhou stranu mnohem komplexnější a umožňuje provádět výpočty přímo v textu, případně na jednom řádku mocí CTRL +=.
Pro práci s programem Maple se dají využít 3 základní koncepty práce. První je psaní kódu, který provádí výpočty. Druhý je pro práci využívat šablony z palet na levé straně a poslední variantou je využít pravé tlačítko myši. To v Worksheet mode po zvolení příslušného příkazu generuje kód, v Document mode provádí výpočet na řádku za pomoci šipky.

Níže budeme pracovat ve Worksheet modu a budeme především využívat možnost psaní kódu, případně využívat šablon. Použití pravého tlačítka myši je zmiňováno pouze u grafů, dá se ale vyžít při řešení rovnic, zjednodušování výrazů, v integrálním a diferenciálním počtu atd.. Důvodem je, že čtenář nepozná rozdíl (ve Worksheet mode), byl-li příslušný příkaz napsán ručně, případně vygenerován za pomocí pravého tlačítka myši.

Výpočty ukončujeme středníkem (není nutné pro jeden výpočet v jedné sekci označené >).
Enter provede výpočet.
Shift + Enter posune na další řádek.
Tlačítko Image na horní liště přeruší výpočet.
Výpočty jsou prováděny v časovém pořadí v jakém jste spustili výpočty. Je tedy možné přiradit nějakou proměnnou na konci worksheetu a pokud poté provede s proměnnou výpočet např. na počátku, tak již bude program počítat s vaší zadanou hodnotou proměné.
Pokud chcete nechat propočítat celý pracovní list, kliknětě na tlačítko Image v horní liště, případně v nabídce Edit/Execute/Worksheet.
Pokud výpočet ukončíme dvojtečkou výpočet se provede, ale nevypíše.
Pro většinu složitějších funkcí je nutné zavolat balíčky příkazem with např. with(plots). Případně se dají balíčky zavolat v menu Tools záložka Load Package.
Pokud kliknete na danou funkci a stiknete klávesu F2, zobrazí se k dané funkci nápověda. Alternativně se nápověda zobrazí pokud před danou funkci napíšete otazník.
Pro zápis příkazů je možné využít jak příkazy x^2, int(sin(x),x), tak případně šablony v paletách na levé straně.
Příkazy typu x^2 a podíly se automaticky převádějí na šablony již při psaní.
Hodí se na počátku pracovního listu použít příkaz restart. Jednak se tím odstraní přiřazení proměnných a také načtené balíčky. Předejde se tím např. zavolání funkce z balíčku ještě před jeho načtením.

Pro práci s programem doporučuji požívat anglickou klávesnici, jelikož se snadněji zadávají např. složené závorky ({}), mocniny (^) apod..
Taktéž se hodí nastavit vyhlazování písma v Tools/Options/Display položka Font anti-aliasing na Enabled. Písmo pak nebude tak "kostičkované".

Pozor! Funkce evalf pro malý počet cifer může dát nepřesný výsledek. Je lepší pro číselnou hodnotu neprve provést příkaz evalf a poté na výsledek použít např. evalf[2], který zaokrouhlí na 2 platné číslice.
Pozor! Standartně je ve vzhledu stránky (File/Page setup) nastaven jako typ papíru Letter. Pro tisk je potřeba jej nastavit na A4.

Má-li program nějaké speciální funkce vůči ostatním je za příslušným názvem odstavce "(navíc)".

> restart; 1
 



Základní operace

Maple 12 - Základní operace

Základní matematické operace

Základní operace +-*/ se používají stejně jako v jakémkoli jiném programovacím jazyku. U dělení je dobré si dát pozor, aby složitější výrazy byly v závorkách, jejikož dělení má přednost před sčítáním. Poslední provedený výpočet se zavolá %.

> `+`(1, 2); 1
 

3 (2.1.1)

> `+`(`^`(2, 5), `-`(`*`(10, 3)))
 

2 (2.1.2)

> `+`(`/`(`*`(2), `*`(`+`(5, 3))))
 

`/`(1, 4) (2.1.3)

Číselný výpočet

U definovaných funkcí a zlomků se výrazy automaticky nepřevádějí na číselnou hodnotu (z důvodu přesnosti). Pokud ale je nějaké z čísel je desetiné, dostaneme číselnou hodnotu, ne zlomek (což se dá využít i jako trik, pro rychlé získání číselné hodnoty).

> sin(3)
 

sin(3) (2.2.1)

> evalf(sin(3))
 

.1411200081 (2.2.2)

> evalf[11](sin(3))
 

.14112000806 (2.2.3)

Trik

> sin(3.0)
 

.1411200081 (2.2.1.1)

Matematické konstanty

Matematické konstanty můžeme napsat pomocí klávesnice s velkým písmenem na počátku (neplatí pro Eulerovo číslo e - to je možné napsat jako exp(1) a nekonečno), případně je možné využít opět nakliknutí příslušné konstanty pomocí palety. U nekonečna je možné pracovat s různými typy nekonečna (viz. nápověda).

> Pi; 1; exp(1); 1; I; 1; infinity; 1
 

Pi
exp(1)
I
infinity (2.3.1)

> Pi; 1; exp(1); 1; I; 1; infinity; 1
 

Pi
exp(1)
I
infinity (2.3.2)

Definování proměnné

U definování názvů proměnné se hodí nepoužívat háčky a čárky, případně speciální znaky.

> `:=`(promenna, 3); 1
 

3 (2.4.1)

> promenna; 1
 

3 (2.4.2)

Definování vlastní funkce

> `:=`(funkce, proc (x) options operator, arrow; `/`(`*`(`+`(x, 1)), `*`(`+`(`*`(`^`(x, 2)), `-`(1)))) end proc); 1; funkce(2); 1
 

proc (x) options operator, arrow; `/`(`*`(`+`(x, 1)), `*`(`+`(`*`(`^`(x, 2)), `-`(1)))) end proc
1 (2.5.1)
Definovaní funkce pokud je výraz funkce v jiné proměnné.

> `:=`(vyraz, `+`(x, 1)); -1; `:=`(funkce2, unapply(vyraz, x)); 1
 

proc (x) options operator, arrow; `+`(x, 1) end proc (2.5.2)


Řešení rovnic a nerovnic

Maple 12 - Řešení rovnic a nerovnic

Řešení rovnice

> solve(`+`(x, 3) = 4, x); 1
 

1 (3.1.1)

> solve(`+`(sin(x), cos(x)) = 1, x); 1
 

`+`(`*`(`/`(1, 2), `*`(Pi))), 0 (3.1.2)

> `:=`(_EnvAllSolutions, true); -1; solve(`+`(sin(x), cos(x)) = 1, x); 1
 

`+`(`*`(`/`(1, 2), `*`(Pi)), `*`(2, `*`(Pi, `*`(_Z1)))), `+`(`*`(2, `*`(Pi, `*`(_Z2)))) (3.1.3)

Řešení soustavy rovnic

> solve({`+`(x, `-`(y)) = 2, `+`(x, y) = 1}, [x, y]); 1
 

[[x = `/`(3, 2), y = -`/`(1, 2)]] (3.2.1)

Řešení nerovnice

> solve(`>`(`+`(`*`(`^`(x, 2)), `-`(1)), 5), x); 1
 

RealRange(`+`(`-`(infinity)), Open(`+`(`-`(`*`(`^`(6, `/`(1, 2))))))), RealRange(Open(`*`(`^`(6, `/`(1, 2)))), infinity) (3.3.1)

Řešení rovnice s podmínkami

> solve(`+`(`*`(`^`(x, 3)), `-`(1)) = 0, x); 1
 

1, `+`(`-`(`/`(1, 2)), `*`(`*`(`/`(1, 2), `*`(I)), `*`(`^`(3, `/`(1, 2))))), `+`(`-`(`/`(1, 2)), `-`(`*`(`+`(`*`(`/`(1, 2), `*`(I))), `*`(`^`(3, `/`(1, 2)))))) (3.4.1)

> RealDomain:-solve(`+`(RealDomain:-`^`(x, 3), `-`(1)) = 0, x); 1
 

1 (3.4.2)

> solve([`+`(`*`(`^`(x, 2)), x, `-`(6)) = 0, `>`(x, 0)], x); 1
 

{x = 2} (3.4.3)


Úprava výrazů

Maple 12 - Úprava výrazů

Zjednodušení výrazu

> simplify(`/`(`*`(`+`(`*`(`^`(x, 3)), `-`(1))), `*`(`+`(x, `-`(1))))); 1
 

`+`(`*`(`^`(x, 2)), x, 1) (4.1.1)

Rozklad výrazu

> expand(`*`(`^`(`+`(x, `-`(1)), 3))); 1
 

`+`(`*`(`^`(x, 3)), `-`(`*`(3, `*`(`^`(x, 2)))), `*`(3, `*`(x)), `-`(1)) (4.2.1)

Složení výrazu

> factor(`+`(`*`(`^`(x, 3)), `-`(`*`(3, `*`(`^`(x, 2)))), `*`(3, `*`(x)), `-`(1))); 1
 

`*`(`^`(`+`(x, `-`(1)), 3)) (4.3.1)

Převedení na společného jmenovate

> normal(`+`(`/`(1, `*`(`+`(x, 1))), `/`(1, `*`(`+`(x, `-`(1)))))); 1
 

`+`(`/`(`*`(2, `*`(x)), `*`(`+`(x, 1), `*`(`+`(x, `-`(1)))))) (4.4.1)

> normal(`+`(`/`(1, `*`(`+`(x, 1))), `/`(1, `*`(`+`(x, `-`(1))))), expanded); 1
 

`+`(`/`(`*`(2, `*`(x)), `*`(`+`(`*`(`^`(x, 2)), `-`(1))))) (4.4.2)

Rozklad na parciální zlomky

> convert(`+`(`/`(`*`(2, `*`(x)), `*`(`+`(`*`(`^`(x, 2)), `-`(1))))), parfrac, x); 1
 

`+`(`/`(1, `*`(`+`(x, 1))), `/`(1, `*`(`+`(x, `-`(1))))) (4.5.1)


Vektory a matice

Maple 12 - Vektory a matice

Pro práci s vektory a maticemi budeme pro některé funkce potřebovat balíček Lineární algebry a balíček pro práci s vektory. Ve starších verzích programu Maple se používal balíček linalg, který stále funguje, ale už se nedoporučuje jej používat.

> with(VectorCalculus); -1; with(LinearAlgebra); -1
 

Vektory

Zápis vektoru

Zápis pomocí lomených závorek (<>), je snadnější, ale zapisuje vektor ve sloupcovém tvaru.

> `:=`(vektor, Vector([3, 1, 2])); 1; `<,>`(3, 1, 2); 1
 

Vector[column](%id = 66970536)
Vector[column](%id = 78460804) (5.1.1.1)

Složky vektoru

> vektor[1]; 1; vektor[1]; 1
 

3
3 (5.1.2.1)

Velikost vektoru

> Norm(`<,>`(3, 1, 2), Euclidean); 1; VectorNorm(`<,>`(3, 1, 2), Euclidean); 1
 

`*`(`^`(14, `/`(1, 2)))
`*`(`^`(14, `/`(1, 2))) (5.1.3.1)

Skalární součin

> Typesetting:-delayDotProduct(`<,>`(1, 2, 0), `<,>`(0, 1, 2)); 1; DotProduct(`<,>`(1, 2, 0), `<,>`(0, 1, 2)); 1
 

2
2 (5.1.4.1)

Vektorový součin

> Typesetting:-delayCrossProduct(`<,>`(1, 2, 0), `<,>`(0, 1, 2)); 1; CrossProduct(`<,>`(1, 2, 0), `<,>`(0, 1, 2)); 1
 

`+`(`*`(4, `*`(e[x])), `-`(`*`(2, `*`(e[y]))), e[z])
Vector[column](%id = 46649524) (5.1.5.1)

Matice

Zápis matice

Jelikož zápis pomocí složených závorek zapisuje vektor ve sloupcovém tvaru, je nutné následně matici transponovat.

> `:=`(matice, Matrix([[1, 2], [3, 1]])); 1; Transpose(`<|>`(`<,>`(1, 2), `<,>`(3, 1))); 1
 

`:=`(matice, Matrix(%id = 80026260))
Matrix(%id = 82521500) (5.2.1.1)

Zápis matice II - pomocí palety matrix

> Matrix(%id = 77804944); 1
 

Matrix(%id = 66843932) (5.2.2.1)

Složky matice

> matice[1, 2]; 1; matice[1, 2]; 1
 

2 (5.2.3.1)
2

Determinant matice

> Determinant(Matrix(%id = 78859496)); 1
 

-5 (5.2.4.1)

Vlastní čísla

> Eigenvalues(Matrix(%id = 79868432)); 1
 

Vector[column](%id = 78762268) (5.2.5.1)


Integrální a diferenciální počet

Maple 12 - Integrální a diferenciální počet

> restart; 1
 

Limity

Limita

> limit(`/`(`*`(`+`(`*`(`^`(x, 2)), `-`(x), `-`(2))), `*`(`+`(`*`(`^`(x, 3)), 1))), x = -1); 1; limit(`/`(`*`(`+`(`*`(`^`(x, 2)), `-`(x), `-`(2))), `*`(`+`(`*`(`^`(x, 3)), 1))), x = -1); 1
 

-1
-1 (6.1.1.1)

Limita zleva

> limit(`/`(1, `*`(`^`(x, 3))), x = 0, left); 1; limit(`/`(1, `*`(`^`(x, 3))), x = 0, left); 1
 

`+`(`-`(infinity))
`+`(`-`(infinity)) (6.1.2.1)

Limita zprava

> limit(`/`(1, `*`(`^`(x, 3))), x = 0, right); 1; limit(`/`(1, `*`(`^`(x, 3))), x = 0, right); 1
 

infinity
infinity (6.1.3.1)

Limita funkce více proměnných (navíc)

> limit(`+`(`/`(`*`(2, `*`(xy)), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), {x = 0, y = 0}); 1
 

infinity (6.1.4.1)

Derivace

Příkaz diff a D počítá parciální derivace.

První derivace

> diff(`*`(`^`(x, 3)), x); 1; diff(`*`(`^`(x, 3)), x); 1; `:=`(fce, proc (x) options operator, arrow; `*`(`^`(x, 3)) end proc); -1; (D(fce))(x); 1
 

`+`(`*`(3, `*`(`^`(x, 2))))
`+`(`*`(3, `*`(`^`(x, 2))))
`+`(`*`(3, `*`(`^`(x, 2)))) (6.2.1.1)

Vyšší derivace

> diff(`*`(`^`(x, 3)), x, x, x); 1; diff(`*`(`^`(x, 3)), `$`(x, 3)); 1; `:=`(fce, proc (x) options operator, arrow; `*`(`^`(x, 3)) end proc); -1; ((`@@`(D, 3))(fce))(x); 1
 

6
6
6 (6.2.2.1)

Derivace podle více proměnných

> diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; `:=`(fce2, proc (x, y) options operator, arrow; `*`(`^`(y, 2), `*`(`+`(`*`(`^`(x...
diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; `:=`(fce2, proc (x, y) options operator, arrow; `*`(`^`(y, 2), `*`(`+`(`*`(`^`(x...
diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; `:=`(fce2, proc (x, y) options operator, arrow; `*`(`^`(y, 2), `*`(`+`(`*`(`^`(x...
diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; diff(`*`(`^`(y, 2), `*`(`+`(`*`(`^`(x, 3)), y))), x, y); 1; `:=`(fce2, proc (x, y) options operator, arrow; `*`(`^`(y, 2), `*`(`+`(`*`(`^`(x...
 

`+`(`*`(6, `*`(y, `*`(`^`(x, 2)))))
`+`(`*`(6, `*`(y, `*`(`^`(x, 2)))))
`+`(`*`(6, `*`(y, `*`(`^`(x, 2))))) (6.2.3.1)

Integrály

Neurčitý integrál

> int(sin(x), x); 1; int(sin(x), x); 1
 

`+`(`-`(cos(x)))
`+`(`-`(cos(x))) (6.3.1.1)

Určitý integrál

> int(sin(x), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi)))); 1; int(sin(x), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi)))); 1
 

1
1 (6.3.2.1)

Numerické počítání integrálů

> evalf(int(`/`(`*`(sin(x)), `*`(x)), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))))); 1; int(`/`(`*`(sin(x)), `*`(x)), x = 0. .. `+`(`*`(`/`(1, 2), `*`(Pi)))); 1
 

1.370762168
1.370762168 (6.3.3.1)

Vícerozměrné integrály

> int(int(`*`(y, `*`(sin(x))), x), y); 1; int(int(`*`(y, `*`(sin(x))), x), y); 1
 

`+`(`-`(`*`(`/`(1, 2), `*`(`^`(y, 2), `*`(cos(x))))))
`+`(`-`(`*`(`/`(1, 2), `*`(`^`(y, 2), `*`(cos(x)))))) (6.3.4.1)

> int(int(`*`(y, `*`(sin(x))), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi)))), y = 0 .. 1); 1; int(`*`(y, `*`(sin(x))), [x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))), y = 0 .. 1]); 1; int(int(`*`(y, `*`(sin(x))), x = ...
int(int(`*`(y, `*`(sin(x))), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi)))), y = 0 .. 1); 1; int(`*`(y, `*`(sin(x))), [x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))), y = 0 .. 1]); 1; int(int(`*`(y, `*`(sin(x))), x = ...
int(int(`*`(y, `*`(sin(x))), x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi)))), y = 0 .. 1); 1; int(`*`(y, `*`(sin(x))), [x = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))), y = 0 .. 1]); 1; int(int(`*`(y, `*`(sin(x))), x = ...
 

`/`(1, 2)
`/`(1, 2)
`/`(1, 2) (6.3.4.2)

Křivkový integrál (navíc)

> with(VectorCalculus); -1
 

Délka křivky
Délka křivky, která je zadaná parametricky

> ArcLength(`<,>`(t, t), t = 0 .. 1); 1
 

`*`(`^`(2, `/`(1, 2))) (6.3.5.1.1)
Křivkový integrál I. druhu

> PathInt(y, [x, y] = Path(`<,>`(1, t), 0 .. Pi, 'coords' = 'polar')); 1
 

2 (6.3.5.2.1)
Křivkový integrál II. druhu

> SetCoordinates(cartesian[x, y]); -1; LineInt(VectorField(`<,>`(y, a)), Path(`<,>`(`*`(a, `*`(cos(t))), `*`(b, `*`(sin(t)))), t = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))))); 1
SetCoordinates(cartesian[x, y]); -1; LineInt(VectorField(`<,>`(y, a)), Path(`<,>`(`*`(a, `*`(cos(t))), `*`(b, `*`(sin(t)))), t = 0 .. `+`(`*`(`/`(1, 2), `*`(Pi))))); 1
 

`+`(`-`(`*`(`/`(1, 4), `*`(b, `*`(a, `*`(Pi))))), `*`(b, `*`(a))) (6.3.5.3.1)

Plošný integrál (navíc)

Plošný integrál I. druhu

> SetCoordinates(cartesian[x, y, z]); -1; SurfaceInt(1, [x, y, z] = Sphere(`<,>`(0, 0, 0), r)); 1
 

`+`(`*`(4, `*`(`^`(r, 2), `*`(Pi)))) (6.3.6.1.1)
Plošný integrál II. druhu

> assume(`::`(R, real), `>`(R, 0)); -1; SetCoordinates(spherical[r, phi, theta]); -1; Flux(VectorField(`<,>`(`*`(Q, `*`(`/`(`+`(`*`(4, `*`(Pi, `*`(epsilon, `*`(`^`(r, 2))))))))), 0, 0)), Sphere(`<,>`(0,...
assume(`::`(R, real), `>`(R, 0)); -1; SetCoordinates(spherical[r, phi, theta]); -1; Flux(VectorField(`<,>`(`*`(Q, `*`(`/`(`+`(`*`(4, `*`(Pi, `*`(epsilon, `*`(`^`(r, 2))))))))), 0, 0)), Sphere(`<,>`(0,...
assume(`::`(R, real), `>`(R, 0)); -1; SetCoordinates(spherical[r, phi, theta]); -1; Flux(VectorField(`<,>`(`*`(Q, `*`(`/`(`+`(`*`(4, `*`(Pi, `*`(epsilon, `*`(`^`(r, 2))))))))), 0, 0)), Sphere(`<,>`(0,...
 

`/`(`*`(Q), `*`(epsilon)) (6.3.6.2.1)

Taylorův rozvoj řady

> series(ln(x), x = 1, 5); 1
 

series(`+`(`+`(x, `-`(1)), `-`(`*`(`/`(1, 2), `*`(`^`(`+`(x, `-`(1)), 2)))), `*`(`/`(1, 3), `*`(`^`(`+`(x, `-`(1)), 3))), `-`(`*`(`/`(1, 4), `*`(`^`(`+`(x, `-`(1)), 4)))))+O(`^`(`+`(x, `-`(1)), 5)),x ... (6.4.1)

> taylor(ln(x), x = 1, 5); 1
 

series(`+`(`+`(x, `-`(1)), `-`(`*`(`/`(1, 2), `*`(`^`(`+`(x, `-`(1)), 2)))), `*`(`/`(1, 3), `*`(`^`(`+`(x, `-`(1)), 3))), `-`(`*`(`/`(1, 4), `*`(`^`(`+`(x, `-`(1)), 4)))))+O(`^`(`+`(x, `-`(1)), 5)),x ... (6.4.2)

Obecný tvar řady (navíc)

> convert(ln(x), FormalPowerSeries, x = 1); 1
 

Sum(`/`(`*`(`^`(-1, k), `*`(`^`(`+`(x, `-`(1)), `+`(k, 1)))), `*`(`+`(k, 1))), k = 0 .. infinity) (6.4.1.1)

Diferenciální rovnice

Diferenciální rovnice

> dsolve(`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(x)); 1; dsolve(`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(x)); 1
 

y(x) = `/`(`*`(`+`(`-`(`*`(`+`(2, x), `*`(exp(`+`(`-`(x)))))), _C1)), `*`(`+`(x, 1)))
y(x) = `/`(`*`(`+`(`-`(`*`(`+`(2, x), `*`(exp(`+`(`-`(x)))))), _C1)), `*`(`+`(x, 1))) (6.5.1.1)

Diferenciální rovnice s okrajovými podmínkami

> dsolve({`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(5) = 1}, y(x)); 1
 

y(x) = `/`(`*`(`+`(`-`(`*`(`+`(2, x), `*`(exp(`+`(`-`(x)))))), 6, `*`(7, `*`(exp(-5))))), `*`(`+`(x, 1))) (6.5.2.1)

Numerické řešení differenciálních rovnic

> with(plots); -1
 

> `:=`(reseni, dsolve({`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(5) = 1}, y(x), type = numeric, range = 0 .. 50)); 1
`:=`(reseni, dsolve({`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(5) = 1}, y(x), type = numeric, range = 0 .. 50)); 1
`:=`(reseni, dsolve({`+`(diff(y(x), x), `/`(`*`(y(x)), `*`(`+`(1, x)))) = exp(`+`(`-`(x))), y(5) = 1}, y(x), type = numeric, range = 0 .. 50)); 1
 

proc (x_rkf45) local _res, _dat, _vars, _solnproc, _xout, _ndsol, _pars, _n, _i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; if `<`(1, nargs) then error (6.5.3.1)

> odeplot(reseni); 1
 

Plot_2d


Posloupnosti a řady

Maple 12 - Posloupnosti a řady

Posloupnosti

> seq(`*`(`^`(i, 2)), i = 1 .. 10); 1
 

1, 4, 9, 16, 25, 36, 49, 64, 81, 100 (7.1.1)

Řady

> sum(`/`(1, `*`(`^`(n, 2))), n = 1 .. 10); 1; sum(`/`(1, `*`(`^`(n, 2))), n = 1 .. 10); 1
 

`/`(1968329, 1270080)
`/`(1968329, 1270080) (7.2.1)

> sum(`/`(1, `*`(`^`(n, 2))), n = 1 .. infinity); 1
 

`+`(`*`(`/`(1, 6), `*`(`^`(Pi, 2)))) (7.2.2)


Grafy 2D a 3D

Maple 12 - Grafy 2D a 3D

Maple umožnuje vytvoření grafů různým způsobem. Pro rychlé vytvoření grafu z daného výrazu (např. sin(x) se dá využít pravé tlačítko myši - kliknutím na výraz a poté z nabídky Plots vybrat typ grafu, který chceme vytvořit.
Další variantou je využít Plot Builder z nabídky Tools/Assistans.
Taktéž se dá graf vytvořit jen vložením prostředím pro grafy v nabídce Insert-Plot a následným přetažením výrazu do tohoto prosředí.
Poslední variantou je vytvoření grafu pomocí příkazů typu plot, která umožňuje měnit vzhled grafu za pomocí jednotlivých příkazů.
Vzhled grafu se dá měnit kliknutím pravým tlačítkem na graf, ale pokud byl graf vytvořen pomocí příkazů (smartplot, plot...), tak se takto provedené změny ztratí.

> restart; 1
 

> with(plots); -1
 

Grafy 2D

Graf x,y

> plot(sin(x), x = 0 .. `+`(`*`(4, `*`(Pi)))); 1
 

Plot_2d

Parametrický graf

> plot([`+`(`*`(2, `*`(sin(t)))), cos(t), t = 0 .. `+`(`*`(2, `*`(Pi)))]); 1
 

Plot_2d

Graf na zobrazení dat

> pointplot([[0, 3], [2, 8], [-1, 5]]); 1
 

Plot_2d

Grafy 3D

Graf x,y,z

> plot3d(`+`(`*`(`^`(x, 3)), `*`(`^`(y, 2))), x = -3 .. 3, y = -5 .. 5); 1
 

Plot

Parametrický graf - křivka

> spacecurve([sin(t), t, t], t = -10 .. 10); 1
 

Plot

Parametrický graf - plocha

> plot3d([`*`(u, `*`(sin(t))), `*`(t, `*`(`^`(u, 2))), `*`(t, `*`(u))], t = -5 .. 5, u = -2.5 .. 2.5); 1
 

Plot

Zobrazení více typů grafů v jednom

> `:=`(p1, plot3d(`+`(`*`(`^`(x, 3)), `*`(`^`(y, 2))), x = -3 .. 3, y = -5 .. 5, color = 'red')); -1; `:=`(p2, plot3d([sin(t), cos(t), u], t = 0 .. `+`(`*`(2, `*`(Pi))), u = -50 .. 50, color = 'blue'));...
`:=`(p1, plot3d(`+`(`*`(`^`(x, 3)), `*`(`^`(y, 2))), x = -3 .. 3, y = -5 .. 5, color = 'red')); -1; `:=`(p2, plot3d([sin(t), cos(t), u], t = 0 .. `+`(`*`(2, `*`(Pi))), u = -50 .. 50, color = 'blue'));...
`:=`(p1, plot3d(`+`(`*`(`^`(x, 3)), `*`(`^`(y, 2))), x = -3 .. 3, y = -5 .. 5, color = 'red')); -1; `:=`(p2, plot3d([sin(t), cos(t), u], t = 0 .. `+`(`*`(2, `*`(Pi))), u = -50 .. 50, color = 'blue'));...
 

Plot


Fyzikální jednotky

Maple 12 - Fyzikální jednotky

Maple umožňuje používat u proměnných fyzikální jednotky. Pro práci s nimi je potřeba zavolat balík Units. Jednotky se dají napsat pomocí funkce Unit, elegantnější spůsob je nakliknout jednotku přímo z palety Units (SI). Pro zjednodušení jednotek funguje příkaz simplify.

> with(Units); -1
 

> simplify(`/`(`*`(convert(50.0, units, `/`(`*`(Unit('km')), `*`(Unit('h'))), `/`(`*`(Unit('m')), `*`(Unit('s')))), `*`(Unit('m'))), `*`(Unit('s'))))
 

`+`(`*`(13.88888889, `*`(Units:-Unit(`/`(`*`('m'), `*`('s')))))) (8.4.1)

> `:=`(m, `+`(`*`(10, `*`(Unit('kg'))))); 1; `:=`(v, `+`(`/`(`*`(7.9, `*`(Unit('km'))), `*`(Unit('s'))))); 1; `:=`(Energie, `+`(`*`(`/`(1, 2), `*`(m, `*`(`^`(v, 2)))))); 1; simplify(Energie)
 

`+`(`*`(10, `*`(Units:-Unit('kg'))))
`+`(`/`(`*`(7.9, `*`(Units:-Unit('km'))), `*`(Units:-Unit('s'))))
`+`(`/`(`*`(312.0500000, `*`(Units:-Unit('kg'), `*`(`^`(Units:-Unit('km'), 2)))), `*`(`^`(Units:-Unit('s'), 2))))
`+`(`*`(312050000.0, `*`(Units:-Unit('J')))) (8.4.2)


Zajímavosti pro učitele

Maple 12 - Zajímavosti pro učitele

Interaktivní změna dokumentu

Interaktivní změny v dokumentu se dělají pomocí palety Components. Způsob výroby takové části materiálu je složitější, doporučuji si projít nápovědu s daným tématem - "Smart1, Tour". Pokud chcete jen prozkoumat jak se danný problém chová pro různé parametry, je možné použít příkaz Explore, případně jen kliknout pravým tlačítkem na danný výraz s proměnnými a zvolit v nabídce explore. Bude poté dotázáni, pro které parametry chcete problém zkoumat a v jakých mezích (pokud některou proměnnou chcete vynechat, zašktněte u ní políčko skip. Po potvrzení se vám v novém okně automaticky vytvoří pole které se interaktivně mění (graf, případně rám, ve kterém se vám mění funkce) a táhla pro proměnné.

Graf funkce sin(a⋅x)

> Embedded component
Embedded component
plot(sin(`*`(a, `*`(x))), x = -10 .. 10)

Taylorův rozvoj funkce exp(x)

> Embedded componentEmbedded component
 

series(exp(x), x = 0, n)

Záložka Tools

Rozhodně stojí zato si projít v záložce Tools záložku Tutors. Je zde možné např. nechat si vypočítat limity případně integrály i s postupem.

Maplet

Je možné vytvořit Maplet - prostředí podobné Java apletům a spouštět jej za pomocí programu Maplet Viewer. Případně je možné vyrobit Maplet pomocí Maplet Builderu v záložce Tools/Assistant.

Převedení na html

Worksheet je možné převést na html stránku. Export se neprovede pokud je někde v dokumentu vložen konec stránky (Insert/Page Break).

Převedení do LaTeXu

Je možné převést jen určitý výraz příkazem latex, případně převést celý dokument za pomocí File/Export as.
Při exportu celého souboru se musí do stejného adresáře nakopírovat soubory ze složky Maple 12/ETC, jinak se soubor nedá zpracovat. Taktéž se musí do příslušného souboru zadat jaký typ kódování byl použit, jinak se nezobrazí háčky a čárky. I přes to všechno soubor obsahuje chyby při zpracování LaTeXem.

Převedení na formát rtf

Je možné převést celý dokument na formát rtf za pomocí File/Save as. Celkově ale vypadá mnohem lépe, než export do LaTeXu.

Závěrečné shrnutí

Maple 12 - Závěrečné shrnutí

Výše nastíněné funkce jsou jen základní funkce programu, které by měl student znát, pro snadnější práci s programem během studia. Samozřejmě, že Maple nabízí mnohem více funkcí. Mnoho funkcí jako např. plot, případně solve mají množství nastavení, které můžeme nastavit tak, aby výsledek odpovídal našemu očekávání (např. změnit vzhled grafu, případně nastavit podmínky pro řešené rovnice).

Doporučená literatura

Maple 12 - Doporučená literatura

Abell M. L., Braselton J. P.: Maple by example, 3rd edition, Elsevier, 2005
Shingareva I., Lizárraga-Celaya C., Braselton J. P.: Maple and Mathematica, Springer, 2007
Wang F. Y.: Physics with Maple, Wiley-VCH Verlag GmbH, 2005

Odkazy

Maple 12 - Odkazy

http://www.maplesoft.com/
http://www.maplesoft.com/products/Maple/index.aspx
http://www.maplesoft.com/applications/index.aspx
http://www.maplesoft.com/support/training/index.aspx
http://www.maplesoft.com/TeacherResource/
http://www.maplesoft.com/products/maplesim/index.aspx


Soubory ke stažení

Maple 12 - Soubory ke stažení

Úvodní seznámení ve formátu pdf a formátu programu Maple 12 (mw) je možné stáhnout zde.