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

Text diplomové práce
Text diplomové práce
Úvod
Úvodní seznámení
s matematickými programy
Sbírka příkladů
Webové rozhraní
Obsah přiloženého CD
Závěr
Literatura


Úvodní seznámení

Sbírka příkladů
Hyperboloid

Matematické programy a jejich použití

Tyto stránky vznikly v rámci mé diplomové práce. Skládají se ze tří částí - úvodního seznámení s matematickými programy, sbírky příkladů a textu diplomové práce.

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

Úvodní seznámení s matematickými programy by mělo dát studentům (převážně učitelství) možnost, řešit problémy spojené s matematikou a fyzikou za pomocí počítače.

Sbírka příkladů

Sbírka příkladů časem obsahuje ukázkové příklady, řešené v jednotlivých předmětech matematiky a fyziky, vyučované v rámci předmětů oboru fyzika zaměřená na vzdělávání.








Text diplomové práce

Diplomová práce ke stažení zde






Univerzita Karlova v Praze
Matematicko-fyzikální fakulta



DIPLOMOVÁ PRÁCE




\includegraphics[scale=0.3]{pic/logo.pdf}





Bc. Radim Kusák


Matematické programy a jejich použití


Katedra didaktiky matematiky




Vedoucí diplomové práce: RNDr. Antonín Slavík, Ph.D.

Studijní program: Fyzika, Učitelství fyziky-matematiky pro střední školy






2010




Na tomto místě bych rád poděkoval svému vedoucímu práce RNDr. Antonínu Slavíkovi, Ph.D. a konzultantům Doc. Leoši Dvořákovi a Doc. Tomáši Ledvinkovi za cenné nápady při tvorbě práce. Taktéž bych rád poděkoval mému velmi dobrému příteli Petru Majerovi za přínosné připomínky a nápady k webovému rozhraní.


Prohlašuji, že jsem svou diplomovou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a jejím zveřejňováním.


V Praze dne Bc. Radim Kusák


Obsah

Název práce: Matematické programy a jejich použití
Autor: Bc. Radim Kusák
Katedra (ústav): Katedra didaktiky matematiky
Vedoucí diplomové práce: RNDr. Antonín Slavík, Ph.D.
e-mail vedoucího: antonin.slavik@mff.cuni.cz

Abstrakt: Tato práce slouží jako úvodní seznámení studentů MFF UK (zejména učitelských oborů) s vybranými programy pro řešení matematických úloh na počítači (computer algebra systémy) - Mathematica, Mathcad, Maple a Maxima. Práce se skládá ze tří částí - úvodního seznámení s matematickými programy, řešených vybraných úloh z předmětů vyučovaných na MFF UK (matematika, fyzika) a webového rozhraní, které zpřístupňuje texty práce a obě předchozí části na internetu.

Klíčová slova: Matematické programy, Mathematica, Maple, MathCad, Maxima, Computer algebra systems




Title: Mathematical software and its usage
Author: Bc. Radim Kusák
Department: Department of Mathematics Education
Supervisor: RNDr. Antonín Slavík, Ph.D
Supervisor's e-mail address: antonin.slavik@mff.cuni.cz

Abstract: This work is an introduction for students of the Charles University (mainly of the teaching fields) with selected programs for solving mathematical problems on computer (computer algebra systems) - Mathematica, Mathcad, Maple and Maxima. The thesis is consists to three parts - first part is an introduction of mathematical programs, the second contains selected solved problems in subjects taught at MFF UK (Mathematics and Physics) and the last one is a Web interface that provides access to texts of this thesis and two previous parts on the Internet.

Keywords: Mathematical software, Mathematica, Maple, MathCad, Maxima, Computer algebra systems

Úvod

Proč právě matematické programy

V dnešní době počítačů, kdy už děti na základní škole mají svůj vlastní počítač, by se matematické programy měly stát standardem pro výpočty na vysokých a také i středních školách (případně i základních). Důvodem je, že dnešní věda, matematika ani ekonomie, se bez těchto programů nedá dělat na vysoké úrovni. Matematické programy totiž svou výpočetní rychlostí a rozsahem umožňují řešit reálné problémy - průběh nabídky a poptávky, pohyb v odporovém prostředí, dynamické chování živočišných systémů a to přesně a i na osobním počítači.

Přestože matematické programy jsou k dostání více než 20 let, přeci jen je jejich použití hlavně na středních školách v Česku na začátku. Jsou zde samozřejmě světlé vyjímky, ale není to standardem. Tento stav je převážně způsoben rychlým rozvojem počítačů a taktéž novými nároky na povolání učitele.
Tento stav lze v první fázi zlepšit a to na dvou rovinách - dalším vzděláváním učitelů v této oblasti a seznámením stávajících studentů učitelství s matematickými programy.
Matematické programy ale v druhé fázi požadují po učitelích mnohem víc - změnu paradigmatu. A to jak v celkovém pojetí výuky, tak v oblasti sociální.
V pojetí výuky dávají učiteli možnost rychlé a přehledné demonstrace za pomoci projektoru, případně interaktivní tabule, což může např. zlepšit porozumění v oblasti grafů funkcí. Také dávají možnost vyniknout žákům, kteří mají problém s matematickým aparátem (slabí žáci, případně dyskalkulici), avšak rozumí problému a ví, jak problém řešit. V neposlední řadě přináší žákům možnost ověřit si své výsledky (případně i postup) doma.
V oblasti sociální umožňují slabým žákům vyniknout, případně i překonat výborné žáky, což může mít pozitivní vliv na jejich sebeobraz a sebepojetí. Mohou vzniknout ale i problémy při otázkách typu Proč tedy musíme počítat příklady, když to počítač spočítá za mě?, na které si každý učitel musí po pravdě odpovědět sám za sebe.

