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.

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

  1. Instalace Pythonu – Anaconda. ChatGPT.
  2. Správa verzí – GitHub
  3. Seznamy, n-tice, slovníky.
  4. Numpy – vektory a matice, maticové operace, maticové a indexové výrazy
  5. Řídicí struktury.
  6. Matplotlib – Kreslení grafů: graf bodů v rovině, prostorová křivka, plochy, grafy diskrétních dat.
  7. Vstup a výstup dat – práce s textem, regulární výrazy.
  8. Funkce: vestavěné, uživatelem definované, typy parametrů, rekurze.
  9. Numerická derivace a integrace. Řešení ODR.
  10. Aplikace objektového přístupu na řešení problému více těles.
  11. Optimalizační úloha.
  12. Semestrální práce.
  13. Odevzdání semestrální práce.