Está en la página 1de 53

Jackeline Quinde Torres

MATLAB
Es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para realizar clculos numricos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros escalares tanto reales como complejoscon cadenas de caracteres y con otras estructuras de informacin ms complejas. Una de las capacidades ms atrac tivas es la de realizar una amplia variedad de grficos en dos y tres dimensiones. MATLAB tiene tambin un lenguaje de programacin propio. Este manual hace referencia a la versin 7.0 de este programa (tambin llamada release 14), aparecida a mediados de 2004.

Jackeline Quinde Torres

MATLAB dispone de un cdigo bsico y de varias libreras especializadas (toolboxes). En estos apuntes se har referencia exclusiva al cdigo bsico.

MATLAB se puede arrancar como cualquier otra aplicacin de Windows, clicando dos veces en el icono correspondiente en el escritorio o por medio del men Inicio). Al arrancar MATLAB se abre una ventana similar a la mostrada en la Figura 1. sta es la vista que se obtiene eligiendo la opcin Desktop Layout/Default, en el men View. Como esta configuracin puede ser cambiada fcilmen- te por el usuario, es posible que en muchos casos concretos lo que aparezca sea muy diferente. En caso, una vista similar se puede conseguir con el citado comando View/Desktop La- yout/Default. Esta ventana inicial requiere unas primeras explicaciones. cualquier Jackeline Quinde Torres

MATLAB dispone de un cdigo bsico y de varias libreras especializadas (toolboxes). En estos apuntes se har referencia exclusiva al cdigo bsico.

MATLAB se puede arrancar como cualquier otra aplicacin de Windows, dando clic dos veces en el icono correspondiente en el escritorio o por medio del men Inicio). Al arrancar MATLAB se abre una ventana similar a la mostrada en la Figura 1. sta es la vista que se obtiene eligiendo la opcin Desktop Layout/Default, en el men View. Como esta configuracin puede ser cambiada fcilmente por el usuario, es posible que en muchos casos concretos lo que aparezca sea muy diferente. En cualquier caso, una vista similar se puede conseguir con el citado comando View/Desktop Layout/Default. Esta ventana inicial requiere unas primeras explicaciones.

Jackeline Quinde Torres

Start, con una funcin anloga a la del botn Inicio de Windows. Start da acceso inmediato a ciertas capacidades del programa. La Figura 2 muestra las posibilidades de Start/MATLAB, mientras que la Figura 3 muestra las opciones de Start/Desktop Tools, que permiten el acceso a las principales componentes o mdulos de MA- TLAB. El men Desktop realiza un papel anlogo al botn Start, dando acceso a los mdulos o componentes de Jackeline Quinde Torres MATLAB que se tengan

Figura 2. Men Start/MATLAB

Figura 3. Men Start/Desktop Tools.

Jackeline Quinde Torres

Para apreciar desde el principio la potencia de MATLAB, se puede comenzar por escribir en la Command Window la siguiente lnea, a continuacin del prompt. Al final hay que pulsar intro.

>> A=rand(6), B=inv(A), B*A


A= 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 B= 5.7430 2.7510 3.6505 0.1513 -6.2170 -2.4143 5.3399 1.5345 1.5631 1.8561 -4.4170 -2.5266 -1.4681 -0.5742 -1.3917 -0.6076 -2.1058 -0.0857 -1.6896 -0.7576 -0.6076 -0.3681 0.4565 0.0185 0.8214 0.4447 0.6154 0.7919 0.9218 0.7382 0.1763 0.4057 0.9355 0.9169 0.4103 0.8936 0.0579 0.3529 0.8132 0.0099 0.1389 0.2028 0.1987 0.6038 0.2722 0.1988 0.0153 0.7468 0.4451 0.9318 0.4660 0.4186

3.1251 -0.6001

-3.6417 -4.6087 -4.7057


2.7183 ans = 1.0000 0.0000 0 0.0000 1.0000 0 0 0.0000 3.3088

2.5299

6.1284

0.9044

2.9929 -0.1943 -5.1286 -0.6537 0.0000 0.0000 -0.0000 0.0000 0.0000

0.0000 -0.0000

1.0000 -0.0000 -0.0000

0.0000
-0.0000

0 -0.0000

1.0000 -0.0000

