Detail předmětu
Programování v Pythonu pro fyziky
FSI-TPY Ak. rok: 2026/2027 Zimní semestr
Kurz učí studenty efektivně používat jazyk Python pro numerické výpočty, simulace a vizualizaci fyzikálních jevů. Důraz je na aplikace v klasické fyzice a inženýrství – bez statistiky, ale s důrazem na algoritmické myšlení a praktické dovednosti.
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Jazyk výuky
čeština
Cíl
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Použití předmětu ve studijních plánech
Program B-FIN-P: Fyzikální inženýrství a nanotechnologie, bakalářský
obor ---: bez specializace, 2 kredity, povinně volitelný
Typ (způsob) výuky
Přednáška
13 hod., nepovinná
Osnova
Osnova (12 týdnů, 2 h/týden)
- Týden 1: Úvod a vědecký ekosystém Pythonu – NumPy, SciPy, Matplotlib, Pandas; Jupyter Notebook, správa skriptů
- Týden 2: Základy práce s daty – Načítání, filtrování, úprava a vizualizace dat (CSV, TXT); grafy a tabulky
- Týden 3: Numerická derivace a integrace – numpy.gradient, trapézové a Simpsonovo pravidlo; aplikace: výpočet práce a energie
- Týden 4: Řešení diferenciálních rovnic – Metoda Eulerova, Runge–Kutta, solve_ivp; modely: tlumený oscilátor, volný pád
- Týden 5: Lineární algebra v praxi – Matice, vektory, inverze, řešení soustav rovnic (numpy.linalg.solve)
- Týden 6: Interpolace a aproximace – interp1d, polynomická a spline interpolace, aplikace na experimentální data
- Týden 7: Fourierova transformace – Základy FFT, spektrální analýza, frekvenční filtrace signálu
- Týden 8: Numerické simulace fyzikálních procesů – 1D pohyb částice, kmitání, přenos tepla – tvorba jednoduchých modelů
- Týden 9: Numerická simulace 2D pohyb částice – balistická křivka
- Týden 10: Vizualizace a animace – 3D grafy, animace s FuncAnimation, vizualizace trajektorií a polí
- Týden 11: Projektové programování a OOP – Struktura většího programu, moduly, funkce, práce s datovými sadami
- Týden 12: Mini-projekty a shrnutí – Prezentace simulací nebo modelů, diskuze, závěrečné shrnutí metod
Výstupy učení
Student:
- efektivně používá knihovny NumPy, SciPy, Matplotlib
- umí numericky řešit diferenciální rovnice a integrály,
- simuluje jednoduché fyzikální procesy,
- připraví vizualizace a animace dat,
- zvládá strukturovat kód a organizovat projekt v Pythonu.
Cvičení s počítačovou podporou
13 hod., povinná
Osnova
- Instalace Pythonu – Anaconda. ChatGPT.
- Správa verzí – GitHub
- Seznamy, n-tice, slovníky.
- Numpy – vektory a matice, maticové operace, maticové a indexové výrazy
- Řídicí struktury.
- Matplotlib – Kreslení grafů: graf bodů v rovině, prostorová křivka, plochy, grafy diskrétních dat.
- Vstup a výstup dat – práce s textem, regulární výrazy.
- Funkce: vestavěné, uživatelem definované, typy parametrů, rekurze.
- Numerická derivace a integrace. Řešení ODR.
- Aplikace objektového přístupu na řešení problému více těles.
- Optimalizační úloha.
- Semestrální práce.
- Odevzdání semestrální práce.