Pré-visualização parcial do texto
Baixe matlab - amos - gilat e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!
SEGUNDA EDIÇÃO SW ) |] | NF | ú | | ER i à | Er ' EVER Ei | Db, COM APLICAÇÕES EM ENGENHARIA Amos Gilat G4ó3m Gilat, Amos MATLAB com aplicações em engenharia / Amos Gilat ; tradução Glayson Eduardo de Figueiredo. — 2. ed, — Porto Alegre : Bookman, 2006. 360 p. : il. p&b; 25 cm. ISBN 978-85-363-0692-6 1. Computação - Programas - MATLAB. 2. MATLAB - Engenharia. 1 Título. CDU 004,4:62MATLAB Catalogação na publicação: Júlia Angst Coelho — CRB 10/1712 Obra originalmente publicada sob o título MATLARBº An Introduction with Applications (8 2005 John Wiley & Sons, Inc. Al rights reserved. Tradução autorizada da edição em inglês publicada por John Wiley & Sons, Inc. ISBN 0-471-69420-7 Capa: Gustavo Demarchi, arte sobre capa original Leitura final: Walson Pontes Carpes Supervisão editorial: Denise Weber Nowaceyk Editoração eletrônica: Laser Honse MATLAB é marca registrada de The Math Works, Inc. Reservados todos os direitos de publicação, em lingua portuguesa, à ARTMED” EDITORA S. A. (BODKMAN" COMPANHIA EDITORA é uma divisão da ARTMED” EDITORA S.A.) Av, Jerônimo de Ornelas, 670 - Santana 90040-340 Porto Alegre R$ Fone (51) 3027-7000 Fax (51) 3027-7070 É proibida a duplicação ou reprodução deste volume, no tado ou em parte, sob quaisquer formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web e outros), sem permissão expressa da Editora. SÃO PAULO Aw. Angélica, 1091 - Higienópolis 01227-100 São Paulo SP Fone (11) 3665-1100 Fax (11) 3667-1333 SAC 0800 7035-3444 IMPRESSO NO BRASIL PRINTED IN BRAZIL Aos meus pais Schoschana e Haim Gelbwacks Prefácio* MATLABº é um sojiware bastante popular em computação técnica e científica; é usado no mundo inteiro por estudantes, engenheiros & cientistas em universida- des, institutos de pesquisa e indústrias. A razão da popularidade deve-se ao poder e à facilidade de utilização desse programa. Os calouros podem pensar nele como a próxi- ma ferramenta a ser utilizada após a calculadora científica, tão comum no Ensino Médio. Este livro foi escrito seguindo um roteiro de muitos anos no ensino do software nu- ma disciplina introdutória para calouros do curso de engenharia. O objetivo era escrever um livro que ensinasse o software de um modo amigável, sem intimidações. Assim, foi utilizada uma linguagem simples, informal e direta. Em muitas oportunidades foram uti- lizados vários recursos didáticos para explicar e detalhar tópicos específicos. O livro in- corpora inúmeros exemplos da matemática, ciências e engenharia que os iniciantes do MATLAB” encontram nos cursos introdutórios. Esta segunda edição foi atualizada para incorporar recursos do MATLAB 7. Traz. também um capítulo novo (11) sobre operações envolvendo matemática simbólica e uma nova seção no Capítulo 4 que mostra como importar e exportar dados. Gostaria de expressar meus agradecimentos a muitos dos meus colegas da The Ohio State University. Meu reconhecimento aos Professores Richard Freuler, Mark Walter, Brian Harper e ao Dr. Mike Parke pela leitura e sugestões abrangendo as várias seções que compõem este livro. Igualmente, sou grato pelo envolvimento e apoio dos Professo- res Robert Gustafson, John Demel e Dr. John Merrill, coordenadores do Programa do Pri- meiro Ano de Engenharia da The Ohio State University. Agradecimentos especiais ao * N de TO software MATLAB é em inglês, Com o objetivo de facilitar a compreensão do leitor e a aplicação do conteúdo deste livro, op- tamos por manter 0 nome das funções matemáticas nã língua inglesa, assim como o padrão inglês de separação de casas decimais (isto é. a utilização de ponto em vez de vírgula) PREFÁCIO Professor Mike Licthensteiger (OSU) e à minha filha Tal Gilat (Stanford University), re- visores meticulosos desta obra, pelas valiosas críticas e comentários. Minha gratidão dirige-se também a todos que leram os originais e ajudaram-me na revisão nos diversos estágios de desenvolvimento do livro, incluindo Betty Barr, Univer- sity of Houston; Andrei G. Chakhovskoi, University of California, Davis; Roger King, University of Toledo; Richard Kwor, University of Colorado em Colorado Springs; Lar- ry Lagerstrom, University of California, Davis; Yueh-Jaw Lin, University of Akron; H. David Sheets, Canisius College; Geb Thomas, University of Iowa; Brian Vick, Virginia Polytechnic Institute and State University; Jay Weitzen, University of Massachusetts, Lo- well; e Jane Patterson Fife, The Ohio State University. Por fim, agradeço o apoio de Joe Hayton, Ken Santor, Caroline Sieg, Katherine Hepburn, Simon Durkin, John Stout e Jay Beck, todos da John Wiley & Sons. Espero que este livro seja de grande utilidade e que os usuários do MATLAB” pos- sam apreciá-lo. Amos Gilat Columbus, Ohio 10 Sumário 2.4 O OPERADOR DE TRANSPOSIÇÃO. .. cessa eee 47 2.5 REFERÊNCIA A UM ELEMENTO DO ARRANJO ...cccssecsecenerereers 47 2.5.1 Vetor. 2.5.2 Matriz .. tm - 2.6 Dois PONTOS (: ) REFERENCIANDO ELEMENTOS DE ARRANJOS ........0 49 2.7 ADICIONANDO ELEMENTOS ÀS VARIÁVEIS DECLARADAS .....cecceceso 51 2.8 ELIMINANDO ELEMENTOS DE UMA MATRIZ . ..icicscscssasesiaiaaãa 54 2.9 FUNÇÕES NATIVAS PARA MANIPULAÇÃO DE ARRANJOS .icicicsssiaaro 55 2.10 CADEIA DE CARACTERES (STRINGS) E VARIÁVEIS TIPO STRINGS cvs 59 2] PROBLEMAS engensmasasiaseio soe tece CRS 61 Capítulo 3 Operações Matemáticas com Arranjos .....cccicicisssiiiiiis 65 3.1 ADIÇÃO E SUBTRAÇÃO DE ARRANJOS ....ccccsicscecscscentstnaso 66 3.2 MULTIPLICAÇÃO DE ARRANJOS ., ss sesenerrarerararsrrerssaesasa 67 3,3 DivISÃO DE ARRANJOS F E . 7 3.4 OPERAÇÕES ESCALARES ENVOLVENDO ELEMENTOS DE MATRIZES ....... 74 3.5 USANDO ARRANJOS EM FUNÇÕES NATIVAS DO MATLAB ............. 7 3.6 FUNÇÕES NATIVAS PARA CÁLCULOS DE ARRANJOS ....ccccccccstcioo 78 3.7. GERAÇÃO DE NÚMEROS ALEATÓRIOS .... 3.8 ExEMPLOS DE APLICAÇÕES DO MATLAB dd PROBLEMAS suis tias a aa aa Capítulo 4 Rotinas (M-Files) .......ccccccsicscsssiscisecerreesreene 91 4.1 OBSERVAÇÕES QUANTO AQ USO DE ROTINAS ..cccecescesaeesantases 91 4,2 CRIANDO E SALVANDO UMA ROTINA ... cce vs nara aaa sia cocaceimaçaças DA 4.3 RODANDO UMA ROTINA ...... ARE aRaaa REC EO IPI ED 93 43.1 Ocampo Current Directory ....icecsesesererasraraseserãs 93 4.3.2 Procurando um diretório (ou pasta) .......cccscccrecserers 95 did. VARIÁVEIS GLOBAIS: Coisa a pain aa e e rd a Gp ga 95 4.5 ENTRADAS EM ROTINAS . ca 6 COMANDOS DBSAÍDA auscimosaaaipsisaass pesar ana res ese a ta tea 98 4.6.1 Ocomandodisp..........cccciiciis ci cccscecennaenas 98 do Crcoinando EprInCÊ .sausumsesaaspraaemsrsusaaç rs 101 4.7 IMPORTANDO E EXPORTANDO DADOS ....ccsseceesenerereerneeses 109 4.2.1 Comandos para importação e exportação de dados ........... 109 4.7.2 Usando o assistente de importação ........cccsicisisciiios mn 4.8 EXEMPLOS DE APLICAÇÕES DO MATLAB. .......cccccrteucrerees 113 49 PROBLEMAS .... ses mesma a o imcacec era pa era a acao ao aaa 6 ja La sia a 118 Sumário Capítulo 5 Gráficos Bidimensionais ........ccciciicisiccsisisssiscies 122 5.1 OcomanDO plot ............ E 123 5.1.1 Gráfico de uma tabela de dados . 5.1.2 Gráfico de uma função .. 5.2 O coMaNDO fplot 5.3 PLOTANDO GRÁFICOS MÚLTIPLOS EM UMA MESMA SAÍDA .....ccereees 130 534. Usandoocomando plot ses ss sissa ss iaenestade 130 5.3.2 Usando os comandos hold onehold off .............. 132 5.3.3 Usandoo comando line... ..ccccssssssisssccssises 132 7. FORMATANDO UMORKFIOO issue psp a pace jap 5.4.1 Formatando um gráfico por meio de comandos 133 54.2 Formatando um gráfico por meio da janela Figure Window ,,...137 5.5 GRÁFICOS COM ESCALAS LOGARÍTMICAS ....cccscsereseeserercero 137 5.6 GRÁFICOS PARA FINS ESPECÍFICOS ......cccissecremes «139 o RISTOGIRAMAS qooro ara torataro cata anota asas aaa EEE Ran daN oras fat 141 5.8 GRÁFICOS POLARES .......ciccccccsecererenaesrereraareaes 143 5.9 MÚLTIPLOS GRÁFICOS NA MESMA JANELA DE SAÍDA . E 5.10 ExEMPLOS DE APLICAÇÕES DO MATLAB ....ccssssesesessaserics 5.1] PROBLEMAS «ssus ses Ena rRe Vea etapa 6.1 DECLARANDO UMA FUNÇÃO NO MATLAB: ....ccccscssses esse sa sa 157 6.2 ESTRUTURA DE UMA FUNÇÃO ..... 6.2.1 Linha de declaração da função 6.2.2 Argumentos de entrada e saída 6.2.3 A linha de descrição da função (linha HDe as linhas de Comentários: assa a 624 Ocorpoda função ........cciicccicisssereaa ca ricraraca 6.3 VARIÁVEIS LOCAIS VERSUS VARIÁVEIS GLOBAIS 6.4 SALVANDO UMA FUNÇÃO ...cccccciscscasaricesisicasasca verão 6.5 CHAMANDO UMA FUNÇÃO à ici cisescsieereseriseccaiicesrenia 6.6 EXEMPLOS DE FUNÇÕES SIMPLES ,. ci sisesiincasasirearasasirara 6.7 COMPARAÇÃO ENTRE ROTINAS E FUNÇÕES .. 6 PUNÇÕES ENIANS:, ssa co masce aa ey asia 60 O COMANDO RENA: orcs nte rs mararatnça Ponto pedal alelo Laos CDA Au Le Ea 6.10 ExEMPLOS DE APLICAÇÕES DO MATLAB ........icccsccctrseners 61] PROBLEMAS Eosisstase As DE Saca QUA Saad Capítulo 7 Programando no MATLAB .........cicsiissssisesceserneca 180 7.1 OPERADORES LÓGICOS E RELACIONAIS . +. .cccerestectecenerereees 181 7.2 SENTENÇAS CONDICIONAIS ..cccccesccscecemenese res emaeevaes 189 7.21 Acstrutura LÊ-end ..siciserers PE Ea acatada rasa 190 Sumário 13 Capítulo 11 Matemática Simbólica .........icciississsscrerirserrerse 296 11,1 OBJETOS SIMBÓLICOS E EXPRESSÕES SIMBÓLICAS . ....ccicescssece 297 1.1.1 Criando objetos simbólicos ......cccccccscscascisrasereca 297 [1.1.2 Criando expressões simbólica: 1.1.3 O comando findsym e a variável simbólica padrão .......... 302 11.2 MoDiFICANDO A FORMA DE UMA EXPRESSÃO SIMBÓLICA ......ccvccoo 303 11.2.1 Oscomandos collect, expande factor...............303 11.22 Oscomandos simplifye simple .........cicicictiios 305 1123. Ocomándo pretty. cosas saem ese pçes DOT 11.3 RESOLVENDO EQUAÇÕES ALGÉBRICAS ....ccsceseseneseenereraeeo 308 LA DIFERENCIAÇÃO! er sragean ias retas siegaio e peos sin cre ota o fo pot peS 1 INTEGRAÇÃO: essa a da 315 11.6 RESOLVENDO UMA EQUAÇÃO DIFERENCIAL ORDINÁRIA . «2 cccc0 00000. 316 11.7 PLOTANDO EXPRESSÕES SIMBÓLICAS 4 iscsssecssseceseererrvros IDO 11.8 CÁLCULOS NUMÉRICOS COM EXPRESSÕES SIMBÓLICAS ........cccieeoo 322 11.9 EXEMPLOS DE APLICAÇÕES DO MATLAB. .......cccccssse voo. 326 MIO PROBLEMAS Apêndice: Sumário de Caracteres, Comandos e Funções .......ciciciicioo 341 Respostas de Problemas Selecionados .........ccccissssiscssteeseresero 349 16 — Intropução O PROPÓSITO DESTE LIVRO MATLAB com Aplicações em Engenharia é indicado aos estudantes que estão iniciando o uso do MATLAB e têm pouca, ou nenhuma, experiência em programação de computa- dores. Pode ser utilizado como livro-texto num curso introdutório para calouros dos cur- sos de engenharia ou em workshops sobre o MATLAB. Pode servir também como requi- sito básico nos cursos avançados nas ciências e engenharias, quando o MATLAB é tão simplesmente uma ferramenta para solução de problemas. Este livro foi escrito para faci- litar os estudos autônomos sobre o MATLAB. Além disso, serve como referência com- plementar, ou como um segundo livro, nos cursos em que o MATLAB é adotado, mas o professor não dispõe de tempo para explicar certos detalhes do software. TÓPICOS ABORDADOS O MATLAB é um programa imenso; assim, é impossível abranger todos os aspectos num só livro. Aqui são enfocados, primeiramente, os fundamentos do MATLAB, Uma vez en- tendidos esses fundamentos, acredito que os estudantes sentir-se-ão capazes de assimilar tópicos avançados, muitas vezes recorrendo apenas ao menu Help. A ordenação dos capítulos foi escolhida cuidadosamente, baseada nos muitos anos de experiência no ensino do MATLAB num curso introdutório de engenharia. Os tópicos vão sendo apresentados de modo a permitir ao estudante seguir o livro capítulo por capí- tulo. Cada tópico abordado é esgotado (até a profundidade desejada) e utilizado nos ca- pítulos seguintes. O Capítulo | descreve as funcionalidades e características básicas do MATLAB, preparando o estudante naquilo que é mais elementar no MATLAB: operações aritméti- cas simples com escalares, assim como com uma calculadora, Os dois próximos capítu- los são dedicados aos arranjos (vetores e matrizes). O elemento funcional básico do MATLAB é um arranjo que não requer dimensionamento. Esse conceito, que dissemi- nou o MATLAB, pode parecer um tanto difícil de ser compreendido pelos estudantes que possuem apenas um conhecimento e experiência básica com álgebra lincar e análi- se vetorial. O livro foi escrito com um cuidado tal que a conceituação de arranjos é in- troduzida gradual e, então, extensivamente. O Capítulo 2 descreve como criar arranjos & o Capítulo 3 aborda as operações matemáticas nas quais eles são utilizados. Seguindo os fundamentos, as rotinas são apresentadas no Capítulo 4, acompanha- das da criação e manipulação de gráficos 2-D no Capítulo 5. O próximo tópico abordado, no Capítulo 6, são as funções personalizadas (ou arquivos função) que, intencionalmen- te, foi separado do capítulo sobre rotinas. Isso provou facilitar a compreensão dos estu- dantes sem conhecimentos prévios de conceitos similares ([unções e rotinas) em outros programas de computador. Programação no MATLAB aparece no Capítulo 7 e traz as es- truturas de controle de fluxo e de repetição. Os três últimos capítulos abordam temas mais avançados. O Capítulo 8 descreve co- mo o MATLAB pode ser utilizado em cálculos com polinômios e no ajuste e na interpola- ção de curvas. A criação de gráficos 3-D, extensão natural do capítulo sobre gráficos 2-D, é abordada no Capítulo 9. O último capítulo cobre algumas aplicações do MATLAB no Cál- Intropução 17 culo Numérico. Nesse capítulo são resolvidas equações não-lincares, são determinados o máximo ou mínimo de funções, são feitas integrações numéricas e são encontradas as solu- ções de equações diferenciais ordinárias de primeira ordem para um problema de valor ini- cial (PVI). O Capítulo 1 é um novo capítulo introduzido na segunda edição do livro. Ele cobre em detalhes o uso do MATLAB em operações simbólicas. A ESTRUTURA TÍPICA DE UM CAPÍTULO Em cada capítulo os tópicos são introduzidos gradualmente, de modo a facilitar a com- preensão por parte do leitor. O uso do MATLAB é demonstrado extensivamente no texto e nos exemplos. Alguns dos exemplos maiores nos Capítulo 1-3 foram intitulados tuto- riais. Cada utilização do MATLAB foi impressa sobre um fundo cinza. Explicações adi- cionais aparecem dentro de caixas de texto sobre fundo branco. À idéia é que o leitor exe- cute as demonstrações e os tutoriais de modo a adquirir experiência com o software. Além disso, cada capítulo traz uma lista formal de problemas-exemplo que, em síntese, são apli- cações do MATLAB na matemática, nas ciências e na engenharia. Cada exemplo começa com o enunciado do problema e termina com uma solução detalhada. Às vezes, foram co- locados problemas-exemplo no meio dos capítulos. Todos os capítulos (exceto o Capítulo 2) têm uma seção de problemas-exemplo. Deve ser mencionado que o modo de solucionar um problema no MATLAB não é único. As soluções dadas nos exemplos foram escritas de modo a facilitar o acompanhamento da solução. Isso significa que, muitas vezes, 0 pro- blema poderia ser resolvido escrevendo-se um programa pequeno, às vezes ardiloso. Os estudantes são encorajados a escrever suas próprias soluções e tentar comparar os resulta- dos finais. No final de cada capítulo há um conjunto de problemas propostos. Estão incluí- dos problemas genéricos de matemática e ciências e problemas das diferentes disciplinas da engenharia. MATEMÁTICA SIMBÓLICA O MATLAB é um sofiware para cálculos numéricos. Entretanto, as operações matemáti- cas simbólicas podem ser executadas se o Symbolic Math toolbox estiver instalado. O Symbolic Math toolbox está disponível na versão do software para o estudante e pode ser instalado no pacote padrão. HARDWARE E SOFTWARE O programa MATLAB, como a maioria dos sofiware, sofre atualizações contínuas e no- vas versões são disponibilizadas frequentemente. À versão do MATLAB seguida no livro éa 7.0, Release 14. Deve ser enfatizado, porém, que este livro trata dos fundamentos do MATLASB, os quais permanecem inalterados de uma versão para a outra. O livro aborda o MATLAB for Windows, mas quase tudo permanece o mesmo em máquinas rodando o MATLAB for Mac, Linux, Unix, etc. Por fim, pressupõe-se que o usuário já tem o MAT- LAB instalado no computador e que sabe manusear a máquina. CAPÍTULO II Iniciação ao Ambiente do MATLAB las do MATLAB. Primeiramente, discutiremos em detalhes à janela Command Window e a exploraremos até o final do capítulo. O Capítulo | mostra também co- mo usar 0 MATLAB para realizar operações aritméticas com números de um modo bas- tante parecido com as operações realizadas em uma calculadora simples (isso inclui algu- mas funções matemáticas elementares). O capítulo termina ensinando a declarar as variá- veis escalares (por meio do operador de atribuição) e a utilizá-las em cálculos numéricos. F ste capítulo descreve as principais características e propósitos das diferentes jane- 1.1 INICIALIZANDO O MATLAB: JANELAS DO MATLAB Considerando-se que o sofiware encontra-se instalado e inicializado no computador do usuário, as janclas abertas são semelhantes àquelas mostradas na Figura 1-1, A figura con- tém três pequenas janelas: Command Window, Current Directory Window e Command History Window. Esse é o modo de abertura padrão (defeult) do MATLAB. Ao todo, o MA- TLAB pode apresentar oito janelas diferentes. À lista completa das janclas do MATLAB com os respectivos propósitos está resumida na Tabela 1-1. O botão Start, no canto esquer- do inferior da tela, é uma novidade das versões mais recentes. Pode-se acessar todas as fer- ramentas e propriedades do MATLAB por esse botão. Quatro dessas janelas — Command Window, Figure, Editor e Help — serão usadas extensivamente ao longo deste livro e terão uma breve descrição nas páginas seguintes. Descrições mais detalhadas estão incluídas nos capítulos em que se faz uso específico de cada uma delas. Command Window: A principal janela do MATLAB é a Command Window. É ativada sempre que o MATLAB é inicializado. Muitas vezes é conveniente mantê-la aberta sem as demais. Isso pode ser feito fechando-se todas as outras (clique no x no canto direito 20 — MATLAB com APLICAÇÕES EM ENGENHARIA Cuurert Directong | etmatabTuvork Shortcuts [8] How to Acid [E] Vabatis New ERERÃ Command Window Current Directory wmatiab . séma Asies = Pies >| FIGURA 1-1 Desktop padrão do MATLAB. TABELA 1-1. Janelas do MATLAB Janela Propósito Command Window Janela principal, inicializa variáveis e executa programas, Figure Apresenta o(s) resultado(s) dos comandos gráficos. Editor Permite a edição e a depuração de rotinas (script files) e funções. Help Ajuda na utilização do programa Launch Pad Fornece acesso às ferramentas, demos e documentação. Command History Apresenta 0 histórico dos comandos mais recentes digitados na janela Command Window. Workspace Disponibiliza informação sobre as variáveis que estão em uso. Current Directory Exibe os arquivos presentes no diretório ou na pasta atual, superior da janela que você deseja fechar) ou, então, escolhendo a opção Desktop La- yout no menu Desktop da barra de ferramentas e no submenu a opção Command Win- dow Only. À Seção 1.2 descreve como trabalhar com a janela Command Window.