MASARYKOVA UNIVERZITA

FAKULTA INFORMATIKY

Informačné technológie pre modelovanie a simuláciu

DIPLOMOVÁ PRÁCA

Bc. Tibor Káčerik

Brno, jar 2014

Prehlásenie

Prehlasujem, že táto diplomová práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktorú som používal alebo som z nich čerpal, v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj.

Vedúci práce: prof. RNDr. Jiří Hřebíček, CSc.

ii

Poďakovanie

Touto cestou vyslovujem poďakovanie pánovi prof. RNDr. Jiřímu Hřebíčkovi, CSc. za pomoc, odborné vedenie, cenné rady a pripomienky pri vypracovávaní mojej diplomovej práce.

iii

Zhrnutie

Cieľom diplomovej práce je zhodnotiť súčasný stav informačných a komunikačných technológií (vybraný softvér pre symbolické a numerické výpočty) pre modelovanie a simulácie procesov v praxi. Z týchto technológií budú konkrétnejšie opísané systémy počítačovej algebry 18, vrátane jeho nadstavby, systému MapleSim 6.4. Pomocou spomenutých systémov bude riešený problém z oblasti mechatroniky a počítačovou simuláciou analyzujeme vlastnosti získaného riešenia.

iv

Kľúčové slová

informačné a komunikačné technológie, systém počítačovej algebry, modelovanie, model, simulácia, Maple, MapleSim, Mathematica

v

Obsah

Úvod ...... 1

1 Modelovanie a simulácia ...... 2

1.1 Model ...... 2

1.1.1 Matematický model ...... 3

1.2 Modelovanie ...... 3

1.3 Simulácia ...... 4

1.3.1 Dôvody využívania simulácií ...... 4

2 Systém počítačovej algebry ...... 6

2.1 Vývoj CAS ...... 6

2.2 Rozdelenie systémov ...... 6

2.3 Zoznam systémov počítačovej algebry ...... 7

3 Systém Maple 18...... 15

3.1 Základné informácie o systéme ...... 15

3.2 Novinky v Maple 18 ...... 16

3.3 Užívateľské rozhranie ...... 18

3.3.1 Hlavné menu systému ...... 18

3.3.2 Menu pracovnej plochy 1...... 19

3.3.3 Menu pracovnej plochy 2...... 19

3.3.4 Menu paliet ...... 20

3.3.5 Kontextové menu ...... 20

3.3.6 Pracovná plocha ...... 20

3.4 Ovládanie systému ...... 20

3.4.1 Vkladanie jednoduchých operácií a symbolov z paliet...... 21

vi

3.4.2 Vkladanie príkazov ...... 21

3.4.3 Vyhodnocovanie výrazov, príkazov ...... 22

3.4.4 Základné programové konštrukcie ...... 23

3.5 Pomocníci v systéme Maple ...... 24

3.5.1 Maple Help...... 24

3.5.2 Maple Tour...... 25

3.5.3 Maple Portal ...... 25

3.5.4 Quick Help ...... 25

3.5.5 Quick Reference...... 25

3.5.6 Assistants, Tutors (Asistenti, Inštruktori) ...... 26

3.6 Porovnanie systémov Maple a Mathematica ...... 26

3.6.1 Užívateľské rozhranie ...... 27

3.6.2 Matematika ...... 27

3.6.3 Podpora pre študentov...... 28

3.6.4 Programovanie ...... 28

3.6.5 Konektivita ...... 29

3.6.6 Otvorenosť ...... 29

4 Systém MapleSim 6.4 ...... 30

4.1 Základné informácie o systéme ...... 30

4.1.1 Vlastnosti systému ...... 30

4.2 Fyzikálne modelovanie v systéme MapleSim ...... 31

4.2.1 Topologická/akauzálna reprezentácia systému ...... 31

4.2.2 Matematická formulácia modelu a zjednodušovanie ...... 31

4.2.3 Algoritmy pre pokročilé diferenciálne algebrické rovnice ...... 32

4.2.4 Kauzálne, akauzuálne modelovanie ...... 32

vii

4.3 Novinky v MapleSim 6.4 ...... 34

4.3.1 Novinky v MapleSim 6.3 ...... 34

4.3.2 Výkonné nástroje pre vlastné komponenty ...... 34

4.3.3 Vylepšenia výpočtov ...... 35

4.3.4 Vylepšenia pre toolbox MapleSim Connector ...... 35

4.3.5 Vylepšenia pre toolbox Control Design ...... 35

4.4 Užívateľské rozhranie ...... 36

4.4.1 Hlavné menu systému ...... 36

4.4.2 Menu pracovnej plochy 1...... 37

4.4.3 Menu pracovnej plochy 2...... 37

4.4.4 Menu paliet ...... 38

4.4.5 Konzola, menu konzoly ...... 38

4.4.6 Menu parametrov ...... 38

4.4.7 Plocha 3-D vizualizácie, menu plochy 3-D ...... 39

4.4.8 Pracovná plocha ...... 39

4.5 Ovládanie systému ...... 39

4.5.1 Práca s komponentmi ...... 39

4.5.2 Prepájanie komponent do systému...... 40

4.5.3 Práca so sondami...... 40

4.5.4 Vytváranie subsystémov ...... 41

5 Ukážkové príklady ...... 42

5.1 Rezonančný obvod ...... 42

5.2 Jednosmerný elektromotor ...... 43

5.3 Jednosmerný elektromotor s prevodovkou ...... 44

5.4 Ventilátor ...... 46

viii

5.5 Vylepšenie vzhľadu trojdimenzionálneho modelu ...... 48

5.6 Vytvorenie subsystémov ...... 49

Záver ...... 51

Literatúra ...... 52

Príloha: Obsah CD priloženého k diplomovej práci ...... 56

ix

Úvod

Každý z nás má určite osobnú skúsenosť s modelom, modelovaním alebo simuláciou. Už ako malé deti sme sa hrávali s rôznymi modelmi autíčok či vláčikov, pomocou plastelíny sme modelovali objekty od výmyslu sveta a s príchodom počítačových hier hrávali hry, ktoré simulovali jazdu na motorkách, autách, lietadlách. Modelovanie a simulácia je však veľmi dôležitá aj pre vedu a výskum. Inžinieri, ekonómovia, prírodovedci, chemici a ďalší využívajú modely dennodenne a v súčasnosti sa stali ich neodmysliteľnou súčasťou práce. Pomocou modelov môžu byť napríklad bezpečne preskúmané chemické reakcie rôznych prvkov, môžu sa znížiť náklady na vývoj a testovanie vďaka modelom v zmenšenej mierke, poprípade v priebehu pár sekúnd či minút môžeme získať informácie o objekte, ktorý je vystavený určitým vplyvom po dobu niekoľkých rokov. Cieľom tejto diplomovej práce je zhodnotiť súčasný stav informačných a komunikačných technológií pre modelovanie a simulácie procesov v praxi. Z týchto technológií vybrať systémy Maple 18 a MapleSim 6.4, ktoré budú podrobnejšie opísané, a pomocou ktorých bude riešený a simulovaný problém z oblasti mechatroniky. Diplomová práca je rozdelená do piatich kapitol. V prvej kapitole sa zoznámime s pojmami model, modelovanie, simulácia a uvedieme dôvody, prečo využívať modelovanie a simulácie. V druhej kapitole sa budeme venovať systémom označovaným ako CAS (). Vytvoríme abecedný zoznam dostupných softvérov a ku každému softvéru uvedieme jeho stručnú charakteristiku. Tretia a štvrtá kapitola sa zaoberajú systémom Maple, respektíve jeho nadstavbe, systému MapleSim. Tieto dva systémy si podrobnejšie predstavíme, vrátane noviniek najnovších verzií, užívateľského prostredia či základov ovládania daných systémov. V poslednej kapitole si predvedieme príklad z oblasti mechatroniky, ktorý budeme riešiť vyššie spomenutým systémom MapleSim a ukážeme si tak modelovanie a simuláciu v praxi.

1

1 Modelovanie a simulácia

Cieľom tejto kapitoly je zoznámenie sa so základnými pojmami, ktorými sú model a modelovanie. Podrobnejšie bude opísaný matematický model, vzhľadom na jeho využite v informačných technológiách, ktorým je táto práca venovaná. Vysvetlíme si, čo je to simulácia a aké sú dôvody využívania simulácií.

1.1 Model

Pod pojmom model si asi všetci predstavíme zmenšenú, poprípade zväčšenú napodobeninu istého objektu, ktorá nám slúži pre lepšiu ilustráciu daného objektu. Ako príklad môžeme uviesť glóbus, ktorý nie je ničím iným len niekoľkonásobne zmenšeným fyzickým modelom našej planéty. Vďaka nemu však máme takmer dokonalú predstavu o tom, ako vyzerá naša planéta, bez ohľadu na to, či sme ju v skutočnej mierke niekedy videli. Model však nie je iba fyzická kópia existujúceho objektu. Presnejšia definícia hovorí o tom, že model reprezentuje jeden, prípadne celú skupinu rôznych objektov a procesov, o ktorých si uchováva všetky dôležité informácie. Napríklad v oblasti softvérového inžinierstva je dobre známy entitno-relačný model, ktorý nám vytvára grafickú reprezentáciu entít a vzťahy medzi nimi v rámci informačného systému. Či už sa jedná o fyzický, matematický, alebo akýkoľvek typ modelu, v každom prípade nám model slúži k jeho skúmaniu a získavaniu dôležitých informácií.

Obrázok 1.1: Model glóbusu, E-R model [3,4]

2

1.1.1 Matematický model

Špeciálnym prípadom modelu je matematický model, ktorý popisuje systém pomocou matematického jazyka. Tieto modely sa skladajú z premenných a funkcií, ktoré určujú vzťahy medzi nimi. Využívajú sa v prírodných (fyzika, biológia), technických (výpočtová technika, elektrotechnika, strojárstvo), ale aj v spoločenských vedách (ekonómia, psychológia, sociológia, politológia). Existuje množstvo rozdelení modelov podľa rôznych kritérií. My si spomenieme niektoré z nich [1],[2]:  Deskriptívne/normatívne modely: Deskriptívne modely nám slúžia k popisu systému ako takého. Zobrazujú prvky, vlastnosti a vzťahy v rámci systému. Pri normatívnych modeloch nás zaujíma cieľové správanie sa systému. Slúžia k analýze a riadeniu systémov pre splnenie určitých cieľov.  Lineárne/nelineárne modely: Ak sú operátory (funkcie, operácie) nachádzajúce sa v modeli lineárne, ide o lineárny model, v opačnom prípade hovoríme o nelineárnom modeli.  Deterministické/stochastické modely: V deterministických modeloch sa nevyskytuje náhodná veličina. Všetky premenné a funkcie sú deterministické, na rozdiel od stochastických, v ktorých sa náhodné veličiny vyskytujú.  Dynamické/statické modely: Dynamické modely analyzujú systém v priebehu času. Pri statických modeloch čas neovplyvňuje analýzu systému.

1.2 Modelovanie

Proces, pri ktorom vytvárame model sa nazýva modelovanie. Jeho hlavným cieľom je vytvoriť reprezentáciu objektu, respektíve systému, ktorá povedia k jednoduchšiemu pochopeniu, definovaniu, vizualizácii či k uskutočňovaniu pokusov na danom objekte/systéme. Pri modelovaní nepotrebujeme dosiahnuť úplnú zhodu s originálom vo všetkých jeho aspektoch. Práve naopak, dôležité je uchovať si všetky podstatné informácie o danom objekte/systéme a nepodstatnými vlastnosťami, ktoré nijako neovplyvnia autentickosť modelu pre zamýšľaný účel, nemusíme „predražovať“ jeho výrobu. Preto môžu vzniknúť dva úplne odlišné modely toho istého objektu a i napriek tomu majú oba svoje opodstatnenie. Dôležitú úlohu bude zohrávať účel vytvorenia modelu. Napríklad pri prvom modeli nás nemusia zaujímať rozmery objektu, ale jeho

3 váha, zatiaľ čo pri druhom sú pre nás dôležité rozmery a váha v našom prípade nebude mať žiadny vplyv na výsledky experimentu.

1.3 Simulácia

Zatiaľ čo model reprezentuje daný objekt alebo systém, simulácia nám napodobňuje správanie sa istého objektu, respektíve systému v priebehu času. Typickým príkladom počítačovej simulácie je predpoveď počasia, kedy je sledovaná napríklad rýchlosť a smer vetra, ktorý následne môžeme vidieť na obrazovkách. Navyše zo získaných informácií dokážu meteorológovia predpovedať, ako to bude vyzerať v nasledujúcich hodinách či dňoch. Ďalším príkladom simulácie je simulácia, ktorá vyžaduje fyzický model, ako aj interakciu s človekom. Asi každý, kto má vodičský preukaz, musel absolvovať v rámci autoškoly trenažér, na ktorom sme si odskúšali simulovanú jazdu v dopravnom prostriedku. Pomocou tejto simulovanej jazdy sme sa tak lepšie pripravili na jazdu v skutočnom vozidle. Simulácie sa v dnešnej dobe využívajú takmer v každom odvetví od automobilového, cez zábavné, vzdelávacie, technické, ekonomické, vojenské, meteorologické až po športové odvetvia a v každom jednom si nachádzajú svoje uplatnenie. Dôvody, prečo využívať simulácie si vymenujeme v nasledujúcej sekcii.

1.3.1 Dôvody využívania simulácií

 Výučba a tréning: Simulácie nám pomáhajú k lepšiemu porozumeniu procesov a systémov a slúžia aj pre tréning rôznych ľudských schopností.  Cena: Model môžeme vyrobiť s menšími nákladmi ako skutočný objekt, a tak pri experimentoch, pri ktorých nie je možné opätovné použitie daného objektu, ušetríme nemalé finančné prostriedky.  Opakovanie, editácia podmienok: Na druhú stranu, výroba niektorých zložitejších modelov môže byť finančne, odborne, ale aj časovo veľmi náročná. Väčšinou však ide o modely, ktorých opätovné použitie nie je nijako limitované a môžeme na nich vykonávať pokusy s odlišnými vstupnými podmienkami, prípadne môžeme meniť vlastnosti modelu zadaním hodnoty z klávesnice.