0.0000
0.0000

0.0000 -0.0000 -0.0000

1.0000

-0.0000 -0.0000 -0.0000 -0.0000 Jackeline -0.0000 Quinde 1.0000 Torres

En realidad, en la lnea de comandos anterior se han escrito tres instrucciones diferentes, separadas por comas. Como consecuencia, la respuesta del programa tiene tres partes tambin, cada una de ellas correspondiente a una de las instrucciones. Con la primera instruccin se define una matriz cuadrada (66) llamada A, cuyos elementos son nmeros aleatorios entre cero y uno (aunque aparezcan slo 4 cifras, han sido calculados con 16 cifras de precisin). En la segunda instruccin se define una matriz B que es igual a la inversa de A. Finalmente se ha multiplicado B por A, y se comprueba que el resultado es la matriz unidad2. Es con grandes matrices o grandes sistemas de ecuaciones como MATLAB obtiene toda la potencia del ordenador. Por ejemplo, las siguientes instrucciones permiten calcular la potencia de clculo del ordenador en Megaflops (millones de operaciones aritmticas por segundo). En la primera lnea se crean tres matrices de tamao 10001000, las dos primeras con valores aleatorios y la tercera con valores cero. La segunda lnea toma tiempos, realiza el producto de matrices, vuelve a tomar tiem- pos y calcula de modo aproximado el nmero de millones de operaciones realizadas.

Jackeline Quinde Torres

En la figura se puede observar que se abre una nueva ventana en la que aparece representada la funcin sin(x). Esta figura tiene un ttulo "Funcin seno(x)" y una cuadrcula o "grid". En realidad la lnea anterior contiene tambin varias instruccio- nes separadas por comas o puntos y comas. En la primera se crea un vector x con 801 valores reales entre -4 y 4, separados por una centsima. A conti- nuacin se crea un vector y, cada uno de cuyos elementos es el seno del correspondiente elemento del vector x. Despus se dibujan los valores de y en ordenadas frente a los de x en abscisas. Las dos ltimas instrucciones establecen la cuadrcula y el ttulo.

Jackeline Quinde Torres

Para borrar todas las salidas anteriores de MATLAB y dejar limpia la Command Window se pueden utilizar las funciones clc y home. La funcin clc (clear console) elimina todas las salidas anteriores, mientras que home las mantiene, pero lleva el prompt (>> ) a la primera lnea de la ventana. Si se desea salir de MATLAB basta teclear los comandos quit o exit, elegir Exit MATLAB en el men File o utilizar cualquiera de los medios de terminar una aplicacin en Windows.

Jackeline Quinde Torres

Uso de Help

MATLAB 7.0 dispone de un excelente Help con el que se puede encontrar la informacin que se desee. La Figura 5 muestra las distintas opciones que aparecen en el men Help de la ventana principal de la aplicacin:

Jackeline Quinde Torres

Full Product Family Help, Se abre la ventana de la Figura 8, en la que

se puede buscar informacin general sobre MA- TLAB o sobre otros productos de la familia a los que se tenga acceso. La forma de la ventana de ayuda es tpica y comn con otros niveles de ayuda. La mayor parte de las pginas de ayuda estn en formatoHTML.

Jackeline Quinde Torres

MATLAB Help.

Se abre la ventana en la que se puede buscar ayuda general sobre MATLAB o sobre la funcin o el concepto que se desee. La porta- da de esta ayuda tiene tres captulos principales: Functions, que contiene informacin de referencia sobre las funciones por orden alfabtico o por categoras; Handle Graphics, que permite acceder a informacin concreta sobre las distintas propiedades de los objetos grficos; Documentation Set, que da acceso a versiones completas de los manuales del programa en formato de pantalla fcilmente navegable

Jackeline Quinde Torres

Algunas pginas web sobre MATLAB.

Jackeline Quinde Torres

Using the Desktop

Se abre una ventana de ayuda con un formato similar a las de las Figuras anteriores con informacin detallada sobre cmo utilizar y configurar el entorno de desarrollo o Desktop. Las distintas herramientas disponibles se describen sucesivamente. Cada pgina dispone de flechas y enlaces que permiten ir a la pgina siguiente o volver a la anterior. Es posible tambin imprimir aquellas pginas que se deseee consultar o archivar sobre papel. Una caracterstica muy importante es la posibilidad de organizar las ventanas con gran flexibilidad, agru- pndolas o independizndoles segn los propios gustos o deseos.

