El software Matlab, desarrollado por la compaa Mathworks, Inc., toma su nombre de Matrix laboratory debido a que su elemento bsico de clculo es una matriz (como se estudiar mas adelante). El Matlab se puede considerar como un entorno integrado que consiste bsicamente de tres partes: un sistema interactivo de cmputo cientfico, un entorno de visualizacin grfica y un lenguaje de programacin de alto nivel.
El Matlab ofrece grandes ventajas de integracin con lenguajes de alto nivel como Fortran, C, C++. Es posible la creacin de interfases en dichos lenguajes que llamen a Matlab, y ste puede vincular libreras de aqullos.
El objetivo de este curso es proporcionar una gua bsica hacia la utilizacin del matlab como herramienta en la representacin de problemas cientficos y de ingeniera, as como su solucin matemtica y grfica.
El alcance y el poder de Matlab van mucho ms all del alcance de ste curso. Sin embargo, se pretende que el alumno sea capaz de expresar sus necesidades particulares a travs del lenguaje intuitivo y del entorno abierto de desarrollo que ofrece Matlab.
La versin 6 del Matlab es la que servir de base para el desarrollo del curso (tambin conocida cmo la versin Release 12).
Las llamadas Ediciones para Estudiantes son iguales que las correspondientes a las profesionales de la misma versin slo que su capacidad ha sido limitada.
1.1 El entorno Matlab
Para iniciar el programa de Matlab, lo deberemos de seleccionar desde el men de inicio del sistema operativo o bien desde el cono correspondiente en el escritorio de Windows:
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 2 2002 Matlab usa varias pantallas de despliegue para el usuario: entre las de trabajo ms importantes estn la ventana de comandos (command window), la ventana grfica (graphics window) y la ventana del editor (M-file editor).
Entre las auxiliares de ms uso estn la ventana de historia de comandos (command history), la del entorno de trabajo (workspace), la de directorio de trabajo actual (current directory), la de ejecucin de aplicaciones (launch pad) y, finalmente, la de ayuda (help window).
Cuando se inicia el Matlab, nos muestra una disposicin por defecto de tres ventanas que son la de workspace, la de command history y la command window.
A continuacin se muestra una representacin de lo que debemos ver cuando se inicia el Matlab:
Como se puede observar, aparece en la ventana de comandos un indicador Matlab (>> EDU>>) que nos dice que Matlab est listo y a la espera de que el usuario teclee un comando dato.
El primer comando que estudiaremos es el utilizado para salir o terminar nuestra sesin en Matlab y es la orden: [1] >>quit >>exit
(recuerde que despus de teclear un comando, siempre hay que oprimir la tecla [Enter]).
La ventana Grfica aparece cuando el usuario introduce comandos para que se desplieguen los resultados de forma visual grfica:
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 3 2002 La ventana del Editor aparece cuando el usuario crea o modifica un archivo .m de programa o script Matlab:
Algunos de los menes principales son: Men File,
Men Edit:
Men View:
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 4 2002 Men Web:
Men Window:
Men Help:
O tambin tecleando la instruccin:
[2] >>help >>help tpico
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 5 2002 Esta pantalla lista todos los tpicos en los que podemos encontrar ayuda especfica. Por ejemplo, si deseamos ayuda acerca de las funciones matemticas elementales, se teclea:
>>help elfun
Tambin es posible obtener ayuda del sistema en forma interactiva. En el men Help, de la parte superior de la pantalla, se puede hacer clic con el ratn y abrir la opcin Matlab Help.
Al entrar a la ayuda general del Matlab, se nos presenta una nueva pantalla en la cul encontraremos un smbolo de interrogacin:
Podemos hacer clic en dicho smbolo para oabservar la siguiente pantalla:
Como podemos observar, cuando queremos encontrar ayuda sobre un tema especfico se recomienda seleccionar la tableta index (ndice) y teclear en el espacio en blanco la descripcin sobre lo que queremos ayuda. El resultado se despliega en la parte derecha de la pantalla.
Si se desea ver algunas de las capacidades de Matlab, Tecleamos:
>>demo
Que inicia el men de ayuda pero ahora con las opciones de demostracin. Deber de aparecer la pantalla siguiente:
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 6 2002
Cualquiera de las ventanas mencionadas anteriormente es factible de maximizarse minimizarse. Por lo general la mayora del tiempo estaremos trabajando en la ventana de comandos como ventana principal, de la forma:
Otra instruccin importante es la secuencia:
[3] control-c ^c
Dicha secuencia, que se teclea sosteniendo la tecla [ctrl] y oprimiendo la tecla [c] una vez y soltar ambas, permite interrumpir o abortar cualquier comando de Matlab. Si por alguna razn la computadora permanece haciendo clculos, imprimiendo o si aparentemente entr a un ciclo infinito deber de emplearse control-c para generar una interrupcin local dentro del Matlab y volver a tener control de la situacin.
Otra opcin de manejo muy til que brinda Matlab es que con las flechas de direccin hacia arriba y hacia abajo podemos repetir cualquier comando tecleado con anterioridad.
A medida que se van dando rdenes en la ventana de comandos se van almacenando en un bfer para la sesin actual. Todas las entradas de datos que se hagan y tambin los resultados arrojados por Matlab son almacenados en dicho bfer.
Si por alguna razn se tiene inters en almacenar todo lo que se realiz en una determinada sesin, se puede lograr con el comando:
[4] >>diary nombre_de_archivo
A partir de este momento todo ser almacenado en el archivo especificado, se puede suspender o reactivar con:
>>diary off on
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 7 2002 1.2 Ordenes de gestin, control y manejo del entorno
v Para limpiar la pantalla de comandos:
[5] >>clc >>home
v Desplegar las versiones actuales de Matlab y de los toolboxes:
[6] >>ver
v Desplegar el nmero de la versin actual de Matlab:
[7] >>version
v Muestra el directorio actual de trabajo:
[8] >>pwd
v Despliega un listado del directorio:
[9] >>dir
v Cambiar el directorio de trabajo actual:
[10] >>cd ruta_de_directorio
Para las rutas de los directorios es vlido utilizar los operadores de punto y punto-punto: . (que significa aqu) y .. (que indica el directorio padre), tal como se usaban en msdos.
v Para borrar un archivo:
[11] >>delete nombre_de_archivo
v Para controlar las rutas de bsqueda contenidas en el matlabpath:
[12] >>path
La rden path, en forma simple, muestra todas las rutas de bsqueda que estn vigentes en Matlab. Este comando puede ser utilizado para modificar las rutas de bsqueda ya sea sustituyendo o aumentando rutas con:
>>p=path Almacena la cadena de ruta en p. >>path(q) Cambia la ruta a q. En donde q debe ser una cadena de caracteres encerrada entre comillas simples. >>path(p1,p2) Cambia la ruta con la concatenacin de p1 y p2. >>path(path,d) Agrega un nuevo directorio al final de la ruta existente. >>path(d,path) Agrega un nuevo directorio al inicio de la ruta existente.
v Para desplegar un listado de los archivos .m, .mat y .mex existentes en un directorio de las rutas contenidas en la mathlabpath:
[13] >>what directorio
Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 8 2002 v Para desplegar la ruta de localizacin de funciones y archivos .m que estn contenidos en la mathlabpath:
[14] >>which funcin archivo
v Desplegar el contenido de un archivo ascii o de tipo .m en la pantalla de comandos:
[15] >>type nombre_de_archivo
v Para controlar la paginacin de la salida en la ventana de comandos:
[16] >>more on off
Si se oprime cualquier tecla, la paginacin es rengln por rengln. Si se oprime la barra espaciadora, el despliegue se realiza hasta llegar al final del archivo.
v Para borrar variables y funciones de memoria:
[17] >>clear >>clear all
Cuidado! Este comando en su forma directa borra todas las variables y funciones de la memoria. Si se desea eliminar slo a ciertas variables habr que dar:
>>clear var var var Elimina slo las variables especificadas. >>clear functions Elimina todas las funciones .m compiladas en memoria. >>clear function func Elimina a una funcin. v Guardar en un archivo en disco las variables del espacio de trabajo:
[18] >>save nombre_de_archivo
Este comando guarda todas las variables del entorno de trabajo. Si se desea guardar slo algunas usar:
>>save nombre_de_archivo var var var
El comando save tiene opciones de almacenar las variables en formato ascii ascii delimitado (por tabuladores) con el fin de exportar los datos a otras aplicaciones:
>>save nombre_de_archivo -ascii -tabs
El archivo generado por save tendr la extensin .mat.
v Para recuperar variables almacenadas en un archivo en disco:
[19] >>load nombre_de_archivo
Recupera las variables desde el archivo .mat que se haya especificado. Para recuperar variables desde un archivo ascii:
>> load nombre_de_archivo -ascii
Con load es posible cargar matrices desde archivos ascii mientras contengan valores dispuestos en m renglones de n valores por cada lnea. Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 9 2002 v Para visualizar el contenido en forma de texto de un escalar, vector o matriz:
[20] >>disp(var)
Esto despliega el contenido de var sin desplegar el nombre de variable. Puede ser tambin que var sea una variable que contenga texto, el cual es desplegado en la pantalla de comandos.
v Desplegar la lista de las variables actuales existentes en memoria:
[21] >>who >>whos (con detalle)
v Eliminar basura de la memoria:
[22] >>pack
Este comando consolida la memoria eliminando su probable fragmentacin debido a sesiones muy largas con Matlab.
v Para ejecutar una orden del sistema operativo compatible con msdos:
[23] >>! comando_msdos
v Para cambiar el formato de salida en el despliegue de magnitudes numricas:
[24] >>format
Todos los clculos matemticos en Matlab se realizan utilizando doble precisin (usando 8 bytes) para cada una de las variables. Sin embargo, la forma en que se desplegarn puede ser modificada segn:
>>format short Punto fijo con cinco dgitos (default). >>format long Punto fijo con quince dgitos.
Y algunos otros ms. Existe en el men desplegable superior de File -> Preferences, la opcin de modificar este formato de despliegue en numeric format:
Prubelos en el Matlab. Introduccin a
Tema 1 MSc. Ing. Rafael Campillo Rodrguez 10 2002 v Para producir salidas de texto y valores con formato:
[25] >>fprintf ( formato , matrices )
Este comando nos permite tener todava ms control sobre las salidas ya que adems de desplegar tanto texto como valores de matrices, se puede especificar detalladamente con que formato queremos ver a cada uno a todos los valores.
La parte de formato contiene el texto del mensaje que se desea desplegar y las especificaciones del formato para las salidas. La parte derecha matrices, ser la lista de matrices a desplegar separadas por comas.
Dentro de la parte formato, se pueden definir los siguientes especificadores de formato:
%f Nmero en notacin decimal de punto fijo %e Nmero en notacin exponencial %g Visualiza un nmero con el campo ms corto %x Nmero en notacin hexadecimal %s Visualiza una cadena de caracteres %c Visualiza un carcter %- Justifica el nmero a la izquierda del campo
Adems, en la parte formato se pueden usar tambin secuencias de escape que representan a los siguientes caracteres en la salida:
\ n Carcter de control nueva lnea \ t Tabulacin \ \ Barra inclinada inversa \ comilla simple \ Doble comilla \ ? Interrogacin \ a Carcter de control alerta (pitido sonoro)
Los especificadores de formato tambin pueden contener informacin para determinar el nmero de posiciones que se destinarn para el despliegue del valor correspondiente (ancho de campo) as como tambin el nmero de decimales deseado (precisin) en dicho campo.
Por ejemplo, si x = 1.234567
>>fprintf ( \n \t valor = %7.3f \n , x) ;
Nos da por resultado:
Valor = 1.235
Ya que primero baja una lnea antes de desplegar (\n), despus se recorre a la derecha un espacio tabular (\t) y en dicho lugar despliega el mensaje valor = .
Enseguida aparece el valor de la variable x en un formato en notacin decimal de punto fijo (debido a la f en el formato) pero tomando un ancho de campo de siete lugares (%7.3f) de los cuales tres sern ocupados por los decimales, uno ms para el punto decimal, lo que nos deja slo 3 posiciones para los enteros (si fueran ms de tres, los despliega pero se desalinean los campos).
Finalmente, baja de rengln despus de desplegar el valor debido al ltimo \n en el formato.