4

 Bezpečnosť: Môžeme preskúmať množstvo javov, ktoré by z bezpečnostného hľadiska nebolo možné skúmať inak ako počítačovou simuláciou.  Kompresia/expanzia času: Počítačovou simuláciou môžeme v pomerne krátkom časovom horizonte získať informácie o javoch, ktoré trvajú desiatky či stovky rokov, alebo práve naopak môžeme skúmať procesy, ktoré trvajú zlomok sekundy.  Izolovanosť: Izolovanosť počítačového modelu od nežiaducich vplyvov nám zabezpečuje neskreslené výsledky.

Obrázok 1.2: Interaktívna simulácia v trenažéri, simulácia prúdenia vzduchu [5,6]

5

2 Systém počítačovej algebry

Systémy počítačovej algebry označované ako CAS (Computer Algebra System) sú systémy, ktoré nám umožňujú počítačové spracovanie matematických výrazov. Požívajú sa na riešenie numerických a symbolických výpočtov, vykresľovanie grafov, upravovanie matematických textov a podobne. Ich dôležitou vlastnosťou je práca so symbolickými a algebrickými výpočtami, teda so symbolmi, ktoré reprezentujú matematické objekty (čísla, booleovské hodnoty, znaky, dátové štruktúry, procedúry). Riešením týchto výpočtov dostávame vyjadrenie riešenia v explicitnom analytickom tvare alebo jeho symbolickú aproximáciu. Výpočty sú navyše prevádzané v súlade s pravidlami algebry a nie pomocou približnej aritmetiky s pohyblivou desatinou čiarkou, ako to je pri numerických výpočtoch. [7],[8],[9]

2.1 Vývoj CAS

Systémy CAS sa začali objavovať v šesťdesiatych rokoch dvadsiateho storočia a na ich vývoj mali vplyv teoretickí fyzici, ako aj výskum umelej inteligencie. V roku 1963 holandský fyzik a laureát Nobelovej ceny za fyziku, Martinus Veltman, navrhol prvý systém počítačovej algebry nazvaný . V roku 1964 Carl Engelman vyvinul pomocou programového jazyka LISP systém MATHLAB. Prvými populárnymi systémami sa stali muMATH, Reduce, Derive a , ktorého odvodená verzia je udržiavaná do dnešného dňa. V roku 1987 spoločnosť Hewlett-Packard predstavila prvú CAS kalkulačku s označením HP-28. V súčasnosti sú najpopulárnejšími komerčnými systémami systémy Mathematica a Maple. Z voľne dostupných systémov môžeme spomenúť systémy Axiom, Maxima, Sage.

2.2 Rozdelenie systémov

Systémy počítačovej algebry môžeme rozdeliť do dvoch základných kategórií:  CAS určené pre všeobecné účely: Táto skupina predstavuje systémy, ktoré nemajú špecifické zameranie na konkrétnu oblasť. Poskytujú nám však širokú paletu nástrojov a funkcií, ktoré môžeme využiť v rôznych oblastiach, ako napríklad: matematika, fyzika, chémia, biológia, ekonómia, sociológia a mnoho

6

ďalších. Zároveň nám však nemusia poskytnúť v istej konkrétnej oblasti takú presnosť a rýchlosť ako CAS systém určený priamo pre danú oblasť. Do tejto skupiny môžeme zaradiť napríklad program MATLAB, Axiom.  CAS určené pre špeciálne účely: Systémy, ktoré sa nezameriavajú na pokrytie čo najväčšieho množstva oblastí, ale zameriavajú sa na špecifickú oblasť, v ktorej dokážu poskytnúť väčšiu výkonnosť (množstvo nástrojov, funkcií, rýchlosť počítania) ako predchádzajúci typ CAS systémov. Patrí tu napríklad systém Cadabra, Reduce.

Treba však podotknúť, že pri niektorých systémoch nie je možné jednoznačne určiť, do ktorej z vyššie uvedenej kategórie daný systém spadá, respektíve by sme niektoré systémy mohli zaradiť do obidvoch kategórií. Systémy počítačovej algebry môžeme taktiež rozdeliť na systémy určené prevažne pre numerické výpočty alebo na systémy určené prevažne pre symbolické výpočty.

2.3 Zoznam systémov počítačovej algebry

V tejto podkapitole vytvoríme abecedne zoradený zoznam systémov počítačovej algebry. Tento zoznam bude obsahovať systémy, ktoré sú voľné dostupné z oficiálnych stránok výrobcu, ale aj profesionálne komerčné systémy. Ku každému systému uvedieme jeho stručnú charakteristiku, aktuálnu verziu, ako aj dátum vydania poslednej verzie. Taktiež uvedieme aj zoznam podporujúcich operačných systémov a v prípade jednoznačnosti aj kategóriu (rozdelenie opísané v podkapitole 2.2), respektíve účel daného systému. [10],[11]

: Tento spoplatnený matematický program, vyvinutý spoločnosťou SoftMath, je špecificky určený na vzdelávanie sa v oblasti matematiky. Je vhodný pre študentov základných, stredných a vysokých škôl, ale aj pre učiteľov ako doplnok pri výučbe. Pomocou tohto programu si môžeme prezerať jednoduché aritmetické operácie rozložené na jednotlivé kroky, poprípade zblížiť sa a precvičiť si trigonometriu a štatistiku. [12] Aktuálna verzia: Algebrator 5.0 Dátum vydania: 27.4.2010 Platformy: , Max OS X

7

 Axiom: Nespoplatnený systém počítačovej algebry určený pre všeobecné účely. Vyvíja sa od roku 1973, je vhodný pre výskum matematických algoritmov a taktiež zahŕňa vstavaný kompilátor a programovací jazyk. [13] Aktuálna verzia: Axiom 8.1, Dátum vydania: marec 2012 Platformy: Microsoft Windows,

 Cadabra: Cadabra je voľne dostupný softvér navrhnutý pre problémy v teórií polí. Ide teda o CAS určený pre špeciálne účely. Obsahuje výkonné algoritmy pre zjednodušovanie, využíva TeX notácie pre vstupy a výstupy programu a okrem grafického užívateľského prostredia ponúka aj príkazový riadok. [14] Aktuálna verzia: Cadabra 1.33, Dátum vydania: 16.7.2013 Platformy: Mac OS X, Linux

 CoCoA: Špecifický bezplatný systém určený pre výpočty komutatívnej algebry. Jeho hlavnou oblasťou sú operácie nad komutatívnymi okruhmi polynómov. Systém taktiež obsahuje aj programovací jazyk CoCoAL. [15] Aktuálna verzia: CoCoA 5.0.3, Dátum vydania: jún 2013 Platformy: Microsoft Windows, Mac OS, Linux

 Fermat: Špecifický nespoplatnený rýchly a pamäťovo nenáročný program, ktorý si poradí s aritmetikou čísiel a zlomkov, symbolickými výpočtami, grafikou a ďalšími numerickými výpočtami. Celý program je orientovaný najmä na polynomiálnu a maticovú algebru nad množinou racionálnych čísiel. Fermat bol pôvodne vyvinutý v programovacom jazyku Pascal pre operačný systém MAC OS a neskôr aj pre Microsoft Windows. V roku 2003 bol prepísaný do jazyka C pre operačné systémy Linux. [16] Aktuálna verzia: Fermat 5.1, Dátum vydania: 9.11.2013 Platformy: Microsoft Windows, Mac OS, Linux

 Form: Voľne dostupný všeobecný softvér pre manipuláciu s matematickými výrazmi. Zaujímavosťou tohto programu je ukladanie rovníc na disk bez

8

markantných strát vo výkonnosti výpočtu. Veľkosť rovníc je tak limitovaná skôr množstvom miesta na disku ako veľkosťou pamäte RAM. [17] Aktuálna verzia: Form 4.1, Dátum vydania: 25.10. 2013 Platformy: Microsoft Windows, Mac OS X, Linux

 GAMS: Celý názov tohto komerčného vysoko-úrovňového modelovacieho systému je General Algebraic Modeling System. Jeho hlavným zameraním je modelovanie lineárnych, nelineárnych a zmiešaných celočíselných problémov optimalizácie. Je prispôsobený pre komplexné modelovacie aplikácie a umožňuje nám vytváranie udržiavateľných modelov, ktoré môžeme prispôsobiť na nové situácie v krátkom časovom horizonte. Vytvorené modely sú navyše prenositeľné medzi rôznymi platformami. [18] Aktuálna verzia: GAMS 24.2.2, Dátum vydania: 4.3.2014 Platformy: Microsoft Windows, Mac OS X, Linux, Solaris, AIX

 GAP (Groups, Algorithms, Programming): Bezplatný systém počítačovej algebry využívaný na výskum a výučbu teórie grúp. Ponúka knižnicu s množstvom funkcií, ktoré implementujú algebraické algoritmy pomocou vlastného programovacieho jazyka, ako aj rozsiahle dátové knižnice algebrických objektov. [19] Aktuálna verzia: GAP 4.7.4, Dátum vydania: 20.2.2014 Platformy: Microsoft Windows, Mac OS X, Unix

 KANT: Softvér poskytujúci sofistikované výpočty zamerané na teóriu čísel. Užívateľ pristupuje k funkciám pomocou príkazového riadku s názvom KASH. Pre nekomerčné použitie je tento program voľne distribuovaný. [20] Aktuálna verzia: KASH 3, Dátum vydania: júl 2008 Platformy: Microsoft Windows, Mac OS X, Linux, Darvin

9

 LiveMath: LiveMath je systém navrhnutý pre študentov, matematikov, ale aj vedcov. Oproti mnohým systémom nie je potrebné ovládať syntax jednotlivých príkazov a štruktúr a je tak vhodný aj pre programovo menej zdatných užívateľov. Využíva prístup pracovného zošita do ktorého zadáme rovnice a pomocou vstavaných funkcií dostaneme výsledok. Taktiež nám umožňuje interakciu s rovnicami v pracovnom zošite a ovplyvniť tak postupnosť jednotlivých krokov, preskupenie premenných a podobne. Program je možné zakúpiť v rôznych časovo a typovo rozdelených licenciách alebo môžeme využiť skúšobnú verziu po dobu tridsiatich dňoch. [21] Aktuálna verzia: LiveMath 3.5.9, Dátum vydania: júl 2008 Platformy: Microsoft Windows, Mac OS X, Linux, Solaris

 Maculary2: Bezplatný CAS vyvinutý pre výpočty v algebrickej geometrií a komutatívnej algebre. Maculary2 vznikol prepísaním jeho predchodcu, ktorým bol systém Maculary. Využíva vlastný programovací jazyk vyššej úrovne, ktorého syntax vo väčšine odpovedá syntaxi bežne používanej v matematike. [22] Aktuálna verzia: Maculary2 1.6, Dátum vydania: máj 2013 Platformy: Microsoft Windows, Mac OS X, Linux, FreeBSD

 Magma: Systém navrhnutý pre riešenie problémov algebry, teórie čísel, kombinatoriky a geometrie. Poskytuje matematické prostredie pre prácu so štruktúrami ako sú: grupy, polia, krivky, grafy a mnoho ďalších. Samotný systém je bezplatný, ale jeho distribúcia a podpora funguje na báze predplatného. [23] Aktuálna verzia: Magma 2.20-4, Dátum vydania: 11.3.2014 Platformy: Microsoft Windows, Mac OS X, Linux, Solaris

 Maple: Systém počítačovej algebry, ktorému sa budeme podrobne venovať v nasledujúcej kapitole. [24] Aktuálna verzia: Maple 18, Dátum vydania: marec 2014 Platformy: Microsoft Windows, Mac OS X, Linux

10

 Mathcard: Mathcard je komerčný program vyvinutý pre výpočet, analýzu a zdieľanie technických výpočtov. Umožňuje nám riešenie numerických a symbolických výpočtov, ako aj komplexných sústav rovníc. Využíva matematický zápis výrazov a rovníc, výkonné algoritmy a užívateľské rozhranie, ktoré je jednoduché na používanie. Výpočty sú integrované do jednoduchého interaktívneho dokumentu a môžu obsahovať rôzne grafy, texty, obrázky. Softvérová spoločnosť PTC, ktorá vyvíja tento produkt ponúka rôzne druhy licencií s možnosťou tridsaťdňovej skúšobnej verzie. [25] Aktuálna verzia: Mathcard Prime 3.0, Dátum vydania: október 2013 Platformy: Microsoft Windows

 Mathematica: Veľmi populárny komerčný systém počítačovej algebry od spoločnosti Wolfram Research pre vykonávanie numerických a symbolických výpočtov a vizualizáciu dát. Ponúka široké uplatnenie najmä v oblastí vedecko- technických výpočtov, štatistického spracovania dát, finančného manažmentu a mnoho ďalších. Program je rozdelený do dvoch častí na jadro, ktoré interpretuje výrazy a vracia ich výsledok, a príjemné grafické užívateľské rozhranie. Pri kúpe tohto programu máme možnosť výberu rôznych druhov licencií, ako aj skúšobnú verziu na dobu tridsiatich dní. [26] Aktuálna verzia: Mathematica 9, Dátum vydania: január 2013 Platformy: Microsoft Windows, Mac OS, Linux, Raspbian

: Všeobecný voľne dostupný softvér na báze príkazového riadku. Jedná sa o jednoduchý program napísaný v jazyku C a ponúka symbolické riešenie, zjednodušovanie a porovnávanie algebraických rovníc. Výrazy sú do programu zadávané v štandardnej algebrickej notácii a operácie vykonávame pomocou jednoduchých anglických príkazov („solve“, „simplify“). [27] Aktuálna verzia: Mathomatic 16.0.5, Dátum vydania: 21.10.2012 Platformy: Microsoft Windows, Mac OS, Unix

