Zákady algoritmizace a programování (2012036)
Katedra: | ústav technické matematiky (12101) |
Zkratka: | ZAPG | Schválen: | 24.03.2022 |
Platí do: | ?? | Rozsah: | 1P+2C+0L |
Semestr: | | Kredity: | 3 |
Zakončení: | KZ | Jazyk výuky: | CS |
Anotace
Úvod do programování v prostředí MATLAB a v jazyce C. Práce s prostředím MATLAB. Základní příkazy, proměnné, přiřazení, výraz. Matice a vektory, operace s nimi. M-skript, jeho vytvoření.Příkazy vstupu a výstup. Podmíněný příkaz. Cyklus. Algoritmizace jednoduchých úloh v MATLABu. Grafické příkazy. Maticové operace. Soustavy lineárních rovnic. Skripty a funkce.
Osnova
Algorimus a algoritmizace. Zápis jednoduchého programu, proměnná výraz a přiřazení. Jednoduché úlohy.
Příkazy vstupu/výstupu. Podmíněný příkaz (if, else) a přepínač (switch). Příkaz skoku.
Úlohy s posloupnostmi (např. součet, max/min). Cyklus (while, for).
Vektory a matice. Pole a práce s ním. Funkce, její použití, deklarace a definice.
Funkce pro práci s vektory a s maticemi. Práce se soubory.
Numerická integrace. Lichoběžníková metoda, Simpsonovo pravidlo. Odhad chyby numerické integrace.
Algoritmy hledání řešení rovnice f(x)=0, metoda půlení intervalu, metoda sečen, Newtonova metoda. Numerická derivace.
Algoritmy třídění: přímým výběrem, bublinkové. Složitost algoritmu a rychlé algoritmy. Fourierova transformace a její použití.
Interpolace polynomem a princip interpolace pomocí spline funkce. Metoda nejmenších čtverců.
Strukturované proměnné a jejich použití.
Matice a základní aritmetické operace s nimi, jejich realizace.
Algoritmus Gaussovy eliminace a jeho realizace pro řešení soustav lineárních rovnic. LU rozklad. Inverzní matice. Řídké matice.
Osnova cvičení
Algorimus a algoritmizace. Zápis jednoduchého programu, proměnná výraz a přiřazení. Jednoduché úlohy.
Příkazy vstupu/výstupu. Podmíněný příkaz (if, else) a přepínač (switch). Příkaz skoku.
Úlohy s posloupnostmi (např. součet, max/min). Cyklus (while, for).
Vektory a matice. Pole a práce s ním. Funkce, její použití, deklarace a definice.
Funkce pro práci s vektory a s maticemi. Práce se soubory.
Numerická integrace. Lichoběžníková metoda, Simpsonovo pravidlo. Odhad chyby numerické integrace.
Algoritmy hledání řešení rovnice f(x)=0, metoda půlení intervalu, metoda sečen, Newtonova metoda. Numerická derivace.
Algoritmy třídění: přímým výběrem, bublinkové. Složitost algoritmu a rychlé algoritmy. Fourierova transformace a její použití.
Interpolace polynomem a princip interpolace pomocí spline funkce. Metoda nejmenších čtverců.
Strukturované proměnné a jejich použití.
Matice a základní aritmetické operace s nimi, jejich realizace.
Algoritmus Gaussovy eliminace a jeho realizace pro řešení soustav lineárních rovnic. LU rozklad. Inverzní matice. Řídké matice.
Literatura
Materiály k předmětu na http://marian.fsik.cvut.cz/zapg/
Kurz Základů algoritmizace a programování v Moodle, https://moodle-vyuka.cvut.cz/course/view.php?id=3939
Munther Gdeisat and Francis Lilley, MATLAB® by Example : Programming Basics,
https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=1110717
Richard Colgren, Basic MATLAB, Simulink, and Stateflow
https://ebookcentral.proquest.com/lib/cvut/detail.action?docID=3111497
Martin Mareš, Tomáš Valla, Průvodce labyrintem algoritmů, CZ.NIC, Praha, 2017
Herout P.: Učebnice jazyka C, KOPP České Budějovice, 1992
S. Daniš, Základy programování v prostředí Octave a Matlab, Matfyz Press Praha, 2009
Bohuslav Doňar a Karel Zaplatílek, MATLAB pro začátečníky, Praha, BEN - technická literatura, 2003