You are on page 1of 41

Introduccin unas las Tcnicas de

Programacin examine MATLAB


Interface de Usuario Grafica

Expositor: Mg. Samuel Oporto Daz

08-FEB-2008

Temario General
1. Introduccin.
2. Interfaz de usuario de MATLAB.
3. Variables del MATLAB.
4. Ploteo y visualizacin de datos.
5. m-Files.
6. Estadstica bsica y anlisis de datos.
7. Tipos de datos.
8. Entrada y salida de datos.
9. Programacin.
10. Construccin de interfaces de usuarios grficas.

2 /13

Objetivos
Se muestra cmo poner una cara amigable a los
programas MATLAB en la forma de una interfaz grfica de
usuario (GUI).
Los GUIs permiten a los usuarios interactuar con los
programas sin tener que comprender, o ver, el cdigo que
hace el trabajo principal.
Los GUIs tambin permiten enfocar la atencin de usuario
en los comportamientos de entrada/salida especficos de
un programa, mientras que des-enfatizan los mecanismos
intermedios.
Los GUIs ofrecen muchas ventajas de valor prctico sobre
programas m-files simples.

3 /13

Objetos Grficos en Matlab

4 /13

Identificador de Objetos Grficos


Los Grficos en MATLAB pueden ser:
root, figure, axes, image, line,
patch, rectangle, surface, text, light
Se puede ejecutar las acciones:
Obtener el identificador del objeto.
Crear el objetos
Asignar valores a las propiedades.
Obtener los valores de las
propiedades.
Modificar propiedades de objetos
Usando lnea de comandos
Usando editor de propiedades

5 /13

Objetos Grficos
(Computer Screen)

Root
Figure
Uicontrol
Uicontrol
Checkbox
Pushbutton
EditText
Listbox

Uimenu
Uimenu

Axes
Axes
Line
Image
Text
Surface
rectangle Patch
6 /13

Objetos Grficos
Root
object
Figure
object
UIMenu
objects

Axes object

UIControl
objects

Surface
object
Line
objects

Text
objects

7 /13

Identificador de Objetos Grficos


1. Cuando se crea el objeto.
h_line = plot(x_data, y_data, ...)
Qu es el objeto actual?
2. Funciones tiles
ltimo objeto se creado
o
0
Identificador del objeto root
ltimo objeto donde se
gcf Identificador de la figura actual
hizo clic
gca Identificador de eje actual
gco Identificador de objeto actual
gcbo Identificador del object desde donde se hizo la llamada

3. FINDOBJ
h_obj = findobj(h_parent,

'Property', 'Value', ...)


Defecto = 0 (objeto root)

8 /13

Ejercicio 1
Plotear los datos de la funcin exp(-t/5).*sin(t) y verifique
las propiedades del objeto grfico.
Identifique las propiedades del: root, figure y axes.
>>
>>
>>
>>
>>
>>
>>
>>

t = 0:0.1:4*pi;
y = exp(-t/5).*sin(t)
plot (t,y)
propedit(0)
propedit(gcf)
propedit(gca)
propedit(gco)
inspect(h)

Ejecute las 4 ltimas instrucciones por separado


9 /13

Modificando propiedades de un objeto


Obteniendo una lista de las propiedades actuales:
get(h_object)
FactoryFigureColor a = get(h_object,'Default')

Obteniendo una lista de las propiedades asignables:


set(h_object)

Modificando propiedades de un objeto


Usando lnea de comandos.
set(h_object,'PropertyName','New_Value',...)

Usando editor de propiedad

10 /13

Propiedades
root

figure

11 /13

Propiedades
axis

12 /13

Ejercicio 2
Identifique sus propiedades
Modifique las propiedades de un objeto grfico.
t = 0:0.1:4*pi;
y = exp(-t/5).*sin(t);
h = plot(t,y);
get(h,'Color')
get(h,'linewidth')
get(h,'Marker')
get(h,'MarkerSize')
set(h,'Color'
,[0 .9 1])
set(h,'linewidth' , .8)
set(h,'Marker'
, 'o')
set(h,'MarkerSize', 12)
set(gcf, 'Name', 'Grfico')
13 /13

GUI en MATLAB

14 /13

Interfaz de usuario grfica


Una GUI es una interfaz de usuario construida con objetos
grficos: botones, texto, sliders, y mens.
Las aplicaciones que proporcionan GUI son fciles de
aprender y usar, desde que la persona usa por primera vez
la aplicacin, ya no que necesita saber los comandos ni
como trabajan.
La accin que resulta de una accin particular del usuario
se puede observar en el diseo de la GUI.

15 /13

Tpicos para cubrirse


Cmo crear GUIs en MATLAB
Crear un nuevo GUI
Colocar componentes (objetos)
Programar las acciones del programa ante acciones del
usuario.
Grabar y ejecutar el GUI.

16 /13

Tareas para crear GUIs


Crear los componentes (objetos) GUI.
.fig
MATLAB implementa el GUI como ventanas figure
conteniendo varios estilos del objetos uicontrol (interfaz
de usuario)
Programar los componentes GUI
.m
Se programa cada objeto para ejecutar la accin
activado por el usuario del GUI.

17 /13

Trabajando con Grficos


COMPONENT

OBJECT

HANDLE

MODIFY PROPERTIES
Propiedades

CALLBACK
Eventos

18 /13

Callbacks
Es una rutina que se ejecuta cuando el usuario activa el
objeto uicontrol.
Es un evento
La rutina es definida como un String, que puede ser: una
expresin valida del MATLAB o un m-file
La expresin se ejecuta en el rea de trabajo del MATLAB.

