Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

métodos numéricos para engenheiros e cientistas, Notas de estudo de Engenharia Mecânica

Métodos Numéricos para Engenheiros e Cientistas

Tipologia: Notas de estudo

2014

Compartilhado em 12/06/2014

mateus-machado-2
mateus-machado-2 🇧🇷

4.2

(5)

1 documento

1 / 241

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe métodos numéricos para engenheiros e cientistas e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Métodos! Numéricos para Engenheiros e Cientistas Uma introdução tom aplicações usando o MATLAB com plicações úsando o MATLAB — AMOSGIAT VISH SUBRAMANIAM Em um texto lúcido, cuidadosamente estruturado e flexivelmente projetado: para atender “a uma “ampla gama de necessidades acadêmicas e práticas, Métodos Numéricos para Engenheiros e Cientistas: Uma Introdução com Aplicações Usando o MATLAB ajuda você conciso como nenhum outro, este livro integro o estudo dos métodos e programação. usando o popular ambiente MATEMÁTICA/ ESTATÍSTICA Anton, Bivens & Davis Cálculo; 8.ed: Anton & Busby Álgebra Linear Contemporânea Anton & Rorres Álgebra Linear com Aplicações, 8.ed: Ayres Jr, & Mendelson Cólculo, 4.ed: Coleção Schaum Bronson & Costa Equações Diferene Coleção Schaum Freund, ). Estatística Aplicada, 1ied. Goldstein, Lay & Schneider Matemática Aplicada, 10.ed. Kazmier, L. J. ; Estatística: aplicada é administração e economia; 4.ed. Coleção Schaum Lipschutz & Lipson Álgebra Linear, 3:ed. Coleção Schaum. Lipschutz & Lipson Matemática Discreta, 2.ed: Coleção Schaum Mendelson, E. introdução do Cólculo, 2.ed: Métodos Numéricos para Engenheiros e Cientistas Prefácio Este livro-têxta é recomendado para um cursa inicial sobre mútodos numéricos dedicado a estudantes de engenharia e outras disciplinas da área de ciências exa- tas. O fivra engloba os fundamentos dos métodos numéricos«de um ponto de-vista aplicada. Ele explica as idéias búsicas de vários métodos e mostra a-sua utilização na sotução de problemas há engenharia v nas ciências exatas em geral. No passado, cursos sobre métodos numéricos eram essencialmente mate- rnáticos, enfatizando a análise numérica e a tesria. Mais recentemente, graças à disponibilidade de computadores pessemis e de programas fão paderosós quanto atessíveis, o conteúdo e à natureza de um curso inicial sobre métodos numéricos voltado para estudantes de engentiaria e ciência têm madado, A ênfase está cada voz mais nu aplicação e na implementação de métodos mymeéricas em ferramentas de fácil ntilização. Em um curso típico, os estudantes aprender os fundamentos dos métodos myméricos, a programação de. computaderes (ou melhorarão suas habilidades de programação se já souberem programar) e usarão programas avan- gados comq unia ferramenta de solução de problemas. O MATLAB é um bom exemplo de um desses programas. Els pude ser usado por estudantes para escre- ver os seus próprios programas e também como uma ferramenta para resolver problemas a partir do uso de suas fimções residentes. Um dos objetivos de um eurso sobre métodos numéricos é preparac estudantes de ciência e engenharia pura cursos futuras em suas árcas de especialização (e suas fúturas carreiras), nos quais eles terão que utilizar computadores para resolver problemas Principais objelivos do livro Ensinar 9s:fundameiitos dos mátados numéricos, com ênfase nos trio mai, ; essenciais. o, ) Farmecer aos estudantes à qporasnadEdE elis sLhas nebdidagasde p progra i ja usando o ambiente MATLAB para dona algoritmos. inar o emprego da MATIAS como uma ferrarheta (usando áyas Funções esíeien í = tes) para resolver problemas de ciéritia e engenharia, e para verificar as resultâdos de outras ptógratmas que os estudantes possam escrever. vii Prefácio Caracteristicas/pedagogia do livro Este livro foi escrito em uma linguagem sixúples, clara e direta. Fregúente- mente são usados itens e seqliôncias de passos em vez de texto para listar fatos e detalhes referentes a um assunto específico. Muitas ilustrações são usadas para explicar os princípios des métodus nu- méricos. Muitos exemplos e problemas de fina] de capítulo envolvem problemas reais ná ciência e na citgenharia. o MATLAR está integrado ao longo do texta e nos exemplos. Ups fundo cor de laranja syave é usado quando a sintaxe do MATLAB E exibida. Comentários explicando os comandos são colocados ao ladó da sintaxe E s 5 s lo MÁATLAB. * Funções residentes do MATLAB, assuciadas aos métodos numéricos discnti- dos, são apresentadas em detalhe. * Os problemas de final de capítulo são divididos em três grupos: ta) Problemas de solução manual: Problemas relacionados à melhoria do em tendimento dos métodos nuinéricos. Nesses problemas, pede-se que os es- tudantes Tespôndam a questões relacionadas aos fundamentos dos métodos numéricos e que realizem alguns passos desses métodos manualmente. (6) Problemas de programação do MATI AB: Problemas claborados pará tome- cer ao estudante a possibilidade de melhorar suas habilidades de progtama- são. Nesses problemas, peile-se-que scja usado o MATLAB para escrever pro- gramas de computador implementando vários métodos numéricos tprogramas e Tunções em arquivo). (c) Problemas na matemática, na ciência é na engenharia: Problemas na ciên- cia e na engenharia que devem ser resolvidos com o uso de métodos numé- ritos. O objetivo é treinar os estudantes no uso de inétodos numéricos para resolver problemas que eles verão em cursos futuros ou nã prática. Espera-se que os estudantes usem os programas apresentados no livra, programas que eles escreveram e funções residentes do MATLAB, Organização do tivro Capítulo 1: Fornece uma introdução geral sobre os métodos numéricos e sobre a maneira pela qual computadores armazenam números e realizam operações ma- méricas. Inclui timbém uma seção de erros era soluções numéricas c uma seção dedicada aos computadores e à prograniação. Capítulo 2; o segundo capílulo apresenta uma revisão dos conceitos matemáticos fundamentais usados nos capínilos seguintes, gue cobrem os métodos numéricos. Ele deve ser usado como um lembrete dos conceitos com os quais os estudan- tes devem estar familiarizados após os seus cursos de Primeiro e segundo ano em matemática. Como muitos desses tópicos estão associados a vários métodos > E Freio tm huméticos, sentimos que é preferível ter os furidamentos matemáticos reunidos em um único capítulo a tê-los dispersos ao longo do livro. Muites dos tópicos tratados no Capítulo 2 e que são essenciais para a explicação de um deteriminado método numérico são repetidos em outros capítulos, no perito onde esse deter- minado método é apresentado, Muitos professores provavelmente não abordarão todo o conteúdo do Capítulo 2 em classe, mas mencionarão um tópico É pedirão aos estudlantes que o consiiltem quando necessário. Capítulas 3 a 9: Esses sete capítulos apresentam vários métodos numéricos na or- dem comumente seguida em um curso sobre métodos numéricos. Esses capítulos adotam 9 formato explicado a seguir. Organização de um capítulo típico Uma lista dos tópicos tratados bo capítulo é mostrada após o título do capítulo. A fistá está dividida entre tópicos centrais e complementares. Os tópicos centrais são aqueles mais essenciais ao assunto do tapítulo. Os tópicos complementares ingluem temas mais avançades. Obviamente, essa divisão é subjetiva. À intenção é ajutar os professores no planejamento de seu cúrso quando não houver témpo para falar de todos os tópicos. Na prática, se todos os tópicos forem cobertos, a divisão pode ser ignorada. & primeira seção do capítulo fornece uma visão geral com exemplos ilustra- tivos de problemas na ciência e na engenharia em que os métodos descritos no capítulo podem ser utilizados. Esta seção também explica as idéias básicas con- tidas na classe específica de métodos deseritos no capítio. As seções seguintes falam dos tópicos centrais do capítulo. Em seguida, uma seção especial discute as funções do MATLAB que implementam os instodos nuinéricos deseritos no capí- tulo é come tles podem ser usados para resolver problemas. As últimas seções do capítulo tratam dos tópicos complementares, Ordem dos tópicos É pínticamente impossível escrever um liyro-texto em que a ordem dos tópicos satisfaça a todos os professores. Neste livro, os assuntos principais são apresen- tados em uma ordem que é típica de um curso inicial sobre métodos numéricos. O Capítulo 3 trata da solução de equações não lineares, Ele lida principalmente coma solução de apenas umia cquação, o que é uma aplicação simples de métodos núltéricos, Este capítulo também inclui, como um tópico complementar, uma seção sobre solução de sistemas de equações não-lineares. O Capítulo-4 aborda a solução de sistemas de equações lineares. Um tópico complementar presente nesse capílulo trata do problema dos autovalores. O Capítulo 5 é sobre.ajuste de curvas e da interpolação, e os Capítulos 6 e 7 tratam da diferenciação e da integra- ção, respectivamente. Finalmente, a solução de equações diferenciais ordinárias (EDOs) é apresentada nos dois capítulos finais. O Capítulo 8 trata da solução de problemas de valor inicial (de primeira oriem, sistemas e de ordem superior) c o Capítulo 9 analisa problemas de valor de contorno. mm a Capítulo 1 Capítulo 2 Capítulo 3 Capítulo 4 Capítulo 5 Capituio 6 Capítulo 7 " Capítulo 8 Capítulo 9 Apêndice A Apêndice B Índice Sumário resumido Introdução a Fundamentos matemáticos Al Resolvendo equações nio-linegres— 73 Resvlvendo um sistema de equações lineares 13 Ajuste de curvas e interpolação 199 Diferenciação numérica 253 Integração numérica 287 Equações diferenciais ordinárias: problemas de valor inicial 327 Equações diferenciais ordinárias: problemas de valor de contorno. 407 Introdução «o MATLAB 441 Programas de MATLAB a 475 Sumário Capítulo 1 tz 12 13 Lá 15 Capítulo 2 21 22 23 24 25 26 2 28 Introdução a Fundamentos Mm Representação de números em um compufador 2 Erros em sohuções numéricas 28 1.3.4 Erros de arredondamento 30 1.3.2 Erros de sruncamento 33 1.3.3 Erro total sa Computadores = programação 34 Problemas x Fundamentos matemáticos 41 Fundamentos al Conceitos de cálculo e pré-áleulo 42 Vetoros 46 23.1 Operações comvetores 8 Matrizes é áigébra linear 50 24.4 Operações commasizes 51 24.2 Matrizes especiais 53 24.3 Inversa de wma mairiz 53 244 Propriedades de marcos 54 243 Determinonte de ama matriz 55 246 A regra de Cramere a solução de sistemas de equações linenres simultâneas 56 247 Nomas 56 Equações diferenciais ordinárias (EDO) 58 Funções de dias au inais variáveis independentes a 2.6.1 Definição da derivada parcial 62 2.6.2 Regras dacadeia 6% 263 Olucobiano 64 Expansão de funções em série de Taylor 64 2.74 Sério de Taylor para uma função de uma variável 65 2A2 Série de Taylor para funções de duas varióveis 65 Problemas 67 5.8 Ajuste de curvas usando urna combinação linear de funções não. À 7.11 Integrais impróprias 3t7 lineares 242 7.1.1 Integrais com singularidades 37 5.9 Problemas 245 711.2 Integrais com limites infinitos a” « É 7.12 Problemas 318 Capítulo6 Diferenciação numérica 253 61 Fundamentos 253 : Capítulos Equações diferenciais ordinárias: problemas de valor 6.2 Aproximação da derivada por diferenças finitas 255 É duicial 327 6.3 Fórmulas de diferenças finitas usando a expansão em série de À 8.1 Fundamentos 327 Taylor 260 | 82 Métodos de Euler 332 ê GL Ebrmulas do diferenças fitas para derivada primeiro 260 | 82.1 Método explícito de Euler 332 63.2 Kórmulas de diferenças finitas para a derivada Segunda 264 | 82.2 Andlise do exro de truncamento no métado explícito de | Euler 336 64 Resumo de Fórmulas de difereriças finitas para a diferenciação É numérica 267 82.3 Método implícito de Euler 340 6.5 Fórmulas de diferenciação nsando polinômios de. , 8.3 Método de Euler modificado 343 Lagrange 269 É 8.4 Método do ponto central 346 6.6 Diferenciação usando o ajuste dé curvas 270 | 8.5 Métodos de Runge-Kntta 347 6.7 Uso de funções residentes do MATLAB para realizar a 855 Métodos de Range-Kinia de segunda ordem 348 diferençiação numérica 270 852 Métodos de Runge-Kutia de terceira ordem 352 6.8 Extrapolação de Richardson 272 &53 Métodos de Runge-Ruita de quarta ordem 353 6.9 Erros na diferenciação numérica Za 8.6 Métodos multipasso 359 6.10 Diferenviação parcial numérica 215 $6.1 Método de Adams-Bashforih 360 6.11 Problemas 2 862 Método de Adams-Moutton 361 « 8.7 Métodos preditor-corretor 362 8.8 Sistemas de equações diferenciais ordinárias de primeira ordem 364 881 Solução de sistemas de EDOs de primeira ordem uxánido o método explícito de Euler 366 88.2 Solução de sistemas de EDOs de primeira ordem usando o método de Runge-Kutia de segunda ordem (versão método de Euler Capítulo? Integração numérica 287 71 Fundamentos 287 7.1 Visão geral sobre as abordagens usadas ne integração muúmérico 288 “7.2, Métodos do retângulo « do ponto central 290 73 Método trapezoidal 292 modificado) 346 73.4 Método trapezoitol composto 293 x 4 883 Solução de sistemas de EDOs de primeira ordem usando o método 7A Métodos de Simp: É io é Sirnpiia e 4 de Runge-Kutia de quarta ordem clássico 38 74.) Método de Simpson 3 296 É . - . ; 8,9 Solução de problemas de valor inicial de ordem mais 742 Método de Simpson 3/8 289 devia A 75 Quadratnrade Games 301 7.6 Avaliação de integrais múltiplas 306 7.7 Tso de funções residentes do MATLAB para a integração 387 8.10 Uso de fimções residentes do MATLAB para resolver problentas devalorinicial 379 8.30.! Solução de uma única EDO de primeira ordem usando o : 7.8 Estimação de erro na integração numérica 309 MATIAB 380 s 7.9 Exirapolação de Richardson 311 - ] - R.10.2 Solução de sistemas de EDOs de primeira ordem usando MATLAR 386 7.10 Integração de Romberg 313 20 Sumário 812 813 BI14 815 Capítulo 9 21 92 as 94 As 92.6 Apêndice A AI AZ A3 AA AS ss AI AB AS Apêndice B Índice Erro de trincamento local no método de Kunge-Kutta do segunda ordem 388 Largura do passo de inlegração-para se obter a precisão desejada 396 Estabilidade 383 Equações diferenciais ordinárias rígidas 396 Problemas 388 Equações diferenciais ordinárias: problemas de valor de contorno 407 Findamentos 407 O método de tiro 410 O método das diferenças finitas 418 Uso de funções residentes do MATLAB paia resolver problemas de valor de contorno 428 Erro e estahilidade na solução numérica de problemas de valor de contorno 433 Problemas 43 Entrodução ao MATIAB 44 Fundamentos 44 Começando como MATLAB d4t Arranjos 446 Operações matemáticas com arranjos as Arquivos de programa 455 Arquivos de função 458 Programação no MATLAB 460 AI Operadores lógicos erelacionais 460 A.72 Declarações condicionais, estruturas ifrelse-end 462 AI Loçosderepetição 464 Tragaila de gráficos 465 Problemas 467 Programas de MATLAB am 475 Capítulo 1 Introdução tos em soluções numéricas, erros ig â É atredondamento eerros de talncarmento. tu) 1.1 FUNDAMENTOS Métodos numéricos são lécricas matemáticas usadas na solução de prohlemas matemáticos que não pedem ser resolvidos vu que: são difíceis de se resolver ana- titicamente. Uma solução analítica é uma resposta exata na forma de uma expres- são matemática escrita em termos das variáveis associadas ao problema que está . senda resolvido. Uma solução numérica é um valor numérico aproxithado para a solução (ou seja, um número). Embora soluções numéricas sejam uma aproxima- ção, elas podem ser muito precisas. Em imitos métodos numéricos, os cálenlos são executados de riraneira iterativa até que a precisão desejada seja obtida. Por exemplo, a Fig. 1-1 mostra um bloco com massa 1m senda puxado por uma força F aplicada em .um ângulo 8. Us- tizando as equações de equilíbrio, a relação entre a força e 6 ângalo é dada por: = — mg P = ir psad SB onde | é o cosficiente de atrito é g é a aceleração da gra- vidade, Para um dado valor de E, o ângulo necessário para mover o bloco pode sex determinado com a solnção da Eg, E (1.1) em função de 8. A Eq. (1,1), no entanto, não pode ser resolvida analiticamente para 8. Usando métodos numéricos, uia solução apro- ximada pode ser determinada com à grau de precisão especificado. Isso signáfi- ca que, quando a solução numérica para 8 é substituída de volta na Eg. (1.1), o valor de F obtido a partir da expressão no lado direito da equação não é exata- mente igual ao valor de F, embora possa ser bastunte próxima. Técnicas numéricas para resolver problemas matemáticos foram desenvolvi- das e utilizadas centenas e mesmo milhares de anos atrás. A implementação des- sas técnicas era difícil, já que os cálculos tinhsm que ser realizados manualmente —— QU com o emprego de dispositivos meçânicos simples, Isso limitava o gúmerode Figura 1-1 Movimento de um bloco em uma supertície com atrito. titulos que podiam ser realizados, além de reduzir a sua velocidade e a sira pre- cisão. Hoje em dia, métodos numéricos são utilizados em rápidos computadores apito? Inirutudio É “As condições iniciais js dão obtidas como conhecimento dé que, quibis o movimento do pêndulo de sei inicia 850), 6 bbhánio tom mgndo 8 é possui velocidade mula (se solto à partir do sepenis - E A 2 E : Ê Mojs Bo e jd E . as Método de solução : - a E es UR A Equação (1.4) é uma equiação não-linear e-não pode'sér eso anafiticamente. sitio, Ê Tetra (2), o desiocamiento inicial do pêndulo é 8, = 5º. Logo; asim que é solto, o seu ângulo nãoul=| JE trapassa 5 “durante o processo oscilatório. Nosse caso, a Eq. (1.4) pode ser Hncarizada assumindo-s ais Bd: Com essa aproximação, à equação a a resolvida € Bncar 8 possui sonia analítio : APAE PRE que de pitas ae E as cotidições iniciais ita na Eq, (1.5). E Na letra (b), 6 deslocaimemto'iúicial do pêndulo é 8, = 90º É a equação. véi ser sesolóa ni ricamente, Vini vérdádeira solução para essE problem Emostrada no Exemplo 8:8. e e + 1.2 REPRESENTAÇÃO DE NÚMEROS EM UM COMPUTADOR Representação decimal e binária Números podem scr representados de várias formas. O familiar sistema deci- mal (base 10) usa dez algurismos:D, 1...., 9. Um número é escrito como uma seglência de algatismos que correspondem a múltiplos de potências de 10. Coma mostrado na Fig. 1-2, o primeiro algarismo à esquerda da vírgula de- cimial corresponde a 1º. O algarismo à esquerda deste corresponde à 16,0 algarismo à esquerda deste, à 10, e assim por diante. Da mesma. forma, o pi meiro algarismo à& gineita da vírgula decimal enstesponde a ioi,a algarismo à direita deste, a 10”, e assim por diante. Em geral, no entanto, um núniero pode ser representado utilizando-se ou- tras bases. Uma forma que pode ser facilmente implementada em computado- res é o sistema hinário (base 23, No sistema binário, um número é representado pelos algarismos O e 1, Portanto, um número é escrito como uma sequência de zeros e uns que corresposda à multiplicação de potências de 2. O primei- & ro algavisnio à esquerda da vírgula decimal corresponde a 2º. O algarismo à 3 A wi3 E £ esquerda deste corresponde. + 2º, o algarismo à sua esquerda. corresponde a 2º, e assim por diante. Da mesma fórmiá, O pri- meiro algarismo à direita da vírgula decimal corresponde a 2", u próximo algarismo À direita a 2”, e assim por diante. Os primeiros dez algarismos (É, 2, 3,., 10 na base 10) ca sua representação na base 2 são mostrados na Fig. 1-3. À repre- sentação'do número 19,625 no sistema binário é mostrada na Fig, 1-4, Quire exemplo é mostrado na Fig. 1-3, onde se escreve o número 60,724,3125 na forma binária. Computadores armazenam e processam números na for- ma binária (base 2). Cada algarismo binário (am ou zero) é chamado do bit (termo-que vem de binary digi?). A aritmética binária é usada por compntadores porque transistores moder- Figora 1-3 Representação nos podem ser usados como chaves extremamente rápidas. de números nas formas deci- mal c binária. Portanto, uma rede com tais transistores pode ser usada para representar cadeias de números, com o “1” se referindo à cha- ve na posição “ligada”, e o “O” se referindo à posição “des- ligada”. Várias operações são então realizadas com base nessas sequências de uns e zeros. 28 dE 2 fog a z k ! i + b vo : Etica nto a Fi Rd SRA O 110 1.60 4.114 6 410 040 1 01 26 Métodos Numévicos para Engenheiros e Cientistas Representação em ponte fluiuante Para acomodar números grandes e pequenos, números reais são escritos na repre- sentação em ponto flutuante*. A representação decimal em ponto flutuante (tam. bém chamada de notação científica) tem a forma: dA dddddd x 10” Nessa Teptesentação, um algarismo é escrito à esquerda da vírgula decimal, eo resto dos algarismos significativos é aserito à dircita da vísgula. O número fladdda E chamado de mamissa. Seguem dois exemplos: 651923 éestrito como 6,5192310" 9,0000039] Gescritacomo 3,9X10* À potência de 10), p, representa a ordem de grandeza do número, desde que o número quê a precede seja menor que 3, Do contrário, diz-se que o número tem ordem p+ 1. Logo, o número 3,91 x 18 “€ da ordem de 10 *, O(LO 9, e o número 6,91923 x 10º é da ordem de 10 (escrita como O(10'. A reptesentação binária em ponto flutuante tem a forma: 1,5bbbbb e 222? ch é um algarismo decimal) [69] Nessa fotma, à mantissa é 0,bbbbb, e a potência de 2 6 chamada de expoente Tanto a mantissa quanto o expoente são eseritos na fórma binária. A forma na Eq. (1.8) é obtidá com a normalização do número (quando escrito na forma decimal) em relação à maivr potência de 2 menor que 6 próprio número. Por exemplo, para escre- vero número 50 na representação binária gm ponto finimante, o número é dividido (e multiplicado) por 2 = 32 (que é a maior potência de 2 menor que SO): s0 = E x = 1,5628x 2º, que na forma binária é 1,100] x 2º Mais dois exemplos são: LEA Tê 1344 = 428 = 1,3425 2!º que na forima binária é 1 D191 x 2 03135 = asa x%? = 125%? quena forma binária é 1,01 x 2º Avrmazenando um número na memória do computador Uma vez colótado na representação binária em ponto fintuante, o número é ar- mazenado no computador. O computador armazena os valores do expoente e da mautissa separadamente, não sendo armazenado o primeiro 1 à frente da vírgula » N, de T; É necegsário chamar à atenção, reste momento, pacas eso do termo pemto:fiutuante. A tradação mais ada quida pata fonring pot talvez forse virgula flutuante. Isto-perque, nó. Brasil à virgula é utilizada como separador decimal. A manutenção da uso do, termo ponto flutuante neste lexto segab u tendência verificada na literatura espe- Ciadizada po Dessil. Também vale a pena destacar que-víxios exemplos E problemas utilizado « programa MATLAS são apresentados ao longe da iexto. O Ieidor dove estar alento do fato tl; que tal programa utiliza o padrão da Engua diglesa qua representar ndmerts. Cem issó, sempre que fescra descrilos programas, entradas ;lé das é resultados de simulação relacionados ao MATI AB, os númiros que porventura apsrecerem serão escritos sendo o ponto vário separadas decinial, e não a vigala. 4% ia Explosion 3% decimal. Conforme já mencionado, um bit é um algarismo binário. A memória do computador é organizada em byyes, onde cada byte corresponie a 8 bits. De acordo com a norma IEEE'-754, computadores armazenam números e realizam cálenios em precisão simples” ou em precisão dupla”. Na precisão simples, os hú- meros são armazenados em uma cadeia de 32 bits (4 bytes), e, na precisão dupla, em uma cadeia de 64 bits (8 bytes). Em ambos os casos, O primeiro bit armazena o sinal do número (O corresponde a + e 1 corresponde a >. Os próximos 8 bits na precisão simples (11 na precisão dupla) são usados para armazenar o expoente. Os: 23 bits seguintes na precisão simples (52 bits na precisão dupla) são usados para armazenar a mantissa). Isso ilustrado para a precisão dupta na Fig. 1-6. 29 98 38 Eae; rare: 14//t/ JLALALALAI A a TAILAI A, roliol cc pol “a /8 DER fojo|o| ki 4 Expoente + polarização Mantissa ti bis Sé bits Figura 1.6 Armazenindo eim precisão dupla um súmero escrito na tepresentação binária com ponto Antuante. 1 2 O valor da mantissa é fornecido na faria binária. Ao valor do expoente é acrescida umá polarização (bis). A polarização corresponde à adição de uma constante ap valor do expoente. A polarização é introduzida para se evitar 9 uso de um dos bits para representar o sinal do expoente (já gue v expoente pode ser positivo cu negativo). Na notação binária, o maior número que pade ser escrito com 11 bits «2047 (quando todos os | dígitos são iguais a 1). polarização nti- lizada é 1023, Isso-significa que, se, por exemplo, o expoente for 4, então 0 valor arimazenado é 4 + 1023 = 1027. Logo, o menar expoente que pode ser armazena- do pelo computador é -J023 (que é armazenado como-0), e o maior é 1024 (que é armazenado como 2047). Na precisão simples, 8 bits são alocádos para o valor do expoente, & a poltrização é 127. A sigla IEEE epresento bastitute af Electrical ond Electronies Engineers (Uatittita de Engenheiros Elesricistas é Eletéônicos). O tého precisão se refere so númera dé algadsmos significativos de um. aimera sçal. que podem ser armhirenados entum computador, Por exemplo, D aúmero LS = 05333335... só podessor representado no cormputador em mma forma “ortida ou arredondada utilizando um número finito de algarismos binários, pois a euamtidandecde meunária disponivel pára aemacenar esses bits 4 fita Cuinto mais algarismos armazenados no Tado diceito de vicgula decimal, mais Preciso a sopresentação cum número real mo Corisputádor. » Bão homo domelo cogavadur 4, peseisão de um nÚmeço exerito eus precisão dupla vão é realmente-o dobra daquela de R Um militro escrito pr precisão simples. Ao iuvés-disso, “Supla”, o termó preciíão dupla, ieftse-se aa fato de duas Vezes fais bits serum assados (64-vertues 32) pára Fepresentisr vm núrmiro real nesto-Caso do que na seprotentação pra Precisão simples. Ml Métodos Numáricos para Engenheiros e Cientistas 1.3.1 Erros de arredondamento Os múmeros são representados em um computador através de um número finito de bits (veja Seção 1,2), Consegiientemente, números réais gue têm uma mantis- sa mais longa do que o número de bits disponíveis para representá-los têm que. ser encurtados. Esse requisito se aplica aos números irracionais, qué devem ser ancurtados em qualquer sistema, aos números finitos que são muito longos e aos números finitos na fornia decimal que niio podem ser representados de forma exata na forma binária. Um número pode. ser encurtado seja cortândo, ou des- cartando, os algarismos a mais, ou fazendo-se um arredondamento. No corte, os algarismos na mantissa além do comprimento que pode.ser armazenado são sim- plesmente deixados de fora. No arredondamento, o último algarisnio armazenado É arredondado. Comi uma simples ilustração, considere o número 2/3 (por simplicidade, é usado q formato decimal). Na forma decimal com quatro algarissnos signífica- tivos, 2/3 pode ser eserito como 0,6666 ou 0,6667. No primeiro caso, o número verdadeiro foi cortado, enquanto no último o número verdadeiro oi arredondado. De qualquer maneira, o corte ou o arredondamento de números reais leva a erros RR e nos cálculos numéricos, espécialmente quando muitas operações são realizadas. Esse tipa de erro numérica (seja ele devido ao carte ou ao arredondamento) é co- nhecido como erro de arredondamento. O Exemplo 1-2 mostra a diferença entre carte e arredondamento. mi três algárismos significativos ns maáfissa para calcular di- Calenle-à -à primeiro úando o corte e depois o airedindameito: dpsiuadgéo NE uso dese alores ta subtração fornece; próblema, o arredondamento leva à um valor mais próximo à resposta verdadeira. A diferença sda pas Entre o% números é de 3,8. Esscs resultados mostram que, no presente a | Ê o A Sega A ordem de. grandeza dos erros de arredondamento depende da ordem de grandeza dos números envolvidos, já que, confórme explicado na seção ante- rior, O intervalo entre Os números que podem ser representados em um compu- tador depende de sua grandeza. Erros de arredondamento normalmente ocor- rem quando os números envolvidos nos cálculos diferem significativamente em mágnitude é quando dois números que são quase idênticos são subtraídos um do outro. Por exempio, considere a equação quadrática: sê 100,0001x + 0,07 = O a para à qual as soluções exatas são x, = 100 € x, = 0,0001. As soluções podem ser calculadas com a fórmula quadráti -h-NBi- Ago Gm br NB Ave 24 “= e x= Guuso da janela de comandos do MATLAB para calcular x, € x, fomece: 2a 5 format long =e-a= 1 b=-100.0001; 6= 60.01; >> RaizesDis = sgri(pó2 - 4ta*e) RaizesDis = 99.99990000060000 >>xd e Uh + RaizesDis/(2H) si= 190 =x 52 = - RaizesDisM(2*a) = 1.000000000033197e-004 O valor calculado no MATLAB para x, não É exato devido 4 erros do arredonda- mento. Tais crros ocorrem no numerador da expressão de £,. Cómo b é negativo, 0 numerador envolve a subtração de dois mímeros que são quase ipuais. Em muitos casos, a forma das exprsssões-niatemáticas que contêrna subtração de duas grandezas que são quase iguais pode ser mudada para uma forma diferen- te, menos propensa a erros de arredondamento, Na expressão de.x, na. Eg. (1H, isso pode ser feito com a miltiplicação por (5 + JB? 4acj/4-b+ db” sue bos tas the) gm atá 28 (bedblaas cbiabluaua O cálculo de x,00 MATLAB com a Eg. (1.11) fornece: m= BE Modos Nupufricso pata Engenheiro Eniános >>22Mod = (2e)Ch+RaizesDis) *2Mod= 1 0000008000000000-004 Agora, o valor caltulado para x, não contém ertas. Outro exemplo de erros de arredondamento é mostrado so Exemplo 1-3 AE = a = . : (13) fa). Use 0 MATLAB para calcular o valor def) para os tsês- valores de x à seguir: x = 10,1 = 108 ex= TÓODOO. Ba 4 ee mae . (bh) Use o Formato Secimal com seis algarísmos, significativos para calcular x) para os va- loves de:x indicados na letra (a). Compary os resultados com-os valores obtidos da letra (2). Ée) Mude à forma do fts) multiplicando essa finição por XL (ando a nova forma com Es PE - axa dx= 1 Húmicins no fótimato decimal e seis algarismos significativos, calcule o valor de Hz) para ós três - siilores de x. Compare os regiliados com'aqueles obíidos na letra (4). : SOLUÇÃO E (CR k r . KR > format long g >>x=[0 1009 100000]; > Px = .Mequi(s) - sartçe-I)) Fgm 1.6227766016838 15.8153431255776 158.114278298171 48) D não dó fomato decimal com seis algarismos significativos ná Eq. (1.12) fomece os seguintes valores pará fix): AO) = t10(/10-= ATO = doca gras - 2) = 1,62280 E Esse valor concorda com o valor abtitio va Jetra (4), quando se faz o arredondamento: para seis alga- Fiemos significativos. | - - RD = 1000€,/1000- .JTOob 1000(31,0228 - 31,6070) = 15,8 Quando arredondado para Seis algarismos significativos, o valor obtido na letra (a) é 15,8153. 100000) = 100000(;/ÍUM000 (1000 —1) = 100000(216,228 --216,726) = 200 Quando arredondado para seis algatismos significativos, o valor obtido na letra (a) é 158,14. Bases resultados mostram que o exro de arredondamento causado pelo uso de seis algarismos signifi- cativos aumenta à medida que o valor de. + atenta ea diferença relativa entre xe. 1 diminui. dust fe 1 Mutiplicande discito da Ba.(L] À riçãos £c) Muliplicando 9 ido direito da Pq. (1.12) por pe = xe dO Cepete-D] 0 e. DA O Apitos dummido | 95 “egltotor dê) isandoia Eq, (LB) pics pra 10, xe [900 62x 100000 sesultnóme. , - b io ' da . ! É — Aa floci ar6s RIO = são = L 62218 1000 — = 198153 “1000 a SAD afiM0E = SABE +SLATO - a fee o 10D00O e grp id o . afIGOTOD + ABOGST É 316,228+3]6,226. Co . Aguia, os viliores de 65 és mesinos calculados ma Jera (e). (190000) = +32 Erros de truncamento Os erros de trunicamento ocorrem quando vs métodos numéricos usados na solução de um problema matemático adotam um procediineiito matemático Spietimado. Ur exemplo simples é a avaliação numérica de sen(x), que pode ser feita a partir da expansão em série de Taylor (a séric de Taylor é revisada no. Capítulo 2): 5 » É Rg qa) 57 O valor de sea(5) pode ser determinado de formá exata com a Eq. (1.14) se um número infinito de termos fgr usado. O sem valor pode ser aproximado com G uso de apenas um número finito de termos. À diferença entre o valor eq zn (exato) e o valor aproximado é o exro de truncamento, denotado por E . Por exemplo, se apenas o primeiro terno for usado: senlE) =: =0,5225988 B/E = 0,5-0,5235988 = 9,0235988. Se dois termos da série de Taylor Ronnie: Tm Um o agn6a selgj= 5 ao pra Outro exempfo:de erro de truncamento com 6 qual o leitor está provavelmente familiarizado é o cálculo apryximado de derivadas. O valor da esiraita de uma função flx) em um ponto x, pode ser aproximado pela expressão: .5 — 0,4996742 = 0,0003258 Eita] - fo fm) (15) E hos go onde x, é um ponto próximo a x,. À difercúça entre O valor da desivada real e O valor calculado com a Eg. (1.15) é chamada de erro de truncamento. O erro de truncamento é dependente do método numérico espesífico ou do algoritmo usado na sokição do problema. Detalhes a respeite do erro de trunca- mento são discutidos ao longo do livro à medida que se apresentam os diversos métodos numéricos. O exro de truncamento é independente do erro de arredonda- ih mento; ele existe mesmo quando as operações 'MatemÁnicas SH RATES. il cuja solução no caso do raízes xvais é dada pela fórmula quadrática: x, = TRAB des «Ed Aga 2a nº &g 619) AlgurTbao para se obier as raíxso reais de uma esmação quadrática São dadas as três constantes da equação quadrática, à, bee. 4, Calenle o velordo discriminante D = 5º — ágg. 2 Se D20, calente as duas raízes usando a Hg (148). & SeD=0, calculo araix: x = emos agem: ão possui ma Ea Za O IMOStrO à mensagem: “A equação possui miz é Se D<0, mostro a mestsagom: “A equação não passui raízes reis”. Urha vex plane; à Fi EA planejado, q algoritmo pode ser implementado em um progrania de Programas de compertador Um prograina de computador (código) é-um conjunto (lista) de comandos (opera- sõos) que devem Ser executados pelo caimputador. Diferentes linguagens de progra- mação usam diferentes sintaxes para os comandos, mas, em goral, os pindhie: e dem ser agrupados em várias categorias: di e de entrada e saída de dados. Esses comandos são usados para im- portar dados Para o computador, mastrá-los no minitór, ou para armazenar fesúltados numéricos em arquivos. * Comandos de definição de variáveis. a e executam operações matemáticas. Estes incluem operações Pp: e ara multiplicação, potenciação, etc.) e cómandos que calculam os valores de funções comumente usadas (trigonométricas, ! vai tométricas, ais. pp go! exponenciais, lo- Comandos que controlam a ordem de. execução de comandos e que permitem no computador executar ou não certos grupos de comandos cm diferentes circunstâncias, Esses comandos estão tipicamente associados à declarações condicionais que permitem a tomada de: decisões, como por exemplo a ctdeim em que determinados comandos devem ser executados. Muitas linguagens têm comandos “st-senão” para este propósito, mas muitos ontros comandos existem com a mesta finalidade, Comandos que pertuitera ao computador repetir seções do programa. Em a linguagens, estes comandos são chamados de loops. Eles são muito E Sis para a programação de métodos numéricps, já que muitos desses méto- os Usam iterações pará obter soluções precisas. Comandos que criam figuras e gráficos mostrando restiltados. Um EE Ena de computador pode ser escrita como uma longa lista de comandos, mas etn geral É dividido em partes menores e bem definidas em rama oe, 3 (subprogramas). Essas partes são programas auto-suficientes que condizem uma parcela do total de operações a serem realizadas. Com essa abordagem, as várias partes podem ser escritas e testadas de forma independente. Em muitas linguagens de computador, os subprogramas são chamados de sub-rotias ou funções. Conforme já mencionado, métôdos numéricos são implementados neste livro usando o MÁTLAB, que é uma linguagem relativamente nova para a computa- ção técnica. O MATLAB é poderoso e fácil de usar. Ele contém muitas funções residentes que são extremamente-úteis na resolnção de problemas na ciência e na engenharia, Assume-se que o leitor deste livro lenha pelo menos algum conhecimento de MATLAB e de programação. Para aqueles que não o têm, uma introdução ao MATLAB é apresentuda no Apêndice. Ela inclui uma seção sobre deciarações condicionais e foojs, que sãe os blocos construtivos básicos da programação. Para uma introdução mais detalhada à programação, o leitor deve recorrer a livros dedicados à programação de computadores. Para ajudar o leitor a seguir os pro gramas de MATLAB listados neste livro, comentários e explicações são coloca- des logo após os programas. 1.5 PROBLEMAS Problemas de solução manual Resolva manualmente os problemas a seguir: Quando necessário, use uma calcu- ladora ou escreva um programa no MATLAB para realizar os cálculos. 1.3 Converta o número binário 1011101 para o formato decimal, 12 Converta o número binário 17000101.101 para o formato decimal. 1.3 Converta o número binário 100101011 10001.01110103 para o formato de- cimal. 2.4 Escreva 0 número 81 nos seguintes formatos (na letra (c), siga a norma TEEE-754): (a) Formato binário; (b) Representação em ponte flutuante na base 2. (c) Cadeia de 32 bits em precisão simples. 4,5 Escreva o número 66,25 nos seguintes formatos (na letra (e), siga a norma IBEE-754): (4) Formato binário; (b) Representação em ponto flutuante na base 2, (c) Cadeia de 32 bits em precisão simples. 1.6 Escreva 0 número =0,625 nos seguintes formatos (na letra (c), siga a norma EHH-754): (a) Formato binário; (b) Representação em ponta flutuante na baze 2. (c) Cadeia de 32 bits em precisão simples, 1.7 Escreva o número 0,533203125 nos seguintes formatos (na letra (2), siga a norma IEBE-754): (a) Formato binário; (b) Representação em ponto fiuta- ante na base 2. (1) Cadeia de 32 bits em precisão simples, Metotine Nuniéricars para Engenhinos « Cientistas 18 Escreva o número 256,1875 nos seguintes formatos (na letra (c), Siga a nor ma IEEE-754): (a) Formato binário; (b) Representação em ponto flutuante na base 2, (c) Cadeta de 64 bits em precisão dupla. 1,9 Escreva níiihoro 30952 nos seguintes foimaios (na letra (e), siga a norma TEEB-754): (4) Formato binário; (b) Representação em ponto flutuante na basé 2. (c) Cadeia de 64 bits em precisão dupla. 1.1 Escreva 0 múmero 6,33203125 nos seguintes formatos (na letra (c), siga a norma IERE-754): (e) Formato binário: (b) Representação em ponto luta. ante na base 2, (e) Cadeia de 64 bits em precisão dupla. 24] Escreva o número 0,001220703125 nos seguintes formatos (na letra (6), siga amorina PRBE-754): (4) Formato binária; (b) Representação em ponto Antu- ante na busc 2: (e) Carleja de 64 bits em precisão dupla. 1,32 Escreva o qúmero 0,2 no formato hinário usando um número suficiente de algutismos deforma que 0 erro relativo real seja menor que 0,005, 1.13 Considere a função (0) = Ato, (x) Useo formato decimal com seis algarismos significativos (aplique arredom- dumento) para ualeular, usando uma calculadora, jlx) para 4 = 0,007. tb) Use MATLAB fusasdo Lormat Loro) part calcular o valor-de fp) é 0 emo relativo real cansado pelo arredondarenta no valor de ix) obtitio na Ictra (a). tej Multiplique fl poe Tri para obter uma forma de fx) menos propon- cos sa a erros de arredondamento, Com essa nova forma, use à formaro decimal com seis algarismos significativos (aplique arredondamento) para caleular, usando uma calculadora, fx) para x = 0,097. Compare o valor obtido com. aqueles obtidos vas letras (9) e (b) 1.34 Considero a função fl) = stecê, (a) Use o formato decimal com seis algarismos significativos (aplique aredon- damento) para calcular, usando uma cateutadara, fo) para 2=4),005. (6) Use o MATLAB (usando Eprnat Long) para calcular 0 valor de fu) e o erro relativo real causado pelo arredondamento no valor de fx) oblido na letra (ap indi axis (3 Mukiplique fx) part HE ra obter uma forma de f(x) menos propensa & plique A) pés E E=Pelad A Prope a erros de arredondamento. Com essa nava ferina, use b formato decimal «om seis algarianos significativos (aplique arredondamento) para calcular, usando uma calentadora, fx) para x = 0,005, Compare o valor obtido com aqueles obtidos nas letras (a) e (b). 115 Considero a fungo 427) = Esi (5) Use o formato decimal com seis algarismos significativos (aplique arredon- damento) para taleutar, usando uma caleutadera, fx) para 2= 0,00275. agia Jnteodação o (b) Use o MATLAB (usando format. Long) para calcular o valor de fx) e 0 erro relativo real causado pelo arredondamento no valor de, fix) obtido na Jetra (a). 1.16 A expausão em sério de Taylor de cost) é dada por. 2 ad : esto = DG di É Use os três primeiros termos na Rg. (1.20) pára caleniar 0 valor de cos(s) Cairu te o erro de ituncamento. Use à formato decimal com seis algaristhos significafi- vos (aplique arredondariento). 1.17 A expansão em série e Taylos da função fl) = é: E E E fg= "= Leia Gaga gs un Use a Rg. (1.41) para caleutar o vatar de 2” para os seguintes casos. Em cada caso tambéin culeate o erro relativo real fuse Format Jong no MAFLAB para tálcular o vator vendadeiro de 9, Use números decimais com séis algaristhos significativos (aplique arredondamento). (a) Use os quarto primeiros termes. (3 Use os seis primeiros termos. tc) Use os oito primeiros termos, 1.38 Use 05 sete primeiros termos na Eq; (1.31) para caleular im valor estima- do para 2. Realize as contas no MATLAR (use Format: Long para mostra os números». Determine o erro relativo real. Para q valor exato de e, use expt1) no MATLAB. 1.18 Desenvolva um algoritma para determinar se um dado número inteira é um múmero primo. 1.8 Desenvolva um algoritmo para somar todos os números primos entre dé am dado número. 1.28 Desenvolva mm algorigno para converter inteiros dados na forma decimal para o formato binário. Problemas de proguaração no ATLAS Resolva os seguintes problemas usando U ambiente MAFLAB. Não use funções residentés da MATLAB para mudar a formato dos nimeros. 1.32 Escreva um proprama que implemente 0 algoritmo desenvolvido nO Probte- ma 1.19. O programa deve começar atribuindo um valor para.a variável +. Quando à programa É executado, uma mensagem deve ser mostrada dizendo se o valor atribuído a x é ou não é um número prinsó. Execute o programa comy=,7= 126ex=367. 2.43 Escreva to MATLAB uma função que implemente 6 algoritmo desenvoisi- «do no Problema 1.20, Chame a função-de sp > somaprisiostint], onde o argumento de entrada int deve ser tum número maior que 1, e 0 argumento