Sei sulla pagina 1di 12

EXPOSITOR:

Miguel Ataurima Arellano


INGENIERO CONSULTOR 1
Universidad Nacional de Ingeniera
Facultad de Ingeniera Elctrica y Electrnica
Lima Per
MATLAB
NIVEL BSICO
http://matlabperu.blogspot.com
ataurima@telefonica.net.pe
ma2lac@msn.com
Grficas
Grficas MATLAB
Grficas Bidimensionales
Graficas Tridimensionales
Herramientas de exploracin grfica
Grficos especializados
SESIN No. 3
EXPOSITOR:
Miguel Ataurima Arellano
INGENIERO CONSULTOR 2
Universidad Nacional de Ingeniera
Facultad de Ingeniera Elctrica y Electrnica
Lima Per
MATLAB
NIVEL BSICO
http://matlabperu.blogspot.com
ataurima@telefonica.net.pe
ma2lac@msn.com
Gr Gr ficas en MATLAB ficas en MATLAB
Anatoma de las Grficas
Procesos para el trazado de una grfica
Creacin de una grfica
Algunas Herramientas GUI
Copyright 2008 ataurima@telefonica.net.pe 3
Anatoma de las grficas en MATLAB
El entorno MATLAB ofrece una variedad de
funciones para la grfica de datos adems
de herramientas GUI para crear y
modificar la visualizacin de las grficas.
Una figura es una ventana MATLAB que
contiene la visualizacin de una grfica
(usualmente trazado de datos) y
componentes UI.
Un trazado (plot) es cualquier visualizacin
grfica, a partir de un conjunto de datos,
que se pueda crear dentro de una ventana
figura.
Una grfica (graph) es el conjunto de uno
o mas trazas en ejes bidimensionales o
tridimensionales.
x = 0:0.2:20;
y = sin(x)./sqrt(x+1);
y(2,:) = sin(x/2)./sqrt(x+1);
y(3,:) = sin(x/3)./sqrt(x+1);
plot(x,y)
x = 0:0.2:20;
y = sin(x)./sqrt(x+1);
y(2,:) = sin(x/2)./sqrt(x+1);
y(3,:) = sin(x/3)./sqrt(x+1);
plot(x,y)
cdigo
fuente
ejemplo1.m
Trazas de curvas
(plots)
Ventana figura
(figure)
Eje
(axes)
Copyright 2008 ataurima@telefonica.net.pe 4
Procesos para el trazado de una grfica
Una grfica es la traza de datos, los cuales pueden ser generados por cdigo
MATLAB, por ejemplo a travs de una regla de correspondencia aplicada sobre un
dominio; o pueden ser importados de alguna base de datos, como un archivo de
Excel.
Sea bidimensional o tridimensional, el proceso de trazado de una grfica esta
constituido por las siguientes etapas
Creacin de la grfica
Exploracin de datos
Edicin del grfico
Adicin de anotaciones al grfico
Impresin y Exportacin de grficas
Adicin y eliminacin de contenido de una ventana figure
Almacenamiento y reutilizacin de grficas (*.fig)
Cada una de estas etapas se pueden desarrollar a travs de cdigo (funciones y/o
scripts) o utilizando las herramientas que provee MATLAB.
DATOS
1
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 5
root
figure
axes objetos UI
objetos ncleo
objetos de
trazado
Grupo de
objetos
Anotaciones de
objetos
Anotaciones
ocultas de ejes
Creacin de una grfica
Preparar los datos a graficar.
Los datos deben estar en el workspace.
Especificar la ventana figura en la que se desea hacer la grfica.
Usando el comando figure.
Hace la subdivisin de la grfica en sub-grficas (ejes) si es necesario.
Especificar la sub-grfica (eje) en la que se desea hacer la grfica .
Usando el comando subplot.
Efectuar el trazado de la grfica.
Usando las funciones trazadoras de grfica bidimensional/tridimensional.
Agregar detalles a la grfica .
Legenda, enrejado, ttulo, etiquetas, etc.
Estableciendo valores a las propiedades
de los objetos que componen la grfica.
Creando manipuladores
a los objetos de la grfica.
Obteniendo/estableciendo
propiedades mediante
los comandos get y set.
Jerarqua de
objetos grficos
Copyright 2008 ataurima@telefonica.net.pe 6
Algunas Herramientas GUI
Barra de herramientas de las Ventana figure
Otras herramientas (men View)
Cmara
Edicin de trazas
Controles de movimiento
de cmara
Selector de ejes
principales
Tipo de
Proyeccin Reset y Stop
i
l
u
m
i
n
a
c
i

