Vous êtes sur la page 1sur 8

Grficos bidimensionales.

La instruccin plot es la primera que hemos de aprender a manejar. Si y es un vector, la


orden plot(y) representa los valores de las componentes de dicho vector respecto de su
nmero de componente, es decir, los puntos (k,y(k)) para k variando entre uno y la
longitud del vector, unidos por un segmento recto. Por ejemplo, al ejecutar las
siguientes rdenes se obtiene la grfica representada en la figura 2.1
y=[2 3 6 -1 0 5 5 4 -1];
plot(y)

Figura 2.1: Representacin de un vector usando la orden plot.


Dependiendo de la versin de MATLAB utilizada, la figura creada ocupar una
ventana, que podr continuar en pantalla mientras vamos introduciendo nuevas
instrucciones, o bien llenar la pantalla completa y desaparecer la lnea de comandos.
Para poder seguir trabajando en este caso necesitaremos pulsar, una vez analizada la
figura, la tecla

Las instrucciones bar y stairs sirven para representar grficamente un vector en funcin
de sus componentes mediante barras y escaleras respectivamente. Sus formatos son
bar(x) y stairs(x), y slo admiten un vector como argumento.
Ejercicio: Representar un vector de 10 componentes aleatorias mediante las tres
instrucciones comentadas hasta ahora.
Rpta:
subplot(211)
x=rand(10);
stairs(x)

subplot(212)
x=rand(5);
bar(x)

Si en vez de utilizar un vector como argumento de la orden plot usamos una matriz,
entonces dicha instruccin considera que queremos representar cada columna de la
matriz como vectores diferentes. De ese modo, aparece una figura en la que, con
distintos colores, se nos muestran simultneamente las curvas que obtendramos al
representar cada uno de esos vectores por separado. Por ejemplo, al escribir las
instrucciones

Y=magic(3);
plot(Y)

obtenemos la figura 2.2.

Figura 2.2: Representacin de una matriz mediante la instruccin plot.


Pero vayamos ya a la principal utilidad de plot, el dibujo de grficas de funciones reales
de variable real. En el siguiente ejemplo podemos ver la tcnica habitual para el dibujo
de funciones. Primero hay que definir un vector, x, que represente un mallado del
intervalo donde queremos representar la funcin. El paso siguiente es crear otro vector,
y, con las imgenes de dichos puntos. Para ver la grfica basta con escribir plot(x,y).

x=linspace(0,6*pi,101);
y=(x.

2).*(sin(x));

plot(x,y)

Figura 2.3: Representacin de la grfica de la funcin y =x^2 en el intervalo

Precisemos ms el funcionamiento de la instruccin plot. Si x e y son dos vectores de


igual longitud entonces plot(x,y) representa la grfica formada por los puntos
(x(k),y(k)), con k variando entre uno y la longitud de dichos vectores. En otras
palabras, la instruccin plot(x,y) representa el vector y frente al x. Por ello podemos
representar curvas ms complicadas que simples grficas de funciones. Por ejemplo,
podemos dibujar una curva cerrada en forma paramtrica de la siguiente forma.

t=0:0.1:2*pi;
x=cos(t);
y=3*sin(t);
plot(x,y);

Si queremos representar varias grficas a la vez, basta utilizar la expresin


