OUTRAS OBRAS FÍSICA PARA CIENTISTAS E ENGENHEIROS VOLUMES 1 A 4 e física moderna PROBABILIDADE E ESTATÍSTICA PARA ENGENHARIA E CIÊNCIAS PROGRAMAÇÃO EM MATLAB PARA ENGENHEIROS TRADUÇÃO DA 5 a EDIÇÃO NORTEAMERICANA PDF

Title OUTRAS OBRAS FÍSICA PARA CIENTISTAS E ENGENHEIROS VOLUMES 1 A 4 e física moderna PROBABILIDADE E ESTATÍSTICA PARA ENGENHARIA E CIÊNCIAS PROGRAMAÇÃO EM MATLAB PARA ENGENHEIROS TRADUÇÃO DA 5 a EDIÇÃO NORTEAMERICANA
Author Alon Modesto
Pages 635
File Size 55.1 MB
File Type PDF
Total Downloads 262
Total Views 305

Summary

Stephen J. Chapman PROGRAMAÇÃO EM MATLAB PARA ENGENHEIROS TRADUÇÃO DA 5a EDIÇÃO NORTE-AMERICANA STEPHEN J. CHAPMAN O autor apresenta, ao longo de toda a obra, uma metodologia de resolução de PROGRAMAÇÃO problemas top-down (do mais geral para o mais específico), reforçando a capa- PROGRAMAÇÃO EM MATL...


Description

Accelerat ing t he world's research.

OUTRAS OBRAS FÍSICA PARA CIENTISTAS E ENGENHEIROS VOLUMES 1 A 4 e física moderna PROBABILIDADE E ESTATÍSTICA PAR... Alon Modesto

Related papers

Download a PDF Pack of t he best relat ed papers 

Noções Básicas de Programação em MAT LAB Rodolfo Oliveira

Mét odos Numéricos para Engenheiros e Cient ist as Diego Quadros UNIVERSIDADE FEDERAL DE GOIÁS & UNIVERSIDADE CAT ÓLICA DE GOIÁS ESCOLA DE ENGENHARIA ELÉ… vit or viana

PROGRAMAÇÃO EM MATLAB PARA ENGENHEIROS TRADUÇÃO DA 5a EDIÇÃO NORTE-AMERICANA

STEPHEN J. CHAPMAN

Programação em MATLAB para Engenheiros

Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) C466p

Chapman, Stephen J. Programação em MATLAB para engenheiros / Stephen J. Chapman ; tradução: Noveritis do Brasil ; revisão técnica: Flávio Soares Corrêa da Silva. – São Paulo, SP : Cengage Learning, 2016. 632 p. : il. ; 26 cm. Inclui índice e apêndice. Tradução de: Matlab® programming for engineers (5. ed.). ISBN 978-85-221-2523-4 1. MATLAB (Programa de computador). 2. Análise numérica - Processamento de dados. I. Silva, Flávio Soares Corrêa da. II. Título. CDU 004.438 CDD 518.028553

Índice para catálogo sistemático: 1. MATLAB (Programa de computador)

004.438

(Bibliotecária responsável: Sabrina Leal Araujo – CRB 10/1507)

Programação em MATLAB para Engenheiros Tradução da 5a edição norte-americana

Stephen J. Chapman Tradução Noveritis do Brasil Revisão técnica Flávio Soares Corrêa da Silva PhD em Inteligência Artificial pela Edinburgh University, livre-docente e professor associado do Departamento de Ciência da Computação no Instituto de Matemática e Estatística da Universidade de São Paulo (IME-USP).

Austrália • Brasil • Japão • Coreia • México • Cingapura • Espanha • Reino Unido • Estados Unidos

Programação em Matlab para Engenheiros – Tradução da 5ª edição norte-americana 3ª edição brasileira Stephen J. Chapman Gerente editorial: Noelma Brocanelli Editora de desenvolvimento: Viviane Akemi Uemura Supervisora de produção gráfica: Fabiana Alencar Albuquerque Título original: MATLAB® programming for engineers – 5th edition

© 2016, 2008 Cengage Learning © 2017 Cengage Learning Edições Ltda. Todos os direitos reservados. Nenhuma parte deste livro poderá ser reproduzida, sejam quais forem os meios empregados, sem a permissão, por escrito, da Editora. Aos infratores aplicam-se as sanções previstas nos artigos 102, 104, 106 e 107 da Lei no 9.610, de 19 de fevereiro de 1998.

