Sunteți pe pagina 1din 9

OpenStax-CNX module: m34408

Grficos en Matlab

Miguel Angel Fernandez


This work is produced by OpenStax-CNX and licensed under the
Creative Commons Attribution License 3.0

Abstract
Grcos en Matlab

1 Grcos en Matlab.
MATLAB dispone de varios directorios de funciones especcamente dedicados al tratamiento de grcos.
Gracias a ellos podremos crear grcos bidimensionales, tridimensionales y modicarlos. Aunque aqu tan
solo veremos una parte, para profundizar en el manejo de grcos recomendamos al lector que consulte la
ayuda de los directorios

graphics, graph2d, graph3d y specgraph.

1.1 Grcos bidimensionales


Dados dos vectores x e y de la misma longitud, con la orden
plot(x,y)

x contra los elementos


y=x^5 en el intervalo [-1,1] basta con introducir la

se abrir la pantalla grca y se realizar un grco plano de los elementos de

de

y.

As, si queremos dibujar la grca de la funcin

siguiente secuencia de instrucciones:


x=-1:0.0001:1; y=x.^5; plot(x,y)
Se generar entonces el grco

Version 1.1: May 13, 2010 10:48 am +0000


http://creativecommons.org/licenses/by/3.0/

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 1

x representa la particin uniforme del intervalo [-1,1] con paso 0.0001 y el vector y representa
x^5 (obsrvese que hemos necesitado la operacin coordanada a coordenada .^
para elevar al vector x a la 5 potencia) en los puntos de la particin. MATLAB representar en el grco
los puntos del vector y y los unir mediante rectas. Pruebe el lector a teclear
El vector

los valores de la funcin

x=-1:0.5:1; y=x.^5; plot(x,y)


Si pulsamos una tecla cualquiera saldremos de la pantalla grca, aunque sta no se cerrar y si escribimos
shg o gure(gcf )
volveremos a dicha pantalla.
De igual modo se pueden hacer grcos de curvas denidas paramtricamente. Pruebe el lector a escribir
las instrucciones
t=0:.001:2*pi; x=cos(t); y=sin(t); plot(x,y)
grid

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 2

y podr observar las siguientes grcas


En la segunda grca se aprecia como la instruccin
grid
ha dibujado un cuadriculado sobre la grca que tenamos.
Ahora bien, la grca parece ms la de una elipse que la de un crculo.

Esto se debe a la escala que

MATLAB establece en sus grcas. Si queremos asegurar que la escala de ambos ejes sea la misma escibimos:
axis square
y volviendo a la pantalla grca veremos como sta ha cambiado:

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 3

Ms en general, para modicar la escala empleada en los ejes, si tenemos un vector

c=[x min ,x max ,y min ,y max ]


entonces con la instruccin

axis(c)

se establecer el escalado con los lmites que hemos indicado mediante el vector
darle un valor concreto al vector c (

xmax, ymin, etc...).

c.

Pruebe el lector a

Si escribimos ahora

axis
volveremos al autoescalado.
Para mejorar la presentacin de nuestra grca podemos usar los siguientes comandos (ver sus ayudas

helpgraphics para conocer ms funciones):


