2012_Interfaz grafica en Guide Matlab.pdf

9
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.

Transcript of 2012_Interfaz grafica en Guide Matlab.pdf

Page 1: 2012_Interfaz grafica en Guide Matlab.pdf

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.

Page 2: 2012_Interfaz grafica en Guide Matlab.pdf

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.

Page 3: 2012_Interfaz grafica en Guide Matlab.pdf

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 ®.

Page 4: 2012_Interfaz grafica en Guide Matlab.pdf

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:

Page 5: 2012_Interfaz grafica en Guide Matlab.pdf

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.

Page 6: 2012_Interfaz grafica en Guide Matlab.pdf

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

Page 7: 2012_Interfaz grafica en Guide Matlab.pdf

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.

Page 8: 2012_Interfaz grafica en Guide Matlab.pdf

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:

Page 9: 2012_Interfaz grafica en Guide Matlab.pdf

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.