Академический Документы
Профессиональный Документы
Культура Документы
MANUAL ! MA"LA#
Cur$o de MA"LA#
Projeto REENGE - DEL
Elaborao% &edao' Leonardo (ereira #a$to$ &e)i$o' (ro*+ Cel$o Munaro ata' maro de ,--. E$ta apo$tila *oi elaborada dentro do pro/eto &EEN0E% EL1 cu/o ob/eti)o melhorar a$ condi2e$ de en$ino do cur$o de Engenharia Eltrica )ia $uporte computacional ade3uado+
4ndice' PARTE I: ,
5n*orma2e$ 5niciai$
,+ 5n$talao 6+ iretrio 7+ 5niciando 8+ Linha de Comando 9+ Matri:e$ Simple$ ;+ Elemento$ da Matri: .+ Linha$ de Comando e <ari=)ei$ do MA"LA# >+ !btendo 5n*orma2e$ do E$pao de "rabalho -+ ! Comando ?elp ,@+ Finali:ando e Sal)ando o E$pao de "rabalho ,,+ NAmero$ e EBpre$$2e$ Aritmtica$ ,6+ NAmero$ CompleBo$ e Matri:e$ ,7+ Formato$ de SaCda ,8+ Fun2e$ 6 7
!pera2e$ com Matri:e$ !pera2e$ com <etore$
,+ 6+ 7+ 8
,+ 0erando <etore$ 6+ Matri:e$ E$peciai$ 7+ Manipulao de Matri:e$ 8+ 5ntroduo ao$ 0r=*ico$ 9+ Fun2e$ Elementare$ de (lotagem ;+ Criando um 0r=*ico .+ E$tilo$ de Linha1 Marcadore$ e Cor >+ Adicionando Linha$ a um 0r=*ico EBi$tente -+ ado$ 5magin=rio$ e CompleBo$ ,@+ (lotando Matri:e$ ,,+ Copiando 0r=*ico$ PARTE II: Informaes Avanadas ,+
An=li$e de ado$
6+ ,+ 6+ 7+ 7+ ,+ 6+ 7+ 8+ ,+ 6+ 7+ 9+ ,+ 6+ 7+ ;+ ,+ 6+ 7+ 8+ 9+ .+ ,+ ,+ 6+ >+ -+ ,+ 6+ 7+ 8+ 9+
Fun2e$ de Matri: Fatorao "riangular Fatorao !rtogonal ecompo$io do$ Auto)alore$ (olinDmio$ e (roce$$amento de Sinai$ &epre$entao (olinomial (roce$$amento de Sinai$ Filtro de ado$ Fun2e$ de Funo 5ntegrao Numrica E3ua2e$ No-Lineare$ e Fun2e$ de !timi:ao Fun2e$ de E3ua2e$ i*erenciai$ FluBo de Controle Loop F!& Loop E?5LE Comando$ 5F e #&EAF Ar3ui)o$-M' Script$ e Fun2e$ Ar3ui)o$ Script Ar3ui)o$ Funo <ari=)ei$ 0lobai$ String$ de "eBto A Funo e)al Ar3ui)o$ de i$co 5mportando e EBportando ado$ 5mportando ado$ EBportando ado$ do MA"LA# ! ebugger do MA"LA# Ar3ui)o$ E%S Abrindo e Fechando Ar3ui)o$ Leitura de Ar3ui)o$ com ado$ em #in=rio E$cre)endo em Ar3ui)o$ com ado$ em #in=rio E$cre)endo Ar3ui)o$ de "eBto Formatado$ e String$ Lendo Ar3ui)o$ de "eBto Formatado$ e String$
6+ 7+ 8+ 6+ ,+ 6+ 7+ 8+ 9+ ;+ .+ >+ 7+ ,+ 6+ 7+ 8+ 9+ 8+ ,+ 6+ 9+ ,+ 6+ 7+ 8+ 9+ ;+
Fun2e$ E$peciai$ para 0r=*ico$ 6(olCgono$ (reenchido$ (lotando Fun2e$ Matem=tica$ 0r=*ico$ 70r=*ico$ de Linha$ Me$hgrid 0r=*ico$ de Contorno 0r=*ico$ de ($eudocore$ 0r=*ico$ de Super*Ccie$ e Me$h Matri:e$ de Core$ Super*Ccie$ (aramtrica$ <aria2e$ de $ur* e me$h Fun2e$ 0r=*ica$ de (rop$ito 0eral (onto de <i$ta Controlando o$ EiBo$ com a *uno aBi$ "ornando <i$C)el Linha$ e Super*Ccie$ E$condida$ Subgr=*ico$ Figura Mapa$ de Core$ e Controle de Core$ Mo$trando Mapa$ de Core$ Alterando o$ Mapa$ de Core$ Manu$eamento de 0r=*ico$ !b/eto$ 0r=*ico$ ?andle de !b/eto$ Fun2e$ de Criao de !b/eto$ (ropriedade$ do$ !b/eto$ E$peci*icando e Alterando a$ (ropriedade$ do$ !b/eto$ Utili:ando a$ Fun2e$ $et e get
(A&"E 5
Informaes Bsicas
Esta primeira parte traz os captulos de 1 a 6, e contm as informaes necessrias para se comear a trabalhar com MAT A!" Ap#s esta parte o leitor de$e estar apto a declarar $ari$eis no prompt, se%a do tipo $etor ou matriz, realizar operaes com estas $ari$eis, utilizar o comando &elp e plotar 'rficos"
Ca !t"#o $
Informaes Iniciais
E$te capCtulo po$$ui in*orma2e$ para a in$talao do MA"LA# )er$o 8+6@ no $eu computador +
,+, Instalao
A in$talao do MA"LA# no computador *eita da $eguinte *orma' 5n$ira o di$co , e chame o ar3ui)o $etup+eBe+ ! programa de in$talao o in*ormar= $obre o e$pao di$ponC)el no di$co rCgido e o e$pao nece$$=rio para a in$talao do programaG ca$o o e$pao di$ponC)el $e/a $u*iciente para a in$talao1 $er= perguntado um nome para o diretrio onde o programa $er= in$talado Ho nome padro do diretrio MA"LA#I+J medida 3ue a in$talao *or $endo reali:ada1 o programa de in$talao pedir= o prBimo di$co Hat o di$co 9I+ No *inal da in$talao1 perguntado $e de$e/a-$e in$talar alguma toolboB+ &e$ponda no+ A me$ma re$po$ta de)e $er dada com re$peito ao$ compiladore$+ Kuando a in$talao terminar1 in$ira o di$co ; e copie o diretrio control para o caminho c:/matlab/toolbox/matlab/+ e$ta *orma1 a toolboB de controle *icar= di$ponC)el no caminho c:/matlab/toolbox/matlab/control/ EBi$te um ar3ui)o no diretrio principal 3ue de*ine o$ caminho$ 3ue o MA"LA# $egue Hem 3uai$ $ubdiretrio$ o MA"LA# procura o$ ar3ui)o$ ou *un2e$ nece$$=ria$IG e$te ar3ui)o uma e$pcie de autoexec.bat do MA"LA#+ E$te ar3ui)o o matlabrc+mG ele pode $er modi*icado em 3ual3uer editor de teBto de modo a de*inir o caminho para o diretrio da toolboB de controle+ !$ caminho$ $o de*inido$ na $eguinte parte do ar3ui)o matlabpathHL+++ MC'NMA"LA#NtoolboBNlocalO1+++ MGC'NMA"LA#NtoolboBNmatlabNcontrolO1+++ (linha adicionada) MGC'NMA"LA#NtoolboBNmatlabNdata*unO1+++ MGC'NMA"LA#NtoolboBNmatlabNelmatO1+++ PIG onde a linha 3ue de)e $er adicionada e$t= indicada acima+
%&s+' ! MA"LA# utili:a1 geralmente1 o #loco de Nota$ do EindoQ$ para 3ue $e po$$a criar ou alterar ar3ui)o$ +m+ (or i$$o1 3uando a in$talao do MA"LA# terminar1 de)e-$e *a:er o $eguinte' No EindoQ$ 7+B No gerenciador de ar3ui)o$1 cli3ue uma )e: $obre 3ual3uer ar3ui)o com eBten$o +m e1 no menu Arquivo1 e$colha Associar+ No item Arquivos com extenso colo3ue m HeBten$o do$ ar3ui)o$ 3ue o MA"LA# utili:aI+ No item Associar com e$colha o #loco de Nota$+ Cli3ue em OK e pronto+ No EindoQ$ -9 No EBplorer1 cli3ue no menu Exibir e e$colha Opes+ E$colha em tipo$ de ar3ui)o o Ccone Novo tipo+ !nde e$ti)er Descrio do tipo e$cre)a MA"LA#G onde e$ti)er e$crito Extenso associada e$cre)a m+ Em $eguida e$colha Novo e preencha da $eguinte *orma' Aes: Abrir Aplicativo utili ado para executar a ao: c'NQindoQ$Nnotepad+eBe Cli3ue em OK at 3ue toda$ a$ /anela$ $e/am *echada$+
,+6 Diretrio
! diretrio MA"LA# compo$to de )=rio$ $ubdiretrio$+ !$ doi$ 3ue po$$uem maior importRncia a nC)el de conhecimento do aluno $o o$ de$crito$ abaiBo' %bin %toolboB%matlab iretrio em 3ue $e encontra o ar3ui)o matlab+eBe1 ar3ui)o de eBecuo do MA"LA#+ iretrio onde e$to locali:ado$ o$ $ubdiretrio$ de toolboBe$ H%matlab1 %control1 etc+I+
Captulo 2
Iniciando
Ne$te capCtulo apre$entado o e$pao de trabalho do MA"LA#+ S mo$trado como $e lidar com matri:e$ e como utili:ar o comando ?elp para obter in*orma2e$ de utili:ao da$ *un2e$+
>> log(sqt(atan(2*(3+4))))
MA"LA# re$ponde com uma men$agem de erro do tipo
>> plo
A tabela abaiBo li$ta a$ tecla$ 3ue podem $er u$ada$ para edio na linha de comando$' Ctr#-P Ctr#-N Ctr#-' Ctr#-( De#ete Ctr#-L Ctr#-R Ctr#-A Ctr#-E Ctr#-) Ctr#-D Ctr#-* Chama uma linha de comando anterior+ Chama uma linha de comando po$terior+ Mo)e o cur$or um caractere T e$3uerda+ Mo)e o cur$or um caractere T direita+ Mo)e o cur$or T e$3uerda1 apagando um caractere+ Mo)e o cur$or uma pala)ra T e$3uerda+ Mo)e o cur$or uma pala)ra T direita+ Mo)e o cur$or para o comeo da linha+ Mo)e o cur$or para o *inal da linha+ Cancela a linha+ Apaga o caractere 3ue e$t= $obre o cur$or+ Apaga at o *inal da linha+
A maneira mai$ *=cil de $e declarar matri:e$ *a:endo a eBplicitao da li$ta de elemento$ na linha de comando1 $eguindo a$ con)en2e$ abaiBo' -eparar os elementos da lista de elementos atra$s de espaos ou $r'ulas" +olocar os elementos entre colchetes, . /"
>> )atri*
atribui T matri: A o$ dado$ corre$pondente$+
(ode-$e con$truir grande$ matri:e$ utili:ando matri:e$ menore$ como elemento$+ (or eBemplo1 para acre$centar uma no)a linha T matri: A'
Matri:e$ menore$ podem $er eBtraCda$ de matri:e$ grande$ utili:ando o$ doi$ ponto$ H'I+ (or eBemplo
>> A = A(!0310)"
3ue *ornece a $eguinte matri:
$ari$el 4 e)press5o
ou $imple$mente
e)press5o
(odem $er compo$ta$ eBpre$$2e$ com operadore$ e outro$ caractere$ e$peciai$1 com *un2e$1 e com nome$ de )ari=)ei$+ A eBecuo da eBpre$$o produ: uma matri:+ A matri: mo$trada na tela e a$$ume o nome da )ari=)el de*inida na linha de comando para 3ue po$$a $er utili:ada em uma outra $ituao+ Se *or omitido o nome da )ari=)el e o $inal 41 MA"LA# cria automaticamente uma )ari=)el com o nome ans+ (or eBemplo1 digitando a eBpre$$o
>> 23o
(ara )eri*icar uma li$tagem mai$ completa$ $obre a$ )ari=)ei$ arma:enada$ de)e-$e utili:ar o comando 6hos1 o 3ual tra: in*orma2e$ $obre o nome1 a dimen$o da matri: corre$pondente1 o nAmero de elemento$ de$$a matri:1 entre outro$+
>> 3elp
$em nenhum argumento mo$tra uma li$ta de diretrio$ 3ue contUm ar3ui)o$ relacionado$ com MA"LA#+ Cada linha mo$trada li$ta o nome de um diretrio $eguido por uma de$crio do conteAdo do me$mo+ Algun$ diretrio$ $o a$$ociado$ com o$ comando$ b=$ico$ do MA"LA#+ !utro$ contUm toolboBe$1 tai$ como control e si!nalG e$$e$ po$$uem *un2e$ adicionai$ do MA"LA# cobrindo =rea$ de aplica2e$ mai$ e$peciali:ada$+ (ara uma li$ta de *un2e$ relacionada$ a um determinado diretrio1 digita-$e help $eguido pelo nome do me$mo+ Aparece uma li$ta de comando$1 *un2e$ e $Cmbolo$ e$pecC*ico$ do MA"LA#+ ! comando help $eguido por e$te$ comando$ ou *un2e$ *ornece in*orma2e$ $obre como utili:=-lo$ em uma linha de comando+ Com o comando
topico de)e $er um diretrio ou o nome de uma *uno ou comando do MA"LA#+ Se *or digitado
inverse not found5$to ocorre por3ue in$erse no o nome de uma *uno do MA"LA#1 a meno$ 3ue tenha $ido adicionada a uma toolboB pe$$oal+
>> save
E$te comando $al)a toda$ a$ )ari=)ei$ em um ar3ui)o em di$co chamado matlab"mat+ Na prBima )e: 3ue MA"LA# chamado1 pode-$e eBecutar o comando load para re$taurar o e$pao de trabalho com a$ )ari=)ei$ de matlab"mat+ (odem $er utili:ado$ o$ comando$ sa$e e load em ar3ui)o$ com outro$ nome$1 ou $al)ar $omente alguma$ )ari=)ei$+ ! comando sa$e temp $al)a a$ )ari=)ei$ em um ar3ui)o de nome temp"mat+ ! comando
MA"LA# po$$ui tambm *un2e$ matem=tica$ elementare$ encontrada$ em calculadora$ cientC*ica$+ E$ta$ *un2e$ incluem abs, s(rt, lo' e sin+ <ocU pode *acilmente adicionar mai$ *un2e$ atra)$ do$ ar3ui)o$-M+ Alguma$ *un2e$ $imple$mente retornam )alore$ e$peciai$ comumente utili:ado$1 como a *uno pi 3ue retorna o )alor da con$tante + A *uno :nf indica re$ultado in*initoG uma di)i$o por :ero gera como re$po$ta :nf+ A )ari=)el ;a; HNot a NumberI po$$ui di*erente$ propriedade$ com relao T )ari=)el :nf+ Uma di)i$o <=< ou :nf=:nf produ: ;a; como re$po$ta+
>> z 4 ? @ ABi
Uma outra *orma
>> 6 4 rBe)p1iBtheta3
Kuando *orem entrado$ nAmero$ compleBo$ como elemento$ de matri: com o$ colchete$1 de)e $er e)itado 3ual3uer e$pao em branco+ Uma eBpre$$o como 1 @ CBi1 com e$pao$ em )olta do $inal @1 repre$enta doi$ nAmero$+ 5$to tambm )=lido para nAmero$ reai$G uma e$pao ante$ do eBponencial1 como em 1"D? e,A1 cau$a um erro+ ! nome de uma *uno do MA"LA# tambm pode $er u$ada como o nome de uma )ari=)el+ Kuando utili:ado como uma )ari=)el1 a *uno original $e torna indi$ponC)el no e$pao de trabalho at 3ue a )ari=)el $e/a apagada+
Se todo$ o$ elemento$ de uma matri: *orem inteiro$ eBato$1 a matri: mo$trada em um *ormato $em ponto$ decimai$+ Se ao meno$ um elemento de uma matri: no um inteiro eBato1 )=rio$ *ormato$ de $aCda $o po$$C)ei$+ ! *ormato padro1 chamado de s"ort #ormat1 mo$tra aproBimadamente cinco dCgito$ decimai$ $igni*icati)o$+ !$ outro$ *ormato$ mo$tram mai$ dCgito$ $igni*icati)o$ ou utili:am notao decimal+ Como um eBemplo1 $uponha
2.11 09nes
0rande parte do poder do MA"LA# = atribuCdo ao eBten$i)o con/unto de *un2e$+ Alguma$ da$ *un2e$ $o intrCn$eca$ ao MA"LA#+ !utra$ *un2e$ e$to di$ponC)ei$ na biblioteca de ar3ui)o$-M di$tribuCdo$ com MA"LA# Ha toolboB do MA"LA#I+ Ainda eBi$tem outra$ 3ue $o adicionada$ por u$u=rio$ indi)iduai$ ou grupo$ de u$u=rio$1 para aplica2e$ mai$ e$peciali:ada$+ E$ta uma importante caracterC$tica do MA"LA#G todo 9s9rio "ode criar f9nes :9e at9am da mesma forma :9e 9ma f9no intr8nseca do M()L(B.
Ca !t"#o +
MA"LA# tambm calcula *un2e$ tran$cendentai$1 tai$ como eBponencial e logaritmo da matri:+ E$ta$ *un2e$ e$peciai$ $o de*inida$ $omente para matri:e$ 3uadrada$+ Uma *uno matem=tica tran$cendental interpretada como uma *uno da matri: $e um m acre$centado ao nome da *uno+ A$ trU$ *un2e$ abaiBo $o di$tribuCda$ /untamente com o MA"LA# e)pm , matriz e)ponencial lo'm , matriz lo'artmica s(rtm , matriz raiz (uadrada
Ca !t"#o ,
MA"LA# compara o$ elemento$ corre$pondente$ de cada matri:+G o re$ultado uma matri: de ,$ e @$1 com , repre$entando )erdadeiro e @ repre$entando *al$o+
find , encontra os ndices da matriz de $alores l#'icos e)ist , $erifica a e)istPncia de $ari$eis isnan , detecta se al'um elemento da matriz ;a; isinf , detecta se al'um elemento da
atanD , arco,tan'ente para os (uatro (uadrantes sinh , seno hiperb#lico cosh , cosseno hiperb#lico
tanh , tan'ente hiperb#lica asinh , arco,seno hiperb#lico acosh , arco,cosseno hiperb#lico atanh , arco,tan'ente hiperb#lico
s(rt , raiz (uadrada real , parte real ima' , parte ima'inria con% , comple)o con%u'ado
round , arredondamento para o inteiro mais pr#)imo fi) , arredondamento para o inteiro mais pr#)imo de zero floor , arredondamento para o inteiro mais pr#)imo de , ceil , arredondamento para o inteiro mais pr#)imo de @ MA"LA# inclui como *un2e$ elementare$ abs , $alor absoluto ou m#dulo de um nQmero comple)o an'le , Rn'ulo de fase si'n , fun5o sinal rem , remanescente ou m#dulo 'cd , m)imo di$isor comum lcm , mnimo mQltiplo comum e)p , e)ponencial de base e lo' , lo'aritmo natural lo'1< , lo'aritmo de base 1<
Ca !t"#o -
>> + = !0#
gera um )etor linha contendo o$ nAmero$ de , a 9 com incremento de uma unidade+ e$ta *orma produ:ido o )etor
+= !234#
(ode-$e utili:ar incremento$ di*erente$ da unidade como em
>> 8 = /0 pi.40 pi
3ue re$ulta em um )etor linha comeando em :ero e terminando em H7+,8,;I com incremento de %8 H@+.>98I+ E$ta notao do doi$ ponto$ po$$ibilita a *=cil gerao de tabela$+ (ara $e obter um )etor coluna ba$ta tran$por o )etor linha gerado+ !utra$ *un2e$ para gerao de )etor incluem o lo'space1 o 3ual gera )etore$ e$paado$ logaritmicamente1 e o linspace1 3ue permite 3ue )ocU e$peci*i3ue o nAmero de ponto$ ao in)$ do incremento+
rand , elementos randJmicos uniformemente distribudos randn , elementos randJmicos normalmente distribudos
Ca !t"#o 2
(ode-$e adicionar tCtulo1 nome ao$ eiBo$1 linha$ de grade e teBto$ a 3ual3uer gr=*ico utili:ando
plot produ: um gr=*ico de H1 )er$u$ ) e HD )er$u$ ) no me$mo eiBo+ ! primeiro grupo de dado$ H H1I plotado com uma linha )ermelha $lida e o $egundo grupo HHDI plotado com uma linha trace/ada )erde+ A linha de comando abaiBo adiciona um tCtulo ao gr=*ico e nome ao$ eiBo$'
>> plot(4151>)
- uma $tring en)ol)ida por a$pa$ e con$truCda com o$ caractere$ mo$trado$ na tabela abaiBo' 3!m&o#o H m Cor amarelo ma'enta 3!m&o#o " o Esti#o de Lin4a ponto crculo
c r ' b 6 E
) @ B , T ," ,,
(or eBemplo1 plot17,8,FbBF3 plota um a$teri$co a:ul em cada ponto de dado+ Se no *or e$peci*icada uma cor1 a *uno plot automaticamente utili:a a$ core$ na ordem em 3ue $e apre$entam na tabela acima+ e$ta *orma1 para uma linha $omente1 o gr=*ico traado em amarelo+
>> plot(6)
onde 9 um )etor ou uma matri: compleBa1 e3ui)alente a
>> plot(real(6)1i)ag(6))
! ar3ui)o-M cria uma matri: 3ue po$$ui o$ )alore$ da *uno para ) e H na *aiBa de -7 a 7+ !$ )alore$ de ) )ariam ao longo da$ coluna$ e o$ de H ao longo da$ linha$+ <ocU pode e$peci*icar o tamanho da matri: 3uadrada 3ue retornada pa$$ando como argumento T *uno peaEs+ (or eBemplo1
>> ? = pea9s(2/)
cria uma matri: de dado$ de dimen$o 6@ por 6@+ Se )ocU omitir o argumento de entrada1 o )alor utili:ado o padro1 3ue 8-+ A *uno plot pode ter um Anico argumento 3ue pode $er uma matri:'
>> plot(5)
5$to *a: com 3ue $e/a traada uma linha no gr=*ico para cada coluna de 8+ ! eiBo ) a$$umido como $endo o Cndice do )etor linha1 1Tm1 onde m o nAmero de linha$ de 8+ (or eBemplo1 a linha de comando
>> plot(pea9s)
produ: um gr=*ico com 8- linha$+ A *uno plot tambm aceita doi$ )etore$ ou matri:e$ como argumento$+ (or eBemplo1
>> plot(pea9s1rot'/(pea9s:))
produ: um gr=*ico da *uno peaEs em *uno da tran$po$ta de$locada de -@[degG da me$ma *uno peaEs+ Em geral1 $e plot utili:ada com doi$ argumento$1 e $e 7 ou 8 po$$uem mai$ de uma linha ou coluna1 ento'
- Se 8 uma matri:1 e ) um )etor1 plot1),83 plota $uce$$i)amente a$ linha$ ou coluna$ de 81 utili:ando di*erente$ core$ ou tipo$ de linha para cada1 em *uno do )etor )+ A orientao de linha$ ou coluna$ $elecionada de *orma a po$$uir o me$mo nAmero de elemento$ de )+ Se 8 3uadrada1 $ua$ coluna$ 3ue $o u$ada$+
Se ambo$ 7 e 8 $o matri:e$ de me$ma dimen$o1 plot17,83 plota a$ coluna$ de 7 em *uno da$ coluna$ de 8+ "ambm pode $er utili:ada a *uno plot com )=rio$ pare$ de matri:e$ no argumento+
Se 7 uma matri: e H um )etor1 plot17,H3 plota cada linha ou coluna de 7 em *uno do )etor H+
>> plot(4!15!1421521---)
Cada par 7,8 plotado1 gerando mAltipla$ linha$+ !$ di*erente$ pare$ podem $er de dimen$2e$ di*erente$+
PARTE II
Informaes Avanadas
A se'unda parte traz os captulos de U a 1C, e contm t#picos mais a$anados" Vara a$anar nesta parte o leitor de$e ter compreendido a primeira parte" Ws t#picos mais importantes e (ue o usurio de$e ter o controle ao final desta parte dizem respeito a representa5o polinomial, a utiliza5o das opes de flu)o de controle e a cria5o de ar(ui$os,M, se%am nas formas script ou fun5o"
Ca !t"#o 5
(nlise de Dados
E$te capCtulo apre$enta um grupo de *un2e$ 3ue po$$uem a capacidade de an=li$e de dado$+ Um grupo de *un2e$ 3ue po$$ui a capacidade de an=li$e de dado$ mo$trado abaiBo' ma) , $alor m)imo min , $alor mnimo mean , $alor mdio std , des$io mdio sort , ordenar sum , soma dos elementos prod , produto dos elementos cumsum , soma acumulati$a dos elementos cumprod , produto acumulati$o dos elementos hist , histo'rama
Kuando o$ argumento$ *orem )etore$1 no ir= importar $e o )etor orientado por linha ou por coluna+ Se o argumento *or uma matri:1 a$ *un2e$ operaro orientada$ por coluna+ e$ta *orma1 $e )ocU aplicar a *uno ma) a uma matri:1 o re$ultado um )etor linha contendo o )alor m=Bimo de cada coluna+
Ca !t"#o 6
09nes de Matri
Ne$te capCtulo $o de$crita$ alguma$ *un2e$ e$peciai$ para aplica2e$ em matri:e$1 tai$ como *atorao e decompo$io+
>> eig(A)
3ue retorna o$ auto)alore$ em uma )etor coluna+ Se A real e $imtrica1 o$ auto)alore$ $o reai$+ Ma$ $e A no $imtrica1 o$ auto)alore$ *re3uentemente $o nAmero$ compleBo$+ (ara $e obter o$ auto)alore$ e o$ auto)etore$ de uma )e: ba$ta utili:ar a $eguinte linha de comando'
Ca !t"#o 7
fftshift - troca o$ 3uadrante$ da matri: Vara ar'umentos bidimensionais, como matrizes, usam,se as funes modificadasT fftD , fft bidimensional ifftD , ifft bidimensional con$D , con$olu5o bidimensional
>> 8 = filter(b1 a1 +)
*iltra o$ dado$ contido$ no )etor ) com o *iltro de$crito pelo$ )etore$ a e b1 criando o$ dado$ *iltrado$ H+ A e$trutura do *iltro pode $er de$crita pela e3uao di*erencial
?;n< = &;$<@;n< > &;:<@;n 9 $< > AAA > &;n&<@;n 9 n& > $< 9 a;:<?;n 9 $< 9 AAA 9 a;na<?;n 9 na > $<
ou de modo e3ui)alente1 pela tran$*ormada 9
B;1< = C;1< = &;$< > &;:<1 9 $ >AAA>&;n&<1 9 ;na 9 $< D;1< $ > a;:<1 9 $ >AAA>a;na<1 9 ;na 9 $<
A *uno fre(z retorna a re$po$ta compleBa em *re3uUncia de *iltro$ digitai$+
Ca !t"#o $E
09nes de 09no
Ne$te capCtulo $o tratada$ a$ *un2e$ do MA"LA# 3ue no trabalham com matri:e$ numrica$1 ma$ com *un2e$ matem=tica$+ A$ #unes de #uno $o de$crita$ como $endo'
5ntegrao numrica - E3ua2e$ no-lineare$ - Soluo de e3ua2e$ di*erenciai$ MA"LA# repre$enta *un2e$ matem=tica$ atra)$ de ar3ui)o$ de *uno-M+ (or eBemplo1 a *uno
f;@< =
pode $er encontrada no MA"LA#1 poi$ *oi criada atra)$ de um ar3ui)o-M chamado humps"m+
Continuando o eBemplo de*inido por humps"m1 a locali:ao do mCnimo na regio de @+9 a , computado com fmin'
(elo gr=*ico1 pode-$e ob$er)ar 3ue a *uno humps apre$enta doi$ :ero$+ A locali:ao do :ero prBimo a ) 4 <
Ca !t"#o $$
(#"@o de Contro#e !$ *luBo$ de controle encontrado$ na maioria da$ linguagen$ de programao $o tratado$ ne$te capCtulo+ A$ linha$ de comando de *luBo de controle permitem 3ue MA"LA# $e/a utili:ado como uma linguagem de programao completa de alto-nC)el+
Ca !t"#o $:
>> * = !0''"
o )alor mdio de$te encontrado atra)$ do comando
>> )ean(*)
3ue re$ulta em
ans = #/
A$ in*orma2e$ abaiBo $o para o ar3ui)o mean"m1 ma$ o princCpio )=lido para todo$ o$ ar3ui)o$ *uno' A primeira linha declara o nome da fun5o e os ar'umentos de entrada e sada" -em esta linha, o ar(ui$o um ar(ui$o script, e n5o um ar(ui$o fun5o" W smbolo ^ indica (ue o restante da linha um comentrio e de$e ser i'norado"
As primeiras linhas descre$em o ar(ui$o,M e s5o mostradas (uando $ocP di'ita help mean"
As $ari$eis m, n e H s5o locais a mean e n5o aparecem no espao de trabalho ap#s mean ter terminado" 1Wu, se elas e)istem, permanecem inalteradas"3 ;5o necessrio definir os inteiros de 1 a SS em uma $ari$el de nome )" ;o e)emplo, a fun5o mean foi usada com uma $ari$el z" W $etor z (ue contm os inteiros de 1 a SS foi passado ou copiado para mean onde ele se tornou uma $ari$el local de nome )" (ode-$e criar uma a/uda online para o$ ar3ui)o$-M entrando com um teBto de uma ou mai$ linha$ de coment=rio$1 comeando pela $egunda linha do ar3ui)o+ (or eBemplo1 o ar3ui)o-M an'le"m contm function p 4 an'le1h3 ^A;* E Vhase an'le" A;* E1&3 returns the phase an'les, in radians, of a matri) 6ith comple) elements" -ee also A!-, 0;]XAV" Kuando $e entra com help an'le1 a$ linha$ 61 7 e 8 $o mo$trada$+ #a$eado ni$to1 a primeira linha de coment=rio$ em 3ual3uer ar3ui)o-M de)e conter o maior nAmero de in*orma2e$ po$$C)ei$+
>> s = ;Fello:
re$ulta em
s= Fello
! teBto arma:enado em um )etor1 $endo um caractere por elemento+ Ne$te ca$o1
( 09no eval
A *uno e$al trabalha com )ari=)ei$ do tipo teBto e implementa uma podero$a *acilidade de macro+ e$al1t3 *a: com 3ue o teBto contido em t $e/a a)aliado+ (or eBemplo1 t 4 K1=1i@%,13F2 for i 4 1Tn for % 4 1Tn
a1i,%3 4 e$al1t32 end end cria uma matri: a de dimen$o n por n1 onde cada elemento a)aliado pela *uno 3ue e$t= de$crita por t+
Ca !t"#o $+
(r:9i'os de Disco
!$ comando$ relacionado$ com ar3ui)o$ 3ue permitem a importao e a eBportao de dado$ $o o$ a$$unto$ de$te capCtulo+ !$ comando$ do MA"LA# sa$e e load1 gra)am e eBecutam o conteAdo do e$pao de trabalho1 re$pecti)amente+ !utro$ comando$ relacionado$ com ar3ui)o$ de di$co permitem eBecutar programa$ eBterno$ e torna po$$C)el a importao e a eBportao de dado$+ Algun$ de$$e$ comando$ $o dir1 tHpe1 delete e cd+ Ele$ atuam de *orma idUntica como atuam no MS- !S+
Ca !t"#o $,
+ De,9<<er do M()L(B
E$te capCtulo de$cre)e comando 3ue auBiliam na de$coberta de erro$ 3ue ocorrem durante o tempo de eBecuo+ Ape$ar da linguagem 3ue MA"LA# utili:a $er meno$ compleBa 3ue a$ outra$ linguagen$ de programao1 ele po$$ui $ua prpria $intaBe1 e tal)e: $e/a nece$$=rio reparar algun$ erro$ 3ue )enham a acontecer+ MA"LA# encontra erro$ de $intaBe durante a compilao+ E$te$ erro$ u$ualmente $o *=cei$ de con$ertar+ MA"LA# tambm pode encontrar erro$ durante o tempo de eBecuoG e$te$ erro$ tendem a $er mai$ di*Ccei$ de $erem repararado$1 poi$ o e$pao de trabalho local T *uno perdido 3uando um erro *ora o retorno ao prompt do MA"LA# e ao e$pao de trabalho principal+ Se utili:a-$e o ponto-e-)Crgula para 3ue o$ re$ultado$ imediato$ da$ linha$ de comando no $e/am mo$trado$1 no $e $aber= onde ocorreu o erro+ (ara $e mo$trar o$ re$ultado$ intermedi=rio$1 pode-$e utili:ar 3ual3uer um do$ mtodo$ abaiBo' Xemo$er os ponto,e,$r'ulas de forma (ue se possa $isualizar os resultados imediatos" Adicionar o comando EeHboard para (ue se possa e)aminar a situa5o do espao de trabalho no ponto onde EeHboard foi inserido" Xetirar a declara5o de function para (ue os ar(ui$os,M possam ser e)ecutados como script, tornando os resultados intermedirios dispon$eis no espao de trabalho principal" 0tilizar o debu''er do MAT A!" !$ trU$ primeiro$ mtodo$ re3uerem a edio do ar3ui)o-M+ ! Altimo mtodo *oi introdu:ido a partir da )er$o 8+@ do MA"LA#1 e o$ $eu$ comando$ $o dbstop dbclear dbcont dbdo6n dbstatus dbstep dbtHpe dbup db(uit 5ntrodu: uma interrupo &emo)e a interrupo Continua a eBecuo Muda o conteBto do e$pao de trabalho local Li$ta toda$ a$ interrup2e$ EBecuta uma ou mai$ linha$ Li$ta o$ ar3ui)o$-M com o nAmero da$ linha$ Muda o conteBto do e$pao de trabalho local Finali:a o modo debug
!utra$ $tring$ de permi$$o podem $er obtida$ com o comando help fopen+ A *uno fopen retorna um identi*icador de ar3ui)o1 3ue um inteiro po$iti)o atribuCdo ao ar3ui)o pelo $i$tema operacional+ E$te identi*icador de ar3ui)o ba$icamente um atalho para $e re*erenciar o ar3ui)o+ A$ *un2e$ de E%S de ar3ui)o do MA"LA# utili:am o identi*icador como argumento para identi*icar o ar3ui)o aberto para leitura1 e$crita ou encerramento+ Se o ar3ui)o no pode $er aberto1 fopen retorna -, como identi*icador+ S acon$elh=)el te$tar o identi*icador cada )e: 3ue um ar3ui)o aberto+ Um $egundo )alor 3ue retornado pode *ornecer in*ormao adicional $obre erro$+ (or eBemplo1 $e MA"LA# no encontra o ar3ui)o pen"dat1 o comando
Ho suc3 file or director8Uma )e: aberto1 o ar3ui)o *ica di$ponC)el para leitura e gra)ao+ Kuando $e termina a leitura ou a gra)ao1 u$a-$e fclose para *echar o ar3ui)o+ (or eBemplo1
>> A = fread(fid1Inf)
lU at o *inal do ar3ui)o1 preenchendo a matri: A como um )etor coluna+ !mitir o tamanho do argumento produ: o me$mo e*eito+ ! argumento de preci$o numrica controla o nAmero de bit$ lido$ em cada )alor e a interpretao de$te$ bit$ como )alore$ caractere1 inteiro ou ponto *lutuante+ Alguma$ preci$2e$ comun$ incluem KcharF e KucharF para caracteres com sinal e sem sinal 1tipicamente _ bits3 KshortF e Klon'F para inteiros curtos e lon'os 1tipicamente 16 e ?D bits, respecti$amente3
KfloatF e KdoubleF para $alores em ponto flutuante de precis5o simples e dupla 1tipicamente ?D e 6A bits, respecti$amente3 Se fid $e re*erir a um ar3ui)o aberto contendo )alore$ em ponto *lutuante1 ento
>> A = fread(fid1!/1:float:)
lU ,@ )alore$ em ponto *lutuante preenchendo um )etor coluna A+
Campo$ opcionai$ no e$peci*icador de *ormato controlam o tamanho e a preci$o do campo+ (or eBemplo1 \\ B ] @' +,' ,G \\ ^ ] LBG eBpHBIPG \\ *id ] *openHMeBptable+tBtO1OQOIG \\ *print*H*id1OEBponential FunctionNnNnOIG \\ *print*H*id1O_;+6* _,6+>*NnO1^IG \\ $tatu$ ] *clo$eH*idIG cria um ar3ui)o de teBto contendo uma pe3uena tabela para a *uno eBponencial+ A primeira chamada a fprintf e$cre)e o tCtulo1 $eguido por doi$ comando$ EN"E&1 o 3ual de*inido por Gn+ A $egunda chamada e$cre)e a tabela propriamente dita+ A$ $tring$ de controle de *ormato de*inem o *ormato de cada linha da tabela como' , um $alor de ponto fi)o de seis caracteres com duas casas decimais , dois espaos , um $alor de ponto fi)o de doze caracteres com oito casas decimais
! eBemplo a $eguir *a: a leitura do ar3ui)o com o$ dado$ eBponenciai$ e$crito anteriormente'
>> A = fscanf(fid1:J#d:1!//)"
*a: a leitura de ,@@ )alore$ decimai$ para um )etor coluna A1 e
PARTE III
Grficos Avanados
A Qltima parte traz o captulo 16 (ue contm a parte a$anada de 'rficos" -5o descritas as funes especiais para 'rficos D,Z e a introdu5o e as funes especiais para 'rficos ?,Z" Ws recursos de altera5o de cores e plota'em de mais de um 'rfico em uma mesma fi'ura tambm s5o mostrados" Vor fim, s5o e)plicados os ob%etos de n$el inferior, essenciais ao entendimento da pro'rama5o no MAT A!"
Ca !t"#o $2
Grficos Avanados
! $i$tema gr=*ico do MA"LA# incorpora uma )ariedade de tcnica$ $o*i$ticada$ para apre$entao e )i$uali:ao de dado$+ E$te $i$tema con$truCdo atra)$ de um con/unto de ob/eto$ gr=*ico$1 tai$ como linha$ e $uper*Ccie$1 cu/a pre$ena pode $er controlada pelo a/u$te do$ )alore$ da$ propriedade$ de cada ob/eto+ Entretanto1 em )irtude do MA"LA# po$$ibilitar um rico a/u$te na$ *un2e$ gr=*ica$ 6- e 7- 1 na maior parte do tempo no nece$$=rio ace$$ar e$te$ ob/eto$ gr=*ico$1 o$ 3uai$ $o con$iderado$ ob/eto$ de baiBo nC)el+
Um gr=*ico $catter tambm um modo Atil de $e apre$entar o$ dado$+ A$ linha$ de comando a $eguir produ:em um gr=*ico $catter mo$trando a relao entre a temperatura e a precipitao em cada mU$'
>> )ont3 = :Kan:" ;Leb:" ;?ar:" ;Apr:" --;?a8:" ;Kun:" ;Kul:" ;Aug:" --;>ep:" ;Mct:" ;Hov:" ;Cec:(" >> plot(te)p1precip1:o:) >> a+is( 2& &/ 2-# #-2() >> +label(;te)p:) >> 8label(;precip:) >> title(;Noston:)
A linha de comando a)is1 do eBemplo1 acima introdu: e$pao eBtra ao gr=*ico atra)$ do a/u$te da e$cala do$ eiBo$ a )alore$ maiore$ 3ue a *aiBa de dado$+ 5$to permite 3ue o teBto *i3ue dentro do gr=*ico+
compass , cria um 'rfico de Rn'ulos e m#dulos de nQmeros comple)os onde a representa5o dos pontos feita por setas com incio na ori'em errorbar , cria um 'rfico com barras de erro feather , cria um 'rfico de Rn'ulos e m#dulos de nQmeros comple)os onde a representa5o dos pontos feita por setas com comeo em pontos i'ualmente espaados ao lon'o do ei)o horizontal fplot , a$alia uma fun5o e plota os resultados hist , cria um histo'rama polar , cria um 'rfico em coordenadas polares dos Rn'ulos em fun5o dos raios (ui$er , cria um 'rfico do 'radiente ou de outro campo do $etor rose , cria um histo'rama de Rn'ulo stairs , cria um 'rfico similar a um 'rfico de barra, mas sem as linhas internas fill , desenha um pol'ono e o preenche com cores s#lidas ou interpoladas
matriz
contour, contour? , cria 'rficos de contorno pcolor , desenha uma matriz retan'ular de clulas cu%as cores s5o determinadas pelos elementos da
ima'e , mostra uma matriz como uma ima'em atra$s do mapeamento dos elementos da matriz pelo mapa de cores ati$o mesh, meshc, meshz , cria 'rficos ?,Z em perspecti$a dos elementos da matriz, mostrados como alturas acima de um plano delimitado surf, surfc, surfl , cria 'rficos ?,Z em perspecti$a dos elementos da matriz, mostrados como alturas acima de um plano delimitado" W 'rfico formado pela 'era5o de uma superfcie colorida utilizando os pontos como $rtices de um (uadriltero" fill? , cria um pol'ono ?,Z a o preenche com cores s#lidas ou interpoladas !b$+' Ser= utili:ado o termo Y$uper*Ccie me$hZ para indicar o$ gr=*ico$ criado$ atra)$ do comando me$h+ Alm da$ *un2e$ de in$ero de coment=rio$ e nota$ mo$trada$ para o$ gr=*ico$ 6- 1 MA"LA# po$$ui a$ $eguinte$ *un2e$ para o$ gr=*ico$ 7- ' zlabel , define um nome para a $ari$el do ei)o z clabel , define identificaes para os contornos em 'rficos de contorno
MA"LA# permite a e$peci*icao do ponto de )i$uali:ao do gr=*ico+ Em geral1 a$ )i$ta$ $o de*inida$ por uma matri: de tran$*ormao 8 por 8 3ue o MA"LA# utili:a para tran$*ormar um gr=*ico 7- em uma tela 6- + Entretanto1 a *uno abaiBo permite a e$peci*icao do ponto de )i$o de uma maneira $impli*icada' $ie6 , a%usta o ponto de $is5o atual onde os parRmetros de entrada podem ser o azimute 1rota5o horizontal3 e a ele$a5o $ertical, ambos em 'rau, ou as coordenadas cartesianas"
>> plot3(+181*)
gera uma linha no e$pao tridimen$ional 3ue pa$$a pelo$ ponto$ de coordenada$ dada$ pelo$ elemento$ do$ )etore$ )1 H e z1 e depoi$ produ: uma pro/eo bidimen$ional de$ta linha na tela++ (or eBemplo
>> plot3(41516)
plota a$ linha$ obtida$ pela$ coluna$ de 71 8 e 9+ (ara e$peci*icar )=rio$ tipo$ de linha$1 $Cmbolo$ gr=*ico$ e core$1 u$a-$e a linha de comando plot?17,8,9,s31 onde $ uma $tring de ,1 6 ou 7 caractere$ *ormada pelo$ caractere$ li$tado$ com a *uno plot+
>> plot3(+!18!1*!1s!1+21821*21s21+31831*3-s31---)
combina o$ gr=*ico$ de*inido$ por cada grupo de elemento$ 1), H, z, s31 onde )1 H e z $o )etore$ ou matri:e$ e s $o a$ $tring$+
1-.2.2 Mesh<rid
MA"LA# de*ine uma $uper*Ccie me$h pela$ coordenada$ : do$ ponto$1 $ituando-a acima de uma =rea retangular no plano ),H+ e$ta *orma1 um gr=*ico *ormado pela ligao do$ ponto$ ad/acente$ com linha$ reta$+ Super*Ccie$ me$h $o Atei$ para )i$uali:ao de matri:e$ 3ue $o muito grande$ para $erem mo$trada$ na *orma numrica1 e *un2e$ gr=*ica$ de dua$ )ari=)ei$+ ! primeiro pa$$o para 3ue $e/a mo$trada uma *uno de dua$ )ari=)ei$1 z = f(x,y)1 gerar a$ matri:e$ 7 e 8 con$i$tindo de linha$ e coluna$ repetida$1 re$pecti)amente1 $obre o domCnio da *uno+ epoi$ utili:a-$e e$ta$ matri:e$ para a)aliar e plotar a *uno+ A *uno mesh'rid tran$*orma o domCnio e$peci*icado por doi$ )etore$1 ) e H1 em matri:e$1 7 e 8+ Utili:a-$e e$ta$ matri:e$ para a)aliar *un2e$ de dua$ )ari=)ei$+ A$ linha$ de 7 $o cpia$ do )etor B e a$ coluna$ de 8 $o cpia$ do )etor H+ (ara ilu$trar o u$o da *uno mesh'rid1 con$idere a *uno sin`=r1 tambm chamada *uno sinc+ (ara a)aliar e$ta *uno entre -> e >1 tanto em B como em ^1 pa$$a-$e como argumento doi$ )etore$ para a *uno mesh'rid criando a$ matri:e$ nece$$=ria$'
>> contour(pea9s12/)
!$ cCrculo$ de contorno agem da me$ma *orma 3ue a *uno plot com relao a e$tilo$ de linha1 marcadore$ e core$+ (ara criar um gr=*ico de contorno 7- com o$ me$mo dado$1 utili:a-$e a *uno contour?'
>> contour3(pea9s12/)
>> )es3(6)
gera uma *igura da $uper*Ccie1 colorida e de*inida por linha$1 e a mo$tra em uma pro/eo em per$pecti)a+ a me$ma *orma
>> surf(6)
gera uma *igura da $uper*Ccie1 colorida e de*inida por *ace$1 e a mo$tra em uma pro/eo em per$pecti)a+ !rdinariamente1 a$ *ace$ $o 3uadril=tero$ com core$ con$tante$1 delineada$ por linha$ me$h preta$1 ma$ a *uno shadin' permite 3ue $e/am eliminada$ e$ta$ linha$+ Kuando mesh193 e surf193 $o u$ado$ com $imple$ matri:e$ como argumento$1 e$te argumento e$peci*ica tanto a altura 3uanto a$ core$ da $uper*Ccie+ (ara a matri: peaEs utili:ada anteriormente
>> )es3(pea9s)
produ: uma $uper*Ccie me$h para a *uno peaEs
Matri es de Cores
Utili:ando dua$ matri:e$ como argumento$1 a$ linha$ de comando1
>> )es3(61P)
ou
>> surf(61P)
e$peci*ica independentemente atra)$ do $egundo argumento1 a$ core$ a $erem mo$trada$ na $uper*Ccie+ Com pcolora, o$ )alore$ de + $o po$to$ em e$cala e u$ado$ como Cndice$ no mapa de core$ $elecionado+ No ca$o1 + chamada matri: de core$+ Kuando a $uper*Ccie de dado$ contm ;a;s1 e$te$ elemento$ no $o plotado$+ 5$to cria um *alha na $uper*Ccie no lugar corre$pondente+ e*inindo algun$ elemento$ na matri: de core$ como ;a;s1 uma maneira Atil de tornar regi2e$ da $uper*Ccie in)i$C)ei$+ (or eBemplo1 a linha de comando abaiBo produ: uma *alha na $uper*Ccie de*inida pela matri: peaEs'
>> )es3(pea9s1p)
!9"erf8cies >aram5tricas
A$ *un2e$ mesh1 surf e pcolor podem ter doi$ )etore$ ou matri:e$ adicionai$ como argumento1 com a *uno de de$cre)er a $uper*Ccie com o$ dado$ ) e H+ Se 9 uma matri: m por n1 e ) e H $o )etore$ de dimen$2e$ n e m re$pecti)amente1 ento
>> )es3(+1 81 61 P)
de$cre)e uma $uper*Ccie me$h cu/o o$ )rtice$ po$$uem core$ +1i,%3 e e$to locali:ado$ no$ ponto$ 1)1%3, H1i3, 91i, %33 (erceba 3ue ) corre$ponde T coluna e H T linha da matri: 9++ e maneira mai$ geral1 $e 71 81 9 e + $o matri:e$ de me$ma$ dimen$2e$1 ento
>> )es3(41 51 61 P)
de$cre)e uma $uper*Ccie me$h cu/o o$ )rtice$ po$$uem core$ +1i,%3 e e$to locali:ado$ no ponto$ 171i,%3, 81i,%3, 91i,%33 A$ me$ma$ con$idera2e$ podem $er aplicada$ para a *uno surf17, 8, 9, +3, etc+
e$te/am atr=$ de$ta $uper*Ccie+ E$te comando $e *a: Atil 3uando e$to $endo plotada$ )=ria$ *igura$ em um Anico gr=*ico+ (or eBemplo1 a$ linha$ de comando a $eguir *a:em com 3ue o$ dado$ gerado$ por pcolor po$$am $er )i$uali:ado$ atra)$ do gr=*ico de peaEs+
1-.#.% !9,<rficos
(odem $er mo$trado$ )=rio$ gr=*ico$ em uma me$ma /anela ou imprimi-lo$ em uma me$ma *olha de papel com a *uno subplot+ subplot1m,n,p3 di)ide a /anela em uma matri: m por n de $ubregi2e$ e $eleciona a p-$ima $ubregio para o gr=*ico 3ue e$t= $endo plotado no momento+ !$ gr=*ico$ $o numerado$ comeando pela primeira linha na parte $uperior da /anelaG em $eguida1 a $egunda linha1 e a$$im $egue+ (or eBemplo1
>> t = /0pi.!/02*pi" >> 41516( = c8l8nder(4*cos(t))" >> subplot(2121!) >> )es3(4) >> subplot(21212) >> )es3(5) >> subpoot(21212) >>)es3(5) >> subplot(21213) >> )es3(6) >> subplot(21214) >> )es3(41516)
plota dado$ em 3uatro di*erente$ $ubregi2e$ na /anela de gr=*ico$+
1-.#.* 0i<9ra
Chamando a *uno fi'ure $em argumento$ *a: com 3ue $e/a aberto uma no)a /anela gr=*ica+ fi'ure1;3 *a: com 3ue a ;-$ima *igura $e torne a *igura atualG o re$ultado do$ comando$ gr=*ico$ $ub$e3uente$ $o mo$trado$ ne$ta /anela+ Se a *igura ; no eBi$te1 MA"LA# cria uma u$ando o prBimo nAmero di$ponC)el Hno nece$$ariamente ;I+ A *uno 'input permite 3ue $e/am utili:ado$ o mou$e ou a$ tecla$ de $eta para $elecionar ponto$ no gr=*ico+ 5$to *ornece a$ coordenada$ da po$io do ponteiro+
+9
)ermelho e$curo
!$ mapa$ de core$ podem $er *ornecido$ por tabela$1 ou gerado$ em opera2e$ de matri:e$+ ! diretrio color do toolboB do MA"LA# po$$ui )=ria$ *un2e$ 3ue geram mapa$ Atei$1 incluindo hs$1 hot1 cool1 pinE1 copper e fla'+ Cada *uno po$$ui um parRmetro opcional1 m1 o 3ual e$peci*ica o nAmero de linha$ no mapa re$ultante+ (or eBemplo
>> 3ot())
uma matri: m por 71 cu/a a$ linha$ e$peci*icam a inten$idade da$ core$ padr2e$ de um mapa 3ue )aria de preto1 pa$$ando por $ombra$ de )ermelho1 laran/a e amarelo1 at o branco+ Se o tamanho do mapa de core$ no e$peci*icado1 MA"LA# utili:a m ] ;8 como )alor padro+ 5$to permite trU$ ou 3uatro *igura$1 onde cada uma po$$ui $ua tabela de 69; core$+ A linha de comando1
>> color)ap(?)
*a: com 3ue a matri: de mapa de core$ M $e/a u$ada pela *igura ati)a+ (or eBemplo1
>> color)ap(3ot)
torna ati)o o mapa de core$ hot de tamanho ;8+ e$de 3ue a$ *un2e$ mesh1 surf1 pcolor e ima'e utili:am mapa$ de core$1 toda$ a$ outra$ *un2e$ 3ue $o deri)ada$ de$ta$ 3uatro tambm o *a:em+ A$ *un2e$ plot1 plot?1 contour e contour? no *a:em u$o do$ mapa$ de core$+
posies s5o definidas pelo sistema de coordenadas estabelecido pelo seus superiores 1ei)os3" Este ob%etos podem ser preenchidos com cores s#lidas ou interpoladas" fill e fill? cria ob%etos patch" Wb%etos surface s5o representaes ?,Z dos dados de uma matriz" Eles s5o compostos de (uadrilteros cu%o os $rtices s5o especificados pelos dados definidos" -uperfcies podem ser preenchidas com cores s#lidas ou interpoladas ou somente com uma rede de linhas li'ando os pontos" Eles s5o descendentes dos ei)os e suas posies s5o definidas pelo sistema de coordenadas estabelecido pelo seus superiores 1ei)os3" pcolor e o 'rupo de funes de mesh e surf criam os ob%etos superfcie" Wb%etos image dado pelo resultado do mapeamento dos elementos de uma matriz com o mapa de cores se encontra ati$o" :ma'ens, 'eralmente, possuem seu pr#prio mapa de cores (ue definem somente as cores usadas na(uela ima'em" :ma'ens s5o D,Z e, portanto, n5o podem ser $istas por nenhum Rn'ulo diferente do padr5o" Eles s5o descendentes dos ei)os e suas posies s5o definidas pelo sistema de coordenadas estabelecido pelo seus superiores 1ei)os3" Wb%etos ima'em s5o criados atra$s da fun5o ima'e" Wb%etos text s5o as strin's de caracteres" Eles s5o descendentes dos ei)os e suas posies s5o definidas pelo sistema de coordenadas estabelecido pelo seus superiores 1ei)os3" Wb%etos uicontrol s5o interfaces de controle (ue permitem ao usurio e)ecutar funes (uando selecionado um ob%eto com o mouse" Eles s5o descendentes das fi'uras e, portanto, s5o independentes dos ei)os" Wb%etos uimenu s5o interfaces de menu (ue permitem o usurio criar menus na parte superior da %anela de fi'ura" Eles s5o descendentes das fi'uras e, portanto, independentes dos ei)os"
.andle de +,Betos
Cada ob/eto gr=*ico indi)idual po$$ui um Anico identi*icador Hchamado handleI 3ue atribuCdo ao ob/eto 3uando ele criado+ Algun$ gr=*ico$ tai$ como contour plot1 $o compo$to$ de mAltiplo$ ob/eto$1 cada 3ual com $eu prprio handle+ ! handle do ob/eto rai: $empre :ero en3uanto 3ue o de uma *igura um inteiro+ ! handle de outro$ ob/eto$ $o nAmero$ decimai$ 3ue contm in*orma2e$ utili:ada$ pelo MA"LA#+ MA"LA# de*ine a$ $eguinte$ *un2e$ para $impli*icar o ace$$o ao$ handle$ do$ ob/eto$' 'cf , informa o handle da fi'ura ati$a 'ca , informa o handle do sistema de ei)os ati$o (ode-$e utili:ar e$ta$ *un2e$ como argumento$ de entrada de outra$ *un2e$ 3ue re3ueiram o$ handle$ de gr=*ico$ e eiBo$+ (ode-$e1 tambm1 remo)er 3ual3uer ob/eto utili:ando a *uno delete1 de$cre)endo como argumento o handle do ob/eto+ (or eBemplo1 o$ eiBo$ atuai$ podem $er apagado$ atra)$ da linha de comando'
>> delete(gca)
"oda$ a$ *un2e$ do MA"LA# 3ue criam ob/eto$1 criam handle$ para e$te$ ob/eto$+ 5$to inclui *un2e$ de alto-nC)el1 tai$ como surfc1 a 3ual cria tanto ob/eto linha como ob/eto $uper*Ccie+
>> line
MA"LA# de$enha a linha no eiBo 3ue e$t= ati)o u$ando o$ )alore$ de dado padro+ Se no hou)er eiBo1 MA"LA# cria um+ Se no hou)er uma /anela de *igura onde po$$am $er criado$ o$ eiBo$1 MA"LA# tambm cria uma /anela+ Se chamada a *uno line pela $egunda )e:1 uma linha de$enhada no$ eiBo$ eBi$tente$ Hdi*erentemente com relao a *uno plot1 por eBemplo1 a 3ual $ub$titui o$ eiBo$ em cada chamadaI+ E$ta caracterC$tica Atil 3uando $e 3uer adicionar um ob/eto a uma *igura eBi$tente+ (ode-$e obter o me$mo re$ultado utili:ando o comando hold+
chama a *uno de criao do ob/eto1 ou depoi$ 3ue o ob/eto *oi criado *a:endo u$o da *uno set+ (or eBemplo1 a linha de comando1
>> fig3 = figure(;Polor:1:23ite:) >> a+3 = a+es(;Qie2:1 3%-#3/(1:4Polor:1:9:1:5Polor:1:9:1:6Polor:1:9:) >> surf3 = surface(pea9s11:LacePolor:1:none:1:@ine>t8le:1:-:)
cria trU$ ob/eto$ e atribui )alore$ T$ propriedade$ onde o$ )alore$ padr2e$ no $o de$e/ado$+ (ara o ca$o acima1 a /anela de *igura criada po$$ui *undo branco e a$ linha$ do$ eiBo$ $o de*inida$ como $endo preta$ HMaOI+ ! Rngulo de )i$o de*inido como tendo um a:imute de -7.+9[degG e uma ele)ao de 7@[degG+ !$ dado$ para 3ue a $uper*Ccie $e/a gerada $o *ornecido$ pela *uno peaEs1 e e$ta $uper*Ccie de*inida por ponto$1 no po$$uindo nenhuma cor dentro do$ 3uadril=tero$ *ormado$ por e$te$ ponto$+
>> set(surf31:@ine>t8le:1:,;)
(ara $e ter uma li$ta da$ propriedade$ 3ue podem $er alterada$ de um ob/eto particular1 chama-$e a *uno set com o handle do ob/eto'
>> set(surf3)
(ara $e *a:er a alterao do )alor de uma propriedade1 utili:a-$e a *uno 'et+ Chamando-$e a *uno 'et com o handle do ob/eto1 obtUm-$e a li$ta de toda$ a$ propriedade$ para a3uele ob/eto com o )alore$ atuai$'
>> get(surf3)