n
edicin de propiedades de
objetos grficos
Fija objetos en una posicin
especfica
Alinea objetos
Zoom in/out Modo edicin Barra de colores Legenda
Pan Rotador
3D
Cursor
de Datos
Data Link Oculta/Muestra herramientas
de trazado
Pincel
de Datos
EXPOSITOR:
Miguel Ataurima Arellano
INGENIERO CONSULTOR 7
Universidad Nacional de Ingeniera
Facultad de Ingeniera Elctrica y Electrnica
Lima Per
MATLAB
NIVEL BSICO
http://matlabperu.blogspot.com
ataurima@telefonica.net.pe
ma2lac@msn.com
Grficas Bidimensionales
Funciones trazadoras de Grficas Bidimensionales.
La funcin de trazado lineal bidimensional: plot.
Control de ejes y anotaciones.
Mltiples ejes en una ventana figura.
Ejemplos con funciones para el trazado de lneas, barra, grficas dispersas,
funciones polares, funciones paramtricas, campos vectoriales y funciones
animadas.
Copyright 2008 ataurima@telefonica.net.pe 8
Linea
Barra
rea
Direccional
Radial
Dispersas
(Scatter)
agrupada apilada agrupada apilada
Funciones Grficas Bidimensionales
2
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 9
La funcin de trazado bidimensional: plot
Se deben seguir los siguientes pasos:
Preparar los datos por graficar (coordenadas de
los puntos.
x = (0:pi/4:2*pi)';
y = sin(x);
Con estos vectores se efecta la grfica
haciendo uso de las funciones MATLAB para el
trazado bidimensional
plot(x,y);
ws ws
x y
0
0.7854
1.5708
2.3562
3.1416
3.9270
4.7124
5.4978
6.2832
0
0.7071
1.0000
0.7071
0.0000
-0.7071
-1.0000
-0.7071
-0.0000
Copyright 2008 ataurima@telefonica.net.pe 10
La funcin plot, procede a desarrollar el trazado de la siguiente manera
>> plot(x,y);
ws ws
x y
0
0.7854
1.5708
2.3562
3.1416
3.9270
4.7124
5.4978
6.2832
0
0.7071
1.0000
0.7071
0.0000
-0.7071
-1.0000
-0.7071
-0.0000
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
Copyright 2008 ataurima@telefonica.net.pe 11
plot( x , y ) plot( x1, y1 , x2, y2 , ... )
1
2
:
n
1
: :
1
2
:
n
1
: :
1
2
:
:
n
2
:
:
:
:
eje x eje x
e
j
e

y
e
j
e

y
Copyright 2008 ataurima@telefonica.net.pe 12
EJEMPLO
Graficar la funcin:
para segundos
graf2d01.m
3
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 13
plot( x1, y1, linespec1, ... )
linespec1, es una cadena que contiene uno o mas caracteres cada uno de los cuales
representa a un especificador, los cuales pueden ser del tipo lnea, del tipo marcador y/o
del tipo color
Lnea punto-guin -.
Lnea punteada :
Lnea guin --
Lnea slida (default) -
Estilo de lnea Especificador
Estrella de seis puntas 'hexagram' o h
Estella de cinco puntas 'pentagram' o p
Tringulo apuntando a la izquierda <
Tringulo apuntado a la derecha >
Tringulo apuntando hacia abajo v
Triangulo apuntando hacia arriba ^
Diamante 'diamond' o d
Cuadrado 'square' o s
Cruz x
Punto .
Asterisco *
Crculo o
Signo mas +
Tipo de Marcador Especificador
Blanco w
Negro k
Amarillo Y
Magenta M
Cyan c
Azul b
Verde g
Rojo r
Color Especificador
TIPO LNEA TIPO MARCADOR
TIPO COLOR
Copyright 2008 ataurima@telefonica.net.pe 14
EJEMPLO
Graficar los siguientes datos
obtenidos experimentalmente.
La grfica obtenida debe tener las
siguientes caractersticas:
Estilo de lnea: lnea slida
Marcador: cuadrado
Color: rojo
14.56 1.9
15.43 1.6
16.10 1.1
13.57 0.9
13.44 0.7
14.26 0.4
12.31 0.3
11.23 0.1
y x
graf2d02.m
Copyright 2008 ataurima@telefonica.net.pe 15
EJEMPLO
Graficar la epicicloide
para y ,
graf2d03.m
Copyright 2008 ataurima@telefonica.net.pe 16
EJEMPLO
Graficar la siguiente funcin polar (cardioide)
graf2d04.m
4
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 17
EJEMPLO
Graficar la evolucin de la funcin polar
para valores de
graf2d05.m
Copyright 2008 ataurima@telefonica.net.pe 18
plot( ... , 'propiedad1' , 'valor1' , ... )
Permite establecer valores a determinadas propiedades de la traza tales como:
Color, LineStyle, LineWidth, Marker, MarkerSize, MarkerEdgeColor,
MarkerFaceColor, XData, YData, ZData, Type, etc.
plot( y1 )
1
2
:
n
1
:
eje x
e
j
e

y
1 2 k ..n
1
plot( Y1 )
1
2
:
n
1
:
eje x
e
j
e

y
: ...
1 2 k ..n
1
Copyright 2008 ataurima@telefonica.net.pe 19
NOTA:
Cada vez que la funcin plot sea
invocada:
Si existen ventanas figuras presentes
entonces plot trazar la(s) curva(s) y/o
conjuto(s) de muestra(s) en la ltima ventana
figura referenciada (utilizada) a la cual
MATLAB denomina figura actual (current
figure)
Si no existe ni una ventana figura entonces
plot crear una en la cual trazar la(s)
curva(s) y/o conjuto(s) de muestra(s).
plot( x , Y )
1
2
:
n
1
:
eje x
e
j
e

y
: ... :
5
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 21
EJEMPLO
Graficar los polinomios obtenidos por
el mtodo de los mnimos
cuadrados, que se ajusten a los
siguientes datos obtenidos
experimentalmente
NOTA: Considere que los valores en el eje
x representan los instantes de tiempo
(medidos en segundos) en los que se
tomaron las muestras (valores en el eje y).
14.56 1.9
15.43 1.6
16.10 1.1
13.57 0.9
13.44 0.7
14.26 0.4
12.31 0.3
11.23 0.1
y x
graf2d06.m
Copyright 2008 ataurima@telefonica.net.pe 22
Copyright 2008 ataurima@telefonica.net.pe 23
Control de ejes y anotaciones
Control de ejes
axis([xmin xmax ymin ymax])
Establece los lmites para los ejes x e y del actual eje.
axis([xmin xmax ymin ymax zmin zmax cmin cmax])
Igual que el anterior mas los lmites de escalamiento
de color
v = axis
Retorna un vector fila conteniendo los factores de
escala de los ejes.
axis auto
Establece los lmites del actual eje basndose en los
valores mnimos y mximos de los datos.
axis tight
Establece los limites de los ejes al rango de los datos
axis ij
Establece el origen del sistema de coordenadas en la
esquina superior izquierda. El eje i es vertical, con
valores crecientes de arriba a abajo. El eje j es
horizontal con valores crecientes de izquierda a
derecha
axis xy
Dibuja el grfico en formato de ejes cartesianos por
defecto con el origen del sistema de coordenadas en
la esquina inferior izquierda. El eje x es horizontal con
valores crecientes de izquierda a derecha. El eje y es
vertical con calores crecientes de abajo hacia arriba.
axis equal
Establece la proporcin entre la anchura y la altura de
la traza (aspect ratio) de manera que las unidades de
los datos son las mismas en toda direccin.
axis image
Funciona igual que axis equal excepto que la caja
de la traza se ajusta de manera ceida alrededor de
los datos.
axis square
hace cuadrada la regin del actual eje.
axis normal
Ajusta automticamente el proporcin de aspecto de
los ejes y el escalamiento relativo de las unidades de
dato de manera que la traza se ajuste a la forma de la
figura tan bien como sea posible.
axis off
Desactiva las lneas de los ejes, marcadores tick, y
etiquetas.
axis on
Activa las lneas de los ejes, marcadores tick, y
etiquetas.
axis(axes_handles,...)
Aplica el comando axis a ejes especficos.
xlim([xmin xmax])
ylim([ymin ymax])
Establece los lmites de los ejes en x e y
respectivamente.
Copyright 2008 ataurima@telefonica.net.pe 24
Anotaciones
title('cadena')
Muestra la cadena en la parte superior-centro del eje
actual.
title(axes_handle,...)
Aade el titulo a los ejes especificados.
title(... ','Propiedad',valor,...)
Funciona igual que las anteriores aadiendo la
posiblidad de especificar pares propiedad/valor.
xlabel('cadena')
ylabel('cadena')
Etiqueta los ejes x e y respectivamente.
legend('cadena1', 'cadena2',...)
Muestra una leyenda en el actual eje usando las
cadenas especificadas para etiquetar cada conjunto de
datos en el orden en que han sido trazados.
text(x,y,'cadena')
Aada la cadena en la posicin especificada por el
punto (x,y), x e y deben ser nmeros double.
text(x,y,'cadena','Propiedad',valor,...)
Funciona igual que la anterior aadiendo la posiblidad
de especificar pares propiedad/valor.
texlabel(f)
Convierte la expresin MATLAB f en un equivalente
TeX / LaTeX para usarlo en cadenas de texto.
Generalmente se usa en como cadena con la funcin
text.
datetick(tickaxis,dateform)
Formatea las etiquetas de las lneas tick de un eje
usando fechas, reemplazando las etiquetas numricas
por defecto. tickaxis es la cadena x, y o z. Por
defecto es x. datetick selecciona un formato de
etiqueta basado en los lmites mnimo y mximo de los
ejes especificados. dateform es un entero que
especifica el formato de las etiqueta.
[x,y]=ginput(n)
Permite seleccionar n puntos del actual eje cuyas
coordenadas x e y son retornadas en los vectores
columna x e y respectivamente. Se puede finalizar el
ingreso de los puntos presionando la tecla Enter.
[x,y]=ginput
Igual que el anterior pero permitiendo seleccionar los
puntos hasta presionar la tecla Enter.
gtext('cadena')
Espera a que se presione un botn del ratn o del
teclado mientras el puntero esta dentro de la ventana
figura. Ubica el texto especificado por cadena en la
posicin en donde se presione un botn del ratn o
presione cualquier tecla.
clabel(C,h,'Propiedad',valor,...)
alterna las etiquetas e las inserta en las lneas de
contorno. La funcin inserta solo aquellas etiquetas
que se ajustan al interior del contorno, dependiendo
del tamao del contorno. Se pueden especificar pares
propiedad/valor
6
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 25
Mltiples ejes en una Ventana figura
Para crear mltiples ejes en una venta
figura, o dicho de otra manera, dividir la
actual figura en ejes dispuestos en una
distribucin de m filas por n columnas se
utiliza la funcin subplot
h = subplot(m,n,p)
La cual permite elegir el objeto eje p-simo
como eje actual retornando un manipulador
de ejes h.
NOTAS:
Cada eje es numerado por filas de izquierda a
derecha a partir de 1 hasta mn.
Cada vez que se especifica un eje actual, toda
ejecucin de algn comando de graficacin, por
ejemplo plot, se ejecutar en dicho eje.
subplot(m,n,p)
plot(x,y)
1 2 n n-1
n+1 n+2 2n n+(n-1)
(m-1)n+1 mn
p
(m-1)n+2 (m-1)n+(n-1)
m
filas
n
columnas
Copyright 2008 ataurima@telefonica.net.pe 26
EJEMPLO
Graficar las funciones
para segundos
A) En un mismo eje
graf2d07.m
Copyright 2008 ataurima@telefonica.net.pe 27
B) En ejes independientes: t vs.x, t vs.y
graf2d08.m
Copyright 2008 ataurima@telefonica.net.pe 28
C) En ejes independientes: t vs.x, t vs.y, x vs.y
graf2d09.m
7
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 29
EJEMPLO
Graficar , donde
para y
con particiones.
graf2d10.m
EXPOSITOR:
Miguel Ataurima Arellano
INGENIERO CONSULTOR 30
Universidad Nacional de Ingeniera
Facultad de Ingeniera Elctrica y Electrnica
Lima Per
MATLAB
NIVEL BSICO
http://matlabperu.blogspot.com
ataurima@telefonica.net.pe
ma2lac@msn.com
Grficas Tridimensionales
Funciones trazadoras de Grficas Tridimensionales.
Grfica de muestras tridimensionales
Grfica de curvas tridimensionales.
Grfica de superficies tridimensionales.
Ejemplos con funciones para el trazado de muestras tridimensionales.
Ejemplos con funciones para el trazado de curvas tridimensionales.
Ejemplos con funciones para el trazado de superficies tridimensionales R
2
a R.
Ejemplos con funciones para el trazado de superficies tridimensionales R
2
a R
3
.
Copyright 2008 ataurima@telefonica.net.pe 31
Funciones Grficas Tridimensionales
Linea
Malla
y Barra
rea
y objetos
constructivos
Superficie
Direccin
Volumtrico
Copyright 2008 ataurima@telefonica.net.pe 32
Grfica de muestras tridimensionales
Se deben seguir los siguientes pasos:
Se debe especificar el dominio de graficacin a travs de vectores.
x = [1 3 5 8 6 4 2];
y = [2 4 5 7 6 4 1];
y = [2 6 7 8 9 10 12];
Con estos vectores se efecta la grfica de las muestras haciendo usando las funciones
MATLAB para el trazado tridimensional
0
2
4
6
8
2
4
6
8
10
12
0
5
10
15
0
2
4
6
8
2
4
6
8
10
12
0
5
10
15
stem3(x,y,z) scatter3(x,y,z)
8
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 33
Grfica de curvas tridimensionales
-20
-10
0
10
20
-20
-10
0
10
20
0
100
200
300
400
Se deben seguir los siguientes pasos:
Especificar el dominio de la variable
independiente (por lo general, tiempo).
t = 0:pi/10:10*pi;
Generar los vectores dominio a travs
de alguna regla de correspondencia con
la variable independiente.
x = t.*sin(t);
y = t.*cos(t);
z = t.^2;
Graficar la curva descrita por los
vectores obtenidos en el paso anterior
usando las funciones MATLAB para el
trazado de curvas tridimensionales
plot3(x,y,z);
Grfica de la curva
t =
0 0.3142 ... 31.1018 31.4159
x =
0 0.0971 ... -9.6110 -0.0000
y =
0 0.2988 ... 29.5795 31.4159
z =
0 0.0987 ... 967.3199 986.9604
Copyright 2008 ataurima@telefonica.net.pe 34
Grfica de superficies tridimensionales
Se deben seguir los siguientes pasos:
Transformar los vectores dominios a
arreglos bidimensionales a travs de la
funcin meshgrid.
Dx = -3:3;
Dy = -2:2;
[x,y] = meshgrid(Dx,Dy);
Estas matrices sern usadas para evaluar
las funciones y luego graficarlas usando
las funciones MATLAB de trazado de
superficies/mallas tridimensionales.
z = x.^2 + y.^2;
surf(x,y,z);
-4
-2
0
2
4
-2
-1
0
1
2
0
5
10
15
Grfica de la funcin
Copyright 2008 ataurima@telefonica.net.pe 35
EJEMPLO
Graficar la curva definida por
para
-1
0
1
-1
0
1
0
20
40
eje X
eje Y
e
j
e