Tato práce si klade za cíl, aby studentům vysokých škol (převážně studentům učitelství) dala příležitost se s těmito programy blíže seznámit. Tím jim nabízí možnost využít tyto programy při řešení matematických a fyzikálních problémů, ale taktéž, což je mnohem důležitější, pomoci studentovi daný problém vidět za pomocí grafů, případně zkoumat, jak se problém chová pro různé parametry. Pokud student bude programy využívat během studia, zlepší se tím jeho práce s nimi a umožní mu je následně využívat při svém výzkumu, případně výuce žáků na střední škole.
V ideálním případně by se měl student seznámit s těmito programy již na začátku svého studia, aby je mohl využívat po celou dobu studia a tím je hlouběji poznat.

Jazyk matematických programů

Standardním jazykem používaným v matematických programech je angličtina. Některé programy nabízejí i další jazyky (i češtinu), mnohem lepší pro práci s programem je ale angličtina, jelikož většina názvů funkcí používaných v matematických programech vychází z angličtiny (např. simplify, solve, atd.). Dalším důvodem, proč pracovat s programy v angličtině, je možnost studentů středních škol využít tento jazyk mimo běžnou výuku jazyka. V neposlední řadě se angličtina, jako v minulosti latina, stala jazykem vědy a vědci po celém světě ji využívají k předávání svých znalostí.

Programy, se kterými budeme pracovat

Matematických programů je velká řada, jelikož historicky vznikaly v rámci univerzit a taktéž jsou zaměřeny na řešení různých problémů. Obecně se mezi matematické programy řadí i programy na tvorbu grafů (např. Graph, Gnuplot), statistické programy (např. Statistica, Origin), případně programy specializované na numerické výpočty (např. Matlab, Scilab). Matematickými programy budeme v této práci rozumět programům CAS - programy Computer Algebra Systems, jejichž anglický název ani snaha o český překlad - počítačové algebraické systémy, vůbec nevystihují možnosti těchto programů. Komplexnější programy typu CAS totiž nejen umožňují řešit rovnice a pracovat s algebraickými výrazy, ale taktéž zvládají integrální a diferenciální počet, kreslení grafů, práci s jednotkami, interaktivní změnu dokumentů, numerické výpočty a mnoho dalšího. Přehled matematických programů typu CAS viz. příloha A1.1.

V této práci se budeme věnovat programům Mathematica 7.0, Maple 12.02, Mathcad 14 a wxMaxima 0.8.5 (Maxima 5.211.2). Obecnými kritérii pro volbu programů byly jejich výpočetní možnosti (schopnost řešení problému vysokoškolské a středoškolské matematiky), a také jejich dostupnost pro Windows, případně i Linux. Taktéž tyto programy tvoří typový základ programů pro symbolické výpočty, jelikož ostatní matematické programy mají obvykle stejný, případně podobný zápis příkazů. Použitým jazykem v ovládání programů je angličtina.

Stuktura práce

Tato práce se skládá ze tří hlavních částí:
  1. Úvodního seznámení s matematickými programy,
  2. Sbírky příkladů,
  3. Webového rozhraní.

Úvodní seznámení je stručné představení jednotlivých matematických programů - jejich historického pozadí, specifik a výhod a nevýhod programu, aby čtenář měl představu o daném programu a jeho možnostech. Hlavní část úvodního seznámení pak tvoří přehled základních příkazů v jednotlivých programech, které řeší tentýž problém (např. jak spočíst limitu, vyřešit diferenciální rovnici apod.). Dávají tím studentům MFF UK možnost vidět syntax jednotlivých programů a díky tomu taktéž možnost zvolit si program, který jim při jejich studiu a řešení daných problémů bude nejvíce vyhovovat.
Sbírka příkladů se věnuje konkrétním příkladům z matematiky a fyziky, se kterými se student může během studia setkat. Příklady jsou různé náročnosti jak z pohledu doby počítání ručně (např. jednoduché, ale zdlouhavé výpočty), tak z pohledu obtížnosti myšlenkových operací.

Poslední částí této práce je webové rozhraní, přes které je možné si zobrazit jak příklady sbírky, tak i úvodní seznámení. Stránky využívají výhod PHP, MySQL a CSS, tudíž jsou mnohem pokročilejší než běžné HTML rozhraní.

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

Představení jednotlivých programů

Mathematica

Historické pozadí programu Mathematica

Vznik programu Mathematica je spojován se jménem Stephena Wolframa. Jakožto teoretický fyzik se snažil využívat při svých výpočtech počítač. Dostupné programové možnosti počítačů mu ale nevyhovovaly, tak se rozhodl vytvořit systém s názvem SMP - symbolic manupulation program (rok 1980). Poté ještě několik let působil na univerzitě a uvažoval přitom o vytvoření komplexního systému (roky 1984 - 1987). V roce 1986 začíná pomalu vznikat program Mathematica, jejíž první verze byla vydána 23.června 1988. Mathematica se okažitě stala hitem, začala se rozšiřovat a přišly její další verze. Největší změnou prošel program Mathematica při verzi 6 v roce 2007 - vytvoření interaktivních částí dokumentu, možnost pracovat s matematickými, fyzikálními, chemickými a další daty a mnoho dalšího. V dnešní době (18.7.2010) se chystá nová verze programu - Mathematica 8.0. Zdroj [2] a [3].

Proč právě Mathematica

Hlavním důvodem, proč jsem zvolil tento program, je rozsáhlost a komplexnost tohoto programu - program má v sobě definovány funkce z různých oblastí matematiky, i takových, se kterými se student nesetká v běžném vysokoškolském kurzu. Také umožňuje přístup k nejrůznějším informacím z rozličných lidských oblastí (fyziky, chemie, financí...) přes internet. Dalším důvodem je, že tento program je sice komerční, ale pro studenty MFF UK je zdarma (je zakoupena multilicence).

Výhody a nevýhody programu Mathematica

Mathematica má samazřejmě velké množství výhod, ale při práci s ní se můžete setkat i s problémy a poznat některé její nevýhody. Níže jsou uvedeny některé z nich.


