Graficos en matlab

tysonLlanos 33,431 views 71 slides Jul 26, 2014
Slide 1
Slide 1 of 71
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71

About This Presentation

matlab


Slide Content

GRÁFICOS EN MATLAB

KRAQ

UNIVERSIDADNACIONAL DEINGENIERIA
FACULTAD DEINGENIERIA ELECTRICA YELECTRONICA

MATLAB provee una amplia variedad de técnicas para mostrar datos gráficamente.
Las herramientas interactivas permiten manipular gráficos para alcanzar resultados
para alcanzar resultados que revelen más información acerca de los datos. También
puede imprimir los gráficos para representaciones o exportaciones a formatos
estándar de gráficos para su representación en Navegadores Web (*.jpeg *.pdf ,etc)
u otros medios
El entorno de MATLAB ofrece una variedad de funciones de trazado de datos y
un conjunto de herramientas gráficas para crear y modificar las pantallas
gráficas
GRÁFICOS EN MATLAB

Anatomía de las gráficas en MATLAB
 El entorno MATLAB ofrece una variedad de
funciones para gráfica de datos además de
herramientas de GUI para crear y modificar la
visualización de las gráficas.
 Una figura es una ventana MATLAB que contiene
la visualización de una gráfica (usualmente trazado
de datos) y componentes UI.
 Un trazado (plot) es cualquier visualización
gráfica, a partir de un conjunto de datos que se
pueda crear dentro de una ventana figura.
 Una gráfica (graph) es el conjunto de uno o más
trazas en ejes bidimensionales o tridimensionales.


Ventana figura (figure)

Eje (axes)



Traza de curvas (plots)
>> 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)

Anatomía de las gráficas en MATLAB
 Preparar los datos a graficar.
oLos datos deben estar en el workspace.
 Especificar la ventana figura en la que se desea hacer la gráfica.
o Uso del comando figure.
 Hace la subdivisión de la gráfica en sub-gráficas (ejes) si es necesario.
Especificar la sub-gráfica (eje) en la que se desea hacer la gráfica.
o Usando el comando subplot.
 Efectuar el trazado de la gráfica.
o Usando las funciones trazadoras de gráfica bidimensional/tridimensional.
 Agregar detalles a la gráfica.
o Leyenda, enrejado, título, etiquetas, etc.
 Estableciendo valores a las propiedades de los objetos que componen la gráfica.
o Creando manipuladores a los objetos de la gráfica.
o Obteniendo/establecimiento propiedades mediante los comandos get y set.

MATLAB



Barra de
herramientas




Trazado de líneas que
representan datos





Ejes con los que se
trazan los datos
Figura acoplable
al escritorio
GRÁFICOS EN MATLAB




ANATOMÍA DE MATLAB
Las funciones y herramientas de graficación de MATLAB dirigen sus salidas a
ventanas especiales denominadas ventana figura (Figure)

Ventana Figura de

Habilitación del modo
edición de trazado
Acercamiento o
alejamiento
Pan
Rotación en
3D
Insertar barra
de colores
Insertar leyenda
Ocultar u mostrar las
herramientas de trazado
Cursor de
datos
Pincel de datos
Enlace de
datos
GRÁFICOS EN MATLAB





La barra de herramientas de la ventana figura permite tener acceso a las
características más comúnmente usadas en la edición de gráficos

Gráficos
de línea
Gráficos
de barras
Gráficos
de área
Gráficas de
dirección
Gráficas
radiales
Gráficos de
dispersión
GRÁFICOS EN MATLAB
GRÁFICOS BIDIMENSIONALES

FUNCION DESCRIPCIÓN
plot Graficadatos2Dconescalaslinealesparasusejes
Plot3 Graficadatos3Dconescalaslinealessusejes
loglog Graficaconescalalogaritmicaparaambosejes
semilogx Gráficaconunaescalalogaritmicaparaelejexyescalalinealparaelejey
semilogy Gráficaconunaescalalogaritmicaparaelejeyyescalalinealparaelejex
plotyy Graficacon2ejesy(izquierdayderecha)
hold Mantienevariosgráficosalavez
grid Dibujaunarejilla
Funciones básicas para el trazado de una gráfica
GRÁFICOS EN MATLAB

