Está en la página 1de 7

APLICACIONES GUI (INTERFAZ GRÁFICA DE USUARIO) CON MATLAB

Todos los objetos tienen propiedades que permiten cambiar el color del objeto, tipo de letra, tamaño
de la letra, etc.; y también tienen funciones que permiten darle funcionalidad a través de la
programación que el usuario tiene que hacer.

Para ingresar a diseñar 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 través de sus propiedades se puede
cambiar sus características.

4) USO DEL Edit Text.

Esta función básicamente 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
que para poder hacer cálculos matemáticos con dichos datos se debe convertir dicha cadena en
número haciendo uso de la función 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 móvil.

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 (uipanel).

function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)


a=str2double(get(handles.edit1,'string'))
b=str2double(get(handles.edit2,'string'))
if hObject==handles.radiobutton1
set(handles.edit3,'enable','on')
set(handles.text1,'string','SUMA DE DOS NÚMEROS')
set(handles.text4,'string','SUMA=')
c=a+b
elseif hObject==handles.radiobutton2
set(handles.text1,'string','RESTA DE DOS NÚMEROS')
set(handles.text4,'string','RESTA=')
c=a-b
elseif hObject==handles.radiobutton3
set(handles.text1,'string','PRODUCTO DE DOS NÚMEROS')
set(handles.text4,'string','PRODUCTO=')
c=a*b
else hObject==handles.radiobutton4
set(handles.text1,'string','DIVISIÓN DE DOS NÚMEROS')
set(handles.text4,'string','DIVISIÓN=')
c=a/b
end
set(handles.edit3,'string',c);

function pushbutton1_Callback(hObject, eventdata, handles)


close %para cerrar la aplicación.

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','on')
set(handles.text1,'string','SUMA DE DOS NÚMEROS')
set(handles.text4,'string','SUMA=')
c=a+b
case 2
set(handles.text1,'string','RESTA DE DOS NÚMEROS')
set(handles.text4,'string','RESTA=')
c=a-b
case 3
set(handles.text1,'string','PRODUCTO DE DOS NÚMEROS')
set(handles.text4,'string','PRODUCTO=')
c=a*b
case 4
set(handles.text1,'string','DIVISIÓN DE DOS NÚMEROS')
set(handles.text4,'string','DIVISIÓN=')
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','on')
set(handles.text1,'string','SUMA DE DOS NÚMEROS')
set(handles.text4,'string','SUMA=')
c=a+b
case 2
set(handles.text1,'string','RESTA DE DOS NÚMEROS')
set(handles.text4,'string','RESTA=')
c=a-b
case 3
set(handles.text1,'string','PRODUCTO DE DOS NÚMEROS')
set(handles.text4,'string','PRODUCTO=')
c=a*b
case 4
set(handles.text1,'string','DIVISIÓN DE DOS NÚMEROS')
set(handles.text4,'string','DIVISIÓN=')
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;
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;
10) EJEMPLO DE APLICACIÓN.

Primero diseñamos la función para calcular las raíces de una ecuación cuadrática.

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 función diseñada
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
CREACIÓN DE MENÚS 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;

También podría gustarte