Home
UFRN - Natal
Contents
1. O EN 37 DO A 220 POE seio id EEE E nua rdo S sia ed EO a ogia a are ndo a data fc 38 10 4 3 While 4 sneren kennis poi ds ds a dad dE dee 38 LOA Definindo FUNGOS Ligas ma Ate eren Sa asa USE do Ob ada NE a 39 104451 Vari veis globais amen satire pass ie 40 10 5 Considera es importantes sobre programa o 40 11 ToolBoxes HEt Oue sao TOOLBOHSSr are naven arrie eden Nat eeen a eieren ee 41 LL Zie EXEMPLOS sad de deer antennen Heide dl a ete Ard eee Erie ee Lel atd Td 41 Ti 2de Too LBox sSimMbOLLE iara eksters Sted Braven a sig e aaa DE 41 11 2 2 ToolBox sistema de controle cc 44 12 T picos avan ados 12 1 Controles e janelas do Windows e eee eee eee ee ee 47 12 2 Criando janelas e controles no MatLab 47 12 58 Osr comandos SRT e GET srad ree vann We seen eed HS 49 124 Controlando os ICONELOLSS usa Ser ipa Ea tie E ee E 49 12 5 ULEONELOL wi sere Be le aE E arara E a sd ANOS a a aE 50 125 parametros do uicontrol secesie csee tes e veses 50 BZ RO opa PAN den o A A de Ben Er E T here Seek E 52 126 1 Par metros do UIMENU sepsi ease eene are ae are dd oe Hie 52 13 Exemplo de aplica o casuais Ar a S a eiaa E E a aa EE rA E G 53 BYELrOgr aLL yara aN e a verd a aba ga a aa a arae aT E ve a SS we enne 57 AP NALCOS a arrested ater eee LE tear dne eren EE ee Te Siad 58 UFRN Natal MatLab Allan de Medeiros Eng El trica MatLab
2. importante e n o deve ser levado em conta seu valor num rico o importante na vari vel H o qu la aponta para uma janela Para fecha uma janela usamos o comando close Este comando ir fechar a janela corrente veremos o significado do termo corrente abaixo Os demais controles ent o s o criados dentro da janela que acaba de ser criada O comando para criar controles o comando uicontrol e usado como se segue HndCtrl uicontrol propriedadel valor1 propriedade2 valor2 Com os par metros propriedade e valor podemos escolher o tipo posi o titulo etc do controle que queremos colocar A vari vel HndCtrl fica sendo o identificador do controle criado No MatLab as a es dos programas s o sempre executadas sequencialmente e os comandos v o atuando com os resultados dos anteriores Podemos definir um termo controle corrente ou janela corrente por vezes usaremos a palavra ativo para designar janelas ou controles correntes para designar o controle ou janelas que sofrer o os efeitos dos demais comandos Quando se cria uma janela a mesma fica sendo a janela corrente Existem comandos para mudar a janela ou controle que est o ativos com isso podemos manipular com todos os controles janelas existentes Portanto os passos para se criar um controle fazer com que a janela onde se queira criar o controle e usar o comando uicontrol para cria lo De maneira semelhant procedem
3. num2str v1 end if sv2 eval sv2 num2str v2 end s eval int F v x0 x1 Listagem do arquivo SFOURIER M for aa 1 1 partes a0 a0 1 periodo intm eval F int2str aa t tm aa tm aa 1 periodo periodo 0 end for n 1 1 termos at 0 bt 0 for aa 1 1 partes an n at 2 periodo intm eval F int2str aa cos n 2 pi 1 periodo t J t tm aa tm aa 1 periodo periodo n n bn n bt 2 periodo intm eval F int2str aa sin n 2 pi 1 periodo t J t tm aa tm aa 1 periodo periodo n n at an n bt bn n UFRN Natal MatLab Allan de Medeiros Eng El trica 62 count 0 for t tl dt t2 count count 1 ft a0 for n l 1l termos w n 2 pi periodo azan n b bn n f count ft a cos w t b sin w t ft f count end end t tl dt t2 plot t f grid on title S rie de Forier da entrada Listagem do arquivo TFOURIER M count 0 for t tl dt t2 count count 1 s 0 ft a0 eval H for n l 1l termos w n 2 pi periodo s sgrt 1 w Hr real eval H Hi imag eval H a an n Hr bn n Hi b an n Hi bn n Hr f count ft a cos w t b sin w t ft f count end end t tl dt t2 plot t grid on title Sa da com a fun o de tranfer ncia HJ UFRN Natal
4. off a barra de titulo aparece em branco Pointer Tipo de ponteiro que estar aparecendo quando o mouse estiver dentro da rea da janela Os valores poss veis s o crosshair arrow watch topl topr botl botr circle cross e fleur UFRN Natal MatLab Allan de Medeiros Eng El trica 50 Resize S stiver em on a janela pode Ter seu tamanho alterado Se tiver em off o tamanho da janela n o pode ser alterado Units Unidade usada para posicionar o controle A posi o e tamanho de um controle dentro da janela pode ser feita atrav s de n meros que representam sua localiza o Os poss veis tipos de coordenadas s o Units Valor Inches Polegadas conforme o tamanho da janela Centimeters Cent metros conforme o tamanho da janela Normalized M ximo e m nimo da janela correspondendo a 0 e 1 Points Pontos da janela Pixels Pixeis gr ficos Visible Visibilidade do controle Se on o controle vis vel ao usu rio se off o controle invis vel UserData Espa o para o usu rio Nesta propriedade o usu rio pode colocar algum valor de refer ncia ou de uso qualquer j que este n o interfere no funcionamento do controle 12 3 Os comandos SET e GET Como vimos acima podemos modificar os par metros dos controles ou janelas j criadas O comando para modificar as propriedades o comando SET Atrav s do comando SET podemos modificar os mesmos par me
5. MatLab Allan de Medeiros Eng El trica 25 8 4 Plotando Gr ficos Para plotar um gr fico seja ele de vetor ou matriz deve se proceder da seguinte forma 1 Gere o vetor ou matriz a ser plotada 2 Escolha o tipo e o estilo de gr fico que deseja plotar 3 Use os comandos para plotar o gr fico 4 enfeite o gr fico com titulo grade etc Sempre que for necess rio a constru o de um gr fico deve se observar essa sequ ncia pode se adota la tamb m para a parte de programa o Todo comando que se relacione com gr ficos aplicado ao gr fico qu stiver aberto portanto se o comando grid por exemplo for digitado ele vai colocar a grade no gr fico que estiver plotado Podemos tamb m plotar um gr fico por cima do outro bastando usas o comando hold para que o pr ximo gr fico se sobreponha ao anterior digite hold on para que o pr ximo gr fico se desenhe apagando o anterior digite hold off OBS Ap s dar o comando hold on a escala fica mantida na escala do ltimo gr fico desenhado portanto os dois ou mais gr ficos devem Ter mesma escala para uma melhor visualiza o 8 5 Gr ficos 2D Gr ficos 2D s o gr ficos de vetores a forma que o MatLab desenha esse vetor a seguinte No Eixo horizontal s o colocado valores de um vetor de n elementos no eixo vertical tamb m valores de outro vetor de n elementos para cada par de elementos dos vetores temos um ponto Caso seja dado
6. No MatLab os gr ficos s o divididos em dois grupos gr ficos de vetores e gr ficos de matrizes Gr ficos de vetores formam gr ficos bidimensionais e gr ficos de matrizes formam gr ficos tridimensionais Cada tipo desses pode assumir diversos estilos que s o as maneiras de se plotar o gr fico em quest o Gr ficos bidimensionais d o formados por linhas pontos etc e podem assumir v rias cores podendo tamb m possuir uma grade legendas etc Gr ficos tridimensionais s o mais complexos podem ser representados de v rias formas podem ser uma superf cie s lida aramada renderizada ou at mesmo uma representa o em 2D com cores para diferenciar os valores de Z 8 3 Partes de um gr fico Todo gr fico representado na tela atrav s de uma janela onde nesta est o desenhadas as diversas partes do gr fico As mais importantes s o T tulo um texto situado acima do gr fico que contem alguma descri o do gr fico Nomes dos eixos S o os nomes das vari veis que os eixos X Y Z Fundo O fundo de um gr fico a rea da janela onde o gr fico e os seus componentes s o desenhados rea de plotagem Axes a rea onde o vetor ou matriz plotado a Eixos Axis S o os eixos coordenados que marcam os valores de ndice ou valores de elementos da matriz vetor E Figure No 1 Iof ES File Edit Windows Help Janela onde s o plotados os gr ficos UFRN Natal
7. S o mostradas aqui algumas fun es b sicas que s o muito usadas na solu o de problemas log x Logaritmo natural de x log10 x Logaritmo base 10 de x exp x Exponencial de x sqrt x Raiz quadrada de x log2 x Logaritmo base 2 de x pow2 x 2 elevado a pot ncia x sin x Seno de x x em radianos cos x Coseno de x x em radianos tan x Tangente de x x em radianos sec x Secante de x x em radianos csc x Cosecante de x x em radianos sinh x Seno hiperb lico de x cosh x Coseno hiperb lico de x sech x Secante hiperb lica de x csch x Cosecante hiperb lica de x tanh x Tangente hiperb lica de x ceil x Arredonda x na dire o o round x Arredonda x para o inteiro mais pr ximo floor x Arredonda x na dire o o fix x Arredonda x na dire o de 0 inv X Inversa de X norm X Norma de X eig X Auto valores de X diag X Cria uma matriz com diagonal X X um vetor det X Determinante de X poly X Coeficientes do polin mio caracter stico de X real x Parte real de x imag x Parte imagin ria de x angle x Angulo de fase de x abs x M dulo de x sum X Suma de todos os elementos de X prod X Produto de todos os elementos de X UFRN Natal MatLab Allan de Medeiros Eng El trica 23 roots X Ra zes do polin mio X X u
8. ninguem summer com br Natal 06 de maio de 1908 UF RN MatLab Allan de Medeiros Eng El trica 2 Nota do autor Esta apostila tutorial foi elaborada com base no MatLab vers o do estudante 4 0 com o ToolBox SigSys e Simbolic Todos os programas apresentados foram testados nesta vers o do MatLab porem grande maioria dos cap tulos tem uso com qualquer vers o do MatLab Os cap tulos sobre t picos avan ados e gr ficos possuem comandos de cria o de controles do Windows que requer o Matlab vers o do estudante ou uma vers o superior Qualquer duvida sugest o cr tica ou entrar em contato comigo por favor m nvie um mail Allan de Medeiros Martins Engenharia El trica ninguem summer com br UFRN Natal MatLab Allan de Medeiros Eng El trica 3 Sum rio 1 Introdu o et COMO O Ma tab EsabDa lhas usarem hr Dar das NO ga e a den SU 4 le 2 Ambiente de trabalho do Matlab eee eee eee eee 4 lee Sr AV OB quit da ar ed Ne eens ee Henten earder eed 5 TA Janelas woah EEE ER ES dee ET RN E a ee 5 2 Comandos b sicos Zal Comandos de prop sito gefal e term erder rene Be E eaa Eee 6 2 2 Comandos do sistema operacional see eee eee eee 6 Heg Erros no Mathab ss st aE ERR ee Roterend RD mn HRO anke nd 6 Zele HELD Gee ete net E Re ET Ber ar ee Bn te ae 7 3 Opera es simples 3d Opera es 4 PERAN Hanen ree een Me Bd 8
9. 4 5 6 7 8 9 5 4 1 Indexando mais de um elemento No MatLab podemos acessar um elemento de uma matriz atrav s de seus ndices ex M 2 3 ser o elemento da Segunda linha terceira coluna poss vel tamb m acessar mais de um elemento de uma matriz ou vetor formando assim sub matrizes ou sub vetores origin rios de vetores ou matrizes quaisquer Para isso usa se a marca o de para designar a segi ncia dos ndices da matriz ou vetor Segue algumas formas de marca o de segii ncias M 2 5 4 7 Elementos que est o compreendidos desde a linha 2 coluna 4 at a linha 5 coluna 7 M 1 2 7 1 2 5 Elementos saltados da matriz contendo das linhas 1 at 7 e colunas 1 at 5 pulando de 2 em 2 elementos UFRN Natal MatLab Allan de Medeiros Eng El trica 18 M 2 Vetor linha correspondente a Segunda linha da matriz M 2 4 Matriz com 3 linha e n colunas formada pelas linhas 2 3 e 4 da matriz original n o n mero de colunas de M 5 5 Operadores Podemos usar os operadores para fazer a jun o de matrizes ou seja se tivermos 2 matrizes 3 por 3 podemos obter uma matriz 6 por 3 ou 3 por 6 que a jun o das duas matrizes Para isso colocamos dentro dos as matrizes ou nomes de vari veis que contem as matrizes menores separadas ou n o por ponto e virgula Ex a 1 0 0 O 1 0 001 a T 0 0 0 1 0 0 0 b 2 3 4 34
10. MatLab Allan de Medeiros Eng El trica 40 Seu funcionamento o extremamente simples simplesmente a segi ncia de comandosl ser executada at que variavel logica tenha valor false Obs O controle dos valores da vari vel variavel logica n o feito automaticamente como no loop for portanto ao se trabalhar com o bloco while deve se lembrar de controlar o valor de variavel logica afim de n o entrar em um loop infinito varialvel logica pode ser uma express o ou fun o que retorne um valor l gico Exemplo de um loop while while cont lt 100 cont cont 1 b f aproc cont if b lt 0 cont 0 end 10 4 4 Definindo fun es O MatLab permite que fa amos nossas pr prias fun es ou seja programas m que aceitam par metros e retornam valores estas fun es s o normalmente denominadas de fun es definidas pelo usu rio Para isto utilizamos a palavra chave function Para que um programa aceite valores como argumento retorne um valor o mesmo deve ter uma estrutura particular como se segue function saidal saida2 nome da funcao argl arg2 arg3 comandos do programa e c lculos realizados saidal saida end Estrutura de uma fun o constru da pelo usu rio saidal e aida s o os valores que ser o usados como sa da da fun o podemos usas quantas sa das forem necess rias argl arg e arg3 s o os par metros de entrada da fun o e podem ser matrizes n
11. Retorna 1 se v uma vari vel global 0 caso contr rio UFRN Naial MatLab Allan de Medeiros Eng El trica 35 Paralelo as fun es l gicas o MatLab possue operadores l gicos que retornam apenas 1 ou O como resultado da opera o realizada pelo usu rio Um operador l gico tem mesma forma es estrutura de um operador qualquer e seu uso se faz da mesma forma valor operador valor Os operadores l gicos existentes no MatLab s o A Compara o de igualdade Retorna 1 se A for igual a B O caso contr rio Neste caso A e B s o vari veis comuns num ricas A lt B Operador de menoridade Retorna 1 se A for menor que B O caso contr rio Neste caso A e B s o vari veis comuns num ricas A gt B Operador de maioridade Retorna 1 se A forma maior que B O caso contr rio Neste caso A e B s o vari veis comuns num ricas A amp B AND l gico 1 somente se A e B forem 1 s 0 caso contr rio Neste caso A e B s o vari veis l gicas A B OR l gico 0 somente se A e B forem 0 s 1 caso contr rio Neste caso A e B s o vari veis l gicas A NOT l gico Retorna o complementar de A 1 se A for 0e 0 se A for 1 Neste caso A uma vari veis l gicas A B Diferente Retorna 1 se A for diferente de B 0 caso contr rio xor A B XOR l gico Retorna 1 se A for diferente de B 0 caso contr rio Neste caso A e B s o vari veis l gicas 10 2 No es de al
12. z p G ss2zp A B C D Converte a representa o em espa o de estados Matrizes A B C e D na representa o de p los e zeros onde z e p s o vetores contendo as ra zes do numerador de denominador respectivamente e G o ganho do sistema Ex z p G ss2zp 2 3 1 3 101 1 Ol 1 3 2 31 0 Pp 1 0000 0 3333 G 0 3333 A B C D tf2ss num den Transforma a representa o por fun o de transfer ncia num s den s para espa o de estados A B Ce D Ex A B C D tf2ss 3 4 1 2 3 1 An 1 5000 0 5000 1 0000 0 B I 0 Cs 0 2500 0 2500 Da 1 5000 z p G tf2zp num den Transforma a representa o por fun o de transfer ncia num s den s para representa o de p los e zeros onde z e p s o vetores contendo as ra zes do numerador de denominador respectivamente e G o ganho do sistema Ex beep el oops 4118 214 UFRN Naial MatLab Allan de Medeiros Eng El trica 47 1 0000 043333 p 0 3333 0 4714i 0 3333 0 4714i G 1 num den zp2tf z p G Transforma a representa o por p los e zeros onde z e p s o vetores contendo as ra zes do numerador de denominador respectivamente e G o ganho do sistema para a representa o por fun o de transfer ncia num s den s Ex num den zp2tf 3 2r Esiz 14895 15 num 1h 1 6 den 1 2 10 A B C D zp2ss z p G Transforma a representa o por p los e z
13. 0022 0 0007 0 0001 0 0000 0 0000 0 0001 0 0015 0 0093 0 0273 0 0392 0 0273 0 0093 0 0015 0 0001 0 0000 0 0007 0 0093 0 0561 0 1653 0 2369 0 1653 0 0561 0 0093 0 0007 0 0001 0 0022 0 0273 0 1653 0 4868 0 6977 0 4868 0 1653 0 0273 0 0022 0 0001 0 0032 0 0392 0 2369 0 6977 1 0000 0 6977 0 2369 0 0392 0 0032 0 0001 0 0022 0 0273 0 1653 0 4868 0 6977 0 4868 0 1653 0 0273 0 0022 0 0000 0 0007 0 0093 0 0561 0 1653 0 2369 0 1653 0 0561 0 0093 0 0007 0 0000 0 0001 0 0015 0 0093 0 0273 0 0392 0 0273 0 0093 0 0015 0 0001 0 0000 0 0000 0 0001 0 0007 0 0022 0 0032 0 0022 0 0007 0 0001 0 0000 Vejam a varia o de X e Y de 3 a 3 com 10 elementos Cada valor Z i j corresponde a um f x y Para plotar a matriz Z podemos usar um dos comandos abaixo mesh surf contour estes s o os principais Ser o explicados abaixo MESH O comando mesh permite plotar um gr fico 3D O mesmo deve estar no formato de matriz como explicado acima Tendo em m os a matriz com os valores de Z usamos o comando mesh da seguinte forma mesh Z os eixos X e Y ter o os valores dos ndices da matriz e o gr fico ser plotado com as cores proporcionais a altura do gr fico Caso queiramos que os eixos X e Y tenham os valores de X Y reais deveremos ter uma matriz para X e uma para Y de tamanho igual a matriz Z sendo que com as linhas com valores iguais e iguais aos valores de X e Y Para gerar tais matrizes pode se usar o comando meshgrid visto mais adiante De posse da m
14. 1 introdu o O MatLab uma ferramenta para uso de c lculos computacionais muito til para engenharia em geral um programa que possibilita a constru o de programas e a realiza o de c lculos comuns em engenharia Hoje em dia o MatLab se encontra em sua vers o para Windows e j possue muitos Toolboxes com aplica es espec ficas das mais variadas reas da engenharia Tudo isso gra as a facilidade de manipula o num rica e matricial do MatLab 1 1 Como o MatLab trabalha Por causa de sua grande variedade de utiliza es e possibilidade programacional o MatLab trabalha sob forma de linha de comandos Sua janela simples e possue um menu bem b sico Todos os comandos devem ser digitados no prompt do MatLab e os programas devem ser guardados em arquivos especiais Por ex para somar dois n meros do MatLab simplesmente digite 2 2 ans 4 Qualquer comando que queira executar digita se diretamente no prompt e o resultado sai no ambiente de trabalho ou em janelas que s o abertas automaticamente no pr prio MatLab que s o outra forma de interface que o MatLab utiliza para mostrar ou receber dados Por Exemplo um gr fico mostrado sempre em uma janela 1 2 Ambiente de trabalho do MatLab O ambiente de trabalho do MatLab na pr pria janela do programa sob forma de prompt onde o usu rio entra com dados e comandos A janela da rea de trabalho possue uma barra de r
15. 1 cos x 2 x 3 ans 24 cos x 5 sin x 3 16 cos x 3 sin x UFRN Natal MatLab Allan de Medeiros Eng El trica 44 HH X expand S Expande a express o S expand x 3 x 2 x 2 ans S x03 3 x92 4 x 12 Ei X transpose S Transp e a matriz simb lica S transpose sym a b c a 2 b 2 c 2 a 3 b 3 c 3 1 ans factor S Fatora a express o S Ex factor x 2 2 x 1 ans x 1 72 laplace S x Acha a transformada de Laplace de S na vari vel Het Ei X laplace sin t t t ans 2 ES2 1 2 t fourier S x Acha a transformada de Fourier de S na vari vel SE s El x fourier exp t 2 t ans pi 1 2 exp 1 4 t 2 invfourier S x Acha a transformada inversa de Fourier de S na vari vel x Ex invfourier pi 1 2 exp 1 4 t 2 t ans exp t 2 invlaplace S x Acha a transformada inversa de Laplace na vari vel x Ex invlaplace 1 s 2 4 s 2 ans 1 2 exp 2 t sinh 27 1 2 t 27 1 2 UFRN Naial MatLab Allan de Medeiros Eng El trica 45 pretty S Imprime na tela a express o S de forma bonitinha El X pretty x 2 3 x 3 sin x 2 cos x 4 x sin x cos x finvert S x Acha a inversa de S na vari vel x e avisa se a inversa n o nica E m x finverse x 2 x
16. Medeiros Eng El trica 37 Cuidado com a diferen a entre opera es booleanas e aritm ticas Cuidado com express es muito grandes Fa a o programa por partes N o altere valores de vari veis de controle de loop Padronize sua pr pria estrutura de programas N o economize espa o Preste aten o no tipo da vari vel antes de operar com ela V testando o programa a medida que o constr i Comente o m ximo de linhas poss veis no programa SAIBA MUITO BEM SOBRE O PROBLEMA 10 3 A linguagem do MatLab O MatLab permite que se grave um arquivo com extens o m que contenha comandos que o usu rio queira que sejam executados em sequ ncia pelo pr prio MatLab Al m disso o MatLab disp e de alguns comandos de programa o que possibilitam que seja constru do um programa completo Um programa no MatLab um arquivo de texto com extens o m contendo os comandos que o programador queira executar Este arquivo deve estar no diret rio corrente ou nos diret rios que o MatLab procura em path especificado Para rodar um programa no MatLab certifique se que o mesmo est no diret rio corrente ou que o path do MatLab esteja observando o diret rio que o mesmo s ncontra Eito isso basta digitar o nome do arquivo que o programa foi salvo No MatLab temos dois comandos que servem d ntrada e sa da de dados muito utilizados nos programas em geral s o os comandos input e disp a forma de utiliz
17. O comando subplot permite dividir a janela gr fica em subjanelas formando uma matriz de janelas Ex 2x2 2x3 3x3 etc Subplot usado da seguinte forma Subplot m n p Onde m x n ser configura o das subjanelas e p ser a janela corrente ou seja onde o pr ximo gr fico ir ser plotado p ser a posi o j subjanela contada em linhas da esquerda pra direita come ando subjanela superior esquerda como mostra a figura a baixo Figura de subplot axes O comando axes permite tamb m dividir a janela em subjanelas s qu ste permite colocar a subjanela em qualuer posi o dentro a janela gr fica corrente Para colocarmos uma subjanela em uma posi o x y da janela usamos axes da seguinte forma Axes position x y largura altural Onde x e y o ponto superior esquerdo da subjanela largura a largura da janela e altura a altura da mesma Os par metros x y largura e altura s o valores entre 0 e 1 onde 0 0 e 1 1 s o os cantos superior esquerdo inferior direito da janela principal e 1 corresponde a largura total e altura total da janela principal tamb m 8 8 2 Mudando cores e outras propriedades Uma op o mais avan ada na constru o de gr ficos a possibilidade de modificar par metros como cor posi o nome etc de objetos na tela como gr ficos legendas etc Isto se faz com o uso de manipuladores que s o certas vari veis que controlam o
18. UFRN Naial MatLab Allan de Medeiros Eng El trica 7 2 Comandos b sicos Os comandos no MatLab podem ser divididos em v rios tipos conforme seu prop sito 2 1 Comandos de prop sito geral Alguns comandos s o de uso geral e normalmente auxiliam na utiliza o da rea de trabalho s o eles ele limpa a tela home move o cursor para o topo da tela disp exibir um texto na rea de trabalho echo ligar ou desliga a exibi o dos comandos na execu o de um programa format FORMA ajusta a exibi o de casas decimais e formatos num ricos para FORMA help comando mostra na rea de trabalho o help do mando solicitado who whos mostra as vari veis que est o atualmente na mem ria clear apaga uma ou mais vari veis da mem ria 2 2 Comandos do sistema operacional O MatLab possibilita a execu o de alguns comandos do sistema operacional atrav s de comandos pr prios dir mostra o conte do do diret rio corrente what mostra quais os nomes de arquivos presentes que tem a extens o m podem ser executados pelo Matlab cd muda o diret rio corrente type mostra na rea de trabalho o conte do de um arquivo 2 3 Erros no MatLab No MatLab os comandos e opera es s o avaliados e o resultado posto na rea de trabalho caso o usu rio digite um comando que n o exista ou uma express o que n o fa a sentido para o MatLab o mesmo envia SEMPRE par
19. estado de um controle usamos o comando GET H value H o identificador do controle A propriedade value contem o estado do controle no momento UFRN Natal MatLab Allan de Medeiros Eng El trica 51 e seu valor varia com o controle por exemplo value em uma caixa de texto contem o texto que est escrito na caixa naquele momento j em uma barra de rolagem contem um n mero que representa a posi o do cursor de rolagem naquele momento Controles que realizam alguma a o normalmente bot es precis o ter um par metro que contem comandos a serem executados caso o mesmo seja acionado Este par metro o par metro CallBack seu valor uma sequ ncia de comandos em forma de string que ser o executados caso o controle seja acionado Por exemplo Se H o identificador de um bot o o comando SET H CallBack t 0 0 01 10 f sin x plot f t Ir definir as vari veis t f f sin t e ir plotar o gr fico de f 12 5 uicontrol Como foi visto o comando uicontrol cria um controle na janela qu stiver ativa Para criar os controles devemos usar os par metros do comando uicontrol de forma adequada Dessa forma o comando uicontrol age como uma fun o retornado um identificador para o controle criado 12 5 1 par metros do uicontrol Os par metros de uicontrol indicam que controle dever ser criado e como e onde o mesmo ir aparecer na janela co
20. meros complexos etc assim como os argumentos de sa da Uma condi o muito importante para o uso de fun es definidas que o nome do arquivo seja igual ao nome da fun o Por exemplo o nome do arquivo do esquema mostrado acima deveria ser nome da funcao m Quando se chama uma fun o n o necess rio chama la com todos os argumentos de entrada e sa da Por esse motivo o MatLab possue duas fun es que s o pr prias para uso com fun es definidas pelo usu rio As fun es nargin e nargout nargin retorna o numero de argumentos de entrada usados na chamada a fun o e nargout retorna o n mero de argumentos de sa da Ex UFRN Naial MatLab Allan de Medeiros Eng El trica 41 S1 A func b 1 0 casa nesta chamada fun o func nargin retornar 3 e nargout retornar 2 10 4 4 1 Vari veis globais Quando se constr i uma fun o definida pelo usu rio as vari veis que s o criadas s tem validade ou seja s s o vistas dentro do escopo da fun o que estamos definindo A palavra escopo representa o bloco ou arquivo em que a fun o est definida portanto se uma vari vel s vista em determinado escopo significa que a mesma criada quando se executa o bloco correspondent m seguida removida da mem ria Se o usu rio quiser compartilhar vari veis de uma fun o com outras ou mesmo com o pr prio MatLab as mesmas devem ser declaradas como globais ou seja defin
21. surf usamos o comando meshgrid Este comando gera duas matrizes X e Y contendo valores de intervalos dados Ex Para formar uma grade com X 0 0 5 2 e Y 0 0 5 2 usamos meshgrid da seguinte forma X Y meshgrid 0 0 5 2 0 0 5 2 E 0 0 5000 1 0000 1 5000 2 0000 0 0 5000 1 0000 1 5000 2 0000 0 0 5000 1 0000 1 5000 2 0000 0 0 5000 1 0000 1 5000 2 0000 0 0 5000 1 0000 1 5000 2 0000 UFRN Natal MatLab Allan de Medeiros Eng El trica 30 N 0 0 0 0 0 0 5000 0 5000 0 5000 0 5000 0 5000 1 0000 1 0000 1 0000 1 0000 1 0000 1 5000 1 5000 1 5000 1 5000 1 5000 2 0000 2 0000 2 0000 2 0000 2 0000 Vejam que X e Y s o matrizes 5 por 5 isto necess rio para aplicarmos a uma fun o 3D 8 7 Algumas fun es gr ficas Aqui falaremos sobre algumas fun es teis para uso com gr ficos Ser o apresentadas as fun es e uma breve descri o semilogx X Y plota o gr fico XY com o eixo X aplicado ao logaritmo de base 10 semilogy X Y mesmo que SemilogX s que o eixo logaritmo o Y loglog X Y mesmo que SemilogX e SemilogY s que aplica o logaritmo ambos os eixos clf apaga a janela onde est o gr fico atual hold on lt off gt Hold on faz com que o pr ximo gr fico seja colocado ma mesma janela sem apagar o anterior Hold off desliga essa op o meshgrid ix iy Gera as matrizes X e Y para construir uma matriz Z xi e yi s o os intervalos surface X Y Z Plota o gr f
22. vel especial i ou j 6 2 Opera es As opera es b sicas com n meros complexos id ntica s opera es com n meros reais O usu rio deve tomar cuidado apenas no uso de par nteses quando se tratar de um n mero complexo com parte real e imagin ria 6 3 Usando n meros complexos Para usas um n mero complexo escreve se a parte real o operador de soma ou diferen a seguido da parte imagin ria junto com o i ou j sem espa o Ex 4 a 45 5 56 0i ate 45 5000 56 00001 a 1 1 4j 4i a 1 0000 0 2750i Como est mostrado se o n mero tiver apenas parte imagin ria basta colocar o n mero seguido sem espa o de i ou j 6 4 Algumas fun es com n meros complexos Abaixo v o algumas fun es para uso com n meros complexos real C Retorna a parte real de um n mero complexo C imag C Retorna a parte imagin ria de um n mero complexo C conj C Retorna o conjugado de um n mero complexo C angle C Retorna a fase de um n mero complexo C abs C Retorna o m dulo de um n mero complexo C UFRN Natal MatLab Allan de Medeiros Eng El trica 21 7 Fun es b sicas Fun es no MatLab s o nomes que est o associados a alguma opera o aritm tica mais complicada tipo Raiz quadrada logaritmos fun es trigonom tricas hiperb licas etc Existe uma diferen a ntr fun o e comando no MatLa
23. vetor com os coeficientes do polin mio FFT X Transformada r pida de Fourier do vetor X IFFT X Inversa da transformada r pida de Fourier do vetor X GAMMA x Fun o Gama GAMA x X x inteiro mim X Menor elemento da matriz X max X Maior elemento da matriz X spline X Y XI Interpola o Spline da fun o Y f X nos pontos XI interpl X Y XI Interpola o simples da fun o Y f X nos pontos XI sort X Organiza os elementos do vetor ou matriz X em ordem crescente hist X N Desenha o histograma de X com N barras mediam X Valor m dio da matriz X bessel alpha X Fun o Bessel de X de ordem alpha linsolve A B Solu o do sistemas linear AX B rand m n Gera matriz aleat ria m por n UFRN Natal MatLab Allan de Medeiros Eng El trica 24 8 Gr ficos Gr ficos s o muito importantes em problemas que envolvem c lculos com muitos dados e principalmente com dados discretos onde temos vetores ou matrizes que representam medidas ou valores de pontos de fun es Um gr fico pode mostrar o comportamento de certo sistema muito melhor do que uma express o calculada 8 1 Gr ficos no MatLab No MatLab gr ficos s o desenhos de uma matriz ou vetor que pode assumir v rias formas cores e estilos A seguir veremos como usas gr ficos no MatLab para plotar fun es e mostrar graficamente uma matriz ou vetor 8 2 Tipos de gr ficos
24. 2 1 1 2 bs 2 3 4 3 4 2 1 1 2 c ab C 1 0 0 2 3 4 0 i 0 3 4 2 0 0 1 T T 2 c2 a bl c2 1 0 0 0 1 0 O 0 1 2 3 4 3 4 2 1 1 2 OBS Neste tipo de opera o deve se tomar cuidado com as dimens es das matrizes N o pode se juntar uma matriz 2 por 2 com uma 3 por 3 por exemplo UFRN Naial MatLab Allan de Medeiros Eng El trica 19 5 6 Fun es matriciais Algumas fun es s o aplicadas para matrizes algumas s o descritas abaixo Zeros cria uma matriz contendo 0 em todos os elementos ones m n cria uma matriz m por n contendo 1 em todos os elementos inv M Retorna a inversa da matriz M size M Retorna a dimens o da matriz M dot V1 V2 Produto escalar de V1 por V2 cross Vl V2 Produto vetorial de V1 por V2 trace M Tra o da matriz M soma dos elementos na diagonal principal det M Determinante da matriz M A B eig M Retorna em A os auto vetores m B os auto valores de M UFRN Natal MatLab Allan de Medeiros Eng El trica 20 6 N meros complexos O MatLab opera com n meros complexos com uma facilidade muito grande para operar com n meros complexos basta usa los como se fosse n meros normais os operadores b sicos s o usados da mesma forma 6 1 Saqrt 1 No MatLab a unidade imagin ria i que representada por 4 1 no MatLab a fun o sqrt extrai a raiz de um n mero simplesmente a vari
25. 3 20 NUMErOs nO Matlab wis amste aise pa ane de to Arde ak nd eed dra o SE E ASA a 9 Si Infinito raiz dels cindet ermina es vn isde inde srad 9 4 Vari veis A cdi Oque Uma variavel parasse Sa MALE dee nee dl 11 42 Nomes de VArLaAveLS apso SA Das amd dede dO ea Bede WE 11 US P EDOS der VALLAVENS id ae dr Apetite edit net Aa DO E GR ne ke 11 4 4 Opera es com Vvaflavels sn sand p a R ani abi Bree mrd BEDE 12 ADs A variavel ans vens uns Weekers aen ste ses pa q EA 12 dito MAN DP ra o Guida er ee A EE EE A caia San 12 5 Vetores e matrizes 5 1 Vetores e Matrizes no Matlab ee eene ee eene eee 13 Das Ze gt Operace aaiae nas Fares ere in ra eren aar 13 5 3 Opera es elemento elemento e eee eee ee ee eee eee ee 14 Sate Operando com elementos saters tam same Seele martens dg Set 15 5 4 1 Indexando mais de um elemento e eee 16 nr Op radores IJE Arne lers senda draf a nr arae aa a A To a E a 17 DO PUN ES MAELLOLALS Ke ivii aE RaRa olene del RE l deerd 18 6 N meros complexos 6 STEE ana terde We A eee a tale io 19 642 OPELAC E Si avatara daniel eed NE UT dn eN AREN ane 19 65 3 Usando n meros Complexos s shiut oat samen alo a ele a CE a 19 6 4 Algumas fun es com n meros complexos ssesesese sss 19 7 Fun es b sicas Ted Uso AS EUNCOSSN serasa pas E ie RE re a Ree dd 20 7 2 Fun es que retornam mais de um valor ee eee 21
26. Lab possue uma forma de tratar n meros n o reais que aparecem em muitas situa es os mais comuns s o infinito o complexo i e as indetermina es Para cada caso o MatLab possue uma forma de xpressar operar com esses n meros Por exemplo se operarmos com zeros em denominadores logaritmos de zero etc obteremos uma resposta no MatLab seguinte UFRN Natal MatLab Allan de Medeiros Eng El trica 11 1 0 Warning Divide by zero ans Inf log 0 Warning Log of zero ans Inf Observem que em ambas as opera es temos como resultado um s mbolo ao inv s de um n mero Inf que significa que o resultado tende para um n mero muito grande Inf Se operarmos com fun es que d o resultados complexos obtemos um n mero como o exemplo sqrt 23 ans O 4 7958i um numero seguido de um i representa um n mero complexo no MatLab O MatLab tamb m representa opera es indeterminadas como 0 0 Inf 0 Quando temos um caso desses obtemos um s mbolo NaN que quer dizer Not a Number ex 0 0 Warning Divide by zero ans NaN Dependendo do caso o MatLab informa que houve uma divis o por zero para lembrar o usu rio que a opera o pode estar incorreta UFRN Naial MatLab Allan de Medeiros Eng El trica 12 4 Vari veis A utiliza o do MatLab para resolver problemas num ricos xige que sejam armazenados diversos valores para posterior consulta Isto torna f cil a uti
27. RADO n o come a com letra OBS No MatLab letras mai sculas s o distinguidas de letras min sculas ou seja Mm diferente de mM 4 3 Tipos de vari veis No MatLab n o necessitamos de especificar um tipo de vari vel no MatLab uma vari vel pode ser de qualquer tipo Matriz real complexa ou vetor UFRN Natal MatLab Allan de Medeiros Eng El trica 13 4 4 Opera es com vari veis As vari veis s o operadas da mesma forma que os n meros ou seja os operadores b sicos e chamadas de fun es s o feitas da mesma forma Uma opera o a mais que pode ser feita com uma vari vel a opera o atribui o que cria ou atribui um valor qualquer a uma vari vel Ex a 1 2 3 a I 2 3 Este comando cria uma vari vel chamada a e lhe atribui um valor igual a 1 2 3 ou seja um vetor 4 5 A vari vel ans No MatLab temos uma vari vel especial cujos valores lhe s o atribu dos automaticamente pelo pr prio MatLab Essa vari vel tem o nome de ans que vem de answer seu valor sempre igual ao valor da ultima opera o efetuada sem atribui o Ex 5 log 9 45 ans 214 0139 4 6 Manipula o A manipula o de vari veis no MatLab simples existem alguns comandos opera es speciais para uso e manipula o de vari veis A primeira delas a atribui o basta usas o sinal de igual entre o nome da vari vel e o valor
28. Tu Algumas fun es bastCas suis pad a neh EEL Rn NRR SE a i 21 8 Gr ficos Bali Graficos No MatLlab uia wensen en nerd Ud aa EO ara ete RA Wa 23 B 520 TIPOS dE Graficos rabeta den heet ai E dE aS 23 Ou Partes de um GERA EUCO bravo Mene ea dre ERN nd 23 04 Plotartdo graficos aa adia du nda mb ERE REE a O ia 24 815 GRALicos 2D dt lenende edn O SA da A N aandeden 24 8 5 1 Acabamento de um gr fico eresse resa eee eee ee ee 25 DO IGEL VEOS DS a ed he AA EE EN Ee Ss 26 8 7 Algumas fun es gr ficas sea mo eeit eee ee eee eee eee eee ee 29 SuSe Graft reos avan ados war tert anda de nadeel eoa Bae ader B erven Ne 29 8 8 1 Plotando v rios gr ficos na mesma janela 29 8 8 2 Mudando cores e outras propriedades 30 8 8 3 Usando o mouse para posicionar textos 31 9 Arquivos Dull US de ALQUIMOS puta are neede ene ne na Lo A O a at ae a di Pa da AG 32 10 Programa o 10 1 Fun es l gicas e operadores l gicos cccccc 33 T02 Noces de ALGOELEMOS ss ami damage enn ed enter ed Geladen 34 10 2 1 Estrutura b sica de um programa 35 1022 Regras de Constru O Anale en een E ed ee 35 108 A linguagem d MAEBAD as sap aE aa EE Watine NEVEI Hie ek 36 UFRN Natal MatLab Allan de Medeiros Eng El trica 4 LOS Ar vartavel path se a Added eere deler de den 36 10 4 Loops condicionais e comandos de programa o 37 DOA
29. Warning finverse x 2 is not unique ans xXx 1 2 11 2 2 ToolBox Sistemas Controle Um ToolBox tamb m muito usado o ToolBox de sistemas de controle Ele possue muitas fun es que trabalham com sistemas de controle de forma a possibilitar representa es em espa o de estados fun es de transfer ncia matrizes de observabilidade controlabilidade zeros etc Existem muitos comandos Citaremos alguns logo mais bode num den Plota a curva de BODE para o polin mio num s den s Num e dem s o vetores com os coeficientes dos polin mios na forma n o fatorada Ex bode 2 3 1 2 4 impluse num den Plota a resposta ao impulso de um sistema cuja fun o de transfer ncia num s den s Num e dem s o vetores com os coeficientes dos polin mios na forma n o fatorada Ex impulse 2 3 2 1 31 step num den Plota a resposta ao degrau de um sistema cuja fun o de transfer ncia num s den s Num e dem s o vetores com os coeficientes dos polin mios na forma n o fatorada Ex step 2 3 2 2 31 num den ss2tf A B C D Converte a representa o em espa o de estados Matrizes A B C D em representa o por fun o de transfer ncia num s den s gt nem den ss2tf 2 3 1 3 10 1 0 1 3 2 3 0 nem 0 0 3333 0 6667 UFRN Naial MatLab Allan de Medeiros Eng El trica 46 1 0000 0 6667 0 33 33
30. a rea de trabalho um erro devido a opera o que o usu rio executou Este erro um coment rio especificando o erro cometido e normalmente seguido da express o digitada erroneamente pelo usu rio Alguns erros s o comuns no MatLab e vale a pena lista los 22 Undefined function or variable xxx Este erro causado devido a digita o de um nome de programa fun o ou vari vel que n o existe no MatLab no caso de ser um programa o mesmo pode n o estar no diret rio corrente 22 23 4 Missing operator comma or semi colon UFRN Natal MatLab Allan de Medeiros Eng El trica 8 Este erro ocorre quando o usu rio digita um s mbolo ou operador que n o faz sentido para o MatLab Neste caso o MatLab aponta para onde est localizado o caracter inv lido 222 atb 2 5 3 5 5 9 A closing right parenthesis is missing Check for a missing or a missing operator Este erro significa que algum par ntese est aberto errado ou est faltando na express o como um todo Error using gt sqrt Too many input arguments Este erro se ocasiona devido ao uso indevido de uma fun o o usu rio chamou a de forma indevida Alguns erros mais comuns com o uso d operadores d matrizes vetores s o comuns como a multiplica o e divis o de matrizes O uso de opera es com restri es como as matriciais devem ser executados com cuidado observando sua preced ncia e validade Erros co
31. a los est mostrada abaixo V input prompt Este comando faz com que o MatLab pare a execu o do programa mostre a mensagem prompt e espere um valor ser digitado para ent o continuar a execu o do programa O valor digitado ser armazenado na vari vel v disp mensagem qualquer Este comando simplesmente mostra na rea de trabalho a mensagem mensagem qualquer ou se no lugar de mensagem qualquer for uma vari vel disp A por exemplo o valor dessa vari vel ser mostrado na rea de trabalho 10 3 1 A vari vel PATH Como foi mencionado o MatLab possue um path que cont m diversos diret rios para os quais o MatLab executa programas m mesmo sem ter qu star com os mesmos como diret rio corrente O MatLab possue uma vari vel escondida que n o aparece no comando WHO chamada PATH Esta vari vel cont m uma lista de diret rios que s o o path do MatLab Para Adicionar um diret rio no path do Matlab o usu rio n o deve alterar o valor da vari vel simplesmente com o operador de atribui o ao inv s disso usa se o comando path Como segue path P Muda o path do MatLab para o path contido na string P path PATH P Adiciona o path contido na string P ao path do MatLab UFRN Natal MatLab Allan de Medeiros Eng El trica 38 10 4 Loops Condicionais e comandos de programa o Como j foi dito o MatLab possue comand
32. a serem executados caso se clique no menu Separator Se on o menu apenas uma bara separadora se off ser um menu normal UserData Par metro reservado para o usu rio Seu valor n o influi em nada no menu UFRN Naial MatLab Allan de Medeiros Eng El trica 54 13 Exemplo de aplica o Para finalizar o conte do desta apostila damos de exemplo uma aplica o completa no MatLab O conjunto de programas a seguir formam uma aplica o destinada a observar a resposta de um sistema uma entrada peri dica que pode ser dada ou pela express o dividida em intervalos os quais se repetiram formando uma fun o peri dica ou atrav s do mouse simplesmente desenhando a fun o O funcionamento do programa o seguinte O usu rio ir entrar com dados referentes a uma fun o peri dica em t O programa a seguir calcula N termos da s rie de Fourier correspondente fun o De posse dos dados da s rie de Fourier o mesmo faz a computa o dos termos correspondentes sa da aplicando a fun o de transfer ncia dada A entrada da fun o requer que o usu rio informe usando os controles mostrados o tempo inicial t a fun o de transfer ncia H s o n mero de termos da s rie de Fourier e um conjunto de fun es f t com seus devidos passos ou seja intervalos de tempo t onde s o definidas O modo como o usu rio informa as partes da fun o de entrada pode ser a
33. alguma express o ou un o que retorne 0 ou 1 ou seja um valor l gico Exemplo do uso de um bloco if UFRN Naial MatLab Allan de Medeiros Eng El trica 39 if a M a a O else M a b 1 end 10 4 2 For Um dos blocos de controle de luxo mais usados tamb m o bloco for Um bloco for tamb m chamado de loop incondicional ou seja um bloco que fica se repetindo incondicionalmente at que s chegue no limite de uma vari vel de controle Seu uso tem a seguint forma for A valor inicial passo valor final comandos1 end O funcionamento de um loop for simples Inicialmente a vari vel A ter valor igual a valor inicial e a segii ncia de comandosl ser o executadas at que a vari vel A tenha valor igual a valor final E a cada vez que a sequ ncia for executada a vari vel de controle A ter seu valor incrementado por passo Se passo n o for indicado ser assumido passo 1 Valor inicial passo e valor final podem ser n meros ou vari veis com valores num ricos Exemplo de um bloco for for a 0 0 1 V fin x w t A sin x phi end 10 4 3 While Outro bloco de controle de fluxo que pertence a categoria dos loops o bloco while O bloco while conhecido como loop condicional por ser um bloco de loop que usa vari veis l gicas para seu controle O uso do bloco while simples while variavel logica comandos1 end UFRN Naial
34. apenas um vetor os valores dos mesmos ser o os valores da abscissa do gr fico enquanto que o ndice desse vetor compor a ordenada O comando para plotar gr ficos bidimensionais o comando plot Plot X Y Xe Y s o vetores de n elementos onde os elementos de Y ser o os valores das abscissas e os de X as ordenadas Pode se usas o comando plot para plotar v rios gr ficos em uma mesma janela bastando para isto usas Plot X1 Y1 X2 Y2 Figure No 1 File Edit windows Help E lo d fico 2D xemplo de um gr fico Nati MatLab Allan de Medeiros Eng El trica 26 8 5 1 Acabamento de um gr fico Ap s desenhar o gr fico passamos para o passo seguinte que enfeitar o mesmo com t tulos nomes de eixos legendas etc Para isto usamos algumas fun es que s o descritas a seguir como exemplo title titulo Coloca o t tulo titulo na posi o acima do gr fico grid on lt off gt grid on mostra uma grade na janela do gr fico grid off apaga a grade xlabel nome do eixo X Coloca um nome para o eixo X do gr fico ylabel nome do eixo Y Coloca um nome para o eixo Y do gr fico zlabel nome do eixo Z Coloca um nome para o eixo Z do gr fico axis on lt off gt axis on desenha os eixos coordenados axis off apaga os eixos axis xmin xmax ymin ymax zmin zmax ajusta os limites das coordenadas da janela onde est o gr fico X varia
35. astando se digitar a matriz ou nome da vari vel seguido do operador aspa ex a 1 2 3 4 5 6 a 1 2 3 4 5 6 a ans 1 4 2 5 3 6 para efetuar outras opera es basta seguir os passos de uma opera o real normal ex a 1 2 3 9 4 5 3 5 3 a 1 2 3 9 4 5 3 3 3 a inv a ans 1 0000 0 0000 0 0000 0 0000 1 0000 0 0000 0 0000 0 0000 1 0000 UFRN Natal MatLab Allan de Medeiros Eng El trica 15 Alem dos operadores b sicos existe um falso operador que serve para criar vetores ou matrizes que se constituem de uma sequ ncia de n meros tal falso operador o Por exemplo para criar um vetor com os elementos 1 2 3 4 5 6 7 8 9 devemos prosseguir da seguinte forma primeiro elemento intervalo ultimo elemento ex 1 1 8 ans 1 2 3 4 5 6 7 8 vetor 3 0 5 10 vetor Columns 1 through 7 3 0000 3 5000 4 0000 4 5000 5 0000 5 5000 6 0000 Columns 8 through 14 6 5000 7 0000 7 5000 8 0000 8 5000 9 0000 9 5000 Column 15 10 0000 Como se v acima pode se usar o operador atribui o para armazenar o vetor resultante um uma vari vel OBS Caso a matriz ou vetor possua muitos elementos ao ponto de n o Ter espa o na tela os elementos s o mostrados em blocos de colunas como mostrado acima 5 3 Opera es elemento elemento O MatLab possibilita a realiza o de uma opera o especial quando temos matrizes ou vetores o tratamento das mesmas como conj
36. atriz X e Y basta usas o comando mesh X Y Z que ser plotado o gr fico de Z com os eixos numerados conforme X e Y Podemos tamb m usar uma matriz C do mesmo tamanho de Z que ser as cores do gr fico 3D gerado por mesh Cada elemento da matriz C i ser uma cor que ser usada para plotar o gr fico de Z UFRN Naial MatLab Allan de Medeiros Eng El trica 28 gure No 1 File Edit Windows Help Exemplo de gr fico usando o comando mesh SURF O comando surf exatamente igual ao comando mesh sendo qu ste preenche as faces do gr fico de Z de forma a obtermos um gr fico cheio O tipo de preenchimento pode ser selecionado com o comando shading que ser visto mais a frente E Figure No 1 File Edit Windows Help fico usando surf shading faceted e colormap jet EN 1 are i eae i 1 adh TAM DE NON EE SRS Exemplo de gr fico usando surf UFRN Natal MatLab Allan de Medeiros Eng El trica 29 CONTOUR O comando contour plota um conjunto de curvas correspondentes ao conjunto de equa es f x y h onde h s o valores de alturas especificas O comando usado da mesma forma que o comando mesh contour X Y Z plota os contornos das curvas Z h onde h selecionado automaticamente pelo MatLab Ec Figure No 1 File Edit Windows Help Exemplo de gr fico usando contour Para gerar uma grade de X e Y para usar com os comandos mesh contour e
37. b fun es s o procedimentos que retornam valores e comandos n o retornam nada e geralmente n o requerem par metros 7 1 Uso de fun es Fun es s o formadas por duas partes b sicas O nome da fun o e seus par metros O nome de uma fun o obedece a mesma regra de forma o de uma vari vel comum o nome de uma fun o seguido de par nteses onde dentro est o os par metros separados por virgulas Ex sin 1 23 sin 1 23 ans 0 9425 Par metros Nome da fun o Uma fun o sempre retorna algum valor podemos usar o operador de atribui o para atribuir este valor a uma vari vel Ex val log 12 45 val 240217 Neste caso foi criada uma vari vel com o nome de val que assumiu o valor do logaritmo natural de 12 45 Fun es podem ter v rios par metros nem sempr star associadas a fun es matem ticas Ex M ones 3 4 M I 1 1 1 I 1 1 l 1 1 1 I A fun o ones recebe 2 par metros m e n que s o as dimens es de uma matriz e cria uma matriz m por n preenchida com 1 s UFRN Natal MatLab Allan de Medeiros Eng El trica 22 7 2 Fun es que retornam mais de um valor No MatLab uma fun o pode retornar mais de um valor Neste caso fazemos a atribui o em uma matriz de vari veis como mostra exemplo abaixo x y meshgrid 1 3 1 3 x 1 2 3 Ji 2 3 J 2 3 y I Al 1 2 2 2 3 3 3 7 3 algumas fun es b sicas
38. cador do menu ou submenu gerado H1 o menu ou submenu imediatamente superior Neste caso o menu sH1 s ser vis vel se acionarmos o menu ou submenu H1 Quando se cria um menu ou submenu o mesmo a adicionado a barra de menu ou menu imediatamente superior Portanto ao criar uma janela se desejarmos que apenas nosso menu seja mostrado devemos cria la com o par metro MenuBar igual a none fazendo com que a janela seja criada sem o menu padr o 12 6 1 Par metros do uimenu O uso dos par metros de uimenu bem como a possibilidade de altera o dos mesmos com os comandos GET e SET s o id nticas aos uicontrols Sendo que o uimenu possue par metros um pouco diferentes que ser o explicados abaixo Label O valor dessa propriedade ser o titulo mostrado pelo menu Valor uma string Enabled Se on o menu est habilitado e o usu rio pode clica lo Se off o menu est cinza e n o responde aos cliques do usu rio Visible se on o menu vis vel se off o mesmo e invis vel e n o pode ser utilizado Accelerator Tecla de atalho para acionar o menu O valor desta propriedade uma string representando a tecla de atalho que aciona o menu Checked Se on o menu est marcado se off esta desmarcado porem pode ser marcado Se n o for definido valor para esta propriedade o menu n o de marca o CallBack String com os comandos
39. caso a vari vel n o exista ela criada automaticamente Para saber o valor de uma vari vel basta digitar o nome da mesma o MatLab ir imprimir o nome e o valor da mesma como no ex retorno 23 65 5i retorno 23 6500 5 0000i retorno retorno 23 6500 5 0000i Para mudar o valor de uma vari vel basta atribuir o valor mesma Alguns comandos para manipula o de vari veis s o bastante usados no Matlab Who Mostra as vari veis que est o na mem ria Whos Mostra detalhes de cada vari vel Clear retira uma ou mais vari veis da mem ria UFRN Naial MatLab Allan de Medeiros Eng El trica 14 5 Vetores e Matrizes Matrizes vetores s o tipos num ricos que requerem cuidados especiais pois possuem restri es fortes nos operadores b sicos Por exemplo n o definimos a multiplica o de matrizes para qualquer ordem alem do mais A B diferent de B A se A e B s o matrizes alem operadores como e possu rem restri es de ordem 5 1 Vetores e Matrizes no MatLab No MatLab vetores e matrizes s o interpretados da mesma forma sendo que qualquer matriz linha ou coluna ser interpretada como vetor ou matriz dependendo da opera o o MatLab faz isso automaticamente 5 2 Opera es Os operadores elementares usados com matrizes s o os mesmos usados com n meros reais adicionando se o operador transposto que realiza a transposta da matriz b
40. comportamento de tais objetos O comando para mudar tais propriedades o comando set o mesmo usado da seguinte maneira SET manipulador propriedade valor propriedade valor Manipulador a vari vel que armazena o objeto que voc quer modificar esta criada a partir das fun es que geram os objetos Propriedade o nome sempr ntre ap strofos da propriedade que deseja se modificar por exemplo se quisermos mudar a cor de algum objeto a propriedade ser color Valor o valor geralment ntr ap strofos da propriedade escolhida Ex se tivermos a seguinte linha de comando H plot x H 57 0001 Embora H esteja com um valor num rico H guarda consigo as propriedades do gr fico gerado por plot portanto se quisermos mudar a cor do gr fico para azul basta usas o comando SET H ecolor blue Abaixo est o algumas fun es que retornam manipuladores e que portanto podem ser modificadas com o comando SET PLOT XES SH EX A M T LJ UFRN Natal MatLab Allan de Medeiros Eng El trica SUBPLOT FIGURE Alguns comandos podem Ter suas propriedades modificadas nos par metros do pr prio comando Para isso usando COMANDO parametrol parametro2 propriedade valor propriedade valor COMANDO o nome do comando a ser usado parametrol 2 s o os par metros normais do comando e o resto s o os valores e propri
41. de cada bloco ser dada a seguir CKT o programa principal ckt m Este n o realiza c lculo algum o mesmo apenas respons vel por desenhar os controles na janela de trabalho do aplicativo e associar suas respectivas strings de callback e tamb m pela montagem da fun o de entrada usando se o bot o add e as caixas de texto de f t e passo Ckt coloca os bot es entrada saida que plotam a soma da s rie de entrada e sa da o bot o desenha que chama o programa para obter a fun o de entrada atrav s do mouse o bot o reset que limpa todas as vari veis e deixa o programa pronto para ser usado novamente a caixa de to e H s as caixas para entrada da fun o manualmente e um axes onde ser o plotadas as fun es Entrada fun o onde se entra com a fun o de entrada do sistema manualmente programa para montar a mesma est embutido em ckt m Entrada mouse o programa que monta a fun o de entrada com o mouse O mesmo possue um loop qu spera at que o bot o direito do mouse seja pressionado enquanto isso o mesmo vai coletando os pontos onde o usu rio clica e vai calculando as equa es das retas correspondentes S rie de Fourier o bloco respons vel pelo c lculo dos coeficientes da s rie de Fourier O mesmo usa um programa para fazer a integral com vari veis diferentes da padr o fax o bloco que est no arquivo intm m Est
42. e Enable rmos eval get cntl termos string s string mouse set btentrada control pushbut pixels n 10 10 70 201 Entrada off plotentradastr ton T K ntrol pushbutton pixels nj 10 3 00 70201 Saida voff k plotsaidastr ntrol pushbutton normalized n 0 9 0 03 0 08 Chose on toy close 0 1 K l Style text Units normalized Stri Ho Ur Stri 1 Style Stri text Units formalized ng H s Position 0 3 0 na r tot Position 0 2 0 08 ng 0 Position 0 25 0 08 04 05 08 04 Enable Pronta 04 Units normalized BackgroundColor 041 041 UFRN Natal MatLab Allan de Medeiros Eng El trica 60 cntl hs uicontrol Style edit Units normalized BackgroundColor white String s st1 Position 0 35 0 08 2 04 h uicontrol Style text Units normalized String termos Position 0 6 0 08 08 04 cntl termos uicontrol Style edit Units normalized BackgroundColor white String 100 Position 0 7 0 08 05 04 h uicontrol Style text Units normalized String f t Position 0 2 0 02 09 04 entl ft uicontrol Style edit Units normalized BackgroundColor white str
43. e bloco faz integral com vari veis per odo e N que n o est o definidas no corpo da fun o Este bloco soma os termos j integrados da s rie de Fourier e calcula os termos a e ba da s rie A chama ao integrador e o programa de soma est o no arquivo sfourier m Sa da Este bloco serve apenas de representa o do bot o que plota o gr fico da sa da n o possuindo tarefa relacionada ao mesmo H s Este bloco encontra se no arquivo tfourier m e o bloco que processa os termos a e b com a fun o de transfer ncia dada Figura Este bloco apenas representa o axes de sa da onde as fun es s o plotadas A seguir ser o mostrados alguns exemplos do funcionamento do programa UFRN Naial MatLab Allan de Medeiros Eng El trica 56 EICKT MatLab i i 1 e 1 i i i 1 NK EDE ESE E DONT LEN um reset Ro Ts Tais Entrada de uma onda quadrada de per odo 2 representada com 20 termos da s rie de Fourier EJCKT MatLab 5 3 35 an EEN Resposta entrada quadrada por um circuito com fun o de 1 transfer ncia H s s 4s 1 UFRN Natal MatLab Allan de Medeiros Eng El trica 57 EJCKT MatLab 04 0 6 0 8 HS u reset am EI Close Exemplo de entrada de uma fun o com o mouse UFRN Natal MatLab Allan de Medeiros Eng El trica 58 Bibliografia 1 Student Eedition of MatLab 4 HELP Copyright 1984 1994 the MathWo
44. edades a serem modificadas Ex TITLE TesSt color blue 8 8 3 Usando o mouse para posicionar textos Podemos usas o mouse para escolher pontos na janela gr fica onde iremos colocar determinados objetos Isto se faz coma fun o GINPUT O comando x y GINPUT N faz com que o cursor da janela gr fica torne se uma crus e fique at o usu rio clicar em N pontos E Figure No 1 Figura de teste File Edit Windows Help alpha 1 Exemplo de gr fico avan ado UFRN Natal MatLab Allan de Medeiros Eng El trica 33 9 Arquivos 9 1 Uso de arquivos Quando se trabalha com matrizes vetores tem se a necessidade de gravar os valores dessas matrizes vetores em um arquivo No MatLab pode se gravar em disco em alguns formatos espec ficos Quando se salva um vetor ou matriz no MatLab o mesmo fica gravado em um arquivo mat no diret rio corrente este arquivo contem o nome da vari vel e seu valor matricial e pode ser carregada a qualquer hora pelo usu rio Se a matriz for salva em um arquivo de texto veja op es do comando save o nome da vari vel ser o nome do arquivo que a contem O conte do do arquivo de texto gerado s o os valores dos elementos da matriz igualmente separados por espa os e quebras de linha ENTER s O comando para salvar uma matriz o comando save e para carrega las load 9 2 Comandos de arquivos Os principais comandos para uso com arquivos
45. eros onde z e p s o vetores contendo as ra zes do numerador de denominador respectivamente e G o ganho do sistema para a representa o em espa o de estados Matrizes A B C e D Ex A B C D zp25s 34 2 z LL53 131 1 r 2 0000 3 1623 3 1623 0 B 1 O C 1 0000 5 0596 Pr 1 UFRN Naial MatLab Allan de Medeiros Eng El trica 48 12 T picos avan ados 12 1 Controles e janelas do Windows No MatLab 4 0 o ambiente Windows possibilitou o uso de componentes Windows nos programas em MatLab O resultado s o programas muito atraentes de iterativos que facilitam a compreens o e uso por parte do usu rio Alguns comandos s o implementados de modo a podermos manipular janelas bot es caixa de textos labels menus imagens SEC 12 2 Criando janelas e controles no MatLab O controle mais b sico existente no Windows uma janela A Janela normalmente o controle mais utilizado dentro do Windows fazendo com que esta seja a base de toda uma interface que venha a ser criada Quando se cria uma janela ela serve de mural para outros controles na janela que colocamos os demais controles como bot es caixas de texto etc Para criar uma janela no MatLab simples usamos a fun o figure como mostra abaixo H figure H Ao executar este comando uma janela vazia aberta e a vari vel H fica sendo o identificador da janela O valor 1 que temos em H n o
46. g Texto mostrado no controle Alguns controles n o possuem nenhum texto como barras de rolagem caixas de texto etc O controle popupmenu possue string multipla Enable Habilita o do controle Se seu valor for on o controle pode ser utilizado se for off o mesmo aparece desabilitado n o podendo assim ser modificado pelo usi rio CallBack String de a es para o controle Armazena uma string com comandos que ser o executados ao acionamento do controle Visible Visibilidade do controle Se on o controle vis vel ao usu rio se off o controle invis vel BackgroundColor Cor de fundo Pode ser uma cor definida ou um vetor linha com as componentes RGB Ex 0 5 0 5 0 5 ForegroundColor Cor de fora Pode ser uma cor definida ou um vetor linha com as componentes RGB Ex 0 5 0 5 0 5 HorizontalAlignment Alinhamento do controle Os valores s o left center right representando respectivamente alinhamento direita centro squerda respectivamente Max Valor m ximo da posi o do cursor em uma barra de rolagem Representa o valor que ficar em value quando o cursor estiver todo direita da barra Min Valor m nimo da posi o do cursor em uma barra de rolagem Representa o valor que ficar em value quando o cursor estiver todo esquerda da barra Value Valor de estado do controle Para cada controles existe uma interpreta o dessa propriedade como most
47. goritmos Um algoritmo um esquema de um programa que se deseje construir como se fosse o manual de instru es de constru o de determinado programa Um algoritmo tem a apar ncia de um programa s que o mesmo est indicando passos serem realizados para o programador passos estes que se resolvem qualquer problema de mesma esp cie do que se trata o programa que ir ser constru do Para construir programas no MatLab n o necessariamente teremos que construir o algoritmo primeiro mas sempre bom ter em mente um esquema de como ser o programa final antes de come ar a faze lo Algoritmos podem ser tamb m diagramas de blocos em segii ncia de forma que o programador separe os blocos como partes de pequenos programas onde as sa das de um bloco sejam usadas pelo pr ximo ou no final do programa para calculo de um resultado final OBS Nem todo programa se destina a calcular alguma coisa sempre que for mencionado o c lculo de alguma grandeza podemos interpretar como execu o de um passo qualquer UFRN Naial MatLab Allan de Medeiros Eng El trica 36 10 2 1 Estrutura b sica de um programa A estrutura b sica de um programa um conjunto de instruc es em forma de algoritmo que praticamente todo programa deve ter se quer realizar algo til Uma estrutura b sica de programas feitos em MatLab est sugerida a seguir Inicio Declara o e inicializa o das vari veis usadas n
48. ico de Z preenchido line X Y Coloca linhas ligando os pontos xi yi colormap MAP Muda as cores de um gr fico 3D para as cores contidas em MAP MAP e uma matriz 3x64 onde as linhas s o os ndices de cores e as colunas s o as componentes R G B das cores shading shade Muda o tipo de preenchimento para o tipo de shade shade pode ser Flat Interp Faceted quiver X Y dX dY Desenha setas em cada xi yi apontando na dire o de dxi dyi gradient Z Retorna o gradiente de Z na forma de vetores xi yi view x y Ajusta a dire o do observador para x e y graus de rota o e inclina o colorbar coloca uma barra com o mapa de cores na janela do gr fico 8 8 Gr ficos avan ados Para o caso de um problema onde tenhamos que interpretar um gr fico de diversas formas temos a possibilidade de plotar na mesma v rios gr ficos distribu dos em uma mesma janela Para isso usamos alguns comandos mais avan ados que ser o mostrados abaixo 8 8 1 Plotando v rios gr ficos na mesma janela poss vel plotar v rios gr ficos em uma mesma janela sem que os mesmos estejam sobre os mesmos eixos nas mesmas escalas Alguns comandos possibilitam a divis o da janela em v rias partes onde UFRN Natal MatLab Allan de Medeiros Eng El trica 31 cada parte podem ser colocados eixos coordenados 2D ou 3D e um gr fico qualquer Veremos esses comandos a seguir subplot
49. idas antes de serem usadas Para isto usamos a palavra chave global como mostrado a seguir global V Declara a vari vel V como global ou seja pode ser usada em todas as fun es Para compartilhar vari veis entre fun es e com o pr prio MatLab as mesmas devem ser declaradas como globais tanto no MatLab como na fun o que ir usar las 10 5 Considera es importantes sobre programa o Programas de computador em geral possuem forma e organiza o semelhantes Ao se construir um programa para resolver determinada tarefa o mesmo geralmente n o assume formas muito diferentes das formas apresentadas na maioria dos casos Na constru o de um programa podemos ter blocos de controle de fluxo encadeados ou seja um for dentro de um if um while dentro de um for ou at mesmo um bloco dentro de um bloco de mesmo tipo for dentro de for por exemplo Nestes casos a segi ncia de execu o sempre obedecida se tivermos por exemplo um for dentro de outro for para cada itera o do primeiro for teremos todas as itera es do for mais interno e assim por diante Uma considera o importante s o os tipos de vari veis como o MatLab uma ferramenta que mostra uma facilidade muito grande em trabalhar com matrizes o programador deve tomar cuidado com os tipos de dados que est usando em certas circunstancias como controle loops contadores e quando se usa express es com operadores que diferem para matrizes como mu
50. ing MES Position 043 0 02 19 04 h uicontrol Style text Units normalized String passo Position 0 5 0 02 1 04 cntl passo uicontrol Style edit Units normalized BackgroundColor white String 1 Position 0 6 0 02 05 04 h uicontrol Style pushbutton Units normalized String add Position 0 66 0 02 07 Enable on Callback addfunctionstr 051 contHndl uicontrol Style pushbutton Units normalized Position 0 78 0 08 0 1 0 05 String reset Enable on Callback res contHndl uicontrol Style pushbutton Units normalized Position 0 78 0 02 0 1 0 05 String desenha Enable on Callback desenhastr Listagem do arquivo MOUSE M plot hold on axis 0 1 0 1 but 1 n 1 x 0 y 0 while but 1 x1 yi but ginput 1 if xi gt x n plot xi yi go era back x xj xi y ly yil n n dl line x y end end UFRN Natal MatLab Allan de Medeiros Eng El trica tm 1 x 2 for a 2 1 n 1 inc y a l y a x a 1 x a ind y a x a inc num2str ind t num2str inc Ee int2str a l ss tm a x a 1 end partes n 2 periodo x n x 2 tl x 2 dt 0 01 t2 2 x n hold off Listagem do arquivo INTM M function s intm F v x0 x1 sv1l v1 sv2 v2 if svl 19 eval sv1
51. lica uma matriz de caracteres formando uma string contendo a express o que a vari vel representa O valor de uma vari vel string posto sempre entre aspas como mostra o exemplo abaixo poli x 2 3 y 4 poli x02 3 y 4 Alguns comandos principais do ToolBox simbolic s o mostrados a seguir eval S Faz com que a string S seja interpretada como comandos do MatLab Ex eval x 5 x 2 2 ans 27 solve S X Faz com que o MatLab resolva a equa o S para a vari vel X Ex UFRN Natal MatLab Allan de Medeiros Eng El trica 43 solve B x 2 A x 0 ans A B dsolve S C Resolve a equa o diferencial S com as condi es iniciais C Ex dsolve A D2x C x x x 0 1 Dx 0 0 ans cos C 1 1 2 A 1 2 t sym S Gera uma matriz simb lica representada por S Ex sym a b c a 2 b 2 e 2 1 a 1 b 1 61 ans a b c A S AA 1 4 1 bs 1 6 symop Sl 0 S2 Realiza a opera o O entre os operandos Sl e O Zi BRs symop sin x exp x y 2 43 x ans sin x exp x y 2 3 x simplify S Simplifica a express o S Ex simplify x 2 x 6 x 3 ans x 2 int S X a b Integra a express o S na vari vel X no intervalo a b Ex int exp x 2 x Inf Inf ans pi 1 2 diff S X n Deriva n vezes a express o S com respeito a X Ex EDU diff
52. liza o do MatLab para resolver problemas que utilizem muitas opera es com valores que podem variar O MatLab pode armazenar n meros reais matrizes etc em vari veis que ficam na mem ria podem ser alterados e usados a qualquer hora 4 1 Oque uma vari vel Matematicamente uma vari vel uma letra que pode assumir qualquer valor num rico No MatLab temos a mesma defini o sendo que alem disso uma vari vel representa um espa o na mem ria do computador onde o valor guardado 4 2 Nomes de vari veis Um t pico muito importante como deve ser posto os nomes das vari veis existem algumas regras para os nomes das vari veis no MatLab s o listadas abaixo Regra 1 N o se deve colocar nomes muito grandes em vari veis Uma vari vel com at 10 caracteres est bom O limite do MatLab 19 caracteres Regra 2 O nome de uma vari vel deve come ar com uma letra Regra 3 O nome de uma vari vel s pode conter letras Mai sculas ou min sculas e n meros o nico caracter qu pod existir fora letras n meros o underscore Regra 4 N o permitido caracteres como Espa o virgula ponto acentos par nteses etc Exemplos de nomes de vari veis v lidos e n o v lido Abcdefghijklmnopgrstuvxz 3 56 ERRADO mais de 19 caracteres 12 abc 1 1 3 ERRADO n o come a com letra Termol dez CERTO Coef de tempo 0 45 CERTO ponto 45 7 ER
53. lor muito usado em programa o as fun es e valores l gicos Um valor l gico muitas vezes chamado de boolean pode assumir apenas 2 estados tru false verdadeiro ou falso e uma fun o l gica aquela que retorna um valor l gico No MatLab valores l gicos s o expressos em termos de 1 e 0 1 para true e 0 para false portanto uma fun o l gica retorna 1 ou 0 Abaixo veremos algumas fun es l gicas no MatLab que s o muito utilizadas na constru o de programas exist V Verifica se a vari vel ou fun o V est definida any M Retorna 1 se algum elemento da matriz ou vetor M for true 0 caso contr rio all M Retorna 1 se todos os elementos da matriz ou vetor M s o true 0 caso contr rio isnan X Retorna uma matriz de mesmo tamanho de X com 1 s nas posi es onde tive NaN s e 0 s onde n o tiver NaN s isinf X Retorna uma matriz de mesmo tamanho de X com 1 s nas posi es onde tive NaN s e 0 s onde n o tiver NaN s finite X Retorna uma matriz de mesmo tamanho de X com 1 s nas posi es onde tive NaN s e 0 s onde n o tiver NaN s isempty M retorna 1 se a matriz M est vazia O caso contr rio isreal M Retorna 1 se todos os elementos da matriz s o reais O caso contr rio issparse M Retorna 1 se a matriz esparsa 0 caso contr rio isstr X Retorna 1 se X uma string 0 caso contr rio isglobal v
54. ltiplica o e divis o UFRN Naial MatLab Allan de Medeiros Eng El trica 42 11 ToolBoxes Devido a grande utilidade do MatLab nas diversas reas de estudo o mesmo possue um possibilidade de expans o para uso com reas mais espec ficas Esta expans o se da atrav s de ToolBoxes Existem ToolBoxes para as mais diversas reas da ci ncia desde as engenharias at a manipula o simb lica de express es muito utilizada ma Matem tica 11 1 Oque s o ToolBoxes ToolBoxes s o um conjunto de arquivos m e mat chamados de scripts e kernels que s o acrescentados ao MatLab e s o espec ficos para realiza o de uma determinada tarefa ou solucionar determinado problema Existem ToolBoxes com programas para as mais diversas reas como j foi citado Um ToolBox quando instalado no MatLab fica sob forma de um diret rio que contem v rios arquivos destinados a realizar as opera es que se destina o ToolBox A instala o de ToolBoxes normalmente diferente para cada caso dependendo o fabricante do ToolBox 11 2 Exemplos 11 2 1 ToolBox Simbolic O ToolBox simbolic um ToolBox fabricado pela pr pria MathWorks fabricante do MatLab e tem por finalidade operar com vari veis literais O ToolBox simbolic implementa diversos comandos que s o mostrados e explicados a seguir Antes falaremos sobre como o ToolBox simbolic trata vari veis simb licas Uma vari vel simb
55. mo uso de fun es com dom nio restrito como sqrt log asin acos etc alguns apesar de n o causar erros podem comprometer o resultado final da opera o 2 4 HELP Todos os comandos do MatLab est o presentes no help do mesmo todos os comandos possuem uma sintaxe que deve ser obedecida e um n mero de par metros que deve ser utilizado O comando help comando mostra na rea de trabalho um resumo de como se deve operar com o comando especificado O help muito til para obten o de informa es sobre comandos que venham a ser utilizados durante um trabalho UFRN Natal MatLab Allan de Medeiros Eng El trica 9 3 Opera es simples O MatLab opera diretamente com n meros e matrizes bastando digita los na rea de trabalho ou em uma linha de programa O MatLab distingue as opera es dependendo to tipo de n mero que se queira usas se for matriz vetores conjuntos etc 3 1 Opera es As opera es b sicas que podem ser efetuadas diretamente no MatLab s o soma diferen a divis o multiplica o e exponencia o e transposi o para isso usam se os s mbolos ds a e E my UR respectivamente Algumas restri es devem ser lembradas quanto aos operadores divis o multiplica o e exponencia o tipo divis o por zero zero como bases exponenciais negativas ordem de matrizes em multiplica es e exponencia es No MatLab pode se usar as opera e
56. ndo de xmin xmax o mesmo para Y e Z text X Y texto Coloca um texto na posi o X Y do gr fico caso o gr fico seja tridimensional use text X Y Z texto E Figure No 1 File Edit Windows Help 7 Exemplo de gr fico com titulo e labels UFRN Natal MatLab Allan de Medeiros Eng El trica 27 8 6 Gr ficos 3D Para desenhar um gr fico 3D temos de ter uma matriz m por n onde os elementos em m ser o os valores de Z para os pontos X e n para os pontos Y Imagine o plano cartesiano XY como uma matriz onde cada elemento da matriz A i j corresponde a uma altura Z para cada valor de X i e Y j Para plotar um gr fico 3D no MatLab temos de Ter essa matriz de alturas as formas de gera la podem ser as mais diversas A maneira mais corriqueira quando temos uma fun o de 2 vari veis Z f X Y e queremos plotar 0 gr fico da mesma Para isso temos que criar uma matriz M por N onde M ser o n meros de pontos em X e N o n mero de pontos em Y e cada elemento da A i j da matriz ser igual a altura correspondente ao X i e Y j quanto maior o n mero de elementos da matriz mais definido fica o gr fico Ex Plotar o gr fico Z exp x 2 y 2 com X variando de 3 a 3 e y variando de 3 a 3 Se escolhermos uma matriz 10 por 10 teremos o seguinte z 0 0000 0 0000 0 0000 0 0000 0 0001 0 0001 0 0001 0 0000 0 0000 0 0000 0 0000 0 0000 0 0001 0 0007 0 0022 0 0032 0
57. o programa Entrada de valores do usu rio par metros do problema que est o em forma de vari vel Programa em s C lculos e a es que dever o ser executadas pelo programa Atribui o dos resultados vari veis de sa da do programa Exposi o dos resultados ao usu rio Fim Como vemos a maioria dos programas tem a mesma sequ ncia de opera o e basicamente trabalha em cima de valores de entrada e valores de sa da Normalmente um programa um elemento que toma valores de certos par metros de entrada e gera outros valores como sa da Oque difere um programa de outro s o os par metros de entrada e os de sa da ou ainda a forma como os par metros de sa da s o calculados 10 2 2 Regras de constru o Alguns cuidados devem ser tomados quando se constr i um programa em qualquer linguagem S o uma esp cie de regras que se seguidas ajudam para que o programa n o se torne dif cil de ser interpretado e corrigido e al m do mais torna o programa mais organizado sendo mais prov vel o sucesso em poucas tentativas de execu o ap s constru do Abaixo est o algumas dessas regras que por experi ncia pr pria s o as maiores causadoras de problemas na constru o de programas em qualquer linguagem e de qualquer tipo Procure nomes de vari veis nem muito grandes e nem muito pequenos Observe o tipo de par metro quando chamar uma fun o UFRN Natal MatLab Allan de
58. olagem que permite acompanhar todas as sa das produzidas pelo MatLab enquanto o usu rio est trabalhando A janela de trabalho tamb m possibilita a edi o simples do Windows ou seja o usu rio pode colar texto para o prompt e utiliza lo como comando da mesma forma pode se tamb m copiar textos ou sa das do MatLab para outros programas do Windows MATLAB Command Window ol x File Edit Options Windows Help Commands to get started intro demo help help a Commands for more information help whatsnew info subscribe EDU rea de trabalho do MatLab UFRN Natal MatLab Allan de Medeiros Eng El trica 6 1 3 Arquivos m O MatLab permite que os comandos sejam executados de forma sequencial em forma de programa constituindo se assim de uma linguagem interpretada As sequ ncias de comandos s o gravadas como texto em um arquivo especial com extens o m e s o executados simplesmente digitando se o nome do arquivo direto no prompt Ex meuprog Programa de teste 2 2 ans Para que um arquivo seja executado dessa forma o mesmo deve estar no diret rio atual do Matlab ou ent o estar em alguns diret rios denominados path que ser visto mais adiante 1 4 Janelas Outra forma de comunica o do Matlab com o usu rio atrav s de janelas Elas podem servir de quadro para exibi o de gr ficos ou como formul rio para ser preenchido com dados entrados pelo usu rio
59. os de controle de luxo de programa que podem ser usados na constru o dos mesmos Al m disso tem a possibilidade de se programar fun es ou seja programas que podem receber retornar valores e serem usados como un es normais Esses comandos quando est o presentes nos programas s o chamados de blocos controladores de luxo de programa 10 4 1 If O primeiro e mais importante dos comandos de controle de luxo de programa o if O if executa um bloco de programa ou outro dependendo do valor de uma vari vel l gica Seu uso tem a seguinte forma if variavel logical comandol comandol elseif variavel logica comando2 comando2 elseif variavel logica3 comando3 comando3 else comando4 comando4 end O funcionamento o seguint O programa ao chegar no if verifica o valor de variavel logical se for verdadeira true o programa executa a sequ ncia de comandosl se for falsa false ele passa direto para o elseif e testa o valor de variavel logica2 se for verdadeiro executa a sequ ncia de comandos2 se for falsa passa para o pr ximo elseif e assim por diante at que quando n o houver mais elseif s e nenhuma variavel logica tiver sido verdadeira o programa finalmente executa a sequ ncia de comandos correspondente ao else ou seja comandos4 Em uma senten a if n o preciso que sempre tenha blocos elseif ou else Um bloco pode Ter apenas if e end Variavel logica deve ser
60. os para modificar os atributos de uma janela ou controle UFRN Naial MatLab Allan de Medeiros Eng El trica fazemos com que o controle ou janela que queiramos alterar esteja ativo a e depois usamos os comandos de mudan a de atributos comando SET como veremos Uma janela completa com controles mostrada a seguir File Edit Windows Help Bot o amp Bot o de r dio O eta Re Caixa de texto Texto simples E E ET teste Exemplo de controles do Windows no MatLab Podemos criar uma janela e definir suas propriedades diretament na fun o figure Usando o mesmo esquema de par metros usados em uicontrol Os par metros mais importantes s o Color Representa a cor de fundo da janela Pode ser uma string de cor ou um vetor com as componentes RGB Colormap Mapa de cores usado para plots 3D Deve ser um vetor de 3 colunas com as componentes RGB de cada ndice de cor CurrentAxes Faz com que o axes presente no valor dessa propriedade seja o axes corrente CurrentObject Faz com que o controle presente no valor dessa propriedade seja o controle corrente MenuBar Se o valor dessa propriedade for none nenhum menu mostrado na janela Se for figure a janela ter o menu padr o de figuras Name Nome da janela O valor desta propriedade deve ser uma string NumberTitle Se o valor desta propriedade for on aparecer o nome e o n mero da janela Se
61. ra a tabela abaixo Controle Valor Pushbutton n o se aplica Radiobutton 0 se desmarcado e 1 se marcado Checkbox 0 se desmarcado e 1 se marcado Edit Cont m o texto digitado Text n o se aplica Slider Cont m a posi o do cursor Frame n o se aplica Popupmenu Contem o texto atualmente selecionado UserData Espa o para o usu rio Nesta propriedade o usu rio pode colocar algum valor de refer ncia ou de uso qualquer j que este n o interfere no funcionamento do controle UFRN Natal MatLab Allan de Medeiros Eng El trica 53 12 6 uimenu Um componente tamb m muito usado no Windows o menu Praticamente todas as janelas no Windows possue um menu No MatLab podemos colocar menus nas janelas e fazer com que o mesmo responda aos comandos do usu rio realiz xecute determinados comandos Um menu composto por submenus que podem ser compostos tamb m de mais submenus obtendo se assim uma esp cie de hierarquia de menus Neste tipo de componente um submenu deve ser referenciado ao submenu imediatamente superior Para criar menus obedecendo essa regra utilizamos o comando uimenu de forma que sua sequ ncia ser a sequ ncia de aparecimento na janela onde o mesmo est colocado e o menu ou submenu superior ser um par metro Ex sH1 uimenu H1 parametrol valorl parametro2 valor2 sH1 o identifi
62. rks Inc 2 Apostilha de MatLab prof Ednilson Pereira de Freitas Engenharia El trica USP 3 MathWorks Home Page MathLab s http www mathworks com UFRN Natal Ap ndice Listagem do arquivo CKT M clear periodo 0 i 1 axes positi plotsaidastr plotentradas on 0 08 0 2 0 9 0 71 tfo ri r s sfourier set btsaida tr Enable stemp t1 0 termos eval dt 0 01 t2 2 periodo addfunctions x 1 eval ge get cntl ft get cntl termos string Er set btentrada Enable on t cntl x0 string tm 1 x 1 ft string Srne seval PUSE int2 zon ej EN E str i MatLab Allan de Medeiros Eng El trica 59 le r H get cnt1l hs string fti i i l x i eval get entl passo string tm i tm i 1 x i partes i l periodo periodo x i eval stemp sres x 0 y 0 an 0 bn 0 t 0 f 0 periodo 0 i l x 0 tm 0 set btsaida Enable off set btentrada Enable off 1 res clear close ckt desenhastr H get cntl h btentrada ui Style Units Positio String Callbac btsaida uico Style Units Positio String Callbac btclose uico Style Units Positio String Callbac h uicontro cnti x0 uicontrol Style edi white h uicontro Enable Enabl
63. rrente Essas informa es s o passadas ao comando atrav s de seus par metros como s o muitos servem para diversos controles mostraremos um por um em detalhes Style Estilo de controle que ser criado Esta propriedade diz que tipo de controle ser criado se bot o caixa de texto etc Os valores para esta propriedade s o Controle Descri o Figura Pushbutton Bot o comum Radiobutton Bot o de r dio amp Bot o de r dio Checkbox Bot o de checagem Bot o de check Edit Caixa de texto simples Caixa ERICO Text Texto simples Texto simples Slider Barra de rolagem Frame Quadro simples Popupmenu Caixa de texto composta Units Unidade usada para posicionar o controle A posi o e tamanho de um controle dentro da janela pode ser feita atrav s de n meros que representam sua localiza o Os poss veis tipos de coordenadas s o UFRN Natal MatLab Allan de Medeiros Eng El trica 52 Units Valor Inches Polegadas conforme o tamanho da janela Centimeters Cent metros conforme o tamanho da janela Normalized M ximo e m nimo da janela correspondendo a 0 e 1 Points Pontos da janela Pixels Pixeis gr ficos Position Posi o do controle na janela seguindo a unidade usada O valor um vetor linha com as coordenadas X e Y do canto superior esquerdo do controle sua largura e sua altura Ex X Y tamanho altura Strin
64. s o mostrados a seguir incluindo a forma de como usa los Save fname X option Este comando salva a matriz X no arquivo fname com as op es option option ascii salva em formato texto option double salva com dupla precis o option tabs salva com tabs para separar os valores Se n o for colocado option o MatLab salva no formato bin rio e adiciona a extens o mat ao nome do arquivo load fname Carrega o arquivo fname e restaura a vari vel da matriz que est gravada se fname for texto o nome da vari vel ser fname diary fname Salva o conte do da rea de trabalho do MatLab no arquivo fname UFRN Natal MatLab Allan de Medeiros Eng El trica 34 10 Programa o O MatLab possue um interpretador de comandos que permite qu usemos seus comandos de forma segi encial e com blocos de compara o e loops formando assim um programa que usa os comandos do pr prio MatLab Esta possibilidade de se programar no MatLab muito usada para construir programas destinados a estender os usos do pr prio MatLab A linguagem do MatLab interpretada ou seja O usu rio precisa do MatLab para rodar os programas os erros s aparecer o quando o programa estiver rodando e os comandos s o executados em seq ncia 10 1 Fun es l gicas e operadores l gicos Antes de come ar a construir um programa no MatLab vamos dar uma olhada em um tipo de fun o e um tipo de va
65. s b sicas para operar em forma de conjunto aplicando a opera o cada componente de um vetor ou matriz separadamente bastando para isso usar um ponto antes do operador Ex a 1 2 3 4 5 6 7 8 9 a T 2 3 4 5 6 7 8 9 b 9 8 7 6 5 4 3 2 11 b 9 8 7 6 5 4 3 2 t a b ans 30 24 18 84 69 54 138 114 90 a b ans 9 16 21 24 25 24 21 16 9 Note que a e b s o matrizes mas a opera o a b faz a multiplica o lemento por elemento das matrizes UFRN Natal MatLab Allan de Medeiros Eng El trica 10 3 2 N meros no MatLab No MatLab os n meros s o considerados valores que podem assumir forma real complexa matricial e vetorial o MatLab entende um vetor como uma matriz coluna ou linha sendo portanto do mesmo tipo de matriz Para cada tipo num rico existe uma forma de se usar as os operadores b sicos e chamadas fun es Alguns exemplos de n meros no MatLab real 65 7896 real 65 7896 complexo 34 5 65 0i complexo 34 5000 65 000041 matriz 1 2 3 4 5 6 7 8 9 matriz I 2 3 4 5 6 7 8 9 vetor_linha 1 2 3 vetor_linha 1 2 3 vetor_coluna 1 2 3 vetor_coluna 2 3 Observem que um vetor pode ser linha ou coluna OBS uma matriz ou vetor podem ser compostos por elementos complexos e sua opera o segue as mesmas regras de uma matriz real 3 3 Infinito raiz de 1 indetermina es O Mat
66. trav s do bot o add da caixa de texto f t e da caixa de texto passo Cada vez que o usu rio pressiona o bot o add uma parte da fun o definida como o valor da caixa f t e com intervalo de tamanho passo pressionando novamente uma nova parte definida como o valor da caixa f t s que desta vez definida come ando no final da primeira e com tamanho passo Uma maneira alternativa de entrar com a fun o de entrada atrav s do mouse simplesmente desenhando a fun o Um programa captura pontos da janela e os liga come ando do 0 com uma linha amarela sendo que cada linha representa uma reta e o intervalo fica definido automaticamente pelo programa assim quando o ltimo ponto for escolhido pressionando o bot o direito do mouse o programa gera as partes da fun o de acordo com a retas colocadas e os intervalos correspondentes Da os bot es entrada e sa da plotam a soma dos termos calculados para a serie e a soma dos termos processados com a fun o de transfer ncia dada O programa est dividido em pequenos blocos como mostrado a seguir Entrada fun o S rie de Fourier Entrada mouse UFRN Naial MatLab Allan de Medeiros Eng El trica 55 Cada bloco ou conjunto de blocos composto de um programa ou fun o armazenado em um arquivo m e suas listagens est o no ap ndice A e a explica o da fun o
67. tros que usamos para criar o controle ou no caso de janelas modificar par metros que n o foram citados na hora da cria o do controle ou janela e que assim assumiram um valor defaut O comando SET usado como mostrado abaixo SET H parametrol valorl parametro2 valor2 p p parametro e valor referem se as mesmas propriedades do controle que foram usados no comando uicontrol No caso de janelas ser o par metros como cor tamanho etc qu st o em seus valores defaut H o identificador do controle a ser mudado Se quisermos examinar os par metros que est o sendo usados por um controle usamos o comando GET O comando GET mostra os par metros os seus respectivos valores de um controle Para usa lo basta digitar GET H parametro onde H o identificador do controle e parametro o nome do par metro que se quer ver o valor GET H faz com que todos os par metros sejam mostrados 12 4 Controlando os controles Como sabemos controles n o servem s para enfeitar uma janela eles geralmente fazem alguma coisa No MatLab existe uma maneira muito pr tica de se programar a resposta de um controle ao usu rio Por exemplo ao apertarmos um bot o queremos que seja plotado um gr fico ou que se feche a janela que estamos operando Porem nem sempre os controles servem para fazer alguma coisa e sim para retornar algum valor dependendo de seu estado Para obtermos o
68. unto e o operador age em cada elemento da matriz individualmente Para isso basta colocar um ponto na frente do operador que se deseja efetuar a opera o em conjunto Ex b 1 2 3 56 7 1 8 9 b 1 2 S 5 6 7 7 8 9 as 1 1 1 2 2 2 4 4 4 a 1 1 1 2 2 2 4 4 4 UFRN Natal MatLab Allan de Medeiros Eng El trica 16 D a b c 1 2 3 10 12 14 28 32 36 veja que c a b diferente de c a b na primeira cada elemento da matriz c o produto dos respectivos elementos de a e b OBS A opera o soma e subtra o obedece opera o por conjunto portanto n o faz sentido os operadores 5 4 Operando com elementos Cada elemento da uma matriz pode ser tratado como uma vari vel num rica simples real ou complexa bastando usar o nome da vari vel que guarda a matriz seguido de par nteses com os ndices do elemento que se deseja usar separados por virgulas se for um vetor ser apenas um ndice Ex matriz 1 2 3 4 5 6 7 8 9 matriz 1 2 3 4 5 6 7 8 9 x matriz 2 2 x 5 y matriz 1 2 y 2 vetor 2 4 5 vetor 2 4 5 z vetor 3 vetor 1 z 7 Pode se usar o operador atribui o afim de mudar apenas um valor dos elementos da matriz ou vetor Ex UFRN Natal MatLab Allan de Medeiros Eng El trica 17 matriz 1 2 3 4 5 6 7 8 9 matriz 1 2 3 4 5 6 7 8 9 matriz 1 1 0 matriz 0 2 3
Download Pdf Manuals
Related Search
Related Contents
Manual do Utilizador do Nokia N800 Aprilaire 558 Humidifier User Manual Manuals Motherboard 12 - Módulo Automação Residencial - Autopower Manual Hama 00111526 Défibrillateur de formation DSA/DA Cyclone User`s Manual - Enabling Technologies Copyright © All rights reserved.
Failed to retrieve file