)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
1
Instituto Politcnico Nacional.
E.S.I.M.E Unidad Profesional Ticomn.
Academia de ciencias bsicas.
Ing. Julio Csar Milln Daz.
Interfaz Grafica de Usuario en MATLAB.
Introduccin.
Una interfaz grafica es el vinculo entre el usuario y un programa computacional,
constituida generalmente por un conjunto de comandos o mens, instrumentos y mtodos
por medio de los cuales el usuario se comunica con el programa durante las operaciones
que se desean realizar, facilitando la entrada y salida de datos e informacin.
Figura 1
El nombre en ingles es Graphical User Interface
y se denominan GUI (Figura 1). Existen
diferentes lenguajes de programacin que
permiten crear GUIs tales como Visual C,
Visual Basic y MATLAB por mencionar algunos.
Todos ellos permiten usar diferentes controles y
tienen distintas maneras de programarlos.
MATLAB nos permite realizar GUIs de una
manera sencilla usando una herramienta
llamada GUIDE (GUI Development
Envoiroment).
Una GUI, permite a los usuarios realizar tareas de forma interactiva a travs de controles,
como botones y barras de desplazamiento. Dentro de MATLAB , herramientas de interfaz
grfica de usuario le permiten realizar tareas como la creacin y personalizacin de
grficos (plottools), ajuste de curvas y superficies (cftool), y el anlisis y filtrado de seales
(sptool). Tambin se pueden crear interfaces grficas de usuario personalizadas para los
dems de usar - ya sea mediante la ejecucin de ellos en MATLAB o como aplicaciones
independientes.
JULIO CSAR MILL!, 22/10/12 19:15
Comentario [1]: Lpez Bez, David (Primera
edicin). MATLAB con aplicaciones a la
ingeniera, fsica y finanzas. Alfaomega.
JULIO CSAR MILL!, 23/10/12 18:27
Comentario [2]: hLLp://www.maLhworks.com
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
2
Acceso al GUIDE:
Figura 2
Para crear una GUI en MATLAB usamos GUIDE, ya sea que
escribamos guide en el Comand Window de MATLAB o lo
ejecutemos desde el men principal: File -> New -> GUI.
Una vez que hemos terminado la operacin antes mencionada
MATLAB nos mostrara una ventana con opciones para la
creacin de la GUI o si deseamos abrir una ya existente.
Figura 3 (Ventana De seleccin de nueva GUI o de una existente, as como diseos
predeterminados por MATLAB).
Si seleccionamos una nueva
GUI, entonces el rea de diseo
aparecer mostrando en el parte
superior los mens y opciones
de la GUIDE, Figura 4.
Figura 4
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
3
En la parte izquierda se aprecian los diferentes controles y en la parte central el rea de
diseo donde colocaremos los controles a usar. (En caso de presentarse los controles sin
nombre, solo tendremos que seguir la siguiente ruta: File -> Preferentes ! -> Guide y
seleccionamos luego Show names in component palette; Figura 5).
Figura 5
Figura 6
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
4
Componentes de una GUI.
Figura 7
En la parte superior (Figura 7), se encuentra la barra de herramientas que contiene entre
otras las siguientes: Alineacin de objetos, Editor de archivo M, Inspector de propiedades,
navegador de objetos y Activacin de GUI.
Inspector de propiedades: Cada control cuenta con diferentes propiedades y es aqu
donde podremos cambiar: el color, el nombre, el tag, el valor, el callback, entre otros.
Activacin de la figura: Una vez que hallamos terminado de disear, presionamos este
botn para activar la figura y poder probar nuestra GUI.
A continuacin describiremos los objetos que se encuentran en la parte lateral izquierda
de nuestra ventana de trabajo (Tabla 1):
Seleccionador de controles en hoja de trabajo.
Botn de presin (Push Botton): Crea un botn.
Botn de activacin (Toggle Botton).
Botn de seleccin (Radio Botton): Crea un botn circular.
Botn de eleccin (Checkbox).
rea de texto (Edit Text): Crea un campo para captura de
texto.
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
3
Texto esttico (Static Text): Crea un letrero fijo.
Barra de deslizamiento (Slider).
Panel: Crea un marco que puede contener otros controles.
Caja de lista (List Box): Genera una lista de opciones
acciones.
Botn de aparicin (Popup Botton).
Ejes (Axes): Crea un rea para grficos.
Tabla 1.
Propiedades de los controles.
Para entender las propiedades de un control primero crearemos un botn y luego
activamos el inspector de propiedades. Los distintos elementos se pueden crear en el
rea de diseo con solo seleccionarlos y arrastrarlos a donde deseamos que sean
ubicados. Como se ha mencionado, las propiedades varan dependiendo del control a
usar. A continuacin se explican las ms comunes:
BackgruondColor. Cambia el color del fondo del control.
Callback. La propiedad mas importante del control, ya que le dice al control que hacer
cuando este se active.
Enable. Activa o desactiva un control.
String. En el caso de botones, cajas de texto, texto esttico; es el texto que se muestra
en el control.
Tag. Otra de las propiedades mas importantes ya que con esta es posible regresar datos
o identificar el control.
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
6
Implementacin de una GUI en MATLAB.
En el diseo de software, es necesario tener bien claro y definidos los procesos que una
GUI tiene que cumplir. El usuario los potenciales usuarios de la GUI, deben documentar
al diseador de la informacin mas completa y detallada para iniciar el proceso de
construccin de la GUI; este proceso incluye especificar las entradas, las salidas, las
pantallas y el desempeo de la GUI.
ESTABLECER LOS
REQUERIMIENTOS:
* Propositos.
* Usar casos.
* Funcionalidad.
ESPECIFICACIONES DE
LA GUI:
* Entradas / Salidas.
* Controles.
* Indicadores.
* Pantallas.
Ingresar otra
ventana de
dialogo ?
DISEO DE LA GUI:
* Secuencias.
* Acomodo.
* Etiquetado.
* Estilo.
Maqueta prototipo ...
GENERAR LA GUI:
* Jerarquizacin.
* Va de GUIDE.
* Va de Programacin.
PROGRAMAR LA GUI:
* Inicializacin.
* Acciones.
* Coordinzacin.
* Manejo de datos.
* Cierre.
PRUEBA DE GUI:
* Datos de entrada.
* Acciones predeterminadas.
* Sealizacin de errores.
* Facilidad de manejo.
* Gua de manejo.
NO
SI
Figura 8
Despus de disear una GUI, es necesario programar cada uno de los controladores
para un optimo desempeo.
JULIO CSAR MILL!, 23/10/12 18:33
Comentario [3]: help gulde>doc gulde, desde el
comand wlndow de MA1LA8.
!"# %&'()'# #* +,-.)')/ 0, *# 1#2-)#3
l
n
L
e
r
f
a
z
C
r
a
f
l
c
a
d
e
u
s
u
a
r
l
o
e
n
M
A
1
L
A
8
:
l
n
L
r
o
d
u
c
c
l
n
.
7
Por ultimo, se debe indicar un proceso de pruebas en la GUI prototipo para asegurarse de
que hemos cumplido con las especificaciones de diseo. Si las pruebas revelan defectos
de diseo o de comportamiento, ser necesario efectuar modificaciones hasta optimizar el
desempeo. En la figura 8, se muestra un esquema que ilustra en un diagrama de flujo el
proceso de diseo recomendado para la construccin de una GUI.
El GUIDE proporciona herramientas para el diseo y programacin de interfaces grficas
de usuario, esta herramienta generar automticamente el cdigo de MATLAB que define
todas las propiedades de los componentes y establece un marco para las devoluciones de
la llamada GUI.
La forma de implementar las GUI con MATLAB es crear los objetos y definir las acciones
que cada uno va a realizar. Al usar GUIDE para crear una GUI obtendremos dos archivos:
un archivo FIG que contiene la descripcin de los componentes que contiene la interfaz y
un archivo M que contiene las funciones y los controles del GUI as como el callback.
Un callback se define como la accin que lleva a cabo un objeto de la GUI cuando el
usuario lo active. Para ejemplificarlo, suponga que en una ventana existe un botn que al
presionarlo ejecutara una serie de instrucciones, a ese conjunto de instrucciones se le
conoce como la funcin del callback.
Referencias.
MATLAB con aplicaciones a la ingeniera, Fsica y Finanzas. Bez Lpez, David.
1era. Edicin. Alfaomega.
MATLAB para ingenieros. Moore, Holly. 2da. Edicin. McGraw Hill.
http://www.mathworks.com/discovery/matlab-gui.html
http://www.mathworks.com/videos/creating-a-gui-with-guide-68979.html