Generación de Gráficos

Post on 18-Feb-2018

216 views 0 download

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