GRÁFICOS EN MATLAB
GRÁFICOS BIDIMENSIONALES
 Se deben seguir los siguientes pasos :
o Preparar los datos por graficar (coordenadas de los puntos).
x=0:pi/4:2*pi;
y=sin(x);
o Con estos vectores se efectúa la gráfica haciendo uso de las funciones
MATLAB para el trazado bidimensional
plot(x,y);

y = sin(x);
plot(x,y)
-3 -2 -1 0 1 2 3 4
-1
-4
1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
GRÁFICOS EN MATLAB



Plot : Grafica líneas en 2D

plot(Y)
plot(X1,Y1,...,Xn,Yn)
Plot(X1,Y1,LineSpec,…,Xn,Yn,LineSpec)|
plot(X1,Y1,LineSpec,'PropertyName',PropertyValue)

x = -pi:.1:pi;

GRÁFICOS EN MATLAB

color_style_marker es
una cadena que contiene de uno
cuatro
caracteres (entrecomillas) construi
do a partir de un color, un estilo
de línea, y un tipo de marcador.
GRÁFICOS EN MATLAB


Especificación de estilos de línea y colores

Es posible especificar el color, la línea de estilos, y los marcadores (por
ejemplo, los signos más o círculos) al trazar sus datos utilizando el comando plot:
plot(x,y,'color_style_marker')

0 1 2 3 4 5 6 7
-1
0.8


0.6


0.4


0.2


0


-0.2


-0.4


-0.6


-0.8
>> plot(x1,sin(x1),'ks')
GRÁFICOS EN MATLAB



Trazado de líneas y marcadores
Si se especifica un tipo de marcador, pero no un estilo de línea, sólo se dibuja el marcador
plot(x,y,'ks')
Traza cuadrados de color negro en cada punto de los datos, pero no conecta el
marcador con una línea
1
>> x1 = 0:pi/100:2*pi;

0 1 2 3 4 5 6 7
-1
0.8


0.6


0.4


0.2


0


-0.2


-0.4


-0.6


-0.8
>> x1 = 0:pi/100:2*pi;
>> plot(x1,sin(x1),'r:+')
GRÁFICOS EN MATLAB



Trazado de líneas y marcadores

plot(x,y,'r:+')

Traza una línea roja de puntos y ubica marcadores de signo + en cada punto de los

1

0 1 2 3 4 5 6 7
-1
0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
GRÁFICOS EN MATLAB




Ubicación de marcadores en todos los puntos de los datos x

Es posible que desee utilizar menos puntos de datos para trazar los marcadores de
las que usa para trazar las líneas. Este ejemplo traza el dato dos veces usando un
número diferente de puntos para la línea punteada y los marcadores trazados

1

0.8
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-1
0.4


0.2


0


-0.2


-0.4


-0.6


