Výuka probíhá prezenčně ve čtvrtek 15:40 - 17:10, počítačová učebna N10, Impakt, Troja.
1. cvičení | 17.2.2022 | Úvod, organizace cvičení Newtonův zákon vedení tepla Hledání minima pomocí Řešitele v Excelu |
Soubor s daty: kafe.txt Řešení v Excelu: kafe.xlsx |
---|---|---|---|
2. cvičení | 24.2.2022 | Jednoduché řešení diferenciálních rovnic Verzovací systém Git: - Úvodní nastavení - 4 stavy souborů v repozitáři - Inicializace nového repozitáře - Zapsání (commit) |
Řešení v Excelu: kafe.xlsx |
3. cvičení | 3.3.2022 | Obyčejné diferenciální rovnice Soustavy diferenciálních rovnic Eulerova metoda 1. a 2. řádu Kontrola chyby |
Repozitář s kódem: PCInPhysics2022 |
4. cvičení | 10.3.2022 | Soustavy obyčejných diferenciálních rovnic Runge-Kuttova metoda 4. řádu Lorenzův systém |
Domácí úkol na 17.3.2022 (odevzdávejte mailem na pcfyzika@pavelstransky.cz) |
5. cvičení | 17.3.2022 | Náhodná procházka ve 2D Hledání minima funkce dvou proměnných |
Domácí úkol na 24.3.2022 (odevzdávejte mailem na pcfyzika@pavelstransky.cz) |
6. cvičení | 24.3.2022 | Metropolisův algoritmus Hledání globálního minima funkce více proměnných GitHub |
|
7. cvičení | 31.3.2022 | Histogram Centrální limitní věta |
|
8. cvičení | 7.4.2022 | Generování výběru z libovolného rozdělení Gaussovské normální rozdělení Git - větve, vzdálené repozitáře |
Domácí úkol na 14.4.2022 (odevzdání přes přístup do vašeho vzdáleného reopozitáře) |
9. cvičení | 14.4.2022 | Stíhací křivka Obsluha událostí |
|
10. cvičení | 21.4.2022 | Integrace Monte-Carlo | Domácí úkol na 28.4.2022 (odevzdání přes Váš vzdálený repozitář) |
11. cvičení | 28.4.2022 | Paralelní programování | |
12. cvičení | 5.5.2022 | LaTeX (Jiří Dolejší) | |
13. cvičení | 12.5.2022 | Mathematica Symbolické výpočty |
|
14. cvičení | 19.5.2022 | Zápočtová písemka |
Během dálkové výuky v době koronavirové pandemie jsem sepsal studijní text, jehož součástí jsou i vzorově vypracované úlohy dostupné v repozitáři na Githubu. Jelikož velké části témat z textu se budeme věnovat i letos během prezenční výuky, doporučuji brát tento text jako studijní materiál.
= uznaný domácí úkol
Kód | 1 | 2 | 3 | 4 |
---|---|---|---|---|
027 | ||||
170 | - | |||
199 | - | |||
318 | - | |||
376 | - | |||
465 | - | - | ||
532 | ||||
602 | - | |||
784 | ||||
843 |
Účelem cvičení je pohrát si s jednoduchými fyzikálními problémy, vyzkoušet si různé způsoby jejich řešení (i triviální řešení je řešení) a naučit se zobrazovat výsledky. Většina příkladů bude demonstrována v populárním programovacím jazyce Python, ale dojde i na základy psaní textů v LaTeXu a úvod do použítí komerčního nástroje Mathematica. V průběhu cvičení se také naučíte základy verzovacího systému Git. Další informace k předmětu jsou na stránce SISu.
Ve cvičení nebude probíhat systematická výuka žádného programovacího jazyka ani numerických algoritmů. Pro prohloubení vašich znalostí doporučuji specializované přednášky na oboru fyzika, například
a nepřeberně přednášek na oboru informatika.
Fyzika, matematika, numerika, algoritmy
Techniky
Včas odevzdané odladěné programy alespoň za tři témata probraná na cvičení: Na cvičeních budeme probírat uzavřená témata, v rámci kterých společně napíšeme krátké programy. Po dokončení tématu zadám ještě doplňující drobné úkoly na doma, které budou napsaný program rozšiřovat. Pokud program odevzdáte funkční a srozumitelně napsaný nejpozdějí do následujícího cvičení, bude uznán pro zápočet.
Vytvoření vlastního programu: Naprogramujete řešení nějakého fyzikálního problému, který si zvolíte podle svých vlastních zájmů a zálib. Program by neměl být totožný s těmi, za které jste (byli, budete) klasifikováni v jiných předmětech, a neměl by být kopií nebo triviální úpravou programů běžně dostupných na webu. Doporučuji vám, abyste se mnou zadání konzultovali, než se pustíte do práce.
Zápočtová úloha: Na posledním cvičení semestru uložím zápočtovou úlohu, která bude vycházet z problémů procvičených během semestru. Na její vypracování bude omezené množství času (doba trvání cvičení).
K zápočtu tedy vede více možných cest a je na vás, jakou si dle svých preferencí zvolíte.
Ačkoliv převážná část předmětu bude demonstrována příklady v programovacím jazyce Python 3 a vývojovém prostředí Visual Studio Code, rozhodně není nutné, abyste úkoly nebo zápočtové programy vypracovávali pomocí stejných nástrojů. Zvolte si sami, jaký jazyk či vývojové prostředí jsou vám sympatické. Obecně doporučuji takové programovací jazyky, které mají dobrou podporu, jsou živé a ideálně pro které existují kvalitní numerické knihovny a knihovny pro vykreslování grafů. Sám jsem zběhlý v jazycích C/C++, C#, Python, Julia, Mathematica, PHP, Javascript, SQL, Pascal. V nich vám budu schopen poradit, pokud si s něčím nebudete vědět rady.
Na webu existuje nepřeberné množství tutoriálů a návodů k Pythonu a jeho knihovnám, které vám pomůžou s konkrétními problémy. Zde uvádím spíš monografie pro pokročilejší, v nichž naleznete seriózní příklady využití tohoto programovacího jazyka ve vědě.
[1] | P.R. Turner, T. Arildsen, K. Kavanagh, Applied Scientific Computing With Python (Springer 2018) |
---|---|
[2] | R. Johansson, Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib (Springer 2019) |
[3] | S. Nagar, Introduction to Python for Engineers and Scientists (Springer 2018) |
[4] | S. Lynch, Dynamical Systems with Applications using Python (Springer 2018) |
[5] | B.J. Korites, Python Graphics: A Reference for Creating 2D and 3D images (Springer 2018) |
Pokud se chcete na cokoliv zeptat nebo si potřebujete něco vyjasnit, napište mi e-mail či mě kontaktujte mě přes Skype (pavelstransky).