Sie sind auf Seite 1von 32

Grficas

bidimensionales

y
tridimensionales
1

Funciones para grficos 2D


MATLAB tiene cuatro funciones bsicas para crear grficos 2D. Estas
funciones se diferencian principalmente por el tipo de escala que utilizan los
ejes de abscisas y de ordenadas.
Funciones

Descripcin

plot()

Crea un grfico a partir de vectores y/o columnas de matrices,


con escalas lineales sobre ambos ejes.

loglog()

Escala logartmica en ambos ejes.

semilogx()

Escala lineal en el eje de ordenadas y logartmica en el eje de


abscisas.

semilogy()

Escala lineal en el eje de abscisas y logartmica en el eje de


2
ordenadas

Ejemplo
5

La funcin plot() dibuja vectores:

4.5
4

x=[1 3 2 4 5 3]

3.5

plot(x)

3
2.5
2
1.5
1

1.5

2.5

3.5

4.5

5.5

La funcin plot() con dos vectores como argumentos:


x=[1 6 5 2 1]; y=[1 0 4 3 1];
plot(x,y)

4
3.5
3

ordenadas

2.5
2
1.5

abscisas

0.5
0

1.5

2.5

3.5

4.5

5.5

Ejemplo
La funcin plot() permite tambin dibujar mltiples curvas introduciendo
varias parejas de vectores como argumentos.
Dibujar el seno y el coseno como sigue:
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

10

12

14

16

18

20

Funcin figure
Funcin

Descripcin

figure

Se crea una nueva ventana grfica con el nmero consecutivo que le


corresponda.

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.

close

Cierra la ventana de la figura activa.

close(n)

Cierra la ventana o figura nmero n.

clf

Elimina el contenido de la figura activa, es decir, la deja abierta pero


vaca.
5

x=[-10:0.2:10]
y=sin(x);
close
grid
plot(x,y)

0.9

0.8

0.8

0.6

0.7

0.4

0.6

0.2

0.5

0.4

-0.2

0.3

-0.4

0.2

-0.6

0.1
0

-0.8
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

-6

-4

-2

10

0.8

0.6

0.6

0.4

0.4

0.2

0.2

-0.2

-0.2

-0.4

-0.4

-0.6

-0.6

-0.8
-1
-10

-8

0.8

close
plot(x,y)
grid

-1
-10

-0.8

-8

-6

-4

-2

10

-1
-10

-8

-6

-4

-2

10

Ttulos al grfico y cuadrcula


MATLAB tiene otras funciones para incluir informacin en los grficos, a cada
uno de los ejes, introducir textos, etc., tales funciones se presenta a
continuacin:
COMANDO

Descripcin

title('ttulo')

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.

gtext('texto')

Introduce texto con ayuda del ratn: el cursor cambia de forma y se espera un
clic para introducir el texto en esa posicin

grid [on,off]

Activa o desactiva una cuadrcula en la grfica.

Lneas y marcadores en la funcin plot

pentgono
hexgono

hold on

hold off

Hace que los grficos sucesivos respeten


los que ya se han dibujado en la figura.

Termina el efecto de hold on

Ejemplo

x=0:pi/25:6*pi;
y=sin(x);
z=cos(x);
hold on

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

-0.2

-0.2

-0.4

-0.4

-0.6

-0.6

-0.8

-0.8

-1

plot(y,bo)

20

plot(z,g+)

15

plot(x,m*)

10

20

40

60

80

100

120

140

160

-1

20

40

60

80

100

120

140

160

20

40

60

80

100

120

10
140

160

1
0.8
0.6
0.4
0.2
0

hold off

plot(y,m-.)

-0.2
-0.4
-0.6
-0.8

-5

20

40

60

80

100

120

140

160

-1

Ejemplo
x=[1:10]
y=[58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.5 ];
plot(x,y, 'k:o')
plot(x,y, 'k:o',x,y*2, 'r--x' ,x,y/2, '-b')
legend('linea 1', 'linea 2', 'linea 3' )
text(1,100, ' Etiquete grficas con el comando text')
xlabel('Mi etiqueta x'), ylabel ('Mi etiqueta y')
title('Ejemplo de grfica para este curso')
axis([0, 11, 0,200])
Ejemplo de grfica para este curso
200
linea 1
linea 2
linea 3