plot(x1,y1,x2,y2,
,xn,yn), donde cada par (x1,y2), (x2,y2),..., (xn,yn), corresponde a
una curva distinta. Tambin es posible utilizar, con el mismo fin, la expresin plot([x1'
x2' ... xn'],[y1' y2' ... yn']). Las siguientes instrucciones dan lugar a la figura 2.4.

x=linspace(0,6*pi,101);
y1=(x.

2).*(sin(x));

y2=2*(x.
y3=(x.

2).*(sin(x));

2).*(cos(x));

y4=2*(x.

2).*(cos(x));

plot(x,y1,x,y2,x,y3,x,y4)

Figura 2.4: Representacin de varias grficas a la vez.


Otra forma de representar varias curvas a la vez cuando todas estn definidas en el
mismo intervalo, como en el ejemplo anterior, es representar una matriz formada por los
vectores y1, y2,..., yn, como columnas o filas, indistintamente, frente al vector x.
Podemos llegar tambin a la figura 2.4 escribiendo las siguiente instruccin de dibujo.

plot(x,[y1;y2;y3;y4])

Ejercicio: Representa las siguientes funciones en los intervalos considerados, primero


por separado y despus en una misma figura.

1.
2.

en

.
en

Ejercicio: Representa la siguiente funcin definida a trozos.

Ejercicio: Representa las siguientes curvas definidas paramtricamente.

1.
2.

para

para

Ejercicio: Consulta la ayuda de la orden plot y observa algunas otras posibilidades


grficas de la misma. >Qu sucede si el argumento de dicha instruccin es un vector de
nmeros complejos?
Ejercicio: La orden fplot sirve tambin para dibujar funciones. Analiza con la ayuda las
diversas opciones que tiene dicha instruccin y representa algunas funciones
elementales.

Ejercicio: Obtn la grfica de la funcin

en

. >Observas algo extrao?

Hay otras instrucciones, loglog, semilogx y semilogy, cuyo formato de escritura es


igual que el de plot, y su nica diferencia estriba en que la escala utilizada a la hora de
realizar los grficos es, respectivamente, logartmica en ambos ejes, logartmica en el
eje X o logartmica en el eje Y. En el siguiente ejemplo vemos como la grfica de
log(x) no es ms que una recta si utilizamos escala logartmica en el eje X.

x=linspace(0.1,5,100);
plot(x,log(x))
semilogx(x,log(x))

Ejercicio: Comprueba que la grfica de la funcin


tomamos escala logartmica en el eje
.

no es ms que una recta si

La ltima instruccin que vamos a comentar en esta seccin sirve para realizar grficas
de funciones dadas en coordenadas polares. La expresin polar(theta,rho) representa la
curva definida en coordenadas polares por el vector de radios rho frente al vector de
ngulos theta. Por ejemplo, las rdenes siguientes sirven para dibujar una cardioide.

ang=linspace(0,2*pi,100);
rad=1-sin(ang);
polar(ang,rad)

Un hecho importante que tenemos que tener en cuenta es que la instruccin polar
admite radios negativos. Con las siguientes rdenes podemos ilustrar este hecho.

ang=linspace(0,2*pi,100);
rad=1-2*cos(ang);
polar(ang,rad)

Ejercicio: Dibuja una circunferencia de radio 1.

Ejercicio: La espiral de Arqumedes viene dada, para


, por la expresin
polar
, donde es un nmero real positivo. Representa la espiral de
Arqumedes para a=1 en el intervalo
. Comprueba grficamente que la
distancia entre espiras consecutivas se mantiene constante.

Subdivisin de la pantalla.
Mediante la orden subplot es posible dividir la pantalla en varias partes, en las que
podemos realizar grficos distintos. El formato con el que se utiliza dicha instruccin es
subplot(mnp), donde m y n denotan, respectivamente, el nmero de filas y el nmero
de columnas en que se divide la pantalla, y p es el recuadro correspondiente de dicha
matriz. El nmero p se mide desde la esquina superior izquierda hacia la inferior
derecha, contando como si la matriz de grficos fuese un vector fila formado por las
filas de la matriz colocadas sucesivamente. Con el siguiente ejemplo obtenemos la
figura 2.6.
x=linspace(0,20,100);
y1=sin(x);
y2=cos(x);
y3=x;
y4=x.

2;

subplot(221);plot(x,y1)
subplot(222);plot(x,y2)
subplot(223);plot(x,y3)
subplot(224);plot(x,y4)

Figura 2.6: Varios grficos en una nica figura.


Una vez realizado el grfico deseado, hemos de escribir la orden subplot sin
argumentos con el fin de volver a tener toda la pantalla para un nico grfico. Si esto no
se hace, cada dibujo que se realice a partir de ese momento se situar en uno de los
subgrficos creados previamente.
Ejercicio: Muestra las grficas de las funciones exponencial y logaritmo en una misma
pantalla, situando una sobre la otra.
Ejercicio: Aade un ttulo a cada dibujo del ejemplo previo, en el que aparezca el
nombre de la funcin representada.

Vous aimerez peut-être aussi