Podobné dokumenty




Podìkování: Výsledkù publikovaných v této knize bylo dosaženo také za podpory projektù GAÈR 101/06/P108 Výzkum simulaèního a experimentálního modelová


OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_


Karel Zaplatílek a Bohuslav Doòar MATLAB zaèínáme se signály Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo


Autor by chtìl podìkovat všem svým spolupracovníkùm a kolegùm, kteøí mu pomohli s pøípravou textu. K vydání knihy pøispìla firma Newport Electronics s





Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo




Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno



4 DIELEKTRICKÉ OBVODY ZÁKLADNÍ POJMY DIELEKTRICKÝCH OBVODŮ Základní veličiny a zákony Sériový a paralelní

Monografie poskytuje v pøehledné a praktické formì znalosti a výpoèetní nástroje pro modelování šíøení rádiových vln v zástavbì, tedy vnì i uvnitø bud


ELEKTRONICKÉ PRVKY 7 Výkonové a spínací aplikace tranzistorů 7.1 Ztrátový výkon a chlazení součástky První a druhý průraz bipolárního


ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ


David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

Gergelitsová, Holan: Zlatý řez pravítkem a kružítkem

Tato kniha popisuje výchozí stanoviska psychotroniky jako potenciální vìdní disciplíny Tvoøí ucelenou pracovní hypotézu pro realizaci základního výzku

Základy ultrazvuku A. ZÁKLADY ULTRAZVUKU 10






APLIKACE MIKROKONTROLÉRŮ PIC32MX


Kniha je urèena všem zájemcùm o teorii elektrických obvodù Poslouží jako pøíruèka pro praxi, ale i jako uèebnice pro studenty støedních a vysokých ško

MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace






APLIKACE ALGORITMŮ ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ 1. DÍL


Jan Hájek ELEKTRONICKÉ HLEDAÈE Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou

Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které



Publikace prezentuje nìkteré poznatky z obsáhlé oblasti analogových soustav, které v poslední dobì prodìlávají rozvoj. Z toho dùvodu ani nemùže podat














4 GUIDE nástroj pro interaktivní tvorbu grafického rozhraní Kapitola 3 byla vìnována ruèní tvorbì grafických objektù Všechny grafické objekty vaší apl



Translation from the English language edition: Passing the marker Understanding the New Millennium Energy Copyright 2000 Lee Carroll All Rights Reserv



MIKROKONTROLÉRY PIC PRO POKROČILÉ


Ladislav Szántó: Maxwellovy rovnice, 2. vydání






Obsah. ÈÁST I Vývojové prostøedí Visio



Obsah. Windows 95 je vaše. Windows si pamatují, kam co patøí. O knize 1

MIKROKONTROLÉRY PIC BEZ PŘEDCHOZÍCH ZNALOSTÍ


