Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Počítačové modelování dynamických systémů 6. cvičení Miloslav LINDA katedra elektrotechniky a automatizace.

Podobné prezentace


Prezentace na téma: "Počítačové modelování dynamických systémů 6. cvičení Miloslav LINDA katedra elektrotechniky a automatizace."— Transkript prezentace:

1 Počítačové modelování dynamických systémů 6. cvičení Miloslav LINDA katedra elektrotechniky a automatizace

2 GUI - systém na tvorbu uživatelského rozhranní - možnost užití objektů jako jsou tlačítka, text boxy, edit boxy, list boxy, popup menu a kreslící plochy - uživatelské rozhranní je tvořeno m-filem, který má v kódu deklarované objekty a události, či funkce s nimi spojené

3 GUI návrhové zobrazení program

4 GUI - v m-file - užití příkazu uicontrol, který definuje vlastnosti grafických objektů - typické vlastnosti objektů units, position, style, string, value, fontsize, fontweight, foregroundcolor, callback, tag …. - jednotlivé vlastnosti jsou párové a typu string nebo value, podle toho se mění - např.: uicontrol('style','push','string','ahoj', 'fontsize',10)

5 GUI - v m-file h1=uicontrol('units','normalized','position',[ ],... 'style','push','string','start simulace','fontsize',10,'fontweight','bold',... 'style','push','string','start simulace','fontsize',10,'fontweight','bold',... 'foregroundcolor','blue','callback', 'klik start','tag','start'); 'foregroundcolor','blue','callback', 'klik start','tag','start'); - h1 je handle grafického objektu, tedy proměnná jednoznačně určující objekt - units-normalized rozměrový převod z pixelů na x(0-1) a y(0-1) - style definuje styl objektu (push, toggle, edit, text, slider, frame, list, popup, axes, radio, check) - callback definuje vykonávanou funkci pro rozhovací strukturu case její zápis je 'callback','názevprogramu casenávěští'

6 GUI - v m-file h1=uicontrol('units','normalized','position',[ ],... 'style','push','string','start simulace','fontsize',10,'fontweight','bold',... 'style','push','string','start simulace','fontsize',10,'fontweight','bold',... 'foregroundcolor','blue','callback', 'klik start','tag','start'); 'foregroundcolor','blue','callback', 'klik start','tag','start'); - tag určuje handle, protože v m-filu nefunguje přiřazení do proměnné - foregroundcolor, backgroundcolor definuje barvu textu a pozadí zadání buď maticově nebo názvem barvy blue, black užití interaktivního výběru barvy uisetcolor

7 GUI - v m-file - pokud máme vytvořené objekty v kreslícím plátně figura, lze v programu měnit jakoukoli jejich vlastnost, měněné vlastnosti jsou např. enable, visible - změna vlastností příkazem set set(findobj('tag','push_1'),'enable','off')set(findobj('tag','text_1'),'string','ahoj')set(findobj('tag','edit_1'),'string','8')set(h1,'string','8')

8 GUI - v m-file - získání dat z objektů příkazem get f_prom=get(findobj('tag','text_1'),'string')a_prom=get(findobj('tag','check_1'),'value')get(h1,'string') - export proměnné z GUI do Workspace assignin('base','a_prom',a_prom)

9 GUI - v m-file - zdrojový kód aplikace function klik(input) if nargin==0 h=figure('position',[ ],... 'name','klikačka', 'numbertitle','off','menubar','none','resize','off', 'tag','pozadi'); h1=uicontrol('units','normalized','position',[ ],... 'style','push','string','start simulace','fontsize',10,'fontweight','bold',... 'foregroundcolor','blue','callback', 'klik start','tag','start'); elseswitch(input) case ('start') script tlačítka endend

10 GUI a Simulink - využití možnosti nastavení a ovládání modelu z grafické aplikace GUI - export parametrů, ovládání v real time - nastavení start a stop time simulace pro určité aplikace v rámci jednoho modelu

11 GUI a Simulink - příkazy pro nastavení simulace set_param(gcs,'stoptime','Inf')set_param(gcs,'stoptime','100')set_param(gcs,'simulationcommand','start')set_param(gcs,'simulationcommand','stop') + další z nabídky simulačních parametrů

12 GUI a Simulink - příkazy pro práci s daty set_param('klikaci/Constant1','Value',a_prom)b_prom=get_param('klikaci/Constant1','Value') + další z nabídky proměnných objektů (constant, gain …) gui_a=get_param('klikaci/Constant1','Value');%m-file pro změnu proměnné v objektu constant z 0 na 1 a=str2num(a);a=~a;a=num2str(a);set_param('klikaci/Constant','Value',a);

13 GUI a Simulink set_param('sys', 'Solver', 'ode15s', 'StopTime', '3000') set_param('sys/Zesileni', 'Gain', '1000') set_param('sys/Zero-Pole','Zeros','[2 4]','Poles','[1 2 3]') set_param('pidreg/PID Controller','P','1'); set_param('pidreg/PID Controller','I','0.5'); set_param('pidreg/Transfer Fcn','Numerator','[2]'); set_param('pidreg/Transfer Fcn','Denominator','[1 3 1]'); % spuštění simulace [t,x] = sim('pidreg'); % zavření všech modelů bdclose('all');

14 GUI a Simulink Příklad provázání Simulinku s GUI aplikací - možnost spouštění a zastavení simulace - předávání dat do Simulinku - bitové ovládání přepínačů v modelu - volání scriptu v Simulinku přes Block properties, záložka Callback a Open Fcn

15 GUI - naprogramovaný program lze kompilovat do exe souboru, který lze spustit i na počítači, na kterém není Matlab a je volně šiřitelný - k tomu slouží nástroj deploytool

16 Images - jelikož je Matlab maticový program, tak se i obrázky načítají jako maticové proměnné - jeden ze způsobů jak načíst obrázek je příkazem k importování dat, dalším je imread - důležitou věcí je aby měl obrázek odpovídající barevný formát ke zpracování, budeme pracovat s formátem ve stupních šedi

17 Images příkazy imread(‘picture.jpg’) - načtení obrázku z aktuálního pracovního adresáře Matlabu imagesc(X) - vykreslení obrázku, obdobně jako graf, s osami imshow(X) - zobrazení obrázku

18 Images příkazy rgb2gray(RGB) - převod barevného formátu RGB obrázku na gray imadd(X,Y) imadd(X,50) - přičtení obrázku k obrázku immultiply(X, 1.2) - změna jasu obrázku

19 Images příkazy binary = X > převod obrázku ve stupních šedi na BW podle parametru [černá(0), bílá(1)] bwareaopen(X,100) - odstranění malých objektů z obrázku, podle podmínky

20 Images příkazy bwselect(X,c,r,n) - výběr části obrázku z výchozího obrázku bwfill(X,c,r,n) - vyčistění části obrázku bwmorph(X,'remove') bwmorph(X,'skel',Inf) - obrys objektu v obrázku

21 Images příkazy bwperim(X,8) - obrys polí v obrázku

22 zatím konec, možná ještě něco přidám


Stáhnout ppt "Počítačové modelování dynamických systémů 6. cvičení Miloslav LINDA katedra elektrotechniky a automatizace."

Podobné prezentace


Reklamy Google