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ů

Podobné prezentace


Prezentace na téma: "Počítačové modelování dynamických systémů"— Transkript prezentace:

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

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', ... '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', ... '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'); else switch(input) case ('start') script tlačítka end

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 > 100
- 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ů"

Podobné prezentace


Reklamy Google