Z
curva3d1.m
Copyright 2008 ataurima@telefonica.net.pe 36
EJEMPLO
Graficar la funcin sinc dada por
para
misinc.m
9
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 37
EJEMPLO
Graficar la funcin sinc levantando la intederminacin en (0,0)
misinc2.m
misinc1.m discontinuidad
Copyright 2008 ataurima@telefonica.net.pe 38
EJEMPLO
Graficar la superficie
para y
adems 20 curvas de nivel
graf3d1.m
Copyright 2008 ataurima@telefonica.net.pe 39
EJEMPLO
Graficar la funcin
con separaciones en y de 0.5 en [-2,2] para todo x [-3,3]
graf3d2.m
Copyright 2008 ataurima@telefonica.net.pe 40
EJEMPLO
Graficar el campo vectorial (gradiente) de la funcin
para
-2 -1 0 1 2
-4
-3
-2
-1
0
1
2
3
4
graf3d3.m
10
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 41
EJEMPLO
Graficar los vectores normales a la superficie
para
graf3d4.m
Copyright 2008 ataurima@telefonica.net.pe 42
EJEMPLO
Efectuar la grfica de un toroide circular
Ecuaciones paramtricas
v
u
(x,y,z)
0
a
r
X
Z
Y
Copyright 2008 ataurima@telefonica.net.pe 43
mitoroide.m
Copyright 2008 ataurima@telefonica.net.pe 44
EJEMPLO
Efectuar la grfica de la banda de Mbius
para ,
mobius.m
11
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m
Copyright 2008 ataurima@telefonica.net.pe 45
EJEMPLO
Graficar en forma superpuesta las siguientes superficies paramtricas
Paraboloide Esfera
Copyright 2008 ataurima@telefonica.net.pe 46
graf3d5.m
12
h
t
t
p
:
/
/
m
a
t
l
a
b
p
e
r
u
.
b
l
o
g
s
p
o
t
.
c
o
m

Potrebbero piacerti anche