11

 MATLAB: Komerčný systém s vlastným programovacím jazyk vhodný pre vedecko-technické výpočty, paralelné výpočty, modelovanie, simulácie, analýzu a prezentáciu dát, návrh algoritmov, návrh riadiacich a komunikačných systémov, ale aj vývoj širokého spektra aplikácií. Okrem grafických a výpočtových nástrojov systém ponúka aj rozsiahle špecializované knižnice funkcií využiteľné v rôznych oblastiach. Nadstavbou tohto systému, ktorý využíva algoritmy MATLABu, je systém Simulink. Je určený pre modelovanie a simuláciu dynamických systémov a užívateľom poskytuje možnosť jednoduchej tvorby modelov. [28] Aktuálna verzia: MATLAB 8.3 R2014a, Dátum vydania: 7.3.2014 Platformy: Microsoft Windows, Mac OS, Linux

 Maxima: Nasledovník jedného z prvých systémov počítačovej algebry s názvom Macsyma. Ide o bezplatný program všeobecného zamerania pre prácu so symbolickými a numerickými výpočtami. Dokáže pracovať s ľubovoľne veľkými číslami a počtom desatinných miest a umožňuje dvojrozmerné a trojrozmerné vykresľovanie funkcií. [29] Aktuálna verzia: Maxima 5.32.1, Dátum vydania: 2.1.2014 Platformy: Microsoft Windows, Mac OS X, Linux, BSD

 Mupad: Systém počítačovej algebry, ktorý bol v roku 2008 odkúpený spoločnosťou MathWorks, a v súčasnosti patrí do skupiny toolboxov systému Matlab. Je určený pre prácu so symbolickými výrazmi a obsahuje mnoho matematických funkcií a knižníc. Verzia a platformy pre tento systém sú viazané na systém MATLAB. [30]

 PARI/GP: Voľne dostupný program špecificky zameraný na teóriu čísiel. Medzi jeho hlavné výhody patrí: rýchlosť, možnosť priameho využívania dátových typov a rozsiahly modul pre teóriu čísiel. [31] Aktuálna verzia: PARI 2.5.5, Dátum vydania: 21.9.2013 Platformy: Microsoft Windows, Mac OS X, Linux, Unix

12

 Reduce: Interaktívny bezplatný systém pre všeobecné algebrické výpočty. Využíva sa pri práci s polynómami, racionálnymi funkciami, maticami, pri zjednodušovaní výrazov, definovaní funkcií a mnohých ďalších operáciách. [32] Aktuálna verzia: Reduce 3.8, Dátum vydania: 1.1.2009 Platformy: Microsoft Windows, Mac OS X, Linux, Unix

 Sage: Voľne dostupný systém, zložený z viac ako 100 balíčkov, ponúkajúci jednotné rozhranie. Zaoberá sa širokým spektrom matematiky ako napríklad: algebra, teória čísiel, teória grúp, teória grafov, kombinatorika, kryptografia a mnoho ďalších odvetví. Ako užívateľské rozhranie sa využíva časť internetového prehliadača alebo príkazový riadok. [33] Aktuálna verzia: Sage 6.1.1, Dátum vydania: 30.1.2014 Platformy: Microsoft Windows, Mac OS X, Linux,

: Bezplatný systém počítačovej algebry pre polynomické výpočty. Poskytuje nám vysoko výkonné algoritmy, intuitívny programovací jazyk, ale aj komplexný návod na zoznámenia sa s týmto systémom. [34] Aktuálna verzia: SINGULAR 3.1.6, Dátum vydania: 21.12.2012 Platformy: Microsoft Windows, Mac OS X, Linux, Unix

 SMath Studio: Bezplatný program vhodný pre prácu s vektormi, maticami, zlomkami či komplexnými číslami. Podporuje zobrazenie dvojrozmerných a trojrozmerných grafov. K dispozícií je aj verzia pre mobilné telefóny, konkrétne na platforme Windows Mobile. [35] Aktuálna verzia: SMath Studio 0.97.5154 Dátum vydania: 10.2.2014 Platformy: Microsoft Windows, Linux, Windows Mobile

 SymPy: SymPy je softvér určený na riešenie symbolických výpočtov. Je kompletne napísaný v programovacom jazyku Python a pre prácu nevyžaduje žiadne externé knižnice. [36] Aktuálna verzia: SymPy 0.7.5 Dátum vydania: 22.2.2014

13

Platformy: Microsoft Windows, Mac OS X, Linux, BSD

: Zdarma ponúkaný systém počítačovej algebry vhodný pre algebraické výpočty, grafy, dvojrozmernú a trojrozmernú geometriu. Obsahuje mód kompatibility so systémami Maple a MuPad a môže byť využívaný napríklad ako náhrada výkonnej grafickej kalkulačky. [37] Aktuálna verzia: Xcas 1.1 Dátum vydania: január 2014 Platformy: Microsoft Windows, Mac OS X, Linux, Unix

: Voľne dostupný systém všeobecného použitia pre numerické a symbolické výpočty. Využíva vlastný programovací jazyk a knižnicu skrípt s algebrickými algoritmami, ktorá môže byť doplnená o vlastné algoritmy. [38] Aktuálna verzia: YACAS 1.3.4 Dátum vydania: február 2014 Platformy: Microsoft Windows, Mac OS X, Linux

Ako môžeme vidieť, v súčasnosti máme k dispozícii veľký počet systémov počítačovej algebry, či už sa jedná o systémy pre všeobecné účely, alebo tie špecializované. V minulosti boli využívané najmä v oblasti fyziky a ich cena bola veľmi vysoká. Dnes nachádzame ich uplatnenie v čoraz väčšom množstve oblastí, a taktiež sú cenovo dostupnejšie, prípadne sú k dispozícii rôzne licencie pre nekomerčné použitie, študentské licencie, ale aj bezplatné systémy, ktorých kvalita je na veľmi vysokej úrovni. Väčšina systémov poskytuje verzie pre všetky tri najznámejšie platformy Microsoft Windows, Mac OS a Linux, takže užívateľ sa nemusí obmedzovať ani v tomto smere.

14

3 Systém Maple 18

Cieľom tejto kapitoly je podrobnejšie zoznámenie sa so systémom Maple, konkrétne s jeho najnovšou verziou Maple 18. Prvá podkapitola bude obsahovať základné informácie o systéme, druhá podkapitola sa bude venovať novinkám v najnovšej verzií a tretia podkapitola nám poskytne zoznámenie sa s jeho užívateľským rozhraním. V štvrtej podkapitole popíšeme základy ovládania systému, piata podkapitola predstaví rôzne druhy pomoci, ktoré nám systém ponúka, a v poslednej šiestej podkapitole budeme porovnávať systémy Maple a Mathematica.

3.1 Základné informácie o systéme

Systém Maple je komerčný systém počítačovej algebry vyvinutý výskumnou skupinou Symbolic Computation Group na kanadskej Univerzite Waterloo. Prvá limitovaná verzia bola vyvinutá v roku 1980 ako systém počítačovej algebry, ktorý bude schopný pracovať aj na menej nákladných počítačoch. Koncom roku 1983 bol tento systém nainštalovaný na viac ako päťdesiatich univerzitách. Od roku 1988 je vyvíjaný kanadskou softvérovou spoločnosťou Waterloo Maple Inc., ktorá pôsobí pod obchodným názvom Maplesoft. Tento CAS systém nám umožňuje prácu s numerickými a symbolickými výpočtami, ich počítačovú vizualizáciu, dokumentáciu či publikáciu. Je vhodný ako na vývoj a výskum v rôznych oboroch (technické, ekonomické, prírodovedné odbory), tak aj na výukové procesy. Poskytuje množstvo funkcií na vysvetlenie základných a pokročilých matematických pojmov a intuitívnou formou poskytuje široké množstvo výpočtov. Samozrejmosťou je užívateľsky prívetivé prostredie, o ktorom si povieme v podkapitole 3.3. Okrem vykonávania numerických a symbolických výpočtov či vytvárania grafov, systém Maple umožňuje ich doplňovanie o vlastné texty a vytvárať takzvané hypertextové zápisníky. Tieto zápisníky sú uložené do vlastného špeciálneho formátu systému (.mw), ktorý je uložený v rozšírenom a populárnom formáte XML. Takto uložené súbory nám poskytujú jednoduchú prenositeľnosť medzi rôznymi platformami operačných systémov. Súbory môžeme taktiež exportovať aj do formátov ako napríklad: Rich Tex Format (.rtf), PDF (.pdf), LaTeX (.tex), HTML (.html, .htm) či formát MathML, ktorý je rozšírením formátu HTML pre prezentáciu matematických textov na webe.

15

Maple 18 využíva vlastný programovací jazyk štvrtej generácie s rovnomenným názvom Maple, ktorý obsahuje množstvo preddefinovaných funkcií a procedúr, a je podobný programovaciemu jazyku Pascal. Funkcie pokrývajú mnoho odvetví, akými sú napríklad: diferenciálne a integrálne výpočty, lineárna algebra, diferenciálne a diferenčné rovnice, diferenciálna geometria a logika. Taktiež umožňuje automatický prevod príkazov a procedúr do programovacích jazykov Fortran, C, Java a VisualBasic. [39],[40],[41],[42]

3.2 Novinky v Maple 18

Aktuálna najnovšia verzia systému po viac ako tridsaťštyriročnom vývoji je verzia Maple 18, ktorá bola predstavená v roku 2014. Aj táto verzia obsahuje množstvo noviniek, my si v tejto podkapitole predstavíme niektoré z nich. [43][44]  Analýza časových radov: Tento nový balík slúži pre prácu s akýmikoľvek dátami, ktoré sa menia v čase. Môže byť použitý na analýzu dát v rôznych oblastiach, napríklad v makroekonómii, štatistike, ekonometrii, spracovanie signálu a pod..  Výkonné vyhľadávacie nástroje: V menu pracovnej plochy sa na pravej strane nachádza vyhľadávacie okno, ktorého výsledky obsahujú pomocné informácie, rôznych asistentov a inštruktorov pre splnenie danej úlohy.  Vizualizácia: S novou verziou systému prichádza rozsiahla aktualizácia vo vizualizácií pre 2D a 3D grafy. Umožňuje nastaviť pozadie grafov, programovo nastaviť veľkosť grafu na fixnú šírku, šírku dokumentu alebo pomocou pomeru, upravovať tieňovanie plôch grafu, nastaviť zafarbenie procedúr a podobne.  Spracovanie signálu: Tento rozšírený balík ponúka nástroje pre analýzu, vizualizáciu a generovanie signálov.  Klikacie nástroje (Clickable Math): Maple 18 pokračuje v podporovaní takzvaných klikacích nástrojov, ktorými sú napríklad „ťahaj a vyrieš“ nástroje (angl. Drag-to-Solve tools) a chytré kontextové menu (angl. smart popup). Chytré kontextové menu nám umožňuje vidieť predčasný výsledok operácie, ekvivalentné zápisy rovnice či grafy. Pomocou „ťahaj a vyrieš“ nástrojov zasa

16

môžeme interaktívne vyriešiť zadanú rovnicu presúvaním výrazov na jednotlivé strany.  Generovanie kvízov: Pomocou tohto balíku môžu vyučujúci vytvárať interaktívne samovyhodnocovacie kvízy pre otestovanie svojich študentov. Vyučujúci môžu zadaním algoritmu generovať nové jedinečné verzie originálneho príkladu, vytvárať otázky s rôznymi typmi odpovedí (pravda/nepravda, jedna/viac správnych odpovedí,...), vytvárať príklady zamerané na tvorbu grafov a podobne.  Interaktívne komponenty: Zápisník systému Maple sa môže stať veľmi jednoduchou a interaktívnou aplikáciou vďaka možností pridania vlastných tlačidiel, jazdcov, textových polí, číselníkov a iných nástrojov, ktorými je nadefinované ich správanie.  Štatistika pre študentov: Balík navrhnutý pre jednoduchšiu výučbu vyučujúcich, ale aj jednoduchšie pochopenie materiálov týkajúcich sa štandardných štatistických kurzov. Obsahuje viac ako päťdesiat príkazov rozdelených do troch hlavných kategórií.  Fraktály: Pomocou tohto balíku môžeme vytvárať a skúmať populárne fraktály. Pri práci s fraktálmi sa automaticky používajú optimalizačné techniky balíka, ktoré využívajú celý výpočtový výkon konkrétneho počítača.  Výkon: Najnovšia verzia systému ponúka okrem rôznych balíkov aj väčší výkon. Ponúka nám rýchlejšiu výpočtovú rýchlosť základných operácií na celých číslach, urýchlenie polynómialných operácií a výpočtov v oblastí lineárnej algebry. Ďalej systém urýchlil kompiláciu kódu a zefektívnil vygenerovaný kód.  Generovanie kódu: Táto funkcionalita umožňuje vyvíjať riešenie problému pomocou systému Maple s následným vygenerovaním optimalizovaného kódu a jeho začlenením do vlastných programov. Podporované cieľové programovacie jazyky boli rozšírené o jazyky Python a Perl.  Pripojenie k databázam: Vstavané pripojenie k databázam umožňuje vývoj výkonných aplikácií, ktoré prepájajú veľké podnikové databázy s najmodernejšími analytickými a vizualizačnými nástrojmi systému Maple. Bez detailnejšej znalosti jazyka SQL môžeme v tomto systéme vytvárať, upravovať a získavať údaje nachádzajúce sa v databáze.

17

3.3 Užívateľské rozhranie

