Transcription of Tutorial: Programación en MATLAB
1 Procesamiento Digital de Im genes TDI UNSAM 1 Tutorial: Programaci n en MATLAB 1. Introducci n Generalidades El nombre del software MATLAB proviene de las palabras en Ingl s MATrix LABoratory . Es un programa muy potente con el cual podremos realizar c lculos num ricos con vectores y matrices, trabajar con n meros escalares, tanto reales como complejos y utilizar una amplia variedad de gr ficos en dos y tres dimensiones. MATLAB tiene un lenguaje propio de programaci n. En la ventana inicial aparece el prompt caracter stico de MATLAB ( ), indic ndonos que el programa est preparado para recibir instrucciones.
2 Es posible recuperar comandos anteriores y moverse por dichos comandos con las teclas-flechas y . Al pulsar la primera de dichas flechas aparecer el comando que se hab a introducido inmediatamente antes. De modo an logo es posible moverse sobre la l nea de comandos con las teclas y , ir al principio de la l nea con la tecla Inicio, al final de la l nea con Fin, y borrar toda la l nea con Esc. Para borrar todas las salidas anteriores de MATLAB y dejar limpia la ventana principal se pueden utilizar las funciones clc y home. Si se desea salir del programa, basta teclear los comandos quit o exit, o bien elegir Exit MATLAB en el men File (tambi n se puede utilizar el Alt+F4 de toda la vida).
3 Uso del Help (ayuda) MATLAB dispone de un excelente Help que contiene la informaci n que uno necesita. En la barra de men s, encontramos el men Help, que incorpora varios submenues con distintas opciones. Help Window, abre una ventana en la que se puede buscar ayuda sobre la funci n o el concepto que se desee Help Tips. ofrece ideas pr cticas para utilizar la ayuda. Help Desk. abre un browser (ej.: Internet Explorer) que permite acceder a toda la informaci n sobre MATLAB en formato HTML, equivalente a los manuales impresos del programa.
4 En la parte inferior de la p gina existe un enlace a manuales en formato *.pdf, Online Manuals (in PDF). Examples and Demos. abre una ventana que da acceso a un buen n mero de ejemplos resueltos con MATLAB , cuyos resultados se presentan gr ficamente de diversas formas. Es bastante interesante recorrer estos ejemplos para hacerse idea de las posibilidades del manera f cil y r pida de obtener informaci n, es a trav s de la l nea de comandos, y se efectua introduciendo la palabra help seguida del nombre del comando del cual se desea obtener informaci n.
5 Veamos un ejemplo: help cos COS Cosine. COS(X) is the cosine of the elements of X. Desde la l nea de comandos, introducimos la palabra help luego del prompt ( ) y seguidamente el nombre del comando. Cuando apretamos la tecla Enter, MATLAB nos entrega la informaci n solicitada. De la misma manera, utilizando la palabra doc seguida de un comando, obtenemos informaci n correspondiente en formato HTML. El entorno de trabajo de MATLAB Los componentes m s importantes del entorno de trabajo de MATLAB son el editor de caminos de b squeda (Path Browser), el editor y depurador de errores (Editor & Debugger) y el visualizador del espacio de trabajo (Workspace Browser).
6 A continuaci n se describen brevemente estos componentes. PATH BROWSER: Establecer el camino de b squeda (SEARCH PATH) MATLAB puede llamar a una gran variedad de funciones, tanto propias como programadas por los usuarios. A veces puede incluso haber funciones distintas que tienen el mismo nombre. Interesa saber cu les son las reglas que determinan qu funci n o qu archivo *.m 1 es el que se va a ejecutar cuando su nombre aparezca en una l nea de 1 Los archivos *.m son archivos ASCII que definen funciones o contienen comandos de MATLAB .
7 Procesamiento Digital de Im genes TDI UNSAM 2comandos del programa. Esto queda determinado por el camino de b squeda (search path) que el programa utiliza cuando encuentra el nombre de una funci n. El search path de MATLAB es una lista de directorios que se puede ver y modificar a partir de la l nea de comandos, o utilizando el Path Browser. El comando path hace que se escriba el search path de MATLAB : path MATLABPATH c:\ MATLAB \toolbox\local c:\ MATLAB \toolbox\ MATLAB \datafun c:\ MATLAB \toolbox\ MATLAB \elfun .. (por brevedad se omiten las dem s l neas de salida) Para ver c mo se utiliza el search path sup ngase que se utiliza la palabra nombre en un comando.
8 El proceso que sigue el programa para tratar de conocer qu es nombre, es el siguiente: 1. Comprueba si nombre es una variable previamente definida por el usuario. 2. Comprueba si nombre es una sub-funci n o una funci n privada del usuario. 3. Comprueba si nombre es una funci n del usuario. 4. Comprueba si nombre es una funci n interna o intr nseca de MATLAB . 5. Comprueba si hay un archivo llamado , o en el directorio actual, cuyo contenido se obtiene con el comando dir. El directorio actual se cambia con el comando cd. 6. Comprueba si hay archivos llamados , o en los directorios incluidos en el search path de MATLAB .
9 Estos pasos se realizan por el orden indicado. En cuanto se encuentra lo que se est buscando se detiene la b squeda y se utiliza el archivo que se ha encontrado. Conviene saber que, a igualdad de nombre, los archivos *.mex tienen precedencia sobre los archivos *.m que est n en el mismo directorio. El concepto de directorio actual es importante en MATLAB . Para cambiar de directorio actual se utiliza el comando cd (de change directory). Para subir un nivel en la jerarqu a de directorios se utiliza el comando cd .., y cd ../.. para subir dos niveles.
10 MATLAB permite utilizar tanto la barra normal (/) como la barra invertida (\). El Path Browser es el programa que ayuda a definir la lista de directorios donde MATLAB debe buscar los archivos de comandos y las funciones, tanto del sistema como de usuario. Con el comando Set Path del men File aparece un cuadro de di logo que presenta la lista de directorios en la que MATLAB buscar . Para a adir (o quitar) un directorio a esta lista se debe ejecutar el comando Add to Path (o Remove Path) en el men Path de dicho cuadro de di logo. El nuevo directorio se puede a adir al comienzo o final de la lista.