guide examplepinit/matlabcourse_2018b... · guide : edit text (5) function amp_edit1_callback...

50
GUIDE Example Pini Tandeitnik 1

Upload: others

Post on 26-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE Example

Pini Tandeitnik

1

Page 2: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

ר סמדר שץ"ד: מרצה •• Email : [email protected] • Site :

https://faculty.biu.ac.il/~shatz/MatlabEng/2016/index.html

פיני טנדייטניק: מתרגל •• Email : [email protected] • Site : http://www.eng.biu.ac.il/~pinit/MatlabCourse_2016B/ • Cellular: 050-7929-785

יוסף בקר: מתרגל •• Email: [email protected]

2

Page 3: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

בחירת פרויקטון

שבועיים לפני : (כולל השבוע של /בחירת נושא עד• )סוף הסמסטר

התירגול אחרון עדהגשת מפרט • 1/9, 1/8: תאריכי הגשה • )1/11עד ה (איטרציות 2-3: אופן ההגשה •שני . הציון הוא אישי. ניתן לעשות פרויקטון בזוגות•

. בני הזוג צריכים להפגין ידע בכל פרטי הפרויקט

3

Page 4: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUI properties

Display 3 Signals with default parameters:

1. No Signal 2. A*sin(2*pi*f*t) 3. A*exp(-t/TAU)

Changing the slider or the Edit Text Box will recalculate and re-plot the function

4

Page 5: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (1)

5

Page 6: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (2)

6

Page 7: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (3)

7

Page 8: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (4)

8

Page 9: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (5)

9

Page 10: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (6)

10

Page 11: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (7)

11

Page 12: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

User GUI (8)

12

Page 13: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE Interface

13

Page 14: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE Interface Commands

14

Page 15: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUI Handles handles = figure1: 205.0038 FigureToolBar: 30.0040 Amp_StaticText3: 29.0040 AmpMax_StaticText2: 28.0040 AmpMin_StaticText1: 27.0040 Amp_Edit1: 26.0040 Amp_Slider1: 25.0040 SignalSelection_PopUpMenu1: 24.0043 PLOT_PushButton1: 212.0038 Display_Axes1: 206.0038 output: 205.0038 Param: [1x1 struct] fs: 10000 t: [1x1001 double] Sig2: [1x1 struct] Sig3: [1x1 struct] PopUpMenueIndex: 2 DataLine: 48.0040 MyActions: {1x3 cell}

15

Page 16: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect figure

Use property Inspector without selection of any object

16

Page 17: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Axes (1)

17

Page 18: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Axes (2)

Use property Inspector After AXES object selection

18

Page 19: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (1)

19

Page 20: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (2)

20

Page 21: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (3)

Important properties: • String • Tag

21

Page 22: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (4)

22

Page 23: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (5)

23

Page 24: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (6)

24

Page 25: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (7)

25

Page 26: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (8)

26

Page 27: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (9) User Define Functions

27

Page 28: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect PopUpMenue (10)

In PrimerGUIDE_OpeningFcn All activated user functions have the same API (same input parameters). An Array of function handlers is used. handles.MyActions = …. {@No_WaveForm @Sin_WaveForm @Exp_WaveForm}; The Activated function depends on the value returned from The PopUpMenue (the value of handles.PopUpMenueIndex) evokes PLOT_PushButton1_Callback handles.MyActions{handles.PopUpMenueIndex}(handles,ParamValue);

28

Page 29: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : User Defined Parameters (1)

29

Edit Text Slider

Static Text

Page 30: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Slider (1)

30

Page 31: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Slider (2)

Important properties: • String • Tag

31

Page 32: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Slider (3)

32

Page 33: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Inspect Slider (4)

33

Page 34: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Edit Text (1)

34

Page 35: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Edit Text (2)

35

Page 36: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Edit Text (3)

36

Page 37: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Edit Text (4)

37

Page 38: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Edit Text (5) function Amp_Edit1_Callback(hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of Amp_Edit1 as text % str2double(get(hObject,'String')) returns contents of Amp_Edit1 as a double editSliderValue = get(handles.Amp_Edit1,'String'); %convert from string to number if possible, otherwise returns empty numEditSliderValue = str2num(editSliderValue); sliderValueMin=get(handles.Amp_Slider1,'Min'); sliderValueMax=get(handles.Amp_Slider1,'Max'); if (isempty(numEditSliderValue) || sliderValueMin > numEditSliderValue || numEditSliderValue > sliderValueMax) sliderValue=get(handles.Amp_Slider1,'Value'); set(handles.Amp_Slider1,'Value',sliderValue); set(handles.Amp_Edit1,'String',num2str(sliderValue)); h1=msgbox(['Amplitude ' num2str(editSliderValue) ' is out of range'],'message','modal'); % warrning else set(handles.Amp_Slider1,'Value',numEditSliderValue); PLOT_PushButton1_Callback(hObject, eventdata, handles); end

38

Page 39: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Push Button (1)

39

Page 40: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Push Button (2)

40

Page 41: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Push Button (3)

41

Page 42: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Static Text (1)

42

Page 43: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Static Text (2)

43

Page 44: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

GUIDE : Static Text Initialization function [y]=SliderPramInitGUI(handles,WaveFormIndex) set(handles.Amp_Edit1,'String',num2str(handles.Param.Value(WaveFormIndex))) set(handles.AmpMin_StaticText1,'Value',handles.Param.MinValue(WaveFormIndex)) set(handles.AmpMin_StaticText1,'String',num2str(handles.Param.MinValue(WaveFormIndex))) set(handles.AmpMax_StaticText2,'Value',handles.Param.MaxValue(WaveFormIndex)) set(handles.AmpMax_StaticText2,'String',num2str(handles.Param.MaxValue(WaveFormIndex))) set(handles.Amp_StaticText3,'String',handles.Param.Name(WaveFormIndex)) set(handles.Amp_Slider1,'Max',handles.Param.MaxValue(WaveFormIndex)) set(handles.Amp_Slider1,'Min',handles.Param.MinValue(WaveFormIndex)) set(handles.Amp_Slider1,'Value',handles.Param.Value(WaveFormIndex)); if WaveFormIndex==1 set(handles.Amp_Slider1,'Enable','off') set(handles.Amp_Edit1,'Enable','off') else set(handles.Amp_Slider1,'Enable','on') set(handles.Amp_Edit1,'Enable','on') end 44

Page 45: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

function PrimerGUIDE_OpeningFcn (1)

function PrimerGUIDE_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for PrimerGUIDE handles.output = hObject; % Manipulate slider Enviorment %Params: %====== % 1 - No function % 2 - Sine frequency % 3 - Exp TAU % [NU Freq TAU ] handles.Param.Value=[1 100 .02]; handles.Param.MinValue=[0 50 .002]; handles.Param.MaxValue=[2 500 .05]; handles.Param.Name={'Param.', 'Freq.' , 'TAU'};

45

Page 46: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

function PrimerGUIDE_OpeningFcn (2)

set(hObject,'toolbar','figure'); % Add the toolbar handles.fs=10000; handles.t=(0:1:1000)/handles.fs; handles.Sig2.Amp=1; handles.Sig2.Freq=handles.Param.Value(2); % handles.Sig2.Data= @ PLOT_PushButton1_Callback handles.Sig3.Amp=1; handles.Sig3.TAU=handles.Param.Value(3); % handles.Sig3.Data= @ PLOT_PushButton1_Callback handles.PopUpMenueIndex=1; % no wave form was selrcted

46

Page 47: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

function PrimerGUIDE_OpeningFcn (3)

% first time Initialization of the line object, % YData propery is used in the next plots cla(handles.Display_Axes1) handles.DataLine=line(handles.t,zeros(size(handles.t))); % First time plot ! xlabel('[sec]') ylabel('[Amp]') SliderPramInitGUI(handles,1); set(handles.PLOT_PushButton1,'Enable','off') set(handles.Amp_Slider1,'Enable','off') handles.MyActions = {@No_WaveForm @Sin_WaveForm @Exp_WaveForm}; % Update handles structure guidata(hObject, handles);

47

Very Important !!!!!!!!!!!!!!!!!!!!!!

Page 48: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

תרגיל

בעל התכונות GUIDEבעזרת ה GUIכיתבו •

אשר הוצגו במצגת בתירגול

48

Page 49: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

הגשות

בשבוע הבא יש להגיש הצעת פרויקט כתובה•

מניסיון שנים עברו תהליך אישור ההצעה לוקח • .... שתיים שלוש איטרציות

אין להתחיל בכתיבת הפרויקט המסכם ללא קבלת •

אישור בכתב על גבי הדוח המכין

49

Page 50: GUIDE Examplepinit/MatlabCourse_2018B... · GUIDE : Edit Text (5) function Amp_Edit1_Callback (hObject, eventdata, handles) % hObject handle to Amp_Edit1 (see GCBO) % eventdata reserved

בהצלחה בפרויקט

הסיום בקורס

50