-0.8
t = 0:pi/10:2*pi;
plot(exp(i*t),'-o‘)
GRÁFICOS EN MATLAB

GRÁFICO IMAGINARIO Y DATO COMPLEJO

Cuando los argumentos para plotear son complejos. Z es un vetor o matriz complejo ,
y es equivalente a:

plot(real(Z),imag(Z))
1


0.8


0.6

-3 -2 -1 0 1 2 3 4
-3
-4
3



2



1



0



-1



-2
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
GRÁFICOS EN MATLAB


Trazado de líneas y marcadores



clear all; clc;

GRÁFICOS EN MATLAB
Creación de un trazo

T=3;
f=1/T;
t=0:T/1000:2*pi;
y=sin(2*pi*f*t);

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x=0:2
Amplitud
Trazado de la función seno
Ahora agregamos el título y etiquetas en x e y
plot(t,y)
xlabel('x=0:2\pi');
ylabel('Amplitud');
title('Trazado de la función seno','fontsize',12)


El carácter \ pi crear el símbolo π.

GRÁFICOS EN MATLAB

Creación del texto en puntos dados usando el comando text
xlabel('0 \leq \itt \leq 2\pi');
text(1,sin(2*pi*f*1),'\leftarrow Primer punto');
text(2,sin(2*pi*f*2),'\leftarrow Segundo punto');
text(4.5,sin(2*pi*f*4.5),'\leftarrow \it sen(\omegat)');
grid on
El comando grid on
activa el grillado 0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0  t  2
Amplitud
Trazado de la función seno
 Primer punto
 Segundo punto
 sen(t)

x=0:pi/10:2*pi
plot(x,sin(x))
text(3*pi/4,sin(3*pi/4),...
'\leftarrowsin(t) = .707',...
'EdgeColor','red',...
'LineWidth',5,...
'LineStyle','-');



x=0:pi/10:2*pi
plot(x,sin(x))
text(3*pi/4,sin(3*pi/4),...
'\leftarrowsin(t) = .707',...
'EdgeColor','red',...
'LineWidth',5,...
'LineStyle',':');


GRÁFICOS EN MATLAB




Otros atributos del comando text 0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
sin(t) = .707 0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
sin(t) = .707

Tabla de secuencia de caracter TEX
\bf — Fuente Bold
\it — Fuente Italic
\sl — Fuente oblicua
\rm — Fuente normal
\fontname{fontname} — Especifica el nombre del tipo de fuente a usar
\fontsize{fontsize} — Especifica el tamaño de la fuente a usar.
\color(colorSpec) — Especifica el color de los caracteres posteriores. Usa los cocho colres
básicos (red, green, yellow, magenta, blue, black, white) y además los
colores de simulink (gray, darkGreen, orange, and lightBlue).
\color[rgb]{r g b} — Especifica un triplete RGB con valores entre 0 y 1 como una celda array
Se puede especificar modificadores de flujo que controlan el tipo de fuente y color.
Los primeros cuatro modificadores son mutuamente excluyentes. Sin embargo, puede
utilizar FontName \ en combinación con uno de los otros modificadores:
GRÁFICOS EN MATLAB

plot handles
Cada comando cuya salida se expresa en una figura puede también devolver un
argumento llamado plot handle .
X=linspace(-pi,pi,10)
h=plot(x,cos(2*x))
Entonces h es una curva y también una variable que contiene toda la información
correspondiente a la misma y dentro del léxico de matlab suele recibir el nombre
de handle. Con la función get podemos obtener toda la información del handle y
mediante la función set podemos cambiar sus propiedades según nuestras
necesidades. No sólo las curvas devuelven un handle, todos los objetos gráficos,
incluso los ejes o la propia figura genera un handle.
get(h) : Función que obtiene las características de un handle gráfico, ya sea una
curva, los ejes de la figura o la misma figura
set(h,attr,val) : Función que modifica las características de un handle gráfico,
ya sea una curva, ejes de la figura o la misma figura
GRÁFICOS EN MATLAB

GRÁFICOS EN MATLAB

1 1.5 2 2.5 3 3.5 4 4.5 5
1
3

2.8

2.6

2.4

2.2

2

1.8

1.6

1.4

1.2
Pirámide
p=plot([1,2,3,2,1]);
set(p,'linewidth',2);
set(p,'marker','o');
set(p,'markersize',12);
set(p,'markerfacecolor','y');
set(p,'markeredgecolor','r');
t=title('Pirámide');
set(t,'fontsize',14);
set(t,'color','g');
GRÁFICOS EN MATLAB




Plot handles

h : El handle.
attr : Un atributo válido del handle como cadena de caracteres.
val : El nuevo valor del atributo


gca() : No necesita ningún argumento. Devuelve el handle de los ejes de la figura.
gcf() : No necesita ningún argumento. Devuelve el handle de la figura figura activa.

Valor

de
la
Function

-pi -pi/2 0 pi/2 pi
-1
Radianes
GRÁFICOS EN MATLAB

x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
title('Función Seno');
xlabel('Radianes');
ylabel('Valor de la Function');
Función Seno
1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8

sen(

)

-pi -pi/2 0 pi/2 pi
-1
1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
-   
Theta aparece como un símbolo griego y
se nota el punto -pi/4 y seno(-pi/4)



Trazado del sen()





















 sin(-4)
GRÁFICOS EN MATLAB
x = -pi:.1:pi;
y = sin(x);
p = plot(x,y);
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
xlabel('-\pi \leq \Theta \leq \pi')
ylabel('sen(\Theta)')
title('Trazado del sen(\Theta)')
text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)',...
'HorizontalAlignment','left')
set(p,'Color','red','LineWidth',2)


