Professional Documents
Culture Documents
Introduccin a Matlab
Fundamentos y aplicaciones en el
estudio e investigacin de
tecnologas de telecomunicaciones
1 Matlab es una marca registrada de The
MathWorks, Inc.
Contenido
Generalidades de Matlab
Manejo de matrices y vectores
Generacin de Grficos
Funciones y Programacin
Procesamiento bsico de seales
Simulacin grfica mediante Simulink
Estudio de casos
12/15/15
Grficos 2D y 3D
Carga de datos
1.0000
1.4142
1.7321
2.0000
2.2361
2.4495
2.6458
2.8284
3.0000
3.1623
1.0000
4.0000
9.0000
16.0000
25.0000
36.0000
49.0000
64.0000
81.0000
100.0000
Grficos 2D y 3D
Carga de datos
1.0000
1.4142
1.7321
2.0000
2.2361
2.4495
2.6458
2.8284
3.0000
3.1623
1.0000
4.0000
9.0000
16.0000
25.0000
36.0000
49.0000
64.0000
81.0000
100.0000
Grficos 2D y 3D
Carga de datos
>> sonido=wavread('tiza2.wav');
>> wavplay(sonido, 44100)
>> sound(sonido, 44100)
>>
Grficos 2D y 3D
Carga de datos
100
200
300
400
500
600
700
100
200
300
400
500
600
700
800
900
1000
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.
Grficos 2D y 3D
main_dibujos
.m
clear
x=linspace(0,2*pi,100);
y=sin(x);
figure(1)
plot(x,y,'ro')
hold on
y2=2.*sin(x).*cos(x);
plot(x,y2,'m','Linewidth',2)
hold of
grid %pone la cuadricula de fondo
grid %quita la cuadricula de fondo
axis([0 2*pi -1 1])
set(gca,'XTick',0:pi/2:2*pi)
set(gca,'XTicklabel',{'0','p/2','p','3p/2','2p'})
%Cambiar la fuente de los ejes a Symbol
axis of %quita los ejes
axis on % los vuelve a poner
xlabel('x=angulo en radianes'),ylabel('y')
legend('sin(x)','sin(2x)')
title('y=sin(x), y=sin(2x)')
figure(2)
subplot(2,3,1)
plot(x,y,'g+')
subplot(2,3,2)
plot(x,y,'r--')
subplot(2,3,3)
plot(x,y,'co')
subplot(2,3,4)
plot(x,y,'k')
subplot(2,3,5)
plot(x,y,'bs')
subplot(2,3,6)
plot(x,y,'m:')
figure(3)
t=linspace(0,2*pi,100)
%pinta una circunferencia rellena de color
rojo
fill(cos(t),sin(t),'r')
figure(4)
t=linspace(0,6*pi,100);
plot3(sin(t),cos(t),t,'Linewidth',4)
Grficos 2D y 3D
Funciones grficas 2D y 3D elementales
plot3(X,Y,Z, opcin)
Grficos 2D y 3D
Eleccin de la escala de los ejes
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.
Grficos 2D y 3D
1
0.8
Nombre de la figura
f=figure
set(f, name, Figura principal, numbertitleof)
y yellow . punto
m magenta o crculo
c cyan x cruz
r red + suma
g green - solido
b blue * estrella
w white : punteado
k blacK -- a trazos
s cuadrado
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
10
12
plot(t,sin(t),'b:')
14
16
18
20
Grficos 2D y 3D
Funciones para aadir ttulos a la grfica
Grficos 2D y 3D
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
Grficos 2D y 3D
main_dibujo_superfi
cie.m
clear
x=linspace(-3,3,15);
y=linspace(-3,3,10);
[X,Y]=meshgrid(x,y); %x varia por columnas, y varia por
filas
Z=X.^2+Y.^2;
figure(1)
surf(X,Y,Z,gradient(Z))
view(70,15)
figure(2)
subplot(2,2,1)
surf(X,Y,Z,gradient(Z))
subplot(2,2,2)
surf(X,Y,Z,gradient(Z))
shading flat
subplot(2,2,3)
surf(X,Y,Z,gradient(Z))
shading interp
subplot(2,2,4)
surf(X,Y,Z,gradient(Z))
shading faceted %(por defecto)
%title(num2str(Z(1,1)))
figure(3)
mesh(X,Y,Z);
xlabel('x'),ylabel('y'),zlabel('z')
figure(4)
pcolor(Z)
xlabel('x'),ylabel('y'),zlabel('z')
figure(5)
v=[1,2.5,4,8,9]
cs=contour(X,Y,Z,v)
clabel(cs)
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)
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
x=linspace(-3,3,15);
y=linspace(-3,3,10);
[X,Y]=meshgrid(x,y);
% x varia por columnas, y varia % por filas
20
Z=X.^2+Y.^2;
figure(1)
surf(X,Y,Z,gradient(Z))
view(70,15)
15
10
0
-5
0
5
-3
-2
-1
Grficos 2D y 3D
figure(2)
subplot(2,2,1)
surf(X,Y,Z,gradient(Z))
subplot(2,2,2)
surf(X,Y,Z,gradient(Z))
shading flat
subplot(2,2,3)
surf(X,Y,Z,gradient(Z))
shading interp
subplot(2,2,4)
surf(X,Y,Z,gradient(Z))
shading faceted %(por defecto)
%title(num2str(Z(1,1)))
20
20
10
10
0
5
0
5
-5 -5
20
20
10
10
0
5
0
5
-5 -5
-5 -5
-5 -5
Grficos 2D y 3D
10
figure(3)
mesh(X,Y,Z);
xlabel('x'),ylabel('y'),zlabel('z')
9
8
7
6
figure(4)
pcolor(Z)
xlabel('x'),ylabel('y'),zlabel('z')
5
4
3
2
1
20
8
x
10
15
10
5
9
0
4
2
0
-2
y
-4
-4
-2
x
figure(5)
v=[1,2.5,4,8,9]
cs=contour(X,Y,Z,v)
clabel(cs)
-1
2.5
8
-2
-3
-3
-2
-1
12
14
Grficos 2D y 3D
Transformacin de coordenadas
[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
Transformacin de coordenadas
>> [tetha,
rho]=cart2pol(x,y);
>> polar(tetha, rho),
title('Polar') Polar
90
120
0.4
0.3
60
0.3
150
0.2
0.5
30
0.2
0.1
0.1
0
180
-0.1
-0.2
210
-0.3
-0.4
-0.5
-0.5
330
240
-0.4
-0.3
-0.2
-0.1
0.1
0.2
0.3
0.4
0.5
300
270
Grficos 2D y 3D
Transformacin de coordenadas
Cartesiano
2
1.5
>> [tetha,
rho]=cart2pol(x,y);
>> polar(tetha, rho),
title('Polar')
1
0.5
0
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
Grficos 2D y 3D
Creacin de pelculas
Grficos 2D y 3D
Creacin de pelculas
% initializar vectores (x and y) y ejes
nx=40;
x=linspace(-2,2,nx);
y=exp(-8*x.*x);
plot(x,y);
lim=axis;
% nframes = numero de frames en la pelicula
nframes=40;
M=moviein(nframes);
% Nota: se puede ahorrar memoria usando
% imagenes mas reducidas
% y los comandos para get y set el tamano son...
%get(gca,'Position')
%set(gca,'Position',[0.13
0.11
0.5
0.6]);
% loop to produce frames of the movie (frames
stored in matrix M)
dt=2/nframes;
for it=1:nframes
z=x-sin(2*pi*it*dt);
y=exp(-8*z.*z);
plot(x,y)
axis(lim)
drawnow;
M(:,it)=getframe;
end;
% various commands to show movie
movie(M);
movie(M,3);