legend(`texto_leyenda') leyenda del grco
title('nombre_ttulo ') ttulo del grco
xlabel('texto ') comentario en el eje x
ylabel('texto ') comentario en el eje y
gtext('texto ') texto posicionado interactivamente
text(x ,y ,'texto ') texto posicionado en las coordenadas (x,y)

para ms informacin y

As, por ejemplo, con

gtext('Me gusta mi grca')


se posicionar una cruz que podremos mover sobre el grco con las echas o el ratn. Cuando pulsemos
cualquier tecla el texto se posicionar donde est la cruz.
Se pueden modicar los tipos de lnea, de punto y los colores que MATLAB utiliza por defecto en las
grcas. Veamos algunas variaciones:
Tipos de lnea: slido (-), a trazos (), puntos (:), punto y trazo(-.)
Tipos de puntos: punto (.), diamantes (d), estrella (*), crculo (o), equis (x), ...
Colores: amarillo (y), verde ( g), cyan (c), azul (b), negro (k), rojo (r), ...
Estas modicaciones se introducen entre comillas despus de los vectores a dibujar y todas las modicaciones se escriben juntas. Pruebe el lector a escribir las siguientes instrucciones:
x=0:.01:2; y=sin(x.^2); plot(x,y,'d')

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

x=0:.01:2; y=sin(x.^2); plot(x,y,'rv:')


Los dibujos mltiples (varias funciones representadas en una nica grca) se pueden obtener de tres
formas. La primera se ilustra con el siguiente ejemplo:
x=0:.1:2*pi;y1=sin(x);y2=sin(2*x); plot(x,y1,'b-.',x,y2,'k')

Figure 4

Una segunda forma es formando una matriz Y conteniendo los valores funcionales como columnas. As,
con la siguiente secuencia de instrucciones veremos las grcas de las funciones

y=cos(x), y=1/2:

x=0:.01:2*pi;Y=[cos(x)',(ones(1,size(x,2))/2)'];plot(x,Y)
Por ltimo, tambin se puede hacer con el comando
hold o hold on
Esta instruccin hace que un nuevo grco se aada al que haba en la pantalla grca en lugar de
reemplazarlo. Si escribimos nuevamente

hold o hold o

entonces cada nuevo grco reemplazar al anterior

(este es el modo por defecto). Pruebe el lector a escribir las siguientes instrucciones:
x=-pi:.05:pi;y=sin(x);plot(x,y)

Figure 5

hold
x=-pi:.05:pi;y=cos(x);plot(x,y,'ro')
text(-2.5,0.6,'y=cos(x)')
text(2.7,0.6,'y=sin(x)')

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 6

En MATLAB es posible visualizar hasta cuatro grcos en la misma ventana. Por ejemplo:

Figure 7

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Esta pantalla se puede producir con la siguiente secuencia de instrucciones:


subplot(2,2,1)
x=-pi:.01:pi; y=sin(x); plot(x,y)
title('Figura n1: Grca de sen(x)')
subplot(2,2,2)
x=-pi:.01:pi; y=sin(2*x); plot(x,y)
title('Figura n2: Grca de sen(2*x)')
subplot(2,2,3)
x=-pi:.01:pi; y=sin(4*x); plot(x,y)
title('Figura n3: Grca de sen(4*x)')
subplot(2,2,4)
x=-pi:.01:pi; y=sin(8*x); plot(x,y)
title('Figura n4: Grca de sen(8*x)')
Con la instruccin
subplot(m,n,h)
la pantalla grca se subdivide en una matriz de m por n pequeas pantallas y considera la h-sima
pantalla (de las m x n que hay) como la actual. As, con la orden
subplot(2,2,1)
le indicbamos que crease una matriz de 2 por 2 "subpantallas" y que desebamos trabajar en la primera
de las cuatro. A continuacin dibujamos una grca y le pusimos ttulo y escribimos
subplot(2,2,2)
para comenzar a trabajar en la segunda de las cuatro subpantallas.
Observe el lector en el ejemplo que primero se dibuja la grca y despus se aaden textos, ttulos, ejes,
etc...

1.2 Imprimir grcos.


La forma ms sencilla de obtener una copia de la pantalla grca es usar la instruccin
print
Basta con este comando para que la impresora produzca una copia en alta resolucin de la pantalla
grca actual. Consltese la ayuda

help print para conocer los parmetros que pueden usarse.

1.3 Grcos en el portapapeles.


Con MATLAB podemos copiar el contenido de la ventana grca en el portapapeles y despus pegar dicho
contenido en cualquier programa que lo permita (as hemos hecho los grcos de este manual). Para copiar su
contenido en el portapapeles seleccionaremos

copy gure del men Edit de la ventana grca y en adelante

podremos trabajar con el contenido de la ventana como lo haramos con cualquier objeto del portapapeles,
pegndolo donde sea necesario.

1.4 Grcos tridimensionales.


Veremos 3 funciones que nos permiten en MATLAB dibujar grcos en 3 dimensiones:

mesh, plot3 y surf.

Los grcos de malla de supercies tridimensionales se hacen con la funcin


mesh(z)
donde

z es una matriz. La supercie de malla est denida por las coordenadas z de los puntos sobre un

cuadriculado rectangular en el plano XY. Intntelo con


t=[0:.01:pi;pi:.01:2*pi];mesh(sin(t))
Junto con

mesh se puede hacer usar la funcin meshgrid.

Con ella se dene la cuadrcula sobre la que

dibujaremos la grca de la funcin.Veamos, por ejemplo, la grca de la funcin silla de montar en el


intervalo

[-pi,pi]x[-pi,pi]

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 8

Esta grca se ha conseguido con las instrucciones


[x y]=meshgrid(-pi:.1:pi, -pi:.1:pi);
z=x.^2-y.^2;
mesh(x,y,z)
Con la funcin

surf

conseguiremos dibujar supercies tridimensionales en color. As, por ejemplo, pode-

mos ver la esfera tridimensional con:


[X,Y,Z]=sphere(40);
surf(X,Y,Z);
axis square

http://cnx.org/content/m34408/1.1/

OpenStax-CNX module: m34408

Figure 9

Por ltimo, la funcin

plot3d es la versin tridimensional de plot.

una espiral:
t=0:.1:6*pi;plot3(sin(t),cos(t),t)

Figure 10

http://cnx.org/content/m34408/1.1/

Veamos un ejemplo de cmo dibujar

S-ar putea să vă placă și