You are on page 1of 89

MATLAB GUI Tutorial - For Beginners | blinkdagger

1 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

blinkdagger
an Engineering and MATLAB blog
Home
Listchecker
MATLAB
Contact
About

MATLAB GUI (Graphical User Interface) Tutorial for Beginners


23 Oct 2007 Quan Quach 222 comments 106,587 views
Why use a GUI in MATLAB? The main reason GUIs are used is because it makes things simple for the end-users of the program. If GUIs
were not used, people would have to work from the command line interface, which can be extremely difficult and fustrating. Imagine if you
had to input text commands to operate your web browser (yes, your web browser is a GUI too!). It wouldnt be very practical would it? In this
tutorial, we will create a simple GUI that will add together two numbers, displaying the answer in a designated text field.

This tutorial is written for those with little or no experience creating a MATLAB GUI (Graphical User Interface). Basic knowledge of MATLAB is not
required, but recommended. MATLAB version 2007a is used in writing this tutorial. Both earlier versions and new versions should be compatible as well
(as long as it isnt too outdated). Lets get started!

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

2 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Contents
Initializing GUIDE (GUI Creator)
Creating the Visual Aspect of the GUI: Part 1
Creating the Visual Aspect of the GUI: Part 2
Writing the Code for the GUI Callbacks
Launching the GUI
Troubleshooting and Potential Problems
Related Posts and Other Links

Initializing GUIDE (GUI Creator)


1. First, open up MATLAB. Go to the command window and type in guide.

2. You should see the following screen appear. Choose the first option Blank GUI (Default).

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

3 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

3. You should now see the following screen (or something similar depending on what version of MATLAB you are using and what the predesignated
settings are):

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

4 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

4. Before adding components blindly, it is good to have a rough idea about how you want the graphical part of the GUI to look like so that itll be easier
to lay it out. Below is a sample of what the finished GUI might look like.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

5 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Creating the Visual Aspect of the GUI: Part 1


1. For the adder GUI, we will need the following components
Two Edit Text components
Three Static Text component
One Pushbutton component
Add in all these components to the GUI by clicking on the icon and placing it onto the grid. At this point, your GUI should look similar to the figure
below :

2. Next, its time to edit the properties of these components. Lets start with the static text. Double click one of the Static Text components. You should
see the following table appear. It is called the Property Inspector and allows you to modify the properties of a component.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

6 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

3. Were interested in changing the String parameter. Go ahead and edit this text to +.

Lets also change the font size from 8 to 20.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

7 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

After modifying these properties, the component may not be fully visible on the GUI editor. This can be fixed if you resize the component, i.e. use
your mouse cursor and stretch the component to make it larger.
4. Now, do the same for the next Static Text component, but instead of changing the String parameter to +, change it to =.
5. For the third Static Text component, change the String parameter to whatever you want as the title to your GUI. I kept it simple and named it
MyAdderGUI. You can also experiment around with the different font options as well.
6. For the final Static Text component, we want to set the String Parameter to 0. In addition, we want to modify the Tag parameter for this component.
The Tag parameter is basically the variable name of this component. Lets call it answer_staticText. This component will be used to display our
answer, as you have probably already have guessed.

7. So now, you should have something that looks like the following:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

8 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Creating the Visual Aspect of the GUI: Part 2


1. Next, lets modify the Edit Text components. Double click on the first Edit Text component. We want to set the String parameter to 0 and we also
want to change the Tag parameter to input1_editText, as shown below. This component will store the first of two numbers that will be added
together.

2. For the second Edit Text component, set the String parameter to 0 BUT set the Tag parameter input2_editText. This component will store the
second of two numbers that will be added together.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

9 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

3. Finally, we need to modify the pushbutton component. Change the String parameter to Add! and change the Tag parameter to add_pushbutton.
Pushing this button will display the sum of the two input numbers.

4. So now, you should have something like this:

Rearrange your components accordingly. You should have something like this when you are done:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

10 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

5. Now, save your GUI under any file name you please. I chose to name mine myAdder. When you save this file, MATLAB automatically generates two
files: myAdder.fig and myAdder.m. The .fig file contains the graphics of your interface. The .m file contains all the code for the GUI.

Writing the Code for the GUI Callbacks


MATLAB automatically generates an .m file to go along with the figure that you just put together. The .m file is where we attach the appropriate code to
the callback of each component. For the purposes of this tutorial, we are primarily concerned only with the callback functions. You dont have to worry
about any of the other function types.
1. Open up the .m file that was automatically generated when you saved your GUI. In the MATLAB editor, click on the
list of the functions within the .m file. Select input1_editText_Callback.

icon, which will bring up a

2. The cursor should take you to the following code block:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

11 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

function input1_editText_Callback(hObject, eventdata, handles)


% hObject
handle to input1_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'String') returns contents of input1_editText as text
%
str2double(get(hObject,'String')) returns contents of
%
input1_editText as a double

Add the following code to the bottom of that code block:


%store the contents of input1_editText as a string. if the string
%is not a number then input will be empty
input = str2num(get(hObject,'String'));
%checks to see if input is empty. if so, default input1_editText to zero
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject, handles);

This piece of code simply makes sure that the input is well defined. We dont want the user to put in inputs that arent numbers! The last line of code
tells the gui to update the handles structure after the callback is complete. The handles stores all the relevant data related to the GUI. This topic will
be discussed in depth in a different tutorial. For now, you should take it at face value that its a good idea to end each callback function with
guidata(hObject, handles); so that the handles are always updated after each callback. This can save you from potential headaches later on.
3. Add the same block of code to input2_editText_Callback.
4. Now we need to edit the add_pushbutton_Callback. Click on the
you should see in the .m file.

icon and select add_pushbutton_Callback. The following code block is what

% --- Executes on button press in add_pushbutton.


function add_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to add_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)

Here is the code that we will add to this callback:


a
b
%
%

= get(handles.input1_editText,'String');
= get(handles.input2_editText,'String');
a and b are variables of Strings type, and need to be converted
to variables of Number type before they can be added together

total = str2num(a) + str2num(b);


c = num2str(total);
% need to convert the answer back into String type to display it
set(handles.answer_staticText,'String',c);

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

12 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

guidata(hObject, handles);

5. Lets discuss how the code we just added works:


a = get(handles.input1_editText,'String');
b = get(handles.input2_editText,'String');

The two lines of code above take the strings within the Edit Text components, and stores them into the variables a and b. Since they are variables of
String type, and not 'umber type, we cannot simply add them together. Thus, we must convert a and b to 'umber type before MATLAB can add
them together.
6. We can convert variables of String type to 'umber type using the MATLAB command str2num(String argument). Similarly, we can do the
opposite using num2str(Number argument). The following line of code is used to add the two inputs together.
total= (str2num(a) + str2num(b));

The next line of code converts the sum variable to String type and stores it into the variable c.
c = num2str(total);

The reason we convert the final answer back into String type is because the Static Text component does not display variables of 'umber type. If you
did not convert it back into a String type, the GUI would run into an error when it tries to display the answer.
7. Now we just need to send the sum of the two inputs to the answer box that we created. This is done using the following line of code. This line of code
populates the Static Text component with the variable c.
set(handles.answer_staticText,'String',c);

The last line of code updates the handles structures as was previously mentioned.
guidata(hObject, handles);

Congratulations, were finished coding the GUI. Dont forget to save your m-file. It is now time to launch the GUI!
8. If you dont want MATLAB to automatically generate all those comments for each of the callbacks, there is a way to disable this feature. From the
GUI editor, go to File, then to Preferences.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

13 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Launching the GUI


1. There are two ways to launch your GUI.
The first way is through the GUIDE editor. Simply press the

icon on the GUIDE editor as shown in the figure below:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

14 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

The second method is to launch the GUI from the MATLAB command prompt. First, set the MATLAB current directory to wherever you
saved your .fig and .m file.

Next, type in the name of the GUI at the command prompt (you dont need to type the .fig or .m extension):

2. The GUI should start running immediately:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

15 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Try to input some numbers to test out the GUI. Congratulations on creating your first GUI!

Troubleshooting and Potential Problems


So your GUI doesnt work and you dont know why. Here are a couple of tips that might help you find your bug:
1. If you cant figure out where you error is, it might be a good idea to quickly go through this tutorial again.
2. The command line can give you many hints on where exactly the problem resides. If your GUI is not working for any reason, the error will be
outputted to the command prompt. The line number of the faulty code and a short description of the error is given. This is always a good place to
start investigating.
3. Make sure all your variable names are consistent in the code. In addition, make sure your component Tags are consistent between the .fig and the .m
file. For example, if youre trying to extract the string from the Edit Text component, make sure that your get statement uses the right tag! More
specifically, if you have the following line in your code, make sure that you named the Edit Text component accordingly!
a = get(handles.input1_editText,'String');

4. The source code is available here, and could be useful for debugging purposes.
5. If all else fails, leave a comment here and well try our best to help.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

16 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Related Posts and Other Links


MATLAB GUI Tutorial - Slider
MATLAB GUI Tutorial - Pop-up Menu
MATLAB GUI Tutorial - Plotting Data to Axes
MATLAB GUI Tutorial - Button Types and Button Group
MATLAB GUI Tutorial - A Brief Introduction to handles
MATLAB GUI Tutorial - Sharing Data among Callbacks and Sub Functions
Video Tutorial: GUIDE Basics
More GUI Tutorial Videos From Doug Hull
This is the end of the tutorial.

222 Responses to MATLAB GUI (Graphical User Interface) Tutorial for Beginners
1. on 20 'ov 2007 at 10:04 am 1Mike
Thanks for the tutorial - its nice and clear
2. on 28 'ov 2007 at 11:54 am 2Fred
Extremely useful. Can you add a further tutorial on how to plot data in a set of axes in the GUI?
3. on 28 'ov 2007 at 12:36 pm 3Quan Quach
You can find the tutorial on plotting data to a set of axes here.
You can find a list of matlab tutorials here.
4. on 28 'ov 2007 at 3:04 pm 4Fred

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

17 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

First of all, I greatly appreciate these tutorials. I have found the Matlab documentation simply unreadable on the subject of GUIs, and your approach
with simple examples and easily modified code is perfect.
I was having some success with KeyPressFcn to make a graph with live keyboard input. Is there any way to integrate this into a graph in a GUI? Or
alternatively, have a GUI running simultaneously with a live figure responding to KeyPressFcn?
5. on 28 'ov 2007 at 4:06 pm 5Quan Quach
Hello Fred,
Im not sure if Im understanding your question exactly, but Ill try to answer it anyways.
If you look here, itll show you how to enter the command line mode so that you can modify any of the GUIs components in real time, including the
axes.
But I think you may be asking something different. Are you asking if there is a way to press a particular key, say e, and have it populate the axes
on a GUI with a plot? Id love to help, so if you can clarify your question, I will be in better shape to answer!
Quan
6. on 16 Dec 2007 at 8:32 pm 6zuri
Hi!,
First of all, myAdder GUI tutorial very useful for beginner like me. but I have a question, is it possible to send let say; sine wave plot from one GUI
window to another GUI window via UDP IP connection (using same computer)?
thanks,
zuri
7. on 17 Dec 2007 at 4:25 am 7Gil
Hello Quan,
Great tutorial, loved it!
Im having a problem similar to Freds here (I think). I am trying to create a GUI that displays an image, and a pointer (little cross or whatever) to a
current point (x,y). I want the cursor position to respond to key strokes (arrows), and various shortcuts (say Ctrl+F for toggling a filter, r for
refresh, etc.).
I know how to implement the movement of the cursor on the image, but dont know how to trigger it with the keystrokes.
Regards,
Gil
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

