Está en la página 1de 11

GUIA LABORATORIO ELT-202

Introducción a la Programación

I
Ing. Oscar GalarzaLimachi
Ing. Ricardo Quispe Requena

PRACTICA DE LABORATORIO No 8
INTERFAZ GRÁFICA DE USUARIO EN MATLAB

2020
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

8 INTERFAZ GRÁFICA DE USUARIO EN MATLAB

MATLAB permite desarrollar de manera simple un conjunto de pantallas con botones, menús,
ventanas, etc., que permiten utilizar de manera muy simple programas realizados en el entorno
Windows. Este conjunto de herramientas se denomina interface de usuario. Las posibilidades que
ofrece MATLAB han mejorado mucho.

Para poder hacer programas que utilicen las capacidades gráficas avanzadas de MATLAB hay que
conocer algunos conceptos que se explican en los apartados siguientes. Aunque MATLAB dispone
ahora de la herramienta GUIDE, que permite generar interfaces de usuario de una forma muy
cómoda y sencilla, es conveniente conocer los fundamentos de lo que se está haciendo, e incluso ser
capaz de hacerlo programando si ayudas.

8.1. Estructura de los gráficos de MATLAB.

Los gráficos de MATLAB tienen una estructura jerárquica formada por objetos de distintos tipos.
Esta jerarquía tiene forma de árbol, con el aspecto mostrado en la figura

GUIDE es un entorno de programación visual disponible en MATLAB para realizar y ejecutar


programas que necesiten ingreso continuo de datos. Tiene las características básicas de
todos los programas visuales como Visual Basic o Visual C++.

-2-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

INICIO

Para iniciar nuestro proyecto,


lo podemos hacer de dos
maneras:

• Ejecutando la siguiente
instrucción en la
ventana de comandos:

>> guide

• Haciendo un click en el
ícono que muestra la
figura:

Se presenta el siguiente cuadro de diálogo:

-3-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

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.

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’).
Elegimos la primera opción, Blank GUI, y tenemos:

-4-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

La interfaz gráfica cuenta con las siguientes


herramientas.

Para obtener la etiqueta


de cada elemento de la
paleta de componentes
ejecutamos:
File>>Preferentes luego
seleccionamos y
activamos Show names in
component palette.
Tenemos la siguiente
presentación

La siguiente tabla
muestra una descripción
de los componentes:

-5-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

8.2. Propiedades de los Componentes.

Cada uno de los elementos de GUI, tiene un conjunto de opciones que podemos acceder con
click derecho.

Elegimos la opción Property Inspector nos


permite personalizar cada elemento.

Al hacer clic derecho en el elemento ubicado en el área de diseño, una de las opciones más
importantes es View Callbacks, la cual, al ejecutarla, abre el archivo .m asociado a nuestro

-6-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

diseño y nos posiciona en la parte del programa que corresponde a la subrutina que se
ejecutará cuando se realice una determinada acción sobre el elemento que estamos editando.

Por ejemplo, al ejecutar View Callbacks>>Callbacks en el Push Button, nos ubicaremos en la


parte del programa:

Ejemplos1.

Desarrollar un programa con


interfaz gráfica del usuario (GUI)
para realizar cálculos aritméticos
básicos como se muestra en la
imagen que es un posible diseño
de la aplicación.

Código en MATLAB de cada


botón seria así:
-7-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

Botón Suma

Botón Resta

Botón Multiplicación

Botón División

-8-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

Salida del programa.

Ejemplo 2. Radio button.

El diseño seria así:

El código en MATLAB es así:

-9-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

Ejemplo 3. CheckBox

El diseño seria así

- 10 -
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202

El código del botón Mostar seria de la siguiente manera, pero tendría que modificar con la
ayuda del docente de laboratorio.

set(handles.text2,'String',' ');
set(handles.text3,'String',' ');
set(handles.text4,'String',' ');

estado1 = get(handles.checkbox1,'Value');
estado2 = get(handles.checkbox2,'Value');
estado3 = get(handles.checkbox3,'Value');
if estado1==1
set(handles.text2,'String','Le gusta ir al Cine ');
set(handles.checkbox2,'Value',0);
set(handles.checkbox3,'Value',0);
end
if estado2==1
set(handles.text3,'String','Le gusta los Libros ');
set(handles.checkbox1,'Value',0);
set(handles.checkbox3,'Value',0);
end
if estado3==1
set(handles.text3,'String','Le gusta la Tecnologia ');
set(handles.checkbox1,'Value',0);
set(handles.checkbox2,'Value',0);
end
if ((estado1==1) && (estado2==1) && (estado3==1))
set(handles.text3,'String','Le gusta el Cine, Libros y la Tecnologia ');
end
if ((estado1==1) && (estado2==1))
set(handles.text3,'String','Le gusta el Cine y los Libros ');
set(handles.checkbox3,'Value',0);
end
if ((estado1==1) && (estado3==1))
set(handles.text3,'String','Le gusta el Cine y la tecnologia ');
set(handles.checkbox2,'Value',0);
end
if ((estado2==1) && (estado3==1))
set(handles.text3,'String','Le gusta los Libros y la tecnologia ');
set(handles.checkbox1,'Value',0);
end

- 11 -

También podría gustarte