Revisão técnica: Flávio Soares Corrêa da Silva

Esta editora empenhou-se em contatar os responsáveis pelos direitos autorais de todas as imagens e de outros materiais utilizados neste livro. Se porventura for constatada a omissão involuntária na identificação de algum deles, dispomo-nos a efetuar, futuramente, os possíveis acertos.

Revisão: Mayra Clara Albuquerque Venâncio dos Santos e Bel Ribeiro

A Editora não se responsabiliza pelo funcionamento dos links contidos neste livro que possam estar suspensos.

(ISBN 13: 978-1-111-57672-1; ISBN 10: 1-111-57672-6) Tradução: Noveritis do Brasil

Diagramação: Cia. Editorial Indexação: Casa Editorial Maluhy Capa: BuonoDisegno Imagem da capa: Garsya/Shutterstock

Para informações sobre nossos produtos, entre em contato pelo telefone 0800 11 19 39 Para permissão de uso de material desta obra, envie seu pedido para [email protected]

Especialista em direitos autorais: Jenis Oh Editora de aquisições: Guacira Simonelli

© 2017 Cengage Learning. Todos os direitos reservados. ISBN 13: 978-85-221-2523-4 ISBN 10: 85-221-2523-6 Cengage Learning Condomínio E-Business Park Rua Werner Siemens, 111 – Prédio 11 – Torre A – Conjunto 12 Lapa de Baixo – CEP 05069-900 – São Paulo – SP Tel.: (11) 3665-9900 – Fax: (11) 3665-9901 SAC: 0800 11 19 39 Para suas soluções de curso e aprendizado, visite www.cengage.com.br

Impresso no Brasil Printed in Brazil 1 2 3 16 15 14

Este livro é dedicado, com amor, para minha filha mais nova, Devorah.

Prefácio

O MATLAB (abreviatura para MATrix LABoratory – Laboratório de Matrizes) é um programa de computador especializado otimizado para cálculos científicos e de engenharia. Inicialmente, foi projetado para cálculos com matrizes; ao longo dos anos, transformou-se em um sistema computacional flexível, capaz de resolver essencialmente qualquer problema técnico. O programa MATLAB implementa a linguagem de mesmo nome, juntamente com vasta biblioteca de funções predefinidas que tornam as tarefas de programação técnica mais fáceis e eficientes. Essa variedade extremamente ampla de funções torna muito mais fácil resolver os problemas técnicos no MATLAB do que em outras linguagens, como Fortran ou C. Este livro apresenta a linguagem MATLAB conforme é implementada na versão R2014b e mostra como usá-la para resolver problemas técnicos típicos. Esse livro ensina o MATLAB como linguagem de programação técnica que mostra aos estudantes como escrever programas claros, eficientes e documentados. Ele não tem a pretensão de ser a descrição completa de todas as centenas de funções do MATLAB. Contudo, ensina o estudante a utilizar o MATLAB como linguagem computacional e a forma de localizar qualquer função desejada com recursos de ajuda on-line extensivos do MATLAB. Os primeiros oito capítulos do texto foram projetados para servir como texto para um curso de “Introdução à Programação/Resolução de Problemas” para estudantes calouros de engenharia. Este material deve se adequar tranquilamente a um curso de nove semanas, três horas cada. Os capítulos restantes abordam tópicos avançados como Entrada/Saída, Programação Orientada a Objetos e Interfaces Gráficas do Usuário. Esses capítulos podem ser abordados em um curso mais longo ou usados como referência pelos estudantes de engenharia ou engenheiros em exercício que usam o MATLAB como parte de seus cursos ou empregos.

Novidades da 5a Edição A 5a edição deste livro é dedicada especificamente ao MATLAB R2014b. A versão 2014b é a primeira edição do MATLAB a habilitar o novo H2 Graphics System, que produz saídas da mais alta qualidade. Os componentes gráficos agora são objetos MATLAB com identificadores que retornam propriedades. Além disso, a implementação MATLAB de objetos e programação orientada a objetos amadureceu desde a última edição deste livro e merece ser abordada detalhadamente. Este livro foi ampliado para abordar classes e objetos do MATLAB que trabalham muito estreitamente com o novo sistema de gráficos do identificador.

VIII | Programação em MATLAB para Engenheiros As principais mudanças desta edição do livro incluem: ■