19 /13

Objetos Grficos
(Computer Screen)

Root
Figure
Uicontrol
Uicontrol
Checkbox
Pushbutton
EditText
Listbox

Uimenu
Uimenu

Axes
Axes
Line
Image
Text
Surface
rectangle Patch
20 /13

Objetos Uicontrol
1. Push Button
3. Radio Button
5. Edit Text
7. Popup Menu
9. Toggle Button
11. Panel
13. ActiveX Control

2. Slider
4. Check Box
6. Static Text
8. List Box
10.Axes
12. Button Group

21 /13

static text

Axes

Checkbox

Frames

Slider
Edit text

Radio Buttons

Push Buttons

22 /13

Creando una nueva GUI

23 /13

Creando una nueva GUI

24 /13

GUIDE
Graphical User Interface Development Environment
GUIDE es un conjunto de herramientas de diseo
GUIDE genera un archivo de m que contiene cdigo para
manejar la inicializacin y la ejecucin del GUI
Este m-file proporciona un marco para la
implementacin de los callbacks (evento)

25 /13

Editor

Inspector de propiedad
Ventana de resultado
26 /13

1. Push Button
Generan una accin cuando se presiona el botn.
Cuando se presiona el clic sobre el botn aparece
deprimido;
Cuando se suelta la apariencia del botn retorna a su
estado norrnal.
El callback se ejecuta cuando se suelta el botn del
mouse.

27 /13

2. Toggle Buttons
El Toggle Buttons generan una accin e indica un estado
binario (apagado o encendido )
La rutina callback a ejecutar necesita consulta al botn y
determinar su estado.
Se puede hacer con una sentencia que use el indicador
del objeto actual (gcbo)
get (gcbo , Value")
MATLAB pone la propiedad de valor a 1 cuando est
apagado y 0 cuando est activo.

28 /13

3. Radio Button
Similar al Check Box, pero estos intentan ser mutuamente
excluyentes en un grupo Radio Buttons relacionados,
slo un botn est seleccionado en cualquier momento.
Para hacer radio buttons mutuamente exclusivos en
un grupo, el callback para cada radio button debe
poner la propiedad de valor a 0 en todos los otros radio
buttons en el grupo

29 /13

4. Check Boxes
Genere una accin cuando hace clic sobre l e indica su
estado con chequeado o no chequeado.
til para proporcionar al usuario varias opciones de
elecciones independientes que ponen un modo.
La propiedad Value indica el estado del Check Box y
puede tomar el valor 1 0
Valore = 1 , caja es verificada.
Valore = 0 , caja no es verificada.

30 /13

5. Edit Text
Permiten ingresar o modificar texto.
Se usa cuando se quiere ingresar texto
La propiedad String contiene el texto.

31 /13

6. Static Text
Presenta lneas de texto.
Tpicamente usado para rotular otros controles, mensajes
de ayuda o indique valores asociados con un slider.
Los usuarios no pueden cambiar el texto esttico
interactivamente y no existen rutinas callback asociadas.
set(handles.text1,
'String',
get(handles.slider1,'Value'))

32 /13

7. List Boxes
Muestra una lista de tems (propiedad
String) y permite al usuarios a
seleccionar unos o ms tems.
Por defecto, el primer tem de la lista
est marcada cuando el list box es
presentado por primera vez.
Si no queremos que un tem se
encuentre seleccionado, poner el valor
[] en la propiedad Value.

33 /13

7. Seleccin Mltiple
Los valores de las propiedades mnimas y mximas
determinan si usuarios pueden hacer las selecciones
sencillas o mltiples:
Si mximo -- mnimo > 1 , entonces las cajas de lista
permiten la seleccin de artculo mltiple
Si mximo -- mnimo < = 1, entonces cajas de lista no
permite mltiple tem seleccin

34 /13

8. Sliders
Acepte un entrada numrica para especificar un rango
donde el usuario puede mover una barra corrediza.
La ubicacin de la barra indica un valor numrico.

Value
Max
Min
SliderStep

- valor actual del cursor


- valor mximo de cursor.
- valor mnimo de cursor.
- variacin del cursor (step)

get(handles.slider1,'Value')
set(handles.slider1,'Value',0)
35 /13

8. SliderStep
Controla la cantidad en que cambia el Value del cursor
cuando se hace clic con el ratn sobre el botn
SliderStep es un vector fila de dos elementos:
Por defecto es [0.01 0.10]
1% para cambios con el click
10% para cambios con las fechas de los extremos.
get(handles.slider1,'SliderStep')
set(handles.slider1,'SliderStep',[.1, .2])

36 /13

9. Popup Menus
Presenta una lista de opciones (definidas en la propiedad
String) cuando los usuarios aprietan la flecha
Cuando no abre, un Popup Menu presenta la opcin
actual, el cual es determinado por el ndice contenido en la
propiedad Value.
El primer tem en la lista tiene el indice 1
Para saber que opcin fue escogida se consulta la
propiedad Value.

37 /13

10.Panel y Button Group


Son cajas que incluyen regiones de un figure.
Hace fcil de entender una interfaz de usuario por que
agrupan visualmente los controles relacionados.
No tienen ninguna rutinas callback asociadas con ellas y
slo los uicontrols pueda aparecer con frames (los
ejes no)

38 /13

Preguntas

39 /13

Mg. Samuel Alonso, Oporto Daz


soporto@wiphala.net
http://www.wiphala.net/oporto

KASPeru

40 /13

GRACIAS

41 /13

You might also like