generación de gráficos

25
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 el estudio e investigación de tecnologías de telecomunicaciones 1 Matlab es una marca registrada de The MathWorks, Inc 1

Upload: nelson-bazualdo-guzman

Post on 18-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Generación de Gráficos

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 *

Page 3: Generación de Gráficos

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

Page 4: Generación de Gráficos

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

Page 5: Generación de Gráficos

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)

>>

Page 6: Generación de Gráficos

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

Page 7: Generación de Gráficos

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 

Page 8: Generación de Gráficos

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,< 

Page 9: Generación de Gráficos

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,)

Page 10: Generación de Gráficos

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,)

Page 11: Generación de Gráficos

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<

Page 12: Generación de Gráficos

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

Page 13: Generación de Gráficos

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

Page 14: Generación de Gráficos

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

Page 15: Generación de Gráficos

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 

Page 16: Generación de Gráficos

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

Page 17: Generación de Gráficos

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)

Page 18: Generación de Gráficos

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

Page 19: Generación de Gráficos

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

Page 20: Generación de Gráficos

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)

Page 21: Generación de Gráficos

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

Page 22: Generación de Gráficos

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<

Page 23: Generación de Gráficos

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

Page 24: Generación de Gráficos

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)

Page 25: Generación de Gráficos

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)#