Výhody

  • Velmi komplexní systém.
  • Dostupnost pro Windows, tak Linux a Mac OS.
  • Jednotná syntax programu - předdefinované funkce začínají velkými písmeny, jednotný systém pro používání polí, vektorů a matic atd...
  • Velké množství standardně definovaných funkcí.
  • www.wolframalpha.com - možnost nechat si řešit matematické problémy rovnou na internetu za pomocí jádra programu Matematica.
  • Velké množství hotových demonstračních projektů (itenteraktivních animací) pro učitele z různých oblastí matematiky a vědy, zdarma ke stažení na internetu.
  • Velmi dobře zvládnutá nápověda s velkým množstvím příkladů pro různé nastavení dané funkce (např. grafu).
  • Možnost si stáhnout aktuální data z oblasti matematiky, vědy a ekonomie v rámci programu a rovnou je i zobrazovat, analyzovat, případně s nimi dále pracovat.
  • Velmi snadná interaktivní změna dokumentu - možnost zkoumat, jak se mění zadaný problém (graf, řešení rovnice,...) pro různé parametry.
  • Na webových stránkách možnost sledování výukových videí a účasti na výukových seminářích (zdarma).
  • Možnost pracovat s různým typem dokumentu - notebook, prezentace, demostrační projekt.
  • Možnost pracovat s různými předdefinovanými motivy dokumentu.


Nevýhody

  • Komerční program2.1 (pro studenty cca 2600 Kč).
  • Standardně počítá v komplexních číslech (což je nevýhoda na střední škole).
  • Problémy s tiskem
    • Standardně nastaveno roztažení na šířku okna, což při širším oknu způsobuje tisk mimo okraj. Tento problém se dá odstanit označením celého dokumentu a následným nastavením v položce Format/Word Wrapping na Wrap at Paper Width.
    • Při vložení konce stránky může zlobit automatické zalomení stran ve zbytku dokumentu.
    • Chybí běžný náhled před tiskem (Print preview).
    • Pokud se notebook před tiskem nepropočítá, program může pro větší notebooky spadne.
    • Při ruční změně ve stylu v textu notebooku se text při tisku překrývá.
  • Standatně sdílení proměných v rámci programu - přirazení proměnné v jednom notebooku, předefinuje proměnou v jiném se stejným názvem (což někdy může být i výhoda; dá se nastavit, aby tomu tak nebylo).

Maple

Historické pozadí programu Maple

První koncept programu Maple vznikl na setkání v listopadu 1980 na Univerzitě ve Waterloo (Ontario, Kanada). Výzkumníci na univerzitě si přáli koupit počítač, který by měl dostatečný výkon na provoz programu Macsyma. Místo toho bylo rozhodnuto, že bude vyvinut vlastní computer algebra systém, který bude možné provozovat na počítačích za rozumnou cenu.
Základní vývoj programu Maple se udál velmi rychle - první limitovanáverze se objevila v prosinci 1980. Při vytváření sytému byly vyzkoušeny a zamítnuty různé nápady, které vytvořily stále se vyvíjejcí systém. Maple byl poprvé představen na konferencích na začátku roku 1982. Jméno programu bylo vymyšleno tak, aby ukazovalo, že tento program je původem z Kanady2.2.
Na konci roku 1983 už více než 50 univerzit mělo na svých počítačích naistalován program Maple. Program se dále rozšiřoval. Významnými milníky byla verze Maple V, která měla rozhraní i pro Windows a verze Maple 9, která je v základu napsaná v jazyku Java a taktéž přinesla nový vzhled programu, který se používá dodnes. Aktuální verze k dnešnímu datu (18.7.2010) je Maple 14. Zdroj [7].

Proč právě Maple

Hlavním důvodem, proč jsem zvolil tento program do této práce je, že tento program, asi jako jediný, je svou výpočetní silou srovnatelný s programem Mathematica. Nemá sice tak jednotnou syntax jako Mathematica, jeho příkazy jsou ale tvořeny tak, aby měly komplexnější charakter. Dalším důvodem je možnost používat tento program jako svého učitele - napříkad na výpočet limit, případně si jen nechat danou limitu vypočítat i s postupem.

Výhody a nevýhody programu Maple

Maple má samazřejmě velké množství výhod, ale při práci s ním se můžete setkat i s problémy a poznat některé jeho nevýhody. Níže jsou uvedeny některé z nich.


Výhody

  • Komplexní systém
  • Multiplatformní systém - dostupný pro Windows, Linux, Mac a další platformy.
  • Možnost nechat se programem vyučovat, případně jen program využít pro ukázku postupu řešení - např. řešení integrálů a limit.
  • Příkazy mají komplexní charakter.
  • Možnost využít různé rozhraní pro práci - Maple 12, Classic Worksheet Maple 12 (pro ty, co jsou zvyklí na starší verze programu Maple), případně Command line Maple 12 (Maple na příkazovém řádku).
  • Možnost pracovat ve dvou typech dokumentů - 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 pomocí CTRL + =.
  • Konceptuálně různé ovládání programu - 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 ve 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.
  • Různé typy nápovědy pro řešení problémů - rejstřík, nápověda typu jak udělám..., tutorialy a další.
  • Velké množství standardně definovaných funkcí (většinu je potřeba zavolat pomocí balíčků - z důvodu rychlosti výpočtů).
  • Interaktivní změna dokumentu - možnost zkoumat, jak se mění zadaný problém (graf, řešení rovnice,...) pro různé parametry.
  • Na webových stránkách možnost sledování výukových videí a účasti na výukových seminářích (zdarma).
  • Možnost vytvořit Maplet - prostředí podobné Java apletům a spouštět jej za pomocí programu Maplet Viewer.
  • Maple T.A. - Možnost vytvářet testy pro studenty, případně využít už hotové testy a rovnou mít i vyhodnocení a statistiku (není součástí programu).
  • Maple Sims - Od Maple 13, jako nástavba programu, umožňuje numericky modelovat systémy pomocí skládání prvků s možností změny parametrů - např. pružina v odporovém prostředí.


Nevýhody

  • Komerční program2.3 (pro studenty 129$).
  • Nejednotný zápis příkazů - některé příkazy začínají malým písmenem, některé velkým.
  • Pokud problém nemá řešení, výsledek se nevypíše (např. rovnice 0*x=5).
  • Funkce evalf pro malý počet cifer může dát nepřesný výsledek.
  • Standardně je ve vzhledu stránky (File/Page setup) nastaven jako typ papíru Letter. Pro tisk je potřeba jej nastavit na A4.