18 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

8. on 17 Dec 2007 at 4:33 am 8Quan Quach


Zuri:
Im a little confused on what youre trying to accomplish, if you can elaborate then perhaps I might have an answer.
Gil:
I emailed you some code that I developed to explain this. I will probably turn this into a tutorial in the immediate future
9. on 18 Dec 2007 at 7:27 pm 9Diego Barragn
See also:
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12122&objectType=FILE
Diego
10. on 08 Jan 2008 at 11:26 am 10Vahid
Very useful. Thanks
Would you please provide the pdf file of the tutorial so it can be printed?
11. on 08 Jan 2008 at 5:43 pm 11Quan Quach
Hello Vahid,
This is something that we are currently working on and hope to have available in the near future. But for now, we dont have this capability.
12. on 11 Jan 2008 at 7:10 am 12Philips Wang
Simple but very useful! Thanks a lot.I am a beginner!
13. on 11 Jan 2008 at 12:43 pm 13ravi .c
hello friends
i am ravi chaudhary . i done the project in fingerprint recognition in matlab. this gui tutorial help me to creating the framework of my project. thank u
very much.
if anybody help me for creating source code for my project .please contact us in my
email (ravikumar_l7i@rediffmail.com)or (ravikumar_l7@yahoo.co.in)
14. on 19 Jan 2008 at 1:02 am 14ali

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

19 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

realy nice topic i wonder if u can provide more of this


thanx alot
15. on 22 Jan 2008 at 2:19 am 15mohd muzafar
thanks to teach a simple GUI but i wonderful to know how to make analysis of buried optical waveguide channel using finite difference method using
gui
16. on 22 Jan 2008 at 10:28 pm 16Quan Quach
thanks for the feedback guys. if you click on the matlab tap at the top of the page, you will see a list of tutorials
or you can click here
17. on 25 Jan 2008 at 4:56 am 17Amol
Its realy amazed me with simplicity u xplained the GUI customsn
its gr8 help 4 methx
18. on 29 Jan 2008 at 10:55 am 18uvise
I get an idea about gui.thanks for it..
Can you explain how we can create a button for browsing an image for doing further process.where will be this readed image stored.whether this
image can be seened.pls give the .m codes.
pls mail to my email ID
19. on 08 Feb 2008 at 6:51 am 19Lukasz
Hello Diego Barragn
Your tutorial is really useful, but I have a one question, do you have it in English?
Thanks
Lukasz
20. on 13 Feb 2008 at 7:46 am 20Hank_Chinaski
Thanks a lot guys. This made it all much clearer than the guys from Mathworks.
21. on 17 Feb 2008 at 5:14 pm 21Dave Barr

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

20 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Hi - I am very new to Matlab (7.0) and climbimg the steep learning curve. I contructed your Gui and works fine and I think I understand the basic
parts of your GUI code. I think it was nicely put together and very understandable.
Two questions though:
1) Your first added code block, input = str2num(get(hObject,String)); shows the variable input and str2num(get in blue type. My editor shows
these in black type ?? I have looked at the preference settings but cannot change this - but the code works and no errors. I think your screen shot
more clearly defines the variable name by its blue color - any ideas?
2) I am quite confused on the handles versus hObject - Am I right in thinking handles are for data being sent somewhere else and hObject for
data being received? - I am still trying to understand terminology and syntax.
Anyway - tks for you time - guys like you make it easier for guys like me!
Regards
22. on 17 Feb 2008 at 5:21 pm 22Quan Quach
Hi Dave,
1) The coloring scheme is a little bit off due to the wordpress plugin that I use.
2) The handles structures contains all the information about all of the GUIs objects. hObject on the other hand, is the active object from which the
callback is called.
So for example, if I pressed the add button, hObject in this case is the add button object.
Another example. When I input a number into the left edit text field, hObject is the edit text object.
There are a bunch of other tutorials that you can find on this website. I recommend taking a look at this one for a better understanding:
http://www.blinkdagger.com/matlab/matlab-gui-tutorial-a-brief-introduction-to-handles
23. on 18 Feb 2008 at 1:32 am 23Dave Barr
Quan, thanks you so much for your quick reply. I will continue with your tutorials as you suggest.
Excellent and clear
work
Dave
24. on 25 Feb 2008 at 11:47 pm 24Hugo

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

21 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Hi my friend.
Nice work , and very thanks to you disponibility to make this tutorials.
I spend a few hours to make some things that you have here in your site, now i can found and i can see that im a good way.
But i have a little thing that i want to make better, so i have a edit text box where i write the 3 digits of a IP address(0255), so my ideia is to make a
limit os 3 chars on this edit text box.
I used the KeyPressFcn to count a number of pressed keys and compare it to 0..9 if is backspace or delete e decraise one number of this count.
After when i will read the data of all edit boxs i compare the text of the edit box with 0255 and if is a letter os >255 o put 0.
But also with this things isnt perfect.
I search a lot in help of matlab, and also in internet, but i cant found any info to make something like this.
Now how i have this im satisfied, but if i can make better i will more happy
So if you can give me any trick or any ideia, or any link to internet i will very appreciated.
Very tahnks to your pacience.
String regards,
Hugo
25. on 26 Feb 2008 at 5:47 pm 25Quan Quach
Hello Hugo,
Im not quite sure how to do this off the top of my head. Ill have to look into it. Ill let you know if I find anything.
Quan
26. on 27 Feb 2008 at 6:08 am 26San
hello Hugo,
I could find this link very useful. The explanation was done in a very lucid manner. Thank you!
San
27. on 28 Feb 2008 at 8:55 pm 27izzy
how we do linear regression using GUI
how to display the equation or model??
help me
28. on 29 Feb 2008 at 10:03 pm 28meeeeebbbb
ive tried the tutorial step-by-step but i got error. i still got error even ive rewrite and corrected the code twice. then i tried to run the source code

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

22 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

provided at this page and when i run it, still got the same error.now im really confuse. here the error i got when i run the source code download from
this page.
??? uiopen(C:\Documents and Settings\F3\My Documents\anis fyp\MATLAB\GUI\MATLAB_GUI_Tutorial for
beginners(blinkdagger)-troubleshooting\myAdder.m,1)
|
Error: Unexpected MATLAB expression.
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 95
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> myAdder(add_pushbutton_Callback,gcbo,[],guidata(gcbo))
Attempt to reference field of non-structure array.
??? Error while evaluating uicontrol Callback
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 95
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> myAdder(add_pushbutton_Callback,gcbo,[],guidata(gcbo))
Attempt to reference field of non-structure array.
??? Error while evaluating uicontrol Callback
>>
can u explain to me

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

23 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

p/s:sori for my english


29. on 29 Feb 2008 at 10:09 pm 29Quan Quach
meeb
download the source files. place them into a directory.
make sure the matlab current directory is the same as above
at the command prompt,
type:
myAdder

Please give that a try


30. on 12 Mar 2008 at 7:14 am 30Pradipta
Thank you very much for the tutorial. From now on, I am ready to make GUI on matlab..
But, I would like to ask you some question.
How to make a GUI that connects to simulink (*.mdl)?
Its like if you want to make GUI to take the data (input), and do the process in simulink.
How to do that?
Thank you very much..
Regards
31. on 14 Mar 2008 at 2:21 pm 31Quan Quach
Pradipta,
Try this tutorial:
http://www.blinkdagger.com/matlab/matlab-gui-tutorial-integrating-simulink-model-into-a-gui
32. on 20 Mar 2008 at 8:09 am 32mini

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

24 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

OMG thank you for this tutorial! Its really a lifesaver!


33. on 02 Apr 2008 at 10:19 pm 33suri
good tutorial. I am trying to create a GUI which differentiates a function so input is going to be a function of time or just a number, what will be code
for converting string to function and how to use it. Pls help. The output will also be a function or a number.
Thanks,
Regards
Suri
34. on 03 Apr 2008 at 5:59 am 34davyd
gostei do tutorial , achei simples e bem pratico.
i enjoyed the tutorial , it is easer to use .thanks
35. on 03 Apr 2008 at 10:58 pm 35innovate Matlab GUI Tutorial - Disable Mouse Clicking
[...] with some experience creating a Matlab GUI. If youre new to creating GUIs in Matlab, you should visit this tutorial first. Basic knowledge of
Matlab and an understanding on how data is shared among callbacks is highly [...]
36. on 04 Apr 2008 at 5:06 am 36Adam Bright
Hi,
in my code i have the following:
[time,number,pressure,raininput] = textread(rain.txt,'%s %d %f %f,'delimiter,',,'headerlines,4);
my question is how do i get the user to view the array time, and from that select the range they require? (preferably in listbox- so i can use for a gui
plot)
e.g they would only require the data from the 5th row til the end. ( however they shouldnt see the row no,but only the date)
I havent clue if this is even possible.
any help would be really appreciated.
{brilliant tutorials by the way - you should think about publishing a book,Ive got 5,but yours is the easiest to understand!}
37. on 05 Apr 2008 at 3:48 am 37sunny
I have to cerat a GUI project for finding the resistance value from color code.Therefore we have 4 panels in which we have to insert radio
buttons.one block for finding resistance value & one for closing the window.So,suggest me programme for it along with callback functions of radio
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

25 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

buttons.
38. on 09 Apr 2008 at 9:45 pm 38knight
its nice n comprehensive
39. on 10 Apr 2008 at 1:01 am 39ckk
nice tutorial..may i ask that is there any way that can limit the length of numbers which user can input ?
40. on 11 Apr 2008 at 1:52 am 40andy
may i know why i cant prevent user to key in other thing than number? I also cant open the source file downloaded? is this because i using Matlab 6
rather than 7?
41. on 11 Apr 2008 at 10:52 pm 41Jim
Nice. One of the first GUI tutorials Ive seen that wasnt too simple, or too advanced. A large amount of MATLAB users dont code with GUIs
because the process was never clearly explained to them. This tutuorial is simple and CLEAR.
42. on 12 Apr 2008 at 2:32 am 42Quan Quach
Jim,
Thanks for the positive feedback!!
Quan
43. on 17 Apr 2008 at 11:46 am 43harsha
great work sir.. now i got a hope of completing my project!!!
44. on 23 Apr 2008 at 9:45 am 44Jamal
Hi Quan,
Brilliant website, thanks very much.
If I was to create a clear pushbutton which resets the value displayed in the static text;what code would I write under the pushbutton function?
thanks
45. on 23 Apr 2008 at 12:14 pm 45Daniel Sutoyo
Jamal:

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

26 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

set(handles.answer_staticText,String,'Insert Default Static Text Here);


46. on 30 Apr 2008 at 11:52 am 46Peter
Does anyone know how I can make the editText so that when the user types, it automatically goes into the editText box (i.e., the user doesnt have to
click in the box in order to type their input).
Thanks.
47. on 05 May 2008 at 2:07 am 47iran fars
thanks for your help.
i could find very good information in your site
48. on 08 May 2008 at 5:46 am 48Marcus
Hi. Ive noticed that MATLAB truncates values when setting edit or static text boxes. Is there anyway of avoiding or disabling this?
Thanks
49. on 11 Jun 2008 at 1:53 am 49korean
its nice to know about gui in MATlab;
easy & comfortable to study
thanks;)
50. on 11 Jun 2008 at 10:41 am 50Roisin
Hi,
I have what is probably a very simple question but I just cant find the answer:
How do I save my GUI as a jpeg so that I can use it in a report? (Im working on a mac)
Thanks
Roisin
51. on 20 Jun 2008 at 9:39 am 51eva
I have a problem to build up a simple GUI with a context graph y = a sin(x) where a can be change by user with an edit box
However, there is an error when using str2num, the warning that is Requires string or character array input
even I copy the example in the above, the same error shown in using str2num.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