Táto podkapitola slúži na predstavenie užívateľského rozhrania systému Maple18. Ako môžeme vidieť na obrázku 3.1, skladá sa z hlavného menu, menu pracovnej plochy 1 a 2, menu paliet a pracovnej plochy. Na obrázku sa nenachádza kontextové menu, ktoré sa vyvoláva pomocou pravého tlačidla myši. Užívateľské rozhranie je intuitívne a prehľadné, vzhľad a rozmiestnenie jednotlivých častí je podobné s mnohými programami rôznych zameraní.

Obrázok 3.1: Užívateľské rozhranie systému Maple 18

3.3.1 Hlavné menu systému

Hlavné menu systému tvorí skupina dobre známych štandardných položiek File, Edit, View, Insert, Format, Help, ktoré slúžia k vytváraniu nových zápisníkov, ich ukladanie a export, k prispôsobeniu zobrazenia jednotlivých súčastí, vkladaniu rôznych objektov, nastaveniu štýlu

18 písma, vyvolania pomoci a mnoho ďalších funkcií. Menu taktiež obsahuje aj položky, ktoré nájdeme iba v tomto systéme, respektíve v systémoch s podobným zameraním. Ide o položky: Table, Drawing, Plot, Spreadsheeet, Tools, ktoré ponúkajú prácu s tabuľkami, grafmi, asistentmi, inštruktormi a ostatnými užitočnými funkciami.

3.3.2 Menu pracovnej plochy 1

Grafické ikony v tomto menu sú štandardné ikony nachádzajúce sa vo väčšine programov. Pomocou týchto ikon môžeme vytvoriť nový alebo otvoriť, uložiť či vytlačiť už existujúci zápisník, s ktorým pracujeme. Ďalej môžeme kopírovať a vkladať označené časti, vrátiť posledné vykonané zmeny, použiť lupu, ladiť a prerušiť práve vykonávanú operáciu, zapnúť chytré kontextové menu alebo využiť vyhľadávacie okno opísané v podkapitole 3.2. Ikony typické pre systém Maple sú ikony zobrazené pomocou jedného alebo troch výkričníkov a slúžia k prepočítaniu vyznačených príkladov, respektíve k prepočítaniu všetkých príkladov nachádzajúcich sa v zápisníku.

3.3.3 Menu pracovnej plochy 2

Obsah tejto časti užívateľského rozhrania sa mení podľa režimu, v ktorom sa momentálne pracuje. Na výber máme z piatich možných, a to režim textu, matematiky, kreslenia, grafov, animácie. Aktuálny režim a dostupné režimy sú graficky zvýraznené, prepíname ich kliknutím na adekvátnu položku, prípadne je režim automaticky zmenený, napríklad pri vykreslení grafu. Na obrázku 3.1 môžeme vidieť zapnutý režim matematiky, zvýraznený (dostupný) režim textu a v danom okamihu nedostupné režimy kreslenia grafu a animácie. Pomocou textového a matematického režimu môžeme upraviť štýl, veľkosť a farbu písma, zarovnať text alebo pridávať odrážky pre rozčlenenie obsahu. Rozdiel v týchto režimoch spočíva v tom, že v režime textu pridávame iba svoje poznámky alebo dokumentáciu, zatiaľ čo v matematickom režime zadávame príkazy a funkcie, ktoré budú po stlačení klávesy Enter vykonané. V režime grafu a animácie sa nachádzajú funkcie pre priblíženie, vzdialenie, zmenu polohy, zmenu štýlu vykresleného objektu. Nachádzajú sa tu aj prvky pre spustenie, pozastavenie a nastavenie priebehu animácie.

19

Posledným režimom je režim kreslenia, ktorý poskytuje niekoľko nástrojov pre vytváranie rôznych geometrických objektov či textových polí, ktoré môžeme umiestniť do už existujúcich objektov.

3.3.4 Menu paliet

Ľavej strane užívateľského rozhrania dominuje rozsiahle menu, ktoré pozostáva z viac ako dvadsiatich paliet. Palety môže užívateľ ľubovoľne zoradiť, a to ich presunutím na konkrétne miesto. Obsahujú viac než 1000 symbolov, ktoré nám umožňujú jednoduchým kliknutím vložiť do zápisníku matematické výrazy, operácie, matice a mnoho ďalších používaných prvkov.

3.3.5 Kontextové menu

Ako sme už spomenuli, kontextové menu sa vyvoláva kliknutím pravého tlačidla myši na výraz, respektíve objekt, ktorý sa nachádza v zápisníku. Obsah kontextového menu je prispôsobené vzhľadom na objekt, na ktorom bol vykonaný (kontextové menu vyvolané na výraze je odlišné od menu vyvolaného na grafe). Obsahuje množstvo nástrojov a funkcií, ktorými môžeme napríklad upraviť vlastnosti grafu či vyvolať rôzne operácie na tom istom objekte.

3.3.6 Pracovná plocha

Pracovná plocha je v podstate zápisník, s ktorým pracujeme a logicky zaberá najväčšiu časť užívateľského rozhrania. Samozrejmosťou je možnosť pracovať s viacerými otvorenými zápisníkmi v jednom momente. Do zápisníku vkladáme výrazy a funkcie, ktoré chceme s použitím systému Maple vypočítať, ale je to aj miesto, kde sa zobrazujú výsledky či už v podobe jednoduchého čísla, tabuľky, grafu, alebo animácie.

3.4 Ovládanie systému

Táto podkapitola sa venuje ovládaniu systému Maple a opisuje vkladanie operácií, symbolov a príkazov do zápisníku, ako aj rôzne spôsoby ich vyhodnocovania, či syntax základných programových konštrukcií. [45]

20

3.4.1 Vkladanie jednoduchých operácií a symbolov z paliet

Do zápisníka systému Maple vkladáme matematické výrazy štandardne pomocou klávesnice alebo vybraním konkrétnych symbolov z menu paliet opísaného v sekcii 3.3.4. Zadávanie výrazov do systému je tak veľmi podobné písaniu matematických výrazov na papier. Základné aritmetické operácie sčítanie, odčítanie, násobenie a delenie zadávame pomocou týchto znakov: +, -, *, /. Pre vloženie zlomku používame znak lomky (/), a zadávame ho v poradí čitateľ, znak lomky, menovateľ. Po zadaní lomky sa z výrazu automaticky stane zlomok a pravou šípkou opustíme zápis menovateľa. Vloženie mocniny funguje na podobnom princípe: zadáme základ mocniny, symbol striešky (^) a exponent. Odmocninu vložíme príkazom „sqrt(x)“, kde x predstavuje nami zadanú hodnotu. Pre vkladanie zložitejších výrazov môžeme využiť menu paliet. Symboly nachádzajúce sa v paletách vkladáme pomocou kliknutia alebo ich prenesením do zápisníka, kde im s pomocou šípok nastavíme hodnoty. Na obrázku 3.2 vidíme symbol „súčet viacerých sčítancov (Σ)“ vložený do zápisníku. Farebne vyznačené premenné boli v druhom kroku zmenené na konkrétne hodnoty a funkciu faktoriál.

Obrázok 3.2: Použitie symbolu z menu paliet

3.4.2 Vkladanie príkazov

Aj napriek tomu, že systém Maple ponúka množstvo nástrojov pre riešenie matematických problémov bez nutnosti vkladania príkazov, skôr či neskôr sa im nevyhneme. Príkazy v systéme Maple sú rozdelené do dvoch hlavných skupín: hlavná knižnica a balíky. Zatiaľ čo hlavná knižnica obsahuje najčastejšie používané príkazy v systéme Maple, balíky obsahujú špecifické príkazy pre konkrétnu oblasť ktorou sa zaoberajú. Príkazy sú väčšinou vo formáte „príkaz(argument)“, v závislosti od konkrétneho príkazu. Napríklad príkaz „factor(x2 + 2x + 1)“ nám rozloží mnohočlen x2 + 2x + 1 na jednoduchý ďalej nerozložiteľný mnohočlen (x+1)2. Príkazom „plot(sin(x), x = -3.14 .. 3.14)“ zas vykreslíme graf funkcie sínus. Príkazy, ktoré sa nachádzajú v balíkoch, majú formát „balík[príkaz](argumenty)“.

21

Napríklad príkazom „LinearAlgebra[RandomMatrix](2)“ vytvoríme náhodne vygenerovanú maticu veľkosti 2x2, na ktorú bol použitý balík LinearAlgebra. Pokiaľ budeme využívať ten istý príkaz, respektíve príkazy z daného balíku viackrát, môžeme ich sprístupniť pomocou príkazu „with“ v tvare „with(balík)“ a tieto príkazy ďalej zadávať v tvare, ktorý sa používa na príkazy z hlavnej knižnice. Pri písaní príkazov do systému Maple môžeme využiť funkcionalitu automatického dokončovania príkazov. Je to veľmi užitočná vlastnosť, ktorá nám napomáha so syntaxou príkazov, a taktiež redukuje množstvo napísaného textu. Automatické dokončovanie aktivujeme klávesou „Esc“, alebo kombináciou „Ctrl + medzerník“ (viď. Obrázok 3.3).

Obrázok 3.3: Vyskakovacie okno automatické dokončovania príkazov

3.4.3 Vyhodnocovanie výrazov, príkazov

Vyhodnotenie zadaného matematického výrazu alebo príkazu aktivujeme stlačením klávesy „Enter“. Výsledok bude zobrazený na novom riadku uprostred a automaticky sa mu priradí poradové číslo. Toto poradové číslo môžeme neskôr použiť ako odkaz na daný výsledok a nemusíme tak prepisovať výraz, ktorý sa už nachádza v zápisníku. Vyhodnotiť výraz môžeme aj pomocou klávesovej kombinácie „Ctrl + =“ a v tomto prípade sa nám výsledok zobrazí na tom istom riadku hneď za daným výrazom. Poslednou možnosťou pre vyhodnotenie výrazu je vyvolanie kontextového menu kliknutím na pravé tlačidlo myši a následným vybratím operácie, ktorú chceme vykonať na danom výraze. Výrazy, respektíve argumenty príkazov, môžeme kedykoľvek zmeniť a vyhodnotiť nanovo ktorýmkoľvek vyššie spomenutým spôsobom. Takisto môžeme využiť grafické ikony

22 nachádzajúce sa v menu pracovnej plochy 1, a to ikony zobrazené pomocou jedného alebo troch výkričníkov. Ikonou s jedným výkričníkom vyhodnotíme všetky nami označené výrazy, ikona s tromi výkričníkmi prepočíta všetky výrazy nachádzajúce sa v zápisníku.

3.4.4 Základné programové konštrukcie

 Príkaz if: Príkaz if nám umožňuje vetvenie vykonávaného kódu v závislosti na pravdivostnej hodnote podmienky uvedenej v tomto príkaze. Podmienok v tomto príkaze môže byť viac, ako aj príkazov, ktoré sa majú vykonať po splnení danej podmienky. Syntax tohto príkazu je nasledovná:

if (podmienka1) then príkaz1 elif (podmienka2) then príkaz2; príkaz2’ elif (podmienka3) then príkaz3 else príkaz 4; príkaz4’ end if

 Cyklus for: Cyklus for umožňuje opakovanie určitej časti kódu pokiaľ iterátor neprekročí hodnotu za výrazom to. Prírastok (hodnota za výrazom by) môže nadobúdať ľubovoľnú (aj mínusovú) hodnotu, pri jeho neuvedení cyklus pracuje s prírastkom 1. Syntax cyklu:

for iterátor from hodnota1 by prírastok to hodnota2 do príkaz(y) end do

 Cyklus while: Cyklus while umožňuje, podobne ako cyklus for opakovanie určitej časti kódu. Rozdiel medzi týmito dvomi cyklami je, že cyklus while sa vykonáva dovtedy, pokiaľ je splnená uvedená podmienka. Syntax:

while podmienka do príkaz(y) end do

23

3.5 Pomocníci v systéme Maple

Systém Maple ponúka rôzne druhy pomoci pre jednoduchšie a rýchlejšie pochopenie práce so systémom a jeho prostredím, ale aj množstvo nástrojov, ktoré nám pomáhajú pri riešení rôznych úloh. Keďže pomocníci tvoria významnú časť systému Maple, v tejto podkapitole si ich stručne opíšeme.

3.5.1 Maple Help

Maple Help predstavuje rozsiahleho pomocníka systému, ktorý obsahuje dvadsaťdva okruhov. Nechýbajú okruhy, ktoré nám opisujú rôzne druhy pomoci, ktoré sa nachádzajú v systéme, novinky najnovšej verzie systéme, prácu so zápisníkmi, návody na prispôsobenie systému vlastným potrebám, základy práce s operáciami, funkciami a príkazmi. Taktiež sa tu nachádzajú okruhy pre výučbu, sprievodca chybových hlásení či manuál pre systém MapleSim (kapitola 4). Posledný okruh sa zaoberá úlohami, respektíve šablónami, ktoré pomáhajú vyriešiť konkrétne úlohy. Na obrázku 3.4 môžeme vidieť šablónu pre vytvorenie dvojdimenzionálneho grafu. Po otvorení sa už v šablóne nachádzajú preddefinované hodnoty, ktoré môžeme jednoduchým prepísaním pozmeniť a po stlačení klávesy Enter bude daný graf vykreslený.

Obrázok 3.4: Vytvorenie dvojdimenzionálneho grafu pomocou šablóny nachádzajúcej sa v Maple Help

24

3.5.2 Maple Tour

Maple Tour obsahuje 13 okruhov, ktoré užívateľovi postupne predstavia systém Maple a jeho vlastnosti. Počas týchto desaťminútových prehliadok si osvojíme napríklad prácu so symbolickými a numerickými výpočtami, dvoj a trojdimenzionálnymi grafmi, animáciami, maticami, diferenciálnymi rovnicami a podobne.

3.5.3 Maple Portal

