Analytická Řešení Vybraných Typů Diferenciálních Rovnic

Analytická Řešení Vybraných Typů Diferenciálních Rovnic

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ FACULTY OF MECHANICAL ENGINEERING ÚSTAV AUTOMATIZACE A INFORMATIKY INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE ANALYTICKÁ ŘEŠENÍ VYBRANÝCH TYPŮ DIFERENCIÁLNÍCH ROVNIC: SOFTWAROVÁ PODPORA PRO STUDENTY TECHNICKÝCH OBORŮ ANALYTICAL SOLUTIONS FOR SELECTED TYPES OF DIFFERENTIAL EQUATIONS: SOFTWARE SUPPORT TOOL FOR STUDENTS IN TECHNICAL FIELDS BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE Daniel Neuwirth, DiS. AUTHOR VEDOUCÍ PRÁCE Ing. Jan Roupec, Ph.D. SUPERVISOR BRNO 2017 ABSTRAKT Cílem této práce bylo vytvořit počítačovou aplikaci s jednoduchým uživatelským rozhraním, určenou pro řešení vybraných typů diferenciálních rovnic, jejíž výstup není omezen na prosté zobrazení konečného výsledku, nýbrž zahrnuje i kompletní postup výpočtu, a díky tomu může sloužit jako podpůrná výuková pomůcka pro studenty vysokých škol. ABSTRACT The aim of this thesis was to create a computer application with a simple user interface for solving selected types of differential equations, whose output is not limited to display a final result only, but also includes a complete calculation procedure and therefore can serve as a supportive teaching aid for university students. KLÍČOVÁ SLOVA diferenciální rovnice, počítačový algebraický systém, programovací jazyk C++ KEYWORDS differential equation, computer algebra system, C++ programming language BIBLIOGRAFICKÁ CITACE NEUWIRTH, Daniel. Analytická řešení vybraných typů diferenciálních rovnic: softwarová podpora pro studenty technických oborů. Brno: Vysoké učení technické v Brně, Fakulta strojního inženýrství, 2017. 77 s. Vedoucí bakalářské práce Ing. Jan Roupec, Ph.D. PODĚKOVÁNÍ Rád bych poděkoval vedoucímu své bakalářské práce Ing. Janu Roupcovi, Ph.D. za odborné vedení při tvorbě této práce, za cenné rady a návrhy ke zlepšení, drobné korektury a zejména za jeho entuziasmus, se kterým k tomuto procesu přistupoval. ČESTNÉ PROHLÁŠENÍ Prohlašuji, že tato práce je mým původním dílem, zpracoval jsem ji samostatně pod vedením Ing. Jana Roupce, Ph.D. a s použitím literatury uvedené v seznamu literatury. V Brně dne 25. 5. 2017 ……………………………………………… Daniel Neuwirth OBSAH 1 ÚVOD..............................................................................................................................15 2 DIFERENCIÁLNÍ POČET..........................................................................................17 2.1 Derivace......................................................................................................................17 2.2 Vztah mezi diferenciálním a integrálním počtem.......................................................18 2.3 Diferenciální rovnice..................................................................................................18 2.3.1 Základní pojmy...........................................................................................................18 2.3.2 Využití v technických oborech....................................................................................19 2.3.3 Druhy diferenciálních rovnic......................................................................................20 2.3.3.1 Obyčejné a parciální diferenciální rovnice.................................................................20 2.3.3.2 Lineární a nelineární diferenciální rovnice.................................................................20 2.3.3.3 Koeficienty v diferenciálních rovnicích......................................................................20 2.3.3.4 Homogenní a nehomogenní diferenciální rovnice......................................................21 2.3.4 Způsoby řešení diferenciálních rovnic........................................................................21 2.3.4.1 Diferenciální rovnice 1. řádu......................................................................................21 2.3.4.2 Diferenciální rovnice vyšších řádů.............................................................................21 2.3.5 Wronskián...................................................................................................................24 2.3.6 Určení konstant...........................................................................................................24 3 DOSTUPNÉ SOFTWAROVÉ NÁSTROJE................................................................25 3.1 Webové aplikace.........................................................................................................26 3.1.1 WolframAlpha.............................................................................................................26 3.1.2 Mathics........................................................................................................................27 3.2 Komerční desktopové aplikace...................................................................................27 3.2.1 Maple..........................................................................................................................28 3.2.2 Mathematica................................................................................................................28 3.2.3 MATLAB....................................................................................................................28 3.3 Open-source desktopové aplikace...............................................................................29 3.3.1 Maxima.......................................................................................................................29 3.3.2 GNU Octave................................................................................................................30 3.3.3 Další alternativy..........................................................................................................31 4 PROSTŘEDKY PRO VÝVOJ APLIKACE................................................................33 4.1 Programovací jazyky..................................................................................................33 4.1.1 Paradigmata programovacích jazyků..........................................................................33 4.1.2 Dělení programovacích jazyků...................................................................................34 4.1.3 Typový systém............................................................................................................35 4.1.4 Programovací jazyk C++............................................................................................36 4.1.4.1 Standardy jazyka C++.................................................................................................37 4.1.4.2 Nové prvky v C++11...................................................................................................37 4.1.4.3 Standardní knihovna...................................................................................................39 4.2 Vývojový framework Qt.............................................................................................39 13 4.2.1 Mechanismus signálu a slotu......................................................................................40 4.2.2 Kompilace a sestavení aplikace v Qt..........................................................................40 4.2.2.1 Statické sestavení aplikace v systému Windows........................................................41 4.2.3 Ladění aplikace v Qt...................................................................................................42 4.3 Systém kontroly verzí Mercurial................................................................................43 5 IMPLEMENTACE APLIKACE..................................................................................45 5.1 Jádro aplikace..............................................................................................................45 5.1.1 Třída Equation............................................................................................................45 5.1.1.1 Funkce generalSolution..............................................................................................46 5.1.1.2 Funkce computeDerivatives........................................................................................47 5.1.1.3 Funkce computeWronskian.........................................................................................48 5.1.1.4 Funkce determineValuesOfConstants.........................................................................49 5.1.2 Třída CharEq...............................................................................................................50 5.1.2.1 Funkce rootsOfQuadraticEquation.............................................................................51 5.1.2.2 Funkce rootsOfCubicEquation....................................................................................51 5.1.2.3 Funkce rootsOfQuarticEquation.................................................................................52 5.2 Uživatelské rozhraní...................................................................................................53 5.2.1 Hlavní okno aplikace..................................................................................................54 5.2.1.1 Funkce checkForSyntaxErrors....................................................................................55 5.2.1.2 Funkce submitEquationClicked..................................................................................55 5.2.2 Zobrazení postupu výpočtu.........................................................................................56

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    68 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us