■ ■ ■ ■ ■

Redução do tamanho dos capítulos iniciais. As ramificações e os laços agora possuem um capítulo específico e a discussão das funções está dividida em dois capítulos. Essa mudança auxilia os estudantes a assimilarem o material em blocos de dimensão mais adequada. Um novo Capítulo 3 é totalmente dedicado aos diagramas 2D, coletando todas as informações de diagrama em um único local. O Capítulo 8 apresenta cobertura maior para diagramas 3D, e o Capítulo 13 agora apresenta uma seção dedicada às animações. O Capítulo 12 é uma discussão totalmente nova de classes MATLAB e programação orientada a objetos. O Capítulo 13 foi escrito novamente para abranger novos diagramas do identificador H2, em que os identificadores agora são objetos MATLAB em vez de números. No final do livro você encontra um encarte com figuras coloridas que facilitam seu entendimento.

Vantagens do MATLAB para Programação Técnica O MATLAB tem muitas vantagens, em comparação com linguagens computacionais convencionais, para resolver problemas técnicos. Entre elas estão: 1.

Facilidade de Uso MATLAB é uma linguagem interpretada, assim como muitas versões do Basic. Como o Basic, ele é muito fácil de usar. O programa pode ser utilizado como bloco de rascunhos para avaliar expressões digitadas na linha de comandos ou para executar grandes programas escritos previamente. Os programas podem ser facilmente escritos e modificados no ambiente integrado de desenvolvimento, e depois depurados por meio do depurador MATLAB. Como a linguagem é fácil de usar, ela é ideal para uso educativo e para o desenvolvimento rápido de protótipo de novos programas. Diversas ferramentas para desenvolvimento de programas são fornecidas, o que facilita o uso do programa. Elas incluem um editor/depurador integrado, documentação e manuais on-line, um navegador de espaço de trabalho e diversas demos.

2.

Independência de Plataforma O MATLAB tem suporte em muitos sistemas computacionais diferentes, o que proporciona grande margem de independência de plataforma. No momento da publicação deste livro, a linguagem oferece suporte para Windows 7/8, Linux e Macintosh. Os programas escritos em quaisquer plataformas serão executados em todas essas outras plataformas e os arquivos de dados escritos em qualquer plataforma podem ser lidos de maneira transparente em qualquer outra plataforma. Como resultado, os programas escritos em MATLAB podem migrar para novas plataformas quando houver mudança nas necessidades do usuário e podem ser facilmente compartilhados.

3.

Funções Predefinidas O MATLAB vem completo, com uma grande biblioteca de funções predefinidas que apresentam soluções testadas e pré-embaladas para muitas tarefas técnicas básicas. Por exemplo, suponha que você esteja escrevendo um programa para calcular as estatísticas relacionadas a um conjunto de dados de entrada. Na maioria das linguagens, seria necessário escrever suas próprias sub-rotinas ou funções para implementar os cálculos como média aritmética, desvio padrão, mediana etc. Esta e centenas de outras funções fazem parte da linguagem MATLAB, facilitando muito o seu trabalho. Além da grande biblioteca de funções integrada na linguagem MATLAB básica, existem muitas ferramentas especiais disponíveis para ajudar a resolver problemas complexos em áreas específicas. Por exemplo, você pode adquirir ferramentas-padrão para resolver problemas de Processamento de Sinais, Sistemas de Controle, Comunicações, Processamento de Imagens e Redes Neurais, além de outros.

Prefácio | IX

4.

Diagramações Independentes de Dispositivos Diferente de outras linguagens computacionais, o MATLAB possui vários comandos de imagem e de diagramação integral. Os diagramas e as imagens podem ser exibidos em qualquer dispositivo de saída gráfica compatível com o computador em que o MATLAB esteja sendo executado. Este recurso torna o MATLAB uma ferramenta excepcional para visualização de dados técnicos.

5.

Interface Gráfica de Usuário O MATLAB contém ferramentas que permitem aos programadores construir interativamente uma interface gráfica de usuário (GUI, do inglês Graphical User Interface) para seus programas. Com este recurso, os programadores são capazes de projetar programas sofisticados de análise de dados, os quais podem ser operados por usuários relativamente inexperientes.