Maple Portal je portál, ktorý obsahuje príručky rôzneho zamerania a ich hlavnou úlohou je pomôcť užívateľom so začatím používania systému, zoznámiť ich s nástrojmi v tomto systéme a prepočítať niekoľko ukážkových príkladov. Každá príručka trvá približne päť až desať minút, obsahuje stručné predstavenie konkrétneho okruhu, ako aj interaktívne ukážky príkladov, na ktorých si môžeme vyskúšať danú problematiku. Maple Portal neslúži iba pre nových užívateľov ale aj pre študentov, učiteľov a inžinierov, pre ktorých sú pripravené rovnomenné samostatné portály. (Obrázok 3.5)

3.5.4 Quick Help

Quick Help je pomocník, ktorý sa nachádza na pravej strane novootvoreného dokumentu. Obsahuje veľmi stručný prehľad ovládania systému (vyhodnotenie príkazu, automatické doplnenie, prepínanie medzi režimom matematiky a režimom textu a pod.), odkazy na pomocníkov systému, respektíve odkazy na konkrétny okruh v pomocníkovi Maple Help. Zobrazovanie tohto pomocníka aktivujeme alebo deaktivujeme pomocou klávesy F1.

3.5.5 Quick Reference

Quick Reference je dokument rozdelený do desiatich kapitol, ktorý stručne opisuje užívateľom prácu so systémom Maple. V jednotlivých kapitolách predstavuje ovládanie systému Maple, rôzne klávesové skratky či grafické ikony, ktoré sa nachádzajú v užívateľskom rozhraní tohto systému. V dokumente sa nachádzajú aj odkazy na pomocníka Maple Help, ktorý sme si opísali v sekcií 3.5.1.

25

3.5.6 Assistants, Tutors (Asistenti, Inštruktori)

Asistenti nám pomáhajú s vyriešením niektorých typov úloh, napríklad s riešením rovníc, optimalizáciou funkcií, vytváraním grafov a podobne. Užívateľ nastaví hodnoty potrebné pre vyriešenie danej úlohy (napr.: parametre, rovnice, funkcie a pod.) a o všetko ostatné sa postarajú asistenti, ktorí pomocou vhodnej metódy úlohu vyriešia. Inštruktori, podobne ako asistenti, taktiež vyriešia istý problém, avšak okrem výsledku nám zobrazujú priebeh výpočtu krok za krokom. Jednotlivé kroky výpočtu môžeme ľubovoľne prepínať a získať tak lepšiu kontrolu nad vykonávanou operáciou.

Obrázok 3.5: Maple Portal

3.6 Porovnanie systémov Maple a Mathematica

V tejto podkapitole porovnáme systém Maple, ktorému je venovaná veľká časť tejto práce so systémom Mathematica, ktorý je stručne opísaný v podkapitole 2.3. Porovnanie bude rozdelené do niekoľko sekcií. [46]

26

3.6.1 Užívateľské rozhranie

 Maple využíva štandardný matematický zápis pre funkcie, a to okrúhle zátvorky: f(x), Mathematica využíva hranaté zátvorky: f[x].  Bežné funkcie sa v systéme Maple zapisujú štandardným zápisom s malým začiatočným písmenom: log(x), sin(x), Mathematica používa veľké začiatočné písmeno: Log[x], Sin[x].  Matematická rovnosť je v systéme Maple označená pomocou znaku ‘=’, Mathematica využíva tento znak pre priradenie a dvojicu tohto znaku, ‘==’, pre matematickú rovnosť. 푥  Formátovanie zlomkov a exponentov je v systéme Maple automatické: , 푦 v systéme Mathematica nie je predvolene nastavené: x/y.  V systéme Maple palety automaticky využívajú štandardné matematické

sin (푥) 1 formátovanie: lim , Mathematica predvolene nevyužíva tento druh 푥→0 푥 formátovania: Limit[Sin[x] / x, x->0].  Pre vyhodnotenie výrazu Maple používa klávesu Enter, Mathematica používa klávesovú kombináciu Shift + Enter.  Zápis matematiky v systéme Maple vyzerá rovnako ako pri písaní do zošita. V systéme Mathematica je zápis pochopiteľný, ale aj pri využívaní tradičného formátovania sa úplne nepribližuje ku štandardom v zošite.  Systém Maple umožňuje vrátiť vykonanú zmenu, respektíve niekoľko vykonaných zmien za sebou (Undo). Taktiež umožňuje vrátiť späť už vrátenú zmenu (Redo). Mathematica umožňuje vrátiť iba poslednú vykonanú zmenu a nie je možné vrátiť už vrátenú zmenu.

3.6.2 Matematika

 Systém Maple je jednoznačný líder v riešení diferenciálnych rovníc. Zo známej práce Differentialgleichungen od nemeckého matematika Ericha Kemkeho Maple vyrieši 97.5 % lineárnych a nelineárnych diferenciálnych rovníc za 43 minút. Systém Mathematica vyrieši iba 79.8 % za čas 7 hodín a 8 minút.

27

 Rozklad polynómov je veľmi dôležitá a najmä často používaná metóda pre zjednodušovanie výrazov. Pri vybraných ôsmich problémoch, ktoré reprezentujú náročne polynómy pre rozklad, systém Maple päť z nich vyriešil do 2 sekúnd a zvyšné tri za menej ako 80 sekúnd. Mathematica vyrieši tri problémy do 2 sekúnd, ďalšie dva za menej ako 1 hodinu času a pri posledných troch bol výpočet prerušený po 1 hodine času bez nájdenia výsledku.

3.6.3 Podpora pre študentov

Systém Maple poskytuje množstvo nástrojov pre pomoc študentom. Okrem chytrého kontextového menu a takzvaných „ťahaj a vyrieš“ nástrojov (podkapitola 3.2) systém Maple ponúka aj ďalšie balíky pre študentov. K dispozícii sú inštruktori, ktorí ponúkajú precvičovanie v oblastí integrovania, derivovania, hľadania limít a mnoho ďalších. Ide o interaktívne precvičovanie vykonávane krok po kroku, ktorý systém Mathematica neponúka.

3.6.4 Programovanie

Systém Maple umožňuje písanie vlastných programov v procedurálnom programovacom jazyku, ktorý je podobný jazykom C, Java, Fortran, Visual Basic. Taktiež zahrňuje množstvo prvkov z funkcionálnych a objektovo orientovaných programovacích jazykov a necháva užívateľov vybrať si prístup, ktorý sa najviac hodí pre riešenie konkrétneho problému. Systém Mathematica takisto ponúka konštrukcie rôznych programových štýlov, ale typicky ponúka prístup funkcionálneho programovania. Dokonca aj procedurálne programové prvky sú implementované v štýle funkcionálneho programovania, napríklad príkazy if a cykly while sú napísané ako volania funkcií. Ďalšou výhodou systému Maple je prepracovanejšia detekcia chýb v syntaxi programoch. Maple pri chybe vyvolá chybové hlásenie s jeho popisom a kurzorom označí miesto zlyhania. V systéme Mathematica sa v niektorých prípadoch volania procedúr nevyvolá žiadne chybové hlásenie. Medzi ostatné oblasti, v ktorých systém Maple prevyšuje systém Mathematica, patrí ladenie programov (debugging), paralelné programovanie či písanie skrípt.

28

3.6.5 Konektivita

Generovanie kódu nám umožňuje konvertovať výrazy a programy do rôznych programovacích jazykov. Môžeme tak využiť systémy Maple a Mathematica pre vývoj originálnych riešení a algoritmov, exportovať ich do iných jazykov a použiť ich ako súčasti veľkých projektov. Maple umožňuje generovanie kódu do jazykov C, C#, Fortran, Java, MATLAB, Visual Basic. Mathematica môže generovať kód iba do jazyka C a Fortran. Systém Maple ponúka výpočtové riešenia, ktoré sú úzko integrované so systémom MATLAB. Poskytuje priamy prístup ku všetkým príkazom, premenným a funkciám. Taktiež môžeme preložiť Matlab kód do systému Maple a naopak generovať Matlab kód z výrazov a procedúr systému Maple. Mathematica nedisponuje žiadnou vstavanou konektivitou so systémom MATLAB.

3.6.6 Otvorenosť

Systémy Maple a Mathematica majú podobnú architektúru: skladajú sa z jadra napísaného v programovacom jazyku C a C# a z knižníc preddefinovaných funkcií, ktoré sú napísané vo vlastných programovacích jazykoch týchto systémov. V systéme Maple si môže každý užívateľ prezrieť zdrojový kód akejkoľvek preddefinovanej knižnice, a dokonca môže pozmeniť alebo rozšíriť existujúcu knižnicu pre prispôsobenie funkcionality. V systéme Mathematica je zdrojový kód každej preddefinovanej knižnice pred užívateľmi skrytý.

29

4 Systém MapleSim 6.4

V tejto kapitole sa oboznámime s nadstavbou systému Maple, a to so systémom MapleSim v jeho najnovšej verzií MapleSim 6.4. Prvá podkapitola obsahuje základné informácie o systéme, v druhej podkapitole sa budeme venovať fyzikálnemu modelovaniu v tomto systéme a v tretej podkapitole si predstavíme novinky v jeho najnovšej verzii. Štvrtá podkapitola sa bude zaoberať užívateľským rozhraním systému MapleSim 6.4 a v poslednej piatej podkapitole si opíšeme základy ovládania tohto systému.

4.1 Základné informácie o systéme

Systém MapleSim je taktiež, ako aj systém Maple, vyvíjaný kanadskou spoločnosťou Maplesoft a jeho prvá verzia bola vyvinutá koncom roka 2008. Ide o modelovacie prostredie, ktoré využíva výkonné matematické jadro systému Maple pre tvorbu a simuláciu komplexných fyzikálnych systémov. Môžeme tak vytvárať komponentové diagramy, ktoré reprezentujú fyzické systémy v grafickej podobe a s využitím numerického a symbolického prístupu, systém MapleSim automaticky vygeneruje modelové rovnice a spustí simulácie s najvyššou presnosťou. [47],[48],[49]

4.1.1 Vlastnosti systému

 Vytváranie komplexných modelov: S pomocou systému MapleSim môžeme vytvárať modely, ktoré spájajú komponenty z rôznych odvetví do komplexného systému. Ponúka nám viac ako 300 modelovacích komponentov, ako napríklad: elektrické, mechanické, hydraulické a tepelné zariadenia, senzory, zdroje, signálne bloky a podobne. Taktiež môžeme vytvoriť vlastné komponenty tak, aby vyhovovali naším modelovacím a simulačným potrebám. [49]  Pokročilé numerické a symbolické schopnosti: Na vytváranie matematických modelov, ktoré simulujú správanie fyzikálneho systému, využíva systém MapleSim pokročilé numerické a symbolické schopnosti systému Maple. Vďaka tejto vlastnosti môžu byť na rovnice použité zjednodušovacie techniky a možno tak vytvoriť stručné a numericky efektívne modely. [49]

30

 Analytické nástroje a šablóny: MapleSim poskytuje rôzne predpripravené šablóny pre prezeranie modelových rovníc a uskutočňovanie pokročilých analytických úloh. Pre analýzu modelov a interaktívne prezentovanie výsledkov máme k dispozícii množstvo funkcií systému Maple, ako napríklad nástroje na vytváranie dokumentov, nástroje pre tvorbu grafov a mnoho ďalších. Vytvorené modely môžeme taktiež preložiť do programovacieho jazyka C a využívať ďalšie aplikácie a nástroje. [49]  Interaktívne 3D nástroje pre vizualizáciu: Pomocou nástrojov pre vizualizáciu môžeme vytvárať a animovať grafické reprezentácie trojdimenzionálnych modelov. Môžeme si tak overiť konfiguráciu modelov a vizuálne analyzovať správanie systémov pri rôznych vstupných podmienkach. [49]

4.2 Fyzikálne modelovanie v systéme MapleSim

Fyzikálne modelovanie zahŕňa matematické a fyzikálne zákony pre opísanie správania sa určitého komponentu, alebo systému zloženého z prepojených komponentov. Toto správanie je typicky definované pomocou obyčajných diferenciálnych rovníc, keďže väčšina systémov je spojená s dynamikou. Pre rýchle a jednoduché vytváranie modelov systém MapleSim poskytuje nasledujúce vlastnosti: topologická/akauzálna reprezentácia systému, matematická formulácia modelu a zjednodušenie, algoritmy pre pokročilé diferenciálne algebrické rovnice, kauzuálne a akauzuálne modelovanie. [49]

4.2.1 Topologická/akauzálna reprezentácia systému

Tradičné nástroje na modelovanie využívajú prístup na základe toku signálu, kvôli čomu musia byť vstupy a výstupy systému definované explicitne. Na rozdiel od týchto nástrojov nám systém MapleSim umožňuje využívať na prepojenie komponentov topologickú reprezentáciu a nemusíme tak uvažovať, ako prúdi signál medzi jednotlivými komponentmi. [49]

4.2.2 Matematická formulácia modelu a zjednodušovanie

Topologická reprezentácia sa jednoducho viaže na matematickú reprezentáciu, z ktorej sa vďaka symbolickými schopnostiam systému MapleSim generujú rovnice. Pri vytváraní týchto

31 rovníc sa používajú rôzne nástroje pre zjednodušovanie rovníc, čím sa dosiahne odstránenie nadbytočných rovníc. Tieto nástroje ďalej upravujú a redukujú počet obsiahnutých výrazov na dosiahnutie minimálneho počtu rovníc potrebného na reprezentáciu daného systému bez straty akejkoľvek presnosti. [49]

4.2.3 Algoritmy pre pokročilé diferenciálne algebrické rovnice

