Mecanica Computacional 2 Lab 3.docx - Final
Mecanica Computacional 2 Lab 3.docx - Final
Mecanica Computacional 2 Lab 3.docx - Final
MECÀNICA COMPUTACIONAL II
PRACTICA N°: 02
GRUPO N° : 13
INTRODUCCION ......................................................................................................................... 3
INICIO ............................................................................................................................................ 3
EJEMPLOS ..................................................................................................................................... 5
OBSERVACIONES ........................................................................................................................... 17
CONCLUSIONES ............................................................................................................................. 18
BIBLIOGRAFIA ................................................................................................................................ 19
2.1ENTORNO DE DESARROLLO DE INTERFACES GRAFICAS “GUIDE”
MATLAB
INTRODUCCION
GUIDE es un entorno de programación visual disponible en MATLAB para realizar y
ejecutar programas que necesitan ingreso continuo de datos. Tiene las características básicas
de todos los programas visuales como Visual Basic o Visual C++.
INICIO
Para iniciar nuestro proyecto lo podemos hacer de dos maneras
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’).
EJEMPLOS
Programa Slider.
Con este ejemplo pretendemos mostrar el uso del slider, así como de un check box. En sí,
este programa es un detector de nivel de datos ingresados por el usuario.
Iniciamos un nuevo GUI con el nombre Slider. Añadimos los componentes que muestra la
figura anterior. Editamos el checkbox como muestra la siguiente figura:
Enable en estado inactive permite escribir sobre el checkbox y no poder modificar este
estado por el usuario.
El conjunto de la secuencia if determina dos estados: 1) Si el valor del slider es menor que
50 escribe en el componente text3 el texto “BUEN Nivel” y mantiene en cero el estado del
checkbox; 2) Si el valor del slider es mayor o igual que 50 escribe en el componente text3
el texto “MAL Nivel” y mantiene en uno el estado del checkbox. Como en un ejemplo
anterior, la imagen de fondo la añadimos con las sentencias:
Realicemos un programa más interesante con el uso del slider: cambiar el contraste de una
imagen. En una nueva GUI colocamos un slider, un push-button y un axes como muestra
la figura:
El campo tag del botón es open, igual que el string. La programación es la misma que se
usó para abrir una imagen:
El campo tag del slider es el mismo que aparece por defecto. La programación de slider es:
La función rgb2gray transforma una imagen a color a escala de grises. La función double
cambia el formato entero sin signo de 8 bits (uint8) de la imagen a un formato decimal, de
tal forma que sea posible multiplicar la imagen por los valores de slider.
Para evitar errores al mover el slider cuando no se ha cargado ninguna imagen aún, en la
parte de las condiciones iniciales del programa se inicializa el valor del identificador
handles.direccion con el valor de 0:
Para que la escala del slider contenga valores positivos y negativos, simplemente se edita
como muestra la siguiente figura:
Una vez editado el rango, es necesario cambiar el campo value bien sea desde el programa
usando >>set(handles.slider1,’Value’,5) o desde el property Inspector en el campo del
mismo nombre.
Debido a que este elemento tiene dos controles de cambio: las flechas tanto inferior como
superior y la barra de deslizamiento, se establece el valor de cambio en el campo Slider
Step del Property Inspector. En nuestro ejemplo, si queremos cambiar con las flechas el
valor del slider de uno en uno y el valor del mismo de dos en dos con la barra de
deslizamiento lo hacemos configurando la matriz de Slider Step así: [0.05 0.1]
¿Por qué estos valores? La parte x corresponde al porcentaje de cambio de las flechas y la
parte y corresponde al porcentaje de cambio de la barra deslizante. Para encontrar estos
valores se calcula:
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.
Podemos cambiar el nombre con el que aparecerá la función del pushbuttom en el m-file,
simplemente editando el campo Tag.
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:
Static text no posee función asociada, pero si una dirección asociada, que la
podemos utilizar para escribir los resultados. Para saber cuál es esta dirección,
haciendo doble click en este componente, la ubicamos en la etiqueta Tag, como lo
muestra la siguiente figura:
8. Justo debajo de function edit1_Callback (hObject, eventdata, handles), y de los
comentarios correspondientes, escribimos el siguiente código:
9. 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).
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 text3, con el identificador handles.text3.
LA CALCULADORA
4
1.-Pantalla en Blanco 1
Modificación:
ninguna
2.-Pantalla de fondo
3.- multiplicacion
Modificación:
Tag: pbutton*
String:*
4.- numero
Modificación:
Tag: pbutton5
String:5
Para la codificación…
MARCO TEORICO
En este apartado se estudiará cómo crear algunos de los controles que se van a utilizar para
el diseño de la interfaz, así como el código generado automáticamente asociado a los
objetos creados en el entorno. Como se ha comentado en el apartado anterior, estos objetos
se crean mediante herramientas de MATLAB en un archivo *.fig al que se le asocia un
archivo *.m que es el que contiene el código de las funciones y subrutinas que realizan todo
el cálculo de los distintos algoritmos implementados
ANALISIS OBJETIVO
La interfaz debe mostrar los resultados obtenidos tras la detección y análisis de
descargas parciales de forma gráfica, mediante gráficas y tablas.
Desarrollo de un sistema de selección gráfica de datos. Esto es importante ya que
permite al usuario interactuar de forma gráfica con cierto tipo de datos. De otra
manera tendría que interactuar por medio de los comandos de MATLAB o
herramientas presentes en el entorno MATLAB. Integrándolo en la herramienta se
evita el paso por la pantalla de MATLAB.
OBSERVACIONES
La aplicación debe organizar secuencialmente las funciones de procesamiento de las
señales y gestión de los datos para que guarde un orden lógico a la hora de realizar
una detección de descargas parciales.
El usuario no necesitará conocer las funciones que se ejecutan con la interfaz para
realizar un diagnóstico. La aplicación debe ser la encargada de gestionar las bases
de datos de descargas parciales para que las funciones dispongan de la información
necesaria para su correcto funcionamiento
El editor permite construir interfaces arrastrando y soltando componentes en el área
de diseño de la GUI
CONCLUSIONES
La interfaz organiza secuencialmente las funciones de procesamiento de las señales.
El usuario no necesita conocer las funciones que se ejecutan con la interfaz para
realizar un diagnóstico ya que es el interfaz el que solicita la información y ejecuta
las funciones.
Se ha desarrollado también un sistema de selección de datos que cumple con la
funcionalidad requerida por el usuario en las herramientas correspondientes a la
creación de patrones y de análisis estadístico.
El desarrollo de la aplicación, a nivel de programación, se ha realizado de forma
clara facilitando a desarrolladores futuros ampliar la aplicación en versiones futuras
La operación automática de guardado (save) genera un fichero .m y un fichero.fig
El fichero .fig contiene el diseño del GUI en binario y el fichero .m contiene el
código que controla el GUI
Una Gui presenta características especiales como: Gráficos y Estáticos
Se pudo aprender a crear interfaces de usuario desde el entorno en Matlab
Con el comando Guide podemos abrir una pestaña en la cual nostros podremos
crear cualquier tipo de interfaz que deseemos, teniendo en cuenta todo lo
mencionado anteriormente, para esto fue necesario poder conocer cada componente
del área de diseño del Guide.
OBJETIVO FINAL
El objetivo final de este trabajo es el diseño de una interfaz gráfica de usuario en entorno
MATLAB que facilite al usuario el procesamiento de las señales adquiridas en el
experimento de CREAR Y resolver problemas planteados usando la lógica.
BIBLIOGRAFIA
CREACION DE INTEFACES GRAFICAS, Gonzalo Fernandez
Cordova.(2007). Rescatada el 10/09/2018 de
http://webpersonal.uma.es/de/gfdc/docencia/GuiSection.pdf
MANUAL DE INTERFAZ GRAFICA DE USUARIO EN MATLAB,Diego
Orlando Barragan. Parte 1. Rescatada el 10/09/2018 de
https://www.dspace.espol.edu.ec/bitstream/123456789/10740/11/MATLAB
_GUIDE.pdf
CREACIÓN DE INTERFACES DE USUARIO CON MATLAB, Pedro
Corcuera (2009) Universidad de Cantabria.
http://www.utm.mx/~vero0304/HCPM/GUI_Matlab.pdf
WATSON, G. S. (1964). Smooth regression analysis, Sankhy, Series A 26:
359-372.
SMITH, SCOTT T. (2006). Matlab advanced gui development .Dog Ear
Publishing.
JAVIER GARCÍA GALÓN. (2007) Aprenda MatLab 7.0 como si estuvieras
en primero. Universidad Politécnica Madrid Ediciones