Jackeline Quinde Torres

Using the Command Window. Esta opcin del men Help da

acceso a la informacin necesaria para aprovechar las capacidades de la Command Window, que es el corazn de MATLAB. Web Resources. La Error! No se encuentra el origen de la referencia. muestra algunas direcciones de Internet con informacin interesante sobre MATLAB. Todas ellas corresponden a distintas secciones de la web de The Mathworks (la empresa que desarrolla y comercializa MATLAB), cuya pgina de inicio se muestra en primer lugar. Check for Updates. MATLAB se conecta con The Mathworks y comprueba si has versiones ms recientes de los productos instalados.

Jackeline Quinde Torres

Demos. Se abre una ventana como la mostrada

en la Figura 7 que da acceso a un buen nmero de ejemplos resueltos con MATLAB, cuyos resultados se presentan grficamente de diversas formas. Es muy interesante recorrer estos ejemplos para hacerse idea de las posibilidades del programa, tanto en clculo como en grficos. Es asimismo muy instructivo analizar los ficheros *.m de los ejemplos de caractersticas similares a las de la aplicacin de se desea desarrollar. Adems, de una forma muy inmediata, es posible tambin recurrir al Help desde la lnea de coman- dos de la Command Window. Se aconseja practicar un poco al respecto. Por ejemplo, obsrvese la respuesta a los siguientes usos del comando help: >> help >> help lang

Jackeline Quinde Torres

MATLAB dispone de una ayuda muy completa y accesible, estructurada en varios niveles (lnea de comandos en la Command Window, ventana Help, y manuales en formato PDF), con la que es muy importante estar familiarizado, porque hasta los ms expertos programadores tienen que acudir a ella con una cierta frecuencia.

Jackeline Quinde Torres

El entorno de trabajo de MATLAB

1. El Escritorio de Matlab (Matlab Desktop), que es la ventana o contenedor de mximo nivel en la que se pueden situar (to dock) las dems componentes. 2. Las componentes individuales, orientadas concretas, entre las que se puede citar: a. b. c. La ventana de comandos (Command Window), La ventana histrica de comandos (Command History), El espacio de trabajo (Workspace), El a tareas

d. La plataforma de lanzamiento (Launch Pad), e. directorio actual (Current Directory), f. La ventana de ayuda (Help) g. El editor de ficheros y depurador (Editor&Debugger), h. El editor de matrices (Array Editor).

de errores vectores y

i. La ventana que permite estudiar cmo se emplea el tiempo de ejecucin (Profiler).

Jackeline Quinde Torres

EL ESCRITORIO DE MATLAB (MATLAB DESKTOP)

El Matlab Desktop es la ventana ms general de la aplicacin. El resto de las ventanas o componentes citadas pueden alojarse en la Matlab Desktop o ejecutarse como ventanas independientes. A su vez, los componentes alojados en el Matlab Desktop pueden aparecer como subventanas independientes o como pestaas dentro de una de las subventanas. MATLAB 7.0 ofrece una gran flexibilidad al respecto y es cada usuario quien decide en qu forma desea utilizar la aplicacin.

Jackeline Quinde Torres

MATLAB DESKTOP

Jackeline Quinde Torres

Adems del men mostrado en la Figura 11, que cambia en algunos detalles segn cual sea la ventana activa, el usuario puede configurar el Matlab Desktop por medio del ratn mediante algunas operaciones como las siguientes: 1. Colocando el ratn sobre los bordes intermedios de las subventanas y arrastrando puede modificar su tamao en la forma que desee. 2. Dando clic sobre la barra de ttulo de la subventana activa y arrastrando (Figura 12) se puede llevar a otra parte del Desktop, obtenindose el resultado mostrado en la Figura 13. 3. Si todas las ventanas se van seleccionando sucesivamente y se elige la correspondiente opcin Undock... en el men View, se podra obtener una configuracin como la mostrada en la Figura 14, en la que todas las ventanas son independientes y aparecen separadas en la barra de tareas. 4. Finalmente, si se parte de la configuracin por defecto y cada uno de los componentes se arrastra sobre la Command Window se puede obtener una configuracin como la mostrada en la Figura 15, en la que todos los componentes abiertos aparecen como pestaas alternativas en una ventana nica.

