You are on page 1of 31

Escuela Superior Politcnica de

Chimborazo
Facultad de Informtica y Electrnica
Herramientas Eda
Graficas en 2 y 3 D
Eduardo Morales
Juan Guaranga

Objetivo:
PRESENTAR MATLAB COMO UNA HERRAMIENTA AUXILIAR
PARA EL ANLISIS Y SOLUCIN DE PROBLEMAS.
SELECCIONANDO
Y
ADECUANDO
LAS
DISTINTAS
FUNCIONES A LAS NECESIDADES PARTICULARES DE
CURSOS DEL DEPARTAMENTO.

LAS INSTRUCCIONES BSICAS QUE UTILIZA MATLAB


PARA DIBUJAR LA GRFICA DE UNA FUNCIN DE
UNA VARIABLE SON LOS SIGUIENTES:

Grficos 2D y 3D

Funciones grficas 2D y 3D elementales

2D: plot() crea un grfico a partir de vectores con escalas


lineales sobre ambos ejes,
>> plot(X,Y,opcin) (opcin: permite elegir color y trazo de la curva)

hold on: permite pintar ms grficos en la misma figura (se


desactiva con hold off)
grid activa una cuadrcula en el dibujo. Escribiendo de
nuevo grid se desactiva.

2D: 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 abscisas y
logartmica en ordenadas

Ejemplo: main_dibujos.m, y ver en Demos: Graphics

Grficos 2D y 3D

Funciones grficas 2D y 3D elementales

2D: subplot(n,m,k) subdivide una ventana grfica se puede


en m particiones horizontales y n verticales y k es la
subdivisin que se activa.

2D: polar(ngulo,r) para pintar en polares

2D: fill(x,y,opcin) dibuja una curva cerrada y la rellena


del color que se indique en opcin

3D: plot3 es anloga a su homloga bidimensional plot.


plot3(X,Y,Z, opcin)

Grficos 2D y 3D
Eleccin de la escala de los ejes

axis([x0 x1 y0 y1]) (2D), axis([x0 x1 y0 y1 z0 z1]) (3D)

axis auto: devuelve la escala a la de defecto

axis off: desactiva los etiquetados de los ejes desapareciendo los ejes,
sus etiquetas y la malla, axis on: lo activa de nuevo

axis equal: los mismos factores de escala para los dos ejes

axis square: cierra con un cuadrado la regin delimitada por los ejes de
coordenadas actuales.

Para elegir las etiquetas que aparecen en los ejes:

set(gca,

XTick,-pi:pi/2,pi) %gca:get current axis