27 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Please help me to solve the problem I am the beginner of using GUI, it suffers me a lot .
52. on 27 Jun 2008 at 5:40 am 52vinay
hi
i have following error in my gui code.please help me:
??? Reference to non-existent field
with regards
Vinay
53. on 16 Jul 2008 at 1:43 am 53Temy
Thank you so much!!! Its very helpful ^-^
54. on 21 Jul 2008 at 2:56 pm 54Anonymous
danke meister fr die hilfe
thanks man for your help
55. on 03 Aug 2008 at 10:37 am 55akbar
hi
thank u so much . its very useful.
56. on 04 Aug 2008 at 9:58 pm 56C Babu
Hi salute to youNo one make this much easier GUI MATLAB tutorial
57. on 06 Aug 2008 at 5:32 am 57OnOffPT
Thank you for all your tutorials.
They allow everyone to start developing GUIs very very fast while trying to understand whats happening behind and learn.
58. on 18 Aug 2008 at 2:34 am 58'r
Thank you very much for this nice tutorial. I will be looking forward to see the following tutorials.
I hope other tutorials are also very easy to understand.
59. on 21 Aug 2008 at 11:08 pm 59Reju

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

28 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Simple and usefull tutorial.


Thanks
60. on 25 Aug 2008 at 3:21 pm 60Ben
Hey, this may be a beginner question, but how do I call my GUI from a separate *.m file? Say I have file(a).m, file(b).m, and file(b).fig. How do I call
my file(b) GUI from file(a).m? Ive tried a few ways, and they call the GUI successfully, but none of the buttons or controls work. I get the following
error:
??? Error while evaluating uicontrol Callback
Thanks.
61. on 25 Aug 2008 at 3:28 pm 61Quan Quach
Ben,
Make sure all the files above are located in the same directory. Give that a try!
Quan
62. on 25 Aug 2008 at 3:32 pm 62Ben
Thanks, that worked. But, now what if I want the files to be in different directories?
63. on 25 Aug 2008 at 5:37 pm 63Quan Quach
Use the addpath command in the opening function of your main gui.
The addpath command will add a path to the list of MATLAB paths and enable you to run scripts/guis from a different path other than the current
matlab directory.
Quan
64. on 26 Aug 2008 at 3:04 pm 64Ben
Thanks, that worked well!
65. on 03 Sep 2008 at 8:42 am 65yaaseen
Hi
love the tutorials. theyre great. i was wondering if you could help me. i want to read in an input from a mirochip using a serial cable (DB9) and
display that on the screen. Believe it or not, I have no idea how to read in the input, nor how to set up the cable. but what i am most concerned with

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

29 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

is how do I use a GUI to display an external input on the screen????


66. on 04 Sep 2008 at 3:50 pm 66Qing
This is the best tour for GUI I have ever seen. Thanks a lot!
67. on 13 Sep 2008 at 8:29 am 67louis
please help me in my project it is a dtmf door lock system, you must first create a password and then you must login in the keypad created using dtmf
and enter your password correctly
please help me i need to pass this on or before tuesday please guys to those who are gifted with matlab skills. thanks please email me at
lnvp_17@yahoo.com if youll help il refer you to my school mates Godbless
68. on 13 Sep 2008 at 11:40 am 68Suraj
Hi ,
This tutorial is of great help for me , i did create my own GUI with 2 push buttons and two text fields which take input for my second program
I cannot figure outut
a)I want to run my 2nd matlab program with the input given in the text fields on mouse click on the push button created.
Thanks in advance.
The code for my GUI is
function varargout = samplegui1(varargin)
% SAMPLEGUI1 M-file for samplegui1.fig
%
SAMPLEGUI1, by itself, creates a new SAMPLEGUI1 or raises the existing
%
singleton*.
%
%
H = SAMPLEGUI1 returns the handle to a new SAMPLEGUI1 or the handle to
%
the existing singleton*.
%
%
SAMPLEGUI1('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in SAMPLEGUI1.M with the given input arguments.
%
%
SAMPLEGUI1('Property','Value',...) creates a new SAMPLEGUI1 or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before samplegui1_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to samplegui1_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

30 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help samplegui1
% Last Modified by GUIDE v2.5 12-Sep-2008 20:08:16
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @samplegui1_OpeningFcn, ...
'gui_OutputFcn', @samplegui1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 samplegui1 is made visible.
function samplegui1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to samplegui1 (see VARARGIN)
% Choose default command line output for samplegui1
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes samplegui1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = samplegui1_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

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

31 de 89

% handles

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)


% hObject
handle to 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 edit1 as text
%
str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit2_Callback(hObject, eventdata, handles)


% hObject
handle to edit2 (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 edit2 as text
%
str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

32 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)

% --- Executes on button press in pushbutton2.


function pushbutton2_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% -------------------------------------------------------------------function Untitled_1_Callback(hObject, eventdata, handles)
% hObject
handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all properties.
function figure1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to figure1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called

69. on 24 Sep 2008 at 9:37 pm 69MAksat


It awful
70. on 13 Oct 2008 at 9:52 pm 70Felipe (Brazil)
Thanks for the tutorial!
It was very useful and works perfectly!
71. on 18 Oct 2008 at 2:27 pm 71Roy
This is indeed the best tutorial among all that I have found on the web so far. Thank you!
I have a question regarding a specific feature I would like my GUI to have. I would like to have a different set of parameters for each of the items in
the listbox. For example, if item 1 is selected, one set of parameters need to be input by the user by the GUI, but if item 2 is selected, a different set
of parameters will need to be input.
How can I do this? Thanks in advance!

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

33 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

72. on 19 Oct 2008 at 2:26 pm 72open_devel