MathCad

Historické pozadí programu Mathcad

Mathcad byl poprvé představen v roce 1986 pro operační systém MS-DOS. Jako první nabídl možnost přímé editace (live editing) příkazů spojené s automatickými výpočty. Tím značně vybočil od ostatních matematických programů, které rozlišují mezi zadáním a výsledkem. Taktéž jako první nabídl možnost práce s jednotkami. Mathcad nabízí možnost symbolických výpočtů, je ale hlavně zaměřen na použití v technice. Program byl původně vytvořen Allenem Razdowem, který taktéž založil firmu Mathsoft pro jeho distribuci. V roce 2006 byl Mathsoft odkoupen firmou Parametric Technology Corporation. K dnešnímu datu (18.7.2010) je aktuální verze programu Mathcad 15. Zdroj [11].

Proč právě MathCad

Hlavním důvodem, proč jsem zvolil tento program do této práce je, že tento program má poněkud odlišný přístup co se týče rozhraní. U většiny programů uživatel pracuje pomocí příkazové řádky případně určitých bloků do kterých píše příkazy, které se mají provést. Na druhou stranu je tento program zaměřený hlavně na naklikávání příslušných příkazů, případně využití velkého množství klávesových zkratek. Druhým důvodem je podle mého názoru nejlépe zvládnutý systém práce s jednotkami u fyzikálních veličin ze všech zde uvedených programů.

Výhody a nevýhody programu MathCad

Mathcad má samazřejmě velké množství výhod, ale při práci s ním se můžete setkat i s problémy a poznat některé jeho nevýhody. Níže jsou uvedeny některé z nich.


Výhody

  • Pro začátečníka velmi jednoduchá práce s programem.
  • Jednoduše zvládnutý systém jednotek.
  • Velké množství klávesových zkratek pro zadávání příkazů.
  • Po přihlášení na webových stránkách možnost sledování výukových videí.
  • Interaktivní změna dokumentu - možnost zkoumat, jak se mění zadaný problém (graf, řešení rovnice,...) pro různé parametry.


Nevýhody

  • Komerční program2.4 (pro studenty cca 3900 Kč).
  • Menší množsví standardně definovaných funkcí oproti programům Maple a Mathematica.
  • Nemá symbolické řešení diferenciálních rovnic.
  • Netypický systém zápisu cyklů a podmínek.
  • Padání programu při provádění některých operací (například při vkládání formátovaného textu).
  • Při řešení složitějších problémů, ne až tak snadná obsluha programu (konceptuálné jiný přístup než ostatní matematické programy).
  • Standardně nastaveno indexování polí od nuly - tzn. první složka vektoru má index 0 (dá se změnit příkazem ORIGIN).

wxMaxima

Historické pozadí programu Maxima

Program Maxima je odvozen od sytému Macsyma, který byl vyvíjen na MIT 2.5 v letech 1968-1982 jako součást projektu MAC 2.6. Jednalo se vůbec o první program typu computer algebra system. MIT předal kopii zdrojového kódu Macsymy ministerstvu energií 2.7 v roce 1982. Tato verze je dnes známá jako DOE Macsyma. Kopie DOE Macsymy byla držena prof. Williamem F. Schelterem z Texaské Univerzity od roku 1982 do jeho smrti v roce 2001. V roce 1998 prof. Schelter získal souhlas od oddělení energií k vypuštění zdrojového kódu DOE Macsymy v rámci GNU veřejné licence a v roce 2000 inicioval projekt Maxima u SourceForge k udržení a rozvoji DOE Macsymy, dnes nazývané Maxima.
wxMaxima je jedno z mnoha rozhraní, kterým lze Maximu ovládat.
Zdroj [14].

Proč právě wxMaxima

Hlavním důvodem, proč jsem zvolil tento program do této práce, je dostupnost tohoto programu. Jelikož se jedná o program s GNU licencí, je možné tento program bezplatně používat, a to jak pod operačním systémem Linux, tak Windows. Taktéž předchůdce Maximy, program Macsyma, byl první tohoto typu na světě. Samotné rozhraní wxMaxima bylo zvoleno pro přehledné výstupy a možnost psaní textu.

Výhody a nevýhody programu wxMaxima (Maxima)

Maxima má samazřejmě velké množství výhod, ale při práci s ní se můžete setkat i s problémy a poznat některé její nevýhody. Taktéž má specifické výhody a nevýhody rozhraní wxMaxima. Takové výhody (či nevýhody) mají na konci uvedeno (wxMaxima). Níže jsou uvedeny některé z nich.


Výhody

  • Dostupnost pro operační systém Widows i Linux
  • Komplexní systém s otevřeným kódem (možnost zobrazit a upravit si zdrojový kód Maximy).
  • Program je zdarma.
  • Program je i v češtině (wxMaxima).
  • Má podobnou syntax jako program Maple.
  • Umožňuje interaktivně měnit grafy (wxMaxima).


Nevýhody

  • Složitější funkce nemusí dávat správné výsledky - napříklady špatně spočtený integrál, ve kterém se vyskytují absolutní hodnoty.
  • Problémy s diakritikou - problém kódování. Při použití diakritiky v operačním systému Windows, není možné zobrazit soubory pod operačním systémem Linux. Při použití diakritiky v operačním systému Linux, jsou v operačním systému Windows zobrazeny znaky s diakritikou špatně.
  • Nepropracovaná nápověda.
  • Pro některé příkazy nápověda vůbec není.
  • Některé příkazy, které fungují pod operačním systém Linux, nemusí fungovat pod operačním systémem Windows, případně začnou dávat chybné výsledky.
  • Některé příkazy, které fungují v programu Maxima, nemusí fungovat v programu wxMaxima (wxMaxima).
  • Příkazy nejsou tak komplexní jako v ostatních matematických programech - například trigonometrické rovnice se musí před řešením zjednodušit jinak se nevyřeší apod.
  • Množství příkazů pro úpravy výrazů, které by mohly být sjednoceny v jednom příkazu.
  • Při vložení konce stránky zůstanou ve zbytku stránky nezměněny původní konce stránek.