180
160

Mi etiqueta y

140
120
100

Etiquete grficas con el comando text

80
60
40

11

20
0

5
6
Mi etiqueta x

10

11

Ejemplo. Grficas lineales y logartmicas


y=5x2

12

Ejemplo
x1=0:1.5:100;
y1=sin(x1); z1=cos(x1);
w1=exp(-x1*0.1).*y1;
v1=y1.*z1;
subplot(2,2,1), plot(x1,y1, 'b-')
subplot(2,2,2), plot(x1,z1, 'gx')
subplot(2,2,3), plot(x1,w1, 'm*')
subplot(2,2,4), plot(x1,v1, 'yo')
1

0.5

0.5

-0.5

-0.5

-1

50

100

-1

50

100

0.5

0.5
0

-0.5
-1

13
0

50

100

-0.5

50

100

Ejercicio
Una grfica de sen(x) y ex dibujadas en la misma figura, utilizando en la
segunda grfica doble eje y.
600
400

x=0:pi/20:2*pi;
y1=sin(x); y2=exp(x);
subplot(2,1,1)
plot(x,y1,x,y2)
subplot(2,1,2)
plotyy(x,y1,x,y2)

200
0
-200

1000

500

-1

0
7

14

funciones grficas 2D
Funcin

Descripcin

bar()

crea diagramas de barras

stairs()

funcin anloga a bar() sin lneas internas

hist()

dibuja histogramas de un vector

rose()

histograma de ngulos (en radianes)

pie()

dibuja un conjunto de valores en un grfico de pastel

15

Ejemplo
Genrese un vector con 100 valores
aleatorios entre 0 y 1.

x=[rand(1,100)];
plot(x)

10

10

0
0

10

20

30

40

50

60

70

80

90

100

10

20

40

60

80

100

120

16

9
14
8
12

bar(x)
stairs(x)

7
6

10

4
6
3
4
2

hist(x)

1
0

10

20

30

40

50

60

70

80

90

100

12

hist(x,20)

rose(y)

10

3
60

10

2
150

30

y=(rand(1,20)-0.5)*2*pi;

90
120

180

210

10

330

240

300
270

16

Ejercicio. Grficas de barras y de pastel


clear, clc
x=[1 2 5 4 8];
y=[x;1:5]
subplot(2,2,1)
bar(x),title(Grfica de barras del vector x)
subplot(2,2,2)

bar(y),title(Grfica de barras de la matriz y)


subplot(2,2,3)
bar3(y),title(Grfica de barras tridimensional)
subplot(2,2,4)
pie(x),title(Grfica de pastel de x)

17

Grfica de barras del vector x

Grfica de barras de la matriz y

Grfica de barras tridimensional

Grfica de pastel de x
5%
10%

10

40%

25%

0
1

2
1

5
20%

18

Ejercicio. Grficas polares


La funcin polar permite graficar con coordenadas polares.
Defina un arreglo an con valores de 0 hasta 2pi, en pasos de
0.01pi, obtener el arreglo r=5cos(4*an) y graficar.
an=0:0.01*pi:2*pi;

r=5*cos(4*an);
polar(an,r)

19

Ejercicio. Grficas polares


Definir un arreglo angulo con valores desde pi/2 hasta 4.8pi,
en intervalos de 4/5pi, obtener el arreglo de unos llamado w
con seis valores y graficar.

20

Grfica de funciones
La funcin fplot permite graficar una funcin sin tener las parejas de datos
(x, y) definidas.
Ejemplo:
fplot(sin(x),[-2*pi,2*pi])

21

Grficas tridimensionales
Para los grficos 3D la funcin ms utilizada es plot3, cuyas coordenadas
estn contenidas en 3 vectores unindolos mediante una lnea continua
(por defecto) o mediante marcadores:
plot3(x,y,z)

Se puede incluir una cadena de 1, 2 3 caracteres para determinar el color,


los marcadores y el tipo de lnea:
plot3(x,y,z,s)

Tambin se pueden utilizar tres matrices X, Y y Z del mismo tamao:


plot3(X,Y,Z)

en cuyo caso se dibujan tantas lneas como columnas tienen estas 3


matrices.
22

funciones grficas 3D
Funciones

Descripcin

23

