Lab No6 - GUIDE-Matlab
Lab No6 - GUIDE-Matlab
Lab No6 - GUIDE-Matlab
Pgina:1/15
Jefe de Prcticas
Ing. Juan Carlos Cuadros
4A04022 IV Fecha:
06
19/Oct/2009
I. OBJETIVO
1. Emplear el GUIDE de MATLAB para crear Interfaces Grficas y aplicarlas en la solucin de problemas con mtodos numricos.
1. Presentacin del GUIDE: El GUIDE (Graphical User Interface Development Environment: Entorno de desarrollo de Interfaz Grfica de Usuario) es una serie de herramientas que proporciona MATLAB para la creacin de GUIs (Graphical User Interface: Interfaz Grfica de Usua-rio). Como sabes, un GUI es un conjunto de uno o varios paneles que estn provistos de algunos de los siguientes elementos: Controles (botones, mens desplegables, etc.), que permitirn al usuario interactuar con el GUI y establecer el flujo de ejecucin. Mens. Ejes de coordenadas (axes), que permiten dibujar grficos e imgenes. Vamos a usar el GUIDE para: Disear el aspecto del GUI. Programar el GUI: El GUIDE genera de forma automtica 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 interacta con un elemento del GUI). Usando el editor de MATLAB podremos aadir cdigo a los callbacks para realizar las tareas que queramos asignarles. El beneficio que proporciona el uso de GUIs es evidente, ya que permiten al usuario ejecutar cmodamente cdigo desarrollado en MATLAB sin necesidad de cumplir la incmoda sintaxis funcional necesaria cuando se trabaja desde la ventana de rdenes (Command Window). A diferencia de la ejecucin de funciones o scripts de MATLAB, la ejecucin de GUIs no predetermina el flujo de ejecucin del cdigo. Es el usuario, a travs de su interaccin con el GUI, el que determina el orden en que se ejecutan las diferentes rdenes y funciones desarrolladas. Otra diferencia importante es que la ejecucin no termina cuando finaliza la ejecucin del script o funcin, sino que el GUI permanece abierto, permitiendo al usuario invocar la ejecucin de ese u otro cdigo desarrollado. El desarrollo de GUIs se realiza en dos etapas: Diseo de los componentes (controles, mens y ejes) que formarn el GUI. Codificacin de la respuesta de cada uno de los componentes diseados ante la interaccin del usuario.Ms adelante veremos cmo invocar y comenzar a ejecutar el GUIDE, pero ahora nos adelantaremos y echaremos un vistazo a la ventana principal de GUIDE, lo que nos permitir conocer las herramientas que componen el entorno:
Pgina: 2/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
a. Barra de mens, en la que podemos encontrar las diferentes funciones de edicin de GUIs. b. Paleta de componentes (Component Palette), que contiene los componentes que podemos aadir a nuestro GUI: Push Button: genera una accin cuando se pulsa en l. Toggle Button: genera una accin e indica si est activado o no. A diferencia del Push Button, se queda presionado hasta que se pulsa una segunda vez. Check Box: genera una accin e indica si est activado. Resultan tiles para permitir al usuario establecer un conjunto de elecciones independien-tes que establecen un estado de ejecucin. Radio Button: similar a la Check Box, pero mutuamente excluyentes si se agrupan. Edit Text: permite al usuario introducir o modificar cadenas de caracteres. Static Text: usado normalmente para fijar etiquetas informativas. No modificable por parte del usuario. Slider: permite al usuario introducir un valor de un rango posible a travs de una barra deslizante. List Box: Muestra una lista de opciones y permite al usuario elegir una o varias de ellas. Pop-Up Menu: Se despliega para mostrar una lista de opciones. Axes: permite que mostremos grficos e imgenes en su interior. Panel: agrupa componentes del GUI, permitiendo una mejor comprensin del GUI. Al mover un panel, se trasladan con l todos los elementos hijos. Button Group: similar al Panel, pero em pleado para gestionar la eleccin exclusiva de botones Radio y Toggle, ActiveX Component: permite mostrar controles Active X en el GUI. c. Barra de herramientas, en la que podemos encontrar botones para activar las herramientas ms importantes del GUIDE: Herramienta de alineacin (Alignment Tool), que nos permitir establecer opciones de alineacin entre los diferentes componentes del GUI. Editor de mens (Menu Editor), que nos permitir definir las entradas que compondrn el men del GUI. Editor de orden de tabulacin (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 ratn). Editor de ficheros .m (M-file Editor), con el que podremos aadir cdigo a las funciones callback correspondientes a cada componente. Inspector de propiedades (Property Inspector), que nos ofrece la posibili-dad de examinar y cambiar las propiedades de los componentes.
Pgina: 3/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Navegador de objetos (Object Browser), especialmente til cuando tene -mos un nmero elevado de componentes, nos permite examinar la lista de objetos de nuestro GUI, organizndolos segn su jerarqua. Botn de ejecucin (Run Button). 2. Organizacin de los objetos grficos en MATLAB Como sabes, MATLAB ofrece una serie de funciones de dibujo y visualizacin de datos. Ya conoces algunas de estas funciones, como es el caso de imshow, imagesc o plot, por ejemplo. Cuando llamamos a una funcin grfica, MATLAB crea el grfico requerido usando objetos como ventanas, ejes de coordenadas, lneas, texto, etc. Podemos trabajar con grficos en MATLAB a tres niveles diferentes: Realizando llamadas a funciones de dibujo y visualizacin. MATLAB muestra todas las grficas en un tipo de ventanas especiales conocidas como figures, en las que se sitan unos ejes de coordenadas. Estos ejes son los que proporcionan el sistema de coordenadas necesario para realizar la visualizacin de los datos. Trabajando a "bajo nivel", haciendo las llamadas necesarias a funciones de MATLAB para ir creando los objetos grficos que sean necesarios para hacer la visualizacin. A este nivel se realizarn mltiples llamadas a la funcin set y otras similares para establecer las propiedades de los distintos objetos grficos que se vayan creando o para modificarlas durante la ejecucin del programa. Este modo de trabajar es muy similar al uso tradicional de una biblioteca grfica que se puede hacer en un lenguaje de programacin convencional. Empleando el GUIDE, el entorno de desarrollo de GUIs, que nos permitir definir todos los componentes grficos que deseemos, establecer sus propiedades e incorporar cdigo de respuesta a cada una de las acciones del usuario a travs de una herramienta grfica de cmodo manejo. Tiene la ventaja de que en cualquier momento podremos elegir si deseamos trabajar a alto o bajo nivel, pudiendo acceder al cdigo asociado a travs del editor de MATLAB. Como puedes ver, en cualquiera de estos tres casos estamos haciendo uso del sistema de objetos grficos de MATLAB. Por lo tanto, es una buena idea que nos familiaricemos con l y adquiramos un conocimiento elemental. Los objetos grficos son los elementos bsicos empleados por MATLAB para visualizar datos, y estn organizados en una jerarqua como la de la siguiente figura, en la que se muestran los tipos de objetos grficos empleados ms frecuentemente:
Como se ve en la figura, el objeto ms general es la pantalla. Es la raz de la jerarqua. Una pantalla puede contener una o varias ventanas (figure). A su vez, cada una de las ventanas podr contener controles (uicontrol), como son los botones, mens desplegables, etc., mens (uimenu) y uno o ms ejes de coordenadas (axes) en los que se podrn representar objetos de nivel inferior. Los ejes pueden incluir cinco tipos de elementos grficos: lneas (line), polgonos (patch), texto (text), superficies (surface) e imgenes de mapa de bit (image). Al establecerse relaciones padre-hijo entre los objetos grficos se facilita su gestin, ya que, por ejemplo, cuando se borra un objeto, se borrarn automticamente todos los descendientes de ste. Cada objeto est asociado a un identificador (handle) nico desde el momento de su creacin. A travs de este identificador podremos modificar las caractersticas de un objeto grfico (llamadas propiedades del objeto). Naturalmente, tambin podremos establecer las propiedades de un objeto en el momento de su creacin (cambiarlas con respecto a los valores por omisin). El identificador del objeto raz, la pantalla, es siempre cero. El
Pgina: 4/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
identificador de las distintas ventanas (figure) es un entero que aparecer en la barra de ttulo de la ventana. Los identificadores de los dems objetos grficos son nmeros reales. Cualquier identificador se puede obtener como valor de retorno de una funcin y almacenarse en una variable. Como hemos dicho, puede haber varias ventanas abiertas, pero slo una de ellas es la ventana activa en cada momento. De la misma forma, una ventana puede contener varios ejes de coordenadas, pero slo unos son los ejes activos. Por ltimo, el objeto activo es el ltimo objeto creado o con el que se ha interactuado con el ratn. Podemos obtener los identificadores de la ventana, los ejes y el objeto activos con las rdenes: gcf: devuelve un entero, el identificador de la ventana activa. gca: devuelve el identificador de los ejes activos. gco: devuelve el identificador del objeto activo. La principal utilidad que tiene conocer los identificadores de los objetos grficos es que a travs de ellos podremos modificar las propiedades de los objetos o incluso borrarlos: set(id): muestra en pantalla todas las propiedades del objeto al que co-rresponde el identificador id. get(id): produce un listado de las propiedades y de sus valores. set(id, 'propiedad', 'valor'): establece un nuevo valor para la propiedad del objeto con identificador id. Se pueden establecer varias propiedades en la misma llamada a get incluyendo una lista de parejas 'propiedad', 'valor' en la llamada. get(id, 'propiedad'): obtiene el valor de la propiedad especificada. delete(id): borra el objeto cuyo identificador es id y todos sus hijos. 3. Primeros pasos con el GUIDE
a. Ejecucin del GUIDE Al llamar al GUIDE con la orden guide aparecer el dilogo GUIDE Quick Start
y podremos: Crear un nuevo GUI en blanco o a partir de las plantillas (templates) disponibles. Abrir un GUI ya existente.
b. El editor de diseo Cuando se abre un GUI, ste se muestra en el Editor de diseo (Layout Editor), que es el panel de control de todas las herramientas del GUIDE.
Pgina: 5/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Podemos disear un GUI arrastrando elementos (botones, mens desplegables, ejes, etc.) desde la paleta de componentes, que se encuentra en el lado izquier-do del editor. Por ejemplo, si arrastramos un botn al rea de diseo:
Tambin podemos usar el editor para establecer las propiedades de los componentes del GUI. c. Ejecucin de GUIs Para ejecutar un GUI, podemos seleccionar ToolsRun o hacer clic en el botn de ejecucin . Para ver un ejemplo, te sugerimos que crees un nuevo GUI a partir de una plantilla de forma que veras el diseo del GUI en el editor
Al ejecutarlo, podrs verlo funcionar en una nueva ventana, independiente del editor de diseo:
Pgina: 6/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
d. Almacenamiento de GUIs Para almacenar un GUI, el GUIDE emplea dos ficheros: Un fichero .fig, que contiene una descripcin del diseo del GUI y de sus componentes. Es un fichero binario modificables slo a travs del GUIDE. Un fichero .m, que contiene el cdigo que controla el GUI, incluyendo los callbacks de los componentes. Estos dos ficheros se corresponden con las dos etapas de creacin de un GUI: la de diseo y la de programacin. e. Programacin del fichero .m del GUI Despus de disear el GUI, podemos programar el fichero .m asociado en el editor de MATLAB. El GUIDE genera automticamente este fichero a partir del diseo la primera vez que se salva o ejecuta el GUI. El fichero .m del GUI se encarga de las siguientes tareas: Inicializa el GUI. Contiene cdigo para realizar las tareas necesarias antes de que aparezca el G UI en pantalla, como la creacin de datos o grficos. Contiene las funciones callback que se ejecutan cada vez que el usuario interacta con un componente (tpicamente, mediante clics de ratn). Inicialmente, cada callback contiene slo una lnea de definicin de la funcin. Podemos aadir cdigo que haga que el componente funcione como deseemos. Para abrir el fichero .m del GUI podemos hacer clic en el icono de la barra de herramientas del Editor de diseo. Si an no hemos almacenado el GUI, nos pedir que le asignemos nombre antes de abrir el fichero .m asociado. Si editamos el fichero .m correspondiente al GUI creado a partir de la plantilla GUI with Axes and Menu, podemos acceder directamente a la funcin callback de cualquier elemento del GUI a travs del botn: , que nos mostrar un men como el de la siguiente figura:
Pgina: 7/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
4. Creacin de un GUI de ejemplo Vamos a seguir en esta seccin el proceso de creacin de un GUI sencillo que nos servir de ejemplo: a. Diseo del GUI Para comenzar a trabajar en el diseo del nuevo GUI, abriremos el GUIDE y en el dilogo GUIDE Quick Start elegiremos un GUI en blanco, como ya se ha explicado anteriormente. Si el GUIDE ya est abierto, podemos invocar el dilogo GUIDE Quick Start seleccionando FileNew.
Es buena idea modificar las preferencias para que nos muestre los nombres de los componentes que podemos aadir a los GUIs. Para ello selecciona FilePreferencesGUIDEShow names in component palette, de forma que la paleta de componentes contenga no slo el icono, sino el nombre de cada componente.
Pgina: 8/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Establecerlo de forma exacta accediendo a las propiedades del GUI mediante el Editor de propiedades, a travs de las propiedades de Posicin y Unidades.
A continuacin, vamos a aadir algunos componentes al GUI. Comenzaremos con un panel y dos botones. Para ello, iremos seleccionando el elemento deseado de la barra de componentes y marcando en el GUI la posicin y tamao deseados. Podemos redimensionarlo arrastrando las esquinas. Observa que al acercar los botones al panel, el GUIDE marca el panel, indicando que ste es el padre potencial del botn en la jerarqua de componentes. Aadiremos ahora un texto esttico que servir como ttulo, un men desplegable (pop-up menu) y unos ejes (axes). Veremos el uso de cada uno de estos componentes.
Pgina: 9/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Podemos usar la Herramienta de Alineacin (Alignment Tool) para alinear los componentes entre s si tienen el mismo padre. Para ello: 1. Seleccionamos los objetos pulsando <Ctrl> y haciendo clic sobre ellos. 2. Seleccionamos ToolsAlign Objects para abrir la herramienta de alineacin. 3. Establecemos las opciones de alineacin.
Podemos alinear tambin otros componentes, como, por ejemplo, los ejes con el panel. Es interesante observar que cuando alineamos el panel, tambin se mueven sus contenidos (los botones que hemos colocado en l). b. Establecimiento de propiedades Para establecer las propiedades de los diferentes componentes del GUI, seleccionaremos ViewProperty Inspector. Cuando seleccionemos un componente en el editor de diseo, el inspector de propiedades mostrar las propiedades de ese componente. Si no tenemos seleccionado ningn componente, nos mostrar las propiedades del GUI. Dependiendo del objeto que hayamos seleccionado, las propiedades que nos mostrar el Inspector de propiedades sern diferentes. Veamos algunas propiedades bsicas para el GUI y los componentes de nuestro ejemplo. Nombre (Name): El valor de la propiedad Name ser el ttulo que muestre la ventana del GUI cuando se ejecute. En nuestro ejemplo, estableceremos Ejemplo GUI MIA como nombre del GUI.
Pgina: 10/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Ttulo (Title): El ttulo de un panel permite establecer el ttulo que aparece en la parte superior del mismo. Estableceremos Operaciones como ttulo de nuestro panel. Mediante la propiedad TitlePosition podemos controlar dnde debe aparecer el ttulo del panel. Cadena (String): Podemos elegir la etiqueta de algunos componentes, como es el caso de los botones, mediante esta propiedad. En nuestro ejem-plo, etiquetaremos los dos botones con las cadenas Emborronar y Rotar 90. Tambin fijaremos la propiedad String del texto esttico de nuestro GUI a Mapa de color. En el caso de los mens desplegables, la propiedad String controla la lis-ta de opciones del men. Para establecer las opciones que se ofrecern a travs del men desplegable, haremos clic en el icono , lo que abrir una ventana de edicin, donde escribiremos en diferentes lneas las opciones a incluir. En nuestro ejemplo hemos incluido los nombres de diferentes mapas de color (vase la ayuda sobre la funcin colormap) que aplicaremos a los ejes del GUI, como veremos ms adelante.
Pgina: 11/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Propiedades de los callbacks: Los componentes del GUI usan callbacks para realizar su tarea. Los callbacks son funciones que se ejecutan cuando el usuario interacta sobre el componente, como es hacer clic sobre un botn o seleccionar una opcin de un men desplegable. Cada componente del GUI y cada opcin de men tiene propiedades que especifican sus callbacks. Cuando creamos un GUI ser preciso que programemos los callbacks para controlar el funcionamiento del GUI. Mientras no lo hagamos, el GUI ser una cscara vaca. Un componente podr tener varias propiedades de callback, pero la ms importante es la propiedad Callback. El cdigo que incluyamos en esta propiedad realizar la tarea principal del componente en cuestin. Ms adelante veremos cmo programar esta propiedad para los componentes (botones y men desplegable) de nuestro ejemplo. Etiqueta (Tag): Esta propiedad nos proporciona un identificador nico para cada componente. Este identificador se emplea, entre otras cosas, para que GUIDE genere nombres de callbacks nicos para los diferentes componentes del GUI. Inicialmente, los componentes tienen nombres predefinidos (por ejemplo, pushbutton1). Si el componente tiene propiedad callback, el GUIDE establece como valor %automatic.
Cuando se salva o ejecuta el GUI, el GUIDE crea un nombre de funcin nico para cada funcin callback del fichero .m prefijando el valor de la etiqueta Tag a la cadena _Callback (por ejemplo, pushbutton1_Callback). Es recomendable redefinir el valor de la propiedad Tag para que resulte ms descriptiva. Debemos recordar que este valor debe ser nico.
Pgina: 12/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
En nuestro ejemplo, redefinimos el valor Tag para el men desplegable como menu_color. El GUIDE se encargar de redefinir de forma consecuente las funciones callback de los componentes. Tambin vamos a cambiar las etiquetas de los botones a los valores boton_emborronar y boton_rotar. c. Programacin del GUI Una vez establecidas las propiedades de los componentes del GUI, el siguiente paso ser programarlos. Creacin del GUI: Como ya hemos comentado, cuando salvas o ejecutas por primera vez el GUI, el GUIDE genera un fichero .m que contiene los callbacks para cada componente. Tambin incluye cdigo de inicializacin, una funcin callback de apertura y otra funcin callback de salida. Cada callback es una subfuncin que inicialmente es slo una definicin de funcin vaca. Nosotros debemos aadir cdigo a los callbacks para proporcionarle operatividad al GUI. Cuando salvemos nuestro GUI dndole un nombre (en nuestro caso elegimos ejemplo_gui_mia.fig), el GUIDE salvar tambin el fichero .m asociado y lo abrir en el editor de MATLAB. Edicin del GUI: Podremos abrir en cualquier momento el fichero .m aso-ciado a un GUI para modificarlo. La forma ms directa de hacerlo es seleccionando el botn de la barra de herramientas del editor de diseo. Una vez abierto, podemos saltar directamente al cdigo de una funcin callback concreta usando el botn de la barra de herramientas del editor y eligiendo en la lista que nos ofrece.
Cmo compartir datos entre los callbacks: Podemos hacerlo almacenando los datos en la estructura handles. Todos los componentes del GUI comparten la misma estructura handles. Todos los callbacks generados por el GUIDE reciben esta estructura como argumento. Por ejemplo, para almacenar un vector, X, en la estructura handles o Elegimos un nombre para el campo de handles donde queremos almacenar los datos (por ejemplo, handles.datos). o Aadimos el campo a la estructura handles y le asignamos X:
handles.datos = X;
Pgina: 13/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
hObject es el identificador (handle) del objeto componente que ejecuta el callback. Todos
los callbacks generados por el GUIDE reciben el identificador del componente como argumento. Para recuperar los datos en otro callback, haremos:
X = handles.datos;
Podemos acceder a los datos de handles en cualquier callback porque hObject y handles se pasan como argumentos a todos los callbacks generados por el GUIDE. Aadir cdigo a la funcin de apertura: La funcin de apertura es la primera llamada del fichero .m del GUI. Podemos usarla para realizar tareas que hay que llevar a cabo antes de que el usuario tenga acceso al GUI (por ejemplo, leer datos de un fichero, establecer valores iniciales o crear algunos datos). El cdigo de esta funcin se ejecuta justo antes de que se visualice el GUI, pero una vez que se han creado todos los componentes. En nuestro ejemplo comenzaremos aadiendo dos lneas para cargar una imagen y visualizarla en los ejes de nuestro GUI:
handles.imagen = imread('cameraman.tif'); imagesc(handles.imagen), colormap(gray(256)), axis off
Observemos que el nombre de la funcin de apertura se forma con el nombre del fichero .m seguido de _OpeningFcn. En nuestro ejemplo, el nombre de la funcin de apertura es ejemplo_gui_mia_OpeningFcn. Como puedes ver en el fichero .m de nuestro ejemplo, el GUIDE genera automticamente dos lneas de cdigo en la funcin de apertura, que deben seguir al cdigo que aadamos: handles.output = hObject almacena el identificador del GUI para que pueda ser usado posteriormente por la funcin de salida (output function). Aunque en nuestro ejemplo no es necesario, resultar muy til si queremos devolver el identificador del GUI a la lnea de rdenes de MATLAB. guidata(hObject,handles) almacena la estructura handles. Con la pequea modificacin que hemos hecho en la funcin de apertura podemos ver el aspecto de nuestro GUI. Para ejecutarlo podemos seleccionar ToolsRun o hacer clic en el botn .
Aadir cdigo a los callbacks: Cuando se ejecuta el GUI y el usuario acte sobre uno de los controles, por ejemplo, un botn, MATLAB ejecutar el callback especificado por la propiedad Callback del componente. Los botones que hemos incluido en nuestro GUI realizan diferentes tareas, emborronar y rotar la imagen, pero ambos comparten la necesidad de acceder a los datos. Sus callbacks necesitan tomar los datos de la estructura handles para modificarlos y volver a mostrarlos en pantalla. El cdigo que vamos a aadir a la funcin callback del botn Emborronar es el siguiente:
Pgina: 14/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Observa que podemos manipular la imagen que hemos ledo antes en la funcin de apertura porque la hemos almacenado en la estructura handles. Tambin es importante que no olvides incluir la llamada guidata(hObject,handles);, que se encarga de que las modificaciones que hemos hecho queden almacenadas. Por curiosidad, comenta esta lnea y observa el efecto que tiene cuando pulsas el botn Emborronar varias veces seguidas. En el caso de la funcin callback del botn Rotar incluiremos el siguiente cdigo:
handles.imagen = imrotate(handles.imagen,90, 'bicubic'); imagesc(handles.imagen), axis off guidata(hObject, handles);
El men desplegable permitir al usuario elegir entre diferentes mapas de color para la visualizacin de la imagen. Cada vez que el usuario selecciona una opcin del men, la funcin callback leer el valor de la propiedad Value para establecer el mapa de color deseado, para lo que incluiremos el siguiente cdigo en la funcin callback del men:
valor = get(hObject, 'Value'); cadena = get(hObject, 'String'); colormap(char(cadena{valor}));
Aadir nuevos componentes al GUI: Te proponemos como ejercicio, para que puedas evaluar los conocimientos adquiridos, que incorpores al GUI que hemos venido desarrollando un nuevo botn de reset, que reinicialice a la situacin original, y un botn que nos permita abrir otras imgenes, como se ve en la siguiente figura:
Para abrir un explorador como el de la figura necesitars hacer uso de las funciones uigetfile y fullfile. Observa que el botn Reset debera reinicializar el estado de nuestro GUI. No slo debera volver a visualizar la imagen que hayamos elegido como inicial (por ejemplo, la del cameraman), sino que tambin debera restablecer el mapa de color. Debes tambin cuidar que el men desplegable tambin quede actualizado. Para conseguirlo, necesitars que la funcin callback del botn Reset acceda al men desplegable, para lo que haremos uso de la funcin set:
Pgina: 15/15
LAB N 6
Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Como puedes ver en este ejemplo, acceder a las propiedades de otro objeto del GUI para modificarlas u obtener su valor es sumamente sencillo mediante el uso de las funciones set y get (aunque puede resultar tedioso). 5. Qu ms debes saber? Como ocurre en el aprendizaje de cualquier lenguaje de programacin o biblioteca grfica, casi no hay lmites en lo que podemos seguir aprendiendo. Sin embargo, hay algunos aspectos importantes que son los que primero deberas abordar para lograr un conocimiento ms completo del sistema de visualizacin grfica de MATLAB: Profundizar en el manejo del GUIDE, estudiando en mayor detalle las herramientas que hemos analizado en esta introduccin y otras que no hemos abordado, como es el caso del editor de mens o el editor de orden de tabulacin. Estudiar con detalle las propiedades de cada uno de los componentes grficos de MATLAB, lo que nos permitir conocer las posibilidades de personalizacin y adaptacin a nuestras necesidades. Un ejemplo tpico es la necesidad que surgir de poder crear y manipular dos o ms ejes de coordenadas (axes) dentro de una misma ventana (figure). Callbacks. Detalles de funcionamiento, propiedades callback adicionales para el objeto figure y callbacks para componentes especficos. PROCEDIMIENTO
IV.
a) Desarrollar el GUI ejemplo del marco terico. b) Desarrollar una GUI que ejecuta una calculadora con las operaciones aritmticas bsicas. V. CUESTIONARIO FINAL
1. Desarrollar una GUI que sirva para solucionar EDO con los diferentes mtodos revisados en teora. La GUI deber mostrar la grfica de la solucin numrica y si es posible la grfica de la solucin analtica.
Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado