1. Notas de clase Profesora Lucelly Reyes H
1
Interfaz Grafica en MATLAB Guide
Introducción
Matlab Guide es un entorno de programación grafica que ofrece Matlab para poder
realizar y ejecutar programas de Simulación a medida de forma simple, tiene las
características básicas de todos los programas visuales como Visual Basic o Visual
C++.
Desde la ventana de comando del Matlab se debe ejecutar el comando guide.
Se presenta el siguiente cuadro de dialogo:
Se presentan las siguientes opciones:
a) Blank GUI (Default): La opción de interfaz gráfica de usuario en blanco (viene
predeterminada), nos presenta un formulario nuevo, en el cual podemos diseñar
nuestro programa.
b) GUI with Uicontrols: Esta opción presenta un ejemplo en el cual se calcula la
masa, dada la densidad y el volumen, en alguno de los dos sistemas de unidades.
Podemos ejecutar este ejemplo y obtener resultados.
c) GUI with Axes and Menu: Esta opción es otro ejemplo el cual contiene el menú File
con las opciones Open, Print y Close. En el formulario tiene un Popup menu, un
push button y un objeto Axes, podemos ejecutar el programa eligiendo alguna de
las seis opciones que se encuentran en el menú despegable y haciendo click en el
botón de comando.
2. Notas de clase Profesora Lucelly Reyes H
2
d) Modal Question Dialog: Con esta opción se muestra en la pantalla un cuadro de
diálogo común, el cual consta de una pequeña imagen, una etiqueta y dos botones
Yes y No, dependiendo del botón que se presione, el GUI retorna el texto
seleccionado (la cadena de caracteres ‘Yes’ o ‘No’).
e) Elegimos la primera opción, Blank GUI, y tenemos:
Como se puede observar esta ventana presenta una variedad de componentes importantes
para el diseño de una interfaz grafica.
Componente Icono Descripción
Push Button
Invoca un evento inmediatamente. Por ejemplo, un botón Aceptar
podría aplicar la configuración y cerrar un cuadro de diálogo. Al
hacer clic en un botón de comando, aparece deprimido; Cuando
suelte el botón del ratón, el botón aparece elevado.
Slider
Usado para representar un rango de valores, permite al usuario
mover una barra de deslizamiento.
Radio Button Indica una opción que puede ser seleccionada.
Check Box
Indica el estado de una opción o atributo. Las casillas de
verificación son útiles cuando se proporciona al usuario un número
de opciones independientes.
Edit Text Caja para editar texto, permite a los usuarios introducir o modificar
las cadenas de texto. Los usuarios pueden introducir números pero
debe convertirlos a sus equivalentes numéricos.
3. Notas de clase Profesora Lucelly Reyes H
3
Como funciona una aplicación Guide? Consta de dos archivos uno .m (ejecutable) y
otro . fig la parte grafica. Las dos partes están unidas a través de las subrutinas
callback. Una vez que se graba los archivos desde la consola de emisión (si salvamos
la .fig automáticamente lo hace el .m asociado) podemos ejecutar el programa en la
ventana de comando de Matlab solamente escribiendo el nombre del archivo
solamente. Por ejemplo si guardamos un archivo sumador.fig y sumador.m escribiendo
sumador y presionando enter se ejecuta el programa.
El archivo .m que se crea tiene una estructura predeterminada. Consta de un
encabezado y a continuación viene el código correspondiente a las siguientes
subrutinas.
Ejecución de un sumador
Con este ejemplo, se pretende mostrar el uso de pushbutton, static text y Edit text, así como
insertar una imagen de fondo a nuestro diseño.
Static Text
Muestra un string de texto en una caja.
Estos controles de texto estático se utiliza normalmente para
etiqueta otros controles, proporcionan instrucciones para el usuario
o indicar los valores asociados a un control deslizante. Los
usuarios no pueden cambiar texto estático interactivamente.
Pop-Up Menu
Menús emergentes abren para mostrar una lista de opciones
cuando los usuarios hacen clic en la flecha.
List Box Muestra una lista deslizablede elementos y permiten a los usuarios
seleccionar uno o más elementos.
Toggle Button
Botones de solo dos estados, “on” o “off”, generan una acción e
indican si está activadas o desactivada.
Table
Genera una tabla
Axes Permiten mostrar gráficos e imágenes. Al igual que todos los
objetos gráficos.
Panel Paneles para organizan los componentes de la GUI en grupos. Al
agrupar visualmente los controles relacionados, los paneles
pueden hacer la interfaz de usuario más fácil de comprender.
Button Group
Permite exclusividad de selección con los radio button.
ActiveX®
Component
Componentes ActiveX le permiten mostrar controles ActiveX en la
GUI. Ellos sólo están disponibles en la plataforma Microsoft ®
Windows ®.
4. Notas de clase Profesora Lucelly Reyes H
4
Cada uno de estos elementos tienen un conjunto de propiedades a las cuales podemos
acceder con el botón derecho del mouse, una vez haga click sobre este aparece el
siguiente cuadro:
5. Notas de clase Profesora Lucelly Reyes H
5
Para editar las propiedades de cada elemento seleccionamos la opción Properties
Inspector y se abre una consola (la cual variará según que elemento se esté editando)
con todas las propiedades que podemos editar, ej color, posición, tamaño, font, etc.
Una de las opciones de mayor interés para nosotros en la figura anterior es Edit
Callback . Esta última abre el archivo .m asociado (ejecutable Matlab) y nos posiciona
en la sección del programa que corresponde a la subrutina que se ejecutara cuando se
realice una determinada acción sobre el elemento que estamos editando.
Podemos cambiar el nombre con el que aparecerá la función del pushbutton en el m-
file, simplemente editando el campo Tag.
6. Notas de clase Profesora Lucelly Reyes H
6
Para iniciar a editar nuestro m-file, llegamos a cada función con el ícono Show
functions. ,
Cada uno de los elementos añadidos en nuestro diseño como pushbutton, edit
text, static text tienen una función asociada en nuestro m-file. Así, al añadir pushbutton
tenemos el siguiente código:
Agreguemos ahora un comando de edit text
7. Notas de clase Profesora Lucelly Reyes H
7
generando el código
Aquí empieza lo bueno. Justo debajo de function edit1_Callback(hObject, eventdata,
handles), y de los comentarios correspondientes, escribimos el siguiente código:
Recuérdese que la instrucción get la usamos para obtener datos ingresados por el
usuario. Así, la línea Val=get(hObject,'String') almacena en Val el valor ingresado en
formato String. La sentencia NewVal = str2double(Val) realiza la transformación de
string a double, o de palabra a número. La sentencia handles.edit1=NewVal almacena
NewVal en el identificador handles.edit1. Por
último, salvamos los datos de la aplicación con la sentencia guidata(hObject,handles).
Ya tenemos un operando es necesario repetir la operación anterior para el segundo
operando.
8. Notas de clase Profesora Lucelly Reyes H
8
Repetimos las mismas sentencias justo debajo de function edit2_Callback(hObject,
eventdata, handles), pero esta vez usando el identificador handles.edit2=NewVal.
Tendremos las siguientes sentencias.
Ahora debemos crear un comando Static text para mostrar el resultado de la suma.
Hasta el momento tenemos los dos sumandos almacenados en los identificadores
handles.edit1 y handles.edit2. Como nuestro resultado se muestra al presionar el botón
RESPUESTA, es momento de editar la función correspondiente a pushbutton.
Debajo de function pushbutton1_Callback(hObject, eventdata, handles), y de los
comentarios correspondientes, editamos el siguiente código:
9. Notas de clase Profesora Lucelly Reyes H
9
Las tres primeras sentencias son por demás obvias. Sin embargo, la cuarta línea
contiene la instrucción set, con la cual establecemos un valor (string) al componente
Static text1, con el identificador handles.text1.
Bien, hasta aquí ya tenemos nuestra sumadora. Ejecutamos el programa.