Jackeline Quinde Torres

Jackeline Quinde Torres

Preferencias: Formatos de salida y de otras opciones de MATLAB

MATLAB 7.0 dispone de un cuadro de dilogo desde el que se establecen casi todas las opciones que el usuario puede determinar por su cuenta. Este cuadro de dilogo se abre con el comando Preferences del men File. En la Figura 23 se aparece el cuadro de dilogo Preferences mostrando todas las posibilidades que ofrece en el men de la izquierda: en total son 24 cuadros de dilogo diferentes. La Figura 24 muestra el que permite elegir los colores generales del cdigo.

Jackeline Quinde Torres

Respecto a los formatos numricos con que MATLAB muestra los resultados (recurdese que siempre calcula con doble precisin, es decir con unas 16 cifras decimales equivalentes), las posibilidades existentes se muestran en la lista desplegable de la Figura 25 y son las siguientes: short coma fija con 4 decimales (defecto) long coma fija con 15 cifras hexadecimales short g valor long e long g notacin racional enteros notacin cientfica o decimal, dependiendo del notacin cientfica con 15 decimales cientfica o decimal, dependiendo del valor expresa los nmeros racionales como cocientes de

Jackeline Quinde Torres

OPERACIONES CON MATRICES Y VECTORES

Como en casi todos los lenguajes de programacin, en MATLAB las matrices y vectores son variables que tienen nombres. Ya se ver luego con ms detalle las reglas que deben cumplir estos nombres. Por el momento se sugiere que se utilicen letras maysculas para matrices y letras

minsculas para vectores y escalares


(MATLAB no exige esto, pero puede resultar til).

Jackeline Quinde Torres

Para definir una matriz no hace falta declararlas o establecer de antemano su tamao (de hecho, se puede definir un tamao y cambiarlo posteriormente). MATLAB determina el nmero de filas y de columnas en funcin del nmero de elementos que se proporcionan (o se utilizan). Las matrices se definen o introducen por filas6; los elementos de una misma fila estn separados por blancos o comas, mientras que las filas estn separadas por pulsaciones intro o por caracteres punto y coma (;). Por ejemplo, el siguiente comando define una matriz A de dimensin (33): >> A=[1 2 3; 4 5 6; 7 8 9] La respuesta del programa es la siguiente: A = 1 2 3 4 5 6 7 8 9

Jackeline Quinde Torres

Los operadores anteriores se pueden aplicar tambin de modo mixto, es decir con un operando escalar y otro matricial. En este caso la operacin con el escalar se aplica a cada uno de los elementos de la matriz. Considrese el siguiente ejemplo: 7 En trminos de C++ se podra decir que son operadores sobrecargados, es decir, con varios significados distintos dependiendo del contexto, es decir, de sus operandos. >> A=[1 A = 1 3 >> A*2 ans = 2 6 >> A-4 ans = -3 -1 2; 3 4] 2 4

4 8

-2 0

Jackeline Quinde Torres

Tipos de datos

Ya se ha dicho que MATLAB es un programa preparado para trabajar con vectores y matrices. Como caso particular tambin trabaja con variables escalares (matrices de dimensin 1). MATLAB trabaja siempre en doble precisin, es decir guardando cada dato en 8 bytes, con unas 15 cifras decimales exactas. Ya se ver ms adelante que tambin puede trabajar con cadenas de caracteres (strings) y, desde la versin 5.0, tambin con otros tipos de datos: Matrices de ms dos dimensiones, matrices dispersas, vectores y matrices de celdas, estructuras y clases y objetos. Algunos de estos tipos de datos ms avanzados se vern en la ltima parte de este manual.

Jackeline Quinde Torres

OTROS TIPOS DE VARIABLES: INTEGER, FLOAT Y LOGICA

MATLAB permite crear variables enteras con 1, 2, 4 y 8 bytes (8, 16, 32 y 64 bits). A su vez, estas variables pueden tener signo o no tenerlo. Las variables con signo representan nmeros en intervalos "casi" simtricos respecto al 0; las variables sin signo representan nmero no negativos, desde el 0 al nmero mximo.