Características deste Livro Muitas características deste livro foram projetadas para enfatizar a maneira adequada de escrever programas confiáveis no MATLAB. Essas características devem atender bem ao estudante quando estiver aprendendo o MATLAB pela primeira vez, mas também deve ser útil para o profissional no trabalho. Entre elas temos: 1.

Ênfase na Metodologia de Projeto Top-Down O livro apresenta uma metodologia de projeto top-down no Capítulo 4 e então a utiliza consistentemente em seu decorrer. Essa metodologia encoraja o estudante a pensar a respeito do projeto apropriado de um programa antes de iniciar a codificação. O livro enfatiza a importância de definir claramente o problema a ser resolvido e os dados de entrada e de saída requeridos antes de iniciar qualquer outra atividade. Uma vez definido apropriadamente o problema, o livro ensina os estudantes a aplicarem o refinamento passo a passo para subdividir a tarefa em subtarefas sucessivamente menores e implementarem as subtarefas como sub-rotinas ou funções separadas. Finalmente, os estudantes aprendem a importância de efetuar testes em todos os estágios do processo, tanto unitários das rotinas componentes como testes exaustivos do produto final. O processo formal do projeto ensinado no livro pode ser resumido da seguinte maneira: 1. 2. 3.

4. 5.

Estabeleça claramente o problema que você está tentando resolver. Defina os dados de entrada requeridos pelo programa e os dados de saída produzidos por ele. Descreva o algoritmo que você pretende implementar no programa. Esse passo requer um projeto top-down e a decomposição passo a passo, fazendo uso de seu pseudocódigo ou de fluxogramas. Transforme o algoritmo em expressões do MATLAB. Teste o programa MATLAB. Nesse passo estão incluídos os testes unitários de funções específicas e o teste exaustivo do programa final, com diferentes conjuntos de dados.

2.

Ênfase em Funções O livro enfatiza o uso de funções para a decomposição lógica de tarefas em subtarefas menores. Ele ensina as vantagens das funções para ocultar dados. Enfatiza também a importância dos testes unitários das funções antes de combiná-las no programa final. O livro mostra ainda os erros mais comuns em funções e como evitá-los.

3.

Ênfase em Ferramentas MATLAB O livro ensina o uso apropriado das ferramentas integradas do MATLAB para facilitar a programação e depuração de programas. As ferramentas tratadas são o Editor/Depurador, o Navegador do Espaço de Trabalho, o Navegador de Ajuda e as ferramentas de projeto da GUI.

X | Programação em MATLAB para Engenheiros 4.

Notas de Boa Prática de Programação Essas notas enfatizam as boas práticas de programação à medida que são apresentadas, para a conveniência do estudante. Além disso, as boas práticas de programação apresentadas em um capítulo são resumidas em seu final. Apresentamos a seguir um exemplo de Boa Prática de Programação.

Boa Prática de Programação Sempre distancie as margens do corpo de uma construção if com 2 ou mais espaços para melhorar a legibilidade do código.

5.

Notas de Erros de Programação Essas notas enfatizam erros comuns para que possam ser evitados. Apresentamos a seguir uma nota de erros de programação.

Erros de Programação Verifique se os nomes de variáveis são exclusivos nos primeiros 31 caracteres. Caso contrário, o MATLAB não conseguirá diferenciá-los.

6.

Ênfase em Estruturas de Dados O Capítulo 10 contém uma discussão detalhada de estruturas de dados MATLAB, incluindo matrizes escassas, matrizes celulares e matrizes de estrutura. O uso apropriado dessas estruturas de dados é ilustrado nos capítulos sobre Gráficos do Identificador e Interfaces Gráficas de Usuário.

7.

Ênfase no MATLAB Orientado a Objetos O Capítulo 12 inclui uma introdução para a programação orientada a objetos (OOP) e descreve a implementação MATLAB de OOP detalhadamente.