Úvodní seznámení - práce a příkazy v jednotlivých programech

Smysl a struktura úvodního seznámení v jednotlivých programech

Hlavní myšlenkou úvodního seznámení v jednotlivých programech je dát studentům jednoduchou příručku pro práci s daným programem. Snaha o jednoduchost je podmíněna velkým množstvím literatury na dané téma, která je ale většinou velmi obsáhlá. Taktéž je možnost využít nápovědu k daným programům, která je u programů Mathematica a Maple velmi dobře zpracovaná, ale i přes to potřebuje student čas si na práci s nápovědou zvyknout. Problém pro práci s matematickými programy a literaturou je taktéž v jazykové bariéře, jelikož programy jsou v angličtině.
Z názvu podkapitoly je rovnou patrné, co příslušný příkaz provádí, pokud to není až tak zřejmé, je daný příkaz okomentován.
Struktura úvodního seznámení je postavena tak, aby studentovi ukázala v první řadě základní práci s daným programem a poté příslušné příkazy pro práci s vysokoškolskou matematikou - příkazy pro lineární algebru, integrální a diferenciální počet a posloupnosti a řady. Velký důraz je kladen na různé typy grafů, aby student měl možnost názorněvidět nejrůznější matematické a fyzikální problémy, se kterými se během studia setká. Pro potřeby fyziky je v úvodním seznámení práce s jednotkami - převody a taktéž práce s jednotkami u proměnných. Předposlení částí jsou zajímavosti pro učitele, které může student využít při výuce. Poslední částí je doporučená literatura k danému programu pro možnost dalšího vzdělání v oblasti daného programu a jeho aplikací.

Mathematica

Úvodní seznámení v programu Mathematica je v příloze B. Při přípravě úvodního seznámení byla hlavně využívána nápověda programu a taktéž knihy [4], [5], [6] a [9].

Maple

Úvodní seznámení v programu Maple je v příloze C. Při přípravě úvodního seznámení byla hlavně využívána nápověda programu a taktéž knihy [9], [8] a [10].

Mathcad

Úvodní seznámení v programu Mathcad je v příloze D. Při přípravě úvodního seznámení byla hlavně využívána nápověda programu a taktéž knihy [12] a [13].

wxMaxima

Úvodní seznámení v programu wxMaxima je v příloze E. Při přípravě úvodního seznámení byla hlavně využívána nápověda programu a zdroj [18], z dalších zdrojů pak [15], [16], [17] a [19].

Sbírka příkladů

Smysl a přínos sbírky

Sbírka příkladů se věnuje konkrétním příkladům z matematiky a fyziky, se kterými se student může během studia setkat. Příklady jsou různé náročnosti jak z pohledu doby počítání ručně (např. jednoduché, ale zdlouhavé výpočty), tak z pohledu obtížnosti myšlenkových operací. Zajímavostí matematických programů je, že některé úlohy, které se ručně řeší velmi zdlouhavě (např. Taylorův polynom funkce), se v matematických programech vyřeší jediným příkazem (Series v programu Mathematica).
Hlavní myšlenkou sbírky příkladů je dát možnost studentům vidět příslušná řešení, případně zkoumat řešení pro různé paramatry. Proto je snaha, aby v každém příkladu byl graf ukazující daný problém. Taktéž jsou ve sbírce některé příklady řešeny více způsoby, aby student měl možnost vidět jak různé matematické postupy (příklad Průběh funkce x^2+x-1), tak řešení za pomoci různých příkazů v programu (příklad Taylorův polynom funkce tg(x)).

Struktura sbírky

Samotná struktura sbírky vychází z přemětů vyučovaných v rámci studijního plánu Fyzika-matematika, obor Fyzika zaměřená na vzdělávání, program Fyzika. Aktuální předměty vyučované v ráci tohoto studijního plánu se časem mohou lišit.

Příklady ve sbírce

Aktuální počet příkladů ve sbírce je 8 (označené ve webovém rozhraní jako veřejné). Do budoucna se počítá s jejím rozšířením do té míry, aby v každém předmětu bylo alespoň 5 příkladů střední nebo vysoké náročnosti (přibližně v rozsahu 5 - 15 stran v každém programu).
V příkladech je snaha řešit problémy pomocí stejných příkazů v jednotlivých programech, aby student mohl vidět analogie příkazů. Je-li možné řešit problémy podle specifik programu, je snaha, aby student taktéž viděl i tento způsob řešení - např. řešení integrálu v programu Mathematica pomocí stránky www.wolframalpha.com, u programu Maple řešení pomocí pomocí balíku Student.
Formáty souborů použitých ve sbírce jsou vždy formátem příslušného programu

  • nb - Mathematica,
  • mw - Maple,
  • xmcd - Mathcad,
  • wxm - wxMaxima
a formátem pdf, ve kterém jsou všechny úlohy vytištěny. Výhodou pdf je, že student se může podívat na řešení v jiných matematických programech bez toho, aby je musel mít nainstalovány. Pro webové rozhraní jsou soubory v příslušném programu a pdf sbaleny do formátu zip. Důvodem je, že docházelo k nechtěnému zobrazení zdrojového kódu (u programu Mathematica) ve webových prohlížečích, místo aby se příslušný notebook otevřel v programu Mathematica.
Při tvorbě příkladů byly využity poznámky z jednotlivých předmětů, dále pak i mé vlastní nápady a literatura [20] a [21].

Struktura příkladů

Každý příklad se skládá ze tří hlavních částí:
  1. zadání příkladu,
  2. postupu řešení,
  3. samotného řešení příkladu.

Zadání příladu je shodné se zadáním na webovém rozhraní. Postup řešení je rozepsání jednotlivých kroků při výpočtech, které jsou následně prováděny ve stejném pořadí v samotném řešení příkladu. Důvodem rozdělení příkladu na postup a řešení je, aby student mohl příklad počítat i samostně a matematický program využít jen jako pomůcku. Taktéž tento způsob rozdění příkladu učí studenty rozlišovat mezi nápady a řešením, což se hodí v praktickém životě.
U většiny příkladů je taktéž i graf (případně u všech příkladů je obrázek na webovém rozhraní), který názorně ukazuje daný problém - např. jak vypadá zadaná křivka, jejíž délku máme na příslušném intervalu určit.

