Lab Nº3 - GUIDE Matlab - v3-2019 - II
Lab Nº3 - GUIDE Matlab - v3-2019 - II
I. OBJETIVOS DE LABORATORIO
a. Conocer el entorno GUIDE de MATLAB para crear Interfaces Gráficas.
b. Conocer y manejar los componentes principales de una GUIDE.
c. Conocer y manejar los controles principales de una GUIDE
d. Desarrollar una aplicación básica GUIDE.
II. HERRAMIENTAS
1. Computador con Matlab 2017.
2. Computador con diagramador de flujo.
3. Apuntes y Guía de laboratorio.
III. CALIFICACIÓN
Cada ejercicio se calificará de acuerdo al siguiente peso.
Orden en desarrollo 0.5 pts.
Analiza y reconoce variables 1.0 pts.
Elabora diagrama de flujo 1.5 pts.
Elabora código y funciona 2.0 pts.
Interfaz de usuario amigable 1.0 pts.
Total 6.0 pts.
IV. BIBLIOGRAFIA
[1] MathWorks https://la.mathworks.com/discovery/matlab-gui.html
[2] MathWorks https://la.mathworks.com/videos/creating-a-gui-with-guide-68979.html
[3] MathWorks https://blogs.mathworks.com/videos/category/gui-or-guide/
Ings. HZG-JCC-CCO
GUÍA DE LABORATORIO 03 MECANICA COMPUTACIONAL II PAG 2/ 17
V. MARCO TEÓRICO
Para MathWorks [1] una GUI (Interfaz Gráfica de Usuario) permite el control de
GUIDE
aplicaciones de software de una manera sencilla, escribiendo comandos Graphical
específicos y no siendo necesario aprender un lenguaje. Siendo cada aplicación un User
Interface
programa autónomo que el usuario automatiza para que ejecute una tarea o Development
Environment
cálculo.
Según [1] una GUI es un conjunto de uno o varios paneles que están provistos de
controles como botones, menús desplegables, axes etc.), que permitirán al
usuario interactuar y crear aplicaciones personalizas.
En esta práctica de laboratorio vamos a usar el GUIDE para:
Diseñar el aspecto del GUI personalizado, mediante editor de diseño GUIDE.
Programar el GUI: El GUIDE genera de forma automática un fichero .m que
controla el funcionamiento del GUI. Este fichero .m inicializa el GUI y contiene
un marco para cada uno de los callbacks del GUI (las funciones que se
ejecutan cuando el usuario interactúa con un elemento del GUI). Usando el
editor de MATLAB podremos añadir código a los callbacks para realizar las
tareas que queramos asignarles.
Figura 3
Interfaz para crear
o abrir GUI´s
Para crear una GUI nueva, seleccionamos ‘Blank GUI (Default)’ y presionamos OK.
Aquí se abre la ventana principal de GUIDE (Figura 4).
Figura 4
Ventana de
desarrollo GUI
• Check Box: genera una acción e indica si está activado. Resultan útiles
para permitir al usuario establecer un conjunto de elecciones
independien-tes que establecen un estado de ejecución.
• List Box: Muestra una lista de opciones y permite al usuario elegir una o
varias de ellas.
• Editor de menús (Menu Editor), que nos permitirá definir las entradas que
compondrán el menú del GUI.
• Editor de orden de tabulación (Tab Order Editor), que nos permite esta-
blecer el orden en que se accede a los componentes al pulsar el tabulador
(en lugar de usar el ratón).
a alto o bajo nivel, pudiendo acceder al código asociado a través del editor de
MATLAB.
Como puedes ver, en cualquiera de estos tres casos estamos haciendo uso del
sistema de objetos gráficos de MATLAB. Por lo tanto, es una buena idea que nos
familiaricemos con él y adquiramos un conocimiento elemental.
Los objetos gráficos son los elementos básicos empleados por MATLAB para
visualizar datos, y están organizados en una jerarquía como la de la siguiente
figura, en la que se muestran los tipos de objetos gráficos empleados más
frecuentemente:
Figura 7
Objetos gráficos
Como hemos dicho, puede haber varias ventanas abiertas, pero sólo una de ellas
es la ventana activa en cada momento. De la misma forma, una ventana puede
contener varios ejes de coordenadas, pero sólo unos son los ejes activos. Por
último, el objeto activo es el último objeto creado o con el que se ha interactuado
con el ratón.
Podemos obtener los identificadores de la ventana, los ejes y el objeto activos con
las órdenes:
La principal utilidad que tiene conocer los identificadores de los objetos gráficos
es que a través de ellos podremos modificar las propiedades de los objetos o
incluso borrarlos:
Figura 10
Ejemplo de
desarrollo
Podemos alinear también otros componentes, como, por ejemplo, los ejes
Propiedades
String Tag BackgroundColor
Componente Tabla 1
Componentes a
01 Edit Text ‘Borrar’ eTextIn01 ‘Sin Cambio’
editar.
02 Edit Text ‘Borrar’ eTextIn02 ‘Sin Cambio’
03 Static Text + ‘Sin Cambio’ ‘Sin Cambio’
04 Static Text = ‘Sin Cambio’ ‘Sin Cambio’
05 Static Text ‘Borrar’ ‘Sin Cambio’ Negro
06 Static Text ‘Borrar’ sTextOut ‘Sin Cambio’
07 Push Button Calcular pButtonCalcular ‘Sin Cambio’
Figura 12
Diseño final GUI.
Figura 13
Selección directa
de la función
callback.
Figura 14
Programación
Callback.
Código
Programación
botón calcular
Figura 15
Propiedades botón
salir.
Código
Programación
botón salir
Explicando ‘questdlg’.
% Sintaxis questdlg
% button=questdlg('qstring','title','str1','str2',default)
% | | | | | | |
% | | | | | | +-> Botón
% | | | | | | Remarcado
% | | | | | |
% | | | | | +-> Opción botón dos
% | | | | |
% | | | | +->Opción botón uno
% | | | |
% | | | +-> Titulo de la ventana
% | | |
% | | +-> Mensaje a ver
% | |
% | +-> Función que abre un cuadro de diálogo.
% |
% +-> variable a la que se asigna las opciones.
La secuencia 'Si', 'No', ‘No' termina en 'No'; con esto se logra que la
parte No del cuadro de pregunta esté resaltado.
Figura 16
Función de
solicitar cerrar
Puntos:
Nombres y apellidos:
Código: Grupo:
a. Siga las instrucciones del docente, implemente las GUI GraficarXY.fig, donde X es su primer
apellido e Y es la inicial de su primer nombre.
b. Desarrollar una GUI que emule a una calculadora con las operaciones aritméticas básicas. Ella
debe tener la siguiente apariencia.
Importante: Los datos ingresados dentro del tag ‘sTextPan’ son del
tipo char (cadena) y no se puede realizar operaciones aritméticas
con este tipo de dato. Para ello será necesario transformar dicha
variable a número doble.
La instrucción que nos permite realizar dicho proceso es ‘eval’,
recordemos que dicha instrucción evalúa y ejecuta la operación en
formato string, así por ejemplo:
>> eval('3*8+2')
ans =
26
Ings. HZG-JCC-CCO
GUÍA DE LABORATORIO 03 MECANICA COMPUTACIONAL II PAG 16/ 17
Recordar también el comando ‘strcat’, este comando concatena cadenas de varios Strings, por
ejemplo.
>> var1='Universidad';
>> var2='_';
>> var3='Católica';
>> strcat(var1,var2,var3)
ans =
Universidad_Católica
Una vez explicada las instrucciones a usar procedemos a cambiar las propiedades de nuestra
calculadora, entonces, con los componentes ya insertados, las propiedades a cambiar serían:
Como ejemplo se creará una calculadora que solo sume, dos números, ustedes tienen que
completar la calculadora.
Para los demás botones numéricos solo cambiaría el 1 por el número correspondiente.