Sei sulla pagina 1di 8

GRAFICOS 2-D

FUNCIN plot La funcin plot(), 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= 132453 plot(x)
5 4.5 4 3.5 3 2.5 2 1.5 1

1.5

2.5

3.5

4.5

5.5

El resultado de este comando es que se abre una ventana mostrando el grfico. Por defecto, los distintos puntos del grfico se unen con una lnea continua. Cuando a la funcin plot() se le pasa un nico vector real como argumento, dibuja en ordenadas el valor de los n elementos del vector frente a los ndices 1, 2, ... n del mismo en abscisas. Una segunda forma de utilizar la funcin plot() es con dos vectores como argumentos. En este caso los elementos del segundo vector se representan en ordenadas frente a los valores del primero, que se representan en abscisas. Veamos cmo se puede representar la funcin seno entre 0 y 10. Para empezar creemos una variable x que vaya de cero a 10: x=0:0.1:10; A continuacin, calculemos sin(x) almacenando el resultado en la variable y: y=sin(x); Para trazar el grfico, se emplea la funcin plot: plot(x,y) y se obtiene en otra ventana el grfico.

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 8 9 10

Vase por ejemplo cmo se puede dibujar un cuadriltero de esta forma (obsrvese que para dibujar un polgono cerrado el ltimo punto debe coincidir con el primero): x=[1 6 5 2 1]; y=[1 0 4 3 1]; plot(x,y)

4 3.5 3 2.5 2 1.5 1 0.5 0

1.5

2.5

3.5

4.5

5.5

GRAFICAS MULTIPLES.plot (x,y,w,z) donde las variables x,y,w,z son vectores. Al ejecutarse este comando , se traza la curva correspondiente a x versus y, y luego se traza en la misma grfica la curva correspondiente a w versus z. La funcin plot() permite tambin dibujar mltiples curvas introduciendo varias parejas de vectores como argumentos. En este caso, cada uno de los segundos vectores se dibuja en ordenadas como funcin de los valores del primer vector de la pareja, que se representan en abscisas. Obsrvese bien cmo se dibujan el seno y el coseno en el siguiente ejemplo: x=0:pi/25:6*pi; y=sin(x); z=cos(x); plot(x,y,x,z)

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12 14 16 18 20

El comando plot puede utilizarse tambin con matrices como argumentos. Se puede obtener una excelente y breve descripcin de la funcin plot() con el comando help plot. Se ha visto cmo la tarea fundamental de la funcin plot() era dibujar los valores de un vector en ordenadas, frente a los valores de otro vector en abscisas. En el caso general esto exige que se pasen como argumentos un par de vectores. En realidad, el conjunto bsico de argumentos de esta funcin es una tripleta formada por dos vectores y una cadena de 1, 2 3 caracteres que indica el color y el tipo de lnea o de marker. Podemos seleccionar los tipos de lnea, asimismo, podemos escoger distintos caracteres para indicar los puntos. En la tabla siguiente se pueden observar las distintas posibilidades.

Especificador Y M C R G B W K

Color de lnea Yellow Magenta Cyan Red Green Blue White Black

Caracteres . o x + * s d P h

Tipo de marca Puntos Crculos Marcas en x Marcas en + Marcas en * cuadrado diamante pentagrama hexagrama

Especificador Estilo de lnea Lneas continuas : Lneas a puntos -Lneas a trazos -. Lneas a barra-punto COMANDO SUBPLOT.- Una ventana grfica se puede dividir en m particiones horizontales y n verticales, con objeto de representar mltiples grficos en ella. Cada una de estas subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma general de este comando es: subplot(m,n,i) donde m y n son el nmero de subdivisiones en filas y columnas, e i es la subdivisin que se convierte en activa. Las subdivisiones se numeran consecutivamente empezando por las de la primera fila, siguiendo por las de la segunda, etc. Por ejemplo, la siguiente secuencia de comandos genera cuatro grficos en la misma ventana: x=0:pi/25:6*pi; y=sin(x); z=cos(x); w=exp(-x*.1).*y; v=y.*z; subplot(2,2,1), plot(x,y) subplot(2,2,2), plot(x,z) subplot(2,2,3), plot(x,w) subplot(2,2,4), plot(x,v)
1 0.5 0 -0.5 -1 0 5 10 15 20 1 0.5 0 -0.5 -1 0 5 10 15 20

