You are on page 1of 46

APOSTILA DE INTRODUO AO Matlab

rogrm de iduo utoril gurso de ingenhri de eleomunies niversidde pederl pluminense eutor tulX ltims tulizesX ssell prn e prn fetriz gost ieiro itor de ouz vim elexndre ntos de l eg

xiteri E t tulho G PHHT

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 disiplinsY 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 onstruE o de pgins d snternet @webpages AF istem de edio de texto lrgmente utilizdo em meios dmios e ient(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 engenhri 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 F endoEse d imens quntidde de funes e d existni de um ervo de doumento prprio inludo no progrmD est postil no pretende esgotr o tem omo um mnulF entesD pelo ontrrioD el destinEse introduzir de form suint o usurio o miente do progrmD mostrndo e exempli(ndo s ferrments sis de utilizo 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

Matlab

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

Sumrio
1 Introduo
IFI IFP IFQ IFR 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 F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

Matlab

I I P Q R R S

2 Variveis
PFI PFP PFQ QFI QFP QFQ QFR RFI RFP SFI SFP SFQ SFR SFS TFI TFP TFQ TFR

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

3 Nmeros e matrizes

T T U V

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

10

IH II

13

IQ IR IS IS IU

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

19

IW IW PH PH

7 Funes polinomiais 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 F F F 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 F F F punes uxilires de plotgem F F F F F F F F F F F F F F F F F F F F F F F F F F F

22 23
PQ PU PW

SUMRIO

iii

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

32 35
QS QT QT QU QW RH RI

A Anlise e construo de ltros

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 F F F 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 F F F eFQ illipti F F F F F F F F F F F F F F F F F 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

Captulo 1 Introduo
1.1 Informaes iniciais
y @revitur de MATrix LABoratory E vortrio de wtrizesA um software de simulo mtemti que reliz nlise numriD 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 ltoEnvel e um miente intertivo pr o desenvolvimento de lgoritmosD nlise e visulizo de ddos e omputo numriF rprio pr s res tnis e ient(sD o software tem funes de trtmento numrio de lt performne pzes de resolver prolems omputionis tnios de form mis e(iente e rpid do que s trdiionis lingugens de progrmoF elm do miente intertivoD outr filidde do possiilidde de uso de rquivos texto ontendo um seqni de instrues de(nids pelo usurioD exeutds pelo progrm so form de omndos ou funesF isses rquivos textoD que tm extenso Fm9D podem ser ridos e editdos dentro ou for do seu mienteF

Matlab

Matlab

1.2 Janelas
etrvs de ojetos gr(os denomindos jnelsD o usurio oper s funionliddes do proE grm de form intertivF e jnel prinipl do 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 9D por exemploD e usndoEse s sets 9 e 9D nvegEse por todos os omndos iniidos om letr 9F e tel Esc limp o que estiver esrito n linh do promptF 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 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

Matlab

CAPTULO 1.

INTRODUO

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

importnte pontr que tnel de gomndo normlmente usd pr testes de omnE dos e funes ou simples operesF undo se desej implementr lgum progrmD projeto ou trlhoD utilizEse o M-File EditorF xeste editorD rimos um rquivo texto Fm9 om os mesmos omndos interpretdos n jnel Command WindowF r rir um novo rquivoE wD lique em File > New > M-le ou simplesmente digite o omndo editF eps esrever o progrmD exeuteEo 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 mntids fehds ou erts dependendo d neessidde ou gosto do usurioF ormD esss outrs jnels no so enfoque nest postilF

1.3 Ajuda

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

Matlab

>> 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 determinds plvrsE hveF r istoD st digitr o omndo lookfor seguido d plvr desejdF gso se queir interromper usD deveEse telr CTRL+CF

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

CAPTULO 1.

INTRODUO

1.4 Bibliotecas do

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

Matlab

Matlab

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

Captulo 2 Variveis
2.1 Declarao
m rtersti onveniente do que s vriveis no preism ser dimensionds ntes do uso pois so gerds utomtimente o serem utilizdsF r rmzenr informE es 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 devem ser oedeidos os seguintes ritriosX

Matlab

os rteres podem ser lfnumrios @letrs e nmerosAD desde que iniidos por letrsY letrs misuls e minsuls de(nem nomes diferentes @case sensitive AY o rter 9 pode ser usdo no meio do nomeY so permitidos nomes omD no mximoD QP rteresF

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

whoX clearX saveX

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 lv s vriveis no disoD 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 no diso pelo omndo

saveF

vimp jnel de omndosF

CAPTULO 2.

V ARI VEIS

2.3 Variveis pr-denidas


ixistem no lgums vriveis prEde(nids que podem ser teis o usurioF isto els listds n tel ixoF

Matlab

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

Varivel

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 lor noEnumrio @por exemploD resultdo d diviso HGHAF gonstnte imginri 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

gso o usurio utilize pr (ns prprios um vrivel om o mesmo nome de lgum ds vriveis ou funes prEde(nidsD el funionr normlmente omo um vrivel omumF undo pgdD el retornr o seu omportmento pdroF

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

Captulo 3 Nmeros e matrizes


3.1 Representao numrica
ods s informes numris do 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 usndoEse seguinte simologiX

Matlab

Matlab

nmeros negtivosX 9 Y
ixFX 5

nmeros om ss deimisX .9 Y
ixFX 3.2

nmeros omplexosX i9 ou j 9 @ direit d prte imginriAY


ixFX 3 + 5i ou 3 + 5j

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

3.2 Formatos de visualizao de nmeros


odos os lulos so exeutdos no 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 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 simE plesmente digitndo n tnel de gomndo instruo format seguid do formto espe(oF e tel ixo expli d um delesD exiindo o nmero 2 omo exemploF

Matlab Matlab

CAPTULO 3.

NMEROS E MATRIZES

Comando

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

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

3.3 Denio de matrizes


ixistem diverss forms de se montr um mtrizF e mis simples dels utilizEse de elementos denomindos aglutinadoresD representdos simolimente por olhetesD [9 e ]9 F e funo dos glutindores onsiste em ontenr @enderAD horizontlmente ou vertilmenteD 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 tornEse 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

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

5 6

yserve que ans @answer A vrivel pdro do responsvel por rmzenr o ltimo resultdoD so no tenh sido previmente delrd um vrivelF

Matlab

CAPTULO 3.

NMEROS E MATRIZES

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,3) ans = 1.0000 3.1623

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 ExcelF

3.4 Indexao

y pdro de indexo mtriil no form trdiionl intuitiv (i, j)D onde i represent o nmero d linh e j represent o nmero d olunF

Matlab

>> m=[.1 .2 .3 .4 .5 ; .6 .7 .8 .9 1 ; 1.1 m = 0.1000 0.2000 0.3000 0.4000 0.6000 0.7000 0.8000 0.9000 1.1000 1.2000 1.3000 1.4000 >> m(2,5) ans = 1

1.2 1.3 1.4 1.5] 0.5000 1.0000 1.5000

CAPTULO 3.

NMEROS E MATRIZES

ys elementos d mtriz tmm podem ser indexdos seqenilmente onformeD tel ixoF 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

>> 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 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 1.3000 0.2000 0.8000 1.4000 gso se oloque um ndie que exed s dimenses d mtrizD o resultdo ser um menE sgem 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

Captulo 4 Operaes com matrizes


4.1 Operaes aritmticas
es operes ritmtis no podem ser do tipo mtriil ou eslrF es operes eslres so quels feits elemento elementoD plindoEse o operdor pens entre elementos de mesm posio mtriilF t s operes mtriiis funionm de um mneir diferenteF xo so de produto mtriE ilD um elemento d mtriz resultnte de um determind linh i e olun j resultdo do somtrio do produto eslr entre linh i d primeir mtriz e olun j d segundF e potenio mtriil D n verddeD multiplio mtriil de um mtriz por el mesm qunts vezes o ndie determinrF endo x = [2 3; 5 7] e y = [1 6; 2 4]D podeEse ssoiElos pelos seguintes operdoresX

Matlab

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

9 X sutroF
ixFX x y = [1 3; 3 3]

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

/9 X diviso mtriil direitF @x y 1 A


ixFX x/y = x inv(y) = [0.2500 1.1250; 0.7500 2.8750]

Obs: inv(m) um funo que ser explid n seo SFP


\9 X diviso mtriil esquerdF @x1 y A
ixFX x\y = inv(x) y = [1.0000 30.0000; 1.0000 22.0000]

9 X potniF @x4 = x4 = x x x xAF


ixFX x2 = [19 27; 45 64]

99 X trnspost
ixFX x = [2 5; 3 7]

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

CAPTULO 4.

OPERAES COM MATRIZES

II

./9 X diviso eslr direitF @x. y.1 A


ixFX x./y = [2.0000 0.5000; 2.5000 1.7500]

.\9 X diviso eslr esquerdF @x.1 . y)


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

F9 X potni 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 booleanas pr implementr testes de tomds de deisoD forneendo resposts do tipo verddeiroGflso perguntsF r o D qulquer nmero diferente de zero represent verddeiroD e zero represent flsoF ys operdores relionis e lgios so presentdos n tel ixoF

Matlab

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

interessnte ressltr que no os operdores podem ser usdos no somente om eslresD ms tmm om vetores e mtrizesD sendo opero relizd elemento elementoF

Matlab

CAPTULO 4.

OPERAES COM MATRIZES

IP

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

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 eo serem proessdos pel funoD germ os prmetros de sds que so rmzendos ns vriveis de(nids pelo usurio no omndoF 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 diretmente 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 eixo esto lgums ds funes mis utilizds pr rio e mnipulo de mtrizesF wtrizes de(nids em lguns exemplos podero ser utilizds em exemplos posteriores desse mesmo ptuloF

5.1 Matrizes elementares

onesX

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

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

1 1

r se rir um mtriz om todos os elementos iguis PD por exemploD st multiplir mtriz de I por PF @PBonesA

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

CAPTULO 5.

FUNES MATRICIAIS

IR

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 se rand(`state',sum(100*clock)) pr reiniir em um diferente estdo d horrioF m omndo similrD o randn D
funion d mesm formD 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

CAPTULO 5.

FUNES MATRICIAIS

IS

eigX

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

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

lengthX

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

>> 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 respetivE mente mtriz e seus novos nmeros de linhs e olunsF ys elementos d mtriz so perorridos seqenilmente pelo modo de indexo a(i)F @ej seo PFRA

>> reshape(1:10,2,5) ans = 1 3 5 2 4 6 %>> reshape(1:10,5,2)' %ans = % 1 2 3 % 6 7 8

7 8 4 9

9 10 5 10

CAPTULO 5.

FUNES MATRICIAIS

IT

rot90X

rotion 90 grus no sentido ntiEhorrio mtriz de entrdF

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

CAPTULO 5.

FUNES MATRICIAIS

IU

triuX

retorn um mtriz tringulr superior prtir d mtriz de entrdF

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

3 6 9

tril 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

sumX

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

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

CAPTULO 5.

FUNES MATRICIAIS

IV

min 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

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

Captulo 6 Funes matemticas elementares


y mndo

Matlab

help elfunF

possui muits funes mtemtis elementres que podem ser listds pelo oE eixo esto listds s mis importntesF

6.1 Funes trigonomtricas


es funes trigonomtris do

Matlab

trlhm 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

CAPTULO 6.

FUNES MATEMTICAS ELEMENTARES

PH

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

6.3 Funes complexas


abs angle conj real imag
>> z=4-3i 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 @eminder fter divisionAX mod @wodulus fter divisionAX

esto de diviso inteirD ddos respetivmente o diviE dendo e o divisorF r dividendos negtivosD sendo x e y inteiros positivosD rem(-x,y)=-rem(x,y)F wis detlhes em help remF 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 detlhes em help modF

CAPTULO 6.

FUNES MATEMTICAS ELEMENTARES

PI

signX etorn +1 pr nmeros positivosD 1 pr nmeros negtivos e 0 pr nmeros iguis zeroF

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

Captulo 7 Funes polinomiais


m vetor pode ser interpretdo omo um polinmio qundo d elemento seu ssoido um oe(iente 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 poE linmio 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

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

Captulo 8 Grcos
8.1 Grcos de duas dimenses
y um software muito e(iente n rio e mnipulo de gr(osD presentndo diverss funes que uxilim esss operesF fsimenteD os gr(os rtesinos so plotdos 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 lotEse o gr(oF iste psso ser ensindo mis frenteF ys pres ordendos (x,yA ssim ridos so mrdos no gr(o e ligdos por rets @interE polo linerAF yservEse portnto queD qunto menor for o inremento do vetor XD mis pres ordendos sero ridos eD onseqentementeD melhor preiso do gr(oF im ompensoD um mior quntidde de memri utilizdF intre s inmers funesD esto listds ixo s mis usdsX

Matlab

plotX

hesenh gr(os lineres 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 oordends do gr(o PD e ssim suessivmenteF

X2 e Y2 orrespondem s

CAPTULO 8.

GRFICOS

PR

pigur VFIX

Grco do comando

plot(X,Y).

e formto de orD mrdor e tipo de linh dos gr(os tmm pode ser on(gurd pelo usurioF r isso usEse seguinte notoX

plot(X1, Y1, `Conf1', X2, Y2, `Conf2', ... , Xn, Yn, `Confn') ,
onde no lugr de ixoF

Conf1D Conf2D Confn usEse os rteres espei(dos pel tel

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

>> plot(X,Y,`ko--',X,10*X,`*')
r rir gr(os em jnels diferentes usEse o omndo gure(n) ntes do omndo 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

CAPTULO 8.

GRFICOS

PS

pigur VFPX

Grco de

plot(X,Y,`ko',X,10*X,`*').

subplotX

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

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

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.

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

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

CAPTULO 8.

GRFICOS

PT

pigur VFRX

Reta representada com eixo

em escala logartmica.

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

plotyyX

>> 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(guE res d funo plotF

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

CAPTULO 8.

GRFICOS

PU

pigur VFTX

Grco da funo polar.

8.2 Grcos de trs dimenses


y present diversos reursos pr presento de gr(os em QhF xest seo sero listds s prinipis funesF

Matlab

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 yD 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 neessris pr que ms s mtrizes tenhm s mesms dimensesF iss funo importnte pr rio de mlhs e superfies em trs dimensesF

CAPTULO 8.

GRFICOS

PV

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

CAPTULO 8.

GRFICOS

PW

pigur VFWX

Grco do comando

surf.

8.3 Funes auxiliares de plotagem


ixistem diverss funes que uxilim visulizo e formto dos gr(osF es mis importntes soX ediion um ttulo o gr(o orrenteF isse ttuloD por ser um string @um 4vetor de rteres4AD deve ser esrito entre sps simplesD onforme sintxeX

titleX

title(`Ttulo do Grco')

xlabelX ylabelX textX

ediion um nomeD n form de

stringD o eixo ds sisss do gr(o orrenteF

ediion um nomeD n form de stringD 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 mpli o gr(o nos 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

CAPTULO 8.

GRFICOS

QH

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 omponentes 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 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 tel seguinteX

Matlab

CAPTULO 8.

GRFICOS

QI

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

clf X

epg todos os gr(os d jnel orrenteF jnelD utilizEse o omndo

closeX peh jnel orrenteF r fehr nEsim close(n)F y omndo close all feh tods s jnelsF

Captulo 9 Funes polinomiais racionais complexas


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

H(s) =

NH (s) bm sm + ... + b1 s + b0 (s + z1 )(s + z2 )...(s + zm ) = =k , DH (s) an sn + ... + a1 s + a0 (s + p1 )(s + p2 )...(s + pn )

onde os oe(ientes a1 , a2 , ...an e b1 , b2 , ...bm so reis e onstntesD e k = bm /an F 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
inontr o numerdor e denomindor d funoD ddos zerosD plos e gnhoF

g =

zp2tf X

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

CAPTULO 9.

FUNES POLINOMIAIS RACIONAIS COMPLEXAS

QQ

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 trnsferniF 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.

bodeX

hesenh os gr(os de |H(j)|dB e H(j) @higrm de fodeAD ddo o ojeto d funo de trnsferniF

>> bode(H)
y omndo bode(H,w) desenh o gr(o pr um ddo vetor de freqnis wD bode(H,{wmin,wmax}A desenhEo pr freqnis mnim e mximF e

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

CAPTULO 9.

FUNES POLINOMIAIS RACIONAIS COMPLEXAS

QR

pigur WFPX

Diagrama de Bode.

etorn um vetor omplexo om respost em freqni de 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 fseF

freqsX
>> >> >> >> >> >> >> >> >>

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)');

pigur WFQX

Grco de mdulo e fase.

Captulo 10 Programao
10.1 Funes e scripts
punes e scripts so seqnis de omndos do 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 tmm podem ser editdos num 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 onvertido num funoD deve ser esrit seguinte expresso no elho do rquivoX

Matlab

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 iniids pelo usurio om porentgemF xo so d funoD primeir seqni de omentrios pree qundo digitdo help e o nome d funo n linh de omndosF eixo segue um exemplo de funoF

%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. function[a,b,c,d,e]=complexo(x) a=real(x); b=imag(x); c=abs(x); d=angle(x); e=conj(x);
eps esrito o digoD o rquivo w dever ser slvo om o mesmo nome d funo @no exemploD omplexoFm9AF

CAPTULO 10.

PROGRAMAO

QT

m ondio neessri pr exeuo de rquivos w que eles estejm no diretrio orrente do 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 AD mudn de diretrio orrente utomtiD sendo desneessri interveno do usurioF e mudn de diretrio orrente pode ser feit lindoEse no oto d jnel prinipl do progrm ontendo FFF9D o ldo de Current DirectoryD ou por um dos seguintes omndosF

Matlab

Matlab

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 F

Matlab

d E mud pr o diretrio riz @root A

10.2 Controle de uxo


es lingugens impertivs de progrmo de omputdores rterizmEse pel exeuo 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 exeutdos qundo um dd ondio for ou no stisfeitD podendo ssim modi(r o )uxo nturl de omndosF es trs estruturs ondiionis sis do esto listds seguirF

Matlab

istrutur if I if condio end

comandos

istrutur if P if condio1

comandos1 else elseif condio2 comandos2 comandos2 end elseif condio3 comandos3
FFF else end

comandos1

istrutur if Q if condio1

comandosN

CAPTULO 10.

PROGRAMAO

QU

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

comandos1 se {expresso_teste2D expresso_teste3D expresso_teste4 } comandos2


otherwise end

comandos3

e os testes de iguldde resultrem em flso pr todos os sosD os omndos de otherwise @que opionlA sero exeutdosF y exemplo ixo demonstr um plio d estrutur switch-caseF

clear all num=input('Escreva inteiro: '); % Exibe texto e l 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 possui dus estruturs de repetioX for e whileF

Matlab

istrutur for for varivel ainic:incr:m end

comandos

istrutur while while condio end

comandos

CAPTULO 10.

PROGRAMAO

QV

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 eixo segue um exemplo de lulo de mdi usndoEseD de form omprtivD s dus estrutursF

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

Apndice A Anlise e construo de ltros


iste ptulo ontm os prinipis omndos do software de simulo mtemti MatLab pr nlise e onstruo de (ltrosF ixistem vrios modelos pr onstruo de piltros etivos que podem ser seguidosF gd modelo usdo de ordo om s espei(es do sistemF e seguir sero explidos os omndos de ordo om os modelosF ysX s est explido utilizo dos omndos pr onstruo de (ltros nlgiosF r os (ltros digitisD onsulte o mnul trvs do omndo help comandoF

A.1 Butterworth
BUTTER
r onstruo de (ltros

ButterworthF

[num,dem] = butter(N,Wn,`s') ! iste omndo retorn os oe(ientes do numerdor @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 $[num,dem] = butter(N,Wn,`high',`s') ! gonstri um (ltro pssEltF $[num,dem] = butter(N,Wn,`stop',`s') ! gonstri um (ltro fnd de rejeio se W n = [W 1 W 2]F

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

BUTTORD

r enontrr ordem de um (ltro

Butterworth F

Butterworth que tenh no mximo Rp df de tenuo n nd de pssgem e no mE


nimo 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

[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro

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

Wp Wp Wp Wp

= = = =

x Ws = y y Ws = x [x1 x2] Ws = [y1 y2] [y1 y2] Ws = [x1 x2]

e freqni retornd Wn freqni nturlD ou Q hF

APNDICE A.

ANLISE E CONSTRUO DE FILTROS

RH

A.2 Chebyshev
CHEBY1
r onstruo de (ltros

Chebyshev ipo sF

[num,dem] = cheby1(N,R,`s') ! iste omndo retorn os oe(ientes do numerdor @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 fnd de pssgem om W 1 < W < W 2F $[num,dem] = cheby1(N,R,Wn,`high',`s') ! gonstri um (ltro pssEltF $[num,dem] = cheby1(N,R,Wn,`stop',`s') ! gonstri um (ltro fnd de rejeio se W n = [W 1 W 2]F

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

CHEB1ORD

r enontrr ordem de um (ltro

Chebyshev ipo s F

[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (lE tro Chebyshev que no mximo Rp df de tenuo n nd de pssgem e no mnimo 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 Ws = y y Ws = x [x1 x2] Ws = [y1 y2] [y1 y2] Ws = [x1 x2]

e freqni retornd Wn freqni nturlD ou Q hF

CHEBY2

r onstruo de (ltros

Chebyshev ipo ssF

[num,dem] = cheby2(N,R,`s') ! iste omndo retorn os oe(ientes do numerdor @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 fnd de pssgem om W 1 < W < W 2F $[num,dem] = cheby2(N,R,Wn,`high',`s') ! gonstri um (ltro pssEltF $[num,dem] = cheby2(N,R,Wn,`stop',`s') ! gonstri um (ltro fnd de rejeio se W n = [W 1 W 2]F

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

APNDICE A.

ANLISE E CONSTRUO DE FILTROS

RI

CHEB2ORD

r enontrr ordem de um (ltro

Chebyshev ipo ss F

[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Chebyshev que tenh no mximo Rp df de tenuo n nd de pssgem e no mnimo 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 Ws = y y Ws = x [x1 x2] Ws = [y1 y2] [y1 y2] Ws = [x1 x2]

e freqni retornd Wn freqni nturlD ou Q dfF

A.3 Elliptic
ELLIP
r onstruo de (ltros

Elliptics ou CauerF

[num,dem] = ellip(N,Rp,Rs,Wn,`s') ! iste omndo retorn os oe(ientes do nuE merdor @num A e denomindor @dem A d funo de trnsferni do (ltro Elliptic pssE ixF 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 $[num,dem] = ellip(N,Rp,Rs,Wn,`high',`s') ! gonstri um (ltro pssEltF $[num,dem] = ellip(N,Rp,Rs,Wn,`stop',`s') ! gonstri um (ltro fnd de rejeio se W n = [W 1 W 2]F

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

ELLIPORD

r enontrr ordem de um (ltro

Elliptic F

[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') ! iste omndo retorn ordem do (ltro Elliptic que tem no mximo Rp df de tenuo n nd de pssgem e no mnimo 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 Ws = y y Ws = x [x1 x2] Ws = [y1 y2] [y1 y2] Ws = [x1 x2]

e freqni retornd Wn freqni nturlD ou Q dfF

Referncias Bibliogrcas
I li thie wtsurotoF

MATLAB 6: Fundamentos de ProgramaoF riD PHHIF MATLAB 6: Curso CompletoF wkron fooksD PHHQF

P hune rnselmn e frue vittle(eldF Q tephen tF ghpmnF

Programao em Matlab para EngenheirosF homson verningD PHHQF MATLAB 7: FundamentosF riD PHHRF Matlab 5: Verso do Estudante - Guia do UsurioF

R li thie wtsurotoF

S hune rnselmn e frue vittle(eldF wkron fooksD IWWWF

You might also like