Thanks man. Good work!
73. on 23 Oct 2008 at 5:48 pm 73Base
thanks man
very helpful
74. on 02 'ov 2008 at 9:33 pm 74tasya
if we created this interface, how about the callback function we should write in? for examplee, the interface as u shown above, what should we write
at the callback(of add) button? so that when we pressing add, the numbers will be adding together and displayed the outcomes at the static box . im
using visual v.7.2 matlab
75. on 02 'ov 2008 at 9:44 pm 75tasya
ive created the GUI as u shown above..but how to insert the function in? so that it will give us the final results?help mee
function varargout = untitled4(varargin)
% UNTITLED4 M-file for untitled4.fig
% UNTITLED4, by itself, creates a new UNTITLED4 or raises the existing
% singleton*.
%
% H = UNTITLED4 returns the handle to a new UNTITLED4 or the handle to
% the existing singleton*.
%
% UNTITLED4(CALLBACK,hObject,eventData,handles,) calls the local
% function named CALLBACK in UNTITLED4.M with the given input arguments.
%
% UNTITLED4(Property,'Value,) creates a new UNTITLED4 or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before untitled4_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to untitled4_OpeningFcn via varargin.
%
% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one
% instance to run (singleton).
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help untitled4
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

34 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% Last Modified by GUIDE v2.5 03-Nov-2008 11:28:26


% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(gui_Name, mfilename,
gui_Singleton, gui_Singleton,
gui_OpeningFcn, @untitled4_OpeningFcn,
gui_OutputFcn, @untitled4_OutputFcn,
gui_LayoutFcn, [] ,
gui_Callback, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 untitled4 is made visible.
function untitled4_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to untitled4 (see VARARGIN)
% Choose default command line output for untitled4
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes untitled4 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% Outputs from this function are returned to the command line.
function varargout = untitled4_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

35 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% 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;
function edit1_Callback(hObject, eventdata, handles)
%what shud i write here?
% hObject handle to 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 edit1 as text
% str2double(get(hObject,String)) returns contents of edit1 as a double
% Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (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 edit2 as text
% str2double(get(hObject,String)) returns contents of edit2 as a double
% Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

36 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
end
% Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
text3=edit1+edit2; <-is this the correct way?
%text3 is the final static box
76. on 03 'ov 2008 at 3:50 am 76tasya
im using the source code(which i dload from u) and try to run in matlab GUI V.7.2 but it stated error.. may i know why?
77. on 10 'ov 2008 at 3:55 pm 77Chiaotinger
This is really nice!
I think I will put aside excel VBA and embrace MATLAB GUI now.
Thank you:)
78. on 18 'ov 2008 at 12:53 am 78sasi
hi,
First of all thanks a lot for the tuorial.Found it rele help ful.
But I get the same error despite following the same steps.
The error goes like this:
Undefined command/function myadder_mainfcn.
Error in ==> MyAdder at 42
myadder_mainfcn(myadder_State, varargin{:});
Plz help me asap.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

37 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

79. on 18 'ov 2008 at 11:58 am 79oasis


hi!
thanks for the tutorialits very useful and easy to learn (^^)v
thanks a lot to u
80. on 27 'ov 2008 at 4:51 pm 80pero
please i need to make a button called browse to load image in axis i have 2 axis one for original image and second after applaying any filter i want to
know as`uick how can ii do that
81. on 01 Dec 2008 at 6:09 am 81chetu
Your tutorial is very helpful to me.
82. on 10 Dec 2008 at 11:05 am 82jane
i would like to ask help with my program. i would like to make a GUI that will add, subtract, multiply and divide 2 numbers. display the result of each
operation done. hope you can help me
i need to have the program.. thank you.. god bless
83. on 10 Dec 2008 at 11:14 am 83jane
i want to make a program that will add, subtract, multiply and divide. i hope you can help me.. make the code
84. on 14 Dec 2008 at 5:09 pm 84karim
Sorry, but really i need hepl.
i am finishing my Phd and i have some Matlab program. i am not familiar with GUI but i want to do some thing good.
maybe my problem is easy for some body but really i need help.
ok i have the fowlling program (sorry the note is in frensh)
what i want is:
how to built a GUI where i can have a zone where i can specify :
tp, tu, and dir without changing every time the value in my program (like a littel software)
thank you
(this is just a part of a huge program)
% TTRS(SU)= TTRS(3=A)====>TTRS(SP1USP2)= TTRS(KUJ)
clear all
close all

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

38 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

tp20=0.015;
tu20=0.015
b=40;
a=20;
%%%%%%%%%Surface de posage secondaire%%%%%%%%%
alpha20p1 =tp20/a %alpha20p1= alpha de la phase 20 du posage primaire
beta20p1 = tp20/b
gamma20p1 = 0
u20p1 = 0
v20p1 = 0
w20p1 = tp20/2
%%%%%%%%%Surface de posage secondaire%%%%%%%%%
alpha20p2 = 0 % alpha20p2 = alpha de la phase 20 du posage secondaire
beta20p2 = tp20/a
gamma20p2 = tp20/a
u20p2 = tp20/2
v20p2 = 0
w20p2 = 0
%%%%%%%%%Surface usine%%%%%%%%%%%%%%%%%%%%%%%
alpha20u2 = 0 % alpha20u2 = alpha de la phase 20 de la surface usine
beta20u2max = tu20/a
gamma20u2max = tu20/a
u20u2max = tu20/2
v20u2 = 0
w20u2 = 0
TTRS202=[0 -beta20u2max 0; 0 beta20u2max 0; 0 0 -gamma20u2max ; 0 0 gamma20u2max ; -u20u2max 0 0 ; u20u2max 0 0]; %%%%%%
%%%%%%POLYTOPE DE L ERREUR DE L USINAGE %
% plot3(TTRS202(:,1),TTRS202(:,2),TTRS202(:,3),k.);
%
% xlabel(bettaSU20)
% ylabel(gammaSU20)
% Zlabel(uSU20)
% title(cart de la surface usine de la phase20)
%

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

39 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% C5 = convhulln(TTRS202);
% hold on
% for o = 1:size(C5,1)
% p = C5(o,[1 2 3 1]);
% patch(TTRS202(p,1),TTRS202(p,2),TTRS202(p,3),rand,FaceAlpha,0.4,FaceColor,'yel,'edgecolor,'gre);
% end
%
% grid on
%%%%%%%%%%%%%%%%%%%%%%%%%Calcul vectoriel%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%Surface priamire%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TP1 = [alpha20p1 u20p1; beta20p1 v20p1; gamma20p1 w20p1]
DP1 = [u20p1; v20p1; w20p1]
ROT1 = [alpha20p1 ; beta20p1 ; gamma20p1]
%%%%%%%%%%%%%%%%%%%Surface secondaire%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TP2 = [alpha20p2 u20p2; beta20p2 v20p2; gamma20p2 w20p2]
DP2 = [u20p2; v20p2; w20p2]
ROT2 = [alpha20p2 ; beta20p2 ; gamma20p2]
%%%%%%%%%%%%%distance vers le centre de la surface primaire%%%%%%%%
xA = 20;
yA = 10;
zA = 0;
xB = 0;
yB = 10;
zB = 10;
AB = [xB-xA; yB-yA; zB-zA]
TP2M = cross(ROT2,AB)
%%%%%%%%%%%surface secondaire vers le centre du primaire%%%%%%%%
TP2 = [alpha20p2 u20p2+TP2M(1); beta20p2 v20p2+TP2M(1); gamma20p2 w20p2+TP2M(1)]
%%%%%%%%%%%%%%Somme des torseurs des posages%%%%%%%%%%%%

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

40 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

TTRSposage = TP1 + TP2


%%%%%% Dans ce programme nous allons identifier la classe dappartenance de
%%%%%% la surface ou du TTRS mis en jeux pour une pice cubique et dont les
%%%%%% oprations sont de simples surfaages.
Rx =1;
Ry =1;
Rz = 1;
x = 1;
y = 1;
z = 1;
alpha=1;
beta=1;
gamma=1;
u=1;
v=1;
w=1;
dir = x ; % dir = direction, dir dans le cas dun plan est sa normale (case remplire)
% SDT = [alpha beta gamma u v w];
% TTRSposage = TTRS_PL : dveloppement de SDT_PL (PL = plan) multiplication
% par la normale de la surface tolrance
if dir == x
alpha = TTRSposage(1,1)*0 %(TTRSposage(i,j) = TTRSposage(ligne,colonne))
beta = TTRSposage(2,1)*1
gamma = TTRSposage(3,1)*1
u = TTRSposage(1,2)*1
v = TTRSposage(2,2)*0
w = TTRSposage(3,2)*0
TTRSpolyPosage = [alpha u; beta v; gamma w]
TTRSpolyPosageMatrice =[0 -TTRSposage(2,1) 0; 0 TTRSposage(2,1) 0; 0 0 -TTRSposage(3,1) ; 0 0 TTRSposage(3,1) ; -TTRSposage(1,2) 0 0;
TTRSposage(1,2) 0 0]; %%%%%%%%%%%%POLYTOPE DE L ERREUR DU MONTAGE %
else
if dir == y
alpha = TTRSposage(1,1)*1 %(TTRSposage(i,j) = TTRSposage(ligne,colonne))
beta = TTRSposage(2,1)*0
gamma = TTRSposage(3,1)*1
u = TTRSposage(1,2)*0
v = TTRSposage(2,2)*1
w = TTRSposage(3,2)*0
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

41 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

TTRSpolyPosage = [alpha u; beta v; gamma w]


else
if dir == z
alpha = TTRSposage(1,1)*1 %(TTRSposage(i,j) = TTRSposage(ligne,colonne))
beta = TTRSposage(2,1)*1
gamma = TTRSposage(3,1)*0
u = TTRSposage(1,2)*0
v = TTRSposage(2,2)*0
w = TTRSposage(3,2)*1
TTRSpolyPosage = [alpha u; beta v; gamma w]
end
end
end
%%%%%%%%%%%%%%%%%%%%% Dessin du polytope direction x %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
plot3(TTRSpolyPosageMatrice(:,1),TTRSpolyPosageMatrice(:,2),TTRSpolyPosageMatrice(:,3),k.);
xlabel(betta)
ylabel(gamma)
Zlabel(u')
title(cart du systme de posage de la phase20)
C4 = convhulln(TTRSpolyPosageMatrice);
hold on
for n = 1:size(C4,1)
m = C4(n,[1 2 3 1]);
patch(TTRSpolyPosageMatrice(m,1),TTRSpolyPosageMatrice(m,2),TTRSpolyPosageMatrice(m,3),rand,FaceAlpha,0.4,FaceColor,'b,'edgecolor,'gre
end
grid on
% view([90 0])
%%%%%%%%%%%%%%%%%%%%% Dessin du polytope direction y %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%Dessin du polytope direction z%%%%%%%%%%%
%%%%%%%%%%%%%%Somme de la variation de lusiange et du posage sur la
%%%%%%%%%%%%%%surface usine%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% figure
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

42 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

DD20=[];
for q=1:size(TTRS202,1);
D20 = TTRS202 +
[TTRSpolyPosageMatrice(q,:);TTRSpolyPosageMatrice(q,:);TTRSpolyPosageMatrice(q,:);TTRSpolyPosageMatrice(q,:);TTRSpolyPosageMatrice(q,:);T
DD20=[DD20;D20];
% plot3(D20(:,1),D20(:,2),D20(:,3),g.);
%
% xlabel(betta20)
% ylabel(gamma20)
% zlabel(u20)
% title(somme des variations usinage + posage)
%
C6 = convhulln(D20);
hold on
for k = 1:size(C6,1)
l = C6(k,[1 2 3 1]);
patch(D20(l,1),D20(l,2),D20(l,3),rand,FaceAlpha,0.8,facecolor,'red);
end
end
grid on
85. on 16 Dec 2008 at 9:40 pm 85Len
Thank you for the wonderful tutorial. Keep up the great work (I am referring to the website and your actual work) !!!
86. on 23 Dec 2008 at 2:45 pm 86Reza
Its Excellent!! Thank you for useful tutorial
87. on 10 Jan 2009 at 12:39 am 87Anonymous
I really liked this tutorial !! Thank you !!
I have a question, i want to display a 3D model depending on the choice of the user, using the pop-up menu in the GUI. I am lost about how to write
the code in the .m-file for this purpose.
For example, if the user selects the model pyramid from the pop-up menu, the pyramid model will be displayed. I dont know how to set the handles
to do all of this. Please help. Thanks

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

43 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

88. on 10 Jan 2009 at 12:39 am 88Melian


I really liked this tutorial !! Thank you !!
I have a question, i want to display a 3D model depending on the choice of the user, using the pop-up menu in the GUI. I am lost about how to write
the code in the .m-file for this purpose.
For example, if the user selects the model pyramid from the pop-up menu, the pyramid model will be displayed. I dont know how to set the handles
to do all of this. Please help. Thanks
89. on 13 Jan 2009 at 9:49 pm 89ley
hi,
i want to combine three .m files into one .m file or can you teach me how to use GUI on this..
i appreciate any kind of help. thanks
90. on 16 Jan 2009 at 4:03 am 90roslina
Instead of asking user to change some numbers in the m.file (the main program) before running the program, can we use GUI command to change the
numbers in the m.file while executing the file? (What syntax/code to be used to ask user to input some numbers of certain parameter while running
the program)
91. on 16 Jan 2009 at 12:26 pm 91Daniel Sutoyo
@ Jane: Have you try the tutorial out yourself? The requests you have seem very doable on your own after completing the tutorial.
@ Karim: Put your giant code in the button call back, prior to the code use get( ) just as it was described in this tutorial to get the values to be added.
instead of two edit boxes, you need 3 edit boxes for your three parameters.
@ Melian: pyramid from the pop-up menu, the pyramid model will be displayed. I dont know how to set the handles to do all of this
I am gonna assume you just need help to display. All you have to do is in your menu callback put in axes(handles.name of your axes). You can
check the tag name in GUI builder and double click on the axes. Typically it is axes# or something of that sort. So you type in
axes(handles.axes1) this tell MATLAB to display whatever plot function you use on that specific axis
@ Rosalina: The two values to be added in the edit boxes are user submitted. Just replace the button callback (currently a+b) with your m.file, and
you can change parameters on the fly. Use get( ) to get the values in the edit box. And have them set to the variables in your m.file
92. on 31 Jan 2009 at 8:03 pm 92Dan
I used this tutorial to create my first GUI and it was extremely useful, thankyou.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

44 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

But I have a problem.


Everything works perfectly in my GUI after I type GUIDE in matlab, open the file, and press the green arrow to start it. However if i try to open
the GUI directly from the .fig file, it gives me a bunch of errors when i press the calculate button.
Is this a common problem?? Or have I done something wrong most likely?
93. on 03 Feb 2009 at 9:11 am 93izzuddin
hi,
i need your help about my final year project.i have to do learning kit for control systems.for my first task i have to complete time response which
include in the syllabus.time response contains step response and impulse response.i dont know what is the coding for the transfer function.reply to
my email asap.please help me
function varargout = time_response1(varargin)
% TIME_RESPONSE1 M-file for time_response1.fig
%
TIME_RESPONSE1, by itself, creates a new TIME_RESPONSE1 or raises the existing
%
singleton*.
%
%
H = TIME_RESPONSE1 returns the handle to a new TIME_RESPONSE1 or the handle to
%
the existing singleton*.
%
%
TIME_RESPONSE1('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in TIME_RESPONSE1.M with the given input arguments.
%
%
TIME_RESPONSE1('Property','Value',...) creates a new TIME_RESPONSE1 or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before time_response1_OpeningFunction gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to time_response1_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Copyright 2002-2003 The MathWorks, Inc.
% Edit the above text to modify the response to help time_response1
% Last Modified by GUIDE v2.5 28-Jan-2009 13:56:14
% Begin initialization code - DO NOT
gui_Singleton = 1;
gui_State = struct('gui_Name',
'gui_Singleton',
'gui_OpeningFcn',

EDIT
mfilename, ...
gui_Singleton, ...
@time_response1_OpeningFcn, ...

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

45 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

'gui_OutputFcn', @time_response1_OutputFcn, ...


'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin &amp;&amp; ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 time_response1 is made visible.
function time_response1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to time_response1 (see VARARGIN)
% Choose default command line output for time_response1
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
initialize_gui(hObject, handles, false);
% UIWAIT makes time_response1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = time_response1_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;

function a_input_Callback(hObject, eventdata, handles)


% hObject
handle to a_input (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

46 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% Hints: get(hObject,'String') returns contents of a_input as text


%
str2double(get(hObject,'String')) returns contents of a_input as a double
a_input = str2double(get(hObject, 'String'));
if isnan(a_input)
set(hObject, 'String', 0);
errordlg('Input must be a number','Error');
end
% Save the new value
handles.metricdata.a_input = a_input;
guidata(hObject,handles)
% --- Executes during object creation, after setting all properties.
function a_input_CreateFcn(hObject, eventdata, handles)
% hObject
handle to a_input (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
%-------------------------------------------------------------------------% --- Executes on button press in plot_pushbutton1.
function plot_pushbutton1_Callback(hObject, eventdata, handles)
% hObject
handle to plot_pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get user input from GUI
a_input = str2double(get(handles.a_input,'String'));

%-------------------------------------------------------------------------% --- Executes on button press in reset_pushbutton2.


function reset_pushbutton2_Callback(hObject, eventdata, handles)
% hObject
handle to reset_pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
initialize_gui(gcbf, handles, true);
function initialize_gui(fig_handle, handles, isreset)
% If the metricdata field is present and the reset flag is false, it means
% we are we are just re-initializing a GUI by calling it from the cmd line

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

47 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% while it is up. So, bail out as we dont want to reset the data.
if isfield(handles, 'metricdata') &amp;&amp; ~isreset
return;
end
handles.metricdata.a_input = 0;
set(handles.a_input, 'String', handles.metricdata.a_input);

% -------------------------------------------------------------------function menu_Callback(hObject, eventdata, handles)


% hObject
handle to menu (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% -------------------------------------------------------------------function open_Callback(hObject, eventdata, handles)
% hObject
handle to open (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
file = uigetfile('*.fig');
if ~isequal(file, 0)
open(file);
end
% -------------------------------------------------------------------function print_Callback(hObject, eventdata, handles)
% hObject
handle to print (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
printdlg(handles.figure1)
% -------------------------------------------------------------------function close_Callback(hObject, eventdata, handles)
% hObject
handle to close (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
selection = questdlg(['Close ' get(handles.figure1,'Name') '?'],...
['Close ' get(handles.figure1,'Name') '...'],...
'Yes','No','Yes');
if strcmp(selection,'No')
return;
end
delete(handles.figure1)

94. on 17 Feb 2009 at 1:41 pm 94Sagar

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

48 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

I am graduate student at University of Cincinnati.


I need to read few variables through GUI mode of MATLAB, store them and use them in other .m files which I have already developed.
I went through your tutorials and found them very useful for GUI design purposes. I m having hard time in reading and storing variables.
Right now structure of my GUI is:
I have 5 variables to read so i hve 5 Static text and 5 edit text buttons.
I have added 1 push button which says enter and in the callback of ENTER i have added these lines:
output.data1=get(handles.data1,string) .
Could you please tell if this is right? and how can I store them? because I cant see the values which MATLAB reads in command line or so.
95. on 18 Feb 2009 at 10:53 pm 95shayam
hi sir..
thanks a lot for u r tutorial its awesome.. only because of this i was able to complete Adding GUI to my project thanks.
96. on 20 Feb 2009 at 11:51 pm 96Quan Quach
Sagar,
Try this tutorial:
http://blinkdagger.com/matlab/matlab-gui-tutorial-a-brief-introduction-to-handles
If you use the keyboard/breakpoint command then you can see whats going on inside your GUI by exploring the local workspace.
Quan
97. on 26 Feb 2009 at 5:48 am 97Sebas
Hi!
Thanks for this tutorial!
But I do have a question: can you give input to an GUI, and use this input when pressing the push button? Thank
98. on 27 Feb 2009 at 6:21 am 98Kuzya
Thanks for the tutorial .
loved it .

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

49 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

may be you can post a tutorial about creating stand alone application?
most of what I found over the net isnt so simple and hard to understand.
p.s. you also can replay to my e-mail address if it is convinient for you .
Thanks .
99. on 05 Mar 2009 at 12:35 pm 99kartik
great thread !!!!!!!!!!
Can anybody help me,how to move from one GUI to another GUI.Its like going from welcome screen gui to the operational gui. by making use of
push button.
waiting for replyy!!!!???
thank you
100. on 05 Mar 2009 at 3:59 pm 100Daniel
@ Sebas
yes you can! There are multiple ways in getting an input. Edit text box, radio button, popup menu you name it. All you have to put in your
pushbutton callback is to use the function get() on the objects you need information from. If you go to our MATLAB > basic GUI pages there are
many examples of how this is done!
@ Kuzya
We will when we get some time!
@ kartik
In your button callback put in the following
figurefilename(handles)
handles if you want to pass data
101. on 15 Mar 2009 at 12:08 pm 101Ahmad Jamil
Thanks very much This tutorial helped me a lot by creating my first GUI fileThanks again
102. on 18 Mar 2009 at 12:19 am 102Jorge Becerra
I have this error:
>> Calc_DistanciaRadTierraVr1Test1
??? Undefined function or variable designEval.
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

50 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Error in ==> gui_mainfcn at 97


if designEval && ishandle(fig)
Error in ==> Calc_DistanciaRadTierraVr1Test1 at 42
gui_mainfcn(gui_State, varargin{:});
My both files .fig and .m stay in the same archive, pls. help me.
103. on 19 Mar 2009 at 3:49 am 103philip
i have a problem with my gui file.it dose only run with GUIDE BUILDER. give me a solutin for this.
104. on 21 Mar 2009 at 12:58 am 104wena
hi! I am having a problem creating my project. How can i call an m-file which i have created in the editor using the gui. for example, i have a button
tagged bisection in my gui, what i want is when i press this button the m-file bisection will execute. please help.. this is a project of mine in school.
105. on 23 Mar 2009 at 1:43 am 105Dimitrios
Good tutorial! thank you verry much!
106. on 24 Mar 2009 at 6:41 am 106moe
hi
im trying to load values from edit box to matlab workspace, i was wondering if someone could help me with that. thanks in advance.
107. on 24 Mar 2009 at 1:53 pm 107hazeem
thaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanks
108. on 28 Mar 2009 at 7:42 pm 108naxus
hi, what should i do if i want to input 2 texts, lets say a and b, and then process them in a separate m-file, lets say process.m, and then display the
result, lets say c, at the GUI?
109. on 29 Mar 2009 at 6:30 pm 109David
Thanks for being so selfless and posting this knowledge on the web for everyone to access.
110. on 30 Mar 2009 at 7:16 am 110Zane Montgomery
Naxus,
You shouldnt have an issue calling the function process.m in your GUI .m file as long as the inputs/outputs (aka arguments) match up. In your GUI

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

51 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

you would want to have something like this:


c = process(a,b);
disp(c) % or whatever display code you may want.

Look into a static text box.

This requires process.m to be in the same folder as your GUI files, but if its not, you can use the addpath feature which is talked about here:
http://blinkdagger.com/?s=addpath#4
good luck,
Zane
111. on 30 Mar 2009 at 9:38 pm 111Offi
Hey! Thanks for the tutorials on your site. Theyre really helpful!
I got a problem with the edit text though. I was trying to check the string inside the edit field after every keystroke so i used the KeypressFcn. The
problem is that the String value of the edit field isnt updated after the keystroke but only after the callback i think although the pressed key already
shows up in the GUI itself.
Does anyone know how to force MATLAB to update the String value or is there another value that actually represents the string shown in the edit
text?
112. on 01 Apr 2009 at 2:02 am 112k8
Thank you very much!!!
113. on 08 Apr 2009 at 12:28 am 113naxus
thanks, Zane!
ill try doing that
114. on 11 Apr 2009 at 8:21 am 114vinod
this is a very good tutorial . thank u very much for this one.
115. on 14 Apr 2009 at 7:50 am 115moe
hi
i have to use a check box to give the user the option to hold the graph that has been plotted by a push button, can someone please help me how i can
programm the check box? thanks in advance

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

52 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

116. on 14 Apr 2009 at 8:54 am 116Zane Montgomery


Moe,
The these tutorials should be able to help you out with plotting the data:
http://blinkdagger.com/matlab/matlab-gui-tutorial-plotting-data-axes
The key code youll be needing will be something like this:
For your checkbox callback function
if(get(hObject,'Value'))==1 %Checked box has 'Value' of 1
hold on
else
hold off
end
% hold prevents the current axes from being overwritten when you plot a new graph

to hold a specific axes if you have multiples use:


hold(handles.AxisName, on)
Ill leave it to you to play around with this.
HTH,
Zane
117. on 15 Apr 2009 at 8:53 am 117Zane Montgomery
@ Offi,
I talked with Doug at MathWorks ( http://blogs.mathworks.com/videos/ ). The conclusion was that unfortunately, the change in the edit box string
does not really register in MATLAB until you hit enter, or change focus in the GUI.
So it wont update after every keystroke. You might be able to embed ActiveX or Java controls if you really need this to happen, but its outside of
my abilities.
Good luck,
Zane
118. on 15 Apr 2009 at 9:01 am 118moe
thank you very much Zane

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

53 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

119. on 16 Apr 2009 at 1:29 am 119Vander


Thanks!
120. on 16 Apr 2009 at 11:42 am 120Dianna
Hi again,
Is it possible to set the answer? Suppose I dont want the answer to the a negative number. If the answer is going to be negative, I want the static
text of the answer to be automatically be 0. Do I use the code if?
total = str2num(a) + str2num(b);
c = num2str(total);
if (c &lt; 0) %c is the answer for the calculation
c = 0;
else
c = num2str(total);
end

121. on 16 Apr 2009 at 12:15 pm 121Dianna


Hey,
I just got it to work. So never mind my question
122. on 17 Apr 2009 at 7:33 am 122moe
Hi
i have a situation that i have a GUI with some edit text box that each box views a parameter from the work space, the task is to modify and replace
the new parameter with the existing one in the work space. can someone please help me? thanks very much in advance
123. on 21 Apr 2009 at 8:37 pm 123Offi
Thanks a lot Zane!
Its really great of you guys not just to give those great and easy to understand tutorials but also provide help with problems!
124. on 26 Apr 2009 at 10:48 am 124lakshman
hia
thanks for tutorial
can you show me a simple example of signal
i mean if we want to create sine wave how we do that

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

54 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

125. on 28 Apr 2009 at 4:52 am 125Toon


IT IS FUCKING USEFULL! thx:)
126. on 07 May 2009 at 1:04 am 126Anonymous
I tried this demo, but It wouldnt work. I got this error message. Also, get and num2str didnt turn blue like shown. Can you tell me whats wrong?
>> MyAdder
??? Error: File: MyAdder.m Line: 126 Column: 12
Expression or statement is incorrectpossibly unbalanced (, {, or [.
127. on 07 May 2009 at 7:02 am 127Zane Montgomery
Anon,
Dont worry about the coloring you see from the site, not everything matches up perfectly. Its mainly just a visual aide when explaining the code.
MATLAB is very specific about opening and closing brackets/parentheses/etc. Check out your line 126 (or post it here) and make sure youve closed
every bracket you open and dont have any loose ones floating around.
Good luck
Zane
128. on 12 May 2009 at 9:04 am 128eastmus
Hi Zane again and hi to all,
i have a beginner problem with matlab R2007b.
Whenever I create a GUI and save it in a folder somewhere (doesnt matter),
then I create a 2nd GUI, totally different name and files and I have even tried saving in same folder or a different folder from the 1st GUI.
But then when I re-open the 1st GUI, it gives errors that it cant find the variables from the script file (.m).
Its like the .m and .fig are not linked anymore.
I also often get the window popup saying File C:\..\file.m is not found in the current directory or on the mathlab path. with the options to change
dir, add to path or cancel/help.
I usually pick add to path.
In the file.m editor i can click on Edit configurations for file.m (its located under the green RUN arrow button, you can reach it by clicking the
small arrow down next to it)
In there i see a lot of files that are actually other projects and have nothing to do with this current file.
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

55 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

So I delete the others.


Also when I move files, they stop working
I cant find the configuration to actually seperate projects from each other and how to re-link m-file with the fig-file
129. on 13 May 2009 at 11:30 am 129mmb4good
thanks alot
130. on 14 May 2009 at 1:50 am 130Berkan
The official MatLab GUIDE video does not explain the most important bit: callback functions at the backend.
This is in contrast is an excellent tutorial, thank you for your effort.
peace,
Berkan
131. on 15 May 2009 at 10:14 pm 131Payam
Hi
thank you for your wonderful site.
I have a problem
I can not save a variable inside my GUI
I use a GUI to get an equation for me and save it as a variable but it only prints the answer on Matlab command window on push button press.
When i put my command on output function it dows not get any equation it shows zero only.
How can i use the output function?
Thanks a lot
132. on 16 May 2009 at 2:56 pm 132Anudhan
Thank you. This tutorial helped me a lot..
133. on 18 May 2009 at 2:55 am 133inu
waaaaaah..
what a great innovation!!!!!!!!!!
u know saracasm.i guess
134. on 19 May 2009 at 7:08 pm 134usman

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

56 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

I have used three push buttons in my GUI now i want to use the output results of the two push buttons dat goes to a static text box to be called in the
third pushbutton call back as input;
e.g if output of the first push button is a
and out put of second push button is b
then i want to call both thses outputs in pushbutton three to do c=a+b;
and then store to another static text
kindly answer ASAP
how to do this?
135. on 21 May 2009 at 2:17 pm 135Dou Metin
these are really very good examples for people new on matlab gui. its possible to understand easily. thanks for all.
136. on 21 May 2009 at 11:18 pm 136Praveen
Dear sir,
Thank you very much for this simple and useful tutorial on GUI in matlab, expecting more tutorials like this.
137. on 23 May 2009 at 6:49 am 137zak
hi
you cant believe how much i was happy when i have run the first matlab GUI,
thank you for making the impossible (for me) possible.
i will study all the other tutorials
thanks
138. on 28 May 2009 at 5:35 pm 138Bilal Hussain
Thankyou brother
139. on 03 Jun 2009 at 3:12 am 139Gncel ve Gnlk Blog! | JunkChorn Hocam Sesimi Duyuyor Musun? #3
[...] Ebrar denen ahsiyet ile hi iim olmaz. Buyrun, devdeki butonlara grev atamay anlatan ok gzel bir blog. Bunun arkadan konumak
olduunu dnyor da olabilirsiniz, ama ben yargsz infaz [...]
140. on 09 Jun 2009 at 3:46 am 140asder don
Great tutorial, I still have some questions though.
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

57 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

What do I have to do differently to make the push button take the factorial of the variable? The tags and strings are a bit confusing, not to mention
the whole coding of the .m file afterward. An e-mail response would be greatly appreciated.
Thanks
141. on 09 Jun 2009 at 3:36 pm 141Zane Montgomery
@ asder,
To get a grasp on the strings and tags, I recommend following each step in the tutorial and ask questions on specific parts if they arise. To display the
factorial of some input number, the main part you will want to edit is Step 4 of the Writing the Code for the GUI Callbacks section. Find the
section that looks similar to what I have below, but notice the changes:
a
b
%
%

= get(handles.input1_editText,'String');
= get(handles.input2_editText,'String');
a and b are variables of Strings type, and need to be converted
to variables of Number type before they can be added together

total = factorial(str2num(a)) %CHANGE IS HERE, b is now ignored completely


c = num2str(total);
% need to convert the answer back into String type to display it
set(handles.answer_staticText,'String',c);
guidata(hObject, handles);

Let us know if you have specific questions.


-Zane
142. on 10 Jun 2009 at 12:31 am 142asder don
Zane,
This is pretty much what I did, except I emitted b since I only have one edit text. It doesnt seem to work, however. I get something similar to
175.001 as the answer regardless of what I put in. Here is a screenshot of what I have. The strings and tags are the same, save for the push button
which is tagged factorize_pushbutton1
http://img188.imageshack.us/img188/2361/54570432.png
Again, thank you.
143. on 10 Jun 2009 at 1:10 am 143asder don
I just got it! The command is apparently;
total = gamma (str2num (a) + 1);

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

58 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Thank you.
144. on 10 Jun 2009 at 1:17 am 144dileep d
Dear friends,
I went through the mail chain.I am a student(masters), i want to take input form a hardware device(particularly ultrasound probe) in real time and
plot the input data in real time.
since i am new to matlab, some matlab experts out here can help me.
I dont have any idea if this can be done in matlab or not, but i request if some body know it to help me to do this.
Regards,
DIleep.
email id:dil639@yahoo.com
145. on 10 Jun 2009 at 1:17 am 145dileep d
Dear friends,
I went through the mail chain.I am a student(masters), i want to take input form a hardware device(particularly ultrasound probe) in real time and
plot the input data in real time.
since i am new to matlab, some matlab experts out here can help me.
I dont have any idea if this can be done in matlab or not, but i request if some body know it to help me to do this.
after this i want to develope a gui for this.
Regards,
DIleep.
email id:dil639@yahoo.com
146. on 10 Jun 2009 at 9:00 am 146Anonymous
I DIDNT GET ANSWERE
FOR ANY VALUES THE ANSWERBOX SHOWS 0 ONLY
WHY
147. on 10 Jun 2009 at 9:07 am 147Anonymous
?? Reference to non-existent field input1_editText.
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

59 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Error in ==> MAGUI>add_pushbutton_Callback at 150


a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MAGUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
guidemfile>@(hObject,eventdata)MAGUI(add_pushbutton_Callback,hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
148. on 10 Jun 2009 at 9:08 am 148Anonymous
?? Reference to non-existent field input1_editText.
Error in ==> MAGUI>add_pushbutton_Callback at 150
a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MAGUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
guidemfile>@(hObject,eventdata)MAGUI(add_pushbutton_Callback,hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
I GOT ABOVE ERROR WHAT CAN I DO
149. on 11 Jun 2009 at 5:41 am 149lakshman
?? Reference to non-existent field input1_editText.
Error in ==> MAGUI>add_pushbutton_Callback at 150
a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MAGUI at 42

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

60 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

gui_mainfcn(gui_State, varargin{:});
Error in ==>
guidemfile>@(hObject,eventdata)MAGUI(add_pushbutton_Callback,hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
what is the mistake
150. on 18 Jun 2009 at 10:52 am 150Quan, you're my GUI hero
Hi Quan,
Im a senior in college, and I needed a job during the summer. I just started working about a month ago. My boss wanted me to GUIs with MATLAB
(as well as other MATLAB related tasks). My MATLAB skills arent the greatest, and I didnt know MATLAB could make GUIs before then. I was
too scared to tell my boss that Im useless. So naturally, I turned to the internet for help.
Im so glad I found your site! Ive read all of your GUI posts and almost every other blinkdagger post (you guys just make it interesting). Thank you!
My job is safe because of blinkdagger (Quan in particular)!
Again, you guys do amazing work and youve really helped me out! Im suprised that Im actually excited about MATLAB now. Thanks!
I was wondering if youd perhaps do a tutorial on Active X controls someday.
Thanks again,
Joe
151. on 19 Jun 2009 at 4:42 am 151shalomi
Thank you! very helpful and clear tutorial.
152. on 19 Jun 2009 at 10:02 pm 152usha
this code great help to me.. i run add program.. how to clear text field
153. on 13 Jul 2009 at 6:39 pm 153siti
how to make a GUI when i click the pushbutton on start it can control the scanner interface.means when i click a buton in GUI, scanner interface
will comeout..how to make it happen?
154. on 20 Jul 2009 at 1:36 pm 154Meteja
Hi there.
Excellent tutorial.really help me a lot but ive got one question and need your favour/help.
how to open a .txt file and display it on the static text.for example let say readme.txt file which consist of numbers and words/text
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

61 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Thanks
155. on 22 Jul 2009 at 1:52 am 155Dhila Othman
Thank for all the guidelines.
Ita very helpful!!!!!
156. on 23 Jul 2009 at 3:49 pm 156Astromoof
Hi,
i like your myadder gui, but i want it so as the user types in the inputs it automatically updates the answer box without using a pushbutton. Is that
possible?
Thanks
157. on 26 Jul 2009 at 8:59 am 157Zane Montgomery
Astromoof,
It is not possible to have the inputs update while youre typing, but you can type in an input and then either: click away from the box, or hit enter
and have them update. To do this, just put the code for you pushbuttoncallback into the callback function for the edit text box.
Good luck!
-Zane
158. on 29 Jul 2009 at 5:01 am 158lakshman
hai
thanks for ur model.
if we want take some text as input and the value of text is declared in workspace
how?
159. on 29 Jul 2009 at 9:29 pm 159Amgalan
Hi?
I made one interface in Matlab. that is running now. But I wanna to rearrange that GUI. So that I want to know How to apply TAB strip in Marlab?

Is there anyone help me?


160. on 05 Aug 2009 at 2:20 am 160lak
hai
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

62 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

thanks for ur model.


if we want take some text as input and the value of text is declared in workspace
how?
161. on 12 Aug 2009 at 12:20 am 161Chiara
Hi,
im an italian student, and im trying to make a GUI, but ive a problem. When I use global in a function to call a variable defined in an other GUI
function, matlab draws attention with an error. If I define the variable in the first function, so without use global, matlab doesnt give me any errors!!
For examples,
global intermedio;
I=im2double(intermedio);
where the variable intermedio is defined above, in another GUI function. Matlab gives me an error. But if i define intermedio in this function, i
havent bugs!
Is there anyone help me?..thank u all, and sorry for my bad english!
162. on 15 Aug 2009 at 6:52 am 162dbsjro
Man this is REALLY helpfull
You should be as ->help Quan Quach <lol
163. on 22 Aug 2009 at 12:19 am 163Zor
Excellent tut
Thanx for the effort!
164. on 22 Aug 2009 at 7:05 am 164vinodh
hi
this website is very very useful.thank you very much.
165. on 28 Aug 2009 at 10:59 pm 165daba
Thanks
166. on 01 Sep 2009 at 10:55 am 166mark
its possible to use GUI to create a moving point or something like a 2D randon walker? Many thanks
167. on 08 Sep 2009 at 8:18 am 167Herman

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

63 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Its very powerful!


Many thanks for your tutorialMakes more open my eyes about powerful of matlab.
168. on 09 Sep 2009 at 8:50 pm 168ruchita
how to add a circuit diagram in a gui figure
169. on 10 Sep 2009 at 8:57 am 169mark
Please can someone asnwer me?..its possible to use GUI to create a moving point or something like a 2D randon walker? Many thanks
170. on 10 Sep 2009 at 11:46 pm 170mirza
mirza gango hy
171. on 24 Sep 2009 at 12:38 am 171CB
??? Error using ==&gt; str2num at 33
Requires string or character array input.
Error in ==&gt; GUIMagnetfalt&gt;calc_button_Callback at 450
total= str2num(a) + str2num(b) + str2num(c) + str2num(d) + str2num(e) + str2num(f) + str2num(g) +
str2num(h) + str2num(i);
Error in ==&gt; gui_mainfcn at 96
feval(varargin{:});
Error in ==&gt; GUIMagnetfalt at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==&gt;
guidemfile&gt;@(hObject,eventdata)GUIMagnetfalt('calc_button_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback

I try to add the numbers, however Matlab complains that input should be done in an array. What may be the problem? Is num supposed to be in an
array? What type (e.g. num, double, int or char) should I use if I just want to convert input string and add them together?
172. on 26 Sep 2009 at 12:00 am 172'iketan
changes made by niketan
type this at matlab command to check whether specify file is original or copied
your current dir want to be directory, where your specifed file is.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

64 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

[a direc] = dos(dir Target_Detection.m); % Obtain the directory listing of the file on the operating system
newlines = find(double(direc) == 10); % Check for newline characters in the returned string
dateloc = newlines(5)+1; % In DOS, the creation date for the file will show up at the fifth line of the output
createDate = direc(dateloc:(dateloc+21)); % Retrieve the creation date in a string
[y, m, d, h, mn,s] = datevec(createDate);
UserFiledate = datenum(y, m, d, h, mn,s);
OriginalFileDate = datenum(2009,09,26,12,13,0);
if (UserFiledate > OriginalFileDate) % Check if the createDate for the file is later that a specific time
disp(Copied File)
else
disp(Original File)
end
173. on 01 Oct 2009 at 11:38 pm 173minjae
Hi, Im a university student in Korea.
This website is awesome and very useful for anyone who studies MATLAB, like me!
I sincerely appreciate your job. Thank you!
174. on 09 Oct 2009 at 5:53 pm 174Craig
Thanks SO much for this website. As a newbie to MATLAB I was going nutty reading help files and the Mathworks website. After reading your
tutorials the mist has parted.
175. on 18 Oct 2009 at 7:09 am 175Gustav
Thanks, the example is simple and clear for beginners.
176. on 21 Oct 2009 at 4:56 am 176selva
thank you sir great tutorial,thx for the tutorial
177. on 22 Oct 2009 at 9:00 pm 177Berlyn
how can i downlaod matlab?
178. on 06 'ov 2009 at 9:53 am 178piyush
Please tell me, what code shall i include, if I want a close push button and perform a simple GUI close.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

65 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

179. on 10 'ov 2009 at 11:44 pm 179Megalla


hi therethanks 4 the perfect tutorial.it was a very easy-to-understand tutorial;-) but i need some one who can help me out in coming out with a
loop like a for loop and all using MATLAB .so if anyone can help me.pls do kindly mail me at megal8725@hotmail.comi dont mind paying
ull.
thanks a lot
180. on 14 'ov 2009 at 12:50 pm 180Gav
Very helpfull introduction.
181. on 16 'ov 2009 at 7:16 am 181momena
thanks a lot dear.i actually knew nothing about creating GUI.but now i can make one
182. on 17 'ov 2009 at 2:36 pm 182Zox
Hello everyone,
Does anyone please know how to make an input using e?
For example, id like to input number 2e-25 - and surely i would like to avoid typing the whole number with this many decimals! Is there any chance
that i could do this in more elegant way?
Thanx a lot!
183. on 17 'ov 2009 at 3:55 pm 183Zane Montgomery
Zox,
Your syntax of 2e-25 should work as an input. Let us know if you get any errors using that or if you have a specific usage question.
184. on 29 'ov 2009 at 7:09 pm 184Satvik
Hey ,
Great Tutorial
I was wondering if you could add to the gcf part of a designing a GUI.
Cheers
185. on 30 'ov 2009 at 9:47 pm 185valerie
hi

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

66 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

May i know how to view a web cam inside the GUI interface?
Thanks
valerie
186. on 01 Dec 2009 at 6:15 pm 186Sammy
hi
Firstly thx for your tutorials. Really helpful for beginners like me.
keep it up.
the problem im facing is that im writting a program that enables a user to enter values into the gui like the start time and stop and then click a button
that will then plot either a sine wave or unit step function depending on the button pressed.
I have tried to follow your tutorials and incoperate the different functionalities but it not working. below is piece of my code, pliz help me figure out
the problem.
thanks again.
function varargout = untitled(varargin)
% UNTITLED M-file for untitled.fig
%
UNTITLED, by itself, creates a new UNTITLED or raises the existing
%
singleton*.
%
%
H = UNTITLED returns the handle to a new UNTITLED or the handle to
%
the existing singleton*.
%
%
UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in UNTITLED.M with the given input arguments.
%
%
UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before untitled_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to untitled_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help untitled
% Last Modified by GUIDE v2.5 02-Dec-2009 00:31:13
% Begin initialization code - DO NOT
gui_Singleton = 1;
gui_State = struct('gui_Name',
'gui_Singleton',
'gui_OpeningFcn',

EDIT
mfilename, ...
gui_Singleton, ...
@untitled_OpeningFcn, ...

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

67 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

'gui_OutputFcn', @untitled_OutputFcn, ...


'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin &amp;&amp; ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 untitled is made visible.
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to untitled (see VARARGIN)
% Choose default command line output for untitled
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes untitled wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = untitled_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;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%DO NOT ALTER THE CODE ABOVE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function Start_editText_Callback(hObject, eventdata, handles)


% hObject
handle to Start_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

68 de 89

% handles

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of Start_editText as text


%
str2double(get(hObject,'String')) returns contents of Start_editText as a double
input = str2double(get(hObject,'String'));
guidata(hObject, handles);
% --- Executes during object creation, after setting all properties.
function Start_editText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to Start_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function Stop_editText_Callback(hObject, eventdata, handles)


% hObject
handle to Stop_editText (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 Stop_editText as text
%
str2double(get(hObject,'String')) returns contents of Stop_editText as a double
input = str2doudle(get(hObject,'String'));
guidata(hObject, handles);
% --- Executes during object creation, after setting all properties.
function Stop_editText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to Stop_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function Step_editText_Callback(hObject, eventdata, handles)


% hObject
handle to Step_editText (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 Step_editText as text

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

69 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

%
str2double(get(hObject,'String')) returns contents of Step_editText as a double
input = str2double(get(hObject,'String'));
guidata(hObject, handles);
% --- Executes during object creation, after setting all properties.
function Step_editText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to Step_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function Frequency_editText_Callback(hObject, eventdata, handles)


% hObject
handle to Frequency_editText (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 Frequency_editText as text
%
str2double(get(hObject,'String')) returns contents of Frequency_editText as a double
input = str2double(get(hObject,'String'));
guidata(hObject, handles);
% --- Executes during object creation, after setting all properties.
function Frequency_editText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to Frequency_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%CODE ABOVE FOR EDIT TEXT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% --- Executes on button press in Step_pushbutton.
function Step_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to Step_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
start_time =get(handles.start_editText,'String');
step_time = get(handles.step_editText,'String');

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

70 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

stop_time = get(handles.stop_editText,'String');
axes(handles.axes1)
t = [ 0 start_time step_time stop_time ]
%defining the X-axis
m = [ 0 0 1 1]
%defining the Y-axis
plot ( t,m )
%plots the graph of all the lines
%defined by 't' versus 'm'
grid on
%adds main grid lines to the current axes
xlabel ('time')
%labels the x-axis of the current axes
ylabel ('magnitude')
%labels the y-axis of the current axes
title ('plot of unit step function of user defined duration')%adds title to the current axes
guidata(hObject, handles); %updates the handles

% --- Executes on button press in Impulse_pushbutton.


function Impulse_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to Impulse_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
start_time = get(handles.start_editText,'String');
step_time = get(handles.step_editText,'String');
stop_time = get(handles.stop_editText,'String');
axes(handles.axes1)
t = [ 0 start_time step_time step_time step_time stop_time ]
m = [ 0 0 0 1 0 0 ]
plot ( t,m )
grid on
xlabel ('time')
ylabel ('magnitude')
title ('plot of unit impulse function of user defined duration')
guidata(hObject, handles); %updates the handles

%defining the x-axis


%defining the y-axis
%plots the graph of all the lines defined by
%adds main grid to the grid lines to the curr
%labels the x axis
%labels the y axis
%adds title to current axes

% --- Executes on button press in Sine_pushbutton.


function Sine_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to Sine_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
start_time = get(handles.start_editText,'String');
fundamental_frequency = get(handles.frequency_editText,'String');
stop_time = get(handles.stop_editText,'String');
axes(handles.axes1)
time = start_time:0.01:stop_time;
%defines the time base function
x = sin(time*fundamental_frequency*2*pi)
%generates a sine wave with specified
%time base function 'time' and 'frequency'
plot(time,x), grid on

%plots the graph of all the lines

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

71 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

xlabel ('Time')
ylabel ('Frequency')
title ('plot of sine wave of user defined frequency and duration')
guidata(hObject, handles); %updates the handles

% --- Executes on button press in Sawtooth_pushbutton.


function Sawtooth_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to Sawtooth_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
start_time = get(handles.start_editText,'String');
fundamental_frequency = get(handles.frequency_editText,'String');
stop_time = get(handles.stop_editText,'String');
axes(handles.axes1)
time = start_time:0.01:stop_time;
x = sawtooth(time*fundamental_frequency*2*pi, width)

%defined by time versus sin(x)


%and adds main grid lines to the axes
%labels the x axis
%labels the y axis
%adds a title to the graph

%defines the time base function


%generates a sawtooth wave with specified
%time,frequency and width

plot(time,(x)), grid on

%plots the graph of all the lines


%defined by time versus (x)
%and adds main grid lines to the axes
xlabel ('Time')
%labels the x axis
ylabel ('Frequency')
%labels the y axis
title ('plot of square wave of unit magnitude over user defined period')%adds a title to the graph
guidata(hObject, handles); %updates the handles

187. on 03 Dec 2009 at 9:05 am 187shiv


hello sir
can u tell me
how can i do this
on the single Gui i want 2 image along with 2 buttons
after clicking the button the image should be open in small part of GUI
188. on 03 Dec 2009 at 9:07 am 188shiv
Sir i want to extract the RGB value of the part of the image selected by user
but
the gui contains many button and this image on single GUI(frame)
189. on 04 Dec 2009 at 7:56 am 189kiran grewal

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

72 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

thanks for the great help


190. on 06 Dec 2009 at 8:57 pm 190uDjo
thx for the tutorial
191. on 08 Dec 2009 at 8:49 am 191S.M 'egranol
Having some serious trouble with this one - even using the source code directly invokes the same error:
??? Error while evaluating uicontrol Callback
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,String);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
Neither this, nor another program I got working based off this that worked elsewhere, will run properly on the version of MATLAB Im using (7.5.0)
- Any help would be VASTLY appreciated.
192. on 08 Dec 2009 at 12:56 pm 192Zane Montgomery
Hi S.M Negranol,
Im gonna guess your issue is with the tag of you editText button. Double click your first editText button in the GUIDE editor to bring up the
property inspector.
Make sure the Tag property has the name: input1_editText
You may need to check/fix your other buttons too, but make sure the tag property for all of your buttons match up with the get(handles.buttonName)
commands youre using.
good luck,
Zane

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

73 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

193. on 12 Dec 2009 at 10:16 am 193Archana


helo sir..
am a newbie to matlab..
yesterday, i tried your tutorial step by step..
but, i got an error..
??? There is no String property in the figure class.
Error in ==> firstprogram>add_Callback at 148
set(handles.output,String,c);
Error in ==> gui_mainfcn at 75
feval(varargin{:});
Error in ==> firstprogram at 44
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
can you help me sir?? pls..
194. on 13 Dec 2009 at 12:21 pm 194midodo
matlab GUI
195. on 14 Dec 2009 at 7:46 am 195STB
how can we edit a GUI ?
if it save as .fig
196. on 17 Dec 2009 at 9:53 am 196king
help me please badly needed how can i display the answer of my transfer function to my static text
function varargout = expt4(varargin)
% EXPT4 M-file for expt4.fig
% EXPT4, by itself, creates a new EXPT4 or raises the existing
% singleton*.
%
% H = EXPT4 returns the handle to a new EXPT4 or the handle to
% the existing singleton*.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

74 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

%
% EXPT4(CALLBACK,hObject,eventData,handles,) calls the local
% function named CALLBACK in EXPT4.M with the given input arguments.
%
% EXPT4(Property,'Value,) creates a new EXPT4 or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before expt4_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to expt4_OpeningFcn via varargin.
%
% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one
% instance to run (singleton).
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help expt4
% Last Modified by GUIDE v2.5 17-Dec-2009 23:31:08
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(gui_Name, mfilename,
gui_Singleton, gui_Singleton,
gui_OpeningFcn, @expt4_OpeningFcn,
gui_OutputFcn, @expt4_OutputFcn,
gui_LayoutFcn, [] ,
gui_Callback, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 expt4 is made visible.
function expt4_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

75 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% hObject handle to figure


% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to expt4 (see VARARGIN)
% Choose default command line output for expt4
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes expt4 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% Outputs from this function are returned to the command line.
function varargout = expt4_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;
function num_Callback(hObject, eventdata, handles)
% hObject handle to num (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 num as text
% str2double(get(hObject,String)) returns contents of num as a double
% Executes during object creation, after setting all properties.
function num_CreateFcn(hObject, eventdata, handles)
% hObject handle to num (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

76 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

end
function den_Callback(hObject, eventdata, handles)
% hObject handle to den (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 den as text
% str2double(get(hObject,String)) returns contents of den as a double
% Executes during object creation, after setting all properties.
function den_CreateFcn(hObject, eventdata, handles)
% hObject handle to den (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
end
% Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
guidata(hobject,handles)
a=str2num(get(handles.num,String));
b=str2num(get(handles.den,String));
sys=(tf(a,b))
set(handles.text3,String,sys)
% Executes during object creation, after setting all properties.
function text3_CreateFcn(hObject, eventdata, handles)
% hObject handle to text3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
197. on 18 Dec 2009 at 2:10 pm 197Kusse
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

77 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Thanks som much. I run my first GUI today.


198. on 18 Dec 2009 at 2:11 pm 198Kusse
Thank you so much. I run my first GUI today.
199. on 19 Dec 2009 at 9:21 pm 199Engineer M Saeed Anwer
Gr8
very helpful for the beginners
200. on 14 Jan 2010 at 6:04 am 200Sheh
Fantastic tutorial!
201. on 17 Jan 2010 at 1:04 am 201abhishek
sir currently i am trying to develop a graph manipulating application using matlab ,can you help me regarding this project . please and thanks
202. on 19 Jan 2010 at 7:53 am 202kanokwat
function varargout = demo1(varargin)
% DEMO1 M-file for demo1.fig
%
DEMO1, by itself, creates a new DEMO1 or raises the existing
%
singleton*.
%
%
H = DEMO1 returns the handle to a new DEMO1 or the handle to
%
the existing singleton*.
%
%
DEMO1('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in DEMO1.M with the given input arguments.
%
%
DEMO1('Property','Value',...) creates a new DEMO1 or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before demo1_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to demo1_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help demo1
% Last Modified by GUIDE v2.5 19-Jan-2010 11:11:47
% Begin initialization code - DO NOT EDIT

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

78 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @demo1_OpeningFcn, ...
'gui_OutputFcn', @demo1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin &amp;&amp; ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 demo1 is made visible.
function demo1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to demo1 (see VARARGIN)
% Choose default command line output for demo1
handles.output = hObject;
set(hObject,'toolbar','figure');
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes demo1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = demo1_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to
% 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;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton1 (see GCBO)

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

79 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

% eventdata reserved - to be defined in a future version of MATLAB


% handles
structure with handles and user data (see GUIDATA)
%axes(handles.axes1)
t=0:0.001:0.1
a=get(handles.edit1,'string')
x=str2num(a)
y=sin(2*pi*50*x)
plot(handles.axes1,t,y)
guidata(hObject,handles);

function edit1_Callback(hObject, eventdata, handles)


% hObject
handle to 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 edit1 as text
%
str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc &amp;&amp; isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

If my input is sin(2*pi*50*t)
but program cant read t
t=time
what should i do ?
203. on 21 Jan 2010 at 5:32 pm 203Yunus
Thank you for such a clear tutorial. It really helps.
204. on 03 Feb 2010 at 7:33 pm 204shill123
Hello..
M designing DTMF encoder/decoder in matlab using GUI..

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

80 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

here i want a figure to be displayed by checking a push button press in someother callback function,, how to do it??
205. on 04 Feb 2010 at 1:32 am 205Anshul
Thank you very much for such great tutorial.
206. on 05 Feb 2010 at 1:05 am 206amit hansani
hello,
my final year project is based on image segmentation using fuzzy connectednesscan u plz guide me through this.how can i include a image in
matlab using GUI
207. on 10 Feb 2010 at 12:10 pm 207Kerem
Hi,
Thanks a lot for such a nice and simple to understand GUI tutorial
208. on 13 Feb 2010 at 6:28 pm 208lakshman
simply great tutorialvery lucid and easy to understand..thanks a lot
209. on 15 Feb 2010 at 4:49 pm 209AkilaMike
Thanx Quan.
This was really helpful. I am personally in need to develop a GUI to be able to load an image and select coordinates on it as well as to clear those
selection by using a push button.
I would be grateful if you have any resources which can help me in this.
Thank you!
Mike.
210. on 15 Feb 2010 at 11:21 pm 210Iris
Thanks for your tutorial! Its very helpful and I finally laid out a GUI with buttons that work.
However, I was trying to make an adjustable horizontal line in a GUI plot. Is it possible? Any resources that I can look into?
Thanks,
Iris

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

81 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

211. on 17 Feb 2010 at 6:35 am 211hidayah


how do i write the command if i need to instruct the user to insert values of an equation?
i have an assignment which need the input from the user but i dont know how to begin.the values are needed to be inserted into matrix and further
algorithms will be carried out using the values inserted by the user.how do i do this?
212. on 21 Feb 2010 at 10:52 pm 212maddy
i am getting problem in doing this problem
MATLAB CODE
function varargout = myadder(varargin)
% MYADDER M-file for myadder.fig
% MYADDER, by itself, creates a new MYADDER or raises the existing
% singleton*.
%
% H = MYADDER returns the handle to a new MYADDER or the handle to
% the existing singleton*.
%
% MYADDER(CALLBACK,hObject,eventData,handles,) calls the local
% function named CALLBACK in MYADDER.M with the given input arguments.
%
% MYADDER(Property,'Value,) creates a new MYADDER or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before myadder_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to myadder_OpeningFcn via varargin.
%
% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one
% instance to run (singleton).
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help myadder
% Last Modified by GUIDE v2.5 22-Feb-2010 12:22:58
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(gui_Name, mfilename,
gui_Singleton, gui_Singleton,
gui_OpeningFcn, @myadder_OpeningFcn,

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

82 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

gui_OutputFcn, @myadder_OutputFcn,
gui_LayoutFcn, [] ,
gui_Callback, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
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 myadder is made visible.
function myadder_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to myadder (see VARARGIN)
% Choose default command line output for myadder
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes myadder wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% Outputs from this function are returned to the command line.
function varargout = myadder_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;

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

83 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

function input1_editText_Callback(hObject, eventdata, handles)


% hObject handle to input1_editText (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 input1_editText as text
% str2double(get(hObject,String)) returns contents of input1_editText as a double
%store the contents of input1_editText as a string. if the string
%is not a number then input will be empty
input = str2num(get(hObject,String));
%checks to see if input is empty. if so, default input1_editText to zero
if (isempty(input))
set(hObject,String,'0)
end
guidata(hObject, handles);
% Executes during object creation, after setting all properties.
function input1_editText_CreateFcn(hObject, eventdata, handles)
% hObject handle to input1_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
end
function input2_editText_Callback(hObject, eventdata, handles)
% hObject handle to input2_editText (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 input2_editText as text
% str2double(get(hObject,String)) returns contents of input2_editText as a double
%store the contents of input1_editText as a string. if the string
%is not a number then input will be empty
input = str2num(get(hObject,String));
%checks to see if input is empty. if so, default input1_editText to zero

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

84 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

if (isempty(input))
set(hObject,String,'0)
end
guidata(hObject, handles);
% Executes during object creation, after setting all properties.
function input2_editText_CreateFcn(hObject, eventdata, handles)
% hObject handle to input2_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
set(hObject,BackgroundColor,'white);
end
% Executes on button press in add_pushbutton.
function add_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to add_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = get(handles.input1_editText,String);
b = get(handles.input2_editText,String);
% a and b are variables of Strings type, and need to be converted
% to variables of Number type before they can be added together
total = str2num(a) + str2num(b);
c = num2str(total);
% need to convert the answer back into String type to display it
set(handles.answer_staticText,String,c);
guidata(hObject, handles);
213. on 26 Feb 2010 at 7:13 am 213Debasish Sarker
Plz..help me..and if possible email me to my email address.
I want to modify a gui.m file..my problem is..I have 3 m files of 3 equations. in these equations there are 2 unknown variables.
from gui.fig i want to input these 2 unknown values by edit text and select an equation by pop-menu and get the result.

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

85 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

How can I manage gui.m file of this problem?? anyone please help me..
214. on 04 Mar 2010 at 11:15 pm 214Ritu
Hi,
I m really Thankfull 2 u for this nice and easily understandable tutorial.
215. on 05 Mar 2010 at 3:05 am 215Alen
Hi, can you teach me how to generate sine wave in GUI?
Thank you
216. on 07 Mar 2010 at 1:45 am 216Anonymous
supper
217. on 08 Mar 2010 at 9:59 am 217elea
thank you so much for the tutorial
218. on 13 Mar 2010 at 7:58 am 218dut eden
hey i have one Q
how to get read for a matrix form..eg: i want to read 2000 4000 in static text both at the same time..
219. on 13 Mar 2010 at 6:50 pm 219raj
hey can u help me i have a program in which i am reading no of frames using mmreader
and then after reading all frames
reading one particular frame as original and on converted to bW
now i want to insert my prog to GUI
but i dont know where excatlly i need to insert my matlab code in GUI (bcoz this is first time i am working with GUI)
as i want to load the image and then enter to no of frame i want to read
and save it
plzz help me out
220. on 13 Mar 2010 at 6:53 pm 220raj
hey can u help me i have a program in which i am reading no of frames using mmreader
and then after reading all frames
17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

86 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

reading one particular frame and convert it to bW


now i want to insert my prog to GUI
but i dont know where excatlly i need to insert my matlab code in GUI (bcoz this is first time i am working with GUI)
as i want to load the video and then enter to no of frame i want to read
and save it
plzz help me
221. on 14 Mar 2010 at 7:47 am 221nandit
I had a one problem. I just want to design a calculator same as TI-89 by using a MATLAB, but I didnt know from where should I look the
information. Somebody told you shall have to look at tutorial, but I didnt get nothing over there. May be I am thinking that you can help me from
figue out where the information I can find?
222. on 14 Mar 2010 at 7:49 am 222nandit

Leave a Reply
Include MATLAB code in your comment by doing the following:
<pre lang="MATLAB">
%insert code here
</pre>

Name
Mail (hidden)
Website

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

87 de 89

www.DoDBU.com

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Ads by Google

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

88 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

Ads by Google
Gui Programming
Download Java Games
Gui Interface
Windows Forms Gui

Links
The MathWorks Blog Ring
Undocumented MATLAB Tips
Data Mining in MATLAB
Search for:

Recent Posts
The End of Blinkdagger? . . . . Possibly
MATLAB - Global Variables
MMM #34 Winner, Sander Land!!!
Monday Math Madness #34: Crossing a Bridge
MATLAB GUI Tutorial - UITABLE Part 2, How To Access Table Data
Copyright 2010 blinkdagger
Posts RSS Comments RSS

17/03/2010 22:13

MATLAB GUI Tutorial - For Beginners | blinkdagger

89 de 89

http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/

WordPress Theme designed by David Uliana XHTML CSS

17/03/2010 22:13

You might also like