Documente Academic
Documente Profesional
Documente Cultură
Constructia unei interfete grafice cu utilizatorul folosind GUI (Graphical User Interfaces).
Pentru a construi o interfata grafica cu utilizatorul se poate face apel la facilitatile MATLAB
dezvoltate in aceste sens. In cele ce urmeaza vom exemplifica constructia unor interfete grafice
simple de tip GUI folosind MATLAB GUIDE (Graphical User Interfaces Development
Environment).
Pentur crearea interfetei grafice se face apel la MATLAB GUIDE tastand la linia de comanda in
Command Window comanda
>> guide
In cutia de dialog selectati Blank GUI (Default) in campul GUIDE Templates.
Dupa ce ati efectuat selectia clicati pe butonul OK al casutei de dialog. In urma acestei actiuni va
apare o fereastra ce reprezinta mediul de dezvoltare MATLAB GUIDE avand infatisarea ca in
figura de mai jos.
1
Lucrarea nr. 4
In zona din stanga ecranului sunt dispuse obiectele predefinite disponibile in MATLAB.
Fiecare stare a unui obiect este asociat unui identificator unic numit handles, care poate fi folosit
pentru manipularea caracteristicilor obiectului respectiv (caracteristici care sunt numite
proprietile obiectului).
Exemplu 1. Crearea unei interfete pentru adunarea a doua numere, cu urmtoarea structur:
2
Lucrarea nr. 4
3
Lucrarea nr. 4
Acest ultim fiier conine codul specific interfeei grafice unde trebuiesc adugate instruciunile
de execuie a anumitor comenzi de interaciune a utilizatorului cu programul.
In continuare se vor schimba proprietile obiectelor plasate pe foaia MATLAB GUIDE. Pentru
aceasta executai un dublu clic pe rnd pe fiecare obiect pentru a deschide fereastra Property
Inspector specific fiecrui obiect grafic. Figura de mai jos reprezint o exemplificare pentru un
obiect de tip Static Text.
4
Lucrarea nr. 4
Obs: S-a modificat n Property Inspector proprietatea Tag a obiectului Static Text care conine
rezultatul adunrii n rezultat.
5
Lucrarea nr. 4
6
Lucrarea nr. 4
>> interfata2
care va lansa interfata grafica creat.
7
Lucrarea nr. 4
Executai un dublu clic pe rnd pe obiectul Popup Menu pentru a deschide fereastra Property
Inspector specific acestui obiect grafic.
8
Lucrarea nr. 4
9
Lucrarea nr. 4
Fereastra 2
- un obiect de tip Static Text
- dou obiecte de tip Radio Button prin selectarea acestora se stabilete tipul de
motor: monofazat sau trifazat
- un obiect de tip Push Button denumit Continua - apeleaz Fereastra 3
Fereastra 3
- cinci obiecte de tip Static Text
- trei obiecte de tip Edit Text se introduc datele necesare
10
Lucrarea nr. 4
11
Lucrarea nr. 4
return
end
fereastra4
Fereastra 4
- 11 obiecte de tip Static Text
- dou obiect de tip Push Button
12
Lucrarea nr. 4
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = fereastra1_OutputFcn(hObject, eventdata, handles)
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
13
Lucrarea nr. 4
% --- Outputs from this function are returned to the command line.
function varargout = fereastra2_OutputFcn(hObject, eventdata, handles)
% Get default command line output from handles structure
varargout{1} = handles.output;
set(handles.radiobutton1,'Value',1);
set(handles.radiobutton2,'Value',0);
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
14
Lucrarea nr. 4
end
% End initialization code - DO NOT EDIT
% --- Executes just before fereastra3 is made visible.
function fereastra3_OpeningFcn(hObject, eventdata, handles, varargin)
global motor_1
handles.output = hObject;
guidata(hObject, handles);
if motor_1==1
set(handles.text5,'String','Ati ales un motor monofazat')
else
set(handles.text5,'String','Ati ales un motor trifazat')
end
15
Lucrarea nr. 4
fereastra4
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before fereastra4 is made visible.
function fereastra4_OpeningFcn(hObject, eventdata, handles, varargin)
global pn cos_fi eta motor_1
if motor_1==1
set(handles.text5,'String','230 V')
crt_nominal=pn*1000/(230*cos_fi*eta);
else
set(handles.text5,'String','400 V')
crt_nominal=pn*1000/(sqrt(3)*400*cos_fi*eta);
end
set(handles.text2,'String',[num2str(crt_nominal),' A'])
set(handles.text7,'String',[num2str(pn),' kW'])
set(handles.text9,'String',num2str(cos_fi))
set(handles.text11,'String',num2str(eta))
16
Lucrarea nr. 4
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = fereastra4_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
close all
17