1 0.5 0 -0.5 -1 0 5 10 15 20

0.5

-0.5

10

15

20

Para volver a la opcin por defecto basta teclear el comando: subplot(1,1,1) CONTROL DE LOS EJES.- Tambin en este punto MATLAB tiene sus opciones por defecto, que en algunas ocasiones puede interesar cambiar. El comando bsico es el comando axis. Por defecto, MATLAB ajusta la escala de cada uno de los ejes de modo que vare entre el mnimo y el mximo valor de los vectores a representar. Este es el llamado modo "auto", o modo automtico. Para definir de modo explcito los valores mximo y mnimo segn cada eje, se utiliza el comando: axis([xmin, xmax, ymin, ymax]) mientras que : axis(auto) devuelve el escalado de los ejes al valor por defecto o automtico. FUNCIONES GRFICAS 2D ELEMENTALES.- MATLAB dispone de 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 funciones son las siguientes: bar(x,y) en el eje x. Grfico de barras vertical, donde y representa las frecuencias, x define el intervalo

stem(x,y) Grfico de bastones verticales, donde y representa las frecuencias, x define el intervalo en el eje x. stairs(x,y) pie(x) loglog(x,y) Grafica una curva escalonada. Realiza el grfico de sectores relativo al vector x. Realiza una grfica cartesiana con escala logartmica en ambos ejes.

semilogx(x,y) idem con escala lineal en el eje de ordenadas y logartmica en el eje de abscisas. semilogy(x,y) idem con escala lineal en el eje de abscisas y logartmica en el eje de ordenadas. fill(x,y,c) Dibuja una regin poligonal cuyos vrtices son los elementos de los vectores columna x,y; el parmetro c contiene el color a graficar. Existen adems otras funciones orientadas a aadir ttulos al grfico, a cada uno de los ejes, a dibujar una cuadrcula auxiliar, a introducir texto, etc. Estas funciones son las siguientes: title('texto') aade un ttulo al dibujo xlabel('texto') aade una etiqueta al eje de abscisas. Con xlabel off desaparece ylabel('texto') aade una etiqueta al eje de ordenadas. Con ylabel off desaparece text(x,y,'texto') introduce 'texto' en el lugar especificado por las coordenadas x e y. grid activa la inclusin de una cuadrcula en el dibujo. Con grid off desaparece la cuadrcula CONTROL DE VENTANAS GRFICAS: FUNCIN figure Si se llama a la funcin figure sin argumentos, se crea una nueva ventana grfica con el nmero consecutivo que le corresponda. El valor de retorno es dicho nmero. Por otra parte, el comando figure(n) hace que la ventana n pase a ser la ventana o figura activa. Si dicha ventana no existe, se crea una nueva ventana con el nmero consecutivo que le corresponda (que se puede obtener como valor de retorno del comando). La funcin close cierra la figura activa, mientras que close(n) cierra la ventana o figura nmero n. El comando clf elimina el contenido de la figura activa, es decir, la deja abierta pero vaca. La funcin gcf devuelve el nmero de la figura activa en ese momento.

Para practicar un poco con todo lo que se acaba de explicar, ejectense las siguientes instrucciones de MATLAB, observando con cuidado los efectos de cada una de ellas en la ventana activa. El comando figure(gcf) (get current figure) permite hacer visible la ventana de grficos desde la ventana de comandos. x=[-4*pi:pi/20:4*pi]; plot(x,sin(x),'r',x,cos(x),'g') title('Funcin seno(x) -en rojo- y funcin coseno(x) -en verde-') xlabel('ngulo en radianes'), figure(gcf) ylabel('valor de la funcin trigonomtrica'), figure(gcf) axis([-12,12,-1.5,1.5]), figure(gcf) help axis

Funcin seno(x) -en rojo- y funcin coseno(x) -en verde1.5

1
valor de la funcin trigonomtrica

0.5

-0.5

-1

-1.5

-10

-5

0 ngulo en radianes

