154PSM Programovací systém Matlab
Anotace
Obsahem předmětu je: Práce s interaktivním pracovním prostředí Matlabu. Základní datové typy a práce s nimi (matice, řetězce, indexování). Maticová algebra. Numerická analýza dat. Kreslení grafů - 2D vizualizace. Přístup ke grafickým objektům pomocí Handle Graphics. Psaní výpočetních skriptů a funkcí (skriptovací jazyk). Kontejnerové datové typy (cell, structure). Programování jednoduchého GUI. Cílem předmětu je poskytnout znalosti a praktické dovednosti v programovém prostředí Matlab jako nástroji pro numerické zpracování a vizualizaci dat v geodézii.
- Doporučená literatura
- Duane Hanselman, Bruce Littlefield: Mastering Matlab 6. Prentice Hall, New Jersey, 2001.
- Cleve Moler: Numerical Computing with Matlab (http://www.mathworks.com/moler)
- The Mathworks: Online documentation (http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html)
Cvičení
Vyučující: Ing. Tomáš Kubín, Ph.D.
Letní semestr 2012/2013
Zimní semestr 2012/2013
- polarni_metoda.m
- okrajove_troj.m, test.m, srovnavaci_rovina.m, sour.txt
- síťové grafy
- Vykreslení a výpočet parametrů středních elips chyb
- transformace.m
Letní semestr 2011/2012
Kurz pro začátečníky
Téma | Materiály |
---|---|
Pracovní prostředí Matlabu, základní vlastnosti jazyka | |
Vykreslení a výpočet parametrů středních elips chyb (PDF) |
Základní operace s maticemi, indexování, skládání, skalární expanze |
Řetězce, logická pole | |
3D vizualizace - regulární data, neregulární data | |
struktury, buňky, ukazatele na funkce | |
GUI - tlačítka, menu, guide (uicontrol, uimenu, uicontextmenu) |
Letní semestr 2010/2011
Téma | Materiály |
---|---|
Pracovní prostředí Matlabu, základní vlastnosti jazyka | |
Vykreslení a výpočet parametrů středních elips chyb (PDF) |
Základní operace s maticemi, indexování, skládání, skalární expanze |
Řetězce, logická pole |
- Zakončení kurzu
- 19. 4. 2011 prezentace: popis (ukázka) možností zvoleného toolboxu / zpracování zvolených dat ve zvoleném toolboxu
Kurz pro pokročilé
Téma | Materiály |
---|---|
3D vizualizace - regulární data, neregulární data | |
struktury, buňky, ukazatele na funkce | |
GUI - tlačítka, menu, guide (uicontrol, uimenu, uicontextmenu) |
Semestrální práce
- Vytvořte aplikaci pro transformaci souřadnic mezi systémy S-JTSK/Bpv, S-JTSK/05 a ETRS-89(ETRF2000) podle metodiky převodu uveřejněné na stránkách ČUZK a platné od 1. 1. 2011.
- Nechť aplikace provádí transformaci podle uvedené metodiky mezi těmito třemi systémy: ETRS-89 <-> S-JTSK/05 <-> S-JTSK/Bpv.
- Aplikace příkazové řádky
- Převod souřadnic jednoho bodu a celých seznamů souřadnic uložených v textovém souboru. Souřadnice v ETRS-89 mohou být zadané ve formě pravoúhlých nebo geocentrických souřadnic. Geocentrické souřadnice mohou být zadané ve stupních jako desetinné číslo nebo ve stupních minutách a vteřinách. V seznamu souřadnic se mohou vyskytovat komentáře uvozené znakem
#
nebo%
. - Převod souřadnic mezi systémy ETRS-89 <-> S-JTSK/Bpv, ETRS-89 <-> S-JTSK/05, S-JTSK/05 <-> S-JTSK
- Aplikace s GUI rozhraním
- možnost zadávání potřebných veličin v grafickém okně
- vykreslování transformovaných bodů v rámci ČR (body hranice ČR)
- transformace seznamů souřadnic uložených v textovém souboru
- možnost uložení přetransformovaných bodů do textového souboru
- nechť GUI aplikace poskytuje stejnou funkčnost jako aplikace příkazové řádky (vyjma vykreslování)
- Struktura aplikace
- knihovny (dokumentace v hlavičkách funkcí), skript/y příkazové řádky, GUI rozhraní, dokumentace ke skriptům a GUI rozhraní ve formátu HTML (je možné použít funkci publish)
- Odevzdání a prezentace práce
- prezentace 3. 5. 2011 (nekonala se)
- odevzdání elektronicky do 26. 4. 2011
- Studijní materiály
- Hodnocení
Skupina | Správnost výpočtu | terminálová aplikace | GUI aplikace | celkem | klasifikace |
---|---|---|---|---|---|
1 | 3 | 7 | 8 | 18 | B |
2 | 5 | 9 | 9 | 23 | A |
3 | 0 | 5 | 5 | 10 | C |
4 | 0 | 6 | 4 | 10 | C |
5 | neodevzdáno | N |
Archiv cvičení
Letní semestr 2009/2010
Téma | Materiály |
---|---|
Úvodní cvečení | |
Pracovní prostředí Matlabu, základní vlastnosti jazyka | |
Základní operace s maticemi, indexování, skládání, skalární expanze | |
Řetězce, logická pole | |
Řízení běhu programu (if, for, while, switch), funkce (nargin, nargout) |
suchdol-mereni.txt |
2D vizualizace - Handle Graphics, příklad |
Vykreslení a výpočet parametrů středních elips chyb (PDF) |
3D vizualizace - regulární data, neregulární data | |
struktury, buňky, ukazatele na funkce | |
GUI - tlačítka, menu (uicontrol, uimenu, uicontextmenu) |
Zimní semestr 2009/2010
Datum | Téma | Materiály |
---|---|---|
22.9. | Pracovní prostředí Matlabu, základní vlastnosti jazyka | |
30.9. | Základní operace s maticemi, indexování, skládání, skalární expanze | |
6.10. | Řetězce, logická pole | |
13.10. | Řízení běhu programu (if, for, while, switch), funkce (nargin, nargout) |
suchdol-mereni.txt |
20.10. | 2D vizualizace - Handle Graphics, příklad |
Vykreslení a výpočet parametrů středních elips chyb (PDF) |
27.10. | 3D vizualizace - regulární data, neregulární data | |
3.11. | struktury, buňky, ukazatele na funkce, GUI - úvod | |
10.11. | GUI - tlačítka, menu (uicontrol, uimenu, uicontextmenu) | |
24.11., 1.12., 8.12. | Semestrální práce | |
15.12. | Prezentace semestrálních prací |
Semestrální práce
Zadání:
- Napište GUI aplikaci v programu Matlab dle zvoleného tématu. Téma navrhněte sami a svůj návrh konzultujte s vyučujícím. Každý soubor nechť obsahuje ve své úvodní části:
%% Semestrální práce
%% Univerzita: České vysoké učení technické v Praze, Fakulta Stavební
%% Předmět: 151PSM - Programovací systém Matlab
%% Akademický rok: 2009/2010
%% Autor: Jméno Příjmení
- Hlavní funkce nechť obsahuje nápovědu, která stručně charakterizuje možnosti a využití aplikace.
- Termín odevzdání: 12.2.2010
Letní semestr 2008/2009
- Termín cvičení byl dohodnut na 7.-8. hodinu ve středu v místnosti B977. První hodina se uskuteční 11. 3. 2009.
- Předmět bude ukončen semestrální prací a její prezentací v zápočtovém týdnu.
Datum | Téma | Materiály |
---|---|---|
11.3. | Pracovní prostředí Matlabu, opakování | |
18.3. | 2D vizualizace - Handle Graphics | |
25.3. | 2D vizualizace - příklad |
Vykreslení a výpočet parametrů středních elips chyb (PDF) |
1.4. | 3D vizualizace - regulární data | |
8.4. | 3D vizualizace - neregulární data | |
15.4. | 3D vizualizace - cvičení |
zadání (PDF) |
22.4. | struktury, buňky, ukazatele na funkce | |
29.4. | GUI - tlačítka, menu (uicontrol, uimenu, uicontextmenu) | |
6.5. | Semestrální práce | |
20.5. | Semestrální práce | |
27.5. | Semestrální práce | |
3.6. | Prezentace semestrálních prací |
Semestrální práce
Zadání:
- Napište GUI aplikaci v programu Matlab dle zvoleného tématu. Každý soubor nechť obsahuje ve své úvodní části:
%% Semestrální práce
%% Univerzita: České vysoké učení technické v Praze, Fakulta Stavební
%% Předmět: 151PSM - Programovací systém Matlab
%% Akademický rok: 2008/2009
%% Autor: Jméno Příjmení
- Hlavní funkce nechť obsahuje nápovědu, která stručně charakterizuje možnosti a využití aplikace.
- Termín pro odevzdání finální verze je 3. 7. 2009.
Zimní semestr 2008/2009
- Práce se seznamem souřadnic.
- Zpracování měření ve skupinách
- Výpočet a vykreslení charakteristik přesnosti bodu (indexování, Handle Graphics, funkce, vektorizace)
- Numerické metody řešení rovnic (metoda půlení intervalu)
- function handle, iterace
- 3D vizualizace
- prostorové čáry, vizualizace regulárních dat (mesh, surf)
- Zápočtový test
Tipy
Vytvoření "stand alone" aplikace z m-souboru
- Překlad
- je zapotřebí mít nainstalován Matlab Compiler
- překlad se prování např. příkazem
mcc -m hlavni_funkce.m -a ./adresar_dalsich_funkci
- přípravu projektu a překlad je také možné provést pomocí aplikace
deploytool
- Spuštění
- na počítači, kde není nainstalován Matlab je nutné nainstalovat Matlab Compiler Runtime. Spustitelný soubor, který zajistí instalaci je umístěn v adresáři instalace Matlabu
matlab/toolbox/compiler/...
pod názvemMCRInstaller.bin
neboMCRInstaller.exe
.
Semestrální práce
Témata:
- Načítání a zobrazování dat SRTM ve formátu ESRI grid - Vojtěch Hron
- Grafické znázornění přesnosti bodu určeného několika základními geodetickými úlohami - Lucie Prunarová
- Interpolace dvourozměrných dat (polynomy, splajny) - Luboš Truhlář
- Digitální model terénu - vrstevnice - Marin Řehák
- Načítání a zobrazování výsledků ve formátu XML z programu GNU Gama - Zdeněk Růžička