Jackeline Quinde Torres

Las funciones intmin('int64')

con variables enteras de 64 Las funciones intmin('int64') e intmax('int64') permiten por ejemplo saber el valor del entero ms pequeo y ms grande (en valor algebraico) que puede formarse bits: >> disp([intmin('int64'), intmax('int64')]) -9223372036854775808 9223372036854775807

Jackeline Quinde Torres

Los operadores lgicos de MATLAB


& and (funcin equivalente: and(A,B)). Se evalan siempre ambos operandos, y el resultado es true slo si ambos son true. && and breve: si el primer operando es false ya no se evala el segundo, pues el resul- tado final ya no puede ser ms que false. | or (funcin equivalente: or(A,B)). Se evalan siempre ambos operandos, y el re- sultado es false slo si ambos son false. || or breve: si el primer operando es true ya no se evala el segundo, pues el resulta- do final no puede ser ms que true. ~ negacin lgica (funcin equivalente: not(A)) xor(A,B) realiza un "or exclusivo", es decir, devuelve 0 en el caso en que ambos sean 1 ambos sean 0. Los operadores lgicos se combinan con los relacionales para poder comprobar el cumplimiento de condiciones mltiples. Ms adelante se vern otros ejemplos y ciertas funciones de las que dispone MATLAB para facilitar la aplicacin de estos operadores a vectores y matrices.

Jackeline Quinde Torres

FUNCIONES DE LIBRERA

MATLAB tiene un gran nmero de funciones incorporadas. Algunas son funciones intrnsecas, esto es, funciones incorporadas en el propio cdigo ejecutable del programa. Estas funciones son particularmente rpidas y eficientes. Existen adems funciones definidas en ficheros *.m y *.mex12 que vienen con el propio programa o que han sido aportadas por usuarios del mismo. Estas funciones extienden en gran manera las posibilidades del programa. MATLAB dispone tambin de ficheros *.p, que son los ficheros *.m precompilados con la funcin pcode. Se vern ms adelante. Recurdese que para que MATLAB encuentre una determinada funcin de usuario el correspondiente fichero-M debe estar en el directorio actual o en uno de los directorios del search path.

Jackeline Quinde Torres

OTROS TIPOS DE DATOS DE MATLAB

En los captulos precedentes se ha visto la especialidad de MATLAB: trabajar con vectores y matrices. En este captulo se va a ver que MATLAB puede tambin trabajar con otros tipos de da- tos: 1. Conjuntos o cadenas de caracteres, fundamentales en cualquier lenguaje de programacin. 2. Hipermatrices, o matrices de ms de dos dimensiones. 3. Estructuras, o agrupaciones bajo un mismo nombre de datos de naturaleza diferente. 4. Vectores o matrices de celdas (cell arrays), que son vectores o matrices cuyos elementos pueden ser cualquier otro tipo de dato. 5. Matrices dispersas o matrices dispersas, que son matrices que pueden ser de muy gran tamao con la mayor parte de sus elementos cero.

Jackeline Quinde Torres

PROGRAMACIN DE MATLAB

Como ya se ha dicho varias veces incluso con algn ejemplo MATLAB es una aplicacin que se puede programar muy fcilmente. De todas formas, como lenguaje de programacin pronto ver que no tiene tantas posibilidades como otros lenguajes (ni tan complicadas...). Se comenzar viendo las bifurcaciones y bucles, y la lectura y escritura interactiva de variables, que son los elementos bsicos de cualquier programa de una cierta complejidad.

Jackeline Quinde Torres

Bifurcaciones y bucles

MATLAB posee un lenguaje de programacin que como cualquier otro lenguaje dispone de sentencias para realizar bifurcaciones y bucles. Las bifurcaciones permiten realizar una u otra operacin segn se cumpla o no una determinada condicin.

Jackeline Quinde Torres

Entrada y salida de datos

Ya se ha visto una forma de realizar la entrada interactiva de datos por medio de la funcin input y de imprimir resultados por medio de la funcin disp. Ahora se van a ver otras formas de intercambiar datos con otras aplicaciones.

Jackeline Quinde Torres

Llamada a comandos del sistema operativo y a otras funciones externas