Características Pedagógicas Os oito primeiros capítulos deste livro foram projetados especificamente para serem usados no curso de “Introdução à Programação/Resolução de Problemas” para iniciantes. É possível abordar este material facilmente em um curso de nove semanas, com três horas semanais. Se o tempo for insuficiente para abordar todo o material de determinado programa de engenharia, o Capítulo 8 pode ser apagado, uma vez que o material restante ainda ensina os fundamentos de programação e uso do MATLAB para resolver os problemas. Essa característica deve atrair os professores de engenharia descontentes que tentam acumular cada vez mais material em um currículo finito. Os capítulos seguintes tratam do material avançado que será útil para estudantes e engenheiros ao longo de suas carreiras. Esse material inclui recursos avançados de Entrada/Saída, programação orientada a objetos e o projeto de Interfaces Gráficas de Usuários para os programas. O livro possui diversas características projetadas para dar suporte à compreensão do estudante. Um total de 17 testes, distribuídos ao longo dos capítulos, com respostas a todas as perguntas incluídas no Apêndice B. Esses testes podem servir como um autoteste útil de compreensão. Além disso, existem aproximadamente 180 exercícios de final de capítulo. As boas práticas de programação são destacadas

Prefácio | XI

em todos os capítulos nas notas especiais de Boa Prática de Programação e os erros comuns são destacados nas notas de Erros de Programação. Os materiais do fim do capítulo incluem resumos das Boas Práticas de Programação e Resumos do MATLAB, com resumo de comandos e funções.

Observação Final para o Usuário Apesar das tentativas de revisar um documento como este livro, é inevitável que alguns erros tipográficos apareçam na impressão. Se você detectar algum erro desse tipo, envie uma observação por meio do editor e farei o máximo para que seja eliminado das impressões e edições subsequentes. Agradeço a sua ajuda a este respeito.

Agradecimentos Gostaria de agradecer a todos os meus amigos na Cengage Learning pelo apoio que me deram para colocar este livro no mercado. Gostaria de agradecer aos revisores que ofereceram suas sugestões úteis para esta edição: David Eromon Arlene Guest Mary M. Hofle Mark Hutchenreuther Mani Mina

Georgia Southern University Naval Postgraduate School Idaho State University California Polytechnic State University Iowa State Univesity

Além disso, gostaria de agradecer a minha esposa, Rosa, e a nossos filhos, Avi, David, Rachel, Aaron, Sarah, Naomi, Shira e Devorah pela ajuda e encorajamento. Stephen J. Chapman Melbourne, Austrália

Sumário

Capítulo 1

Introdução ao MATLAB 1 1.1 1.2 1.3 1.4 1.5 1.6

Capítulo 2

MATLAB Básico 23 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15

Capítulo 3

Vantagens do MATLAB 2 Desvantagens do MATLAB 3 O Ambiente MATLAB 3 Utilizando o MATLAB como Calculadora 18 Resumo 20 Exercícios 21

Variáveis e Matrizes 23 Criando e Inicializando Variáveis no MATLAB 26 Matrizes Multidimensionais 32 Submatrizes 35 Valores Especiais 37 Exibindo Dados de Saída 39 Arquivos de Dados 42 Operações com Escalares e Matrizes 44 Hierarquia de Operações 48 Funções MATLAB Integradas 50 Introdução a Diagramas 52 Exemplos 60 Depurando Programas MATLAB 66 Resumo 68 Exercícios 71

Diagramas Bidimensionais 79 3.1 3.2 3.3 3.4

Características Adicionais de Diagramação para Diagramas Bidirecionais 79 Diagramas Polares 96 Anotando e Gravando Diagramas 98 Tipos Adicionais de Diagramas Bidimensionais 101

XIV | Programação em MATLAB para Engenheiros 3.5 3.6 3.7

Capítulo 4

Expressões de Ramificação e Projeto de Programa 113 4.1 4.2 4.3 4.4 4.5 4.6 4.7

Capítulo 5

O Laço while 155 O Laço for 160 Matrizes Lógicas e Vetorização 174 O Gerenciador de Perfil MATLAB 177 Exemplos Adicionais 179 A Função textread 192 Resumo 193 Exercícios 194

Funções Básicas Definidas pelo Usuário 203 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9

Capítulo 7

Introdução a Técnicas de Projeto Top-Down 113 Uso de Pseudocódigo 116 Tipo de Dado Lógico 117 Ramificações 125 Notas Adicionais a Respeito da Depuração de Programas MATLAB 143 Resumo 148 Exercícios 150

Laços e Vetorização 155 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8

Capítulo 6

Utilizando a Função plot com Matrizes Bidimensionais 106 Resumo 108 Exercícios 110

Introdução às Funções MATLAB 204 Passagem de Variável no MATLAB: Esquema de Passagem por Valor 208 Argumentos Opcionais 218 Compartilhando Dados Usando a Memória Global 222 Preservando Da...


Similar Free PDFs