You are on page 1of 7

APLICACIONES GUI (INTERFAZ GRFICA DE USUARIO) CON MATLAB

Todos los objetos tienen propiedades que permiten cambiar el color del objeto, tipo de letra, tamao
de la letra, etc.; y tambin tienen funciones que permiten darle funcionalidad a travs de la
programacin que el usuario tiene que hacer.

Para ingresar a disear un GUI, en el prompt del MatLab se debe ingresar guide.

1) USO DEL Push Button

function pushbutton1_Callback(hObject, eventdata, handles)


x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y)
grid on

2) USO DEL Toggle Button

function togglebutton1_Callback(hObject, eventdata, handles)


boton_estado=get(handles.togglebutton1,'value');
if boton_estado==1
x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y,'color','r')
grid on
else
x=linspace(0,2*pi,100);
y=cos(x);
plot(x,y,'color','b','linewidth',2)
grid on
end

3) USO DEL Static Text.

Este objeto solo sirve para poner texto dentro de los GUI y a travs de sus propiedades se puede
cambiar sus caractersticas.

4) USO DEL Edit Text.

Esta funcin bsicamente sirve para ingresar datos y mostrar los resultados, lo que se debe tener
en cuenta, es que los datos que se ingresan son registrados como cadena de caracteres, por lo

RUBN GALEAS ARANA


que para poder hacer clculos matemticos con dichos datos se debe convertir dicha cadena en
nmero haciendo uso de la funcin str2double.

Programa para leer y/o recuperar datos de un Edit Text

a=str2double(get(handles.edit1,'string'));
b=str2double(get(handles.edit2,'string'));

Programa para visualizar resultados en un Edit Text

set(handles.edit3,'string',25.5);
set(handles.edit3,'string',a);

Ejemplo completo, para calcular la velocidad de un mvil.

function pushbutton1_Callback(hObject, eventdata, handles)


d=str2double(get(handles.edit1,'string'));
t=str2double(get(handles.edit2,'string'));
v=d/t;
set(handles.edit3,'string',v);

5) USO DEL Radio Button, Check Box y Button Group (uibuttongroup).

function uibuttongroup1_SelectionChangedFcn(hObject, eventdata, handles)


a=str2double(get(handles.edit1,'string'));
b=str2double(get(handles.edit2,'string'));
if hObject==handles.radiobutton1
set(handles.edit3,'enable','off');
set(handles.text1,'string','SUMA DE DOS NMEROS');
set(handles.text4,'string','SUMA=');
c=a+b;
elseif hObject==handles.radiobutton2
set(handles.text1,'string','RESTA DE DOS NMEROS');
set(handles.text4,'string','RESTA=');
c=a-b;

RUBN GALEAS ARANA


elseif hObject==handles.radiobutton3
set(handles.text1,'string','PRODUCTO DE DOS NMEROS');
set(handles.text4,'string','PRODUCTO=');
c=a*b;
else hObject==handles.radiobutton4
set(handles.text1,'string','DIVISIN DE DOS NMEROS');
set(handles.text4,'string','DIVISIN=');
c=a/b;
end
set(handles.edit3,'string',c);

function pushbutton1_Callback(hObject, eventdata, handles)


close %para cerrar la aplicacin.

6) USO DEL Popupmenu.

function popupmenu1_Callback(hObject, eventdata, handles)


a=str2double(get(handles.edit1,'string'));
b=str2double(get(handles.edit2,'string'));
opcion=get(handles.popupmenu1,'value');
switch (opcion)
case 1
set(handles.edit3,'enable','off');
set(handles.text1,'string','SUMA DE DOS NMEROS');
set(handles.text4,'string','SUMA=');
c=a+b;
case 2
set(handles.text1,'string','RESTA DE DOS NMEROS');
set(handles.text4,'string','RESTA=');
c=a-b;
case 3
set(handles.text1,'string','PRODUCTO DE DOS NMEROS');
set(handles.text4,'string','PRODUCTO=');
c=a*b;
case 4
set(handles.text1,'string','DIVISIN DE DOS NMEROS');

RUBN GALEAS ARANA


set(handles.text4,'string','DIVISIN=');
c=a/b;
end
set(handles.edit3,'string',c);

7) USO DEL Listbox.

function listbox1_Callback(hObject, eventdata, handles)


a=str2double(get(handles.edit1,'string'));
b=str2double(get(handles.edit2,'string'));
opcion=get(handles.listbox1,'value');
switch (opcion)
case 1
set(handles.edit3,'enable','off');
set(handles.text1,'string','SUMA DE DOS NMEROS');
set(handles.text4,'string','SUMA=');
c=a+b;
case 2
set(handles.text1,'string','RESTA DE DOS NMEROS');
set(handles.text4,'string','RESTA=');
c=a-b;
case 3
set(handles.text1,'string','PRODUCTO DE DOS NMEROS');
set(handles.text4,'string','PRODUCTO=');
c=a*b;
case 4
set(handles.text1,'string','DIVISIN DE DOS NMEROS');
set(handles.text4,'string','DIVISIN=');
c=a/b
end
set(handles.edit3,'string',c);

8) USO DEL Axes.

function pushbutton1_Callback(hObject, eventdata, handles)


x=linspace(0,2*pi,100);
y=sin(x);
axes(handles.axes1);
plot(x,y);
grid on;

RUBN GALEAS ARANA


9) USO DEL Slider.

function slider1_Callback(hObject, eventdata, handles)


valor=get(handles.slider1,'Value');
x=0:0.1:60;
y=sin(x*valor);
axes(handles.axes1);
plot(x,y);
grid on;

RUBN GALEAS ARANA


10) EJEMPLO DE APLICACIN.

Primero diseamos la funcin para calcular las races de una ecuacin cuadrtica.

function [r1,r2]=RaicesCuadraticas(a,b,c)
r1=(-b+sqrt(b^2-4*a*c))/(2*a);
r2=(-b-sqrt(b^2-4*a*c))/(2*a);
return

function pushbutton1_Callback(hObject, eventdata, handles)


a=str2double(get(handles.edit1,'string'));
b=str2double(get(handles.edit2,'string'));
c=str2double(get(handles.edit3,'string'));
[r1,r2]=RaicesCuadraticas(a,b,c); %utilizamos la funcin diseada
set(handles.edit4,'string',r1);
set(handles.edit5,'string',r2);

function pushbutton2_Callback(hObject, eventdata, handles)


set(handles.edit1,'string','');
set(handles.edit2,'string','');
set(handles.edit3,'string','');
set(handles.edit4,'string','');
set(handles.edit5,'string','');

function pushbutton3_Callback(hObject, eventdata, handles)


close

RUBN GALEAS ARANA


CREACIN DE MENS EN MATLAB.

- Ingresar a un nuevo GUI


- Ingresar al men Tools/menu editor y cuando salga la ventana siguiente

PROGRAMA PARA PONER UNA IMAGEN DE FONDO


- Poner en toda la pantalla un objeto axes y programar lo siguiente:

function zzzz_OpeningFcn(hObject, eventdata, handles, varargin)


a=imread('E:\Datos de Elecciones del CIP\Propagandas Modelos\Diptico
elecciones CIP.jpg');
image(a);
axis off;

RUBN GALEAS ARANA

You might also like