Ejercicio: Colocar más puntos visibles





Es importante saber algunos
comandos en LateX
Cambia el color y el tamaño

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)
legend('sin(x)','sin(x-.25)','sin(x-.5)')
El comando legend
escribe la leyenda de la
figura
GRÁFICOS EN MATLAB



Trazado de varios conjuntos de datos en un gráfico

Multiples pares x-y pueden crear múltiples gráficos con una sola lamada a la función plot

plotyy(t,y,t,y1,'plot','stem');
GRÁFICOS EN MATLAB




plotyy : Genera dos ejes vertiicales para dos funvciones distintas

t=0:pi/20:2*pi;
y=exp(sin(t));
y1=exp(cos(t));
0 1 2 3 4 5 6
0
3



2.5



2



1.5



1



0.5
0
7
3



2.5



2



1.5



1



0.5
plotyy(X1,Y1,X2,Y2,'
function1','function
2')

GRÁFICOS EN MATLAB
Ejemplos
El cicloide
t E 0 – 2*pi
X=a(t-sen(t))
Y= a(1-cos(t))
El cardioide
t E 0 – 2*pi
X=cos(t)(1+cos(t))
Y= sen(t)(1+cos(t))
El asteroide
t E 0 – 2*pi
X=acos(t)^3
Y= asen(t)^3 0 1 2 3 4 5 6 7
0
0.5
1
1.5
2 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5 -1-0.8-0.6-0.4-0.2 0 0.20.40.60.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

loglog

x = logspace(-1,2);
loglog(x,exp(x),'-s')
grid on
0
10 1
10 2
10
0
10 -1 10
40
10


30
10


20
10


10
10
2
10
4
10
6
10
8
10
10
10
0 0
10
3


2.5


2


1.5


1


0.5
10
x 10
x = logspace(0,10);
semilogx(x,3*x,'-s')
grid on
GRÁFICOS EN MATLAB

50
10

0 1 2 3 4 5 6 7 8 9 10
0
10
8
10



6
10



4
10



2
10
x = 0:.1:10;
semilogy(x,10.^x)
GRÁFICOS EN MATLAB


10
10

axis auto axis square axis equal


axis normal
GRÁFICOS EN MATLAB




axis

El comando axis proporciona una serie de opciones para el configuración de la escala,
la orientación y razón del aspecto de los gráficos. También puede configurar estas
opciones de forma interactiva


El comando axis define los límites de los ejes (mínimos y máximos)

axis([xmin xmax ymin ymax])

O para gráficos de tres dimensiones

axis([xmin xmax ymin ymax zmin zmax])


Permite una selección automático de límites

120




















240
60




















300
150











210
30











330
180 0
Gráfico del seno polar
90
0.5

0.4

0.3

0.2

0.1














270
GRÁFICOS EN MATLAB
polar















figure
tetha = 0:.01:2*pi;
polar(tetha,sin(2*tetha).*cos(2*tetha),'--r')
title('Gráfico del seno polar')



Graficar:

Para crear una nueva ventana figura:
figure(n)
Donde n es el número en el título de la ventana figura
GRÁFICOS EN MATLAB




Inclusión de trazos en una gráfica existente


hold : Cambia el comportamiento de la ventana activa, hold on hace que cada dato se
represente sobre el anterior, hold off borra las ventanas antes de pintar en ellas.



Ventana figura
Las funciones gráficas abren automáticamente figuras si no hay ventanas figuras en
la pantalla. Si existe una ventana figura es para, se utiliza para salida de gráficos. Si
hay múltiples ventanas figura abierta aquella que es designada la “figura actual” (la
ultima figura usada o clickeada dentro) es usada.

m
filas
n filas
subplot(m,n,2)


















1




n+1

.
.


(m-1)n+1
subplot(m,n,1)




2




n+2

.
.


(m-1)n+2
subplot(m,n,n)




n




2n

.
.


mn
GRÁFICOS EN MATLAB



Mostrando múltiples trazos en una figura

Se pueden mostrar múltiples trazados en una misma ventana figura e imprimirlos en
el mismo pedazo de papel con la función subplot

Subplot(m,n,i) particiona la ventana figura en una matriz de mxn subtrazas y
selecciona la subtraza i-ésima para el actual trazado . Los trazados son numerados
a lo largo de la fila superior de la ventana figura

Mostrando múltiples trazos en una figura
>> x=[3.2 4.1 5.0 5.6];
>> y=[2.5 4.0 3.35 4.9];
>> subplot(2,1,1)
>> plot(x)
>> subplot(2,1,2)
>> plot(y)
GRÁFICOS EN MATLAB

t=0:0.1:2*pi;
y1=exp(sin(t));
y2=cos(t);
y3=y1./y2;
subplot(2,2,[1 3]);
plot(t,y1);
axis([0 2*pi 0 3]);
subplot(2,2,2);
plot(t,y2);
axis square
grid;
subplot(2,2,4);
plot(t,y3);
axis tight;
Mostrando múltiples trazos en una figura
GRÁFICOS EN MATLAB

GRÁFICOS EN MATLAB

Ejercicio:
Probar para las siguientes funciones:
Para un rango de x [-6,6] y un paso de 0.001

-3 -2 -1 0 1 2 3 4
0
-4
450

400

350

300

250

200

150

100

50
Histograma de datos gaussianos
• Gráfico de histograma


x=-2.9:0.2:2.9;
y=randn(5000,1);
hist(y,x)
title('Histograma de datos gaussianos')
GRÁFICOS EN MATLAB







Tipo de gráficos en 2D

-0.5 0 0.5 1
-1
-1
1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
STOP
• Gráfico de llenado


t=(1/8:2/8:15/8)'*pi; % Vector columna.
x=sin(t);
y=cos(t);
fill(x,y,'r')
% Un círculo rojo rellenado usando
%sólo 8 puntos.
axis('square')
text(-.11,0,'STOP')
title('Señal roja de stop')
GRÁFICOS EN MATLAB







Tipo de gráficos en 2D

Señal roja de stop

52%
36%
4%
2%
3% 2%
PP
PSOE
CiU
IU
PNV
Otros
x=[183 125 15 8 7 12]
pie(x),legend('PP',
'PSOE','CiU','IU','PNV','Otros')
GRÁFICOS EN MATLAB








• Diagrama de sectores

Número
de
Escaños

1 2 3
0
300



250



200



150



100



50
350
0%
86%



71%



57%



43%



29%



14%
100%
x=[183 125 42]
pareto(x),ylabel('Número de Escaños')
GRÁFICOS EN MATLAB








• Diagrama de Pareto

-6 -4 -2 0 2 4 6
5



0



-5
0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
-1
0.01
1

0.5

0

-0.5
f ='[tan(x),sin(x),cos(x)]';
g ='sin(1 ./ x)';
subplot(2,1,1),
fplot(f,2*pi*[-1 1 -1 1])
subplot(2,1,2),
fplot(g, [0.01 0.1],1e-3)
GRÁFICOS EN MATLAB





Gráfica de funciones implícitas

Creando trazos desde Workspace
>> x=0:.1:4*pi;
>> z = (sin(x.^2) + cos(x).^2);
GRÁFICOS EN MATLAB

1 2 3 4 5 6 7
>> x>4
ans =
0 0 0 0 1 1 1
GRÁFICOS EN MATLAB




Funciones definidas por trozos

>> x=1:7
x=

>> y=(x>2)&(x<=6)


y=
0 0 1 1 1 1 0
GRÁFICOS EN MATLAB




Funciones definidas por trozos

GRÁFICOS EN MATLAB

-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
-1
-2
3

2.5

2

1.5

1

0.5

0

-0.5
GRÁFICOS EN MATLAB








x=linspace(-2,3,3000);
y=(x.^2).*(x<0)+1.*((0<=x)&(x<1))+(-x+2).*(1<=x);
plot(x,y,':','Linewidth',2),grid on,title('Función definida a trozos')


Función definida a trozos
4

3.5
Ejercicio

GRÁFICOS EN MATLAB
GRÁFICOS TRIDIMENSIONALES

Gráficos
de línea
Gráficos de
Barras y
mallado
Gráficos
de área y
objetos
constructivos
Gráficos de
superficie
Gráficas de
dirección
Gráficas
volumétrico
GRÁFICOS EN MATLAB
GRÁFICOS TRIDIMENSIONALES

t

-1
-0.5
0.5
1
-1
-0.5
0
0.5
40


30


20


10


0
1
0


sin(t)
cos(t)
ylabel('cos(t)')
zlabel('t')
grid on
axis square
plot3(X1,Y1,Z1,...)
plot3(X1,Y1,Z1,LineSpec,...)
plot3(...,'PropertyName',PropertyValue,...)
h = plot3(...)

Ejemplo
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
GRÁFICOS EN MATLAB




Trazado de líneas en 3-D


La función plot3 se encarga de la creación de los trazos tridimensionales, de un
conjunto de puntos, su sintaxis es:

-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
0
1
5
30

25

20

15

10
GRÁFICOS EN MATLAB


quiver3 (x,y,z,u,v,w): grafica la velocidad con (x,y,z) es la posición y (u,v,w) es la
velocidad


t=linspace(0,8*pi,300);
plot3(sin(t),cos(t),t),grid on
quiver3(sin(t),cos(t),t,cos(t),-sin(t),ones(1,300))
-1
-0.5
0
0.5
1
1.5
-1.5
-1
-0.5
0
0.5
1
1.5
0
-1.5
5
30

25
20

15
10

X=
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
-2
-1
0
2
-2
-1
0
1
Y=
10 10 10
11 11 11 0
12 12 12
13 13 13
14 14 14
-0.5
2
0.5
>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
>> Z = X .* exp(-X.^2 - Y.^2);
>> surf(X,Y,Z)
meshgrid : genera una
matriz X cuyas filas son
del vetor x, y una matriz
Y cuyas columnas son el
vector y
1

surf: genera la gráfica de
superficie
GRÁFICOS EN MATLAB



Trazado de superficie y mallado
>> [X,Y] = meshgrid(1:3,10:14)

Z

Z

meshgrid (x)=meshgrid(x,x)
-10
-5
0
5
10
-10
-5
5
1



0.5



0



-0.5
10
X
0


Y
-10
-5
0
5
10
-10
-5
0
5
10
1



0.5



0



-0.5
X
Y
Z = sin(R)./R;
figure
mesh(X,Y,Z)
xlabel('X'), ylabel('Y'), zlabel('Z')
figure
mesh(X,Y,Z,'EdgeColor','black')
xlabel('X'), ylabel('Y'), zlabel('Z')
GRÁFICOS EN MATLAB



Trazado de superficie y mallado
[X,Y]= meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;

-2
0
2
-2
0
2
-0.5
0.5






0
X
Y
ezsurf :


syms X Y Z
Z = X*exp(-X^2-Y^2);
ezsurf(Z)
GRÁFICOS EN MATLAB



X/exp(X2 + Y2)

(X,Y,Z)
GRÁFICOS EN MATLAB







view(az,el) : Fija el ángulo de visión especificando el azimut az y la elevación el.
view([x,y,z]) : Coloca la vista en la coordenada (x,y,z)

-1.5
-1
-0.5
0
0.5
1
1.5
2
-2
-1
0
1
2
-0.5
-2
0
0.5
>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
>> Z = X .* exp(-X.^2 - Y.^2);
>> surf(X,Y,Z)
>> view(10,70)
GRÁFICOS EN MATLAB
azimut y elevación
están en grados
sexagesimales

0
10
30
0
10
Freezing
Nuclear


Burning


Hot


Warm


Neutral


Cool


Cold
GRÁFICOS EN MATLAB







colorbar : Añade una barra de color a la figura actual

surf(peaks(30))
colorbar('YTickLabel',...
{'Freezing','Cold','Cool','Neutral',...
'Warm','Hot','Burning','Nuclear'})

10


5


0


-5


-10
30

20
20

-1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-2
2


1.5


1


0.5


0


-0.5


-1


-1.5
-2
-1
0
1
2
-2
-1
0
1
Z = X.*exp(- X.^2 - Y.^2 );
figure(1)
surf(X,Y,Z)
figure(2)
contour(X,Y,Z)



0.5




0




-0.5
2
GRÁFICOS EN MATLAB




Ejemplo
xa = -2:.2:2;
ya = xa;
[X Y] = meshgrid(xa,ya);

clear;lc;
[x,y]=meshgrid(-3:0.1:3,-2:0.5:2);
figure(1)
z=exp(-x.^2-y.^2);
h=waterfall(x,y,z);
set(h,'facecolor','blue',...
'edgecolor','blue',...
'facealpha',0.1);
grid on
xlabel('eje X')
ylabel('eje Y')
zlabel('eje Z')
axis tight
GRÁFICOS EN MATLAB
Waterfall : Trazado en cascada

surfnorm : Calcula y muestra las superficies normales en 3-D
clear all;clc;clf;
[x,y]=meshgrid(-3:.2:3,-4:.2:4);
z=y.^2.*exp(-x.^2-0.3*y.^2);
% generamos los vectores normales
% en cada punto
[u,v,w]=surfnorm(x,y,z);
%Grafiquemos la superficie
surf(x,y,z,'edgecolor','none',...
'facecolor','yellow');
camlight left;
lighting phong;
hold on
% graficamos los vectores normales
% (u,v,w) en cada (x,y,z) con un
% factor de escala de 0.5
quiver3(x,y,z,u,v,w,0.5)
hold off
axis equal
GRÁFICOS EN MATLAB

numérico de 2 dimensiones


clc;clf;
[x,y]=meshgrid(-2:.2:2,-4:.2:4);
f=y.^2.*exp(-x.^2-0.3*y.^2);
[dx,dy]=gradient(f,.2,.2);
figure(1)
contour(x,y,f,10);
hold on
quiver(x,y,dx,dy);
hold off
grid on
GRÁFICOS EN MATLAB



Gradient: Devuelve el gradiente numérico de una función.

[FX,FY] = gradient(F) : Devuelve los
4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-4
-3
-2
-1
0
1
2
3
4

Gráficas de contornos o curvas de nivel
GRÁFICOS EN MATLAB

Y

X
Xexp(-X2-Y2)
-3 -2 -1 0 1 2 3
-3
0



-1



-2
3



2



1
GRÁFICOS EN MATLAB
-2
0
2
-2
0
2
0.5





0





-0.5
X
syms X Y Z;
Z = X*exp(- X^2 - Y^2 );
ezcontour(Z)

X/exp(X2 + Y2)
Y

-2
-1
0
1
2
0
2
4
6
fill3(x,y,z,’color’) :


x=[-2 0 2 0 -2];
y=[4 8 4 0 4];
z=[3 5 10 5 3];
figure
fill3(x,y,z,'m')
grid on
Dibuja un polígono como fill, pero es de cuatro argumentos











10


8


6


4


2
8
GRÁFICOS EN MATLAB

0.
1 0
0
0 -0
.1
0.1
-0 .2
0
0
0 2
- .
0.1
-0 .1
0.3 0.1
0
.4 0.5 .6 . 3 0
0. 2 0
.1
0
-0
0 .7 0
.8
0.2
-0
.1
-0 .2
0.1
0
0.1
0
0
-0 .2
0.
-0.1
0.1
00 .
-0.2
-0
.1
-0.1
0
0
0
0
0
0
-0.2
0
0
0
0.1
0.1
0.
1
0.1
0.1
0.1
0.1
0.1
0.1
1



-0.1
-0.2

2
5
-0.2
0
0.6 0.0.4
6
0.
0.5
7 0.8
-8 -6 -4 -2 0 2 4 6 8 10
-10
-10
-8 0
-2

-4

-6
0
4

2
10

8 0

6
-5
0
5
10 -10
-5
0
5
10
-0.4
-10
-0.2
0.4

0.2

0
0.8

0.6
1
mesh(X,Y,Z)
figure(2)
surf(X,Y,Z)
view([10,-12,2])
figure(3)
[C,h]=contour(X,Y,Z);
clabel(C,h)
clabel: Añade etiquetas de altura a los gráficos de contorno
GRÁFICOS EN MATLAB


[x,y]=meshgrid(-10:0.2:10)
Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+0.1);
figure(1)