Algebrické obmedzenia sú zavedené v topologickom prístupe do definície modelu. Problémy, ktoré kombinujú obyčajné diferenciálne rovnice s algebrickými obmedzeniami, sa nazývajú diferenciálne algebrické rovnice. Podľa typu týchto obmedzení sa mení aj zložitosť diferenciálnych algebrických rovníc, ktorá je vyjadrená indexom. Čím je index rovnice vyšší, tým je vyššia aj jej zložitosť. Vývoj všeobecných algoritmov pre komplexné diferenciálne algebrické rovnice je predmetom mnohých výskumov v oblasti symbolických výpočtov. Systém MapleSim využíva výpočtové jadro systému Maple, a tak využíva pokročilé algoritmy, ktoré obsahujú popredné symbolické a numerické techniky pre riešenie diferenciálnych algebrických rovníc s vysokým indexom. [49]

4.2.4 Kauzálne, akauzuálne modelovanie

Skutočné inžinierske zariadenia, ako napríklad motory a hnacie jednotky, pozostávajú zo skupiny navzájom spolupracujúcich fyzikálnych komponentov. Tieto zariadenia sú zvyčajne modelované pomocou blokových diagramov. Spolupracujúce bloky sú prepojené priamkami, ktoré indikujú prepojenie pomocou fyzikálnych zákonov. Pri softvérovej simulácií môžu byť blokové diagramy kauzuálne alebo akauzuálne. Systém MapleSim umožňuje použitie obidvoch prístupov modelovania. [49]

 Kauzuálne modelovanie: Veľký počet simulačných nástrojov je obmedzený na kauzuálne modelovanie. V týchto nástrojoch prúdi jednosmerný signál do blokov, v ktorých sa uskutočnia presne definované operácie a výsledok opúšťa blok na jeho druhej strane. Tento prístup je vhodný pre modelovanie systémov, ktoré sú definované iba pomocou signálov prúdiacich jedným smerom (napr. kontrolné systémy). Na obrázku 4.1 môžeme vidieť jednoduchý model kauzuálneho blokového diagramu. Ide o priradenie hodnoty premennej y : = f(x) (na pravej 32

strane sa vykonajú matematické operácie na vstupnej premennej x a výsledok bude priradený premennej y nachádzajúcej sa na ľavej strane).

Obrázok 4.1: Model kauzuálneho blokového diagramu [49]

 Akauzuálne modelovanie: Akauzuálne modelovanie je modelovanie, pri ktorom signál medzi dvomi prepojenými blokmi prúdi oboma smermi. Signál obsahuje informácie o tom, ktoré fyzikálne veličiny musia byť zachované. Bloky zasa obsahujú informácie o tom, ktorými fyzikálnymi zákonmi, ktoré sú reprezentované rovnicami, sa musia riadiť. Na obrázku 4.2 sa nachádza model akauzuálneho blokového diagramu. Ide o vyjadrenie rovnosti y = f(x).

Obrázok 4.2: Model akauzuálneho blokového diagramu [49]

Pri využívaní akauzuálneho modelovania je užitočné identifikovať premenné komponenty, ktorú modelujeme. Ide o premenné typu „through“ a „across“. Všeobecne premenná typu „across“ reprezentuje hnaciu silu v systéme a premenná typu „through“ predstavuje objemový prietok.

Obrázok 4.3: Model s premennými „through“ a „across“ [49]

33

4.3 Novinky v MapleSim 6.4

Najnovšia verzia systému MapleSim je verzia MapleSim 6.4, ktorá taktiež ako systém Maple 18, obsahuje niekoľko noviniek, ktoré si opíšeme v nasledujúcej podkapitole. Okrem noviniek nachádzajúcich sa v tejto verzii si spomenieme aj novinky, ktoré sa objavili už vo verzií MapleSim 6.3.

4.3.1 Novinky v MapleSim 6.3

 Zrýchlenie simulácií modelov, ktoré využívajú knižnicu pre hydraulické komponenty, vďaka skráteniu času potrebného pre predspracovanie modelov.  Vylepšenie generovania kódu pre všetky cieľové platformy. Parametre modelu môžu byť modifikované aj pri simulácii spustenej mimo systému MapleSim.  Rozšírenie podpory pre komponenty modelované pomocou modelovacieho jazyka Modelica. Do definície komponenty môže byť zahrnutých viac typov funkcií. [50]

4.3.2 Výkonné nástroje pre vlastné komponenty

So systémom MapleSim 6.4 prichádza vylepšenie týkajúce sa šablóny pre vlastné komponenty. Vlastné komponenty tak budeme môcť vytvoriť a používať ešte jednoduchšie ako doteraz. Medzi vylepšenia patrí:  Poskytnutie dodatočných informácií o parametroch vlastného komponentu, ako napríklad ich rozmery a vzťahy. Tieto parametre musia byť následne v súlade so zadanými vstupnými podmienkami. Vďaka poskytnutiu týchto informácií, ako súčasť definície komponenty, je systém MapleSim schopný odhaliť nesprávne použitie konkrétneho komponentu.  Využívanie nového editoru kódu pri definovaní komponenty pomocou modelovacieho jazyku Modelica. Medzi vlastnosti editoru patrí napríklad zvýrazňovanie syntaxi, automatické odsadzovanie a iné.  Aplikovanie rovnakej kontroly konzistencie portov pre vlastné porty ako pre vstavané porty systému MapleSim. Táto kontrola zabráni nepovoleným prepojeniam portov.

34

 Pridanie nových príkladov, ktoré môžu byť použité ako základ pre vlastný vývoj.  Prichytávanie portov k mriežke pre ich jednoduchšie umiestnenie. [50]

4.3.3 Vylepšenia výpočtov

Medzi novinky patrí aj zrýchlenie výpočtov, ktoré okrem iného poskytujú aj viac informácií a kontroly nad výpočtami.  Nová diagnostika riešenia umožňuje hlbšie skúmanie správania sa simulácie pomocou grafov zobrazujúcich rôzne informácie.  Fáza numerickej simulácie môže byť spustená skôr, vďaka skráteniu času potrebného pre symbolické spracovanie pred samotnou simuláciou. Pri veľkých systémoch môže byť doba spracovania až o tridsaťkrát rýchlejšia.  Indexová kontrola chýb môže byť voliteľne vypnutá, respektíve zapnutá.  Dostupná nová metóda pre trojdimenzionálnu rotáciu. [50]

4.3.4 Vylepšenia pre toolbox MapleSim Connector

Vylepšenia v systéme MapleSim 6.4 sa týkajú aj toolboxu MapleSim Connector, ktorý vytvára modely pre použite v systéme Simulink. Systém Simulink je nadstavbou systému MATLAB, ktorý je opísaný v kapitole 2.3. [28],[51],[52]  Diagnostika riešenia môže byť exportovaná do systému Simulink.  Pre riadenie udalostí, ktoré nastanú medzi jednotlivými krokmi simulácie sú k dispozícií takzvané medzikroky.  MapleSim 6.4 poskytuje možnosť zotavenia sa z chýb bez prerušenia simulácie. Taktiež ponúka diagnostiku s následným označením chyby a bodu, z ktorého bude simulácia obnovená. [50]

4.3.5 Vylepšenia pre toolbox Control Design

Vylepšenia, ktoré ponúka najnovšia verzia systému pre tento toolbox, umožňujú vývojárom navrhovať rôzne zamerané regulátory a kontrolné pozorovacie systémy. [50]

35

4.4 Užívateľské rozhranie

V tejto podkapitole si predstavíme užívateľské rozhranie systému MapleSim 6.4. Podobne ako v systéme Maple 18 rozhranie obsahuje hlavné menu systému, menu pracovnej plochy 1 a 2 a panel knižníc nachádzajúci sa na ľavej strane. Na pravej strane pribudlo menu parametrov a okrem pracovnej plochy pre modelovanie sa v systéme nachádza aj plocha pre 3-D vizualizáciu a s ňou súvisiace menu. Spodná časť rozhrania obsahuje konzolu a menu pre túto časť systému.

Obrázok 4.4: Užívateľské rozhranie systému MapleSim 6.4

4.4.1 Hlavné menu systému

Hlavné menu systému obsahuje štandardné položky File, Edit, View, Help, s pomocou ktorých môžeme vyvolať pomoc v tomto systéme, upravovať zobrazenie pracovnej plochy či

36 vytvárať, alebo ukladať dokumenty. Taktiež môžeme vytvárať subsystémy, pripájať sondy, exportovať dokumenty v rôznych formátoch a podobne.

4.4.2 Menu pracovnej plochy 1

Grafické ikony v tomto menu sú podobné ako v systéme Maple 18. Môžeme tak vytvoriť nový, otvoriť už existujúci alebo uložiť aktuálne otvorený súbor, kopírovať a vkladať označené časti alebo vrátiť posledné vykonané zmeny. Taktiež sa tu nachádza aj ikona pre spustenie, respektíve pozastavenie simulácie modelu nachádzajúceho sa v pracovnej ploche.

4.4.3 Menu pracovnej plochy 2

Menu pracovnej plochy môžeme rozdeliť na dve časti, a to na navigačný panel a na panel pracovnej plochy.  Navigačný panel: Tento panel sa takisto dá rozložiť na dve časti. Na pravej strane sa nachádza malé menu pomocou ktorého si môžeme hierarchicky prezerať vytvorený model a subsystémy, ktoré sa v ňom nachádzajú. Na ľavej časti panelu sa nachádzajú štyri ikony, pomocou ktorých môžeme prepínať medzi štyrmi režimami zobrazenia. Prvý režim je režim diagramu, v ktorom vidíme vymodelovaný model, prípadne jeho subsystémy alebo jednotlivé komponenty. Druhý režim je režim ikony, pomocou ktorého vidíme zväčšenú miniatúru konkrétnej komponenty alebo subsystému. Po kliknutí na tretiu ikonu sa prepneme do režimu parametrov, v ktorom môžeme vidieť hodnoty parametrov jednotlivých komponentov. Tieto hodnoty môžeme zmeniť na nami požadované hodnoty podobne ako v menu parametrov, ktoré sa nachádza na pravej strane užívateľského rozhrania (sekcia 4.4.6). Posledným režimom je režim kódu, v ktorom sa zobrazí vygenerovaný kód v jazyku Modelica.  Panel pracovnej plochy: V tomto paneli sa nachádzajú rovnaké nástroje ako v menu pracovnej plochy 2 systému Maple v režime kreslenia (sekcia 3.3.3). Môžeme tak do modelu pridávať svoje poznámky či rôzne geometrické útvary a čiary. Nachádzajú sa tu aj ikony pre pridávanie sond, vytváranie blokov parametrov alebo aktivovanie/deaktivovanie označených komponentov.

37

4.4.4 Menu paliet

Menu paliet pozostáva z dvoch položiek, a to z položky na tvorbu modelu (Knižnice) a z položky pre správu projektu (Projekt).  Knižnice: Po kliknutí na túto položku sa nám zobrazí okno pre vyhľadávanie komponentov zadaním názvu, sedem paliet obsahujúcich komponenty rôznych typov, jedna paleta obsahujúca užívateľom obľúbené komponenty a jedna paleta s ukážkovými modelmi. Komponenty sa nachádzajú v týchto paletách: - Signal Blocks - manipulovanie a generovanie vstupných a výstupných signálov, - Electrical - modelovanie elektrických obvodov, jednofázových a dvojfázových systémov a elektrických strojov, - 1-D Mechanical - modelovanie translačných a rotačných systémov, - Multibody Mechanical - modelovanie mechanických sústav telies, - Hydraulic - modelovanie hydraulických systémov, - Thermal - modelovanie výmeny a prúdenia tepla, - Magnetic - modelovanie magnetických okruhov. [49]  Projekt: Táto položka obsahuje sedem paliet, a ako sme už spomenuli, slúži pre správu projektu. V jednotlivých paletách môžeme zobraziť stromovú štruktúru nášho projektu, prezerať uložené výsledky z rôznych simulácií, alebo spravovať sondy a dokumenty pripojené k modelu.

4.4.5 Konzola, menu konzoly

Konzola sa nachádza na spodnej časti rozhrania a podľa jedného z troch možných režimov obsahuje buď dokumentáciu o označenej komponente, alebo informácie o priebehu simulácie, alebo diagnostické chybové správy pri vytváraní modelu. Jednotlivé režimy prepíname pomocou grafických ikon nachádzajúcich sa v menu konzoly, kde nájdeme aj ikony pre zobrazenie/skrytie pracovnej plochy, respektíve plochy 3-D vizualizácie.

4.4.6 Menu parametrov

Menu parametrov sa skladá z troch položiek, a to z položky Inspector, Settings, Plot. V položke Inspector môžeme upravovať názvy komponentov, prípadne meniť hodnoty ich

38 parametrov. V prípade označenia sondy špecifikujeme veličiny, ktoré má daná sonda sledovať. Položka Settings slúži pre nastavenie simulačných možností (dĺžka simulácie, nastavenie voliteľných parametrov, nastavenie 3-D vizualizácie a pod.). Poslednou položkou je položka Plot, ktorou upravujeme nastavenia grafov simulácií, prípadne môžeme vytvoriť a definovať vlastné grafy.

4.4.7 Plocha 3-D vizualizácie, menu plochy 3-D

Plocha 3-D vizualizácie slúži na vytváranie a analyzovanie trojdimenzionálneho modelu systému. Pri vytváraní modelu v pracovnej ploche sa všetky zmeny automaticky prejavujú aj do tejto plochy. V príslušnom menu sa nachádza niekoľko nástrojov, ktorými môžeme meniť pohľad na model, zobrazenie jednotlivých os a časti systému alebo sa môžeme prepnúť do menu parametrov, prípadne do režimu prehrávania simulácie.

4.4.8 Pracovná plocha

Pracovná plocha je hlavná a najväčšia časť užívateľského rozhrania. Vkladáme do nej komponenty, ktoré navzájom prepájame a vytvárame tak model konkrétneho systému.

4.5 Ovládanie systému

V tejto podkapitole si stručne opíšeme základné ovládanie systému, a to prácu s komponentmi, prepájanie komponentov do systému, prácu so sondami a vytváranie subsystémov.