Algunos comandos de MATLAB realizan la misma funcin que los comandos anlogos del sistema operativo MS-DOS, con lo que se puede evitar utilizar el operador (!). Algunos de estos comandos son los siguientes: dir contenido del directorio actual what ficheros *.m en el directorio actual delete filename borra el fichero llamado filename mkdir(nd) crea un sub-directorio con el nombre nd copyfile(sc, dst) copia el fichero sc en el fichero dst type file.txt imprime por la pantalla el contenido del fichero de texto file.txt cd cambiar de directorio activo pwd muestra el path del directorio actual which func localiza una funcin llamada func lookfor palabra busca palabra en todas las primeras lneas de los ficheros *.m

Jackeline Quinde Torres

Funciones de funcin

Como ya se ha comentado al hablar de las referencias de funcin, en MATLAB existen funciones a las que hay que pasar como argumento el nombre de otras funciones, para que puedan ser llamadas desde dicha funcin. As sucede por ejemplo si se desea calcular la integral definida de una funcin, resolver una ecuacin no lineal, o integrar numricamente una ecuacin diferencial ordinaria (problema de valor inicial). Estos sern los tres casos de gran importancia prctica que se van a ver a continuacin. Se comenzar por medio de un ejemplo, utilizando una funcin llamada prueba que se va a definir en un fichero llamado prueba .m.

Jackeline Quinde Torres

INTERFACES DE MATLAB CON OTROS LENGUAJES

Es posible llamar desde MATLAB a funciones programadas en C y en Fortran como si fueran funciones propias de MATLAB. De este modo, una funcin *.m de MATLAB puede ser sustituida por una funcin programada en C o en Fortran que se llama exactamente en la misma forma. Para que esto sea posible las funciones programadas en C y Fortran han de cumplir una serie de requisitos que se explican ms adelante. Estas funciones se compilan y se generan libreras compartidas que son las denominadas funciones MEX. Las funciones MEX son funciones ejecutables "*.dll" "*.so" que pueden ser cargadas y ejecutadas por MATLAB de forma automtica. Las funciones MEX tienen varias aplicaciones:

Jackeline Quinde Torres

Las funciones MEX tienen una extensin diferente en funcin de los sistemas operativos en que hayan sido generadas. En la siguiente tabla se puede ver la extensin que corresponde a cada sistema operativo.

Jackeline Quinde Torres

NOTA: Conviene tener en cuenta que hasta la versin 7.1 de MATLAB la extensin de los ficheros MEX era ".dll". A partir de la versin 7.1 es ".mexw32". Esto quiere decir que los ficheros MEX generados por MATLAB 7.1 no podrn ser ejecutados por versiones anteriores. Para mantener la compatibilidad se debe utilizar la opcin output con la extensin ".dll" en el nombre del fichero.

Jackeline Quinde Torres

El siguiente programa de MATLAB utiliza las funciones tic y toc para medir los tiempos
% fichero pruebaMEX.m clear all n=50000; % Se determina la eficiencia del producto vectorial de Matlab tic s=0; for i=1:n a=rand(3,1); b=rand(3,1); c=cross(a,b); s=s+norm(c); end toc % ahora con un programa *.m propio tic s=0; for i=1:n a=rand(3,1); b=rand(3,1); c=prodVect(a,b); s=s+norm(c); end toc % ahora con un programa propio en C tic s=0; for i=1:n a=rand(3,1); b=rand(3,1); c=prodVectC(a,b); s=s+norm(c); end toc disp('Ya he terminado')

Jackeline Quinde Torres

GRFICOS BIDIMENSIONALES

MATLAB dispone de cinco funciones bsicas para crear grficos 2-D. Estas funciones se diferencian principalmente por el tipo de escala que utilizan en los ejes de abscisas y de ordenadas. Estas cuatro funciones son las siguientes: plot() crea un grfico a partir de vectores y/o columnas de matrices, con escalas lineal es sobre ambos ejes plotyy() dibuja dos funciones con dos escalas diferentes para las ordenadas, una a la derecha y otra a la izquierda de la figura. loglog() dem con escala logartmica en ambos ejes semilogx() dem con escala lineal en el eje de ordenadas y logartmica en el eje de abscisas semilogy() dem con escala lineal en el eje de abscisas y logartmica en el eje de ordenadas

