How to make a simple GUI in Matlab

Recently i was working on project which was to be done on Matlab and we have to present our analysis in Matlab.For that i need to make some kind of User Interface.After searching on internet for some time i found out about GUIDE in matlab for making basic GUI in Matlab.In this post i will tell you how to make a simple GUI in Matlab using GUIDE.


To start with type Guide in your command line window.You will get window opened in which there is a tab create New GUI under which there will be 4 options

Blank GUI
GUI with UI Controls
GUI with Axis and Menu
Modal Question Dialog

/* User interface (.fig file) */

Select Blank GUI to make your user interface.You can select other three options also to fit your needs.But in this post i will be using Blank GUI for making simple User Interface.After selecting, a Window will get opened where a palette with all the UI components is there.You can drag and drop it and place anywhere you want. I will make a simple GUI with two Edit fields (text boxes) and three static text fields (used as labels) and one button.I will be enter 2 values calculate its Sum and display the result.


If you have to edit the properties of each of the UI controls like string name,Tag,size,font,color etc double click the element to get a properties window.In this GUI change the following properties of UI control elements

statictext1 :
String-Value1, Tag-str1

statictext2:
String-Value2, Tag-str2

Edit Text 1 :
String-(left it blank) Tag-value1

Edit Text 1 :
String-(left it blank) Tag-value2

statictext3 :
String-(left it blank), Tag-result

pushbutton1 :
String-Calculate Sum, Tag-sum

/* code (.m file) */

Now right click on the push button and select View Callbacks.The .m file will get opened save it.Now you will see some code by default in the .m file of GUI.Search for the callback function sum_callback function in the code (sum is name of your pushbutton).This is the function which defines what the button will do after clicking it that is whenever user will click the Sum button sum_callback function will get executed.

Our first task is to get two values from the text fields for that i will be using get method.Write the code

var1=get(handles.value1,'String');
var2=get(handles.value2,'String');

As the input is in the string format we need to convert it into number.

var1=str2num(var1);
var2=str2num(var2);

Second task is to add this two values and set in the static text which is set blank using set method.

var3=var1+var2;
set(handles.result,'String',var3);

Save the files and run it .Thats it you will get the sum of two numbers.Here is the screenshot of the final GUI you will get in the end.


This is very simple and basic GUI implementation.You can modify it with some more UI elements and experiment with different callback functions to get the results.For graphs and axis you can use UI with axes or include axis UI element in your GUI.I will be posting a more advanced GUI in my next post.The whole code for the above GUI from .m file is

function sum_Callback(hObject, eventdata, handles)
% hObject    handle to sum (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
var1=get(handles.value1,'String');
var2=get(handles.value2,'String');
var1=str2num(var1);
var2=str2num(var2);
var3=var1+var2;
set(handles.result,'String',var3);



Comments

Popular posts from this blog

Tricky Questions or Puzzles in C

Program to uncompress a string ie a2b3c4 to aabbbcccc

Programs and Puzzles in technical interviews i faced