Download - Generación de Gráficos
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 1/25
Introducción a Matlab®
Fundamentos y aplicaciones en elestudio e investigación de
tecnologías de telecomunicaciones
1 Matlab es una marca registrada de The
MathWorks, Inc
1
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 2/25
!ontenido
• "eneralidades de Matlab
• Mane#o de matrices y vectores
•
"eneración de "r$%cos• Funciones y &rogramación
• &rocesamiento b$sico de se'ales
•
(imulación gr$%ca mediante (imulink• )studio de casos
1*+1+1 -os. /uis Mu'o0 Me0a *
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 3/25
"r$%cos * y 2
Carga de datos• Tipos de archivos cargados mediante load
– M3T4 variables de Matlab almacenadas usando save – T5T4 archivo de te6to – !(7,4 archivo con campos separados por comas –
3T4 Te6to 8ormateado – /M4 Te6to delimitado – T394 Te6to separado por tabulaciones
>> clear
>> load datos>> datos
datos =
1.0000 1.0000 1.0000
2.0000 1.4142 4.0000
3.0000 1.7321 9.0000
4.0000 2.0000 16.0000
5.0000 2.2361 25.0000 6.0000 2.4495 36.0000
7.0000 2.6458 49.0000
8.0000 2.8284 64.0000
9.0000 3.0000 81.0000
10.0000 3.1623 100.0000
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 4/25
"r$%cos * y 2
Carga de datos• Tipos de archivos cargados mediante xlsread
– :o#as de c$lculo en )6cel ;5/(<
>> datos = xlsread('numeros.xlsx')
datos =
1.0000 1.0000 1.0000
2.0000 1.4142 4.0000
3.0000 1.7321 9.0000
4.0000 2.0000 16.0000
5.0000 2.2361 25.0000
6.0000 2.4495 36.0000
7.0000 2.6458 49.0000 8.0000 2.8284 64.0000
9.0000 3.0000 81.0000
10.0000 3.1623 100.0000
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 5/25
"r$%cos * y 2
Carga de datos• Tipos de archivos cargados mediante wavread
– 3rchivos de sonido en 8ormato W37
>> sonido=a!read('ti"a2.a!')#
>> a!$la%(sonido& 44100)>> sound(sonido& 44100)
>>
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 6/25
"r$%cos * y 2
Carga de datos• Tipos de archivos cargados mediante imread
– 3rchivos de im$genes en 8ormato -&)", 9M&, etc>> imaen=imread('ucan.$')#
>> imae(imaen)
100 200 300 400 500 600 700 800 900 1000
100
200
300
400
500
600
700
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 7/25
"r$%cos * y 2
Funciones gráfcas 2D y 3D elementales
• 2D: $lot() crea un gr$%co a partir de vectores con escalas lineales sobreambos e#es,
== $lot(*&+&,o$ci-n,) ;opción4 permite elegir color y tra0o de la curva<
– old on4 permite pintar m$s gr$%cos en la misma %gura
se desactiva con old o//) – rid 3ctiva una cuadrícula en el dibu#o
)scribiendo de nuevo rid se desactiva
• 2D: lolo() escala logarítmica en ambos e#es, – semilox() escala lineal en el e#e de ordenadas y logarítmica en el e#e de abscisas,
semilo%() escala lineal en abscisas y logarítmica en ordenadas
)#emplo4 main_dibujosm, y ver en emos4 "raphics
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 8/25
clear 6>linspace;?,*@pi,1??<Ay>sin;6<A %gure;1<plot;6,y,BroB<hold ony*>*@sin;6<@cos;6<Aplot;6,y*,BmB,B/ineCidthB,*<hold oD grid Epone la cuadricula de 8ondogrid Euita la cuadricula de 8ondoa6is;G? *@pi H1 1<set;gca,B5TickB,?4pi+*4*@pi<set;gca,B5TicklabelB,JB?B,Bp+*B,BpB,B2p+*B,B*pBK<E!ambiar la 8uente de los e#es a (ymbola6is oD Euita los e#esa6is on E los vuelve a poner 6label;B6>angulo en radianesB<,ylabel;ByB<legend;Bsin;6<B,Bsin;*6<B<title;By>sin;6<, y>sin;*6<B<
"r$%cos * y 2main_dibujos
m %gure;*<subplot;*,2,1<plot;6,y,BgLB<subplot;*,2,*<plot;6,y,BrHHB<subplot;*,2,2<plot;6,y,BcoB<subplot;*,2,<plot;6,y,BkB<subplot;*,2,<plot;6,y,BbsB<subplot;*,2,N<plot;6,y,Bm4B< %gure;2<t>linspace;?,*@pi,1??<Epinta una circun8erencia rellena de colorro#o%ll;cos;t<,sin;t<,BrB<%gure;<t>linspace;?,N@pi,1??<Aplot2;sin;t<,cos;t<,t,B/ineCidthB,<
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 9/25
"r$%cos * y 2
Funciones gráfcas 2D y 3D elementales
• 2D: su$lot(n&m&) subdivide una ventana gr$%ca se puede enm particiones hori0ontales y n verticales y ! es la subdivisión
ue se activa
• 2D: $olar(nulo&radio) para pintar en polares
• 2D: /ill(x&%&,o$ci-n,) dibu#a una curva cerrada y la rellena
del color ue se indiue en OopciónP
• 3D: $lot3 es an$loga a su homóloga bidimensional "lot
$lot3(*&+&& ,o$ci-n,)
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 10/25
"r$%cos * y 2
#lecci$n de la escala de los ejes
• axis(x0 x1 %0 %1) ;*<, axis([x0 x1 y0 y1 z0 z1]) ;2<
• axis auto: devuelve la escala a la de de8ecto
• axis off: desactiva los etiuetados de los e#es desapareciendo los e#es,sus etiuetas y la malla, axis on4 lo activa de nuevo
• axis equal: los mismos 8actores de escala para los dos e#es
• axis square: cierra con un cuadrado la región delimitada por los e#es decoordenadas actuales
• &ara elegir las etiuetas ue aparecen en los e#es4
– set(ca& *ic,&$i$i:2&$i) ;gca 4 get current a6is – set(ca& *iclael,&(<$i,&,$i:2,&0&,$i:2,&,$i,)
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 11/25
"r$%cos * y 2
%odifcaci$n de in&ormaci$n de fguras
• Qombre de la %gura8>%gure
set;8, OnameP, OFigura principalP, OnumbertitlePPoDP<
• Modi%cación de tipos de letrasset;gca, BFontQameB,OTipo de /etra<
'"ciones de color y tra(o de gráfcos
y yellow "untom magentao crculoc cyan x cru(r red * suma
g green + solidob blue , estrellaw w-ite : "unteado! blac. ++ a tra(os
s cuadrado
0 2 4 6 8 10 12 14 16 18 20-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
plot;t,sin;t<,Bb4B<
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 12/25
"r$%cos * y 2
Funciones "ara a/adir ttulos a la gráfca
• title('ttulo') a'ade un título al dibu#o &ara incluir en el te6to el valorde una variable num.rica es preciso trans8ormarla mediante 4
–
int2str(n) convierte el valor de la variable entera n en car$cter – num2str(x) convierte el valor de la variable real o comple#a 6 encar$cter )#emplo4 title(num2str(x))
• xlael(texto,) a'ade una etiueta al e#e de abscisas !onxlael o// desaparece /o mismo %lael(texto,) o"lael(texto,)
• text(x&%&'texto') introduce Bte6toB en el lugar especi%cado por lascoordenadas 6 e y (i 6 e y son vectores, el te6to se repite por cada parde elementos
• text('texto') introduce texto con ayuda del ratón
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 13/25
"r$%cos * y 2Funciones de %atlab "ara gráfcos 2D y 3D
• Imprimir gr$%cos4 ?rint ;botón File en ventana gr$%ca<
• "uardar gr$%cos4 @a!e ;botón File en ventana gr$%ca<4 (e
crea un %chero %g ue podr$ volver a editarse y modi%carse
• )6portar gr$%cos4 Ax$ort ;botón File en ventana gr$%ca<
• /iure(n)4 /lamar una nueva %gura o re8erirnos a una %gura
ya hecha
• close all borra todas las %guras, close(/iure(n)) unaen concreto
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 14/25
)#ercicio I
Representar las 8unciones4
y1> sin;2 S 6<+e6
y*>cos;2S 6<+e6
con 6 variando entre ? y 2 S,obteniendo una nica 8igura de la 8orma4
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 15/25
"r$%cos * y 2
0e"resentaci$n gráfca de su"erfcies
• !reación de una malla a partir de vectores *& +=mesrid(x&%)
• "r$%ca de la malla construida sobre la super%cie U;5,V<4 mes(*&+&)& mesc(*&+&) ;dibu#a adem$s líneas de nivel en el plano 0>?<
•
"r$%ca de la super%cie U;5,V<4 sur/(*&+&)& sur/c(*&+&)• $color() dibu#a proyección con sombras de color sobre el plano ;la
gama de colores est$ en consonancia con las variaciones de U<• contour(*&+&&!) y contour3(*&+&&!) generan las líneas de nivel
de una super%cie para los valores dados en v &ara etiuetar las líneas,primero cs=contour() ;para saber los valores del contorno< y luegoclael(cs) o directamente clael(cs&!)
• )#emplo: main_dibujo_su"erfciem y ver en emos4 "raphics
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 16/25
"r$%cos * y 2
clear 6>linspace;H2,2,1<Ay>linspace;H2,2,1?<AG5,V>meshgrid;6,y<A E6 varia por columnas, y varia por%las
U>5*LV*A%gure;1<sur8;5,V,U,gradient;U<<vieC;X?,1< %gure;*<subplot;*,*,1<sur8;5,V,U,gradient;U<<subplot;*,*,*<sur8;5,V,U,gradient;U<<shading Yatsubplot;*,*,2<sur8;5,V,U,gradient;U<<shading interp
subplot;*,*,<sur8;5,V,U,gradient;U<<shading 8aceted E;por de8ecto<Etitle;num*str;U;1,1<<<%gure;2<mesh;5,V,U<A6label;B6B<,ylabel;ByB<,0label;B0B< %gure;<pcolor;U<6label;B6B<,ylabel;ByB<,0label;B0B< %gure;<
v>G1,*,,Z,[cs>contour;5,V,U,v<clabel;cs<
main_dibujo_su"erfciem
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 17/25
"r$%cos * y 2
0e"resentaci$n gráfca de su"erfcies • i8erentes 8ormas de representar los polígonos coloreados4
– s-ading 1at: sombrea con color constante para cada polígono – s-ading inter"4 sombrea calculado por interpolación de colores
entre los v.rtices de cada polígono –
s-ading &aceted4 sombreado constante con líneas negrassuperpuestas ;opción por de8ecto<
• -idden o ;desactiva la desaparición de líneas escondidas<, -iddenon ;lo activa<
• Manipulación de gr$%cos – viewa(imut4 elev)4 view5xd4yd4(d6) – rotate-4d4a) o rotate-4d4a4o)4 OhP es el ob#eto, OdP es un vector
ue indica la dirección, OaP un $ngulo y OoP el origen de rotación – )n ventana gr$%ca4 7iew camera toolbar)
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 18/25
"r$%cos * y 2
x=lins$ace(3&3&15)#
%=lins$ace(3&3&10)#
*&+=mesrid(x&%)#
; x !aria $or columnas& % !aria ; $or /ilas
=*.B2C+.B2#
/iure(1)
sur/(*&+&&radient())
!ie(70&15)
-5
0
5 -3 -2 -1 0 1 2 3
0
5
10
15
20
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 19/25
"r$%cos * y 2
/iure(2)
su$lot(2&2&1)
sur/(*&+&&radient())
su$lot(2&2&2)
sur/(*&+&&radient())
sadin /lat
su$lot(2&2&3)
sur/(*&+&&radient())
sadin inter$
su$lot(2&2&4)
sur/(*&+&&radient())
sadin /aceted ;($or de/ecto)
;title(num2str((1&1)))
-50
5
-5
0
50
10
20
-50
5
-5
0
50
10
20
-50
5
-5
0
50
10
20
-50
5
-5
0
50
10
20
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 20/25
"r$%cos * y 2
/iure(3)
mes(*&+&)#
xlael('x')&%lael('%')&"lael('"')
-4
-2
0
2
4
-4
-2
0
2
40
5
10
15
20
xy
z
2 4 6 8 10 12 141
2
3
4
5
6
7
8
9
10
x
y
.
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
/iure(4)
$color()
xlael('x')&%lael('%')&"lael('"')
/iure(5)
!=1&2.5&4&8&9
cs=contour(*&+&&!)
clael(cs)
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 21/25
"r$%cos * y 2
8rans&ormaci$n de coordenadas• Gang,rad>cart2"olx4y)4 de cartesianas a polares• Gang,rad,0>cart2"olx4y4()4 de cartesianas a cilindricas
• G6,y>"ol2cartang4rad)4 de polares a cartesianas• G6,y,0>"ol2cartang4rad4()4 de cilindricas a
cartesianas
• Gang6,ang0,rad>cart2s"-x4y4()4 de cartesianas a
es8ericas• G6,y,0>a"-2cartangx4ang(4rad)4 de es8ericas a
cartesianas
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 22/25
"r$%cos * y 2
8rans&ormaci$n de coordenadas• Gang,rad>cart2"olx4y)4 de cartesianas a polares
== t>?4??14*@piA==
6>cos;t<@cos;*@t<@sin;*@t<A==y>sin;t<@cos;*@t<@sin;*@t<A== plot;6,y<,title;B!artesianoB<
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5Cartesiano
0.1
0.2
0.3
0.4
0.5
30
210
60
240
90
270
120
300
150
330
180 0
Polar
== Gtetha,rho>cart2"olx4y)9== polar;tetha, rho<,title;B&olarB<
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 23/25
"r$%cos * y 2
8rans&ormaci$n de coordenadas• G6,y>"ol2cartang4rad)4 de polares a cartesianas
== r>linspace;?,*<A== theta > linspace;?,
1?@pi<A== G6, y>pol*cart;theta,r<A== 0>6Li@yA== plot;0<,title;B!artesianoB<
== Gtetha,rho>cart2"olx4y)9== polar;tetha, rho<,title;B&olarB<
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2Cartesiano
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 24/25
"r$%cos * y 2
Creaci$n de "elculas
• \na película se compone de varias im$genes ;8rames<
• getframe se emplea para guardar todas esas im$genes evuelve un vectorcolumna con la in8ormación necesaria para reproducir la imagen ue se
acaba de representar, por e#emplo con la 8unción "lot )sos vectores sealmacenan en una matri0 %
• movie(M,n,fps) representa n veces la película almacenada en % a unavelocidad de &"s im$genes por segundo
x=00.012D$i#
/or =110$lot(x&sin(Dx):2)
E()=getframe#
end
movie(E&4&6)
7/23/2019 Generación de Gráficos
http://slidepdf.com/reader/full/generacion-de-graficos 25/25
"r$%cos * y 2
Creaci$n de "elculas; initiali"ar !ectores (x and %) % ees
nx=40#
x=lins$ace(2&2&nx)#
%=ex$(8Dx.Dx)#
$lot(x&%)#
lim=axis#; n/rames = numero de /rames en la $elicula
n/rames=40#
E=mo!iein(n/rames)#
; Fota se $uede aorrar memoria usando
; imaenes mas reducidas
; % los comandos $ara et % set el tamano son...
;et(ca&'?osition')
;set(ca&'?osition'&0.13 0.11 0.5 0.6)#
; loo$ to $roduce /rames o/ te mo!ie (/ramesstored in matrix E)
dt=2:n/rames#
/or it=1n/rames
"=xsin(2D$iDitDdt)#
%=ex$(8D".D")#
$lot(x&%)
axis(lim)
drano# E(&it)=et/rame#
end#
; !arious commands to so mo!ie
mo!ie(E)#
mo!ie(E&3)#