0RW\O3LFWXUH%R[ 7LPHU7LPHU



Urèeno uživatelùm CB pásma, kteøí si chtìjí rozšíøit okruh vìdomostí, rádiovým posluchaèùm a všem, kteøí se pøipravují ke zkouškám pro povolení provoz

3.3.2 Základní pojmy a teorie Kódování Principy, znaky a využití genetických algoritmù Expertní systémy


INSTRUKCE PRO BEZPROBLÉMOVÝ PRÙBÌH TESTOVÁNÍ 14. AŽ 21./29. KVÌTNA 2015 ÈJ MA OSP

Translation from the English language edition: Letters from home Loving Messages from the Family Copyright 1999 Lee Carroll All Rights Reserved Czech



kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d


Transkript:

KAREL ZAPLATÍLEK A BOHUSLAV DOÒAR MATLAB TVORBA UŽIVATELSKÝCH APLIKACÍ Praha 2004

Karel Zaplatílek a Bohuslav Doòar MATLAB tvorba uživatelských aplikací Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenášena v jiné formì èi jinými prostøedky Autoøi a nakladatelství nepøejímají záruku za správnost tištìných materiálù Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob Nároky na odškodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny Všechny registrované nebo jiné obchodní známky použité v této knize jsou majetkem jejich vlastníkù Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva Veškerá práva vyhrazena Doc Ing Karel Zaplatílek, Ph D a Ing Bohuslav Doòar, CSc, Praha 2004 Nakladatelství BEN technická literatura, Vìšínova 5, Praha 10 Karel Zaplatílek, Bohuslav Doòar: MATLAB tvorba uživatelských aplikací BEN technická literatura, Praha 2004 1 vydání ISBN 80-7300-133-0

OBSAH O KNIZE 9 1 ÚVOD 11 2 PRÁCE S M-SOUBORY 15 2 1 Typy m-souborù 16 2 2 Vytvoøení nového m-souboru 16 2 3 Tvorba scriptù 18 2 3 1 Vytvoøení jednoduchého scriptu 18 2 3 2 Pøíklady jednoduchých scriptù 20 2 3 3 Využití chybových hlášení k lokalizaci chyb 22 2 3 4 Tvorba složitìjších scriptù 23 2 3 5 Volání scriptu v rámci jiného scriptu 28 2 3 6 Tvorba 2D grafu v rámci scriptu 30 2 4 Práce s funkcemi 31 2 4 1 Vytvoøení funkce s jedním vstupním parametrem 32 2 4 2 Volání funkce uvnitø scriptu 34 2 4 3 Volání funkce uvnitø jiné funkce 36 2 4 4 Funkce bez vstupního parametru 38 2 4 5 Funkce volající sama sebe 38 2 4 6 Vytvoøení funkce se dvìma èi více vstupními parametry 40 2 4 7 Vytvoøení funkce s promìnným poètem vstupních parametrù 42 A MATLAB TVORBA UŽIVATELSKÝCH APLIKACÍ 3

2 4 8 Vytvoøení funkce s jedním výstupním parametrem 46 2 4 9 Vytvoøení funkce se dvìma èi více výstupními parametry 48 2 4 10Vytvoøení funkce s promìnným poètem výstupních parametrù 50 2 4 11 Funkce se vstupními i výstupními parametry 52 2 5 Ladìní zdrojového kódu (debugging) 57 2 6 Použití nástroje k optimalizaci zdrojového kódu (profiler) 61 2 7 Základní pøístup k formátování dat 62 2 7 1 Zápis formátovaných dat do textového øetìzce pomocí pøíkazu SPRINTF 63 2 7 2 Zápis formátovaných dat do souboru pomocí pøíkazu FPRINTF 65 2 8 Více funkcí v rámci jednoho m-souboru 67 2 9 Zefektivnìní práce s m-soubory 68 2 9 1 Otevøení m-souboru v editoru zdrojových textù a jeho spuštìní 68 2 9 2 Použití záložek (Bookmarks) pro pohyb v rozsáhlých m-souborech 69 2 9 3 Klávesové zkratky, používané pøi práci s m-soubory 70 3 SYSTÉM HANDLE GRAPHICS 71 3 1 Grafické objekty a jejich hierarchie 71 3 2 Grafický objekt Figure 73 3 2 1 Vytvoøení grafického objektu Figure, pojem Handle 73 3 2 2 Zmìna barvy pozadí, velikosti a polohy grafického objektu Figure, pøíkazy set a get 75 3 2 3 Nastavení jména, odstranìní menu a zmìna jednotek grafického objektu Figure 79 3 2 4 Nastavení položek Visible, Tag a UserData grafického objektu Figure 84 4 KAREL ZAPLATÍLEK, BOHUSLAV DOÒAR A

3 2 5 Urèení neznámého Handle grafického objektu Figure 85 3 2 6 Urèení Handle nadøízeného objektu grafického objektu Figure, pojem Parent 86 3 2 7 Ovládání vlastností objektu Figure pomocí nadøízeného objektu Root, pojem Children 87 3 2 8 Urèení rozlišení obrazovky monitoru pomocí grafického objektu Root 87 3 3 Grafický objekt Uicontrol 89 3 3 1 Vytvoøení grafického objektu Uicontrol 89 3 3 2 Zmìna barvy, polohy a velikosti a vytvoøení nápisu u grafického objektu Uicontrol 90 3 3 3 Zmìna parametrù fontu nápisu a zablokování grafického objektu Uicontrol 93 3 3 4 Zmìna stylu grafického objektu Uicontrol 94 3 3 5 Zmìna specifických položek vybraných grafických objektù Uicontrol 96 3 3 6 Práce s položkami Parent a Children u grafických objektù Uicontrol, urèení Handle 97 3 3 7 Práce se styly Listbox a Popupmenu grafického objektu Uicontrol 100 3 3 8 Práce se stylem Slider grafického objektu Uicontrol 104 3 3 9 Programování interakcí grafických objektù Uicontrol 105 3 4 Grafický objekt Uimenu 107 3 5 Grafický objekt Uicontextmenu 108 3 6 Grafický objekt Axes 110 3 6 1 Využití Handle pøi kreslení grafù pomocí Plot 110 3 6 2 Práce s grafickým objektem Axes 112 3 6 3 Urèení neznámého Handle grafického objektu Axes 112 A MATLAB TVORBA UŽIVATELSKÝCH APLIKACÍ 5

4 GUIDE NÁSTROJ PRO INTERAKTIVNÍ TVORBU GRAFICKÉHO ROZHRANÍ 115 4 1 Základní atributy tvorby grafického uživatelského rozhraní (GUI) 115 4 2 Prostøedí GUIDE 116 4 3 Tvorba grafických objektù pomocí GUIDE 123 4 3 1 Slider (posuvník) 123 4 3 2 Edit Text (pøepisovatelné textové pole) 128 4 3 3 Propojení posuvníku a textového pole 130 4 3 4 Pøehled jednotlivých Uicontrol objektù a jejich zpìtnovazební kódy (Callback) 133 4 3 5 Zarovnávání objektù 137 4 3 6 Pøíklad ovládání harmonického prùbìhu 138 5 PROGRAMOVÁNÍ METODOU SWITCHED BOARD PROGRAMMING 147 5 1 Vytvoøení jednoduché funkce s grafickými prvky 147 5 2 Volání funkce v rámci hlavní funkce, zobrazení výsledku výpoètu 150 5 3 Aplikace s použitím 2D grafu 153 5 4 5 5 5 6 Výpis dlouhých dat a grafická podpora jejich naètení a uložení na disk 157 Výpis zdrojového textu provádìné aplikace s možností jeho modifikace 162 Interakce grafické aplikace s hlavním oknem MATLABU (Workspace) 167 6 KAREL ZAPLATÍLEK, BOHUSLAV DOÒAR A

5 7 Základy práce s myší v grafických aplikacích 170 5 8 5 9 Programování kurzoru spojitého 2D grafu, globální a lokální promìnné 178 Použití myši k tažení objektu ve spojitých 2D grafech 182 5 10 Reakce systému pøi pokusu o uzavøení grafického objektu 187 6 POZNÁMKY K POUŽÍVÁNÍ INTERAKTIVNÍHO HELPU 191 7 ZÁVÌR 199 LITERATURA A ODKAZY PRO DALŠÍ STUDIUM 200 PØEHLED POUŽITÝCH POJMÙ A TECHNIK A VÝZNAM VYBRANÝCH POLOŽEK GRAFICKÝCH OBJEKTÙ 202 REJSTØÍK 209 INZERCE FIRMY HUMUSOFT 210 KNIHY BEN TECHNICKÁ LITERATURA 212 A MATLAB TVORBA UŽIVATELSKÝCH APLIKACÍ 7

8 KAREL ZAPLATÍLEK, BOHUSLAV DOÒAR A

O knize Na jaøe roku 2003 jsme v nakladatelství BEN Technická literatura vydali naši první publikaci, vìnovanou základùm práce se systémem MATLAB [1] Je urèena pro zaèáteèníky a pøíležitostné uživatele Svým obsahem a celkovým pojetím by mìla poskytnout vše potøebné pro rychlé zvládnutí základù práce s jinak pomìrnì mohutným a výkonným systémem Pøedkládaná kniha je druhým dílem, navazujícím na zmínìný díl první Kromì toho, že jsme od poèátku mìli v plánu ji napsat, byli jsme k tomuto poèinu vyzýváni z více míst rùznými uživateli systému MATLAB Její obsah se tvoøil postupnì, tak jak jsme získávali potøebné informace a zkušenosti Pro koho je kniha urèena? Pøedevším pro ty, kdo již zvládli základní kroky a potøebují jistou nadstavbu Máme na mysli pokroèilejší studenty, doktorandy, uèitele atd Ti velmi èasto potøebují základní znalosti aplikovat, tvoøit více èi ménì rozsáhlé algoritmy, programovat, vytváøet grafická rozhraní apod K tomuto cíli bychom rádi zaèínající uživatele systému MATLAB nasmìrovali a v tomto úsilí jim byli nápomocni Pracovat se systémem MATLAB je možné interaktivnì v hlavním oknì Command Window Uživatel zapisuje pøíkazy a po jejich potvrzení získává ihned odezvu èi výsledek Tento zpùsob práce, preferovaný v prvním díle naší knihy, je vhodný pro první seznámení se systémem nebo pro rychlé získání výsledkù v pøípadì jednoduchých úloh Pøi zavøení systému nebo výpadku elektrické energie však jsou všechny použité posloupnosti pøíkazù nedostupné a nezbude než je psát znovu (výjimku tvoøí promìnné, jež lze uložit na disk èi jiné médium i pøi interaktivní práci) Proto jedna ze stìžejních èástí knihy je vìnována zpùsobùm tvorby tzv m-souborù, tedy souborù s pøíponou * m Ty obsahují posloupnosti pøíkazù a povelù, zapsaných uživatelem Tyto m-soubory jsou uloženy na disku (èi jinde) a kdykoliv je možné je spustit z prostøedí MATLABu Zvládnutím této èásti získá uživatel mocný prostøedek pro tvorbu vlastních aplikací, algoritmù apod Je zøejmé, že tím se práce s MATLABem blíží programování, tak jak je možná znáte z jiných vývojových prostøedí, napø Borland Delphi Možnosti práce s m-soubory jsou široké a pro uživatele budou jistì zajímavé Je možné je využít také pro tvorbu grafických rozhraní Èást pøedkládané publikace je proto vìnována tomuto úèelu Je pomìrnì snadné nauèit se tvoøit grafické objekty jako jsou obrázky, grafy, tlaèítka, rùzná menu, zatržítka rùzných tvarù, textová pole pro zobrazení èi interaktivní zápis textu, rámy, posuvníky a další Až si vytvoøíte vlastní fungující aplikaci s grafickými objekty, jistì získáte motivaci a chu do další práce Ta se stane efektivní, až se nauèíte volat v rámci jednoho m-souboru další m-soubory èi psát v rámci jednoho m-souboru více navzájem provázaných funkcí Toto vše bude zarámováno vysvìtlením pojmu Handle, pomocí nìhož dokážete bez potíží efektivnì øídit a ovládat všechny grafické objekty jako objekty s urèitou hierarchií a dìdièností svých vlastností A MATLAB TVORBA UŽIVATELSKÝCH APLIKACÍ 9

Pro psaní kvalitních aplikací (zdrojových textù m-souborù) jsou v systému MAT- LAB k dispozici nástroje, které vám pomohou s jejich odladìním a optimalizací Ladìní je v MATLABu velmi snadné Pøípadné syntaktické chyby jsou pøesnì lokalizovány Jistì málokdo píše vždy a vše bez chyb Zvládnutím výše uvedených partií budete pøipraveni psát vlastní aplikace Naší snahou bylo napsat knihu tak, abyste nemìli problémy s pochopením té které partie Témìø vše je vysvìtleno pomocí množství pøíkladù, jejichž sled a obtížnost byly peèlivì voleny a jež slouží k nejlépe okamžitému vyzkoušení a tím ovìøení Pøejeme vám mnoho radosti z množství dobøe fungujících aplikací a prosíme o shovívavost, objevíte-li nìjaké chyby èi nepøesnosti Jedna rada na závìr: v jednoduchosti je síla Dìkujeme všem, kteøí se nám stali zdrojem inspirace a chuti do každodenní práce s MATLABem a psaní pøedkládané knihy Brno, bøezen 2004 Autoøi 10 KAREL ZAPLATÍLEK, BOHUSLAV DOÒAR A