Náročnost příkladů

Náročnost příkladů ve sbírce by se dala rozdělit podle čtyř základních kritérií:
  1. časová náročnost při počítání ručně3.1,
  2. početní náročnost při počítání ručně,
  3. časová náročnost v matematických programech - čas potřebný pro zadání do matematického programu,
  4. programová náročnost v matematických programech - jakou úroveň znalostí pro práci s programem by měl student mít.
Na webovém rozhraní se využívá posledního kritéria náročnosti - tzn. programová náročnost v matematických programech. Náročnost je na škále od 1 po 10, 1 je nejjednodušší a nezahrnuje v sobě tvorbu grafů na konci příkladů (případně začátku), jelikož by náročnost stoupla řádově o 2 až 3 stupně. Úvodní seznámení s matematickými programy dosahuje programové náročnosti 3 až 5 v závislosti na daném tématu.


Šablony příkladů

Pro jednodnost příkladů ve sbírce je v každém programu udělána jednotná šablona pro úlohy. Pokud to daný program umožňoval, byly nejen nastavené jednotné styly v rámci dokumentu, ale i záhlaví a zápatí.

Ukázkový příklad

Ukázkový příklad ze sbírky příkladů - Průběh funkce $ \frac{x-2}{\sqrt{x^2+1}}$, je v přílohách F - Mathematica, G - Maple, H - Mathcad a I - Maxima. Tento příklad patří mezi rozsáhlejší příklady ze sbírky.

Webové rozhraní


Struktura webového rozhraní

Webové rozhraní se skládá ze dvou hlavních částí - veřejné a administrátorské. Veřejná část slouží k přístupu k textům samotné diplomové práce, úvodního seznámení a sbírky úloh běžným uživatelům na internetu. Administrátorská část umožňuje upravovat texty v úvodním seznámení a taktéž zadávat a upravovat příklady do sbírky. Webové rozhraní využívá databázi MySQL, kde jsou příslušné texty úvodního seznámení a sbírky úloh uloženy. Samotnou správu databáze zprostředkovává phpmyadmin, který je taktéž součástí stránek, ale není na něj přímý odkaz z důvodu bezpečnosti.
Stránky veřejného rozhraní jsou optimalizovány na rozlišení 1024, aby bylo možné stránky prohlížet tatkéž i na mininoteboocích. Administrátorská část je optimalizována na rozlišení 1280 pro úvodní seznámení a 1440 pro sbírku příkladů.
Při vzniku webového rozhraní a databáze byly využity knihy [22], [23], [24] a [25]. Při hledání dílčích příkazů byly využity webové stránky [26] a [27].


Veřejná část webového rozhraní


Texty diplomové práce - veřejná část

Texty samotné diplomové práce nejsou na webových stránkách všechny, jelikož některé kapitoly mají význam jen v kontextu diplomové práce a taktéž přílohy úvodního seznámení a sbírky jsou dostupné v rámci dalších částí webového rozhraní. Samotnou diplomovou práci ve formátu .pdf je možné stáhnout na konci části s texty společně s dalšími materiály, které jsou součástí diplomové práce a byly přiloženy na CD k této práci.


Úvodní seznámení s matematickými programy - veřejná část


Možnosti úvodního seznámení

Jelikož většina údajů pro úvodní seznámení je uložena v databázi a z ní načítána pomocí PHP, je možné filtrovat
  • podle jednotlivý programů,
  • podle jednotlivých témat v rámci programu
a to v rámci jedné webové stránky. Běžný uživatel nepozná rozdíl oproti přepínání mezi více stránkami, kterých by v tomto případě bylo 60, ale pro budoucí zadávání nových programů (např. Matlab), případně nových témat (např. numerické výpočty), je toto velkým přínosem pro zadavatele.

Obrázek: Ukázka webového rozhraní - část úvodní seznámení
Image uvodni_seznameni


Sbírka příkladů - veřejná část


Možnosti sbírky příkladů

Jelikož většina údajů pro úvodní seznámení je uložena v databázi a z ní načítána pomocí PHP, je možné přiklady sbírky filtrovat
  • podle tématu Matematika případně Fyzika,
  • podle jednotlivých předmětů.

Příklady se filtrují v rámci tabulky, která pro přehlednost obsahuje předmět, ze kterého byl příklad zvolen (případně do něj tématicky zapadá), název příkladu, zadání příkladu a náhled příkladu. Nejdůležitější položkou je samozřejmě zadání příkladu, proto jí je taktéž věnováno nejvíce místa v rámci tabulky. Zobrazení samotného příkladu je možné pomocí kliknutí na náhled příkladu a případně název příkladu.

Obrázek: Ukázka webového rozhraní - část sbírka příkladů
Image sbirka_prikladu

Samotný příklad po zobrazení obsahuje detajnější obrázek k danému příkladu, případně graf, zadání příkladu a náročnost příkladu a taktéž jednotlivé soubory ke stažení. Důvodem proč nebyla náročnost a soubory ke stažení zařazeny přímo do tabulky s výpisem příkladů je, že obrázky u jednotlivých příkladů se snaží o hlubší pochopopení příkladu (případně již ukazují řešení), než jen ilustrativní obrázek v rámci tabulky. Dalším důvodem je rozlišení stránek - rozlišení je malé a zadání příkladu by se stalo nepřehledným.

Obrázek: Ukázka webového rozhraní - vzhled jednotlivého příkladu
Image priklad


Administrátorská část webového rozhraní

Do administrátorské části je možné se dostat pomocí modrého obrázku v horní části stránek. Pro práci v administrátorské části je potřeba se přihlásit4.1.


Úvodní seznámení - administrátorská část

