Python pro vědecké výpočty a řízení (2375004)
Katedra: | ústav přístrojové a řídící techniky (12110) |
Zkratka: | | Schválen: | 10.09.2012 |
Platí do: | ?? | Rozsah: | 2P+2C |
Semestr: | * | Kredity: | 4 |
Zakončení: | KZ | Jazyk výuky: | CS |
Anotace
Vědecké výpočty a zpracování online měřených dat v programovém prostředí objektově orientovaného skriptovacího jazyka Python, komunikace s připojenými zařízeními, ukládání a vizualizace online měřených dat do PC v reálném čase v Pythonu. Knihovny, řešení běžných úloh numerické matematiky, vytváření uživatelských rozhraní, vizualizace. Ukázky řešených problémů. Klasifikace na základě řešení individuálně zadaného projektu. Během kurzu budou diskutovány analogie prostředí Matlab.
Vyučující
Ing. Michal Kuchař
Letní 2022/2023
Ing. Matouš Cejnek Ph.D.
Letní 2021/2022
Ing. Adam Peichl
Letní 2021/2022
Ing. Matouš Cejnek Ph.D.
Zimní 2021/2022
Ing. Adam Peichl
Zimní 2021/2022
Ing. Matouš Cejnek Ph.D.
Letní 2020/2021
Ing. Matouš Cejnek Ph.D.
Zimní 2020/2021
Ing. Adam Peichl
Zimní 2020/2021
Osnova
1. Seznámení s prostředím Python a jeho možnostmi, procedurální programování a skriptování, IDLEX , Spyder.
2. Python a objektové programování: funkce, metody, objekty, třídy, dědičnost, zapouzdřenost, polymorfismus.
3. Python pro vědecké výpočty a zpracování dat (knihovny NumPy, Scipy)
4. Práce s vektory a maticemi, maticové operace; řešení soustav lineárních rovnic v Pythonu, symbolické výpočty v Pythonu (Sympy)
5. Vlastní čísla a vektory v Pythonu; komprese dat metodou PCA v Pythonu
6. Vizualizace dat: knihovna MatplotLib, PyQtGraph
7. Jednoduchý ODE solver pro simulaci diferenciálních rovnic a jejich soustav; výpočet časově diskrétní (diferenční) rovnice v Pythonu
8. Vizualizace a zpracování signálů v Pythonu (statistické ukazatele, korelační analýza, analýza šumu v datech, výkonové spektrum, Entropie signálu v plovoucím okně)
9. Základní algoritmy aproximace statických funkcí (gradientová kroková metoda, dávkový algoritmus Levenberg-Marquardt) a jejich implementace v Pythonu
10. Příklady aproximace dynamických systémů gradientovou metodou v Pythonu
11. Příklad adaptivní optimalizace parametrů zpětnovazebního regulátoru v Pythonu
12. Hardware pro Python, měření přes USB/Ethernet (LabJack, Raspberry Pi, Q-Python for Android.)
13. Tvorba uživatelského rozhraní (GUI): Tkinter, wxPython
14. Tvorba dokumentace programů v Pythonu: Sphinx
Osnova cvičení
Procvičení látky z přednášky a řešení individuálně zadaného projektu. Všechna cvičení v počítačové učebně (pravděpodobně 404 a, Linux nebo Windows).
Literatura
http://users.fs.cvut.cz/ivo.bukovsky/PVVR/
https://moodle.fs.cvut.cz/login/index.php
Požadavky
K udělení zápočtu se požaduje docházka na přednášky a cvičení, aktivní účast při cvičeních a nastudování zadaného tématu a zpracování semestrální úlohy včetně praktické části vyřešení online záznamu reálných dat a jejich zpracování. Studenti by měli mít základní znalosti pojmů z kurzů matematiky prvního a druhého ročníku. Nejsou kladeny nároky na znalost konkrétního SW. Předmět není omezen na studenty automatizace a informatiky.
Klíčová slova
Python, vědecké výpočty, maticové operace, řešení lineárních rovnic, objektové programování v Pythonu, komprese dat PCA, simulace řešení diferenciální rovnice (ODE solver), výpočet diferenční rovnice, tvorba uživatelského rozhraní (GUI), online záznam měřených dat do PC, vizualizace dat, zpracování dat, gradientová optimalizace, Levenberg-Marquardt algoritmus, aproximace statických funkcí, aproximace dynamického systému z reálných dat, Windows, Linux