UNA PRIMERA APROXIMACIÓN A MATLAB Francisco José Cabo García Economía Aplicada (Matemáticas) Universidad de Valladolid 1 Entorno de trabajo de MATLAB Al ejecutar el programa, se abre una ventana de trabajo en MATLAB. A continuación se resumen brevemente los principales elementos disponibles en esta ventana, cuyo aspecto, por defecto, se muestra en la Figura 1. Figura 1 1.1 Command Window [Ventana de comandos] La ventana de comandos constituye el principal mecanismo para comunicarse con MATLAB. Las funciones introducidas (o "las entradas") se ejecutan pulsando la tecla Enter. Al escribir los nombres de las funciones o de los comandos, es importante recordar que MATLAB distingue entre mayúsculas y minúsculas (habitualmente, las funciones se escriben en minúsculas). Asimismo, tras seleccionar una zona de esta ventana, el botón derecho del ratón despliega un menú emergente que permite, entre otras opciones, evaluar dicha selección, e igualmente, abrirla con el Editor/Debugger como un M-fichero. Seleccionar File → Preferences... permite especificar el formato numérico a emplear y otras opciones ¯ Asimismo, es posible seleccionar el tipo y el color de las fuentes de texto. de presentación en pantalla. 1.1.1 Principales comandos de MATLAB Se enumeran a continuación los principales comandos que se emplean en la ventana de comandos. » load Lee todas o algunas de las variables de un fichero. » open Abre, entre otros, los ficheros .mat, M-ficheros o ficheros .fig de gráficos. Un fichero también puede abrirse seleccionando File → Open... De modo equivalente, las variables pueden importarse eligiendo File → Import Data... » clear Elimina algunas o todas las variables del espacio de trabajo. Igualmente, Edit → Clear Workspace elimina todas las variables del espacio de trabajo. » clc Borra la ventana de comandos (no elimina las variables). Este comando equivale a seleccionar Edit → Clear Workspace. » format modo Determina el formato de salida en la ventana de comandos. Entre los distintos "modos", pueden destacarse: short (muestra hasta 5 dígitos) long (muestra hasta 15 dígitos) y rat (formato racional). » cd Permite conocer y cambiar el directorio actual. » cd.. Disminuye un nivel en el árbol de carpetas. 1 El directorio puede ser igualmente modificado en la ventana de directorio actual. » who Muestra un listado con las variables del espacio de trabajo. Estas variables aparecen, igualmente, en la ventana de espacio de trabajo. » dir Muestra un listado con los archivos del directorio actual. Esta información también es asequible a través de la ventana de directorio actual. » edit M-fichero Abre una ventana de edición con un M-fichero. Si no se especifica un M-fichero la ventana de edición se abre en blanco. Igualmente puede seleccionarse File → New → M-file, o hacer clic en el botón de la barra de herramientas. ¯ » save Guarda todas o algunas de las variables del espacio de trabajo. Análogamente, puede seleccionarse File → Save Workspace As... » exit/quit Cierra el programa MATLAB. Igualmente es posible cerrar el programa mediante File → Exit MATLAB. Algunas teclas o combinaciones de teclas resultan especialmente interesantes en la ventana de comandos: • Las teclas ↑ y ↓ permiten recuperar comandos escritos con anterioridad. • La tecla Esc elimina todo el texto escrito en una línea. • La combinación de teclas Control + c aborta la ejecución de una sentencia. 1.2 Command History [Ventana del historial de comandos] Esta ventana muestra una relación con las distintas funciones que han sido empleadas en la ventana de comandos. Una vez seleccionadas una o varias líneas en esta ventana (al igual que en la ventana de comandos) el botón derecho del ratón permite su evaluación o la apertura de un M-fichero en el Editor/Debugger. 1.3 Launch Pad Ofrece ayuda y demostraciones sobre los diferentes productos instalados, así como acceso a la página Web de Math Works (empresa que suministra el software de MATLAB). 1.4 Current Directory [Ventana de directorio actual] Esta ventana facilita la gestión de los diferentes ficheros del entorno de MATLAB. En cualquier ventana de MATLAB, File → Set Path... permite añadir y modificar la lista de directorios entre los que MATLAB busca los ficheros de comandos, y funciones del sistema o del usuario. 1.5 Workspace [Ventana de espacio de trabajo] Muestra las variables almacenadas en memoria y algunas de sus características, como el tipo de variable y su tamaño. Esta ventana permite, a través de la herramienta Array editor, editar y modificar las matrices que constituyen las diversas variables. Asimismo, cada una de estas variables puede representarse gráficamente, de forma sencilla, haciendo clic con el botón derecho y seleccionando Graph Selection I Las preferencias relativas a esta ventana pueden modificarse en File → Preferences... ¯ 2 1.6 Editor/Debugger de M-ficheros La interacción con MATLAB puede llevarse a cabo directamente a través de la ventana de comandos. Alternativamente, es posible escribir, en primer lugar, todo un conjunto de funciones o entradas en un M-fichero y ejecutarlas posteriormente. La creación de este tipo de M-ficheros se lleva a cabo en el Editor/Debugger que se muestra en la Figura 2. Copiar Cortar Buscar Pegar Ir a una función Imprimir Situar punto de corte Guardar M-fichero Eliminar punto de corte Eliminar punto de corte Abrir M-fichero existente Ejecutar hasta nuevo punto de corte Abrir nuevo M-fichero Rehacer Salir modo Debug Deshacer Figura 2 Este editor puede abrirse haciendo clic en el botón de la barra de herramientas, escribiendo edit en la ventana de comandos, o bien seleccionando File → New → M-file. ¯ Un M-fichero, ya existente, se abre utilizando File → Open... Igualmente, es posible seleccionar bien un M-fichero, o bien una o varias sentencias, y editarlos empleando el botón derecho del ratón. En este tipo de ficheros, resulta útil introducir comentarios aclaratorios. Para que MATLAB pueda distinguir entre comentarios y entradas, los primeros irán precedidos de un %. También es importante resaltar que cuando una expresión termina en punto y coma (;) se calcula su resultado pero no se muestra en pantalla. Al no mostrar los resultados intermedios que no sean de interés, se consigue agilizar el cálculo. 1.7 Help [Ventana de Ayuda] El sistema de ayuda en MATLAB es muy eficiente, pudiéndose distinguir dos modos para su empleo: • Escribir helpdesk o helpbrowser en la ventana de comandos, o equivalentemente presionar el botón de la barra de herramientas, abrirá el panel de navegación de la ventana de ayuda. En este cuadro de diálogo es posible seguir un índice con hipervínculos, o bien buscar un tema de ayuda específico. • Cuando se desea obtener información sobre una determinada función, puede escribirse en la ventana de comandos: » help función Muestra la ayuda sobre dicha función en la ventana de comandos. » doc función 2 Muestra la página de referencia para dicha función en el navegador de la ayuda. Variables, operadores y funciones MATLAB es fundamentalmente un programa de cálculo matricial. En consecuencia, las variables vectoriales y matriciales constituyen los elementos básicos para trabajar con este paquete matemático. A 3 continuación se comenta el modo de asignar un valor a una variable, especialmente cuando se trata de un vector o una matriz, así como el modo de operar entre estas variables. • Asignar valor a una variable » v=4 Si al resultado de una operación no se le asigna un nombre, MATLAB utiliza, por defecto, ans (answer) como nombre de la variable. El contenido de ans puede emplearse en la operación subsiguiente. • Variables vectoriales » v=[v1 ,v2 ,...,vn ], o bien v=[v1 v2 ... vn ]. » v=a:s:b Vector de primera componente a, última componente b, y paso entre dos elementos intermedios igual a s. Por ejemplo: −1 : 0.25 : 1 devuelve el vector [−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1]. » v=linspace(a,b,n) Vector cuyo primer y último elementos vienen dados por a y b, siendo n el número de elementos uniformemente espaciados entre sí. » length(v) Devuelve la longitud del vector v. • Variables matriciales » M = [a11 , a12 , . . . , a1n ; a21 , a22 , . . . , a2n ; . . . ; am1 , am2 , . . . , amn ] » M = [a11 a12 . . . a1n ; a21 a22 . . . a2n ; . . . ; am1 am2 . . . amn ] M = » » » » M(i,:) M(:,j) size(M) diag(v) » » » » » » » » » eye(n) zeros(n) ones(n) M0 trace(M) det(M) rank(M) M^n inv(M)≡ Mˆ − 1 • Operadores a11 a21 .. . a12 a22 .. . ··· ··· .. . a1n a2n .. . am1 am2 ··· amn o bien, Variable matricial de dimensión m ∗ n. . Fila i-ésima de la matriz de M . Columna j-ésima de la matriz de M . Muestra el número de filas y columnas de M . Crea una matriz diagonal, siendo los elementos de la diagonal principal los del vector v. Genera la matriz identidad de orden n. Genera una matriz cuadrada de ceros, de orden n. Genera una matriz cuadrada de unos, de orden n. Devuelve la traspuesta de la matriz M . Calcula la traza de la matriz M . Obtiene el determinante de la matriz M . Calcula el rango de la matriz M . Devuelve la potencia n−ésima de la matriz M . Calcula la inversa de la matriz M . Operador Definición + * / ^ .* ./ Suma de escalares, vectores o matrices. Resta de escalares, vectores o matrices. Producto de escalares o matrices. Cociente escalar. Potencia de escalares o potencia escalar de una matriz. Producto, "elemento a elemento", de vectores o matrices. Cociente, "elemento a elemento", de vectores o matrices. También permite dividir un escalar por todos los miembros de un vector o una matriz. .^ Potencias, "elemento a elemento", de vectores o matrices. 4 Ejemplo: Sean a = [1, 2; 3, 4] y b = [1, 1; 2, 2], entonces: µ ¶ µ ¶ 5 5 1 2 a∗b= , mientras a. ∗ b = . 11 11 6 8 MATLAB devuelve un mensaje de error si los operadores no son empleados correctamente. Operadores relacionales: > Mayor. < Menor. >= Mayor o igual. <= Menor o igual. == Igual. =∼ Distinto (la tilde se obtiene con la combinación de teclas Alt Gr + 4 . Que una relación sea verdadera o falsa es representado a través de los escalares 1 o 0. Operadores lógicos: & Operador lógico y. | Operador lógico o. ∼ Negación. • Principales números y funciones en MATLAB Sintaxis ventana de comandos Definición sign(n) max(n1 ,n2 )/min(n1 ,n2 ) factor(n) pi exp(1) inf NaN exp(x) log(x) sqrt(x) abs(x) Signo de n. Máximo/Mínimo de los números n1 , n2 . Descomposición de n en sus factores primos. Número π = 3.1415... Número e = 2.7182... Infinito. "Not a number", indeterminación (por ejemplo 0/0). Exponencial en base e, de x. Logaritmo en base e, de x. Raíz cuadrada de x. Valor absoluto de x. Funciones que admiten como argumento un vector o una matriz Mayor componente del vector v. Menor componente del vector v. Media de los componentes del vector v. Suma de las componentes del vector v. Producto de las componentes del vector v. max(v) min(v) mean(v) sum(v) prod(v) • Variables simbólicas Aun cuando MATLAB consiste principalmente en un programa de cálculo simbólico, también dispone de toolboxes que hacen posible el cálculo simbólico. A este respecto, » syms x y » syms Define x e y como variables simbólicas. Ofrece un listado de las variables simbólicas definidas en el espacio de trabajo. En general se emplean dos procedimientos para solicitar a MATLAB la resolución de un problema de modo simbólico: — Definir como simbólicas las variables implicadas y aplicar una función determinada. — Escribir esta función especificando sus argumentos entre comillas. 5 3 Un poco de Álgebra Entre las principales capacidades de MATLAB, a continuación se comentan: la resolución de ecuaciones y de sistemas de ecuaciones, las diversas posibilidades de simplificación, y la diagonalización de matrices. • Resolución de una ecuación en la variable x » solve(0 ecuación0 ,0 x0 ) o alternativamente » syms x » solve(0 ecuación0 ,x) o bien » syms x » solve(expresión,x) La "expresión" es el lado izquierdo de una ecuación cuyo lado derecho es 0. — Por ejemplo, para resolver la ecuación x2 + 3x = 2 » solve(0 x^2+3*x=20 ,0 x0 ) o alternativamente » syms x » solve(0 x^2+3*x=20 ,x) o bien » syms x » solve(x^2+3*x-2,x) • Simplificación Las expresiones simbólicas pueden simplificarse a través de las funciones: » simplify Simplifica una expresión construída a partir de variables simbólicas. » expand Escribe cada elemento de la expresión como producto de sus factores. » simple Busca la forma más simple para una determinada expresión simbólica. • Resolución de un sistemas de ecuaciones en las variables x1 , . . . , xn » [x1 ,...,xn ]=solve(0 ec1,...,ecn0 ,0 x1 ,...,x0n ) o equivalentemente » syms x1 x2 ...xn » [x1 ,...,xn ]=solve(0 ec1 ,...,ec0n ,x1 ,...,xn ) o bien » syms x1 ,...,xn » [x1 ,...,xn ]=solve(exp1 ,...,expn ,x1 ,...,xn ) Por ejemplo, resolver el sistema de ecuaciones: 2x − y = 0 x − 2y = 3 ¾ . 0 » [x, y] = solve( 2 ∗ x − y = 0, x − 2 ∗ y = 30 ,0 x, y0 ) o equivalentemente, » syms x y » [x, y] = solve(0 2 ∗ x − y = 0, x − 2 ∗ y = 30 , x, y) o bien, » syms x y » [x, y] = solve(2 ∗ x − y, x − 2 ∗ y − 3, x, y) Si la función solve no es capaz de encontrar una solución exacta, devolverá una solución numérica. 6 » linsolve(A,b) Resuelve el sistema de ecuaciones lineales, cuya representación matricial es: Ax = b (siendo A la matriz de coeficientes, b el vector de términos independientes y x el vector de variables). En el ejemplo anterior A = [2, −1; 1, −2], b = [0; 3] • Polinomios Un polinomio puede representarse a través del vector formado por sus coeficientes. Así, a partir de un polinomio presentado de esta forma, pueden calcularse sus raíces, y viceversa. » roots(v) Devuelve un vector con las raíces del polinomio que tiene por coeficientes los componentes del vector v. » poly(v) Devuelve un vector con los coeficientes del polinomio que tiene por raíces los componentes del vector v. • Diagonalización de matrices » poly(A) Devuelve un vector con los coeficientes del polinomio característico asociado a la matriz A. Devuelve un vector con los autovalores de la matriz cuadrada A. » eig(A) » [V,D]=eig(A) 4 Devuelve una matriz diagonal D de autovalores de A y una matriz V cuyas columnas son autovectores pertenecientes a los correspondientes subespacios propios. Un poco de Cálculo • Límite de una función real de una variable en un punto » syms x » limit(f,x,x0 ) Calcula el límite de la función f (x) cuando x tiende hacia x0 . • Derivada n−ésima de una función de una variable » diff(0 f0 ,0 x0 ,n) Calcula la derivada f n) (x). o equivalentemente, » syms x » diff(f,x,n) • Derivada parcial n−ésima de una función de varias variables, respecto a xi » diff(0 f0 ,0 x0i ,n) Calcula la derivada parcial ∂ n f /∂xni (x). o equivalentemente, » syms x1 x2 xn » diff(f,xi ,n) Por ejemplo, la derivada 2 de la función f (x, y) = 3x2 y 3 + 2x : » diff(0 3*x^2*y^3+2*x0 ,0 x0 ,2) o bien » syms x y » diff(3*x^2*y^3+2*x,x,2) Cuando no se especifica el tercer argumento, calcula la derivada primera. • Derivada cruzada de una función dependiente de varias variables En particular suponiendo una función dependiente de las variables x e y, » diff(diff(0 f0 ,0 x0 ),0 y0 ) Calcula la derivada ∂f / [∂x∂y] (x, y). 7 o equivalentemente, » syms x y » diff(diff(f,x),y) Por ejemplo, la derivada cruzada de la función f (x, y) = 3x3 y 2 + 2y 2 x » diff(diff(0 3*x^3y^2+2*y^2*x0 ,0 x0 ),0 y0 ) o bien, » syms x y » diff(diff(3*x^3y^2+2*y^2*x,x),y) • Polinomio de Taylor de una función de una variable Una vez definida x como variable simbólica, » syms x Calcula el desarrollo de Taylor de grado n − 1 de la función f respecto » taylor(f,n,x,x0 ) a la variable x en torno al punto x0 . » taylortool Abre una ventana de dibujo interactiva que grafica una función y su desarrollo de Taylor en torno a un punto. Esta ventana permite cambiar: la función, el intervalo a representar, el grado y el punto en torno al cual se calcula el polinomio. • Matriz Jacobiana Tras definir x1 , . . . , xn como variables simbólicas, » syms x1 x2 xn » jacobian([f1 ,...,fn ],x1 ,...,xn ) Calcula la matriz Jacobiana de la función vectorial f (x1 , . . . , xn ) = [f1 (x1 , . . . , xn ) , . . . , fn (x1 , . . . , xn )] . • Integral de una función de una variable Una vez definida x como una variable simbólica: » syms x R » int(f, x) Calcula la integral indefinida f (x) dx. » rsums(f, a, b) Presenta un gráfico interactivo con la suma de Riemann de la función f en el intervalo [a, b]. Este gráfico permite hacer más o menos fina la partición del intervalo [a, b]. Rb » int(f, x, a, b) Calcula la integral definida a f (x) dx. Si x no es definida como una variable simbólica, las órdenes anteriores se escribirían: » rsums(0 f0 ,a,b) » int(0 f0 ,0 x0 ,a,b). » int(0 f0 ,0 x0 ) • Integral de una función de varias variables En particular, para dos variables, una vez definidas x e y como variables simbólicas: » syms x y RR » int(int(f,x),y) Calcula la integral indefinida f (x, y) dxdy. i R d hR b » int(int(f,x,a,b),y,c,d) Calcula la integral definida c a f (x) dx dy. • funtool Se trata de una herramienta interactiva dentro de la Toolbox de Matemática Simbólica. » funtool Abre una "calculadora gráfica interactiva" que, para una función real de una variable, f (x), permite Rcalcular de forma analítica y, al mismo tiempo, representar gráficamente: f 0 (x), f (x) dx, 1/f (x) y f −1 (x) . 8 5 Representación gráfica La representación gráfica con el programa MATLAB puede llevarse a cabo de dos formas distintas. Cuando se consideran las variables, desde un punto de vista matricial, como columnas de datos, MATLAB permite dibujar puntos en 2 ó 3 dimensiones. Por otro lado, las Toolboxes de Matemática Simbólica también permiten dibujar funciones a partir de su expresión analítica. Nos centraremos principalmente en este segundo tipo de representaciones geométricas. A continuación se comentan, brevemente, algunos comandos de importancia en la representación gráfica en 2 y 3 dimensiones: » figure Abre una nueva ventana de gráficos. 5.1 » figure(h) Crea una figura como un objeto de nombre h. » h=figure Crea una figura como un objeto de nombre h. » subplot(n,m,i) Permite representar varios gráficos en una misma ventana, que se divide en n ∗ m "cajas", en cada una de las cuales se muestra un gráfico. El tercer argumento, i, indica la caja donde se va a representar el siguiente gráfico, contando éstas, de izquierda a derecha y de arriba abajo. » hold on/off Conserva el gráfico existente, permitiendo que el siguiente gráfico se superponga en la misma ventana (on/off, activa/desactiva esta posibilidad). Gráficos en 2 Dimensiones En esta sección se presentan los dos métodos a través de los cuales MATLAB representa el gráfico de una función real de una variable: generar una serie de puntos del gráfico o, a partir de la expresión analítica de la función, generar el gráfico utilizando las toolboxes de matemática simbólica. • Representación gráfica a través de puntos » plot(x,y) Dibuja el conjunto de puntos (xi , yi ). Lógicamente, x e y han de ser del mismo tamaño. Ejemplo de representación de la gráfica de una función, f (x), a través de puntos: » x=-2:0.25:2; » y=f(x); » plot(x,y) » fill(x,y,0 c0 ) Dibuja el polígono compacto de vértices dados por los pares (xi , yi ), donde c determina el color para cada punto. 0 0 » bar(x) Gráfico de barras relativo a las frecuencias de x. Si x es una matriz, presenta un gráfico múltiple para cada fila. » pie(x) Gráfico de sectores relativo a las frecuencias de x. » hist(x) Histograma relativo al vector de frecuencias de x. » stem(x) Gráfico de racimo relativo al vector x. » ginput(n) Devuelve las coordenadas de n puntos haciendo clic con el ratón en la gráfica. • Representación gráfica conocida la expresión analítica » ezplot(0 f0 ,[a,b]) 5.2 Grafica la función f en el intervalo [a, b]. Las comillas no son precisas si la variable de la que depende la función, x, es definida como variable simbólica con anterioridad. Gráficos en 3 Dimensiones En esta sección, de nuevo se distingue entre las opciones para dibujar puntos en 3 dimensiones, y la posibilidad de representar la gráfica de una función real de dos variables a partir de su expresión simbólica. 9 • Representación gráfica a través de puntos » plot3(x,y,z) Dibuja las líneas que unen los puntos (xi , yi , zi ). » fill3(x,y,z,0 c0 ) Dibuja el polígono compacto de vértices dados por las ternas (xi , yi , zi ), donde 0 c0 determina el color para cada punto. » bar3(x) Genera un gráfico de barras relativo al vector de frecuencias x. » stem3(x,y,z) Dibuja, como un gráfico de tallos, la secuencia z en los valores especificados por x e y. » cylinder(r,n) Grafica un cilindro de radio r, con n puntos en cada circunferencia de su sección horizontal. Grafica una esfera usando n ∗ n caras. » sphere(n) Ejemplo de representación de la gráfica de una función f (x, y) a través de puntos: » [x,y]=meshgrid(-2:.1:2); » z=f(x,y); » plot3(x,y,z) • Representación gráfica conocida la expresión analítica de una función real, f , de dos variables, x e y Grafica las curvas de nivel de la función f cuando las variables x » ezcontour(0 f0 ,[a,b]) e y toman valores en el intervalo [a, b]. » ezcontourf(0 f0 ,[a,b]) » ezmesh(0 f0 ,[a,b]) Grafica las curvas de nivel y además rellena las áreas entre dos curvas consecutivas. Grafica la malla de la función dependiente de dos variables, cuando éstas toman valores en [a, b]. » ezsurf(0 f0 ,[a,b]) Grafica la superficie de la función dependiente de dos variables, cuando éstas toman valores en [a, b]. » ezmeshc(0 f0 ,[a,b]) Además de la malla de la gráfica, dibuja las curvas de nivel en el plano xy. » ezsurfc(0 f0 ,[a,b]) Además de la superficie de la gráfica, dibuja las curvas de nivel en el plano xy. » ezplot(0 f0 ) Dibuja la función implícita definida por la ecuación f = 0. Las comillas no son precisas si, con anterioridad, x e y son definidas como variables simbólicas » syms x y 5.3 Editar un gráfico Existen dos posibilidades para modificar las características de un gráfico en 2 o 3 dimensiones: • En la ventana de gráficos, tras presionar , o seleccionar Tools → Edit Plot, utilizar el ratón para seleccionar y editar los distintos objetos del gráfico de forma interactiva. • Escribir las respectivas funciones en la ventana de comandos o en el Editor/Debugger. A continuación se comentan algunas de las opciones que es posible modificar a través de la ventana de gráficos. Es importante aclarar que, si bien esta ventana es intuitiva y sencilla de implementar, no siendo necesario memorizar todos los comandos, también es más rígida, y no abarca todas las opciones disponibles a través de la ventana de comandos. La ventana de gráficos permite, a través de la barra de menús y/o de la barra de herramientas: • Insertar título, leyenda, leyendas en los ejes, texto libre, flechas, líneas, o una paleta de colores. • Hacer zoom hacia dentro o hacia afuera, cambiar la vista de los ejes y modificar o rotar los ejes en 3 dimensiones. 10 • Editar las propiedades del gráfico, bien a través del menú Edit, seleccionando las opciones Figure Properties..., Axes Properties... o Current Object Properties..., o bien haciendo doble clic en el objeto del gráfico que deseamos modificar de forma interactiva. Una vez abierto el editor de propiedades, en el cuadro Edit Properties for puede seleccionarse cualquiera de las figuras y, de ésta, los ejes o cualquier otro objeto de la misma como las líneas o la superficie. El editor de propiedades permite: — Figura Posibilidad de cambiar el título, o aspectos de estilo como el color de fondo. — Ejes Posibilidad de cambiar la escala, la malla, el estilo de las fuentes, las etiquetas y el aspecto o el punto desde el que se divisa el gráfico. — Superficie o líneas del gráfico como puntos, tamaño, color... Posibilidad de cambiar los datos, o aspectos de estilo — Añadir y modificar puntos de luz (particular interés en gráficos en 3D). — Cambiar el color, estableciendo distintos grados de transparencia (particular interés en gráficos en 3D). — La "barra de cámara" aporta una gran variedad de opciones para observar la gráfica (particular interés en gráficos en 3D). Tools → 5.4 Camera Motion I Orbit Camera Gira la cámara alrededor de un eje. Camera Motion I Orbit Scene Ligth Gira la fuente de luz con respecto a la cámara. Camera Motion I Pan Turn/Tilt Mueve el objeto enfocado, manteniendo la cámara fija. Camera Motion I Move-Horizontally/Vertically Mueve, al unísono, el objeto enfocado y la cámara horizontal o verticalmente. Camera Motion I Move-Forward/Back Acerca o aleja la cámara al objeto enfocado. Camera Motion I Zoom Zoom hacia dentro o fuera. Camera Motion I Roll Rota la cámara sobre el eje que la une al objeto enfocado. Camera Motion I Walk Mueve la cámara hacia el objeto enfocado, desplazando éste en la misma medida. Camera Reset I Reset Camera & Scene Ligth Restablece la visión original del gráfico. Guardar y exportar un gráfico Una vez completado un gráfico, puede ser almacenado de dos formas: • Guardarlo con un formato que permita abrirlo en una nueva sesión de MATLAB. Abrir una ventana de diálogo seleccionando File → Save, o bien, » save grafico.fig en la ventana de comandos o en el Editor/Debugger. • Exportarlo, eligiendo el formato adecuado al programa donde lo vayamos a utilizar. Esto se consigue: Seleccionar File → Export... y elegir la extensión deseada en la ventana de diálogo. » print grafico.ext en la ventana de comandos o en el Editor/Debugger. 11 References [1] (2002) MATLAB the language of technical computing. The Math Works Inc. CD-Instalación: help/pdf_doc Internet: vireo.gatech.edu/local/matlab/help/pdf_doc/matlab [2] García de Jalón, J.; Rodríguez, J. I. & Brazález, A. (2001), Aprenda Matlab 6.1 como si estuviera en primero. http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab61/matlab61pro.pdf [3] Pérez, C. (2002), Matlab y sus aplicaciones en las Ciencias y la Ingeniería. Madrid. Prentice-Hall. [4] Quintela Estévez, P. (1997), Introducción a Matalb y sus aplicaciones. Santiago de Compostela. Universidad de Santiago de Compostela. [5] Sigmon, K. (1992), Introducción a http://mayaweb.upr.clu.edu/~jechauz/primer35sp.pdf MATLAB. Segunda Edición. [6] Sigmon, K. (1993), MATLAB primer. Third Edition. http://ise0.stanford.edu/Matlab/matlabprimer.pdf Direcciones interesantes de internet: http://www.mathworks.com http://bass.gmu.edu/matlab/matlab.html http://visual.rutgers.edu/~ccn/matlabhelp/helpdesk.html 12