-10
-5
0
5
10
-10
-5
0
5
10
-10
-5
0
5
10
-10
-5
0
5
10
-0.5
GRÁFICOS EN MATLAB




contour3(X,Y,Z,n) : Dibuja el contorno de la superficie con n niveles de contorno


[X,Y]=meshgrid(-10:0.5:10);
Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+0.1);
figure(1)
mesh(X,Y,Z)
figure(2)
contour3(X,Y,Z,30)
1


1
0.5

0.5

0

0

-0.5

Dond M puede ser:
-10
-5
0
5
10
-10
-5
0
5
Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+0.1);
surf(X,Y,Z)
colormap(Summer)



1



0.5



0



-0.5
10
GRÁFICOS EN MATLAB

colormap(M) :

El mapa de colores (colormap) es la representación de los colores en una matriz de
m-por-3 de npumeros reales entre 0.0 y 1.0; cada fila es un vector RGB que define un
color

[X,Y]=meshgrid(-10:0.5:10);

0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
2


1.5


1


0.5


0
0.8
x=linspace(0,1,10);
y=x./2;
z=sin(x)+cos(y);
figure
stem3(x,y,z)
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
2


1.5


1


0.5


0
0.8
x=linspace(0,1,10);
y=x./2;
z=sin(x)+cos(y);
figure
stem3(x,y,z, 'fill')
GRÁFICOS EN MATLAB




Trazados stem tridimensionales

stem3 (x,y,z): Traza la secuencia de datos Z en valores especificados por X e Y. X,Y y Z
deben ser todos vetores o matrices del mismo tamaño

-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1


0.5


0


-0.5


-1
1
ESFERA
Algunas superficies

esphere
-2
-1
0
1
2
-2
-1
0
1
0.6

0.4

0.2

0
2
1

0.8
>>sphere,axis square,title('ESFERA')


cylinder (R):
Genera un cilindro de revolución de radio
R, dicho radio puede ser variable R(t)

>> t=linspace(0,2,20);r=sqrt(t);cylinder(r)
GRÁFICOS EN MATLAB
Representar: