Cvičící: Vojtěch Franc, Daniel Průša, Karel Zimmermann, Jan Heller.
Cvičení jsou dvojího typu:
Zprávu je nutno odevzdat do příštího cvičení pomocí odevzdávacího systému. Úlohy se bodují a pozdní odevzdání je penalizované snížením bodového ohodnocení. Body ze cvičení budou tvořit část z celkového počtu bodů, ze kterého se odvozuje výsledná známka (viz sekce Hodnocení na stránce předmětu).
Na cvičeních budete používat systém Matlab, který sdružuje prostředky pro výpočty, vizualizaci, ladění a programování numerických úloh. Nezoufejte, že se musíte učit další programovací jazyk - je to velmi jednoduché. Matlab je široce rozšířeným systémem pro vědecko-technicé výpočty (je používán na více než 3500 universitách a ve stovkách firem), jeho znalosti tedy nebudete litovat.
Matlab není zadarmo. ČVUT má nicméně multilicenci, student si Matlab tedy může nainstalovat doma s pomocí Hlavního přístupového hesla. Instalace poběží na jakémkoliv stroji trvale připojeném na síť. V nouzi lze použít volně dostupnou okleštěnou variantu Matlabu zvanou Octave.
Jak se naučit Matlab? V prvním cvičení s vámi projdeme základní příkazy. Pak doporučujeme si vytisknout a doma přečíst tento tutorial, který je sice napsán pro starou verzi, ale stále vyhovuje. A zbytek se naučíte používáním a stálým vypisováním dokumentace příkazem 'help'. Nadšený student ocení dále např. knihu o numerickém počítání v Matlabu.
Jak správně pracovat s Matlabem. Matlab má integrované příkazové okno, grafiku, editor a debugger. I když to svádí pracovat často s myší, tak ten správný způsob práce je z příkazové řádky. Z té zadáváme příkazy, vypisujeme proměnné, spouštíme vytvořený kód. Jednou z mála výjimek je debugger, který je pohodlnější obsluhovat myší. Student typicky postupuje tak, že naprogramuje požadovanou úlohu, kód spustí, a ono to nechodí. A on/ona nešťastně kouká na kód a neví. Je třeba kód odladit řádek po řádce! Matlab umožňuje velice hutný zápis a proto často jediný řádek programu dělá velmi mnoho a může být zcela špatně. Je nutné každý řádek otestovat co nejpečlivěji: vypsat si vektory a matice před a po jeho vykonání a zkotrolovat, zda splňují všechny matematické vztahy, které mají splňovat.
| # | Po | Ct | Pa | Obsah |
|---|---|---|---|---|
| 1 | 19.9. | 22.9. | 23.9. | Úvod do Matlabu: Tutorial v html |
| 2 | 26.9. | 29.9. | 30.9. | Příklady u tabule ze skripta. Za domácí úkol vypracujte úlohy 1.1c,e,f,h, 1.3d,f, 1.4b,d,e. Řešení (tj. stručný popis postupu a výsledek) odevzdejte v podobě zprávy v PDF do příštího cvičení pomocí automatického odevzdávacího systému. |
| 3 | 3.10. | 6.10. | 7.10. | Příklady u tabule z tohoto seznamu. Za domácí úkol 9, 10, 7. (Malá změna v příkladu 10 dne 7.10. večer.) |
| 4 | 10.10. | 13.10. | 14.10. | Metoda nejmenších čtverců. Zadání úlohy je zde. |
| 5 | 17.10. | 20.10. | 21.10. | Metoda nejmenších čtverců II. Zadání úlohy je zde. |
| 6 | 24.10. | 27.10. | 4.11 | Rozklad matice podle singulárních čísel. Zadání úlohy je zde. |
| 7 | 31.10. | 3.11. | 11.11. | Derivace a Taylorův polynom. Zadání úlohy je zde (pdf soubor) |
| 8 | 7.11. | 10.11. | 25.11. | Nelineární nejmenší čtverce. Zadání úlohy. |
| 9 | 14.11. | 24.11. | 2.12. | Příklady u tabule na Lagrangeovy multiplikátory z tohoto seznamu. |
| 10 | 21.11. | 1.12. | 9.12. | Lineární programování I. Zadání úlohy je zde. |
| 11 | 28.11. | 8.12. | 16.12. | Příklady u tabule na LP z tohoto seznamu. |
| 12 | 5.12. | 15.12. | 19.12. | Lineární programování II – Simplexová metoda [pdf] |
| 13 | 12.12. | 22.12. | 23.12. | Dualita v LP. Zápočet. |
Při řešení úloh může být lákavé “spolupracovat” s kamarády, ať již formou osobního kontaktu nebo přes společně sdílené internetové stránky. Tato činnost může lehce přerůst v plagiátorství. Tím se v našem kursu myslí přebírání řešení úloh od jiných studentů (včetně vašich předchůdců z minulých let) nebo poskytování tohoto jiným studentům. Plagiátorství, tuto ostudu české studentské kultury, budeme nemilosrdně trestat.
Na druhou stranu vám nezakazujeme se o látce spolu bavit, naopak! Kde je hranice, co se smí a co už ne? Nesmím se vyhnout intelektuální práci na úloze a jejímu porozumění díky tomu, že ji za mne vypracoval někdo jiný. Rozhodně za hranicí je přebírat kód (nebo jeho části) od jiných studentů nebo ho dávat někam na web.