MFF UK / Ústav teoretické fyziky / Tomáš Ledvinka
Přednášky
. . . . . . . . . . . . . . . . . . . . . . . . . .
Programování pro fyziky (1.r)
Počítačová algebra
Klasická elektrodynamika (2.r)
Klas. teorie záření
Numerická relativita
Vybrané partie OTR

Cvičení
. . . . . . . . . . . . . . . . . . . . . . . . . .
Programování pro fyziky (1.r)
Teoretická mechanika (2.r)
Klasická elektrodynamika (2.r)
Programování prakticky
  Úvod


Věda
. . . . . . . . . . . . . . . . . . . . . . . . . .
Diskové zdroje v OTR
Hyperbolické systémy v OTR


Kontakt
. . . . . . . . . . . . . . . . . . . . . . . . . .
Email
Konzultační hodiny


Ostatní
. . . . . . . . . . . . . . . . . . . . . . . . .
Mallorca
Ze společnosti

Programování prakticky - NOFY081

Obsah cvičení

  1. Celočíselné a reálné proměnné. Řešíme kvadratickou rovnici iterací pdf. (Zajímavost pro pokročilejší -- Zkoumáme konvergenci posloupnosti kód)
  2. Funkce a procedury -- Nejjednoduší funkce ( faktorial, součet aritmetické řady, rekurzivní výpis číslic daného čísla ). Demonstrace volání na http://pythontutor.com
  3. Syntaxe příkazů. pdf. Řazení příkazů, želví grafika, sledovací křivka (kód). (Problémy pro zájemce)
  4. Pole. Příklad na cvičení: Histogram a jako pdf

Domácí úlohy

  1. Přepis jednoduché funkce z Pascalu do Pythonu. Zadání
  2. Histogram. Zadání
  3. Interpolace. Zadání
  4. Kořen. Zadání

Důležité odkazy

Pascal

Stačí nám konsolové programy v prostředí Lazarus. Instalace pro Win10 je zde.

Python

Jako vývojové prostředí pro offline práci na vlastním počítači dooporučuji prostředí Spyder. Nástrahy instalace pro Win10 jsou vysvětleny ve videu zde.

Budeme často používat online prostředí unožňující spouštět naše jednoduché programy. V jazyce Python to budou např.
Často budeme používat knihovnu matplotlib pro malování grafů.
Podobně povrchně budeme používat knihovnu numpy. Dokumentace
Hodí se i dokumentace k syntaxi poznámek (tzv. markdown).

Gnuplot

Vše potřebné nazlenete zde: gnuplot.info

Cvičení 2020

Pro zajímavost zde nechávám obsah z minulého roku.
  1. Příklady programovacích jazyků, procedurálního a funkcionálního přístupu. Celočíselné a reálné proměnné. Jednoduché funkce.
  2. Výstup programu. Řetězení programů. Gnuplot.
  3. Program vs. pracovní sešit. Jupyter, Mathematica, Maple. Příklady (Malujeme funkci)
  4. Ještě trochu gnuplotu (příklad).
  5. Záludnosti čísel v počítači. Screencast youtube, jupyter pdf a sešit.
  6. NSD a půlení intervalu. Screencast youtube, jupyter pdf a sešit.
  7. Newtonova metoda. Screencast youtube, jupyter pdf a sešit.
  8. Čtení ze souboru, ukládání dat do pole. Screencast youtube, Python skript, jupyter pdf a sešit.
  9. Opět pole. Pokus o Conwayův celulární automat Life. Screencast youtube, Python skript a jupyter sešit.
  10. Pole III. Řešení soustav rovnic: Gaussova-Jordanova eliminace. Řešení soustav nelineárních rovnic Newtonovou-Raphsonovou metodou. Screencast youtube, Pascal zdroják a jupyter sešit a pdf.
  11. Řešení obyčejných diferenciálních rovnic zdrojový kód

Sylabus

Překladač a interpret, vývojové prostředí, příkazový řádek. Proměnné, datové typy, výrazy, příkazy. Nástrahy při práci s celočíselnými a reálnými datovými typy. Příklady: součty a součiny řad, kvadraturní vzorce (lichoběžníkové a Simpsonovo pravidlo).
Náhodná čísla. Příklady: metoda Monte Carlo (vlastnosti generátorů náhodných čísel, integrování Monte Carlo).
Datové soubory. Vizualizace dat. Příklady: generování fraktálů (Mandelbrotova množina).
Pole. Procedury a funkce, předávání argumentů. Příklady: lineární algebra (maticové násobení, řešení soustav lineárních algebraických rovnic), polynomická aproximace (lineární regrese aj.), hledání kořenů (bisekce), řešení počáteční úlohy pro obyčejné diferenciální rovnice (pohyb v gravitačním poli).


.