Jackeline Quinde Torres

FUNCIN PLOT

Esta es la funcin clave de todos los grficos 2-D en MATLAB. Ya se ha dicho que el elemento bsico de los grficos bidimensionales es el vector. Se utilizan tambin cadenas de 1, 2 3 caracteres para indicar colores y tipos de lnea. La funcin pot.(), en sus diversas variantes, no hace otra cosa que dibujar vectores. Un ejemplo muy sencillo de esta funcin, en el que se le pasa un nico vector como argumento, es el siguiente: >> x=[1 3 2 4 5 3] x= 1 3 2 4 5 3 >> plot(x)

Jackeline Quinde Torres

El resultado de este comando es que se abre una ventana mostrando el grfico de la Figura 38. Por defecto, los distintos puntos del grfico se unen con una lnea continua. Tambin por defecto, el color que se utiliza para la primera lnea es el azul. Cuando a la funcin pot.() se le pasa un nico vector real como argumento, dicha funcin dibuja en ordenadas el valor de los n elementos del vector frente a los ndices 1, 2, ... n del mismo en abscisas. Ms adelante se ver que si el vector es complejo,el funcionamiento es bastante diferente.

Jackeline Quinde Torres

Las ventanas grficas de MATLAB

Mens y barras de las ventanas grficas.

.Editor de mapa de colores.

Editor de propiedades de Figure.

Jackeline Quinde Torres

GRFICOS TRIDIMENSIONALES

Quizs sea sta una de las caractersticas de MATLAB que ms admiracin despierta entre los usuarios no tcnicos (cualquier alumno de ingeniera sabe que hay ciertas operaciones algebraicas como la descomposicin de valores singulares, sin ir ms lejos que tienen dificultades muy superiores, aunque "luzcan" menos).

Jackeline Quinde Torres

A continuacin se va a realizar un ejemplo sencillo consistente en dibujar un cubo. Para ello se crear un fichero llamado cubo.m que contenga las aristas correspondientes, definidas mediante los vrtices del cubo como una lnea poligonal continua (obsrvese que algunas aristas se dibujan dos veces). El fichero cubo.m define una matriz A cuyas columnas son las coordenadas de los vrtices, y cuyas filas son las coordenadas x, y y z de los mismos. A continuacin incluye la llamada a la funcin plot3: % fichero cubo. close all A=[0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0]; plot3(A(1,:)',A(2,:)',A(3,:)')

Jackeline Quinde Torres

Como ejemplo, se va a volver a dibujar la funcin picos (la correspondiente al fichero test3d.m visto previamente). Crese ahora el fichero picos.m con las siguientes sentencias:

x=[-3:0.2:3]; y=x; [X,Y]=meshgrid(x, y); Z=test3d(X,Y); figure(gcf), mesh(Z), pause(5), surf(Z)

Jackeline Quinde Torres

Jackeline Quinde Torres

MAPAS DE COLORES

Un mapa de colores se define como una matriz de tres columnas, cada una de las cuales contiene un valor entre 0 y 1, que representa la intensidad de uno de los colores fundamentales: R (red o rojo), G (green o verde) y B (blue o azul). La longitud por defecto de los mapas de colores de MATLAB es 64, es decir, cada mapa de color contiene 64 colores. Esta longitud puede modificarse como luego se ver.

Jackeline Quinde Torres

ELEMENTOS GENERALES: EJES, PUNTOS DE VISTA, LNEAS OCULTAS

Las funciones surf y mesh dibujan funciones tridimensionales en perspectiva. La localizacin del punto de vista o direccin de observacin se puede hacer mediante la funcin view, que tiene la siguiente forma: view(azimut, elev) donde azimut es el ngulo de rotacin de un plano horizontal, medido sobre el eje z a partir del eje x en sentido antihorario, y elev es el ngulo de elevacin respecto al plano (x-y). Ambos ngulos se miden en grados, y pueden tomar valores positivos y negativos (sus valores por defecto son -37.5 y 30). Tambin se puede definir la direccin del punto de vista mediante las tres coordenadas cartesianas de un vector (slo se tiene en cuenta la direccin): view([xd,yd,zd])

Jackeline Quinde Torres

También podría gustarte