Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Graficosenmatlab 140726143505 Phpapp02 PDF
Graficosenmatlab 140726143505 Phpapp02 PDF
GRÁFICOS EN MATLAB
KRAQ
GRÁFICOS EN MATLAB
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
FUNCION DESCRIPCIÓN
plot Graficadatos2Dconescalaslinealesparasusejes
Plot3 Graficadatos3Dconescalaslinealessusejes
loglog Graficaconescalalogaritmicaparaambosejes
semilogx Gráficaconunaescalalogaritmicaparaelejexyescalalinealparaelejey
semilogy Gráficaconunaescalalogaritmicaparaelejeyyescalalinealparaelejex
plotyy Graficacon2ejesy(izquierdayderecha)
hold Mantienevariosgráficosalavez
grid Dibujaunarejilla
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);
plot(x,y);
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;
y = sin(x); 1
plot(x,y) 0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-4 -3 -2 -1 0 1 2 3 4
GRÁFICOS EN MATLAB
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')
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
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.8 >> plot(x1,sin(x1),'ks')
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
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
>> x1 = 0:pi/100:2*pi;
0.8
>> plot(x1,sin(x1),'r:+')
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
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;
0.6 x2 = 0:pi/10:2*pi;
0.4 plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
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
0.4
t = 0:pi/10:2*pi;
plot(exp(i*t),'-o‘)
0.2
-0.2
-0.4
-0.6
-0.8
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
GRÁFICOS EN MATLAB
Trazado de líneas y marcadores
-1
-2
-3
-4 -3 -2 -1 0 1 2 3 4
GRÁFICOS EN MATLAB
Creación de un trazo Ahora agregamos el título y etiquetas en x e y
plot(t,y)
T=3;
f=1/T; xlabel('x=0:2\pi');
t=0:T/1000:2*pi; ylabel('Amplitud');
y=sin(2*pi*f*t); title('Trazado de la función seno','fontsize',12)
1
Trazado de la función seno El carácter \ pi crear el símbolo π.
0.8
0.6
0.4
0.2
Amplitud
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
x=0:2
GRÁFICOS EN MATLAB
Creación del texto en puntos dados usando el comando text
0.6
0.4
0.2
Amplitud
0 sen(t)
-0.2
-0.4
-0.6
-0.8
Segundo punto
-1
0 1 2 3 4 5 6 7
0 t 2
GRÁFICOS EN MATLAB
Otros atributos del comando text
x=0:pi/10:2*pi x=0:pi/10:2*pi
plot(x,sin(x)) plot(x,sin(x))
text(3*pi/4,sin(3*pi/4),... text(3*pi/4,sin(3*pi/4),...
'\leftarrowsin(t) = .707',... '\leftarrowsin(t) = .707',...
'EdgeColor','red',... 'EdgeColor','red',...
'LineWidth',5,... 'LineWidth',5,...
'LineStyle','-'); 'LineStyle',':');
1 1
0.8 0.8
sin(t) = .707 sin(t) = .707
0.6 0.6
0.4 0.4
0.2 0.2
0 0
GRÁFICOS EN MATLAB
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:
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
p=plot([1,2,3,2,1]); 3
2.8
set(p,'linewidth',2); 2.6
set(p,'marker','o'); 2.4
set(p,'markersize',12); 2.2
set(p,'markerfacecolor','y'); 2
set(p,'markeredgecolor','r'); 1.8
1.6
t=title('Pirámide'); 1.4
set(t,'fontsize',14); 1.2
set(t,'color','g'); 1
1 1.5 2 2.5 3 3.5 4 4.5 5
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
Valor de la Function
0.2
-0.2
-0.4
-0.6
-0.8
-1
-pi -pi/2 0 pi/2 pi
Radianes
GRÁFICOS EN MATLAB
x = -pi:.1:pi;
y = sin(x);
p = plot(x,y); Theta aparece como un símbolo griego y
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'}) se nota el punto -pi/4 y seno(-pi/4)
xlabel('-\pi \leq \Theta \leq \pi')
ylabel('sen(\Theta)')
Trazado del sen()
title('Trazado del sen(\Theta)') 1
text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)',...
'HorizontalAlignment','left') 0.8
set(p,'Color','red','LineWidth',2) 0.6
0.4
Ejercicio: Colocar más puntos visibles
0.2
sen()
-0.2
Es importante saber algunos
-0.4
comandos en LateX
Cambia el color y el tamaño -0.6
sin(-4)
-0.8
-1
-pi -pi/2 0 pi/2 pi
-
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
x = 0:pi/100:2*pi; El comando legend
y = sin(x);
y2 = sin(x-.25);
escribe la leyenda de la
y3 = sin(x-.5); figura
plot(x,y,x,y2,x,y3)
legend('sin(x)','sin(x-.25)','sin(x-.5)')
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));
plotyy(t,y,t,y1,'plot','stem'); plotyy(X1,Y1,X2,Y2,'
3 3 function1','function
2')
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
0 1 2 3 4 5 6 7
GRÁFICOS EN MATLAB
Ejemplos
1.5 1
2 0.8
1
0.6
1.5 0.5
0.4
0.2
0 0
1
-0.2
-0.5
-0.4
0.5
-0.6
-1
-0.8
0
0 1 2 3 4 5 6 7 -1.5 -1
-0.5 0 0.5 1 1.5 2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
GRÁFICOS EN MATLAB
50
10
40
10
loglog
30
10
x = logspace(-1,2);
loglog(x,exp(x),'-s') 10
20
grid on 10
10
0
10 -1 0 1 2
10 10 10 10
10
x 10
x = logspace(0,10); 3
semilogx(x,3*x,'-s') 2.5
grid on
2
1.5
0.5
0 0 2 4 6 8 10
10 10 10 10 10 10
GRÁFICOS EN MATLAB
10
10
x = 0:.1:10;
semilogy(x,10.^x) 8
10
6
10
4
10
2
10
0
10
0 1 2 3 4 5 6 7 8 9 10
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
axis normal
GRÁFICOS EN MATLAB
polar
0.3
150 30
0.2
figure 0.1
Graficar:
240 300
270
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.
1 2 … n
…
n+1 n+2 2n
m
filas . . .
. . .
(m-1)n+1 (m-1)n+2 … mn
n filas
GRÁFICOS EN MATLAB
Mostrando múltiples trazos en una figura
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;
GRÁFICOS EN MATLAB
Ejercicio:
Probar para las siguientes funciones:
Tipo de gráficos en 2D
Histograma de datos gaussianos
• Gráfico de histograma 450
400
x=-2.9:0.2:2.9;
y=randn(5000,1); 350
hist(y,x) 300
title('Histograma de datos gaussianos')
250
200
150
100
50
0
-4 -3 -2 -1 0 1 2 3 4
GRÁFICOS EN MATLAB
Tipo de gráficos en 2D
Señal roja de stop
• Gráfico de llenado 1
0.8
axis('square') -0.4
text(-.11,0,'STOP') -0.6
title('Señal roja de stop')
-0.8
-1
-1 -0.5 0 0.5 1
GRÁFICOS EN MATLAB
• Diagrama de sectores
3% 2%
2%
PP
4%
x=[183 125 15 8 7 12] PSOE
CiU
pie(x),legend('PP', IU
'PSOE','CiU','IU','PNV','Otros') PNV
Otros
52%
36%
GRÁFICOS EN MATLAB
• Diagrama de Pareto
350 100%
150 43%
100 29%
50 14%
0 0%
1 2 3
GRÁFICOS EN MATLAB
Gráfica de funciones implícitas
f ='[tan(x),sin(x),cos(x)]'; 5
g ='sin(1 ./ x)';
subplot(2,1,1), 0
fplot(f,2*pi*[-1 1 -1 1])
subplot(2,1,2), -5
0.5
-0.5
-1
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
GRÁFICOS EN MATLAB
Creando trazos desde Workspace
>> x=0:.1:4*pi;
>> z = (sin(x.^2) + cos(x).^2);
GRÁFICOS EN MATLAB
Funciones definidas por trozos
>> x=1:7
x=
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
>> y=(x>2)&(x<=6)
y=
0 0 1 1 1 1 0
GRÁFICOS EN MATLAB
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
3 Ejercicio
2.5
1.5
0.5
-0.5
-1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
GRÁFICOS EN MATLAB
GRÁFICOS TRIDIMENSIONALES
GRÁFICOS EN MATLAB
GRÁFICOS TRIDIMENSIONALES
Gráficos
Gráficos Gráficos de de área y Gráficos de Gráficas de Gráficas
de línea Barras y objetos superficie dirección volumétrico
mallado constructivos
GRÁFICOS EN MATLAB
Trazado de líneas en 3-D
plot3(X1,Y1,Z1,...) 40
plot3(X1,Y1,Z1,LineSpec,...)
30
plot3(...,'PropertyName',PropertyValue,...)
h = plot3(...) 20
t
Ejemplo 10
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t) 0
1
xlabel('sin(t)') 0.5 1
0.5
ylabel('cos(t)') 0
0
-0.5
zlabel('t') -1 -1
-0.5
cos(t)
grid on sin(t)
axis square
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))
30
25
30
20 25
20
15
15
10
10
1.5
5 5
1
0 0.5
0 -1.5
1 -1 0
0.5 1 -0.5
-0.5
0
0 0.5 0.5 -1
0 1
-0.5 -0.5 1.5 -1.5
-1 -1
GRÁFICOS EN MATLAB
Trazado de superficie y mallado
>> [X,Y] = meshgrid(1:3,10:14)
X=
>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
1 2 3 meshgrid : genera una
>> Z = X .* exp(-X.^2 - Y.^2);
1 2 3 matriz X cuyas filas son
>> surf(X,Y,Z)
1 2 3 del vetor x, y una matriz
1 2 3 Y cuyas columnas son el
1 2 3 0.5 vector y
Y=
10 10 10
11 11 11 0
12 12 12
13 13 13
14 14 14
-0.5
2
1 2
0 1
0
-1
-2
-1 surf: genera la gráfica de
-2
superficie
GRÁFICOS EN MATLAB
Trazado de superficie y mallado
[X,Y]= meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
figure meshgrid (x)=meshgrid(x,x)
mesh(X,Y,Z)
xlabel('X'), ylabel('Y'), zlabel('Z')
figure
mesh(X,Y,Z,'EdgeColor','black')
xlabel('X'), ylabel('Y'), zlabel('Z')
1
1
0.5
0.5
Z
0
0
-0.5
10 -0.5
5 10 10
5 5 10
0
0 5
-5 -5
0
0
-10 -10 -5
Y X -5
Y -10 -10
X
GRÁFICOS EN MATLAB
X/exp(X2 + Y2)
ezsurf :
syms X Y Z 0.5
Z = X*exp(-X^2-Y^2);
ezsurf(Z)
0
-0.5
2
2
0
0
-2 -2
Y X
GRÁFICOS EN MATLAB
(X,Y,Z)
GRÁFICOS EN MATLAB
0.5
0
0
-0.5 -1
azimut y elevación -2
-1.5
están en grados -1 -0.5 0 0.5 -2
1 1.5
sexagesimales 2
GRÁFICOS EN MATLAB
'Warm','Hot','Burning','Nuclear'})
Burning
10
Hot
5
Warm
0
Neutral
-5
Cool
-10
30
30 Cold
20
10 20
10 Freezing
0 0
GRÁFICOS EN MATLAB
Ejemplo
xa = -2:.2:2;
ya = xa;
[X Y] = meshgrid(xa,ya);
Z = X.*exp(- X.^2 - Y.^2 ); 2
figure(1) 1.5
surf(X,Y,Z)
figure(2) 1
contour(X,Y,Z) 0.5
0.5 0
-0.5
0
-1
-1.5
-0.5
2
1 2 -2
1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0
-1 -1
-2 -2
GRÁFICOS EN MATLAB
Waterfall : Trazado en cascada
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
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);
%Grafiquemos la superficie
surf(x,y,z,'edgecolor','none',...
'facecolor','yellow');
camlight left;
lighting phong;
hold on
clc;clf; 2
[x,y]=meshgrid(-2:.2:2,-4:.2:4);
1
f=y.^2.*exp(-x.^2-0.3*y.^2);
[dx,dy]=gradient(f,.2,.2); 0
figure(1)
contour(x,y,f,10); -1
hold on -2
quiver(x,y,dx,dy);
hold off -3
grid on -4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
GRÁFICOS EN MATLAB
Gráficas de contornos o curvas de nivel
GRÁFICOS EN MATLAB
syms X Y Z; Xexp(-X2-Y2)
Z = X*exp(- X^2 - Y^2 ); 3
ezcontour(Z)
2
X/exp(X2 + Y2)
0.5
Y
0
-1
0
-2
-0.5
-3
2 -3 -2 -1 0 1 2 3
2 X
0
0
-2 -2
Y X
GRÁFICOS EN MATLAB
x=[-2 0 2 0 -2];
y=[4 8 4 0 4];
z=[3 5 10 5 3];
figure
fill3(x,y,z,'m') 10
grid on
8
2
8
6 2
4 1
0
2
-1
0 -2
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)
mesh(X,Y,Z) clabel: Añade etiquetas de altura a los gráficos de contorno
figure(2)
surf(X,Y,Z)
view([10,-12,2])
10
figure(3) 0
0.1
0
0
8 0
[C,h]=contour(X,Y,Z); 0.1 0.1
0
clabel(C,h) 6
-0.1
0.1
1 -0.2 0
4 0 0.
.1 -0.2 -0.1
0
0.1 0
1 0 0 -0
2 -0.2
0.1 0.2 0.6 0.0.4
5 0.1
0.8 -0 .2 0.1 0.3 -0 .1
0 0.1 0 0. 200 .8
.76 0
00.5
-0 .2 . 3.400.50.7.60.8 0.2 0.1
0.6 0 -0 .2
-0 1 .1
-2 .1 00-0.
0.4 0
-0
-4 .1 -0.2 0
0.2 -0.2
0 0.1 -0.1
-6 0.1 0 0.1
0 0.1
-0.2 -8 0 0
0.1 0
0
-0.4 10 -10
-10 -5 5 -10 -8 -6 -4 -2 0 2 4 6 8 10
0 0
5 -5
10 -10
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.5
10
-0.5
10 5 10
5 10 0 5
0 5 0
-5 -5
0
-5 -10
-5 -10
-10 -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);
Dond M puede ser: Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+0.1);
surf(X,Y,Z)
colormap(Summer)
0.5
-0.5
10
5 10
0 5
0
-5 -5
-10 -10
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
x=linspace(0,1,10); x=linspace(0,1,10);
y=x./2; y=x./2;
z=sin(x)+cos(y); z=sin(x)+cos(y);
figure figure
stem3(x,y,z, 'fill') stem3(x,y,z)
2
2
1.5
1.5
1
1
0.5
0.5
0 0
0.8 0.8
0.6 1 0.6 1
0.8 0.8
0.4 0.6 0.4 0.6
0.2 0.4 0.2 0.4
0.2 0.2
0 0 0 0
GRÁFICOS EN MATLAB
ESFERA
Algunas superficies
esphere
1
>>sphere,axis square,title('ESFERA')
0.5
cylinder (R):
0
Genera un cilindro de revolución de radio
R, dicho radio puede ser variable R(t) -0.5
>> t=linspace(0,2,20);r=sqrt(t);cylinder(r) -1
1
0.5 1
0 0.5
1 0
-0.5
-0.5
0.8
-1 -1
0.6
0.4
0.2 Representar:
0
2
1 2
0 1
0
-1
-1
-2 -2