4.5.1 Práca s komponentmi

Komponenty vkladáme na pracovnú plochu ich pretiahnutím z položky Knižnice v menu paliet (sekcia 4.4.4). Komponenty môžeme po pracovnej ploche ľubovoľne presúvať v rámci mriežky, ktorá sa nachádza na ploche. Vyvolaním kontextového menu (pravé tlačidlo na myši) môžeme komponent rotovať, a tým prispôsobiť polohu portov pre vzájomné prepojenie s ostatnými komponentmi. Z kontextového menu môžeme taktiež využiť nástroje na kopírovanie, vystihovanie a prilepenie komponentov, prípadne vytvoriť subsystém z označených komponentov (sekcia 4.5.4) alebo vyvolať pomocníka, ktorý zobrazí dokumentáciu

39 o konkrétnom komponente. Odstránenie komponentu je intuitívne, môžeme využiť tlačidlo Delete, prípadne komponent vystrihnúť pomocou kontextového menu. Komponent však môžeme iba deaktivovať pomocou grafickej ikony v menu pracovnej plochy 2. Bude sa tak naďalej nachádzať na pracovnej ploche, ale na priebeh a výsledky simulácie nebude mať žiadny vplyv.

4.5.2 Prepájanie komponent do systému

Prepojenie dvoch komponentov vykonáme kliknutím na ich porty. Medzi komponentmi vznikne spojenie, ktorého farba reprezentuje daný typ spojenia. Prepojenie môže taktiež vzniknúť aj medzi portom komponenty a ďalším spojením. Systém MapleSim umožňuje prepojenie komponentov len medzi kompatibilnými doménami. Farby a typy spojenia sú:  čierna - mechanické 1-D rotačné, mechanické viac telesové,  zelená - mechanické 1-D translačné,  modrá - elektrické analógové, elektrické viacfázové,  oranžová - magnetické,  fialová - digitálna logika,  ružová - signál booleovskej hodnoty,  oranžová - signál hodnoty Integer,  tmavomodrá - kauzálny signál,  červená - termálne. [49]

4.5.3 Práca so sondami

Sondy, ktoré sa nachádzajú v modeli systému, zaznamenávajú hodnoty fyzikálnych veličín v priebehu simulácie. Tieto hodnoty sú použité pri vykresľovaní grafov na konci simulácie a zobrazujú nám tak potrebné výsledky. Sond môže byť v systéme ľubovoľne veľa a každej sonde môžeme nastaviť iný parameter, ktorý bude sledovať. Sondu pripájame kliknutím na grafickú ikonu nachádzajúcu sa v paneli pracovnej plochy. Ďalším kliknutím sondu pripojíme na konkrétne miesto v modelovanom systéme a tretím kliknutím umiestnime ikonu sondy do priestoru pracovnej plochy. Po kliknutí na sondu môžeme upravovať nastavenie sondy v menu parametrov. Sondy môžeme pripojiť aj vyvolaním kontextového menu na konkrétnom mieste v modelovanom systéme.

40

4.5.4 Vytváranie subsystémov

Subsystém je skupina komponentov, ktoré sú zoskupené do jedného blokového komponentu. Vytváranie subsystémov nám sprehľadní komplexný model na pracovnej ploche, ale taktiež slúži aj pre jednoduchšie pridávanie kópií častí systému, nastavovanie parametrov alebo vytvorenie hierarchickej štruktúry systému. Vytvorenie subsystému je jednoduché a intuitívne: označíme všetky časti systému, ktoré chceme pridať do subsystému, vyvoláme kontextové menu, klikneme na položku Create Subsystem (klávesová skratka Ctrl + G), zadáme názov subsystému a klikneme na tlačidlo OK. Skupina označených komponentov sa transformuje na jeden blokový komponent. Po dvojitom kliknutí sa nám tento komponent otvorí a zobrazia sa všetky jednotlivé komponenty zahrnuté v subsystéme. V režime ikony môžeme vytvoriť vlastnú grafickú podobu ikony, ktorá bude reprezentovať daný subsystém. Po vyvolaní kontextového menu na ikone subsystému môžeme využiť funkciu Convert to Shared Subsystem, ktorá pridá subsystém do menu paliet v položke Projekt -> Definition -> Subsystems a subsystém tak môžeme pridávať na pracovnú plochu rovnako ako vstavané komponenty systému MapleSim. Na obrázku 4.5 môžeme vidieť zdieľaný subsystém, ktorý reprezentuje elektromotor z podkapitoly 5.2, ako aj novovytvorenú ikonu pre tento subsystém.

Obrázok 4.5: Vytvorenie zdieľaného subsystému elektromotora s grafickou ikonou

41

5 Ukážkové príklady

Táto kapitola obsahuje niekoľko ukážkových príkladov, ktoré budú modelované a simulované pomocou systému MapleSim 6.4. Začneme s jednoduchým modelom elektrického rezonančného obvodu, ktorý budeme postupne rozširovať o ďalšie komponenty. Výsledkom tejto práce a aj výsledkom tejto kapitoly bude model stropného ventilátora. [49]

5.1 Rezonančný obvod

Na vytvorenie rezonančného obvodu, ktorý taktiež nazývame RLC obvod, budeme potrebovať nasledujúce komponenty:  uzemnenie: Electrical - Analog - Passive - Ground,  kondenzátor: Electrical - Analog - Passive - Capacitors - Capacitor,  cievka: Electrical - Analog - Passive - Inductors - Inductor,  rezistor: Electrical - Analog - Passive - Resistors - Resistor,  zdroj napätia: Electrical - Analog - Sources - Voltage - Signal Voltage,  veľkosť výstupu: Signal Blocks - Sources - Real - Step. Polohu a orientáciu týchto komponentov upravíme ich presúvaním po pracovnej ploche, prípadne vyvolaním kontextového menu (podkapitola 4.5). Podľa obrázku 5.1 prepojíme jednotlivé komponenty, a tak vytvoríme model rezonančného obvodu.

Obrázok 5.1: Umiestnenie a prepojenie komponentov rezonančného obvodu

Nasledujúcim krokom pri modelovaní rezonančného obvodu bude nastavenie hodnôt veličín jednotlivých komponentov. Nastavenie hodnôt vykonáme v menu parametrov v záložke Inspector po kliknutí na konkrétny komponent. Komponentom nastavíme tieto hodnoty: Resistor: R = 24 Ω, Inductor: I = 160 mH, Capacitor: I = 200 µF. Posledným krokom je

42 pripojenie sondy do obvodu, ktorá bude merať vybrané veličiny (v našom prípade napätie) a nastavenie dĺžky simulácie v záložke Settings v menu parametrov na dobu 1 sekundy. Po spustení simulácie sa v novom okno vykreslí graf zobrazujúci veľkosť napätia počas celej doby simulácie, ktorá bola zachytená pomocou sondy (Obrázok 5.2). V tomto okne sa nachádzajú aj rôzne nástroje, pomocou ktorých môžeme graf ľubovoľne upravovať, napríklad meniť zobrazenie mriežky, štýl vykreslenej krivky, veľkosť celého grafu a podobne. Ďalšie nástroje nájdeme vyvolaním kontextového menu (ľavé tlačidlo na myši) priamo na grafe, kde môžeme upraviť legendu grafu, farbu krivky, priehľadnosť krivky a podobne.

Obrázok 5.2: Výsledok simulácie rezonančného obvodu

5.2 Jednosmerný elektromotor

V tejto podkapitole rozšírime predchádzajúci príklad rezonančného obvodu a vytvoríme model jednosmerného elektromotoru. Na jeho vytvorenie potrebujeme nasledujúce komponenty:  rotačná elektromotorická sila: Electrical - Analog - Common - Rotational EMF,  zotrvačnosť: 1-D Mechanical - Rotational - Common - Inertia. Jednotlivé komponenty môžeme pridávať na pracovnú plochu aj pomocou vyhľadávacieho okna, ktoré sa nachádza v menu paliet. Po zadaní časti názvu sa zobrazí zoznam komponentov, ktoré zodpovedajú danému výrazu, a pridanie komponentu na pracovnú plochu je rovnaké ako v prípade jeho vyhľadania v jednotlivých paletách (napríklad po zadaní výrazu „EMF“ do vyhľadávacieho okna sa nám zobrazí zoznam obsahujúci dve položky, a to Rotational EMF a Translational EMF). 43

Komponenty prepojíme podľa obrázku 5.3 a nastavíme hodnoty ich veličín, a to 푁.푚 nasledovne: Rotational EMF: k = 10 , Step: T0 = 1s. Ďalej pripojíme druhú sondu, ktorá sa 퐴 bude nachádzať medzi novo pridanými komponentmi, a bude zaznamenávať rýchlosť a krútiaci moment. Dobu simulácie predĺžime na päť sekúnd a môžeme spustiť simuláciu. Na obrázku 5.4 môžeme vidieť výsledok simulácie. Nastavením hodnoty T0 = 1s sa nastavilo oneskorenie, ktoré môžeme vidieť aj na grafoch, kedy sa veľkosť napätia, ako aj rýchlosť a krútiaci moment, prejavili až po spomínanom oneskorení jednej sekundy.

Obrázok 5.3: Jednosmerný elektromotor

Obrázok 5.4: Výsledok simulácie jednosmerného elektromotora (zľava: graf napätia, krútiaceho momentu, rýchlosti)

5.3 Jednosmerný elektromotor s prevodovkou

Model rezonančného obvodu sme v predchádzajúcej podkapitole rozšírili o dva komponenty a vznikol nám model jednosmerného elektromotora. V tejto podkapitole model opäť rozšírime, a to tým, že k nemu pripojíme prevodku. Vznikne nám tak model jednosmerného

44 elektromotoru s prevodovkou. Pre pridanie prevodovky potrebujeme nasledujúce komponenty, ktoré prepojíme podľa obrázku 5.5:  prevodovka: 1-D Mechanical - Rotational - Bearings and Gears - Ideal Gear,  vôľa: 1-D Mechanical - Rotational - Springs and Dampers - Elasto-Backlash,  zotrvačnosť: 1-D Mechanical - Rotational - Common - Inertia.

Obrázok 5.5: Jednosmerný elektromotor s prevodovkou

Ďalej upravíme hodnoty veličín týchto komponentov, a to nasledovne: Step: height = 100, Inertia (nachádzajúca sa vľavo): J = 10kg.m2, Ideal Gear: r = 10, Elasto-Backlash: b = 푁.푚.푠 0.3rad, Elasto-Backlash: d = 104 . Posledným krokom je predĺženie doby simulácie na desať 푟푎푑 sekúnd a pripojenie tretej sondy na spojenie medzi komponentmi vôle a zotrvačnosti. Prvá sonda nám teda zaznamenáva napätie v obvode, druhá sonda bude zaznamenávať rýchlosť medzi komponentom rotačnej elektromotorickej sily a komponentom zotrvačnosti a tretia sonda bude zaznamenávať rýchlosť a akceleráciu medzi komponentom vôle a zotrvačnosti. Na obrázku 5.6 môžeme vidieť výsledky z tejto simulácie. Rýchlosť, ktorá zaznamenáva tretia sonda, je desaťnásobne menšia ako rýchlosť, ktorú zaznamenáva sonda číslo dva. Je to vďaka nastaveniu veličiny r v komponente Ideal Gear, ktorá predstavuje prevodový pomer medzi hnacím hriadeľom a poháňaným hriadeľom. Na týchto grafoch môžeme taktiež vidieť rozdiel v čase, kedy sa začína zvyšovať rýchlosť otáčok. Sonda číslo dva zaznamenáva zvyšovanie rýchlosti od prvej sekundy, zatiaľ čo tretia sonda zaznamenáva toto zvyšovanie rýchlosti až tesne pred začatím druhej sekundy. Je to spôsobené nastavením veličín v komponente Elasto-Backlash, ktorá reprezentuje vôľu v prevodovom systéme.

45

Obrázok 5.6: Výsledok simulácie elektromotora s prevodovkou (zľava: graf napätia, rýchlosti, akcelerácie, rýchlosti)

5.4 Ventilátor

V podkapitole 5.3 sme pomocou systému MapleSim 6.4 vytvorili model jednosmerného elektromotora, ku ktorému je pripojená prevodovka. V tejto podkapitole model opäť rozšírime a výsledkom bude model stropného ventilátora. Potrebujeme nasledujúce komponenty:  upevnený rám: Multibody - Bodies and Frames - Fixed Frame,  rám (6x): Multibody - Bodies and Frames - Rigid Body Frame,  otočný kĺb: Multibody - Joints and Motions - Revolute.

46

Komponenty prepojíme podľa nasledujúceho obrázku:

Obrázok 5.7: Ventilátor

Ďalej nastavíme hodnoty veličín jednotlivých komponentov: Ideal Gear: r = 3, Step: height = 220, Rigid Body Frame (prvý zľava): rxyz = [0, -0.1, 0] m, Rigid Body Frame (druhý zľava): rxyz = [0, -0.15, 0] m, Revolute: e1 = [0, 1, 0], Rigid Body Frame (pre všetky štyri nachádzajúce sa vpravo, zhora): rxyz = [0, 0, 0.5], rxyz = [0, 0, -0.5], rxyz = [0.5, 0, 0], rxyz = [-0.5, 0, 0]. Po spustení simulácie sa nám zobrazia výsledky simulácie podobné z podkapitoly 5.3. Dôležitejším faktom je ale vytvorenie trojdimenzionálneho modelu na ploche 3-D vizualizácie. Na tejto ploche môžeme vidieť fyzický model ventilátora, ktorý automaticky vytvoril systém MapleSim. Tento model je len akýmsi hrubým náčrtom modelu, ktorý sme namodelovali v systéme. V nasledujúcej podkapitole vzhľad tohto modelu vylepšíme pomocou vstavanej systémovej grafiky a externej takzvanej CAD grafiky. V menu plochy 3-D vizualizácie sa nachádzajú ovládacie prvky pre prezeranie modelu, ale aj prvky pre spustenie simulácie nášho modelu. Po spustení simulácie môžeme vidieť, že ventilátor sa roztočí po viac ako sekunde, čo je spôsobené nastavením oneskorenia v komponente Step, ale aj vôľou, ktorá je reprezentovaná komponentom Elasto-Backlash. Rýchlosť lopatiek ventilátora sa zväčšuje postupne a približne po prekročení štyroch sekúnd sa rýchlosť ustáli na maximálnej rýchlosti ventilátora. Zmenu rýchlosti môžeme meniť upravovaním prevodového pomeru (r) v komponente Ideal Gear alebo upravovaním koeficientu transformácie (k) v komponente Rotational EMF. Taktiež môžeme upravovať dĺžku simulácie, dĺžku lopatiek,

47 celkovú orientáciu ventilátora a podobne. Na obrázku 5.8 sa nachádza trojdimenzionálny model ventilátora zachytený v dvoch časových úsekoch.

Obrázok 5.8: Trojdimenzionálny model ventilátora

5.5 Vylepšenie vzhľadu trojdimenzionálneho modelu

Ako sme už spomenuli, systém MapleSim automaticky vygeneroval trojdimenzionálny model nášho systému. Tento model sa síce podobá skutočnému ventilátoru, ale pre jeho reálnejší vzhľad potrebuje niekoľko úprav. V systéme MapleSim môžeme využiť systémovú grafiku alebo externú takzvanú CAD grafiku. V prvom kroku odstránime štyri komponenty Rigid Body Frame nachádzajúce sa na ľavej strane plochy a pridáme nasledujúce komponenty, ktoré prepojíme podľa obrázku 5.9:  valec (2x): Multibody - Vizualization - Cylindrical Geometry,  externá grafika (4x): Multibody - Vizualization - CAD Geometry.

Obrázok 5.9: Vylepšenie vzhľadu trojdimenzionálneho modelu pomocou systémovej a CAD grafiky

48

V druhom kroku týmto komponentom upravíme hodnoty premenných, a to nasledovne: Cylindrical Geometry (nachádzajúci sa vľavo): radius = 0.2 m, farba = modrá, Cylindrical Geometry (nachádzajúci sa vpravo): radius = 0.1 m, farba = červená, CAD Geometry (prvý zhora): Translation Offset = [0, 0, 0.3] m, CAD Geometry (druhý zhora): Translation Offset = [0, 0, -0.3] m,  = [0, 180, 0], CAD Geometry (tretí zhora): Translation Offset = [0.3, 0, 0] m, 0

= [0, 90, 0] deg, CAD Geometry (štvrtý zhora): Translation Offset = [0, 0, -0.3] m,  0 = [0, 270, 0] deg. Ďalším krokom je pripojenie externej CAD grafiky ku komponentom CAD Geometry. Pripojenie uskutočníme tak, že v menu parametrov v záložke Inspector spomínaného komponentu pripojíme požadovanú grafiku, ktorá sa nachádza vo formáte .stl. V našom prípade ide o súbor „lopatka ventilatora.stl“, ktorý sme vytvorili konverziou súboru vo formáte .obj, v ktorom sme si tento objekt nadefinovali. Posledným krokom je nastavenie farby komponentov CAD Geometry a po spustení simulácie sa vykonané zmeny prejavia v trojdimenzionálnom modeli. Na obrázku 5.10 vidíme, že vzhľad modelu je výrazne realistickejší skutočnému ventilátoru, ktorý sa skladá z elektromotora (modrá časť), prevodovky (červená časť) a štyroch naklonených lopatiek ventilátora (zelená časť).

Obrázok 5.10: Vylepšený vzhľad trojdimenzionálneho modelu

5.6 Vytvorenie subsystémov

Na obrázku 5.7 a 5.9 sa nachádzajú modely celého ventilátora vrátane motora a prevodovky. Môžeme vidieť, že model je zložený z viac ako dvadsiatich komponentov a zaberá nám značnú časť pracovnej plochy. Model sa taktiež stáva trochu neprehľadným, a preto vytvoríme tri zdieľané subsystémy pre motor, prevodovku a ventilátor. Vytvorenie

49 subsystémov sme si opísali v sekcii 4.5.4 a výsledok môžeme vidieť na obrázku 5.11. Model sa nám veľmi zjednodušil, pretože sa v tejto chvíli skladá iba z troch subsystémov a zaberá minimum pracovnej plochy. Po dvojitom kliknutí na konkrétny subsystém sa hierarchicky posunieme do vnútra subsystému a zobrazia sa všetky komponenty, ktoré sme do neho zahrnuli.

Obrázok 5.11: Model ventilátora zloženého z troch susbsystémov (motor, prevodovka, ventilator)

V tejto kapitole sme si vytvorením modelu ventilátora s vlastným motorom a prevodovkou prakticky ukázali prácu so systémom MapleSim, ako aj výhody využívania modelovacích a simulačných nástrojov. Na tomto modeli môžeme upravovať vstupné podmienky pre simulácie veľmi rýchlo, a tak uskutočniť omnoho viac opakovaných pokusov ako pri fyzickom modeli. Ďalej môžeme upravovať hodnoty veličín jednotlivých komponentov pre dosiahnutie optimálnych výsledkov ventilátora s vedomím, že daný model nepoškodíme. Po získaní požadovaných výsledkov môžeme prejsť k výrobe skutočného ventilátora, ku ktorej pristupujeme s menším rizikom zlyhania a s istotou že výsledný fyzický model bude odpovedať počítačovému modelu, na ktorom sme vykonali všetky potrebné experimenty. V prvej kapitole sme sa zamerali na dôvody, prečo využívať tieto nástroje a mnohé z nich sme potvrdili aj na našom modeli. Na našom modeli sme taktiež mohli lepšie porozumieť niektorým procesom, ako je dopad prevodového pomeru, voľnosti, zotrvačnosti a tak ďalej.

50

Záver

Cieľom diplomovej práce bolo zhodnotiť súčasný stav informačných a komunikačných technológií pre modelovanie a simulácie procesov v praxi. Z týchto technológií sme vybrali systémy Maple 18 a MapleSim 6.4, ktoré sme podrobnejšie opísali a pomocou ktorých bol riešený a simulovaný problém z oblasti mechatroniky. V prvej kapitole sme čitateľov uviedli do problematiky modelovania a simulácie vysvetlením týchto pojmov a uvedením dôvodov, prečo využívať simuláciu procesov v praxi. V druhej kapitole sme sa zamerali na počítačové systémy označované ako CAS, teda systémy počítačovej algebry (Computer Algebra Systems). Predstavili sme si stručnú históriu týchto systémov, ako aj ich rozdelenie. Najdôležitejšou sekciou bolo vytvorenie abecedného zoznamu s výstižnou charakteristikou každého systému, najnovšou verziou systému, ako aj zoznam podporovaných platforiem operačných systémov. V tretej kapitole sme podrobnejšie opísali systém Maple 18. Nechýbajú informácie o novinkách nachádzajúcich sa v najnovšej verzii systému, predstavenie užívateľského rozhrania, stručný manuál pre prácu so systémom či rozdiely medzi systémami Maple a Mathematica. Štvrtá kapitola sa venovala nadstavbe systému Maple, a to systému MapleSim 6.4. V tejto kapitole sme uviedli vlastnosti tohto systému, ako aj informácie o fyzikálnom modelovaní v tomto systéme. Taktiež ako v prípade tretej kapitoly sme opísali užívateľské rozhranie, novinky nachádzajúce sa v najnovšej verzii systému a pridali sme tiež stručný návod pre prácu s týmto systémom. V poslednej piatej kapitole sme na niekoľkých nadväzujúcich príkladoch ukázali modelovanie a simulácie systémov v praxi. Postupne sme vytvorili model rezonančného obvodu, jednosmerný elektromotor, elektromotor s prevodkou a na koniec sme vytvorili model ventilátora s vlastným pohonom. Nechýbala ani analýza výsledkov z jednotlivých simulácií, ako aj vytvorenie vylepšenej grafickej podoby nášho modelu. Prínosom práce je vytvorený zoznam systémov, ktorý čitateľom uľahčí výber vhodného softvéru pre riešenie konkrétnych problémov. Čitatelia taktiež získajú základné teoretické, ale aj praktické vedomosti súvisiace s prácou s jedným z najlepších systémov danej kategórie, a to so systémom Maple vrátane jeho nadstavby systému MapleSim.

51

Literatúra

[1] HŘEBÍČEK, Jiří, Zdeněk POSPÍŠIL a Jaroslav URBÁNEK. Úvod do matematického modelování s využitím Maple. první. Brno: Akademické nakladatelství CERM, 2010. ISBN 978-80-7204-691-1. [2] Mathematica model. [online], aktualizácia 31.12.2013, [10.1.2014]. Dostupné na: . [3] Globus, Globen, Leuchtglobus direkt von Columbus. [online], [10.1.2014]. Dostupné na: . [4] Three Level Database Architecture. [online], [10.1.2014]. Dostupné na: . [5] Motor Trend. [online], aktualizácia 19.9.2011, [10.1.2014]. Dostupné na: . [6] Weather Forecast. [online], [10.4.2014]. Dostupné na: . [7] Computer Algebra System. [online], aktualizácia 22.1.2014, [30.1.2014]. Dostupné na: . [8] Základní popis systému Maple. [online], [30.1.2014]. Dostupné na: . [9] Počítačové algebraické systémy. [online], [30.1.2014]. Dostupné na: . [10] Symbolic Mathematical Computation Information Center. [online], [30.1.2014]. Dostupné na: . [11] List of Computer Algebra Systems. [online], aktualizácia 22.1.2014, [30.1.2014]. Dostupné na: . [12] Algebrator. [online], [5.2.2014]. Dostupné na: . [13] Axiom Computer Algebra System. [online], [5.2.2014]. Dostupné na: . [14] Cadabra. [online], [5.2.2014]. Dostupné na: . [15] CoCoA System. [online], [8.2.2014]. Dostupné na: . [16] Fermat, Computer Algebra System. [online], [8.2.2014]. Dostupné na: .

52

[17] The Form. [online], [8.2.2014]. Dostupné na: . [18] GAMS Home Page. [online], [9.2.2014]. Dostupné na: . [19] GAP System for Computational Discrete Algebra. [online], [9.2.2014]. Dostupné na: . [20] Kant/Kash. [online], [10.2.2014]. Dostupné na: . [21] LiveMath Software Products. [online], [10.2.2014]. Dostupné na: . [22] Maculary2. [online],[10.2.2014]. Dostupné na:. [23] Magma Computational Algebra System. [online], [10.2.2014]. Dostupné na: . [24] Maplesoft. [online], [10.2.2014]. Dostupné na: [25] PTC - Engineering Calculations Software. [online], [10.2.2014]. Dostupné na: . [26] : Technical Computing Software. [online], [17.2.2014]. Dostupné na: . [27] Mathomatic. [online], [17.2.2014]. Dostupné na: . [28] MATLAB - The Language of Technical Computing. [online], [17.2.2014]. Dostupné na: . [29] Maxima, a Computer Algebra System. [online], [17.2.2014]. Dostupné na: . [30] MuPAD - MATLAB. [online], [17.2.2014]. Dostupné na: . [31] PARI/GP Development Headquarters. [online], [18.2.2014]. Dostupné na: . [32] REDUCE Computer Algebra System. [online], [18.2.2014]. Dostupné na: . [33] Sage: Open Source Mathematics Software. [online], [18.2.2014]. Dostupné na: . [34] Singular. [online], [19.2.2014]. Dostupné na: . [35] SMath Studio. [online], [19.2.2014]. Dostupné na: .

53

[36] SymPy. [online], [19.2.2014]. Dostupné na: . [37] Xcas. [online], [19.2.2014]. Dostupné na: . [38] The Yacas computer algebra system. [online], [19.2.2014]. Dostupné na: . [39] HŘEBÍČEK, Jiří, Miroslav KUBÁSEK, Lukáš KOHÚT, Luděk MATYSKA, Lucia TOKÁROVÁ a Jaroslav URBÁNEK. Vědecké výpočty v matematické biologii. Brno: Akademické nakladatelství CERM, 2012. 117 s. Neuveden. ISBN 978-80-7204-781-9. [40] What is Maple: Product Features. [online], [3.3.2014]. Dostupné na: . [41] Maple | Maplesoft.cz. [online], [3.3.2014]. Dostupné na: . [42] Maple(software). [online], aktualizácia 31.1.2014 , [3.3.2014]. Dostupné na: [45] Maple User Manual. [online]. Dostupné na: . [46] How Maple Compares to Mathematica. [online]. Dostupné na: . [47] Key Features of MapleSim. [online], [28.3.2014]. Dostupné na: . [48] MapleSim | Maplesoft.cz. [online], [28.3.2014]. Dostupné na: . [49] MapleSim User’s Guide. [online], [4.5.2014]. Dostupné na: .

54

[51] MapleSim Connector. [online], [10.5.2014]. Dostupné na: . [52] Simulink - Simulation and Model-Based Design. [online], [10.5.2014]. Dostupné na: .

55

Príloha: Obsah CD priloženého k diplomovej práci

 Diplomová práca - Káčerik Tibor.docx  Diplomová práca - Káčerik Tibor.pdf  Priečinok Obrázky - obrázky použité v diplomovej práci  Priečinok Príklady - ukážkové príklady modelované systémom MapleSim 6.4  RLC obvod.msim  Jednosmerny elektromotor.msim  Jednosmerny elektromotor s prevodovkou.msim  Ventilator.msim  Ventilator so subsystemami.msim  Ventilator s grafikou.msim  Ventilator s grafikou so subsystemami.msim  lopatka ventilatora.obj  lopatka ventilatora.stl

56