Administrátorská část úvodního seznámení umožňuje upravovat a vkládat texty k jednotlivým tématům úvodního seznámení. Při vkládání je možnost využívat možnosti HTML kódu - vkládání odkazů na obrázky, používat napisy atd. Opět jako v úvodním seznámení veřejné části, je možnost filtrování témat.


Export do webového rozhraní

Každý z matematických programů má svůj vlastní export do HTML (XML). Nevýhodou těchtě exportů ale je, že při pokročitlém exportu s využitím XML, případně MathML, se vytvořené stránky načítají příliž dlouho, případně je není možné zobrazit vůbec. Proto také byla zvolena varianta využít klasické html, přičemž export byl proveden čistě do HTML a přílušné výstupy programů, případně i zadání programu (v závislosti na programu), byly vyexportovány jako obrázky typu GIF případně PNG. Samotné zdojový kód stránek se dále upravoval, aby byly použity jednotné styly s webovým rozhraním.


Sbírka příkladů - administrátorská část

V administrátorské části sbírky příkladů je možné si nechat zobrazit příklady mnohem přehledněji, jelikož je optimalizováno na větší rozlišení. Taktéž je zamýšleno tak, aby měl administrátor přehled nad vloženými příklady - tzn. aby viděl, jestli příklad je veřejný (je možné jej vidět ve veřejné části), má zadány náročnosti a jsou u příkladu přiloženy soubory. Taktéž je zde možnost nechat si příklad zobrazit, případně upravit zadání příkladu a název příkladu.

Obrázek: Ukázka administrátorské části webového rozhraní - část sbírka příkladů
Image sbirka_prikladu_admin


Vkládání příkladů do sbírky

Vkládání se děje ve třech krocích.

  1. Vloží se příklad do sbírky, přičemž se nastaví předmět, do kterého příklad patří, název příkladu a zadání příkladu.
  2. Po vložení se ve složce sbírky příkladů pod daným přemětem vytvoří složka s názvem odpovídajícím ID příkladu (a nastaví se příslušná práva přístupu).
  3. Následně se do příslušné složky nakopírují soubory jednotlivých programů a jejich ZIP soubory pro stažení (a nastaví se příslušná práva přístupu).

Struktura ukládání příkladů do sbírky má drobnou nevýhodu, jelikož pokud je změněn předmět příkladu, je nutné taktéž ručně přesunout soubory do nového přemětu. Tato slabina je na druhou stranu výhodou při samotném prohlížení souborů bez pomoci webového rozhraní (např. pokud by se ze sbírky vydalo CD), což je taky důvod proč byla zvolena tato varianta.


PHP a databáze

Webové rozhraní výužívá výhod PHP 5 a taktéž MySQL 5. Webové rozhraní a databáze jsou umístěny v rámci karlínského serveru Artax (patřícímu MFF UK). Samotná databáze je spravována pomocí phpmyadmin, který je součástí webového rozhraní. To umožnuje upravovat pokročilejší nastavení databáze a taktéž upravovat veškeré položky databáze, jelikož nebylo nutné, aby administrátorská část (sbírky a úvodního seznámení) webového rozhraní umožňovala měnit všechny položky. Aktuálně je v rámci databáze možnost přidávat nové matematické programy a taktéž rozšiřovat a upravovat stávající úvodní seznámení a přidávat příklady a předměty do sbírky.
Do budoucna je plánována inovace stuktury databáze, aby bylo možné taktéž filtrovat podle verze programu v rámci úvodního seznámení a taktéž rozšíření sbírky o jednotlivé okruhy matematiky a fyziky (např. Limita funkce jedné proměnné), které by následně byly rozřazovány do předmětů.


Ostaní informace o webovém rozhraní


Umístění webového rozhraní

Pro snadnou dostupnost této práce je umístěna na internetových stránkách na adrese4.2
http://artax.karlin.mff.cuni.cz/~kusar3am/mathematica.php


Obsah přiloženého CD

Přiložené cd je rozděleno do 3 hlavních složek a odkazu na webové stránky.
  • Složka diplomová práce - obsahuje text diplomové práce a přílohy A - F v PDF.
  • Složka úvodní seznámení - obsahuje úvodní seznámení v jednotlivých programech.
  • Složka sbírka úloh - obsahuje hotové úlohy ze sbírky. Úlohám bylo ponecháno pořadové číslo, které mají v rámci databáze.

Závěr


Který program si zvolit

Co se týče tématu, který program by si měl student vysoké školy pro práci zvolit, tak můj osobní názor je, že v první řadě Maple. Hlavním důvodem je možnost nechat se tímto programem učit, případně je možné ho jen využít pro řešení vysokoškolských příkladů i s postupem.
Jako druhou variatu bych volil program Mathematica a to ne ve smyslu, že by byl horší než program Maple. Tyto dva programy jsou v kategorii CAS nejlepší a co se týče jednotlivých matematických témat, tak v některých je lepší využívat program Mathematica - např. při práci s maticemi a vektory, v jiných program Maple - např. při počítání křivkových a plošných integrálů. Taktéž bych volil program Mathematica pro možnost práce s daty přímo z internetu - vykreslení struktury chemických vzorců, finanční data atd.
Program Mathcad bych volil spíše pro vysoké školy, kde jsou potřeba jen základní poznatky z vysoškolské matematiky, případně na technické školy, jelikož umožňuje podle výsledků výpočtů nechat překreslit technický výkres v Autocadu. Co se týče programu wxMaxima tak ten bych používal na vysoké škole spíše jako zpestření, případně jako možnost podívat se, jaké algoritmy funkce využívají.
Co se týče středních škol, tak záleží na typu střední školy. Pro gymnázia bych volil program Maple, případně Mathcad a to pro možnost snadné práce s jednotkami a snadnou obsluhu. Taktéž bych volil program Mathematica jelikož se dají využít nejrůznější demostrační projekty a je taktéž vhodná pro práci na interaktivní tabuli. Problémem při použití programu Mathematica na střední škole ale je, že počítá v komplexních číslech a tudíž studenti mohou být překvapeni výsledky, které z programu dostanou - např. $ \mathrm{Lim}_{x\rightarrow0} \frac{1}{x}$ dává jako výsledek nekonečno. Program wxMaxima bych využil na školách spíše humanitního směru, případně odborných školách, kde nejsou takové nároky na matematiku. Tím se student nesetká s pokročilými funkcemi programu, které jsou chybně.
Co se týče finanční dostupnosti pro střední školy, tak bych volil programy Mathematica, Maple a wxMaxima, jelikož Mathematica i Maple nabízí licence pro celou školu i studenty a učitele doma. Taktéž i program wxMaxima jelikož je zdarma.