set(gca, XTicklabel,({-pi,-pi/2,0,pi/2,pi})

Grficos 2D y 3D
Funciones para aadir ttulos a la grfica

title('ttulo') aade un ttulo al dibujo. Para incluir en el texto el


valor de una variable numrica es preciso transformarla
mediante :

int2str(n)

convierte el valor de la variable entera n en carcter


num2str(x) convierte el valor de la variable real o compleja x
en carcter. Ejemplo: title(num2str(x))

xlabel(texto) aade una etiqueta al eje de abscisas. Con


xlabel off desaparece. Lo mismo ylabel(texto) o zlabel(texto)

text(x,y,'texto') introduce 'texto' en el lugar especificado por


las coordenadas x e y. Si x e y son vectores, el texto se repite
por cada par de elementos.

gtext('texto') introduce texto con ayuda del ratn.

Grficos 2D y 3D
Funciones de Matlab para grficos 2D y 3D

Imprimir grficos: Print (botn File en ventana grfica)

Guardar grficos: Save (botn File en ventana grfica): Se crea


un fichero .fig que podr volver a editarse y modificarse

Exportar grficos: Export (botn File en ventana grfica)

figure(n): Llamar una nueva figura o referirnos a una figura ya


hecha

close all borra todas las figuras, close(figure(n)) una en


concreto

Ejercicio I

Representar las funciones:


y1= sin(3 x)/ex
y2=cos(3 x)/ex
con x variando entre 0 y 3 ,obteniendo una nica figura de la forma:

Grficos 2D y 3D
Representacin grfica de superficies

Creacin de una malla a partir de vectores [X,


Y]=meshgrid(x,y)

Grfica de la malla construida sobre la superficie Z(X,Y):


mesh(X,Y,Z), meshc(X,Y,Z) (dibuja adems lneas de nivel
en el plano z=0)

Grfica de la superficie Z(X,Y): surf(X,Y,Z), surfc(X,Y,Z)

pcolor(Z) dibuja proyeccin con sombras de color sobre el


plano (la gama de colores est en consonancia con las
variaciones de Z)

contour(X,Y,Z,v) y contour3(X,Y,Z,v) generan las lneas de


nivel de una superficie para los valores dados en v. Para
etiquetar las lneas, primero cs=contour(Z) (para saber los
valores del contorno) y luego clabel(cs) o directamente
clabel(cs,v)

Grficos 2D y 3D
Representacin grfica de superficies
Diferentes formas de representar los polgonos coloreados:
shading flat: sombrea con color constante para cada
polgono.
shading interp: sombrea calculado por interpolacin de
colores entre los vrtices de cada polgono
shading faceted: sombreado constante con lneas negras
superpuestas (opcin por defecto)

hidden off (desactiva la desaparicin de lneas escondidas),


hidden on (lo activa)

Manipulacin de grficos
view(azimut, elev), view([xd,yd,zd])
rotate(h,d,a) o rotate(h,d,a,o), h es el objeto, d es un
vector que indica la direccin, a un ngulo y o el origen
de rotacin
En ventana grfica: View (camera toolbar)

Grficos 2D y 3D
Transformacin de coordenadas

[ang,rad]=cart2pol(x,y), de cartesianas a polares

[ang,rad,z]=cart2pol(x,y,z), de cartesianas a cilindricas

[x,y]=pol2cart(ang,rad), de polares a cartesianas

[x,y,z]=pol2cart(ang,rad,z), de cilindricas a cartesianas

[angx,angz,rad]=cart2sph(x,y,z), de cartesianas a
esfericas

[x,y,z]=aph2cart(angx,angz,rad), de esfericas a
cartesianas

Grficos 2D y 3D

Creacin de pelculas

Una pelcula se compone de varias imgenes (frames)

getframe se emplea para guardar todas esas imgenes.


Devuelve un vector columna con la informacin necesaria
para reproducir la imagen que se acaba de representar, por
ejemplo con la funcin plot. Esos vectores se almacenan en
una matriz M.

movie(M,n,fps) representa n veces la pelcula almacenada


en M a una velocidad de fps imgenes por segundo
X=0:0.01:2*pi;
for j=1:10
plot(x,sin(j*x)/2)
M(j)=getframe;
end
movie(M,4,6)

Grficas xy Sencillas
Se explicar la graficacin xy sencilla con un ejemplo. Suponga que
queremos graficar la informacin resultante de un experimento:
Ensayo

Distancia

58.5

63.8

64.2

67.3

71.5

88.3

90.1

90.6

89.5

10

90.4

Grficas xy Sencillas

Almacenamos las dos columnas en vectores de datos:


x= [1 2 3 4 5 6 7 8 9 10];
y= [58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4];
Para graficar los datos:
plot(x,y)

Grficas xy Sencillas

Grficas xy Sencillas

Para agregar informacin a la grfica:


title(Experimentos de Laboratorio)
xlabel(Ensayo)
ylabel(Distancia, m)
grid on
Note las diferencias en las grficas.

Grficas xy Sencillas

Grficas Lineales y Logartmicas


Los comandos de Matlab para generar grficas lineales y
logartmicas de los vectores x y y son los siguientes:
semilogx(x,y) Genera una grfica de los valores x y y
usando una escala logartmica para x y una escala lineal
para y.
semilogy(x,y) Genera una grfica de los valores x y y
usando una escala logartmica para y y una escala lineal
para x.
loglog(x,y) Genera una grfica de los valores x y y
usando una escala logartmica tanto para x como para y.

Grficas Mltiples
Para generar curvas mltiples en la misma grfica se
usan mltiples argumentos en un comando de
graficacin,
plot(x,y,w,z)
donde las variables x, y, w y z son vectores. El comando
traza la curva correspondiente a x vs y, y luego w vs z.
Matlab selecciona diferentes tipos de lnea para distinguir
las lneas.

Grficas Mltiples
Otra forma es graficar una matriz con columnas
mltiples. Cada columna se graficar contra un vector x.
x= 0:0.1:5;
w= x;
z= w.^2 - 0.9*x +7;
f(1,:)= x.^2 - 3*x + 2;
f(2,:)= 2*x.^2 + x -3;
subplot(2,1,1)
plot(x,f(1,:),w,z),title('Grafica con dos curvas:plot(x,f(1,:),w,z)')
subplot(2,1,2)
plot(x,f), title('Grafica de multiples funciones:plot(x,f)')

Grficas Mltiples

Estilo de Lneas y Marcas


El comando plot(x,y) genera una grfica de lneas que
conecta los puntos representados por los vectores.
Podemos seleccionar otros tipos de lnea y/o de
puntos. La siguiente tabla muestra algunas opciones:
Tipo de lnea

Indicador

Tipo de punto

Indicador

continua

punto

guiones

--

ms

punteada

estrella

guiones-puntos

-.

crculo

marca

Estilo de Lneas y Marcas


La seleccin del tipo de lnea o punto se hace
agregando un argumento al comando de graficacin:
plot(x,y,o)

Escala de los Ejes


Matlab fija automticamente la escala de los ejes
ajustndola a los valores de los datos. Podemos
cambiar las escalas con el comando axis:
axis Mantiene la escala del eje actual para grficas
subsecuentes. Una
segunda ejecucin del
comando regresa el sistema al escalado automtico.
axis([xmin xmax ymin ymax])
Especifica la escala del eje usando los valores de
escala que estn definidos en el comando.
El comado plot precede al comando axis.

Subgrficas
El comando subplot permite dividir la ventana de
grficos en subventanas.
subplot(x, y, n)
Divide la ventana de grficas en
un arreglo de x por y subventanas y define la
subventana n para colocar la grfica que se genere
despus del comando subplot.
subplot(2,1,1), plot(x,y)
La grfica definida por el comando plot(x,y) se
colocar en la primera subventana de las cuatro
definidas por el comando subplot(2,2,1).

Matlab ofrece 3 tipos de graficacin para tres


dimensiones:
Grficas de lneas
Grficas de contorno
Grficas de malla

Grficas de lneas
Las grficas de lneas son creadas usando el comado
plot3, el cual es la version tridimensional de plot

Grficas de contorno

Las grficas de controno en


realidad son grficas en dos
dimensiones,

con

lneas

uniendo puntos con igual valor


en z.

Grficas de malla

En las grficas de malla,


cada punto se une a sus
vecinos

formando

especie de tapete.

una

Ejemplos:
Simple3D
clf
x=-1:.1:1;
y=-2:.1:2;
[X,Y]=meshgrid(x,y);
z=X.^4+(Y/2).^4;
subplot(121), contour(z)
subplot(122), mesh(z)

You might also like