Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
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
-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
• Ejecutando la siguiente
instrucción en la
ventana de comandos:
>> guide
• Haciendo un click en el
ícono que muestra la
figura:
-3-
Universidad de San Francisco Xavier de Ch.
Ingenierías: Mecánica, Electromecánica, Eléctrica, Electrónica y Mecatrónica
Laboratorio ELT-202
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.
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.
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 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
Cada uno de los elementos de GUI, tiene un conjunto de opciones que podemos acceder con
click derecho.
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.
Ejemplos1.
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
-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
- 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 -