Další možnosti rozšíření této práce

Dalšími možnosti při pokračování této práce, je možnost přípravy komletního vyučovaného předmětu zaměřeného na seznámení s matematickými programy s možností specializace na jednotlivé programy. Dále je možnost rozšířit úvodní seznámení o program Matlab a jeho numerické výpočty. Případně celkově větší zaměření na numerické výpočty pro odborné fyziky. Na druhou stranu je zde potenciál v nekomerčních programech jako Maxima, např. SMath studio, Math studio, které by mohly být přínosem pro učitele středních škol. Taktéž je zde možnost rozšířit úvodní seznámení i programy na kreslení grafů jako např. Graph, nebo MatMat, případně programy zaměřené na geometrii jako GeoGebra, případně CarMetal.
Po didaktické stránce je zde možnost zkoumat, jak matematické programy přispívají k rozvoji pochopení matematických a fyzikálních aspektů problematiky (matematického a fyzikálního vhledu), tvůrčího přístupu k řešení problémů apod.


Poslední slova na závěr

Velkým přínosem by se matematické programy mohly stát hlavně v učitelské kombinaci Fyzika - matematika a celkově v programu Fyzika, jelikož matematický aparát potřebný pro základní kurz fyziky předbíhá látku probíranou v rámci kurzů matematiky. Matematické programy by v této oblasti mohly nabídnou možnost pomoci s matematickým aparátem a takéž možnost vidět řešení fyzikálních úloh za pomocí grafů.
Takéž je zde i možnost pro učitele náročných předmětů jako je diferenciální geometrie, kde by matematické programy usnadnily zdlouhavé výpočty torzí a křivostí křivek a tím by zbyl čas na prohloubení a pochopení těchto zajímavých, ale početně náročných témat.

Literatura

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

1
http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

Mathematica

2
http://www.wolfram.com/company/scrapbook/

3
http://www.stephenwolfram.com/scrapbook/

4
Boccara N.: Esentials of Mathematica, Springer, 2007

5
Baumann G.: Mathematica for Theoretical Physics - Classical Mechanics and Nonlinear Dynamics, 2nd ed., Springer, 2005

6
Baumann G.: Mathematica for Theoretical Physics - Electrodynamics, Quantum Mechanics, General Relativity and Fractals, 2nd ed., Springer, 2005

Maple

7
http://en.wikipedia.org/wiki/Maple_(software)

8
Abell M. L., Braselton J. P.: Maple by example, 3rd edition, Elsevier, 2005

9
Shingareva I., Lizárraga-Celaya C., Braselton J. P.: Maple and Mathematica, Springer, 2007

10
Wang F. Y.: Physics with Maple, Wiley-VCH Verlag GmbH, 2005

Mathcad

11
http://en.wikipedia.org/wiki/Mathcad

12
Maxfield B.: Essential Mathcad, Elsevier, 2009

13
Maxfield B.: Engineering with Mathcad, Elsevier, 2006

wxMaxima

14
http://en.wikipedia.org/wiki/Maxima_(software)

15
http://wxmaxima.sourceforge.net/wiki/index.php/Animations

16
http://maxima.sourceforge.net/docs/manual/en/maxima.pdf

17
http://maxima.sourceforge.net/docs/tutorial/en/minimal-maxima.pdf

18
http://www.ma.utexas.edu/pipermail/maxima/

19
http://www.telefonica.net/web2/biomates/maxima/gpdraw/index.html

Sbírka příkladů

20
Mandíková D.: Soubor úloh z mechaniky I. pro studium učitelství, pomocný text pro studenty učitelství

21
Boček L.: Příklady z diferenciální geometrie, Univerzita Karlova, 1974.

Webové rozhraní

Webové rozhraní

22
Gutmans A., Bakken S. S., Rethans D.:Mistrovství v PHP 5, Computer Press, 2007

23
Kofler M.:Mistrovství v MySQL 5, Computer Press, 2007

24
Croft J., Lloyd I., Rubin D.:Mistrovství v CSS, Computer Press, 2007

25
Staníček P. a kol.: CSS Hotová řešení, Computer Press, 2006

26
http://www.tvorba-webu.cz/

27
http://www.jakpsatweb.cz/


Footnotes

... A1.1
Zdroj přílohy [1].
... 5.211.2
wxMaxima je jedno z rozhraní, přes které je možné pracovat s programem Maxima. Je uživatelsky nejpříjemnější a umožňuje taktéž číslování kapitol a psaní textu. Na druhou stranu některé příkazy dostupné pro progran Maxima nemusí v programu wxMaxima fungovat.
... program2.1
Prodej pro ČR zajišťuje firma Elkan http://www.elkan.cz/
... Kanady2.2
List javoru (anglicky maple), je národní symbol Kanady.
... program2.3
Program je možné zakopit na internetu, případně pro ČR je autorizovaný prodejce firma Czech Software First http://www.maplesoft.cz/titulni
... program2.4
Program je možné zakopit na internetu, případně pro ČR je autorizovaný prodejce firma industrial computing http://www.dtn.mathsoft.cz/
... na MIT 2.5
Massachusetts Institute of Technology
... MAC2.6
Mathematics and Computation
... energií2.7
Department of Energy
... ručně3.1
Očekává se, že student ví, jak daný problém řešit a časová náročnost je samotná doba početního řešení příkladu. Důvodem tohoto rozlišení je, že časová náročnost souvisí s početní náročností.
... přihlásit4.1
Stránka pro přihlášení je skrytá, aby nebylo tak snadné se do administrátorské části dostat a stránky tak byly lépe chráněny proti útokům.
... adrese4.2
K 18.7.2010.