Você está na página 1de 58

Universidade Federal Fluminense Centro Tecnolgico Escola de Engenharia Curso de Engenharia de Telecomunicaes Programa de Educao Tutorial Grupo PET-Tele

Apostila de Introduo ao Matlab


(Verso: 2k80801)

Niteri - RJ Julho / 2008

Prefcio
endo em vist s diretrizes do wig em esquisD insino e ixtensoD o rogrm de iduo utoril @iA do urso de ingenhri de eleomunies d niversidde pederl pluminense @ppA desenvolveu um projeto de eloro de postils e ursos voltdos pr grduoF y intuito desse trlho uxilir lunos no prendizdo de tems importntes pr su formoD que esto usentes em quisquer ements de disE iplinsY eD lm dissoD servir de mteril didtio pr ursos de pito ministrdos pelos olsists do rogrm os orpos disente e doente d grduoF eixo segue list de postils preprds nesse projetoF

HTML LaTeX Linux

vingugem de progrmo pr hipertextosD priniplmente empregd n onE struo de pgins d snternet @webpages AF istem de edio de texto lrgmente utilizdo em meios dmios e ient(E osD em omo por editors nionis e internionisF sntroduo o sistem operionl vsxF

Linguagem C MATLAB Spice

vingugem de progrmo mplmente utilizd em prolems de enE genhri e omputoF emiente de simulo mtemtiD utilizdo em diverss res pro(ssionisF

emiente de simulo de iruitos eltrios @nlgios e digitisAD utilizdo em projeto de iruitos disretos e integrdosF

iste doumento destinEse introduzir o usurio o miente do Matlab F endoEse d imens quntidde de funes e d existni de um ervo de douE mento prprio inludo no progrmD est postil no pretende esgotr o tem omo um mnulF entesD pelo ontrrioD el destinEse introduzirD de form suintD o usurio o miente do progrmD mostrndo e exempli(ndo s ferrments sis de utilizE o do mesmoF r miores informes e um estudo mis profunddoD onsulte s refernis iliogr(s no (m do doumentoF muito importnteD pr um melhor prendizdoD que o leitor estej em frente um omputdor om o software instldoF medid em que se l postilD omndos e operes devem ser testdos no progrmF snteress ind menionr que sero destdosD o longo ds pginsD omndos e funes teis s disiplins do urso de ingenhri de eleomuniesD orgnizdos em sees reltivs sus pliesF

eutor tulX ltims tulizesX

ssell prn e prn fetriz gost ieiro itor de ouz vim elexndre ntos de l eg

Este documento de distribuio gratuita, sendo proibida a venda de parte ou da ntegra do documento.

Sumrio
Prefcio 1 Introduo
IFI IFP IFQ IFR PFI PFP PFQ QFI QFP QFQ QFR RFI RFP SFI SFP SFQ SFR SFS TFI TFP TFQ TFR snformes iniiis F F F F F F F tnels F F F F F F F F F F F F F F ejud F F F F F F F F F F F F F F filiotes do Matlab F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

i 1
I I P Q S S T

2 Variveis

helro F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F wnipulo F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F riveis prEde(nids F F F F F F F F F F F F F F F F F F F F F F F F F F F F F epresento numri pormtos de visulizo he(nio de mtrizes F F sndexo F F F F F F F F F F F F F F F de nmeros F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

3 Nmeros e matrizes

F U F U F V F IH

4 Operaes com matrizes 5 Funes matriciais

yperes ritmtis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IQ yperes lgis e relionis F F F F F F F F F F F F F F F F F F F F F F F F F IR wtrizes elementres F F F F F lger liner F F F F F F F F F snformes mtriiis sis wnipulo de mtrizes F F F enlise de ddos F F F F F F F punes punes punes punes F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

13

17

IU IV IW IW PI PQ PQ PR PR

6 Funes matemticas elementares

trigonomtris F F F F F F exponeniis F F F F F F F F omplexs F F F F F F F F F de rredondmento e resto

23

7 Funes polinomiais
iii

27

iv

Sumrio

8 Grcos
VFI VFP VFQ

qr(os de dus dimenses F F F F F F F F F F F F F F F F F F F F F F F F F F PW qr(os de trs dimenses F F F F F F F F F F F F F F F F F F F F F F F F F F F QQ punes uxilires F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QS

29

9 Funes polinomiais racionais complexas 10 Programao


IHFI punes e scripts IHFP gontrole de )uxo IHFPFI istruturs IHFPFP istruturs F F F F F F F F F F F F F F ondiionis de repetio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

39 43
RQ RR RR RT

A Funes relativas a aproximaes para ltros seletores em freqncia

eFI futterworth F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F RW eFP gheyshev F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F SH eFQ ilptio @guerA F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F SI

49

qrupo iEele

pp

Captulo 1 Introduo
1.1 Informaes iniciais
@revitur de MATrix LABoratory E vortrio de wtrizesA um software de simulo mtemti que reliz operes mtriiisD onstri gr(os em dus ou trs dimensesD uxili no proessmento de sinisD lm de mnipulr outrs funes espeilizdsF ile trlh om um lingugem de progrmo de ltoEnvelD em um miente intertivoD pr o desenvolvimento de lgoritmosD nlise e visulizo de ddos e omE puto numriF rprio pr s res tnis e ient(sD o software tem funes de trtmento numrio de lto desempenhoD pzes de resolver prolems omputionis tnios de form mis e(iente do que s trdiionis lingugens de progrmoF elm do miente intertivoD outr filidde do Matlab possiilidde de exE euo de rquivos texto ontendo um seqni de instrues de(nids pelo usurioF isses rquivos textoD que tm extenso Fm9D podem ser ridos e editdos dentro ou for do seu mienteF y

Matlab

1.2 Janelas
etrvs de ojetos gr(os denomindos jnelsD o usurio oper s funionliddes do progrm de form intertivF e jnel prinipl do Matlab hmEse Command Window @tnel de gomndoAD onde os ddos e instrues so digitdos no prompt >>9 pelo usurio eD ps tel Enter ser pressiondD o progrm os proess imeditmente e expe n tel o resultdoF ys omndos digitdos so rmzendos em um buer de omndosD no qul podeEse nvegr usndo s tels seta-para-cima 9 e seta-para-baixo 9F elm dissoD telndoEse o texto str9D por exemploD e usndoEse s sets 9 e 9D nvegEse por todos os omndos iniidos om o texto str9F e tel Esc limp o que estiver esrito n linh do omndoF gomndos termindos om pontoEeEvrgul no exiem s vriveis de respost n telF y uso do pontoEeEvrgul til qundo impresso do resultdo n tel no interessD ou qundo impresso muito extens omoD por exemploD pr um mtriz 1000 1000F heveEse ressltr queD pesr d impresso ser suspensD o omndo exeutdo pelo progrmF rios omndos podem ser digitdos n mesm linhD desde que estejm seprdos

Captulo 1. Introduo

por vrgul ou pontoEeEvrgul F gomndos muito longos pr um linh podem ser interrompidos por trs pontos FFF9 e ontinudos n linh seguinteF y exemplo seguir ilustrtivo qunto esses detlhesF

>> a=1, b=... 2; c=a+b a = c = 1 3

importnte pontr que tnel de gomndo normlmente usd pr testes de omndos e funes ou simples operesF undo se desej implementr lgum proE grmD projeto ou trlhoD utilizEse o M-File EditorF xeste editorD riEse um rquivo texto Fm9 om os omndos desejdosF r rir um novo rquivoEwD lique em File > New > M-le ou simplesmente digite o omndo editF eps esrever o progrmD podeEse exeutElo pel tel de tlho F5F elm d tnel de gomndo e do iditor de erquivoEwD h ind s jnels HelpD Command HistoryD Current Directory e WorkspaceD que esto respetivmente relionds om judD histrio dos ltimos omndos digitdosD diretrio orrente do progrm e o espo de trlho onde se visulizm ddos e vriveisF isss jnels podem ser mnE tids fehds ou erts dependendo d neessidde ou gosto do usurioF isss outrs jnels no so detlhds nesse doumentoF

1.3 Ajuda
etrvs do omndo helpD o usurio pode onsultr jud do Matlab F isrevendoE se help e o nome d funoD mostrdo um pequeno resumo d funo @normlmente de um linhA seguido de um desrio mis detlhd d mesmF

>> help ones ONES Ones array. ONES(N) is an N-by-N matrix of ones. ONES(M,N) or ONES([M,N]) is an M-by-N matrix of ones. ONES(M,N,P,...) is an M-by-N-by-P-by-... array of ones. ONES(SIZE(A)) is the same size as A and all ones. See also ZEROS.
possvel ind prourr por funes ujos resumos ontenhm determind plvrE hveF r istoD st digitr o omndo lookfor seguido d plvr desejdF gso se queir interromper usD deveEse telr CTRL+CF

qrupo iEele

pp

1.4. Bibliotecas do Matlab

>> lookfor ones ONES Ones array. SPONES Replace nonzero sparse matrix elements with ones. SLUPDATE Replace blocks from a previous release with newer ones. FPUPDATE Replace blocks from a previous release with newer ones. FPUPDT Replace older 1.x blocks with newer 1.1 ones. BUFFERM buffer zones for vector data. ONEM Constructs a regular matrix map of all ones. UPDATEXPCENV Updates the new Environment settings to become the current ones. DRAMADAH Matrix of zeros and ones with large determinant or inverse.

1.4 Bibliotecas do

y Matlab present um srie de omndosD operdores e funes primitivsD orgE nizds por tegorisD ssim omo rotins espe(s de diverss res d engenhriD orgnizds em iliotes denominds ToolboxesF ists tegoris e iliotes so desE ignds por tpios primriosF r visulizo de todos estes tpiosD st digitr o omndo helpF elguns desses tpios primrios soX

Matlab

general E omndos geris ops E operdores e rteres espeiis control E iliote de sistems de ontroles signal E iliote de proessmento de sinis optim E iliote de otimizo
yutrs iliotes rngem mpos vridos omo quisio e proessmento de imgemD ioEinformtiD teleomuniesD lgi difus e relidde virtulF r se profundr mis em qulquer ilioteD st digitr o omndo help tpicoF

pp

qrupo iEele

Captulo 1. Introduo

qrupo iEele

pp

Captulo 2 Variveis
2.1 Declarao
hdo que o progrm oferee um miente de exeuo de um lingugem interpretdD um rtersti onveniente do Matlab que s vriveis no preism ser dimenE sionds ntes do usoD pois so gerds utomtimente o serem utilizdsF r rir eGou rmzenr informes em vriveis de(nids pelo usurioD st digitr o nome d vrivel seguido do sinl de igul =9 e d expresso desejdF x esolh dos nomes ds vriveisD devem ser oedeidos os seguintes ritriosX

os rteres podem ser lfnumrios @letrs e nmerosAD desde que iniidos por letrsY letrs misuls e minsuls de(nem nomes diferentes @lingugem case sensitive AY o rter 9 @underscoreDunderline ou sulinhdoA pode ser usdo no meio do nomeY so permitidos nomes omD no mximoD QP rteresF
gso sej exeutd um expresso que gere um vlor omo resultdoD eD ness exE pressoD no hj um triuio do resultdo pr lgum vrivel de(nid pelo usurioD o resultdo ser rmzendo n vrivel ansD prEde(nid pelo mienteF

2.2 Manipulao
ixistem omndos prprios pr mnipulo de vriveisF eixo esto listdos os mis utilizdosF

whoX clearX

vist os nomes ds vriveisF vist o nome e o tipo ds vriveisF

whosX

ilimin tods s vriveis d re de trlhoF r se pgr um ou mis vriveis utilizEse o omndo clear seguido dos nomes ds vriveis seprds por espoF

Captulo 2. Variveis

saveX

lv s vriveis em rquivoD podendo utilizEls novmente n prxim vez que o progrm for iniilizdo ou mesmo qundo exeutdo o omndo clearF

loadX clcX

euper s vriveis previmente slvs em rquivo pelo omndo

saveF

vimp jnel de omndosF

2.3 Variveis pr-denidas


xo Matlab D existem lgums vriveis prEde(nids que podem ser teis o usurioD s quis so listds n el PFIF

Varivel

ans pi eps inf NaN ou nan i ou j nargin nargout realmin realmax bitmax

Representao
rivel pdro pr rmzenr resultdosF zo entre o permetro d irunferni e o seu dimetroF reiso de ponto )utunteD ou distni entre I e prximo nmero relF sn(nito @por exemploD resultdo d diviso IGHAF Not-a-Number ou vlor noEnumrio @exemploX resultdo de HGHAF nidde numri imginriD igul 1F xmero de rgumentos de entrd de um funoF xmero de rgumentos de sd de um funoF wenor nmero rel positivo utilizvelF wior nmero rel positivo utilizvelF wior nmero inteiro positivo utilizvelF el PFIX riveis prEde(nidsF

gso o usurio de(n e utilize um vrivel om o mesmo nome de lgum ds vriveis ou ds funes prEde(nidsD el funionr omo um vrivel omumD perdendo seu signi(do originlF undo pgdD el retornr o seu omportmento prEde(nidoF

>> i=999 i = 999 >> clear i >> i ans = 0 + 1.0000i

qrupo iEele

pp

Captulo 3 Nmeros e matrizes


3.1 Representao numrica
ods s informes numris do Matlab so rmzends so form de mtrizesF eD por exemploD for digitdo o nmero S no miente do progrmD este vlor ser interpretdo omo um mtriz de dimenso IIF xmeros negtivosD om ss deimisD omplexos e so form de noto ient( podem ser representdos no Matlab usndoEse seguinte simologiX

nmeros negtivosX 9 Y
ixFX 5

nmeros om ss deimisX .9 Y
ixFX 3.2

nmeros omplexosX i9 ou j 9 @omo su(xosD direit d prte imginriD ou omo funesD equivlentes riz qudrd de EIAY
ixFX 3 + 5iD 3 + 5j D 3 + 5 iD 3 + 5 j D 3 + i 5D 3 + j 5D 3 + 5 sqrt(1) e 3 + sqrt(1) 5F

noto ient(X e9 ou E 9F
ixFX 5e3 @equivlente 5 103 A e 2e 4 @equivlente 2 104 A

3.2 Formatos de visualizao de nmeros


odos os lulos so exeutdos no Matlab om ritmti de dupl preisoF e visulizo dos nmeros ns jnels Command Window e WorkspaceD entretntoD pode ser feit em diversos formtosF or de(nioD o Matlab exie os resultdos em trs formtos diferentesX inteiroD rel om qutro ss deimis ou em noto ient(D dotndo quel que melhor onvirF isse omportmento pdro pode ser lterdo lindoEse em File > PreferencesD ou simplesmente digitndo n tnel de gomndo instruo format seguid do formto espe(oF e el QFI ilustr d um delesD exiindo o nmero 2 omo exemploF

Captulo 3. Nmeros e matrizes

format short format long format short e format long e format short g format long g format hex format + format bank format rat format debug

Comando

2 IFRIRP IFRIRPIQSTPQUQIH IFRIRPeCHHH IFRIRPIQSTPQUQHWSeCHHH IFRIRP IFRIRPIQSTPQUQI Q'THWeTTUfQd C IFRI IQWQGWVS truture ddress a IPPHV maI naI pr a IPTHHH pi a H IFRIRP

Comentrio
S dgitos @ponto (xoAF IS dgitos @ponto (xoAF S dgitos e expoente @ponto )utunteAF IS dgitos e expoente @ponto )utunteAF y melhor entre short e short eF y melhor entre long e long eF rexdeiml em ponto )utunteF ositivo +9D negtivo 9 ou zero 9F P ss deimis representndo moedF eproximo rionlF short g e informes sore rmzengem internF

el QFIX pormto d visulizo de resultdo numrioF

3.3 Denio de matrizes


ixistem diverss forms de se montr um mtrizF e mis simples dels utiliz elementos denomindos aglutinadoresD representdos simolimente por olhetesD [9 e ]9 F e funo dos glutindores onsiste em ontenr @enderAD horizontlmente ou vertiE lmenteD ddos de um mesmo tipoD podendo formr mtrizes numris ou vetores de rteres @strings AF y exemplo ixo mostr onteno de dus plvrs om um espo no meioD todos de(nidos entre sps simples @tipo rterAF

>> a=`Duas'; >> b=` '; >> c=`palavras.'; >> [a b c] ans = Duas palavras.

intendido o oneito de glutinoD que ser muito utilizdo dqui em dinteD tornE se fil tref de de(nir um mtrizF m mtriz montd linh ps linhD onde espo ou vrgul indim trnsio de olun e pontoEeEvrgul indi trnsio de linhF

qrupo iEele

pp

3.3. Denio de matrizes


>> [1,2;3,4] ans = 1 2 3 4 >> [ans [5;6]] ans = 1 2 3 4

5 6

m outr mneir de de(nir mtrizes onsiste em rir vetoresElinh om elementos em progresso ritmti trvs d simples sintxeX

valor_inicial : incremento : valor_nal


onde os vlores forneidos no preism ser neessrimente inteirosF fsimenteD o primeiro elemento do vetor rido orresponde o vlor iniil e os elementos seguintes so residos do psso @ou inrementoAD de tl mneir que nun ultrpsse o vlor (nlF gso o inremento sej omitidoD ele ser entendido omo igul IF

>> 1:5:20 ans = 1 6

11

16

>> 2.71 : 5.71 ans = 2.7100 3.7100

4.7100

5.7100

m tereir form de rir vetores utiliz funo linspaceD que esp linermente um determindo nmero de elementos entre um vlor (nl e um iniilF u sintxe X

linspace(valor_inicial, valor_nal, nmero_de_elementos)


>> linspace(0,10,5) ans = 0 2.5000

5.0000

7.5000

10.0000

e funo logspace similrD porm esp os elementos logritmimente n se IHF m diferen muito importnte em su sintxe que os vlores iniiis e (nis so potnis de IHD devendo ser esritos pens seus expoentesF

>> logspace(0,1,5) ans = 1.0000 1.7783

3.1623

5.6234

10.0000

ixistem muits outrs forms de se rir um mtrizF epens ttulo de uriosiddeD funo xlsread l um mtriz prtir de um rquivo v gerdo pelo progrm Microsoft Excel F

pp

qrupo iEele

IH

Captulo 3. Nmeros e matrizes

3.4 Indexao
y pdro de indexo mtriil no Matlab form trdiionl intuitiv (r, c)D onde r represent o nmero d linh e c represent o nmero d olunF

>> m=[.1 .2 .3 .4 .5 ; .6 .7 .8 .9 1 ; 1.1 1.2 1.3 1.4 1.5] m = 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 >> m(2,5) ans = 1
ys elementos d mtriz tmm podem ser indexdos seqenilmenteD onforme ilustrdo n el QFPF I P Q I
(1) (2) (3)

HFI HFT IFI

P
(4) (5) (6)

HFP HFU IFP

Q
(7) (8) (9)

HFQ HFV IFQ

R
(10) (11) (12)

HFR HFW IFR

S
(13) (14) (15)

HFS IFH IFS

el QFPX sndexo de elementos de um mtrizF

>> m(5) ans = 0.7000


possvel seleionr mis de um linh ou olunD usndoEse doisEpontos X9 entre os ndies iniil e (nl pr indir o intervloF undo os ndies iniil e (nl so omitidosD indiEse o intervlo inteiroF e plvr reservd `end' indi o (m d linh ou d olunF

>> m(3,1:4) ans = 1.1000 >> m(:,5) ans = 0.5000 1.0000 1.5000

1.2000

1.3000

1.4000

>> m(1,3:end) ans = 0.3000 0.4000

0.5000

qrupo iEele

pp

3.4. Indexao

II

y oneito de indexo pode ser mplido qundo no lugr dos ndies olomEse vetores ou mtrizes de ndiesF

>> m([1 3],[2 4]) ans = 0.2000 0.4000 1.2000 1.4000 >> m([1 5 9; 4 8 12]) ans = 0.1000 0.7000 0.2000 0.8000

1.3000 1.4000

gso se oloque um ndie que exed s dimenses d mtrizD o resultdo ser um mensgem de erroF or outro ldoD se for de(nido um novo elemento que exed esss mesms dimensesD ento mtriz ser redimensiond de form inluir esse novo elementoD sendo s novs posies preenhids om HF

>>m(4,6)=2.1 ans = 0.1000 0.6000 1.1000 0

0.2000 0.7000 1.2000 0

0.3000 0.8000 1.3000 0

0.4000 0.9000 1.4000 0

0.5000 1.0000 1.5000 0

0 0 0 2.1000

pp

qrupo iEele

IP

Captulo 3. Nmeros e matrizes

qrupo iEele

pp

Captulo 4 Operaes com matrizes


4.1 Operaes aritmticas
es operes ritmtis no Matlab podem ser de dois tiposX mtriil ou eslrF es operes do tipo mtriil referemEse s operes mtemtis sore mtrizesF es operes eslres so tmm denominds de operes sore onjuntosF isss ltims so relizds elementoEEelemento de d mtrizD plindoEse o operdor em questo pens entre elementos de mesm posio mtriilF he(nindoEse x = [2 3; 5 7] e y = [1 6; 2 4]D podeEse ssoiElos pelos seguintes operdoresX

+9 X dio @mtriil e eslrAF


ixFX x + y = [3 9; 7 11]

9 X sutro @mtriil e eslrAF


ixFX x y = [1 3; 3 3]

9 X multiplio mtriilF
ixFX x y = [8 24; 19 58]

/9 X diviso mtriil direitF


ixFX x/y = (x y 1 ) = x inv(y) = [0.2500 1.1250; 0.7500 2.8750] , ondeX inv(m) um funo que ser explid n eo SFPF

\9 X diviso mtriil esquerdF


ixFX x\y = (x1 y) = inv(x) y = [1.0000 30.0000; 1.0000 22.0000]

9 X potenio mtriilF
ixFX x2 = x2 = (x x) = [19 27; 45 64]

99 X trnsposio mtriilF
ixFX x = xT = [2 5; 3 7]

.9 X multiplio eslrF
ixFX x. y = [2 18; 10 28]

IQ

IR

Captulo 4. Operaes com matrizes


./9 X diviso eslr direitF
ixFX x./y = (x. y.1 ) = [2.0000 0.5000; 2.5000 1.7500]

.\9 X diviso eslr esquerdF


ixFX x.\y = (x.1 . y) = [0.5000 2.0000; 0.4000 0.5714]

F9 X potenio eslrF
ixFX x.2 = [4 9; 25 49] yservesX IF r operes entre mtriz e nmero eslrD o progrm fz um expnso eslr do nmeroD exeutndo opero entre o nmero e d elemento d mtrizF ixFX x + 3 = x + [3 3; 3 3] = [5 6; 8 10] PF e preedni de operes pode ser ontrold utilizndoEse prntesesF ixFX ((x + 3) x ) = [28 46; 67 110]

4.2 Operaes lgicas e relacionais


ys operdores relionis e lgios so usdos em expresses lgis booleanas pr imE plementr testes de tomds de deisoD forneendo resposts do tipo verddeiroGflso perguntsF r o Matlab D qulquer nmero diferente de zero represent o vlor lgio verddeiroD e zero represent o vlor lgio flsoF ys operdores relionis e lgios so presentdos n el RFIF

Operador Descrio
< <= > >= == ~= 8
wenor que wenor ou igul wior que wior ou igul sgul @no onfundir om = A hiferente de i y xy

el RFIX yperdores relionis e lgiosF interessnte ressltr que no Matlab os operdores podem ser usdos no somente om eslresD ms tmm om vetores e mtrizesD sendo opero relizd elemento elementoF

qrupo iEele

pp

4.2. Operaes lgicas e relacionais

IS

>> a=-3; b=7; >> a<b ans = 1 >> a<b & a==b ans = 0 >> x=1:10 x = 1 2 >> y=x>=5 y = 0 0

10

pp

qrupo iEele

IT

Captulo 4. Operaes com matrizes

qrupo iEele

pp

Captulo 5 Funes matriciais


ulquer funo no

Matlab

tem omo sintxe gerl o seguinte pdroX

[Sada1, ... , SadaN] = Nome (Entrada1, ... , EntradaN)


ys prmetros de entrd devem ser postos n ordem dequd e representm os ddos forneidos pelo usurioF iles so proessdos pel funoD que ger os prmetros de sdD os quis so rmzendos ns vriveis de(nids pelo usurio no omndo de hmd d funoF heveEse ressltr que os prmetros de entrd so esritos dentro de prnteses e os de sd dentro de olhetesD segundo sintxe gerl de funes e mtrizesD respetivmenteF ys prmetros de entrd podem ser forneidos de dus formsX esrevendoEse direE tmente o nmero ou mtrizD ou esrevendoEse o nome d vrivel orrespondenteF gso s vriveis de sd no sejm forneids pelo usurioD o progrm retorn pens primeir sd @Sada1 A n vrivel pdro ansF eixoD so presentds lgums ds funes mis utilizds pr rio e mnipuE lo de mtrizesF wtrizes de(nids em lguns dos exemplos podero ser utilizds em exemplos posteriores desse mesmo ptuloF e miori ds funes no Matlab present inmers opes de funionmentoF r d funoD ser orddo pens um exemplo simplesF hetlhmento ds funes pode ser otido trvs do omndo de jud help nome_da_funoF

5.1 Matrizes elementares

ri um mtriz ujos elementos so todos iguis ID ddos o nmero de linhs e oluns d mtrizD respetivmenteF

onesX

>> ones(2,3) ans = 1 1 1 1

1 1

r se rir um mtriz om todos os elementos iguis um nmero qulquer xD st multiplir mtriz gerd por x ou multiplir diretmente o omndo por x @xBonesAF

IU

IV

Captulo 5. Funes matriciais

zerosX

ri um mtriz ujos elementos so todos iguis HD ddos os nmeros de linhs e olunsF

>> zeros(3,2) ans = 0 0 0 0 0 0

eyeX

ri um mtriz identiddeD dd su ordemF

>> eye(3) ans = 1 0 0 1 0 0

0 0 1

randX

ri um mtriz de elementos pseudoEletrios om distriuio uniforme entre H e ID ddos os nmeros de linhs e olunsF y omndo rand(`state',n) reinii o gerdor de nmeros pseudoEletrios pr o nEsimo estdoF r reiniir em um diferente estdo d horrioD podeEse usr o omndo rand(`state',sum(100*clock))F m omndo similrD o randnD funion de form similrD ms om distriuio normlF

>> rand(2,7) ans = 0.9501 0.6068 0.2311 0.4860

0.8913 0.7621

0.4565 0.0185

0.8214 0.4447

0.6154 0.7919

0.9218 0.7382

ist funo muito til prD por exemploD se fzer testes em progrms que vo trlhr om ddos imprevisveisF

5.2 lgebra linear

detX

retorn o determinnte d mtriz de entrdF

>> a=[1 2;1 3] a = 1 2 1 3 >> det(a) ans = 1

invX

retorn invers d mtriz de entrdF

>> inv(a) ans = 3 -2 -1 1

qrupo iEele

pp

5.3. Informaes matriciais bsicas

IW

retorn um vetor de utovlores d mtriz de entrdF r dus vriveis de sdD retorn mtriz de utovetores e mtriz digonl de utovloresF

eigX

>> v=eig(a) v = 0.2679 3.7321 >> [V D]=eig(a) V = -0.9391 -0.5907 0.3437 -0.8069 D = 0.2679 0 0 3.7321

5.3 Informaes matriciais bsicas

sizeX

retorn um vetor om o nmero de linhs e oluns d mtriz de entrdF

>> size( [11 12 13 ; 21 22 23] ) ans = 2 3


iste ltimo um exemplo em que se esreve diretmente um mtriz o invs do nome d vrivelF

entrdF

lengthX

retorn o omprimento do vetor ou mior dimenso de um mtriz de

>> length( [11 12 13 ; 21 22 23] ) ans = 3

5.4 Manipulao de matrizes

reshapeX d um novo formtoD qundo possvelD mtriz de entrdD ddos mtriz


e seus novos nmeros de linhs e olunsF ys elementos d mtriz so perorridos seqenilmenteD pelo modo de indexo matriz(i)D presentdo n el QFPF

>> reshape(1:10,2,5) ans = 1 3 5 2 4 6

7 8

9 10

pp

qrupo iEele

PH

Captulo 5. Funes matriciais

rot90X

rotion mtriz de entrd de 90 grusD no sentido ntiEhorrioF

>> b=[1 2 3 ; 4 5 6 ; 7 8 9] b = 1 2 3 4 5 6 7 8 9 >> rot90(b) ans = 3 6 2 5 1 4

9 8 7

iplrX

tro simetrimente de posio s oluns d esquerd om s d direit de um mtriz de entrdF

>> fliplr(b) ans = 3 2 6 5 9 8

1 4 7

ipudX

tro simetrimente de posio s linhs de im om s de ixo de um mtriz de entrdF

>> flipud(b) ans = 7 8 4 5 1 2

9 6 3

diagX

ri um vetor prtir d digonl prinipl de um mtriz de entrd ou ri um mtriz digonl prtir de um vetor de entrdF

>> diag(b) ans = 1 5 9 >> diag(ans) ans = 1 0 0 5 0 0

0 0 9

qrupo iEele

pp

5.5. Anlise de dados

PI

triuX

retorn um mtriz tringulr superior prtir d mtriz de entrdF

>> triu(b) ans = 1 2 0 5 0 0

3 6 9

trilX

retorn um mtriz tringulr inferior prtir d mtriz de entrdF

>> tril(b) ans = 1 0 4 5 7 8

0 0 9

5.5 Anlise de dados

retorn som dos elementos de d olun de um mtriz de entrd ou som dos elementos de um vetor de entrdF

sumX

>> sum(b) ans = 12 15 >> sum(ans) ans = 45

18

prodX

retorn o produto dos elementos de d olun de um mtriz de entrd ou o produto dos elementos de um vetor de entrdF

> prod([2 3 1; 2 4 5]) ans = 4 12 5 >> prod(ans) ans = 240

meanX retorn mdi ritmti dos elementos de d olun de um mtriz de entrd ou mdi ritmti dos elementos de um vetor de entrdF
>> mean( [1 -2 3 -4; 5 -6 7 -8] ) ans = 3 -4 5 -6

pp

qrupo iEele

PP

Captulo 5. Funes matriciais

e maxX retornmD respetivmenteD o vlor mnimo e o vlor mximo dos elementos de d olun de um mtriz de entrd ou o vlor mnimo e o vlor mximo dos elementos de um vetor de entrdF

min

>> max( [1 -2 3 -4; 5 -6 7 -8] ) ans = 5 -2 7 -4 >> min(ans) ans = -4

sortX

retorn mtriz de entrd om d olun ordend em ordem resenteD ou o vetor de entrd om seus elementos ordendos em ordem resenteF

>> x=sort( [1 -2 3 -4 5 -6 7 -8] ) x = -8 -6 -4 -2 1 3 >> fliplr(x) ans = 7 5

-2

-4

-6

-8

qrupo iEele

pp

Captulo 6 Funes matemticas elementares


y Matlab possui diverss funes mtemtis elementresD s quis podem ser listds pelo omndo help elfunF eixoD esto listds s mis omumente utilizdsF

6.1 Funes trigonomtricas


es funes trigonomtris do Matlab trlhm om vlores de ngulos expressos em rdinosF

sin sinh asin cos cosh acos tan tanh atan


>> cos(pi) ans = -1 >> acos(ans) ans = 3.1416

seno seno hiperlio ro seno osseno osseno hiperlio ro osseno tngente tngente hiperli ro tngente

sec sech asec csc csch acsc cot coth acot

sente sente hiperli ro sente ossente ossente hiperli ro ossente otngente otngente hiperli ro otngente

6.2 Funes exponenciais


exp log log10 log2 sqrt
exponenil @ex A logritmo neperino ou nturl @ln xA logritmo n se IH @log10 xA logritmo n se P @log2 xA riz qudrd @ xA

PQ

PR

Captulo 6. Funes matemticas elementares

>> log(exp(10)) ans = 10 >> sqrt(log10(ans)) ans = 1

6.3 Funes complexas


abs angle conj real imag
>> z=4-3*i z = 4.0000 - 3.0000i >> abs(z) ans = 5 >> real(z)+imag(z)*i ans = 4.0000 - 3.0000i >> conj(z) ans = 4.0000 + 3.0000i
vlor soluto do nmero @mduloA ngulo de fse do nmeroD em rdinos onjugdo do nmero prte rel do nmero prte imginri do nmero

6.4 Funes de arredondamento e resto


xX ceilX

eproxim pr o inteiro de menor vlor solutoD ignorndo s ss deimisF eproxim pr o inteiro nteessorF

oorX

eproxim pr o inteiro suessorF erredond pr o inteiro mis prximoF

roundX

rem @reminder fter divisionAX

esto de diviso inteirD ddos respetivmente o dividendo e o divisorF r dividendos negtivosD sendo x e y inteiros positivosD rem(-x,y)=-rem(x,y)F wis detlhes em help remF

qrupo iEele

pp

6.4. Funes de arredondamento e resto

PS

@modulus fter divisionAX esto de diviso inteirD ddos respetivmente dividendo e o divisorF r dividendos negtivosD sendo x e y inteiros positivosD mod(-x,y)=y-mod(x,y) se mod(x,y)=0D ou mod(-x,y)=0 so ontrrioF wis deE tlhes em help modF etorn +1 pr nmeros positivosD 1 pr nmeros negtivos e 0 pr nmeros iguis zeroF

mod

signX

>> x=[-4:4] x = -4 -3 >> rem(x,3) ans = -1 0 >> mod(x,3) ans = 2 0 >> sign(x) ans = -1 -1
yservesX

-2

-1

-2

-1

-1

-1

IF iw@xDyA tem o mesmo sinl de xD enqunto wyh@xDyA tem o mesmo sinl de yF PF iw@xDyA e wyh@xDyA so iguis se x e y possuem o mesmo sinlD ms diferem de y se x e y possuem sinis opostosF

pp

qrupo iEele

PT

Captulo 6. Funes matemticas elementares

qrupo iEele

pp

Captulo 7 Funes polinomiais


xo Matlab D um vetor pode ser interpretdo omo um polinmio qundo d um de seus elementos ssoido d um dos oe(ientes do polinmioD omendo pelos oe(ientes dos termos de mior gruF essimD por exemploD [2 -7 1] ser interpretdo omo 2x2 7x + 1F endo isso em ontD listEse ixo lgums ds funes que trlhm om polinmiosF etores de(nidos em lguns exemplos podero ser utilizdos em exemplos posterioresF

rootsX

etorn um vetor om s rzes de um polinmio de entrdF

>> a=[1,5,6] a = 1 5 >> roots(a) ans = -3 -2

polyvalX etorn o vlor ou imgem de um polinmioD ddos respetivmente o polinmio e o vlor de su vrivel independenteF
>> polyval(a,2) ans = 20
ssto o mesmo que 1(2)2 + 5(2) + 6 = 20F

polyX

gri um polinmio prtir de um vetor de entrd ontendo sus rzesF

>> poly([-3,-2]) ans = 1 5 6

PU

PV

Captulo 7. Funes polinomiais

convX

gonvolui dois polinmiosF x prtiD isso o mesmo que multiplir de form distriutiv dois polinmios @ms no dois vetoresAF

>> b=[2 4]; >> conv(a,b) ans = 2 14

32

24

xeste exemploD mostrEse que (x2 + 5x + 6)(2x + 4) = 2x3 + 14x2 + 32x + 24F

qrupo iEele

pp

Captulo 8 Grcos
8.1 Grcos de duas dimenses
y Matlab um software muito e(iente n rio e mnipulo de gr(osD preE sentndo diverss funes que uxilim esss operesF fsimenteD os gr(os so onstrudos onforme os pssos ixoX IF griEse um vetor X om s oordends do eixo ds sisssY PF isreveEse funo desejdD prtir do vetor XD qul rir um novo vetor Y ds ordendsY QF hesenhEse o gr(oD o que ser ensindo mis dinteF ys pres ordendos (x,yA ssim ridos so mrdos no gr(o e ligdos por segmenE tos rets @interpolo linerAF yservEseD portntoD queD qunto menor for o inremento do vetor XD mis pres ordendos sero ridos eD onseqentementeD melhor ser preiso do gr(oF im ompensoD um mior quntidde de memri utilizdF intre s inmers funes existentesD esto listds ixo pens s mis usdsF

plotX

hesenh gr(os de dus dimensesD ddos o vetor de sisss e o vetor de ordendsF

>> X=[0:0.2:10]; >> Y=X.^2; >> plot(X,Y)


e funo plot pode ser tmm usd no desenho de mis de um gr(o em um mesm (gurF r issoD usEse seguinte notoX

plot(X1, Y1, X2, Y2, ... , Xn, Yn) ,


onde X1 e Y1 orrespondem s oordends do gr(o ID s oordends do gr(o PD e ssim suessivmenteF

X2 e Y2 orrespondem

PW

QH

Captulo 8. Grcos

pigur VFIX Grco do comando plot(X,Y).

Cor
y m r g w k mrel mgent zulElro vermelh verde zul rn pret F o x C B s d v

Marcador
ponto rulo xis ruz estrel qudrdo losngo tringulo pG tringulo pG tringulo pG tringulo pG pentgrm hexgrm

Tipo de linha
E X EF slid pontilhd troEponto trejd

--

^ ` b p h

ixo im esquerd direit

el VFIX pormtoD em gr(osD de orD mrdor e tipo de linhF e formto de orD mrdor e tipo de linh dos gr(os tmm pode ser onE (gurd pelo usurioF r isso usEse seguinte notoX

plot(X1, Y1, `Conf1', X2, Y2, `Conf2', ... , Xn, Yn, `Confn') ,
ondeD no lugr de pel el VFIF

`Conf1', `Conf2', ... , `Confn'D usEse os rteres espei(dos

>> plot(X,Y,`ko--',X,10*X,`*')
r rir gr(os em jnels diferentes usEse o omndo gure(n) ntes do oE mndo plotD onde n o nmero d jnel de (gursF gso ontrrioD d novo gr(o rido ser plotdo n ltim jnel ert @gr(o orrenteAF r pgr o gr(o d jnel orrente sem fehElD esreveEse o omndo clf F

qrupo iEele

pp

8.1. Grcos de duas dimenses

QI

pigur VFPX Grco de plot(X,Y,`ko',X,10*X,`*').

hivide jnel de (gurs em um mtriz m x n de suEjnelsD seleioE nndo um ds suEjnels pelo seu nmero orrespondenteF isses nmeros esto ordendos suessivmente o longo ds linhsF es entrds dess funo so reE spetivmente o nmero de linhs e oluns d jnel e posio do pr de eixos orrenteF

subplotX

>> >> >> >> >> >>

subplot(2,2,1) plot(X,X.^2) subplot(2,2,2) plot(X,10*X) subplot(2,2,3) plot(X,log10(X+1))

pigur VFQX Par de eixos 1, 2 e 3 da janela de guras.


pp

semilogxX semilogyX loglogX

lot gr(os om o eixo x em esl logrtmi n se IHF lot gr(os om o eixo y em esl logrtmi n se IHF

lot gr(os om mos os eixos em esl logrtmi n se IHF qrupo iEele

QP

Captulo 8. Grcos

>> clf >> semilogx(X,10*X)

pigur VFRX Reta representada com eixo x em escala logartmica.

plotyyX

lot dus urvs no mesmo gr(o om diferentes esls pr o eixo yF e primeir dels tem esl esquerdD e segund tem esl direitF

>> plotyy(X,Y,X,cos(X))

pigur VFSX Parbola e cosseno com diferentes escalas para o eixo y .

polarX

lot gr(os em oordends polres segundo seguinte sintxeX

polar(theta, raio, `Conf') ,


onde theta o vetor de vlores ngulres em rdinosD raio o vetor de mesm dimenso que theta ontendo os vlores rdiis orrespondentes e Conf segue s mesms on(gures d funo plotF

>> ang=[0:.1:2*pi]; >> raio=10*ang; >> polar(ang,raio);

qrupo iEele

pp

8.2. Grcos de trs dimenses

QQ

pigur VFTX Grco da funo polar.

8.2 Grcos de trs dimenses


y Matlab present diversos reursos pr presento de gr(os em QhF es priniE pis funes so listds ixoF

plot3X

lot pontos e linhs em Qh prtir de trs vetores de oordends de mesmo tmnhoF

>> t = 0:0.1:10*pi; >> plot3(t.*sin(t),t.*cos(t),t);

pigur VFUX Grco do comando plot3.

meshgridX

gri dus mtrizes X e Y prtir de dois vetores x e y D onde s linhs d mtriz X so pis do vetor xD e s oluns d mtriz Y so pis do vetor y D sendo feits tnts pis qunto forem neessris pr que ms s mtrizes tenhm s mesms dimensesF iss funo importnte pr rio de mlhs e superfies em trs dimensesF

pp

qrupo iEele

QR

Captulo 8. Grcos

>> x=[0 1] x = 0 >> y=[2 3 4] y = 2

>> [X,Y]=meshgrid(x,y) X = 0 1 0 1 0 1 Y = 2 3 4 2 3 4

meshX

gri um mlh em Qh prtir de trs mtrizesF

>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2); >> Z = X .* exp(-X.^2 - Y.^2); >> mesh(X,Y,Z);

pigur VFVX Grco do comando mesh.

surf X

gri um superfie em Qh prtir de trs mtrizesF

>> surf(X,Y,Z);
es ores tnto d superfie qunto d mlh em Qh esto odi(ds de ordo om ltur reltiv dos pontos no eixo z F unto mior for z D mis vermelhd ser orD e qunto menor for z D mis zuld el serF

qrupo iEele

pp

8.3. Funes auxiliares

QS

pigur VFWX Grco do comando surf.

8.3 Funes auxiliares


ixistem diverss funes que uxilim visulizo e formto dos gr(osF es mis importntes so presentds ixoF

titleX

ediion um ttulo o gr(o orrenteF isse ttulo um texto que deve ser esrito entre sps simplesD onforme sintxeX

title(`Ttulo do Grco')

xlabelX ylabelX textX

ediion um texto o eixo ds sisss do gr(o orrenteF ediion um texto o eixo ds ordends do gr(o orrenteF

gri um texto posiiondo n oordend forneidD onforme sintxeX

text(X, Y, `Texto')

gridX axisX

wostr linhs de grde no gr(o orrenteF helimit os intervlos dos eixos de ordo om sintxeX

axis([Xmin Xmax Ymin Ymax])


iss funo just o gr(o pr os intervlos delimitdos pelo usurioF yutrs plies podem ser vists em help axisF

hold onX

ermite que novos gr(os sejm ridos n jnel orrente sem que os gr(os nteriores sejm pgdosF

hold o X

hesilit o omndo nteriorF

pp

qrupo iEele

QT

Captulo 8. Grcos

whitebgX

gon(gur or de fundo d jnel de (gur de ordo om sintxeX

whitebg(n,[red green blue]) ,


onde n o nmero d jnel desejd e [red green blue] o vetor om s ompoE nentes primris d orF y vetor [0 0 0] orresponde o preto e o vetor [1 1 1] o rnoF

>> >> >> >> >> >> >> >> >> >>

x=[-5*pi:0.1:5*pi]; y=sin(x)./x; plot(x,y); title(`\it{Sample}') xlabel(`x'); ylabel(`sin(x)/x'); axis([-15 15 -0.3 1.1]); text(-2*pi, 0, `-2\pi'); text(2*pi, 0, `2\pi'); whitebg([0.4057 0.9355 0.9169]);

pigur VFIHX Exemplo de funes auxiliares de plotagem. e or do plno de fundo volt ser rn qundo (gur exportd do Matlab F xos textos inseridos nelD possvel mudr o tipo e o tmnho d fonteD esrever em negritoD itlioD susritoD soresrito e ind representr letrs gregsF ssso pode ser ompreendido pel el VFPF

clf X epg todos os gr(os d jnel orrenteF closeX peh jnel orrenteF r fehr nEsim jnelD utilizEse o omndo close(n)F y omndo close all feh tods s jnelsF

qrupo iEele

pp

8.3. Funes auxiliares

QU

Propriedade
ipo de fonte mnho de fonte xegrito stlio usrito oresrito vetr greg

Sintaxe

\fontname{} \fontsize{} \bf{} \it{} _{} ^{} \letra

Exemplo

\fontname{`Arial'} \fontsize{14} \bf{Negrito} \it{Itlico} R_{1} x^{2} \pi

el VFPX pormto de fonte de texto inserido em gr(oF

pp

qrupo iEele

QV

Captulo 8. Grcos

qrupo iEele

pp

Captulo 9 Funes polinomiais racionais complexas


m funo polinomil rionl omplex de(nid omo um rzo de polinmios de vriveis omplexsD onforme equo

H(s) =

bm sm + ... + b1 s + b0 (s + z1 )(s + z2 )...(s + zm ) NH (s) = = (k) , n + ... + a s + a DH (s) an s (s + p1 )(s + p2 )...(s + pn ) 1 0

onde os oe(ientes a1 , a2 , , an e b1 , b2 , , bm sero onsiderdos reis e onstntesD e k = bm F an es rzes do numerdor e do denomindor so hmdsD respetivmenteD de zeros e plos d funo H(s)F e onstnte k denomind gnhoF

tf2zpX

inontr zerosD plos e gnhoD ddos o numerdor e denomindor d funoF

>> num=[1,1] num = 1 1 >> den=[1,5,6] den = 1 5

>> [z,p,g]=tf2zp(num,den) z = -1 p = -3 -2 1

g =

QW

RH

Captulo 9. Funes polinomiais racionais complexas

zp2tf X

inontr o numerdor e denomindor d funoD ddos zerosD plos e gnhoF

>> [N,D]=zp2tf(z,p,g) N = 0 1 1 D = 1 5 6

tf X

gri um funo de trnsferni e rmzen em um ojeto propridoD ddos o numerdor e denomindorF

>> H=tf(N,D) Transfer function: s + 1 ------------s^2 + 5 s + 6

pzmapX

epresent o digrm de plos e zerosD ddo o ojeto d funo de trnsE ferniF gd riz do numerdor @zeroA representd no plno omplexo por um rulo @AD enqunto d riz do denomindor @ploA representd por um xis @AF

>> pzmap(H)

pigur WFIX Diagrama de plos e zeros.

qrupo iEele

pp

RI

bodeX

hesenh os gr(os de mdulo |H(j)|dB e ngulo de fse H(j) d resE post em freqni H(j) = H(s)|s=j D ddo o ojeto reltivo funo de trnsE ferni H(s)F

>> bode(H)
y omndo bode(H, ) desenh o gr(o pr um ddo vetor de freqnis D enqunto o omndo bode(H,{min ,max }) desenhEo pr fix de freqnis min ; max F

>> bode(H,{1e-1,1e2})

pigur WFPX Grcos de mdulo e ngulo de fase da resposta em freqncia.

freqsX etorn um vetor omplexo om respost em freqni H(j) = H(s)|s=j D


ddos o seu numerdorD o seu denomindor e um vetor de freqnis F gso sej omitid vrivel de retornoD est funo simplesmente exie os gr(os de mdulo e de ngulo de fseF

>> >> >> >> >> >> >> >> >>

clf; w=logspace(-1,2,101); Hjw=freqs(num,den,w); moddb=20*log10(abs(Hjw)); fase=180*angle(Hjw)/pi; subplot(2,1,1), semilogx(w,moddb); title('Resposta em freqncia'), ylabel('|H(j\omega)|_{dB}'); subplot(2,1,2), semilogx(w,fase); ylabel('\angle H(j\omega) (graus)'), xlabel('\omega (rad/s)');

pp

qrupo iEele

RP

Captulo 9. Funes polinomiais racionais complexas

pigur WFQX Grco de mdulo e fase.

qrupo iEele

pp

Captulo 10 Programao
10.1 Funes e scripts
punes e scripts so seqnis de omndos do Matlab rmzends em rquivos do tipo texto om extenso Fm9 @m-les AD que tm por (nlidde utomtizr proessos repetitivos e implementr lulos e omndos lgiosF e diferen si entre mos que s funes eitm prmetros de entrd e retornm prmetros de sdD enqunto os scripts unimente exeutm seqni de omndosF es funes e os scripts podem ser ridos esrevendo edit n linh de omndo ou lindo n rr de ferrments em File > New > M-leF or (rem rmzendos em rquivos textoD eles podem ser editdos em qulquer editor de textosF ys mesmos omndos que o usurio esreveri no prompt d tnel de gomndo so usdos pr implemento do scriptF r que o m-le sej interpretdo omo funoD deve ser esrit seguinte expresso no elho do rquivoX

function [Sada1, ... , SadaN ] = Nome(Entrada1, ... ,EntradaM)


onde Sada1, ... , SadaN so os prmetros de sdD Entrada1, ... , EntradaM so os prmetros de entrd e Nome o prprio nome d funoF hepois dess expressoD seguemEse os omndos usdos pr estruturr funoF nto n funo qunto no scriptD os omentrios so esritos ns linhs iniiisF xo so d funoD primeir seqni de omentrios preer qundo for digitdo help nome_da_funo n linh de omndosF eixo segue um exemplo de funoF

function[a,b,c,d,e] = complexo(x) % COMPLEXO % [r,i,m,a,c] = COMPLEXO(x) retorna em cinco % variveis as partes real e imaginria, % o mdulo, o argumento e o conjugado de % um nmero complexo. a=real(x); b=imag(x); c=abs(x); d=angle(x); e=conj(x);

RQ

RR

Captulo 10. Programao

eps esrito o digoD o rquivo dever ser slvo om o mesmo nome d funo e om extenso Fm9 @no exemploD omplexoFm9AF m ondio neessri pr exeuo de rquivos w que eles estejm no diE retrio orrente do Matlab F r exeuo de um scriptD feit n rr de ferrments d jnel de edio pel opo Debug>Run ou File>Run Script @dependendo d verso do Matlab AD mudn de diretrio orrente utomtiD sendo desneessri interveno do usurioF e mudn de diretrio orrente pode ser feit lindoEse no oto d jnel prinE ipl do progrm ontendo FFF9D o ldo de Current DirectoryD ou por um dos seguintes omndosF

dir E list diretrios e rquivos do diretrio orrenteY d nome_diretrio E mud diretrio orrente pr nome_diretrio Y d FF E retorn o diretrio piD um nvel imY edit nome E edit um funo ou um script no diretrio orrenteY nome_script E exeut um sriptD so estej no diretrio orrenteY [sIDsP]anome_funo @eIDePA E hm um funoD so estej no diretrio orrente ou n iliote do Matlab F d E mud pr o diretrio riz @root A

10.2 Controle de uxo


es lingugens impertivs de progrmo de omputdores rterizmEse pel exeE uo seqenil de omndosF ils possuem ind reursos que permitem o ontrole de )uxo de exeuo de omndos om se em estruturs de tomd de deisoF xest seoD sero vists s estruturs mis omunsF

10.2.1

Estruturas condicionais

m estrutur ondiionl permite seleo de um onjunto de omndos serem exeuE tdos qundo um dd ondio for ou no stisfeitD podendo ssim modi(r o )uxo nturl de omndosF es trs estruturs ondiionis sis do Matlab esto listds seguirF

qrupo iEele

pp

10.2. Controle de uxo


istrutur if I if condio end istrutur if P if condio1 else istrutur if Q if condio1 elseif

RS

comandos

comandos1 condio2 comandos2 comandos2 end elseif condio3 comandos3


FFF else end

comandos1

comandosN

es estruturs I e P so sos prtiulres d estrutur QF es ondies so formds pelos operdores lgios e relionisF eixo mostrdo um exemplo de um script om um estrutur ifF

A=2; B=3; if A==B display(`A e B iguais.') % Exibe texto na Janela de Comando. else display(`A e B diferentes.') end

undo se fz uso repetido de testes de iguldde om pens um rgumento omumD ostumEse usr estrutur switch-caseF iss estrutur tem seguinte formX

swith var_teste se expresso_teste1

otherwise end

comandos1 se {expresso_teste2D expresso_teste3D expresso_teste4 } comandos2 comandos3

otherwise @que opionlA sero exeutdosF y exemplo ixo demonstr um plio d estrutur switch-caseF
pp qrupo iEele

e os testes de iguldde resultrem em flso pr todos os sosD os omndos de

RT

Captulo 10. Programao

clear all num=input('Escreva um inteiro: '); % Exibe texto e l valor para a varivel. switch num case 1 y=1 case {2, 2.5} y=2 case 'tres' y=3 case {'quatro', 'Quatro', 'QUATRO' } y=4 otherwise y=0 end

10.2.2

Estruturas de repetio

m estrutur de repetio fz om que um seqni de omndos sej exeutd repetiE dmente enqunto se stisf um dd ondioF y Matlab possui dus estruturs de repetioX for e whileF

istrutur for for varivel ainic:incr:m end

comandos

istrutur while while condio end

comandos

e ondio d estrutur for que varivel sej menor ou igul mF inqunto stisfeit ess ondioD o trmino de d loop de omndosD varivel inrementd de incrF y inremento incr onsiderdo unitrio so sej omitidoF eixoD segue um exemplo de lulo de mdi usndoEseD de form omprtivD s dus estrutursF qrupo iEele pp

10.2. Controle de uxo

RU

clear all x=input('Vetor de amostras: '); compr=length(x); % retorna o comprimento do vetor soma_f=0; for k=1:compr soma_f=soma_f+x(k); end media_f=soma_f./compr; soma_w=0; k=1; while k<=compr soma_w=soma_w+x(k); k=k+1; end media_w=soma_w./compr; disp('Media do for: '); % Exibe string disp(media_f); % Exibe valor da varivel disp('Media do while: '); disp(media_w);

pp

qrupo iEele

RV

Captulo 10. Programao

qrupo iEele

pp

Apndice A Funes relativas a aproximaes para ltros seletores em freqncia


iste ptulo ontm os prinipis omndos do Matlab pr o projeto de (ltros nlgios e digitisF ixistem vrios tnis de proximes pr onstruo de (ltrosF gd tni usd de ordo om s espei(es do sistem ser projetdoF e seguirD so presentdos os omndos om s opes utilizds no projeto de (ltros nlgiosF r os (ltros digitisD onsulte o mnulD trvs do omndo help comandoF

A.1 Butterworth
BUTTORD
lul ordem de um (ltro

ButterworthF

[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Butterworth que tenhD no mximoD Rp df de tenuo n nd de psE sgem eD no mnimoD Rs df n nd de rejeioF W p nd W s so s freqnis d nd de pssgem e rejeioD respetivmenteF W deve ser ddo em rad/secF
ixemploX

passa-baixa: passa-alta: banda de passagem: banda de rejeio:

Wp Wp Wp Wp

= = = =

x y [x1 x2] [y1 y2]

Ws Ws Ws Ws

= = = =

y x [y1 y2] [x1 x2]

e freqni retornd Wn freqni onde oorre um tenuo de Q dfF

BUTTER

lul os oe(ientes de um (ltro

ButterworthF

[num,dem] = butter(N,Wn,`s') ! iste omndo retorn os oe(ientes do numerE dor @num A e denomindor @dem A d funo de trnsferni do (ltro Butterworth pssEixF N ordem do (ltro e Wn freqni de orteF
e Wn for um vetor ontendo dus freqnis W n = [W1 W2 ] este omndo retorn funo de trnsferni do (ltro pssEnd Butterworth de ordem Px tendo fnd de pssgem om W 1 < W < W 2F

RW

SH

Apndice A. Funes relativas a aproximaes para ltros seletores em freqncia


[num,dem] = butter(N,Wn,`high',`s') ! glul um (ltro pssEltF [num,dem] = butter(N,Wn,`stop',`s') ! glul um (ltro rejeitEndD se W n = [W 1 W 2]F [Z,P,K] = butter(...) ! etorn zerosD plos e gnho eslr K F

A.2 Chebyshev
CHEB1ORD
lul ordem de um (ltro

Chebyshev ipo s F

[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Chebyshev que tenhD no mximoD Rp df de tenuo n nd de pssgem eD no mnimoD Rs df n nd de rejeioF W p nd W s so s freqnis d nd de pssgem e rejeio respetivmenteF W deve ser ddo em rad/secF
ixemploX

passa-baixa: passa-alta: banda de passagem: banda de rejeio:

Wp Wp Wp Wp

= = = =

x y [x1 x2] [y1 y2]

Ws Ws Ws Ws

= = = =

y x [y1 y2] [x1 x2]

e freqni retornd Wn freqni onde oorre um tenuo de Q dfF

CHEBY1

lul os oe(ientes de um (ltro

Chebyshev ipo sF

[num,dem] = cheby1(N,R,`s') ! iste omndo retorn os oe(ientes do numerE dor @num A e denomindor @dem A d funo de trnsferni do (ltro chebyshev pssEixF N ordem do (ltro D R tenuo mxim n nd de pssgem e Wn freqni de orteF
e Wn for um vetor ontendo dus freqnis W n = [W1 W2 ] este omndo retorn funo de trnsferni do (ltro pssEnd Chebyshev de ordem Px tendo nd de pssgem om W 1 < W < W 2F [num,dem] = cheby1(N,R,Wn,`high',`s') ! glul um (ltro pssEltF [num,dem] = cheby1(N,R,Wn,`stop',`s') ! glul um (ltro rejeitEndD se W n = [W 1 W 2]F

[Z,P,K] = cheby1(...) ! etorn zerosD plos e gnho eslr K F

CHEB2ORD

lul ordem de um (ltro

Chebyshev ipo ss F

[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Chebyshev que tenhD no mximoD Rp df de tenuo n nd de pssgem eD no mnimoD Rs df n nd de rejeioF W p nd W s so s freqnis d nd de pssgem e rejeio respetivmenteF W deve ser ddo em rad/secF
ixemploX

passa-baixa:

Wp = x

Ws = y

qrupo iEele

pp

A.3. Elptico (Cauer)


passa-alta: banda de passagem: banda de rejeio: Wp = y Wp = [x1 x2] Wp = [y1 y2] Ws = x Ws = [y1 y2] Ws = [x1 x2]

SI

e freqni retornd Wn freqni onde oorre um tenuo de Q dfF

CHEBY2

lul os oe(ientes de um (ltro

Chebyshev ipo ssF

[num,dem] = cheby2(N,R,`s') ! iste omndo retorn os oe(ientes do numerE dor @num A e denomindor @dem A d funo de trnsferni do (ltro Chebyshev pssEixF N ordem do (ltro D R tenuo mnim n nd de rejeio e Wn freqni de orte d nd de rejeioF
e Wn for um vetor ontendo dus freqnis W n = [W1 W2 ] este omndo retorn funo de trnsferni do (ltro pssEnd Chebyshev de ordem Px tendo nd de pssgem om W 1 < W < W 2F [num,dem] = cheby2(N,R,Wn,`high',`s') ! lul um (ltro pssEltF [num,dem] = cheby2(N,R,Wn,`stop',`s') ! lul um (ltro rejeitEndD se W n = [W 1 W 2]F

[Z,P,K] = cheby2(...) ! etorn zerosD plos e gnho eslr K F

A.3 Elptico (Cauer)


ELLIPORD
lul ordem de um (ltro

Elptico F

[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Elliptic que tenhD no mximoD Rp df de tenuo n nd de pssgem eD no mnimoD Rs df n nd de rejeioF W p nd W s so s freqnis d nd de pssgem e rejeio respetivmenteF W deve ser ddo em rad/secF
ixemploX

passa-baixa: passa-alta: banda de passagem: banda de rejeio:

Wp Wp Wp Wp

= = = =

x y [x1 x2] [y1 y2]

Ws Ws Ws Ws

= = = =

y x [y1 y2] [x1 x2]

e freqni retornd Wn freqni onde oorre um tenuo de Q dfF

ELLIP

lul os oe(ientes de um (ltro

ElpticoF

[num,dem] = ellip(N,Rp,Rs,Wn,`s') ! iste omndo retorn os oe(ientes do numerdor @num A e denomindor @dem A d funo de trnsferni do (ltro Elliptic pssEixF N ordem do (ltroD Wn freqni de orteD Rp df de tenuo n nd de pssgem e Rs df n nd de rejeioF
e Wn for um vetor ontendo dus freqnis W n = [W1 W2 ] este omndo retorn funo de trnsferni do (ltro pssEnd Elliptic de ordem Px tendo fnd de pssgem om W 1 < W < W 2F

pp

qrupo iEele

SP

Apndice A. Funes relativas a aproximaes para ltros seletores em freqncia


[num,dem] = ellip(N,Rp,Rs,Wn,`high',`s') ! glul um (ltro pssEltF [num,dem] = ellip(N,Rp,Rs,Wn,`stop',`s') ! glul um (ltro rejeitEndD se W n = [W 1 W 2]F [Z,P,K] = ellip(...) ! etorn zerosD plos e gnho eslr K F

qrupo iEele

pp