10

AADIR LNEAS A UN GRFICO YA EXISTENTE.- Existe la posibilidad de aadir lneas a un grfico ya existente, sin destruirlo o sin abrir una nueva ventana. Se utilizan para ello los comandos hold on y hold off. El primero de ellos hace que los grficos sucesivos respeten los que ya se han dibujado en la figura (es posible que haya que modificar la escala de los ejes); el comando hold off deshace el efecto de hold on.

FUNCIONES DE DOS VARIABLES


La evaluacin de una funcin de una variable, como f(x), implica calcular un vector de valores x, y luego calcular un vector correspondiente de valores de la funcin como se ilustra con las siguientes instrucciones: x = 0 : 0.1 : 5; f = 2*x.^2 3*x + 2; Para evaluar una funcin f(x,y) de dos variables, primero definimos una retcula bidimensional en el plano xy. A continuacin evaluamos la funcin en los puntos de la retcula para determinar puntos en la superficie tridimensional. Definimos una retcula bidimensional en el plano xy en MATLAB usando dos matrices. Una matriz contiene las coordenadas x de todos los puntos de la retcula, y la otra contiene las coordenadas y de todos los puntos de la retcula. La funcin meshgrid genera las dos matrices que definen la retcula subyacente para una funcin bidimensional. [x_grid, y_grid] = meshgrid (x,y) Genera dos matrices de tamao n x m, con base en los valores de los vectores x y y que contiene mvalores y n-valores, respectivamente. La matriz x_grid contiene los valores de x repetidos en cada fila, y la matriz y_grid contiene los valores de y repetidos en cada columna.

GRAFICAS 3-D
Hay varias formas de graficar una superficie tridimensional con Matlab. Presentaremos dos tipos de grficas: la grfica de malla y la grfica de superficie. Una grfica de malla tiene una cuadrcula abierta, mientras que una grfica de superficie tiene una cuadrcula sombreada. Los grficos de superficie permiten obtener representaciones densas de figuras tridimensionales y en especial de funciones de dos variables. El primer paso para representar una funcin de dos variables z=f(x,y) mediante su grfico de superficie es utilizar el comando meshgrid, que bsicamente define la matriz de puntos (X,Y) sobre los cuales se evala la funcin de dos variables para hacer su representacin grfica. El segundo paso es utilizar los comandos disponibles al efecto. mesh(x_pts, y_pts,z) Genera una grfica de cuadrcula abierta de la superficie definida por la matriz z. Los argumentos x_pts y y_pts pueden ser vectores que definen los intervalos de valores de las coordenadas x y y, o bien matrices que definen la retcula subyacente de coordenadas x y y. Genera una grfica de cuadrcula sombreada de la superficie definida por la matriz z. Los argumentos x_pts y y_pts pueden ser vectores que definen los intervalos de valores de las coordenadas x y y, o bien matrices que definen la retcula subyacente de coordenadas x y y.

surf(x_pts, y_pts,z)

Un mapa de contorno es en esencia un mapa de elevacin que contiene un grupo de lneas que conectan elevaciones iguales. Un mapa de contorno se genera a partir de datos de elevacin tridimensionales, y puede ser generado por Matlab usando matrices que definen el intervalo de coordenadas x y y y los datos de elevacin (coordenada z).

contour(x,y,z)

contour(x,y,z,v)

meshc(x_pts, y_pts,z)

Genera una grfica de contorno de la superficie definida por la matriz z. Los argumentos x y y son vectores que definen los intervalos de valores de las coordenadas x y y. El nmero de lneas de contorno y sus valores se escogen automticamente. Genera una grfica de contorno de la superficie definida por la matriz z. Los argumentos x y y son vectores que definen los intervalos de valores de las coordenadas x y y. El vector v define los valores que se usarn para las lneas de contorno. Genera una grfica de cuadrcula abierta de la superficie definida por la matriz z. Los argumentos x_pts y y_pts pueden ser vectores que definen los intervalos de valores de las coordenadas x y y, o pueden ser matrices que definen la retcula subyacente de coordenadas x y y. Adems, se genera una grfica de contorno debajo de la grfica de malla.

Potrebbero piacerti anche