Ejemplo
Sea z una matriz de mxn. Los valores en la matriz representan el eje z en la
grfica. Los vectores x y y los ejes respectivos.
clear
clc

20

x=linspace(1,50,10)
15

z= [1 2 3 4 5 6 7 8 9 10;

2 4 6 8 10 12 14 16 18 20;

eje z

y=linspace(500,1000,3)

10

3 4 5 6 7 8 9 10 11 12];
mesh(x,y,z)
xlabel ('eje x')

0
1000
50

800

40

ylabel ('eje y')


zlabel ('eje z')

30

600
eje y

20
400

10
0

eje x

24

Ejemplo continua
20

surf(z)

o surf(x,y,z)

15

plano facetado

10

0
3
2.5

10
8

6
4

1.5

shading interp

20

15

shading flat

10

0
3
2.5

10
8

6
4

1.5
1

2
0

25

Ejemplo continua
Se usa la funcin meshgrid para crear las matrices X y Y a partir de los
vectores x y y. Entonces se calculan los valores en Z.
clear clc
x=[-2:0.2:2];
y=[-2:0.2:2];
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2);
subplot(2,2,1)
mesh(X,Y,Z)
title('Grfica de malla'),
xlabel('eje x'),
ylabel('eje y'),
zlabel('eje z')
subplot(2,2,2)
surf(X,Y,Z)
title('Grfica de superficie'),
xlabel('eje x'),
ylabel('eje y'),
zlabel('eje z')

subplot(2,2,3)
contour(X,Y,Z)
title('Grfica de contorno'),
xlabel('eje x'), ylabel('eje y'),
zlabel('eje z')
subplot(2,2,4)
surfc(X,Y,Z)
title('Combinacin de
grfica de superficie y de
contorno'),xlabel('eje x'),
ylabel('eje y'),
zlabel('eje z')

26

Ejemplo. Grficos 3D
Grfica mesh

Grfica de superficie

0.5

eje z

eje z

0.5

-0.5
2

-0.5
2
2

0
-2

eje y

-2

eje y

eje x

0
-2

-2

eje x

Combinacin de grficas de superficie y de contorno

Grfica de contorno
2

0.5

eje z

eje y

-0.5
2

-1

0
-2
-2

-1

0
eje x

eje y

0
-2 -2

eje x

27

Ejemplo
Grfica de contorno 3D

0.4

0.2

eje z

close
contour3(X,Y,Z)
title('Grfica de contorno 3D'),
xlabel('eje x'), ylabel('eje y'),
zlabel('eje z')

-0.2

-0.4
2
1

2
1

-1
eje y

-1
-2

-2

eje x

28

Ejemplo
1

u=-8:0.5:8; v=u;
[U,V]=meshgrid(u,v);
R=sqrt(U.^2+V.^2)+eps;
W=sin(R)./R;
mesh(W)

0.5

-0.5
40
30

40
30

20

20

10

10
0

figure

surf(W)
0.5

-0.5
40
30

40
30

20

20

10

10
0

29

Graficacin simblica
Matlab tiene un conjunto de funciones que permiten graficar expresiones
simblicas:
ezplot

grafica una funcin, es la ms bsica

ezmesh

grfica de malla

ezmeshc

grfica combinada de malla y contorno

ezsurf

grfica de superficie

ezsurfc

grfica combinada de superficie y contorno

ezcontour

grfica de contorno

ezcontourf

grfica de contorno lleno

ezplot3

grfica de curva tridimensional

ezpolar

grfica de coordenadas poolares

30

Ejemplo
y1=sym(sin(x))
y2=sym(sin(2*x))
y3=sym(sin(3*x))
ezplot(y1)
hold on
ezplot(y2)
ezplot(y3)

31

Ejemplos
z1=sym(3*(1-x)^2*exp(-(x^2)-(y+1)^2))
z2=sym(- 10 * (x/5 x^3 y^5)*exp(-x^2-y^2))
z3=sym(-1/3*exp(-(x+1)^2-y^2))
z=z1+z2+z3

subplot(2,2,1)
ezmesh(z), title(ezmesh)
subplot(2,2,2)
ezmeshc(z), title(ezmeshc)
subplot(2,2,3)
ezsurf(z), title(ezsurf)
subplot(2,2,4)
ezsurfc(z), title(ezsurfc)
32

Das könnte Ihnen auch gefallen