Métodos Numéricos
para Engenharia
Quinta Edição
Steven C. Chapra
Raymond P. Canale
Métodos Numéricos
para Engenharia
QUINTA EDIÇÃO
Steven C. Chapra
Berger Chair em Computação e Engenharia
Universidade de Tufts
Raymond P. Canale
Professor Emérito de Engenharia Civil
Universidade de Michigan
Tradução Técnica
Helena Castro
Professora Doutora do Instituto de Matemática e
Estatística da Universidade de São Paulo — IMEUSP
Versão impressa
desta obra: 2008
2011
Métodos Numéricos para Engenharia
Tradução da Quinta Edição
ISBN 978-85-86804-87-8
A reprodução total ou parcial deste volume por quaisquer formas ou meios, sem o consentimento, por escrito,
da editora é ilegal e configura apropriação indevida dos direitos intelectuais e patrimoniais dos autores.
Copyright© 2008 by McGraw-Hill Interamericana do Brasil Ltda.
Todos os direitos reservados.
Av. Brigadeiro Faria Lima , 201, 17 o andar
São Paulo – SP – CEP 05426-100
Copyright © 2008 by McGraw-Hill Interamericana Editores, S.A. de C.V.
Todos os direitos reservados.
Prol. Paseo de la Reforma 1015 Torre A Piso 17, Col. Desarrollo Santa Fé, Delegación Alvaro Obregón
México 01376, D.F., México
Tradução da quinta edição em inglês de Numerical Methods for Engineers, publicada pela McGraw-Hill, uma unidade de
negócios da McGraw-Hill Companies Inc., 1221 Avenue of the Americas, New York, NY, 10020.
© 2006 by McGraw-Hill Companies, Inc.
Edições publicadas anteriormente sob o título Numerical Methods for Engineers: With Software and
Programming Applications.
© 2002, 1998, 1988, 1985 by McGraw-Hill Companies, Inc.
ISBN: 0-07-291873-X
Editora de Desenvolvimento: Marileide Gomes
Supervisora de Produção: Guacira Simonelli
Produção Editorial: Nilcéia Esposito
Preparação de Texto: Marcos Soel e Maria Alice da Costa
Design de Capa: Ron Bissell
Ilustração de Capa: © Jack Novak/ SuperStock
Diagramação: ERJ Composição Editorial e Artes Gráficas Ltda.
MATLABTM é uma marca registrada de The MathWorks,Inc.
Dados Internacionais de Catalogação na Publicação (CIP)
(Câmara Brasileira do Livro, SP, Brasil)
C467m
Chapra, Steven C.
Métodos numéricos para engenharia [recurso
eletrônico] / Steven C. Chapra, Raymond P. Canale ;
tradução técnica: Helena Castro. ă 5. ed. ă Dados
eletrônicos. ă Porto Alegre : AMGH, 2011.
Publicado também como livro impresso em 2008.
ISBN 978-85-8055-011-5
1. Engenharia ă Método numérico. I. Canale, Raymond
P. II. Título.
CDU 62:51
Catalogação na publicação: Ana Paula M. Magnus ă CRB 10/2052
A McGraw-Hill tem forte compromisso com a qualidade e procura manter laços estreitos com seus leitores. Nosso principal
objetivo é oferecer obras de qualidade a preços justos, e um dos caminhos para atingir essa meta é ouvir o que os leitores
têm a dizer. Portanto, se você tem dúvidas, críticas ou sugestões, entre em contato conosco — preferencialmente por correio
eletrônico (
[email protected]) — e nos ajude a aprimorar nosso trabalho. Teremos prazer em conversar com
você. Em Portugal use o endereço
[email protected].
Para
Margaret e Gabriel Chapra
Helen e Chester Canale
SUMÁRIO
PREFÁCIO xv
VISÃO GERAL DO LIVRO xviii
SOBRE OS AUTORES xxi
PARTE UM
MODELAGEM,
PT1.1 Motivação 2
COMPUTADORES, E
PT1.2 Fundamentos Matemáticos 4
ANÁLISE DE ERROS 1 PT1.3 Orientação 6
CAPÍTULO 1
Modelagem Matemática e Resolução de Problemas de Engenharia 9
1.1 Um Modelo Matemático Simples 9
1.2 Leis de Conservação e Engenharia 15
Problemas 18
CAPÍTULO 2
Programação e Software 21
2.1 Pacotes e Programação 21
2.2 Programação Estruturada 22
2.3 Programação Modular 30
2.4 Excel 31
2.5 MATLAB 35
2.6 Outras Linguagens e Bibliotecas 38
Problemas 39
CAPÍTULO 3
Aproximações e Erros de Arredondamento 43
3.1 Algarismos Significativos 41
3.2 Exatidão e Precisão 45
3.3 Definições de Erros 46
3.4 Erros de Arredondamento 49
Problemas 62
CAPÍTULO 4
Erros de Truncamento e Séries de Taylor 63
4.1 A Série de Taylor 63
4.2 Propagação de Erros 77
4.3 Erro Numérico Total 81
4.4 Enganos, Erros de Formulação e Incerteza nos dados 82
Problemas 83
vii
viii
SUMÁRIO
EPÍLOGO: PARTE UM 86
PT1.4 Prós e Contras 86
PT1.5 Relações e Fórmulas Importantes 89
PT1.6 Métodos Avançados e Referências Adicionais 89
PARTE DOIS
RAÍZES DE
EQUAÇÕES 92
PT 2.1 Motivação 92
PT 2.2 Fundamentos Matemáticos 94
PT 2.3 Orientação 95
CAPÍTULO 5
Métodos que Isolam a Raiz em Intervalos 98
5.1 Métodos Gráficos 98
5.2 Método da Bisecção 101
5.3 O Método da Falsa Posição 108
5.4 Buscas Incrementais e Determinação de Aproximações Iniciais 113
Problemas 114
CAPÍTULO 6
Métodos Abertos 116
6.1 Iteração de Ponto Fixo Simples 116
6.2 O Método de Newton-Raphson 121
6.3 O Método da Secante 125
6.4 Raízes Múltiplas 130
6.5 Sistemas de Equações Não Lineares 132
Problemas 136
CAPÍTULO 7
Raízes de Polinômios 138
7.1 Polinômios na Engenharia e Ciência 138
7.2 Cálculos Computacionais com Polinômios 140
7.3 Métodos Convencionais 143
7.4 O Método de Miller 144
7.5 O Método de Bairstow 147
7.6 Outros Métodos 152
7.7 Localização de Raízes com Bibliotecas e Pacotes 152
Problemas 160
CAPÍTULO 8
Estudos de Caso: Raízes de Equações 162
8.1 Leis dos Gases Ideais e Não-Ideais (Engenharia Química e Bioquímica) 162
8.2 Escoamento de Canal Aberto (Engenharia Civil/Ambiental) 164
8.3 Projeto de um Circuito Elétrico 168
8.4 Análise de Vibração (Engenharia Mecânica/Aeroespacial) 170
Problemas 175
EPÍLOGO: PARTE DOIS 184
PT2.4 Prós e Contras 184
PT2.5 Relações e Fórmulas Importantes 185
PT2.6 Métodos Avançados e Referências Adicionais 185
PARTE TRÊS
EQUAÇÕES
ALGÉBRICAS
LINEARES 188
PT3.1 Motivação 188
PT3.2 Fundamentos Matemáticos 190
PT3.3 Orientação 196
SUMÁRIO
CAPÍTULO 9
Eliminação de Gauss 199
9.1 Resolução de um Número Pequeno de Equações 199
9.2 Eliminação de Gauss Ingênua 205
9.3 Armadilhas nos Métodos de Eliminação 211
9.4 Técnicas para Melhorar Soluções 215
9.5 Sistemas Complexos 221
9.6 Sistemas de Equações Não-Lineares 222
9.7 Gauss-Jordan 223
9.8 Resumo 225
Problemas 225
CAPÍTULO 10
Decomposição LU e Inversão de Matrizes 228
10.1 Decomposição LU 228
10.2 A Matriz Inversa 236
10.3 Análise de Erro e Condicionamento do Sistema 239
Problemas 244
CAPÍTULO 11
Matrizes Especiais e Gauss-Seidel 246
11.1 Matrizes Especiais 246
11.2 Gauss-Seidel 250
11.3 Equações Algébricas Lineares com Bibliotecas e Pacotes 256
Problemas 262
CAPÍTULO 12
Estudos de Caso: Equações Algébricas Lineares 264
12.1 Análise do Estado Estacionário de um Sistema de Reatores
(Engenharia Química/ Bioengenharia) 264
12.2 Análise de uma Treliça Estaticamente Determinada
(Engenharia Civil/Ambiental) 267
12.3 Correntes e Voltagens em Circuitos Resistores (Engenharia Elétrica) 269
12.4 Sistemas Massa/Mola (Engenharia Mecânica/Aeroespacial) 271
Problemas 273
EPÍLOGO: PARTE TRÊS 282
PT3.4 Prós e Contras 282
PT3.5 Relações e Fórmulas Importantes 283
PT3.6 Métodos Avançados e Referências Adicionais 283
PARTE QUATRO
OTIMIZAÇÃO 285
PT4.1 Motivação 286
PT4.2 Fundamentos Matemáticos 290
PT4.3 Orientação 292
CAPÍTULO 13
Otimização Unidimensional sem Restrições 294
13.1 Busca da Razão Áurea 295
13.2 Interpolação Quadrática 300
13.3 O Método de Newton 302
Problemas 304
CAPÍTULO 14
Otimização Multidimensional sem Restrições 306
14.1 Métodos Diretos 306
ix
x
SUMÁRIO
14.2 Métodos Gradiente 310
Problemas 321
CAPÍTULO 15
Otimização Restrições 323
15.1 Programação Linear 323
15.2 Otimização com Restrições Não-lineares 332
15.3 Otimização com Pacotes 333
Problemas 343
CAPÍTULO 16
Estudos de Caso: Otimização 345
16.1 Projeto de Menor Custo de um Tanque (Engenharia Química/Bioengenharia) 345
16.2 Tratamento de Baixo Custo para Dejetos Líquidos (Engenharia Civil/Ambiental) 349
16.3 Potência Máxima Transferida para um Circuito (Engenharia Elétrica) 353
16.4 Projeto de Montain Bike (Engenharia Mecânica/Aeroespacial) 356
Problemas 358
EPÍLOGO: PARTE QUATRO 363
PT4.4 Prós e Contras 363
PT4.5 Referências Adicionais 364
PARTE CINCO
AJUSTE DE
CURVAS 366
PT5.1 Motivação 366
PT5.2 Fundamentos Matemáticos 368
PT5.3 Orientação 376
CAPÍTULO 17
Regressão por Mínimos Quadrados 379
17.1 Regressão Linear 379
17.2 Regressão Polinomial 393
17.3 Regressão Linear Múltipla 396
17.4 Mínimos Quadrados Linear Geral 398
17.5 Regressão Não Linear 403
Problemas 406
CAPÍTULO 18
Interpolação 409
18.1 Polinômios Interpoladores por Diferenças Divididas de Newton 409
18.2 Polinômios Interpoladores de Lagrange 419
18.3 Coeficientes de um Polinômio Interpolador 423
18.4 Interpolação Inversa 424
18.5 Comentários Adicionais 425
18.6 Interpolação por Splines 426
Problemas 436
CAPÍTULO 19
Aproximação de Fourier 438
19.1
19.2
19.3
19.4
19.5
19.6
19.7
Ajuste de Curvas com Funções Senoidais 439
Série de Fourier Contínua 444
Domínios de Freqüência e Tempo 447
Integral e Transformada de Fourier 450
Transformada de Fourier Discreta (TFD) 452
Transformada Rápida de Fourier (FFT) 454
O Espectro de Potência 459
SUMÁRIO
19.8 Ajuste de Curvas com Bibliotecas e Pacotes 460
Problemas 467
CAPÍTULO 20
Estudos de Caso: Ajuste de Curvas 470
20.1 Regressão Linear e Modelos Populacionais
(Engenharia Química/Bioengenharia) 470
20.2 Uso de Splines para Estimar Transferência de Calor
(Engenharia Civil/Ambiental) 473
20.3 Análise de Fourier (Engenharia Elétrica) 475
20.4 Análise de Dados Experimentais (Engenharia Mecânica/Aeroespacial) 476
Problemas 477
EPÍLOGO: PARTE CINCO 486
PT5.4 Prós e Contras 486
PT5.5 Relações e Fórmulas Importantes 487
PT5.6 Métodos Avançados e Referências Adicionais 489
PARTE SEIS
INTEGRAÇÃO
DERIVAÇÃO
NUMÉRICAS 491
PT 6.1 Motivação 491
PT 6.2 Fundamentos Matemáticos 499
PT 6.3 Orientação 501
CAPÍTULO 21
Fórmulas de Integração de Newton-Cotes 504
21.1 A Regra do Trapézio 505
21.2 Regras de Simpson 513
21.3 Integração com Segmentos Desiguais 521
21.4 Fórmulas de Integração Abertas 524
21.5 Integrais Múltiplas 524
Problemas 526
CAPÍTULO 22
Integração de Equações 528
22.1 Algoritmos de Newton-Cotes para Equações 528
22.2 Integração de Romberg 530
22.3 Quadratura de Gauss 534
22.4 Integrais Impróprias 540
Problemas 543
CAPÍTULO 23
Derivação Numérica 545
23.1 Fórmulas de Derivação de Alta Precisão 545
23.2 Extrapolação de Richardson 548
23.3 Derivadas de Dados Desigualmente Espaçados 549
23.4 Derivadas e Integrais para Dados com Erros 550
23.5 Integração e Derivação Numéricas com Bibliotecas e Pacotes 551
Problemas 554
CAPÍTULO 24
Estudos de Caso: Integração e Derivação Numéricas 545
24.1 Integração para Determinar a Quantidade Total de Calor (Engenharia
Química/Bioengenharia) 545
24.2 Força Efetiva no Mastro de um Veleiro de Corrida
(Engenharia Civil/Ambiental) 559
24.3 Corrente Eficaz por Integração Numérica (Engenharia Elétrica) 561
xi
xii
SUMÁRIO
24.4 Integração Numérica para Calcular o Trabalho
(Engenharia Mecânica/Aeroespacial) 563
Problemas 566
EPÍLOGO: PARTE SEIS 575
PT6.4 Prós e Contras 575
PT6.5 Relações e Fórmulas Importantes 576
PT6.6 Métodos Avançados e Referências Adicionais 576
PARTE SETE
EQUAÇÕES
DIFERENCIAIS
ORDINÁRIAS 578
PT7.1 Motivação 578
PT7.2 Fundamentos Matemáticos 582
PT7.3 Orientação 584
CAPÍTULO 25
Métodos Runge-Kutta 587
25.1 Método de Euler 588
25.2 Melhorias no Método de Euler 597
25.3 Métodos de Runge-Kutta 604
25.4 Sistemas de Equações 612
25.5 Métodos de Runge-Kutta Adaptativos 617
Problemas 623
CAPÍTULO 26
Rigidez e Métodos de Passo Mútiplo 625
26.1 Rigidez 625
26.2 Métodos de Passo Múltiplo 628
Problemas 646
CAPÍTULO 27
Problemas de Contorno e de Autovalor 648
27.1 Métodos Gerais para Problemas de Contorno 649
27.2 Problemas de Autovalor 654
27.3 EDOs e Autovalores com Bibliotecas e Pacotes 664
Problemas 670
CAPÍTULO 28
Estudos de Caso: Equações Diferenciais Ordinárias 673
28.1 Usando EDOs para Analisar a Resposta Transiente de um Reator
(Engenharia Química/Bioengenharia) 673
28.2 Modelos Predador-Presa e Caos (Engenharia Civil/Ambiental) 788
28.3 Simulando Correntes Transientes para um Circuito Elétrico
(Engenharia Elétrica) 682
28.4 O Pêndulo Oscilante (Engenharia Mecânica/Aeroespacial) 686
Problemas 689
EPÍLOGO: PARTE SETE 695
PT7.4 Prós e Contras 695
PT7.5 Relações e Fórmulas Importantes 696
PT7.6 Métodos Avançados e Referências Adicionais 696
PARTE OITO
EQUAÇÕES
DIFERENCIAIS
PARCIAIS 699
PT8.1 Motivação 699
PT8.2 Orientação 702
SUMÁRIO
CAPÍTULO 29
Diferenças Finitas: Equações Elípticas 705
29.1 A Equação de Laplace 705
29.2 Técnicas de Solução 707
29.3 Condições de Contorno 712
29.4 A Abordagem por Volume de Controle 717
29.5 Software para Resolver Equações Elípticas 720
Problemas 721
CAPÍTULO 30
Diferenças Finitas: Equações Parabólicas 722
30.1 A Equação de Condução do Calor 722
30.2 Métodos Explícitos 723
30.3 Um Método Implícito Simples 726
30.4 O Método de Crank-Nicolson 730
30.5 Equações Parabólicas em Duas Dimensões Espaciais 732
Problemas 735
CAPÍTULO 31
Método dos Elementos Finitos 736
31.1 A Abordagem Geral 737
31.2 Aplicação de Elementos Finitos em uma Dimensão Um 740
31.3 Problemas Bidimensionais 748
31.4 Resolvendo EDPs com Bibliotecas e Pacotes 751
Problemas 756
CAPÍTULO 32
Estudos de Caso: Equações Diferenciais Parciais 758
32.1 Balanço de Massa Unidimensional de um Reator
(Engenharia Química/Bioengenharia) 758
32.2 Deflexões em uma Placa (Engenharia Civil/Ambiental) 762
32.3 Problemas de Campo Eletrostáticos Bidimensionais (Engenharia Elétrica) 763
32.4 Solução por Elementos Finitos de uma Série de Molas
(Engenharia Mecânica/Aeroespacial) 766
Problemas 769
EPÍLOGO: PARTE OITO 771
PT 8.3 Prós e Contras 771
PT 8.4 Relações e Fórmulas Importantes 771
PT 8.5 Métodos Avançados e Referências Adicionais 772
APÊNDICE A: A SÉRIE DE FOURIER 773
APÊNDICE B: INICIAÇÃO AO MATLAB 774
BIBLIOGRAFIA 781
ÍNDICE REMISSIVO 785
xiii
PREFÁCIO
Já se passaram 20 anos desde a publicação da primeira edição deste livro. Nesse período,
nossa asserção de que os métodos numéricos e os computadores figurariam mais proeminentemente nos currículos de engenharia — particularmente em seus primeiros anos —
se tornou dramaticamente verdadeira. Muitas universidades agora oferecem cursos tanto
em introdução à computação quanto de métodos numéricos em seus primeiros três anos.
Além disso, muitos de nossos colegas estão integrando problemas orientados para o computador em outros cursos em todos os níveis do currículo. Logo, esta nova edição ainda
está fundamentada na premissa básica de que é preciso oferecer aos estudantes de engenharia uma introdução forte e o mais cedo possível aos métodos numéricos. Conseqüentemente, embora tenhamos expandido nossa cobertura nesta nova edição, tentamos manter muitas das características que tornaram a primeira edição acessível a estudantes tanto
do início quanto do final da graduação. Elas incluem:
•
•
•
•
•
Orientação para problemas. Os estudantes de engenharia aprendem melhor
quando motivados por problemas. Isso é particularmente verdadeiro para matemática e computação. Então, adotamos uma abordagem de uma perspectiva de resolução de problemas.
Pedagogia Orientada para o Estudante. Desenvolvemos diversas características para
tornar este livro tão amigável ao estudante quanto possível. Elas incluem a organização
geral, o uso das introduções e dos epílogos para consolidar os tópicos principais e o uso
extensivo de exemplos trabalhados e estudos de casos de todas as áreas da engenharia.
Tentamos também manter nossas explicações simples e orientadas para a prática.
Abordagem por “Caixas Transparentes”. Embora enfatizemos a resolução de problemas, acreditamos que é autolimitante para os engenheiros abordar os algoritmos
numéricos como “caixas pretas”. Assim, incluímos teoria suficiente para permitir que
os usuários entendam os conceitos básicos por trás dos métodos. Em particular, enfatizamos a teoria relacionada à análise de erros, as limitações desses métodos e os prós
e contras entre os métodos.
Orientação para Computadores Pessoais. Inicialmente, quando escrevemos este
livro, existia um grande abismo entre o mundo batch dos computadores de grande
porte e o mundo interativo dos PCs. Hoje em dia, conforme o desempenho dos PCs
aumenta, essa distinção está desaparecendo. Dito isso, este livro ainda enfatiza as visualizações e os cálculos iterativos, que são os marcos dos computadores pessoais.
Capacitação dos Estudantes. Obviamente, introduzimos os estudantes aos recursospadrão, prontos para o uso, de pacotes como o Excel e o software MATLAB. Entretanto, também é mostrado aos estudantes como desenvolver programas simples, bem
estruturados, para estender os recursos básicos desses ambientes. Esse conhecimento
se transporta para linguagens de programação padrão como Visual Basic, Fortran 90
e C/C++. Acreditamos que a fuga da programação de computadores representa um
pouco de uma queda nos currículos de engenharia. O ponto principal é que, enquanto
os engenheiros não estiverem satisfeitos em ficar limitados pelas ferramentas, precisarão escrever códigos. Só que agora eles podem ser chamados de “macros” ou
“M-files”. Este livro é projetado para capacitá-los a fazer isso.
xv
xvi
PREFÁCIO
Além desses cinco princípios originais, a principal melhoria da quinta edição é uma
grande revisão e expansão dos conjuntos de problemas dos finais dos capítulos. A maioria dos problemas foi modificada, de modo que fornecem soluções numéricas diferentes
das edições anteriores. Além disso, diversos novos problemas foram incluídos. Como nas
edições anteriores, incluímos tanto problemas matemáticos quanto aplicados de todos os
ramos da engenharia. Em todos os casos, nosso propósito é fornecer aos estudantes exercícios para verificarem seu entendimento e para ilustrar como os métodos numéricos
podem ajudá-los a resolver problemas mais eficientemente.
Como sempre, nossa principal intenção ao escrever este livro é fornecer aos estudantes uma sólida introdução aos métodos numéricos. Acreditamos que os estudantes
motivados que apreciem os métodos numéricos, a computação e a matemática irão, no
final, tornar-se melhores engenheiros. Se nosso livro estimular um entusiasmo por esses
assuntos, consideraremos nossos esforços um sucesso.
Agradecimentos. Gostaríamos de agradecer a nossos amigos na McGraw-Hill. Em
particular, Amanda Green, Suzanne Jeans e Peggy Selle, que forneceram uma atmosfera
positiva e de apoio para a criação desta edição. Como sempre, Beatrice Sussman fez um
excelente trabalho na edição do manuscrito e Michael Ryder fez importantes contribuições durante a produção do livro. Agradecimentos especiais aos professores Wally
Grant, Olga Pierrakos, Amber Phillips, Justin Griffee e Kevin Mace (Virginia Tech) e à
professora Theresa Good (Texas A&M), que contribuiu com problemas para nosso livro
ao longo dos anos. Como nas edições passadas, David Clough (Universidade do Colorado) e Jerry Stedinger (Universidade de Cornell) generosamente compartilharam seu
discernimento e suas sugestões. Sugestões úteis também foram feitas por Bill Philpot
(Universidade de Cornell), Jim Guilkey (Universidade de Utah), Dong-Il Seo (Universidade Nacional de Chungnam, Coréia) e Raymundo Cordero e Karim Muci (ITESM, México). A presente edição também se beneficiou das revisões e sugestões fornecidas pelos
seguintes colegas:
Ella M. Atkins, University of Maryland
Betty Barr, University of Houston
Florin Bobaru, University of Nebraska–Lincoln
Ken W. Bosworth, Idaho State University
Anthony Cahill, Texas A&M University
Raymond C. Y. Chin, Indiana University–Purdue, Indianapolis
Jason Clark, University of California, Berkeley
John Collings, University of North Dakota
Ayodeji Demuren, Old Dominion University
Cassiano R. E. de Oliveira, Georgia Institute of Technology
Subhadeep Gan, University of Cincinnati
Aaron S. Goldstein, Virginia Polytechnic Institute and State University
Gregory L. Griffin, Louisiana State University
Walter Haisler, Texas A&M University
Don Hardcastle, Baylor University
Scott L. Hendricks, Virginia Polytechnic Institute and State University
David J. Horntrop, New Jersey Institute of Technology
Tribikram Kundu, University of Arizona
Hysuk Lee, Clemson University
Jichun Li, University of Nevada, Las Vegas
Jeffrey S. Marshall, University of Iowa
George Novacky, University of Pittsburgh
Dmitry Pelinovsky, McMaster University
Siva Parameswaran, Texas Technical University
Greg P. Semeraro, Rochester Institute of Technology
Jerry Sergent, Faifield University
Dipendra K. Sinha, San Francisco State University
Scott A. Socolofsky, Texas A&M University
PREFÁCIO
xvii
Robert E. Spall, Utah State University
John C. Strikwerda, University of Wisconsin-Madison
Karsten E. Thompson, Louisiana State University
Kumar Vemaganti, University of Cincinnati
Peter Wolfe, University of Maryland
Yale Yurttas, Texas A&M University
Nader Zamani, University of Windsor
Viktoria Zoltay, Tufts University
Devemos enfatizar que, embora tenhamos recebido sugestões úteis das pessoas mencionadas, somos responsáveis por quaisquer imprecisões ou erros que possam ser detectados nesta edição. Por favor, contate Steve Chapra por e-mail se detectar algum erro.
Finalmente, gostaríamos de agradecer a nossa família, amigos e estudantes por sua
paciência e seu apoio permanentes. Em particular, Cyntia Chapra e Claire Canale estão
sempre lá, fornecendo compreensão, perspectiva e amor.
Steven C. Chapra
Medford, Massachusetts
[email protected]
Raymond P. Canale
Lake Leelanau, Michigan
VISÃO GERAL DO LIVRO
PT 3.1
PT 3.2
Fundamentos
matemáticos
Motivação
PT 3.6
Métodos
avançados
Para fornecer uma perspectiva dos métodos numéricos,
organizamos o texto em partes e apresentamos
informações unificadoras nos elementos Motivação,
Fundamentos Matemáticos, Orientação e Epílogo.
PARTE 3
PT 3.3
Orientação
9.1
Sistemas
pequenos
9.2
Eliminação de
Gauss ingênua
Equações
Algébricas
Lineares
PT 3.5
Fórmulas
importantes
EPÍLOGO
9.3
Armadilhas dos
métodos de
eliminação
CAPÍTULO 9
9.4
Técnicas para
melhorar soluções
Eliminação
de Gauss
9.5
Sistemas
complexos
PT 3.4
Prós e contras
9.7
Gauss-Jordan
10.1
Decomposição
LU
12.4
Engenharia
mecânica
12.3
Engenharia
elétrica
12.2
Engenharia
civil
9.6
Sistemas de
equações
não-lineares
CAPÍTULO 12
CAPÍTULO 10
Estudos de Caso:
Equações
Algébricas
Lineares
Decomposição LU
e Inversão de
Matrizes
12.1
Engenharia
química
10.2
A matriz
inversa
CAPÍTULO 11
10.3
Condicionamento
do sistema
Matrizes Especiais
e Gauss-Seidel
11.3
Bibliotecas
e pacotes
11.1
Matrizes
especiais
11.2
GaussSeidel
PROBLEMAS
436
18.6.4 Algoritmo Computacional para Splines Cúbicos
O método para calcular splines cúbicos delineados na seção anterior é ideal para implementação computacional. Lembre-se de que, por algumas manipulações engenhosas, o
método reduziu o problema à resolução de n − 1 equações simultâneas. Um benefício
adicional da dedução é que, como especificado pela Equação (18.37), o sistema de
equações é tridiagonal. Como descrito na Seção 11.1, estão disponíveis algoritmos para
resolver tais sistemas de maneira extremamente eficiente. A Figura 18.18 esboça um esquema computacional que incorpora essas características.
Observe que a rotina na Figura 18.18 retorna um único valor interpolado, yu, para
um dado valor da variável independente xu. Essa é apenas uma das formas como a interpolação por splines pode ser implementada. Por exemplo, você poderia querer determinar
os coeficientes uma única vez e então fazer muitas interpolações. Além disso, a rotina retorna tanto a primeira (dy) quanto a segunda (dy2)derivadas em xu. Embora não seja
necessário calcular essas quantidades, elas se mostram úteis em muitas aplicações de interpolação por splines.
Todos os capítulos contêm problemas para casa
novos e revisados. Oitenta por cento dos problemas
são novos ou revisados. No texto, são incluídos
problemas desafiadores tirados de todas as
disciplinas de engenharia.
PROBLEMAS
18.1 Faça uma estimativa do logaritmo comum de 10 usando interpolação linear.
(a) Interpole entre log 8 0,9030900 e log 12 1,0791812.
(b) Interpole entre log 9 0,9542425 e log 11 1,0413927. Para
cada interpolação, calcule o erro relativo percentual baseado no
valor verdadeiro.
18.2 Ajuste um polinômio interpolador de Newton de 2o grau para
fazer uma estimativa de log 10 usando os dados do Problema 18.1
em x 8, 9 e 11. Calcule o erro relativo percentual verdadeiro.
18.3 Ajuste um polinômio interpolador de Newton de 3o grau
usando os dados do Problema 18.1.
18.4 Considere os dados
x
f( )
1,6
2
2,5
3,2
4
4,5
2
8
14
15
8
2
18.9 Use interpolação inversa para determinar o valor de x que corresponde a f (x) 0,85 para os seguintes dados tabulados:
x
0
1
2
3
4
5
f (x)
0
0,5
0,8
0,9
0,941176
0,961538
7.7 LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
Observe que os valores na tabela foram gerados com a função
f (x) x3冒(2 x3).
(a) Determine o valor correto analiticamente.
(b) Use interpolação cúbica de x em função de y.
(c) Use interpolação inversa com interpolação quadrática e a fórmula quadrática.
(d) Use interpolação inversa com interpolação cúbica e bissecção.
Para as partes (b) a (d) calcule o erro relativo percentual verdadeiro.
7.7.2 MATLAB
Como resumido na Tabela 7.1, o software MATLAB é capaz de localizar raízes de uma
única equação algébrica ou transcendental. Ele é excelente na manipulação e determinação de raízes de polinômios.
A função fzero é projetada para localizar uma raiz de uma única equação. Uma representação simplificada de sua sintaxe é
fzero(f,x0,options)
onde f é a função que você está analisando, x0 é a aproximação inicial, e options são os
parâmetros de otimização (estes são mudados usando-se a função optimset). Se options
for omitido, serão usados valores-padrão. Observe que podem ser utilizadas uma ou duas
aproximações. Se forem usadas duas aproximações, é suposto que elas cerquem uma raiz.
O exemplo a seguir ilustra como fzero pode ser usado.
Seções do texto, bem como problemas para casa,
são dedicados à implementação de métodos
numéricos com o Excel da Microsoft e o software
MATLAB do The MathWorks, Inc.
TABELA 7.1 Funções comuns no MATLAB relacionadas com
a localização de raízes e manipulação de
polinômios.
EXEMPLO 7.6
xviii
155
Função
Descrição
fzero
roots
poly
polyval
polyvalm
residue
polyder
conv
deconv
Raiz de uma única função.
Encontra raízes de polinômios.
Constrói polinômios com raízes especificadas.
Calcula valores de polinômios.
Calcula valores de polinômios com argumentos matriciais.
Expansão em frações parciais (resíduos).
Deriva polinômios.
Multiplica polinômios.
Divide polinômios.
Usando o MATLAB para a Localização de Raízes
10.2 A MATRIZ INVERSA
EXEMPLO 10.3
237
Inversão de Matrizes
Enunciado do Problema. Utilize a decomposição LU para determinar a inversa da
matriz do sistema do Exemplo 10.2.
3 −0,1 −0,2
[A] = 0,1
7
−0,3
0,3 −0,2
10
Lembre-se de que a decomposição resultou nas seguintes matrizes triangulares superior e
inferior:
1
0
0
3
−0,1
−0,2
[L] = 0,0333333
[U ] = 0
1
0
7,00333 −0,293333
0,100000 −0,0271300
1
0
0
10,0120
Nosso texto apresenta diversos exemplos trabalhados
para fornecer ao estudante ilustrações passo a passo
de como os métodos numéricos são implementados.
Solução. A primeira coluna da matriz inversa pode ser determinada efetuando-se o
procedimento de solução da substituição progressiva com um vetor unitário (com o 1 na
primeira linha) como vetor do lado direito. Assim, a Equação (10.8), o sistema triangular
inferior, pode ser escrito como
d1
1
0
0
1
0,0333333
1
0
d2 = 0
0,100000 −0,0271300
1
0
d3
e resolvido com substituição progressiva para determinar {D}T = ⌊1 −0,03333
−0,1009⌋. Esse vetor pode ser usado como lado direito na Equação (10.3),
x1
1
3
−0,1
−0,2
0
7,00333 −0,293333
x2 = −0,03333
−0,1009
0
0
10,0120
x3
a qual pode ser resolvida por substituição regressiva para determinar
{X}T = ⌊0,33249 −0,00518 −0,01008⌋, que é a primeira coluna da matriz,
0,33249 0 0
[A]−1 = −0,00518 0 0
0 01008 0 0
Há 28 estudos de casos de engenharia para ajudar
os estudantes a ligar os métodos numéricos aos
principais campos da engenharia.
CAPÍTULO
8
Estudos de Caso:
Raízes de Equações
O propósito deste Capítulo é usar os procedimentos numéricos discutidos nos Capítulos
5, 6 e 7 para resolver problemas reais de engenharia. As técnicas numéricas são importantes nas aplicações práticas porque a engenharia freqüentemente encontra problemas
que não podem ser abordados usando-se técnicas analíticas. Por exemplo, modelos
matemáticos simples que podem ser resolvidos analiticamente nem sempre são aplicáveis
quando problemas reais estão envolvidos. Logo, modelos mais complicados precisam ser
usados. Nesses casos, é apropriado implementar uma solução numérica com o computador. Em outras situações, problemas de projeto de engenharia exigem soluções para as
variáveis implícitas em equações complicadas.
Os estudos de caso a seguir são encontrados rotineiramente nos cursos de graduação
mais avançados e nos de pós-graduação. Além disso, são representativos dos problemas
tratados profissionalmente. Tais problemas são tirados de quatro ramos importantes da
engenharia: química, civil, elétrica e mecânica. Essas aplicações também servem para
ilustrar os prós e contras entre as diversas técnicas numéricas.
A primeira aplicação, tirada da engenharia química, fornece um exemplo excelente
de como os métodos para localizar raízes permitem usar fórmulas realísticas na prática da
engenharia. Além disso, também ilustra como a eficiência da técnica de Newton-Raphson
é usada com vantagem quando um grande número de localizações de raízes é necessário.
Os problemas de projeto em engenharia seguintes são tirados da engenharia civil,
elétrica e mecânica. A Seção 8.2 usa tanto os métodos que isolam as raízes em intervalos
quanto os métodos abertos para determinar a profundidade e a velocidade da água escoando em um canal aberto. A Seção 8.3 mostra como as raízes das equações transcendentais podem ser utilizadas no projeto de um circuito elétrico. As Seções 8.2 e 8.3 também ilustram como os métodos gráficos fornecem percepção do processo de localização
de raízes. Finalmente, a Seção 8.4 usa a localização de raízes de polinômios para analisar
a vibração de um automóvel.
8.1 LEIS DOS GASES IDEAIS E NÃO-IDEAIS (ENGENHARIA
QUÍMICA E BIOQUÍMICA)
Fundamentos. A lei dos gases ideais é dada por
pV = nRT
(8.1)
Recursos Disponíveis no Site
O Online Learning Center (Centro de Aprendizagem Online) no
endereço www.mhhe.com/chapra oferece recursos para o estudante e
para o professor. Esses materiais estão disponíveis em inglês e alguns
são comerciais, ou seja, você precisa comprá-los. Os professores
brasileiros necessitam obter uma senha junto à McGraw-Hill do Brasil
para acessarem os recursos on-line. A senha deve ser solicitada por
e-mail (
[email protected]). Na Europa, a senha deve ser
obtida junto à McGraw-Hill de Portugal (
[email protected]).
Todos os softwares utilizados nos recursos on-line foram desenvolvidos pela McGraw-Hill dos EUA.
A McGraw-Hill Interamericana do Brasil não oferece suporte para esses softwares nem se responsabiliza por qualquer falha que possa ocorrer durante o seu uso. Caso tenha algum problema, acesse o
suporte técnico em www.mhhe.com/support ou ainda o site do produto em www.cosmosm.com.
xix
SOBRE OS AUTORES
Steve Chapra leciona no Departamento de Engenharia Civil e Ambiental na Universidade de Tufts, onde ocupa a posição de Louis Berger Chair na Computação e Engenharia.
Seus outros livros incluem Surface Water-Quality Modeling and Applied Numerical
Methods with MATLAB.
Dr. Chapra recebeu diplomas de engenharia do Manhattan College e da Universidade de Michigan. Antes de se juntar ao corpo docente da Tufts, trabalhou para a Agência
de Proteção Ambiental e para a Administração Nacional Atmosférica e Oceânica e lecionou na Universidade A&M do Texas e na Universidade do Colorado. Seus interesses
gerais em pesquisa se concentram na modelagem da qualidade da água superficial e em
aplicações computacionais avançadas na engenharia ambiental.
Ele recebeu diversos prêmios por suas contribuições acadêmicas, incluindo a
medalha Rudolph Hering (ASCE) de 1993 e o Prêmio de Autor Notável da MeriamWiley de 1987 (Sociedade Norte-Americana para Educação em Engenharia). Também foi
reconhecido como um professor destacado entre o corpo docente tanto da Universidade
A&M do Texas (Prêmio Tenneco de 1986) quanto da Universidade do Colorado (Prêmio
Hutchinson de 1992).
Raymond P. Canale é professor emérito da Universidade de Michigan. Durante sua
carreira de mais de 20 anos na universidade, e ministrou diversos cursos na área de computadores, métodos numéricos e engenharia ambiental. Também dirigiu programas de
pesquisa extensivos na área de modelagem matemática e computacional de ecossistemas
aquáticos. Ele foi autor ou co-autor de diversos livros e publicou mais de cem artigos e relatórios científicos. Também projetou e desenvolveu software para computadores pessoais para facilitar a educação em engenharia e a solução de problemas de engenharia. Ele
ganhou o Prêmio de Autor Notável da Meriam-Wiley da Sociedade Norte-Americana
para Educação em Engenharia por seus livros e software e diversos prêmios por suas publicações técnicas.
O professor Canale está atualmente dedicando suas energias a problemas aplicados, nos quais trabalha com empresas e indústrias de engenharia e agências governamentais como consultor e perito.
xxi
PT1.1 MOTIVAÇÃO
1
PARTE UM
MODELAGEM,
COMPUTADORES E ANÁLISE
DE ERROS
PT1.1 MOTIVAÇÃO
Os métodos numéricos são técnicas pelas quais os problemas matemáticos são formulados de modo que possam ser resolvidos com operações aritméticas. Embora existam
muitos tipos de métodos numéricos, eles têm uma característica em comum: invariavelmente envolvem grande número de cálculos aritméticos tediosos. Não é nada surpreendente que, com o desenvolvimento de computadores digitais rápidos e eficientes, o papel
dos métodos numéricos na resolução de problemas de engenharia aumentou dramaticamente nos últimos anos.
PT1.1.1 Métodos Não-computacionais
Além de fornecer uma capacidade computacional aumentada, a disponibilidade muito difundida dos computadores (especialmente dos computadores pessoais) e a parceria com
métodos numéricos vêm tendo uma influência significativa na resolução moderna de
problemas de engenharia. Na era antes do computador, em geral havia três formas diferentes pelas quais os engenheiros abordavam a solução de problemas:
1. As soluções eram deduzidas para alguns problemas usando-se métodos analíticos ou
exatos. Essas soluções eram freqüentemente úteis e forneciam uma visão excelente do
comportamento de alguns sistemas. Entretanto, as soluções analíticas podem ser
deduzidas apenas para uma classe limitada de problemas, que incluem os que podem
ser aproximados por modelos lineares e aqueles que têm uma geometria simples e
dimensão baixa. Conseqüentemente, as soluções analíticas têm valor prático limitado
porque, em sua maioria, os problemas reais são não-lineares e envolvem formas e
processos complexos.
2. As soluções gráficas eram usadas para caracterizar o comportamento dos sistemas;
em geral, elas tinham a forma de gráficos ou nomógrafos. Embora as soluções
gráficas freqüentemente possam ser usadas para resolver problemas complexos, os
resultados não são muito precisos. Além disso, soluções gráficas (sem a ajuda de
computadores) são extremamente tediosas e inconvenientes para implementar.
Finalmente, as técnicas gráficas, com freqüência, são limitadas a problemas que
podem ser descritos usando-se três dimensões ou menos.
3. Calculadoras e regras de cálculos eram usadas para implementar os métodos
numéricos manualmente. Embora, em teoria, tais abordagens fossem perfeitamente
adequadas para resolver problemas complexos, na realidade, eram encontradas
muitas dificuldades. Os cálculos manuais são lentos e tediosos. Além disso,
resultados consistentes são esquivos por causa de enganos simples que acontecem
quando tarefas manuais numerosas são realizadas.
Na era pré-computador, uma quantidade significativa de energia era gasta na técnica
de resolução propriamente dita, em vez de na definição e interpretação do problema
(Figura PT1.1a). Essa situação lamentável existia porque muito tempo e trabalho pesado
eram necessários para obter respostas numéricas usando-se as técnicas pré-computador.
Hoje em dia, os computadores e os métodos numéricos fornecem uma alternativa
para tais cálculos complicados. Usando o poder do computador para obter diretamente
soluções, é possível abordar esses cálculos sem o recurso de hipóteses simplificadoras ou
2
PT1.1 MOTIVAÇÃO
FORMULAÇÃO
As leis fundamentais
eram explicadas
resumidamente
SOLUÇÃO
FIGURA PT1.1
Há três fases de resolução de
problemas de engenharia (a)
na era pré-computador e (b) na
era do computador. O tamanho
das caixas indica o nível de
ênfase direcionada a cada
fase. Os computadores
facilitaram a implementação
da técnica de resolução e,
portanto, permitiram mais
ênfase nos aspectos criativos
da formulação do problema e
na interpretação dos resultados.
Método elaborado e, em geral,
complicado para tornar os
problemas tratáveis
3
FORMULAÇÃO
Exposição profunda da
relação entre o problema
e as leis fundamentais
SOLUÇÃO
Método
computacional
fácil de usar
INTERPRETAÇÃO
INTERPRETAÇÃO
Análise profunda
limitada pela
solução demorada
Facilidade de cálculos permite o
desenvolvimento de pensamentos
holísticos e da intuição; a
sensibilidade e o comportamento
do sistema podem ser estudados
(a)
(b)
técnicas para economizar tempo. Embora as soluções analíticas ainda sejam extremamente valiosas tanto para soluções dos problemas quanto para fornecer uma visão geral,
os métodos numéricos representam alternativas que aumentam enormemente os recursos
para confrontar e resolver problemas. Como resultado, mais tempo fica disponível para
ser usado em habilidades criativas. Portanto, mais ênfase pode ser posta na formulação do
problema e na interpretação da solução e na incorporação do sistema total, ou percepção
“holística” (Figura PT1.1b).
PT1.1.2 MÉTODOS NUMÉRICOS E PRÁTICA DA ENGENHARIA
Desde o fim da década de 1940, a vasta disponibilidade dos computadores digitais levou
a uma verdadeira explosão no uso e desenvolvimento dos métodos numéricos. Inicialmente, esse crescimento foi um pouco limitado pelo custo do acesso a computadores de
grande porte — conseqüentemente, muitos engenheiros continuaram a usar a abordagem
analítica simples em uma parte significativa do seu trabalho. É claro que a recente
evolução dos computadores pessoais baratos forneceu pronto acesso a recursos computacionais poderosos. Existem diversas razões adicionais pelas quais se deve estudar métodos numéricos:
1. Os métodos numéricos são ferramentas extremamente poderosas na resolução de
problemas. Eles são capazes de lidar com um grande número de equações, nãolinearidades e geometrias complicadas que não são incomuns na prática da
engenharia e, em geral, são impossíveis de resolver analiticamente. Dessa forma, eles
aumentam enormemente a capacidade de resolver problemas.
2. Durante a carreira, o profissional da engenharia freqüentemente terá ocasião de usar
pacotes comercialmente disponíveis, ou programas de computador “enlatados” que
envolvem métodos numéricos. O uso inteligente desses programas depende, com
freqüência, do conhecimento da teoria básica fundamental dos métodos.
4
MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS
3. Muitos problemas não podem ser abordados utilizando programas enlatados. Se o
engenheiro estiver familiarizado com métodos numéricos e souber programar o
computador, poderá projetar seu próprio programa para resolver problemas sem ter de
comprar ou contratar softwares caros.
4. Os métodos numéricos são um veículo eficiente para o aprendizado do uso de
computadores. É bem conhecido que uma forma eficiente de aprender a programar é
realmente escrever um programa de computador. Como os métodos numéricos são, na
maior parte, projetados para implementação em computadores, eles se mostram ideais
para esse propósito. Além disso, são especialmente adequados para ilustrar o poder e
as limitações dos computadores. Quando se implementam com sucesso métodos
numéricos em um computador e, então, eles são aplicados para resolver problemas
intratáveis de outra forma, tem-se acesso a uma demonstração dramática de como os
computadores podem ajudar o desenvolvimento profissional. Ao mesmo tempo,
aprende-se a identificar e a controlar os erros das aproximações, que são parte
essencial de cálculos numéricos em grande escala.
5. Os métodos numéricos fornecem um veículo para o profissional reforçar seu
entendimento da matemática. Como uma função dos métodos numéricos é reduzir a
matemática mais avançada a operações aritméticas básicas, eles chegam aos detalhes
práticos de alguns tópicos que, de outra forma, seriam obscuros. Aprimoramento do
entendimento e da percepção pode resultar dessa perspectiva alternativa.
PT1.2 FUNDAMENTOS MATEMÁTICOS
Todas as partes deste livro usam alguns fundamentos matemáticos. Conseqüentemente, o
material introdutório para cada parte inclui uma seção, como a presente seção, sobre fundamentos matemáticos. Como a Parte Um propriamente dita é devotada à revisão de material em matemática e computadores, esta seção não envolve uma revisão de um tópico
matemático específico. Em vez disso, aproveita-se a oportunidade para introduzir o tipo
de assuntos da matemática cobertos neste livro. Como resumido na Figura PT1.2, esses
assuntos são:
1. Raízes de Equações (Figura PT1.2a). Esses problemas dizem respeito ao valor de
uma variável ou a um parâmetro que satisfaz uma única equação não-linear. Eles são
especialmente importantes no contexto de projetos de engenharia, em que
freqüentemente é impossível resolver explicitamente as equações para os parâmetros
do projeto.
2. Sistemas de Equações Algébricas Lineares (Figura PT1.2b). Esses problemas são
similares aos das raízes de equações, no sentido de que dizem respeito aos valores
que satisfazem tais equações. Entretanto, em contraste a satisfazer uma única
equação, é procurado um conjunto de valores que satisfaça simultaneamente um
conjunto de equações algébricas lineares. Essas equações aparecem em uma grande
variedade de contextos de problemas e em todas as disciplinas da engenharia. Em
particular, elas se originam na modelagem matemática de grandes sistemas de
elementos interconectados, como estruturas, circuitos elétricos e redes de fluidos.
Entretanto, também são encontradas em outras áreas dos métodos numéricos, como
ajustes de curva e equações diferenciais.
3. Otimização (Figura PT1.2c). Esses problemas envolvem a determinação de um valor
ou valores de uma variável independente que corresponde ao “melhor” valor ou ao
valor ótimo de uma função. Portanto, como na Figura PT1.2c, a otimização envolve
a identificação de máximos e mínimos. Tais problemas ocorrem rotineiramente no
contexto de projetos de engenharia. Eles também aparecem em uma variedade de
outros métodos numéricos. A otimização sem restrições é tratada tanto em uma
variável quanto em muitas variáveis. Também é descrita a otimização restrita, com
ênfase particular na programação linear.
PT1.2 FUNDAMENTOS MATEMÁTICOS
(a) Parte 2: Raízes de equações
5
f(x)
Resolva f(x) = 0 determinando x.
Raiz
x
(b) Parte 3: Equações algébricas lineares
x2
Dados os a’s e os c’s, resolva
a11x1 + a12x2 = c1
a21x1 + a22x2 = c2
para determinar os x’s.
Solução
x1
(c) Parte 4: Otimização
Determine x que dê o valor ótimo de f(x).
f(x)
Mínimo
x
(d) Parte 5: Ajuste de curvas
f(x)
f(x)
Interpolação
Regressão
x
(e) Parte 6: Integração
I = 兰ab f (x) dx
Encontre a área sob a curva.
x
f(x)
I
x
( f ) Parte 7: Equações diferenciais ordinárias
y
Dada
dy
y
⯝
= f(t, y)
dt
t
Inclinação =
f(t i , y i )
resolva, encontrando y como função de t.
yi + 1 = yi + f (ti , yi ) t
t
ti
(g) Parte 8: Equações diferenciais parciais
ti + 1
t
y
Dada
2u + 2u
= f (x, y)
y2
x2
resolva, encontrando u como função
de x e y
FIGURA PT1.2
Resumo dos métodos numéricos
cobertos neste livro.
x
6
MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS
4. Ajuste de Curvas (Figura PT1.2d). Freqüentemente é necessário ajustar curvas a
conjuntos de dados. As técnicas desenvolvidas para esse propósito podem ser
divididas em duas categorias gerais: regressão e interpolação. A regressão é
empregada quando existe um grau significativo de erro associado aos dados. Os
resultados experimentais são geralmente desse tipo. Para tais situações, a estratégia é
desenvolver uma única curva que represente a tendência geral dos dados, sem
necessariamente coincidir com nenhum ponto individual. Em contraste, a
interpolação é usada quando o objetivo é determinar valores intermediários entre
dados relativamente livres de erros — usualmente, é o caso para informações
tabuladas. Para tais situações, a estratégia é ajustar a curva diretamente pelos pontos
dados e usar essa curva para prever os valores intermediários.
5. Integração (Figura PT1.2e). Como descrito, uma interpretação física de integração
numérica é a determinação da área sob a curva. A integração tem muitas aplicações
na prática da engenharia, variando da determinação de centróides de objetos de forma
estranha a cálculos de quantidades totais baseados em conjuntos de medidas
discretas. Além disso, as fórmulas de integração numérica desempenham um papel
importante na solução de equações diferenciais.
6. Equações Diferenciais Ordinárias (Figura PT1.2f). As equações diferenciais
ordinárias têm um grande significado na prática da engenharia, e isso ocorre porque
muitas leis físicas são descritas em termos da taxa de variação de uma quantidade em
vez do valor da quantidade propriamente dita. Os exemplos variam de modelos de
previsão populacional (taxa de variação da população) à aceleração de um corpo em
queda livre (taxa de variação da velocidade). Dois tipos de problemas são tratados:
problemas de valor inicial e valor de contorno. Além disso, o cálculo de autovalores
também é coberto.
7. Equações Diferenciais Parciais (Figura PT1.2g). As equações diferenciais parciais
são usadas para caracterizar sistemas de engenharia nos quais o comportamento de
uma quantidade física é determinado pela sua taxa de variação em relação a duas ou
mais variáveis independentes. Os exemplos incluem a distribuição estacionária de
temperaturas em uma chapa aquecida (duas dimensões espaciais) ou a temperatura
dependendo do tempo de uma haste aquecida (tempo e uma dimensão espacial). Duas
abordagens fundamentalmente diferentes são empregadas para resolver equações
diferenciais parciais numericamente. Neste texto, serão enfatizados os métodos de
diferença finita, que aproximam a solução de maneira pontual (Figura PT1.2g).
Entretanto, também será apresentada uma introdução aos métodos de elementos
finitos, que usam uma abordagem por partes.
PT1.3 ORIENTAÇÃO
Alguma orientação pode ser útil antes de prosseguir com a introdução aos métodos
numéricos. O que segue deve ser visto como uma visão geral do material na Parte Um.
Além disso, alguns objetivos foram incluídos para focalizar os esforços do aluno ao estudar este material.
PT1.3.1 Escopo e Visão Geral
A Figura PT1.3 é uma representação esquemática do material na Parte Um. Esse diagrama foi projetado para fornecer uma visão global desta parte do livro. O sentido de
“perspectiva geral” é crítico no desenvolvimento da intuição nos métodos numéricos.
Quando se lê um texto, é fácil perder-se nos detalhes técnicos. Sempre que o estudante
sentir que está perdendo a perspectiva geral, deve consultar a Figura PT1.3 para se
reorientar. Todas as partes deste livro incluem uma figura similar.
A Figura PT1.3 também serve como uma breve apresentação prévia do material
coberto na Parte Um. O Capítulo 1 foi projetado para orientar o estudante nos métodos
numéricos e para fornecer motivação, mostrando como essas técnicas podem ser usadas
no processo de modelagem da engenharia. O Capítulo 2 é uma introdução e revisão de
aspectos dos métodos numéricos relacionados com o computador e sugere o nível de ha-
PT1.3 ORIENTAÇÃO
PT 1.1
Motivação
7
PT 1.2
Fundamentos
matemáticos
PT 1.3
Orientação
1.1
Um modelo
matemático simples
PARTE 1
Modelagem,
Computadores e
Análise
de Erros
PT 1.6
Métodos
avançados
PT 1.5
Relação e fórmulas
importantes
1.2
Leis de
conservação
e engenharia
CAPÍTULO 1
Modelagem
Matemática e
Resolução de
Problemas de
Engenharia
EPÍLOGO
PT 1.4
Prós e contras
2.1
Pacotes e
programação
4.4
Enganos, erros
de formulação e
incerteza nos dados
4.3
Erro numérico
total
2.2
Programação
estruturada
CAPÍTULO 4
Erros de
Truncamento
e Séries de Taylor
CAPÍTULO 2
Programação
e Software
2.4
Excel
CAPÍTULO 3
Aproximações e
Erros de
Arredondamento
4.2
Propagação
de erros
4.1
A série de
Taylor
3.4
Erros de
arredondamento
3.3
Definição
de erros
2.3
Programação
modular
2.6
Linguagens e
bibliotecas
2.5
MATLAB
3.1
Algarismos
significativos
3.2
Acurácia e
precisão
FIGURA PT1.3
Esquema da organização do material da Parte Um: Modelagem, Computadores e Análise de Erros.
bilidades computacionais que é necessário adquirir para aplicar de forma eficiente as informações que vêm a seguir. Os Capítulos 3 e 4 dizem respeito ao importante tópico da
análise de erros, que precisa ser entendido para o uso eficiente dos métodos numéricos.
Além disso, é incluído um epílogo, no qual são introduzidos os prós e contras, que têm
um grande significado para a implementação efetiva dos métodos numéricos.
PT1.3.2 Metas e Objetivos
Objetivos de Estudo. Após completar a Parte Um, o estudante deverá estar adequadamente preparado para embarcar em seus estudos sobre os métodos numéricos. Em geral,
deve ter adquirido um entendimento fundamental sobre a importância dos computadores
e sobre o papel das aproximações e dos erros na implementação e no desenvolvimento
dos métodos numéricos. Além dessas metas gerais, deve ter dominado cada um dos objetivos de estudo específicos listados na Tabela PT1.1.
8
MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS
TABELA PT1.1 Objetivos de estudo específicos para a Parte Um.
1. Reconhecer a diferença entre soluções analítica e numérica.
2. Entender como as leis de conservação são empregadas para desenvolver modelos matemáticos do
sistema físico.
3. Definir projeto por refinamento e modular.
4. Definir as regras que fundamentam a programação estruturada.
5. Ser capaz de compor programas estruturados e modulares em uma linguagem de computação de
alto nível.
6. Saber como traduzir fluxogramas estruturados e pseudocódigos para códigos em uma linguagem de
alto nível.
7. Começar a se familiarizar com todos os pacotes de software que serão usados junto com este texto.
8. Reconhecer a distinção entre erros de truncamento e de arredondamento.
9. Entender os conceitos de algarismos significativos, acurácia e precisão.
10. Reconhecer a diferença entre erro relativo verdadeiro ε t, erro relativo aproximado ε a, e erro aceitável
ε s, e entender como ε a e ε s são usados para finalizar um cálculo iterativo.
11. Entender como os números são representados em computadores digitais e como essa representação
induz a erros de arredondamento. Em particular, saber a diferença entre precisão simples e estendida.
12. Reconhecer como a aritmética do computador pode introduzir e ampliar erros de arredondamento
nos cálculos. Em particular, analisar o problema do cancelamento na subtração.
13. Entender como a série de Taylor e seu resto são empregados para representar funções contínuas.
14. Saber a relação entre as diferenças divididas finitas e as derivadas.
15. Ser capaz de analisar como os erros se propagam por meio das relações funcionais.
16. Estar familiarizado com os conceitos de estabilidade e condicionamento.
17. Familiarizar-se com os prós e contras delineados no Epílogo da Parte Um.
Objetivos Computacionais. Quando completar a Parte Um, o estudante deve ter
adquirido habilidades computacionais suficientes para desenvolver seu próprio software
para os métodos numéricos neste texto. Deve ser capaz de desenvolver programas de computador bem estruturados e confiáveis com base em pseudocódigo, fluxogramas e outras
formas de algoritmos. Também deve ter desenvolvido a capacidade de documentar seus
programas de forma que eles possam ser usados efetivamente pelos usuários. Finalmente,
além dos seus próprios programas, o aluno pode usar pacotes de softwares juntamente com
este livro. Os pacotes como Excel ou The MathWorks, Inc. MATLAB® são exemplos de
tais softwares. O estudante deve estar familiarizado com esses pacotes, de forma que possa
usá-los confortavelmente para resolver problemas numéricos mais adiante neste texto.
CAPÍTULO
1
Modelagem Matemática e
Resolução de Problemas de
Engenharia
O conhecimento e o entendimento são pré-requisitos para a implementação efetiva de
qualquer ferramenta. Não importa quão incrível seja sua caixa de ferramentas, você terá
dificuldades para consertar um carro se não entender como ele funciona.
Isso é particularmente verdade quando se usam computadores para resolver problemas de engenharia. Embora tenham uma utilidade potencial imensa, os computadores são
praticamente inúteis sem um entendimento fundamental de como os sistemas da engenharia funcionam.
Esse conhecimento é adquirido inicialmente de forma empírica — isto é, por observação e experiência. Entretanto, embora tal informação adquirida empiricamente seja
essencial, ela é apenas metade da história. Durante anos e anos de observação e experiência, os engenheiros e cientistas notaram que certos aspectos dos seus estudos empíricos
ocorrem repetidamente. Tal comportamento geral pode então ser expresso como leis fundamentais que essencialmente representam o conhecimento acumulado da experiência
passada. Portanto, a resolução da maioria dos problemas de engenharia usa uma abordagem com as duas vertentes, a do empirismo e a da análise teórica (Figura 1.1).
Deve ser enfatizado que as duas vertentes são intimamente ligadas. Conforme novas
medidas são feitas, as generalizações podem ser modificadas, ou novas generalizações
desenvolvidas. Analogamente, as generalizações podem ter uma forte influência nas
experiências e observações. Em particular, as generalizações podem servir como princípios organizatórios empregados para resumir resultados de observações e experiências
em uma estrutura coerente e abrangente, a partir das quais são tiradas conclusões. Da
perspectiva de resolução de problemas de engenharia, tal estrutura é mais útil quando
expressa na forma de um modelo matemático.
O objetivo primário deste capítulo é introduzi-lo à modelagem matemática e ao seu
papel na resolução de problemas de engenharia. Vamos também ilustrar como os métodos
numéricos figuram no processo.
1.1
UM MODELO MATEMÁTICO SIMPLES
Um modelo matemático pode ser definido, de forma geral, como uma formulação ou
equação que expressa as características essenciais de um sistema ou processo físico em
termos matemáticos. Em um sentido muito geral, ele pode ser representado como uma
relação funcional da forma
Variável
= f
dependente
Variáveis
termos
, parâmetros,
independentes
forçantes
(1.1)
onde a variável dependente é uma característica que usualmente reflete o comportamento
ou estado do sistema; as variáveis independentes usualmente são dimensões, como tempo
e espaço, ao longo das quais o comportamento do sistema está sendo determinado; os
parâmetros refletem propriedades ou composição do sistema; os termos forçantes são as
influências externas agindo sobre o sistema.
9
10
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
Definição
do problema
Modelo
matemático
TEORIA
DADOS
Ferramentas para a resolução
de problemas: computadores,
estatística, métodos
numéricos, gráficos etc.
Resultados
numéricos ou
gráficos
Interface social:
planejamento, otimização,
comunicação,
interação com o público etc.
FIGURA 1.1
O processo de resolver
problemas de engenharia.
Implementação
A expressão matemática real da Equação (1.1) pode variar de uma simples relação
algébrica a um conjunto grande e complicado de equações diferenciais. Por exemplo,
com base em suas observações, Newton formulou sua segunda lei do movimento, que
afirma que a taxa de variação no tempo do momento de um corpo é igual à força resultante agindo nele. A expressão matemática, ou modelo, da segunda lei é a equação bem
conhecida
F = ma
(1.2)
onde F é a força resultante agindo no corpo (N, ou kg m/s2), m massa do objeto (kg) e
a é a sua aceleração (m/s2).
A segunda lei pode ser reescrita na forma da Equação (1.1) simplesmente dividindo
ambos os lados por m para obter
a=
F
m
(1.3)
onde a é a a variável dependente refletindo o comportamento do sistema, F é o termo
forçante e m é um parâmetro representando uma propriedade do sistema. Observe que,
para esse caso simples, não há nenhuma variável independente, porque não estamos prevendo como a aceleração varia no tempo ou no espaço.
A Equação (1.3) tem diversas características que são típicas de modelos matemáticos
do mundo físico:
1.
2.
Ela descreve um processo ou sistema natural em termos matemáticos.
Ela representa uma idealização e simplificação da realidade. Isto é, o modelo ignora
detalhes desprezíveis do processo natural e se concentra nas suas manifestações
essenciais. Portanto, a segunda lei não inclui os efeitos da relatividade, que são de
importância mínima quando aplicados a objetos e forças que interagem sobre a ou
perto da superfície da Terra, com velocidades e em escalas visíveis aos humanos.
1.1 UM MODELO MATEMÁTICO SIMPLES
FU
FD
FIGURA 1.2
Diagrama esquemático das
forças agindo em um páraquedista em queda livre. FD é a
força devida à gravidade, para
baixo. FU é a força devida à
resistência do ar, para cima.
3.
11
Finalmente, ela produz resultados que podem ser reproduzidos e, conseqüentemente, ser usados para propósitos de previsão. Por exemplo, se a força sobre um objeto
e a massa de um objeto são conhecidas, a Equação (1.3) pode ser usada para calcular
a aceleração.
Por causa de sua forma algébrica simples, a solução da Equação (1.2) é facilmente
obtida. Entretanto, outros modelos matemáticos de fenômenos físicos podem ser
muito mais complexos e, ou não podem ser resolvidos exatamente, ou exigem técnicas
matemáticas mais sofisticadas que a álgebra simples para sua solução. Para ilustrar um
modelo mais complexo deste tipo, a segunda lei de Newton pode ser usada para determinar a velocidade terminal de um corpo em queda livre, perto da superfície da Terra.
Nosso corpo em queda livre será um pára-quedista (Figura 1.2). Um modelo para esse
caso pode ser deduzido expressando a aceleração como taxa de variação no tempo da
velocidade (dv/dt) e substituindo-a na Equação (1.3) para obter
dv
F
=
(1.4)
dt
m
onde v é a velocidade (m/s) e t é o tempo (s). Portanto, a massa multiplicada pela taxa de
variação da velocidade é igual à força resultante agindo no corpo. Se a força resultante for
positiva, o objeto irá acelerar. Se for negativa, o objeto vai desacelerar. Se a força resultante for nula, a velocidade do objeto permanecerá em um nível constante.
A seguir, vamos expressar a força resultante em termos das variáveis e parâmetros
mensuráveis. Para um corpo em queda livre na vizinhança da Terra (Figura 1.2), a força
resultante é composta de duas forças opostas: a força gravitacional, para baixo, FD e a
força da resistência do ar, para cima, FU :
F = FD + FU
(1.5)
FD = mg
(1.6)
FU = −cv
(1.7)
Se associarmos um sinal positivo à força para baixo, a segunda lei pode ser usada
para escrever a força devida à gravidade como
onde g é a constante gravitacional, ou a aceleração devida à gravidade, que é aproximadamente igual a 9,8 m/s2.
A resistência do ar pode ser formulada de diversas maneiras. Uma abordagem simples é assumir que ela é linearmente proporcional à velocidade1 e age no sentido para
cima, como em
onde c é uma constante de proporcionalidade chamada de coeficiente de arrasto (kg/s).
Portanto, quanto maior a velocidade de queda, maior a força para cima devida à resistência do ar. O parâmetro c representa as propriedades de objetos em queda livre, como a
forma ou a aspereza da superfície, que afetam a resistência do ar. No caso presente, c
poderia ser uma função do tipo de macacão ou da orientação usada pelo pára-quedista durante a queda livre.
A força resultante é a diferença entre a força para baixo e a força para cima. Portanto,
as Equações (1.4) até (1.7) podem ser combinadas para fornecer
dv
mg − cv
=
dt
m
(1.8)
ou, simplificando o lado direito,
dv
c
=g− v
dt
m
1
(1.9)
Na realidade, a relação é realmente não-linear e poderia ser mais bem representada por uma relação do tipo
potência, como FU cv2. Vamos explorar como tais não-linearidades afetam o modelo em um problema no
final deste capítulo.
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
12
A Equação (1.9) é um modelo que relaciona a aceleração do objeto em queda às
forças agindo nele. Ela é uma equação diferencial porque é escrita em termos da taxa de
variação diferencial (dv/dt ) da variável que estamos interessados em prever. Entretanto,
em contraste com a solução da segunda lei de Newton na Equação (1.3), a solução exata
da Equação (1.9) para a velocidade de um pára-quedista em queda livre não pode ser
obtida usando manipulação algébrica simples. Em vez disso, técnicas mais avançadas
como aquelas do cálculo devem ser aplicadas para se obter uma solução exata ou
analítica. Por exemplo, se o pára-quedista estiver inicialmente em repouso (v = 0 em
t = 0), o cálculo pode ser usado para resolver a Equação (1.9), fornecendo
gm
v(t) =
1 − e−(c/m)t
(1.10)
c
Observe que a Equação (1.10) está escrita na forma geral da Equação (1.1), onde
v(t) é a variável independente, t é a variável independente, c e m são parâmetros, e g é o
termo forçante.
EXEMPLO 1.1
Solução Analítica para o Problema do Pára-quedista em Queda Livre
Enunciado do Problema. Um pára-quedista de massa 68,1 kg pula de um balão de ar
quente parado. Use a Equação (1.10) para calcular a velocidade anterior à abertura do
pára-quedas. O coeficiente de arrasto é igual a 12,5 kg/s.
Inserindo os parâmetros na Equação (1.10), obtemos
9,8(68,1)
1 − e−(12,5/68,1)t = 53,39 1 − e−0,18355t
v(t) =
12,5
Solução.
o que pode ser usado para calcular
t, s
v, m/s
0
2
4
6
8
10
12
0,00
16,40
27,77
35,64
41,10
44,87
47,49
53,39
De acordo com o modelo, o pára-quedista acelera rapidamente (Figura 1.3). Uma velocidade de 44,87 m/s (100,4 mi/h) é atingida após 10 s. Observe também que, após um
tempo suficientemente longo, é atingida uma velocidade constante, chamada de velocidade terminal, de 53,39 m/s (119,4 mi/h). Essa velocidade é constante porque, eventualmente, a força da gravidade estará em equilíbrio com a resistência do ar. Portanto, a força
resultante é nula e a aceleração deixa de existir.
A Equação (1.10) é chamada uma solução analítica ou exata porque ela satisfaz
exatamente a equação diferencial original. Infelizmente, existem muitos modelos
matemáticos que não podem ser resolvidos exatamente. Em muitos desses casos, a única
alternativa é desenvolver uma solução numérica que aproxime a solução exata.
Como mencionado previamente, os métodos numéricos são aqueles nos quais os
problemas matemáticos são reformulados de forma que possam ser resolvidos por operações aritméticas. Isso pode ser ilustrado para a segunda lei de Newton, observando que
a taxa de variação no tempo da velocidade pode ser aproximada por (Figura 1.4):
dv ∼ v
v(ti+1 ) − v(ti )
=
=
dt
t
ti+1 − ti
(1.11)
1.1 UM MODELO MATEMÁTICO SIMPLES
13
Velocidade terminal
v, m/s
40
20
FIGURA 1.3
A solução analítica do
problema do pára-quedista em
queda livre, como calculada no
Exemplo 1.1. A velocidade
aumenta com o tempo e se
aproxima assintoticamente da
velocidade terminal.
0
4
0
8
12
t, s
onde v e t são diferenças na velocidade e no tempo, respectivamente, calculados sobre
intervalos finitos, v(ti ) é velocidade em um instante inicial ti , e v(ti+1 ) é velocidade em
= v/t é aproximado porque t é finito.
um instante posterior ti +1 . Observe que dv/dt ∼
Lembre-se, do cálculo, que
dv
v
= lim
t→0 t
dt
A Equação (1.11) representa o processo reverso.
A Equação (1.11) é chamada de aproximação por diferença dividida finita da
derivada no instante ti . Ela pode ser substituída na Equação (1.9) para fornecer
v(ti+1 ) − v(ti )
c
= g − v(ti )
ti+1 − ti
m
Esta equação pode ser rearranjada para fornecer
c
v(ti+1 ) = v(ti ) + g − v(ti ) (ti+1 − ti )
m
FIGURA 1.4
O uso de uma diferença finita
para aproximar a primeira
derivada de v com relação a t.
v(ti +1)
(1.12)
Inclinação
verdadeira
dv/dt
v
Inclinação aproximada
v(ti )
v v(ti +1) – v(ti )
= t –t
i +1
i
t
ti +1
ti
t
t
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
14
Observe que o termo entre colchetes é o lado direito da equação diferencial propriamente dita [Equação (1.9)]. Isto é, ela fornece um meio de calcular a taxa de variação
ou a inclinação de v. Portanto, a equação diferencial foi transformada em uma equação
que pode ser usada para determinar algebricamente a velocidade em ti+1 usando a inclinação e os valores anteriores de v e t. Se for dado um valor inicial para a velocidade em
algum instante ti , pode-se facilmente calcular a velocidade em um instante posterior ti+1 .
Esse novo valor da velocidade em ti+1 pode, por sua vez, ser usado para estender o cálculo da velocidade a ti+2 , e assim por diante. Portanto, em qualquer instante ao longo
do caminho,
Valor novo valor velho inclinação tamanho do passo
Observe que essa abordagem é chamada oficialmente de método de Euler.
EXEMPLO 1.2
Solução Numérica para o Problema do Pára-quedista em Queda Livre
Enunciado do Problema. Faça os mesmos cálculos que no Exemplo 1.1, mas use a
Equação (1.12) para calcular a velocidade. Use um passo de tamanho 2 s para os cálculos.
Solução. No início dos cálculos (ti = 0), a velocidade do pára-quedista é zero. Usando essa informação e os valores dos parâmetros do Exemplo 1.1, a Equação (1.12) pode
ser utilizada para calcular a velocidade em ti+1 = 2 s:
12, 5
(0) 2 = 19,60 m/s
v = 0 + 9,8 −
68,1
Para o intervalo seguinte (de t 2 a 4 s), os cálculos são repetidos, com o resultado
12,5
v = 19,60 + 9,8 −
(19,60) 2 = 32,00 m/s
68,1
Continua-se os cálculos, de forma análoga, para se obter valores adicionais:
t, s
v, m/s
0
2
4
6
8
10
12
0,00
19,60
32,00
39,85
44,82
47,97
49,96
53,39
O resultado está representado graficamente na Figura 1.5, juntamente com a solução
exata. Pode-se ver que o método numérico retrata as características essenciais da solução exata. Entretanto, como foram usados segmentos de retas para aproximar uma
função que se curva continuamente, existe alguma discrepância entre os dois resultados.
Uma forma de minimizar tais discrepâncias seria usar um passo de tamanho menor. Por
exemplo, a aplicação da Equação (1.12) em intervalos de 1 s resulta em um erro menor,
já que os segmentos de retas seguem a solução verdadeira mais de perto. Fazendo-se os
cálculos à mão, o esforço associado ao uso de passos cada vez menores tornaria tais
soluções numéricas não-práticas. Entretanto, com o auxílio do computador, grandes
números de cálculos podem ser feitos facilmente. Portanto, pode-se modelar com exatidão a velocidade do pára-quedista em queda livre sem ter de resolver a equação diferencial exatamente.
Como no exemplo anterior, para resultados numéricos mais acurados, deve-se pagar
o preço computacional. Cada vez que dividirmos o tamanho do passo pela metade, para
obter mais acurácia teremos de fazer o dobro do número de cálculos. Assim, vemos que
1.2 LEIS DE CONSERVAÇÃO E ENGENHARIA
15
Velocidade terminal
Solução numérica, aproximada
v, m/s
40
Solução analítica, exata
20
FIGURA 1.5
Comparação das soluções
numéricas e analíticas do
problema do pára-quedista
em queda livre.
0
0
4
8
12
t, s
há um balanceamento entre a acurácia e o esforço computacional. Tais prós e contras
figuram de forma proeminente nos métodos numéricos e constituem um tema importante
neste livro. Conseqüentemente, devotamos o Epílogo da Parte Um a uma introdução a
mais desses prós e contras.
1.2
LEIS DE CONSERVAÇÃO E ENGENHARIA
Além da segunda lei de Newton, existem outros princípios de organização importantes na
engenharia. Entre os mais importantes deles estão as leis de conservação. Embora elas
formem a base para uma variedade de modelos matemáticos complicados e poderosos, as
grandes leis de conservação da ciência e da engenharia são conceitualmente fáceis de entender. Todas elas se reduzem a
Variação aumento diminuição
(1.13)
Essa é precisamente a forma empregada quando se usa a lei de Newton para deduzir o
balanço de forças para um pára-quedista em queda livre [Equação (1.8)].
Embora simples, a Equação (1.13) engloba uma das formas mais fundamentais nas
quais as leis de conservação são usadas em engenharia — isto é, para predizer variações
com relação ao tempo. Dá-se à Equação (1.13) o nome especial de cálculo dependente do
tempo (ou transiente).
Além de predizer variações, uma outra forma na qual as leis de conservação são
aplicadas é no caso em que não existe a variação. Se a variação for nula, a Equação
(1.13) se torna
Variação 0 aumento diminuição
ou
Aumento diminuição
(1.14)
Portanto, se não ocorrer nenhuma variação, o aumento e a diminuição devem estar
balanceados. Esse caso, que também possui um nome especial — o cálculo de estado
estacionário — tem muitas aplicações em engenharia. Por exemplo, para escoamentos de
fluidos incompressíveis e estacionários em tubos, o escoamento entrando em uma junção
deve ser balanceado pelo escoamento saindo, como em
Escoamento entrando escoamento saindo
16
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
Tubo 2
Escoamento para dentro = 80
Tubo 1
Escoamento para dentro = 100
FIGURA 1.6
Um balanço de escoamento
para o escoamento de um fluido
incompressível e estacionário na
junção de dois tubos.
Tubo 4
Escoamento para fora = ?
Tubo 3
Escoamento para fora = 120
Para a junção na Figura 1.6, o balanço pode ser usado para calcular que o escoamento
saindo do quarto tubo deve ser 60.
Para o pára-quedista em queda livre, as condições estacionárias corresponderiam ao
caso em que a força resultante fosse nula ou [Equação (1.8) com dv/dt = 0]
mg = cv
(1.15)
Desse modo, no estado estacionário, as forças para baixo e para cima estão balanceadas e a Equação (1.15) pode ser resolvida para se determinar a velocidade terminal
mg
v=
c
Embora as Equações (1.13) e (1.14) possam parecer trivialmente simples, elas englobam as duas formas fundamentais nas quais as leis de conservação são empregadas em
engenharia. Assim, elas constituirão uma parte importante de nossos esforços nos capítulos subseqüentes para ilustrar a conexão entre os métodos numéricos e a engenharia. Nossos veículos primários para fazer essa conexão são as aplicações em engenharia que
aparecem no final de cada parte deste livro.
A Tabela 1.1 resume alguns dos modelos simples de engenharia e as leis de conservação associadas que formarão a base para muitas dessas aplicações em engenharia. A
maioria das aplicações em engenharia química será focalizada no balanço de massa para
reatores. O balanço de massa é deduzido da conservação de massa. Ele especifica que a
variação de massa de um produto químico no reator depende da diferença da quantia de
massa escoando para dentro e da quantia de massa escoando para fora.
As aplicações tanto em engenharia civil quanto em engenharia mecânica serão focalizadas em modelos desenvolvidos a partir da conservação do momento. Para a engenharia civil, os balanços de força são utilizados para analisar estruturas como a treliça
simples na Tabela 1.1. Os mesmos princípios são usados nas aplicações em engenharia
mecânica para analisar o movimento transiente para cima e para baixo ou as vibrações de
um automóvel.
Finalmente, as aplicações em engenharia elétrica usam tanto balanço de corrente
quanto de energia para modelar os circuitos elétricos. O balanço de corrente, que resulta
da conservação da carga, é parecido — em essência — com o balanço de escoamento
mostrado na Figura 1.6. Da mesma forma como o escoamento deve ser balanceado em
uma junção de tubos, a corrente elétrica deve ser balanceada em uma junção de fios elétricos. O balanço de energia especifica que a variação de voltagem ao redor de qualquer laço
de um circuito deve totalizar zero. As aplicações em engenharia são planejadas para ilustrar como os métodos numéricos são realmente empregados no processo de resolução de
problemas de engenharia. Assim, elas vão permitir explorar questões práticas (Tabela 1.2)
que aparecem em aplicações do mundo real. Fazer essas conexões entre as técnicas
matemáticas, como os métodos numéricos, e a prática da engenharia é um passo crítico
para usar seu verdadeiro potencial. Um exame cuidadoso das aplicações de engenharia
vai ajudá-lo a dar esse passo.
1.2 LEIS DE CONSERVAÇÃO E ENGENHARIA
17
TABELA 1.1 Dispositivos e tipos de balanços que são comumente usados nas quatro áreas principais da engenharia.
Para cada caso, a lei de conservação na qual o balanço é baseado está especificada.
Área
Dispositivo
Engenharia química
Princípio organizacional
Expressão matemática
Conservação da massa
Balanço de massa
Entrada
Reatores
Saída
Sobre um período unitário de tempo
massa = entrada – saída
Engenharia civil
Conservação do
momento
Estrutura
Balanço de força:
+ FV
– FH
+ FH
– FV
Em cada nó
forças horizontais (FH ) = 0
forças verticais (FV ) = 0
Engenharia mecânica
Máquina
Conservação do
momento
Balanço de força:
Força para cima
x=0
Força para baixo
2
m d x2 = força para baixo – força para cima
dt
Engenharia elétrica
Conservação da carga
+
Para cada nó
corrente (i ) = 0
–
Circuito
Balanço de corrente:
Conservação da energia
+ i1
– i3
+ i2
Balanço de voltagem:
i1R1
i2R2
i3R3
Em torno de cada laço
fem’s – queda de voltagem
por resistores = 0
– iR = 0
TABELA 1.2 Algumas questões práticas que serão exploradas nas aplicações de engenharia no final de cada parte deste livro.
1. Não-linear versus linear. Muito da engenharia clássica depende da linearização para permitir soluções analíticas. Embora muitas vezes isso
seja apropriado, pode-se aumentar a percepção ao se examinar os problemas não-lineares.
2. Sistemas grandes versus pequenos. Sem um computador, em geral não é possível examinar sistemas com mais de três componentes interagindo.
Com computadores e métodos numéricos, sistemas com muitos componentes, mais realistas, podem ser examinados.
3. Não-ideal versus ideal. As leis idealizadas abundam em engenharia. Em geral, existem alternativas não-idealizadas que são mais realistas, mas
que exigem mais do ponto de vista computacional. Abordagens numéricas apropriadas podem facilitar a aplicação dessas relações não-ideais.
4. Análise de sensibilidade. Como esse tipo de análise é bastante complicado, muitos cálculos manuais requerem uma grande quantidade de
tempo e esforço para uma implementação bem-sucedida. Algumas vezes, isso desencoraja o analista de implementar os cálculos múltiplos que
são necessários para examinar como o sistema responde sob diferentes condições. Tais análises de sensibilidade são facilitadas quando os métodos numéricos permitem que o computador assuma toda a carga computacional.
5. Projeto. Em geral, é uma tarefa simples determinar o desempenho de um sistema como uma função de seus parâmetros. Normalmente, é mais
difícil resolver o problema inverso — isto é, determinar os parâmetros quando exigido é especificado. Os métodos numéricos e os computadores
freqüentemente permitem que essa tarefa seja implementada de forma eficiente.
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
18
PROBLEMAS
1.1 A água é responsável por aproximadamente 60% do peso
total do corpo. Assumindo que ela pode ser categorizada em seis
regiões, as percentagens são como a seguir. O plasma é responsável por 4,5% do peso do corpo e por um total de 7,5% da água
total do corpo. O tecido conectivo denso e as cartilagens ocupam
4,5% do peso total do corpo e 7,5% da água total do corpo. O
tecido intersticial é 12% do peso do corpo, o que dá 20% da água
total do corpo. A água inacessível do osso é aproximadamente
7,5% da água total do corpo e 4,5% do peso total do corpo. Se a
água intracelular for 33% do peso total do corpo e a água transcelular for 2,5% da água total do corpo, que percentagem do peso
total do corpo deve ser água transcelular e que percentagem da
água total do corpo deve ser a água intracelular?
1.2 Um grupo de 30 alunos assiste aula em uma sala que mede
10 m por 8 m por 3 m. Cada aluno ocupa cerca de 0,075 m3 e libera cerca de 80 W de calor (1 W 1 J/s). Calcule o aumento da
temperatura do ar durante os primeiros 15 minutos de aula, se a
sala estiver completamente selada e isolada. Suponha que a capacidade térmica, Cv , do ar seja 0,718 kJ/(kg K). Suponha que o
ar seja um gás ideal a 20 °C e 101,325 kPa. Observe que o calor
absorvido pelo ar, Q, está associado à massa de ar m, à capacidade calorífica e à variação de temperatura pela seguinte relação:
Q1,in = 40 m3/s
v3,out = 6 m/s
A3 = ?
Figura P1.4
1.5 A Figura P1.5 mostra as diversas formas pelas quais um
homem médio ganha e perde água durante um dia. Um litro é ingerido com a comida e o corpo metabolicamente produz 0,3 L.
Respirando o ar, a troca é 0,05 L enquanto inalando, e 0,4 L enquanto exalando, em um período de um dia. O corpo também vai
perder 0,2, 1,4, 0,2 e 0,35 L através de suor, urina, fezes e pela pele,
respectivamente. Para manter uma condição estacionária, quanta
água deve ser bebida por dia?
Pele
T2
Q=m
Q2,out = 20 m3/s
Fezes
Urina
Cv dT = mCv (T2 − T1 )
T1
Comida
A massa de ar pode ser obtida da lei dos gases ideais:
PV =
CORPO
Bebida
m
RT
Mwt
onde P é a pressão do gás, V é o volume do gás, Mwt é o peso molecular do gás (para o ar, 28,97 kg/kmol) e R é a constante dos gases
ideais [8,314 kPa m3/(kmol K)].
1.3 A seguinte informação está disponível para uma conta de
banco:
Data
Ar
Depósitos
Saques
220,13
327,26
216,80
378,61
450,25
106,80
127,31
350,61
1/5
Balanço
1512,33
1/6
1/7
1/8
1/9
Suor
Metabolismo
Figura P1.5
1.6 Para o pára-quedista em queda livre com arrasto linear, considere inicialmente um indivíduo de 70 kg e que tenha um coeficiente de arrasto de 12 kg/s. Se um segundo pára-quedista tem um
coeficiente de arrasto de 15 kg/s e uma massa de 75 kg, quanto
tempo levará para ele atingir a mesma velocidade que o primeiro
atingiu em 10 s?
1.7 Use cálculo para resolver a Equação (1.9) no caso em que a velocidade inicial v(0) é não-nula.
1.8 Repita o Exemplo 1.2. Calcule a velocidade até 10 s, com o
tamanho do passo (a) 1 e (b) 0,5 s. Você pode fazer alguma afirmação com relação aos erros nos cálculos baseado nos resultados?
1.9 Em vez da relação linear da Equação (1.7), você poderia escolher modelar a força para cima no pára-quedista por uma relação de
segundo grau,
FU = −c′ v 2
Use a conservação do dinheiro para calcular o balanço em 1/6, 1/7,
1/8 e 1/9. Mostre cada passo dos cálculos. Esse é um cálculo estacionário ou transiente?
1.4 A vazão em volume através de um tubo é dada por Q = v A,
onde v é a velocidade média e A é a área da seção transversal.
Use a continuidade do volume para encontrar a área pedida no
tubo 3.
onde c′ é um coeficiente de arrasto de segunda ordem (kg/m).
(a) Usando o cálculo, obtenha a solução na forma fechada, no caso
em que o pára-quedista está inicialmente em repouso (v = 0
em t = 0).
(b) Repita o cálculo numérico do Exemplo 1.2 com a mesma
condição inicial e os mesmos valores dos parâmetros. Use um
valor de 0,225 kg/m para c′ .
PROBLEMAS
1.10 Calcule a velocidade de um pára-quedista em queda livre
usando o método de Euler para o caso em que m = 80 kg e c
10 kg/s. Faça os cálculos de t = 0 até 20 s, com um tamanho de
passo 1 s. Use a condição inicial em que o pára-quedista tem uma
velocidade para cima de 20 m/s em t 0. Em t 10 s, suponha que
o pára-quedas é instantaneamente aberto, de forma que o coeficiente de arrasto pula para 50 kg/s.
1.11 No exemplo do pára-quedista em queda livre, assumimos que
a aceleração devida à gravidade era uma constante de valor 9,8
m/s2. Embora esta seja uma boa aproximação quando estamos examinando objetos caindo perto da superfície da Terra, a força gravitacional decresce quando nos movemos para cima do nível do mar.
Uma representação mais geral, baseada na lei da gravitação universal de Newton, pode ser escrita como
g(x) = g(0)
19
y
0
Figura P1.13
A Equação (1.13) pode ser escrita para esse sistema como
d(Ay)
dx
R2
(R + x)2
onde g(x) é a aceleração da gravidade na altura x (em m) medida
para cima, a partir da superfície da Terra (m/s2), g(0) é a aceleração
da gravidade na superfície da Terra (∼
= 9,8 m/s2), e R é o raio da
6
∼
Terra (= 6,37 × 10 m).
(a) Em uma forma similar à dedução da Equação (1.9), utilize o
balanço de forças para deduzir uma equação diferencial para a
velocidade como função do tempo que use essa representação
mais completa da gravitação. Entretanto, para tal dedução,
suponha que a velocidade para cima é positiva.
(b) Para o caso de o arrasto ser desprezível, use a regra da cadeia
para expressar a equação diferencial como uma função da altura em vez do tempo. Lembre-se de que a regra da cadeia é
dv
dv dx
=
dt
dx dt
(c) Use o cálculo para obter uma solução na forma fechada, onde
v = v0 em x = 0.
(d) Use o método de Euler para obter uma solução numérica de
x = 0 até 100.000 utilizando um passo de 10.000 m, com velocidade inicial de 1.400 m/s para cima. Compare seu resultado
com a solução analítica.
1.12 A quantidade de contaminante radioativo uniformemente distribuído contido em um reator fechado é medida pela sua concentração c (becquerel/litro ou Bq/L). O contaminante diminui a uma
taxa de decaimento proporcional a sua concentração — isto é
taxa de decaimento = −kc
onde k é uma constante, com unidades de dia−1. Portanto, de acordo
com a Equação (1.13), o balanço de massa para o reator pode ser
escrito como
dc
=
−kc
dt
variação
diminuição
=
na massa
por decaimento
(a) Use o método de Euler para resolver essa equação de t = 0 até
1 d com k = 0,2 d−1 . Use um tamanho de passo t = 0,1. A
concentração em t = 0 é 10 Bq/L.
(b) Trace a solução em um gráfico semilog (isto é, em c versus t) e
determine a inclinação. Interprete seus resultados.
1.13 Um tanque de armazenamento contém um líquido à profundidade y, onde y = 0 quando o tanque está cheio até a metade. É
tirado líquido a uma vazão constante Q, para atender à demanda. O
conteúdo é reposto a uma taxa senoidal de 3Q sen2(t).
variação no
volume
= 3Q sen2 (t) −
Q
= (escoamento p/ dentro) − (escoamento p/ fora)
ou, já que a área da superfície, A, é constante
dy
Q
Q
= 3 sen2 (t) −
dx
A
A
Use o método de Euler para encontrar a profundidade y de t = 0 a
10 d com um tamanho de passo 0,5 d. Os valores do parâmetro são
A = 1200 m2 e Q = 500 m3/d. Suponha que a condição inicial seja
y = 0.
1.14 Para o mesmo tanque de armazenamento descrito no Problema
1.13, suponha que o escoamento para fora não seja constante, mas
dependa da profundidade. Nesse caso, a equação diferencial para a
profundidade pode ser escrita como
dy
α(1 + y)1.5
Q
= 3 sen2 (t) −
dx
A
A
Use o método de Euler para encontrar a profundidade y de t = 0 a
10 d com um tamanho de passo 0,5 d. Os valores do parâmetro são
A = 1200 m2, Q = 500 m3/d, e α = 300. Suponha que a condição
inicial seja y = 0.
1.15 Suponha que uma gotícula esférica de líquido evapore a uma
taxa que é proporcional à área de sua superfície.
dV
= −k A
dt
onde V é o volume (mm3), t é o tempo (h), k é a taxa de evaporação
(mm/h), e A é a área da superfície (mm2). Use o método de Euler
para calcular o volume da gotícula de t = 0 a 10 min usando um
tamanho de passo 0,25 min. Suponha que k = 0,1 mm/min e que a
gotícula tenha inicialmente um raio de 3 mm. Verifique a validade
de seus resultados determinando o raio do seu volume final calculado e verificando que ele é consistente com a taxa de evaporação.
1.16 A lei do resfriamento de Newton diz que a temperatura de um
corpo varia a uma taxa proporcional à diferença entre a sua temperatura e a temperatura do meio que o cerca (a temperatura ambiente),
dT
= −k(T − Ta )
dt
onde T é a temperatura do corpo (°C), t é o tempo (min.), k é a constante de proporcionalidade (por minuto) e Ta é a temperatura
ambiente (°C). Suponha que uma xícara de café originalmente
tenha a temperatura de 68° C. Use o método de Euler para calcular
a temperatura de t 0 a 10 min usando um tamanho de passo 1 min
se Ta = 21° C e k 0,017/min.
MODELAGEM MATEMÁTICA E RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA
20
1.17 As células cancerígenas crescem exponencialmente, levando
20 horas para dobrar quando têm um suprimento ilimitado de nutrientes. Entretanto, conforme as células começam a formar um tumor
esférico sólido, sem suprimento de sangue, o crescimento no centro
do tumor se torna limitado e, eventualmente, as células começam a
morrer.
(a) O crescimento exponencial do número de células N pode ser
expresso como mostrado, onde µ é a taxa de crescimento das
células. Para células de câncer, encontre o valor de µ.
1.18 Um fluido é bombeado para dentro da rede mostrada na
Figura P1.18. Se Q2 0,6, Q3 0,4, Q7 0,2 e Q8 0,3 m3/s determine os outros escoamentos.
Q1
dN
= µN
dt
(b) Escreva uma equação que descreva a taxa de variação do volume do tumor durante o crescimento exponencial, dado que o
diâmetro de uma célula individual é de 20 mícrons.
(c) Depois que um tipo particular de tumor passa de 500 mícrons
no diâmetro, as células no centro do tumor morrem (mas continuam a tomar espaço no tumor). Determine quanto tempo
levará para que o tumor passe desse tamanho crítico.
Q3
Q2
Q10
Figura P1.18
Q5
Q4
Q9
Q6
Q8
Q7
1.1 CURRENT 1ST LEVEL HEAD21
CAPÍTULO
2
Programação e Software
No capítulo anterior, usamos a força resultante para desenvolver um modelo matemático
para predizer a velocidade de queda de um pára-quedista. Esse modelo tomou a forma de
uma equação diferencial,
dv
c
=g− v
dt
m
Aprendemos também que a solução dessa equação pode ser obtida por uma aproximação
numérica simples chamada método de Euler,
vi+1 = vi +
dvi
t
dt
Dadas as condições iniciais, essa equação pode ser implementada repetidamente
para calcular a velocidade como uma função do tempo. Entretanto, para obter uma boa
acurácia, é preciso tomar um grande número de passos, o que pode ser extremamente trabalhoso e demorado para implementar manualmente. Mas, com a ajuda de um computador, tais cálculos podem ser realizados facilmente.
Portanto, nossa tarefa é descobrir como fazer isso. O presente capítulo mostrará a
você como o computador é utilizado como ferramenta para obter esse tipo de solução.
2.1
PACOTES E PROGRAMAÇÃO
Hoje, há dois tipos de usuários de software. Por um lado, existem aqueles que usam o que
lhes é dado. Isto é, eles se limitam aos recursos encontrados no modo de operação padrão
do software. Por exemplo, é uma proposição direta resolver um sistema de equações
lineares ou gerar um gráfico de valores xy com o software Excel ou o MATLAB. Como
isso envolve, geralmente, um mínimo de esforço, muitos usuários tendem a adotar esse
modo de operação superficial. Ademais, uma vez que os projetistas desses pacotes já se
anteciparam a várias necessidades dos usuários, muitos problemas importantes podem ser
resolvidos dessa forma.
Mas o que acontece quando surgem problemas que estão além da capacidade padrão
da ferramenta? Infelizmente, agitar as mãos e dizer “Desculpe, patrão, não dá pra fazer!”
não é aceitável nos círculos da engenharia. Em muitos casos, há duas alternativas.
Primeiro, pode-se buscar um pacote diferente e verificar se ele é capaz de resolver o
problema. Essa é uma das razões que nos levaram a escolher tratar tanto do Excel como
do MATLAB neste livro. Como você vê, nenhum deles é completo e cada um tem potencial diferente. Estar aberto a ambos ampliará enormemente o universo de problemas que
se pode resolver.
Segundo, você pode se tornar um “usuário poderoso” aprendendo a escrever Excel
VBA1 macros ou M-files em MATLAB. E o que é isso? Não passam de programas de
computador que permitem que se estenda o potencial de tais ferramentas. Em razão de os
engenheiros nunca aceitarem ficar limitados por ferramentas, eles farão o que for
necessário para resolver seus problemas. Uma maneira de conseguir isso é aprender a
escrever programas nos ambientes Excel e MATLAB. Afinal, as habilidades requeridas
1
VBA é a sigla para Visual Basic para Aplicações.
21
PROGRAMAÇÃO E SOFTWARE
22
para fazer macros e M-files são as mesmas usadas para desenvolver eficientemente programas em linguagens como Fortran 90 ou C.
O objetivo principal do presente capítulo é mostrar como isso pode ser feito. Entretanto, estamos assumindo que você já foi exposto aos rudimentos da programação de
computadores. Assim, nossa ênfase aqui é em aspectos da programação que dizem respeito ao seu uso na solução de problemas de engenharia.
2.1.1 Programas Computacionais
Programas computacionais são, basicamente, um conjunto de instruções que direcionam
o computador para executar certas tarefas. Uma vez que muitos indivíduos escrevem programas para um amplo conjunto de aplicações, muitas linguagens de computação de alto
nível, como Fortran 90 e C, têm grandes recursos. Embora alguns engenheiros necessitem
explorar totalmente esses recursos, a maioria necessitará simplesmente da habilidade
necessária para executar cálculos numéricos orientados para engenharia.
Olhando dessa perspectiva, podemos reduzir a complexidade para um conjunto limitado de tópicos de programação. Estes são:
Representação simples da informação (constantes, variáveis e declarações de tipo).
Representação de informação avançada (estruturas de dados, vetores e registros).
Fórmulas matemáticas (atribuições, regras de prioridade e funções intrínsecas).
Entrada/saída.
Representação lógica (seqüência, seleção e repetição).
Programação modular (funções e sub-rotinas).
Como estamos assumindo que você teve uma exposição prévia à programação, não
gastaremos muito tempo nas primeiras quatro áreas citadas. No máximo, nós as oferecemos na forma de uma lista de verificação que cobre o que é necessário saber para implementar os programas que seguem.
No entanto, dedicaremos algum tempo aos dois últimos tópicos. Enfatizamos a representação lógica porque ela é a área simples que mais influencia a coerência de um
algoritmo e sua compreensão. Incluiremos programação modular porque ela também
contribui grandemente para a organização dos programas. Adicionalmente, módulos
provêem um meio para armazenar algoritmos úteis em um formato convencional para
aplicações subseqüentes.
2.2
PROGRAMAÇÃO ESTRUTURADA
Nos primórdios da computação, os programadores usualmente não prestavam muita
atenção ao fato de o programa ser claro e fácil de entender. Hoje, é reconhecido que existem muitos benefícios em escrever um código bem organizado e bem estruturado. Além
do benefício óbvio de tornar o software mais fácil de ser compartilhado, isso também
ajuda a garantir um desenvolvimento de programa mais eficiente.
Portanto, algoritmos bem estruturados são, invariavelmente, fáceis de corrigir e testar, resultando em programas que têm um tempo de desenvolvimento e atualização
menor.
Cientistas da computação têm estudado sistematicamente os fatores e procedimentos
necessários para desenvolver software de alta qualidade. Essencialmente, programação
estruturada é um conjunto de regras que exige disciplina do programador. Embora a programação estruturada seja flexível o suficiente para permitir considerável criatividade e
expressões pessoais, suas regras impõem restrições suficientes para conferir ao código resultante grande superioridade, comparada à versão não-estruturada. Em particular, o produto final é mais elegante e fácil de entender.
A idéia central por trás da programação estruturada é que qualquer algoritmo
numérico pode ser composto usando-se as três estruturas de controle fundamentais: seqüência, seleção e repetição. Se nos limitarmos a essas estruturas, o código computacional resultante será claro e fácil de seguir.
2.2 PROGRAMAÇÃO ESTRUTURADA
SÍMBOLO
NOME
FUNÇÃO
Terminal
Representa o início e o final do programa.
Linhas de fluxo
Representa o fluxo da lógica. Os morros nas flechas horizontais
indicam cruzamento sem que haja conexão com o fluxo vertical.
Processos
Representa cálculos ou manipulação de dados.
Entrada/saída
Representa entrada ou saída de dados e informação.
Decisão
Representa uma comparação, questão, ou decisão que determina
caminhos alternativos a serem seguidos.
Junção
Representa a confluência de linhas de fluxo.
Conector
de página
Representa uma quebra que é continuada em outra página.
Contadores
controladores
de laços
Usado para ciclos que se repetem por um número predeterminado
de iterações.
23
FIGURA 2.1
Símbolos usados nos diagramas de fluxo.
Nos parágrafos seguintes, descreveremos cada uma dessas estruturas. Para manter
essa descrição genérica, empregaremos os fluxogramas e pseudocódigo. Um fluxograma é
uma representação gráfica visual de um algoritmo, e emprega uma série de blocos e flechas, cada um dos quais representa uma operação particular ou passos de um algoritmo
(Figura 2.1). As flechas representam a seqüência na qual as operações são implementadas.
Nem todos os envolvidos em programação de computadores concordam que o fluxograma é um esquema produtivo. De fato, alguns programadores experientes não
defendem o fluxograma. Entretanto, achamos que existem três boas razões para estudálos. Primeiro, eles ainda são usados para expressar e comunicar algoritmos. Segundo,
mesmo que não sejam empregados rotineiramente, existirão ocasiões nas quais se
mostrarão úteis no planejamento, na resolução, ou comunicando a lógica do seu programa
ou do programa de outra pessoa. Finalmente, e mais importante para o nosso propósito,
eles são uma excelente ferramenta pedagógica. Do ponto de vista do ensino, fluxogramas
são veículos ideais para visualizar algumas das estruturas de controle fundamentais empregadas na programação de computadores.
Uma abordagem alternativa que representa um algoritmo para cobrir a lacuna entre
um fluxograma e o código computacional é chamada pseudocódigo, técnica que utiliza
palavras semelhantes a código no lugar dos símbolos gráficos do fluxograma. Adotaremos convenções de estilo para o pseudocódigo neste livro. Palavras reservadas como IF,
DO, INPUT etc. são escritas em letras maiúsculas, enquanto condições, passos de processamento e tarefas são escritas com letras minúsculas. Adicionalmente, os passos de
processamento são identados. Assim, as palavras reservadas formam um “sanduíche” em
torno dos passos para definir visualmente a extensão da estrutura de controle.
Uma vantagem do pseudocódigo é que é mais fácil desenvolver um programa com
ele que com um fluxograma. O pseudocódigo também é mais fácil de modificar e compartilhar. Entretanto, por causa da sua forma gráfica, fluxogramas às vezes se adaptam
melhor para a visualização de algoritmos complexos. Neste texto, usaremos fluxogramas
por razões pedagógicas. Pseudocódigos serão o nosso principal veículo para comunicar
algoritmos relacionados a métodos numéricos.
2.2.1 Representação Lógica
Seqüência. A estrutura da seqüência expressa a idéia trivial de que, exceto se direcionado
de outra forma, o código computacional é implementado uma instrução por vez. Como na
Figura 2.2, a estrutura pode ser expressa genericamente com um fluxograma ou um
pseudocódigo.
24
PROGRAMAÇÃO E SOFTWARE
Instrução1
Instrução2
Instrução1
Instrução2
Instrução3
Instrução4
Instrução3
FIGURA 2.2
(a) Fluxograma
(b) Pseudocódigo para a
estrutura-seqüência.
Instrução4
(a) Fluxograma (b) Pseudocódigo
Seleção. Em contraste com a estrutura passo a passo da seqüência, a seleção provê um
meio de separar o fluxo do programa em ramos com base no valor lógico da condição. A
Figura 2.3 mostra as duas formas fundamentais para fazer isso.
A decisão com alternativa única, ou estrutura IF/THEN (Figura 2.3a), permite um
desvio no fluxo do programa se o valor lógico da condição é verdadeiro. Caso seja falso,
nada acontece e o programa vai diretamente para a próxima instrução depois do ENDIF.
A decisão com dupla alternativa, ou estrutura IF/THEN/ELSE (Figura 2.3b), comporta-se
da mesma maneira para a condição verdadeira. No entanto, se a condição é falsa, o programa implementa o código entre o ELSE e o ENDIF.
Embora as estruturas IF/THEN e IF/THEN/ELSE sejam suficientes para construir
qualquer algoritmo numérico, duas outras variantes são comumente usadas. Suponha
FIGURA 2.3
Fluxograma e pseudocódigo
para a estrutura de seleção.
(a) Seleção com alternativa
única (IF/THEN) e
(b) seleção de dupla alternativa
(IF/THEN/ELSE).
Fluxograma
Condição
?
Pseudocódigo
Verdadeiro
Bloco
Verdadeiro
IF condição THEN
Bloco Verdadeiro
ENDIF
(a) Estrutura com alternativa única (IF/THEN)
Falso
Bloco Falso
Condição?
Verdadeiro
Bloco
Verdadeiro
IF condição THEN
Bloco Verdadeiro
ELSE
Bloco Falso
ENDIF
(b) Estrutura com dupla alternativa (IF/ THEN/ELSE)
2.2 PROGRAMAÇÃO ESTRUTURADA
25
que a cláusula ELSE de um IF/THEN/ELSE contenha outro IF/THEN. Para esses
casos, o ELSE e o IF podem ser combinados na estrutura IF/THEN/ELSEIF mostrada
na Figura 2.4a.
Observe como na Figura 2.4a existe uma cadeia ou “cascata” de decisões. A primeira
é um comando IF, e cada decisão sucessiva é um comando ELSEIF. Mergulhando na
cadeia, a primeira condição encontrada que seja verdadeira causará um desvio para o respectivo bloco seguido do encerramento da estrutura. No final da cadeia de condições, se
todas as condições se verificam falsas, um ELSE opcional pode ser incluído.
A estrutura CASE é uma variante desse tipo de estrutura de decisão. Em vez de testar as condições individualmente, o desvio é realizado com base no valor de uma simples
expressão de teste. Dependendo desse valor, diferentes blocos de código podem ser executados. Além disso, um bloco opcional pode ser implementado se a expressão não assume nenhum dos valores prescritos (CASE ELSE).
Repetição. A repetição provê os meios para executar uma instrução repetidamente. A estrutura resultante, chamada laço, pode ter dois “aspectos” distintos, de acordo com a
forma como termina.
FIGURA 2.4
Fluxograma e pseudocódigo para seleção suplementar ou desvio condicional. (a) Seleção de múltipla alternativa
(IF/THEN/ELSEIF) e (b) diagrama CASE.
Fluxograma
Falso
Falso
Falso
Verdadeiro
Condição1
?
Verdadeiro
Condição2
?
Verdadeiro
Condição3
?
Bloco4
Pseudocódigo
Bloco1
Bloco2
Bloco3
IF condição1 THEN
Bloco1
ELSEIF condição2
Bloco2
ELSEIF condição3
Bloco3
ELSE
Bloco4
ENDIF
(a) Estrutura multialternativa (IF/THEN/ELSEIF)
Expressão
de teste
Valor1
Bloco1
Valor2
Bloco2
Valor3
Bloco3
Else
Bloco4
SELECT CASE Expressão de Teste
CASE Valor1
Bloco1
CASE Valor2
Block2
CASE Valor3
Bloco3
CASE ELSE
Bloco4
END SELECT
(b) Estrutura CASE (SELECT ou SWITCH)
26
PROGRAMAÇÃO E SOFTWARE
O primeiro tipo e o mais básico é o chamado laço de decisão, porque termina de
acordo com o resultado de uma condição lógica. A Figura 2.5 mostra o tipo mais geral de
laço de decisão, a estrutura DOEXIT, também chamada laço de interrupção. Essa estrutura se repete até que a condição lógica seja verdadeira.
Não é necessário ter dois blocos nessa estrutura. Se o primeiro bloco não é incluído,
a estrutura é chamada de laço com pré-teste, porque o teste lógico é feito antes que alguma coisa ocorra. Alternativamente, se o segundo bloco é omitido, a estrutura é
chamada de laço com pós-teste. Como os dois blocos são incluídos, o caso geral na Figura
2.5 é chamado de laço de teste intermediário.
Deve-se observar que o laço DOEXIT foi introduzido no Fortran 90 em um esforço
para simplificar decisões em ciclos. Essa estrutura de controle é um padrão na linguagem
de macros do Excel VBA, mas não é um padrão em C ou MATLAB, os quais usam a estrutura WHILE. Por acreditarmos que o DOEXIT é superior, nós o adotamos como a estrutura de repetição padrão neste livro. Para assegurar que os nossos algoritmos são diretamente implementáveis tanto no MATLAB como no Excel, mostraremos como o laço de
interrupção pode ser simulado com a estrutura WHILE mais adiante neste capítulo (ver
Seção 2.5).
O laço de interrupção na Figura 2.5 é chamado de laço lógico porque termina com
uma condição lógica. Em contraste, o laço DOFOR (Figura 2.6), controlado por contador, executa um número especificado de repetições, ou iterações.
O laço controlado por contador trabalha da seguinte forma. O índice (representado por i na Figura 2.6) é uma variável que recebe um valor inicial início. O programa
então testa se o índice é inferior ou igual ao valor final, fim. Se for, este executa o
FIGURA 2.5
O laço de interrupção DOEXIT.
Fluxograma
Bloco1
Verdadeiro
Condição?
Pseudocódigo
DO
Bloco1
IF condição EXIT
Bloco2
ENDDO
Falso
Bloco2
FIGURA 2.6
Estrutura controlada por
contador ou DOFOR.
Fluxograma
Verdadeiro
i = início
i > fim
?
i = i + passo
Falso
Bloco
Pseudocódigo
DOFOR i = início, fim, passo
Bloco
ENDDO
2.2 PROGRAMAÇÃO ESTRUTURADA
27
corpo do laço e retorna para a condição do DO. Toda vez que o ENDDO é encontrado,
o índice é automaticamente incrementado do valor passo. Portanto, o índice atua como
um contador. Assim, quando o índice é maior que o valor final (fim), o computador automaticamente sai do laço e transfere o controle para a linha seguinte ao comando
ENDDO. Note que, para praticamente todas as linguagens de computação, incluindo
as do Excel e MATLAB, se o valor de passo é omitido, o computador assume que este
é igual a 1.2
Os algoritmos numéricos delineados nas páginas seguintes serão desenvolvidos
exclusivamente das estruturas introduzidas pelas Figuras 2.2 a 2.6. O exemplo a seguir
ilustra a abordagem básica para desenvolver um algoritmo para determinar as raízes de
uma equação quadrática.
EXEMPLO 2.1
Algoritmo para as Raízes de uma Equação Quadrática
Enunciado do Problema. As raízes de uma equação quadrática
ax 2 + bx + c = 0
podem ser determinadas com a fórmula quadrática,
−b ± |b2 − 4ac|
x1
=
x2
2a
(2.1)
Desenvolva um algoritmo que faça o seguinte:
Passo 1: Peça ao usuário os coeficientes a, b e c.
Passo 2: Implemente a fórmula quadrática, evitando qualquer eventualidade (por exemplo, evitando
divisão por zero e permitindo raízes complexas).
Passo 3: Mostre a solução, isto é, os valores de x.
Passo 4: Permita ao usuário a opção de retornar ao passo 1 e repetir o processo.
Solução. Usaremos uma abordagem top-down para desenvolver o algoritmo. Ou seja,
refinaremos sucessivamente o algoritmo em vez de tentar resolver todos os detalhes na
primeira tentativa.
Para fazer isso, vamos assumir, no momento, que a fórmula quadrática é infalível,
independentemente dos valores dos coeficientes (obviamente, isso não é verdade, mas é
bom o suficiente por ora). Um algoritmo estruturado para implementar o esquema é
DO
INPUT a, b, c
r1 (b SQRT(b2 4ac))兾(2a)
r2 (b SQRT(b2 4ac))兾(2a)
DISPLAY r1, r2
DISPLAY 'Tentar novamente? Responda sim ou não'
INPUT resposta
IF resposta 'não' EXIT
ENDDO
Uma estrutura DOEXIT é usada para implementar a fórmula quadrática repetidamente
enquanto a condição é falsa. A condição depende do valor da variável de caracteres, resposta. Se resposta é igual a ‘sim’, então os cálculos são executados. Caso contrário, isto
é, se resposta = ‘não’, o laço termina. Assim, o usuário controla o término entrando com
o valor de resposta.
2
Pode ser usado um valor negativo para passo. Nesse caso, o laço termina quando o índice é menor que o
valor final.
28
PROGRAMAÇÃO E SOFTWARE
Embora esse algoritmo funcione em certos casos, ele não é infalível. Dependendo
dos valores dos coeficientes, o algoritmo pode não funcionar. Eis o que acontece:
Se a 0, surge imediatamente um problema por causa da divisão por zero. De fato,
uma inspeção mais cuidadosa da Equação (2.1) indica que dois casos podem
acontecer. Isto é,
Se b 0, a equação se reduz à equação linear com uma raiz real, c/b.
Se b 0, então não existe solução. Isto é, o problema é trivial.
Se a 0, ocorrem dois casos possíveis, dependendo do valor do discriminante,
d b2 4ac. Isto é,
Se d 0, então ocorrem duas raízes reais.
Se d 0, ocorrem duas raízes complexas.
Observe que usamos identação para destacar a estrutura decisória por trás da
matemática. Essa estrutura se traduz prontamente no conjunto de estruturas
IF/THEN/ELSE acopladas que podem ser inseridas no lugar das instruções sombreadas
no código anterior para dar o algoritmo final:
DO
INPUT a, b, c
r1 0: r2 0: i1 0: i2 0
IF a 0 THEN
IF b 0 THEN
r1 c/b
ELSE
DISPLAY "Solução Trivial"
ENDIF
ELSE
discr b2 4 * a * c
IF discr 0 THEN
r1 (b Sqrt(discr))兾 (2 * a)
r2 (b Sqrt(discr))兾 (2 * a)
ELSE
r1 b兾 (2 * a)
r2 r1
i1 Sqrt(Abs(discr))兾 (2 * a)
i2 il
ENDIF
ENDIF
DISPLAY r1, r2, i1, i2
DISPLAY 'Tentar novamente? Responda sim ou não'
INPUT resposta
IF resposta 'não' EXIT
ENDDO
A abordagem do exemplo anterior pode ser empregada para desenvolver um algoritmo para o problema do pára-quedista. Lembre-se de que, dada a condição inicial para
o tempo e a velocidade, o problema envolve a solução iterativa da fórmula
dvi
vi+1 = vi +
t
(2.2)
dt
Lembre-se também de que, se desejarmos atingir uma boa acurácia, precisaremos empregar passos pequenos. Portanto, provavelmente iremos querer aplicar a fórmula repetidamente do instante inicial até o instante final. Conseqüentemente, um algoritmo para resolver o problema se baseará em um laço.
2.2 PROGRAMAÇÃO ESTRUTURADA
29
Por exemplo, suponhamos que o cálculo se inicie em t 0 e queremos predizer a velocidade em t 4s usando o passo no tempo t 0,5s. Precisaremos, portanto, aplicar a
Equação (2.2) oito vezes, isto é,
n=
4
=8
0,5
onde n é o número de iterações do laço. Como este resultado é exato, isto é, a razão é um
inteiro, podemos controlar o laço base desse algoritmo por um contador. Eis um exemplo
do pseudocódigo:
g = 9,8
INPUT cd, m
INPUT ti, vi, tf, dt
t ti
v vi
n (tf ti) / dt
DOFOR i 1 TO n
dvdt g (cd / m) * v
v v dvdt * dt
t t dt
ENDDO
DISPLAY v
Embora esse esquema seja simples de programar, não é infalível. Particularmente,
funcionará somente se o intervalo computacional for divisível exatamente pelo passo no
tempo.3 Para cobrir esses casos, um laço de decisão pode substituir a área sombreada
no pseudocódigo anterior. O resultado final é
g 9,8
INPUT cd, m
INPUT ti, vi, tf, dt
t ti
v vi
h dt
DO
IF t dt > tf THEN
h tf t
ENDIF
dvdt g (cd / m) * v
v v dvdt * h
t t h
IF t tf EXIT
ENDDO
DISPLAY v
Assim que entramos no laço, usamos uma estrutura IF/THEN para testar se a adição
t + dt nos levará além do fim do intervalo. Se não, que será geralmente o caso no início,
não fazemos nada. Em caso afirmativo, precisaremos reduzir o intervalo fazendo a variável h igual a tf t. Procedendo assim, o laço terminará porque a condição t tf se
tornará verdadeira.
Note que, antes de entrar no laço, atribuímos o valor do passo no tempo, dt, a outra
variável, h. Criamos essa variável auxiliar de modo que nossa rotina não mude o valor
3
O problema consiste em que os computadores usam uma representação numérica binária para sua matemática
interna. Conseqüentemente, uma aparente divisão exata não retorna um inteiro quando essa divisão é implementada no computador. Trataremos desse assunto no Capítulo 3.
PROGRAMAÇÃO E SOFTWARE
30
dado de dt se e quando reduzirmos o passo de tempo. Fazemos isso para antecipar o fato
de precisarmos usar o valor original de dt em algum outro lugar, no caso de esse código
ser integrado a um programa maior.
É possível notar que o algoritmo também não é infalível. O usuário pode ter errado ao
entrar um tamanho de passo maior que o cálculo do intervalo, por exemplo, tf ti 5 e
dt 20. Assim, você pode querer incluir a verificação de erro no código para detectar tais
erros e então permitir que o usuário corrija o engano.
2.3
PROGRAMAÇÃO MODULAR
Seria bastante difícil estudar um texto que não tivesse capítulos, seções ou parágrafos. Dividir tarefas ou objetivos em partes mais simples é uma maneira de torná-los mais fáceis
de tratar. Com esse espírito, programas de computador são divididos em subprogramas
menores, ou módulos, que podem ser desenvolvidos e testados separadamente. Essa abordagem é chamada programação modular.
O atributo mais importante dos módulos é que sejam tão independentes e autocontidos quanto possível. Além disso, eles são tipicamente desevolvidos para desempenhar
uma função específica e bem definida, e têm apenas um ponto de entrada e um ponto de
saída. Assim, esses módulos são usualmente pequenos (geralmente com 50 a 100 instruções de tamanho) e altamente focados.
Nas linguagens-padrão de alto nível, como o Fortran 90 ou C, o elemento principal
de programação usado para representar cada módulo é o procedimento. Um procedimento
é uma série de instruções computacionais que, juntas, desempenham uma dada tarefa.
Dois tipos de procedimento são empregados comumente: funções e sub-rotinas. As
primeiras usualmente retornam um resultado único, enquanto que as últimas retornam
vários resultados.
Além disso, deve ser mencionado que muitos programas relacionados a pacotes de
software, como Excel e MATLAB, envolvem o desenvolvimento de subprogramas. Assim,
macros do Excel e funções do MATLAB são desevolvidas para receber uma informação,
fazer cálculos e retornar um resultado. Logo, pensar modularmente é também consistente
com a maneira como os programas são implementados em ambientes de software.
A programação modular tem diversas vantagens. O uso de unidades menores e autocontidas torna a lógica subjacente mais fácil de seguir e entender, tanto para o desenvolvedor quanto para o usuário. O desenvolvimento é facilitado porque cada módulo pode ser
feito isoladamente. De fato, para projetos de grande porte, diferentes programadores
podem trabalhar individualmente nas partes. O projeto modular também aumenta a facilidade com a qual um programa pode ser testado e corrigido, porque os erros são isolados
mais facilmente. Finalmente, a modificação e a manutenção dos programas são facilitadas,
devido ao fato de que novos módulos podem ser desenvolvidos para desempenhar tarefas
adicionais e facilmente inseridos em um esquema já coerente e organizado.
Embora todos esses atributos sejam razão suficiente para usar módulos, a razão mais
importante, relacionada à resolução de problemas numéricos em engenharia, é que eles
permitem que você mantenha sua própria biblioteca de módulos úteis para uso posterior
em outros programas. Esta será a filosofia deste livro: todos os algoritmos serão apresentados como módulos.
Tal abordagem é ilustrada na Figura 2.7, que mostra uma função desenvolvida para
implementar o método de Euler. Note que a aplicação dessa função difere das versões anteriores em como se manipula a entrada/saída. Nas versões anteriores, entrada e saída vinham diretamente do usuário (via atribuições de entrada ou comandos DISPLAY). Na
função, as entradas são inseridas na FUNCTION via uma lista de argumentos.
Function Euler(dt, ti, tf, yi)
e as saídas são retornadas via uma instrução de atribuição
y = Euler(dt, ti, tf, yi)
Além disso, observe quão genérica a rotina se tornou. Não existe nenhuma referência às especificidades do problema do pára-quedista. Por exemplo, em vez de chamar a
variável dependente v de velocidade, um símbolo mais genérico, y, é usado na função.
2.4 EXCEL
FIGURA 2.7
Pseudocódigo para a função
que resolve a equação
diferencial usando o método
de Euler.
31
FUNCTION Euler(dt, ti, tf, yi)
t ti
y yi
h dt
DO
IF t dt tf THEN
h tf t
ENDIF
dydt dy(t, y)
y y dydt * h
t t h
IF t tf EXIT
ENDDO
Euler y
END
Mas antes, observe que a derivada não é calculada dentro da função por uma equação explícita – outra função, dy, deve ser invocada para calculá-la, pois poderemos querer usar
essa função em muitos problemas diferentes, além de aplicá-la para resolver o problema
da velocidade do pára-quedista.
2.4
EXCEL
Excel é uma planilha produzida pela Microsoft Inc. Planilhas são um tipo especial de software matemático que permite ao usuário entrar com linhas e colunas de dados e fazer cálculos sobre elas. Assim, são uma versão computadorizada de uma grande folha contábil na
qual cálculos extensos e interconectados podem ser mostrados. Todo o cálculo é atualizado
quando um valor é modificado, e por isso planilhas são ideais para o tipo de análise “e se?”.
O Excel tem alguns recursos numéricos internos, incluindo a resolução de equações,
traçado de curvas e otimização. Está também incluída a VBA como uma linguagem de
macros que pode ser usada para implementar cálculos numéricos. Finalmente, o Excel
possui várias ferramentas de visualização, como gráficos e desenhos de superfícies tridimensionais, que servem como um valioso acessório para a análise numérica. Nesta seção,
mostraremos como tais recursos podem ser usadas para resolver o problema do páraquedista.
Para isso, vamos primeiro preparar uma planilha simples. Como mostrado a seguir,
o primeiro passo envolve a inserção de legendas e números nas células da planilha.
Problema do Pára-quedista
.
.
.
.
Antes de escrever um programa macro para calcular o valor numérico, podemos
tornar nosso trabalho subseqüente mais fácil associando nomes aos valores dos parâmetros. Para isso, selecionamos as células A3:B5 (a maneira mais fácil de fazê-lo é movendo
32
PROGRAMAÇÃO E SOFTWARE
o mouse para A3, pressionando o botão esquerdo e arrastando até B5). Em seguida,
vamos ao cabeçalho e selecionamos, nesta ordem,
Insert Name Create Left column OK
Para constatarmos que tudo funcionou adequadamente, selecionamos a célula B3 e verificamos se um rótulo “m” aparece na caixa de nomes (localizada do lado esquerdo da
folha logo abaixo da barra de instruções).
Movemos para a célula C8 e inserimos a solução analítica (Equação 1.9),
=9,8*m/cd*(1-exp(-cd/m*A8))
Quando essa fórmula é introduzida, o valor 0 aparece em C8. Então, copiamos a fórmula
logo abaixo, na célula C9, e vemos que o valor é 16,405 m/s.
Isso que foi dito é típico do uso padrão do Excel. Por exemplo, nesse ponto é possível mudar o valor dos parâmetros e ver como a solução analítica muda.
Agora ilustraremos como macros VBA podem ser usadas para estender os recursos
padrão. A Figura 2.8 lista o pseudocódigo lado a lado com o código Excel VBA para todas
as estruturas de controle descritas na seção anterior (Figuras 2.2 a 2.6). Observe que, apesar da diferença nos detalhes, a estrutura do pseudocódigo e do código VBA é idêntica.
Podemos agora usar algumas das construções da Figura 2.8 para escrever uma
macrofunção para calcular a velocidade numericamente. Abra o VBA selecionando4
Tools Macro Visual Basic Editor
Uma vez dentro do Visual Basic Editor (VBE), selecione
Insert Module
e uma janela de código se abrirá. A seguinte função VBA pode ser desenvolvida diretamente do pseudocódigo na Figura 2.7. Digite esta função na janela de edição.
Option Explicit
Function Euler(dt, ti, tf, yi, m, cd)
Dim h As Single, t As Single, y As Single, dydt As Single
t = ti
y = yi
h = dt
Do
If t + dt > tf Then
h = tf – t
End If
dydt = dy(t, y, m, cd)
y = y + dydt * h
t = t + h
If t >= tf Then Exit Do
Loop
Euler = y
End Function
Compare essa macro com o pseudocódigo da Figura 2.7 e verifique quão similares
eles são. Observe também como expandimos a lista dos argumentos da função para incluir os parâmetros necessários para o modelo da velocidade do pára-quedista. A velocidade resultante, v, é então devolvida para a planilha via o nome da função.
4
Existe uma combinação de teclas Alt-F11 que é ainda mais rápida!
2.4 EXCEL
33
Note ainda como incluímos outra função para calcular a derivada, que pode ser incluída no mesmo módulo digitando-se diretamente a seguir da função Euler:
Function dy(t, v, m, cd)
Const g As Single = 9,8
dy = g – (cd / m) * v
End Function
FIGURA 2.8
Estruturas de controle
fundamentais em (a)
pseudocódigo e (b) Excel VBA.
(a) Pseudocódigo
(b) Excel VBA
IF/THEN:
IF condição THEN
True bloco
ENDIF
If b <> 0 Then
r1 = –c / b
End If
IF/THEN/ELSE:
IF condição THEN
True bloco
ELSE
False bloco
ENDIF
If a < 0 Then
b = Sqr(Abs(a))
Else
b = Sqr(a)
End If
IF/THEN/ELSEIF:
IF condição1 THEN
Bloco1
ELSEIF condição2
Bloco2
ELSEIF condição3
Bloco3
ELSE
Bloco4
ENDIF
If class = 1 Then
x = x + 8
ElseIf class < 1 Then
x = x – 8
ElseIf class < 10 Then
x = x – 32
Else
x = x – 64
End If
CASE:
SELECT CASE Expressão de teste
CASE Valor1
Bloco1
CASE Valor2
Bloco2
CASE Valor3
Bloco3
CASE ELSE
Bloco4
END SELECT
Select Case a + b
Case Is < –50
x = –5
Case Is < 0
x = –5 – (a + b) / 10
Case Is < 50
x = (a + b) / 10
Case Else
x = 5
End Select
DOEXIT:
DO
Bloco1
IF condição EXIT
Bloco2
ENDIF
COUNT-CONTROLLED LOOP:
DOFOR i = início, fim, passo
Bloco
ENDDO
Do
i = i + 1
If i >= 10 Then Exit Do
j = i*x
Loop
For i = 1 To 10 Step 2
x = x + i
Next i
34
PROGRAMAÇÃO E SOFTWARE
O passo final é retornar à planilha e invocar a função entrando a seguinte fórmula na
célula B9:
=Euler(dt,A8,A9,B8,m,cd)
O resultado da integração numérica, 16,531, aparecerá na célula B9.
É possível avaliar o que aconteceu aqui. Quando você entra com o código da função
na célula da planilha, os parâmetros são repassados para o programa VBA onde o cálculo
é feito, e o resultado então é enviado para a célula no monitor. De fato, a linguagem VBA
da macro permite que se use o Excel como um mecanismo de entrada e saída. Vários
benefícios advêm desse fato.
Por exemplo, agora que você preparou os cálculos, pode manipulá-los. Suponha que
o saltador era muito pesado, digamos, m 100 kg (cerca de 220 libras). Inserir 100 na
célula B3 da planilha atualizará o valor apresentado para 17,438 na célula B9. Mude a
massa de volta para 68,1 kg e o resultado anterior, 16,531, automaticamente reaparecerá
na célula B9.
Agora vamos processar um passo adiante preenchendo mais alguns números para
o tempo. Insira os números 4, 6,... 16 nas células A10 a A16. Agora copie as fórmulas
das células B9:C9 para as linhas de 10 a 16. Note que o programa VBA calcula os resultados numéricos corretamente para cada nova linha. (Para verificar isso, mude o dt
para 2 e compare com o resultado previamente computado no Exemplo 1.2). Como um
desenvolvimento adicional, pode ser feito um gráfico xy com os resultados, usando-se
o Excel Chart Wizard.
A planilha final é mostrada a seguir. Acabamos de criar uma ferramenta interessante
para solução de problemas. Você pode fazer análises de sensibilidade mudando os valores de cada um dos parâmetros. Assim que um novo valor for inserido, a computação e
o gráfico serão atualizados automaticamente. Essa natureza interativa faz do Excel uma
ferramenta poderosa. No entanto, a habilidade para resolver esses problemas repousa em
poder escrever as macros em VBA.
Problema do Pára-quedista
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
É a combinação do Excel com a linguagem de programação VBA que verdadeiramente abre um mundo de possibilidades para a solução de problemas em engenharia. Nos
capítulos seguintes, ilustraremos como isso pode ser feito.
2.5 MATLAB
2.5
35
MATLAB
MATLAB é o produto carro-chefe da Math Works Inc., que foi fundada pelos analistas
numéricos Cleve Moler e John N. Little. Como o nome diz, MATLAB foi originalmente
desenvolvido como um laboratório para matrizes. Atualmente, o elemento central do
MATLAB ainda é matriz. Manipulações matemáticas de matrizes são muito convenientemente implementadas em ambientes interativos fáceis de usar. A essas manipulações de
matrizes, o MATLAB adicionou diversas funções numéricas, cálculos simbólicos e ferramentas de visualização. Como conseqüência, a versão corrente representa um ambiente
técnico computacional quase completo.
O MATLAB possui uma variedade de funções e operadores que permitem implementar convenientemente muitos dos métodos numéricos desenvolvidos neste livro. Tais
métodos serão descritos em detalhes nos capítulos que seguem. Além disso, programas
podem ser escritos nos chamados M-files, que podem ser usados para implementar cálculos numéricos. Vamos explorar como isso é feito.
Primeiro, você pode ver que o uso normal do MATLAB está intimamente relacionado à programação. Por exemplo, suponha que nós queremos determinar a solução
analítica para o problema do pára-quedista, o que pode ser obtido com a seguinte série de
comandos MATLAB:
>>
>>
>>
>>
>>
g=9,8;
m=68,1;
cd=12,5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
cujo resultado é mostrado como
v =
16,4050
Portanto, a seqüência de comandos é semelhante à seqüência de instruções em uma linguagem de programação típica.
Agora, digamos que você queira se desviar da estrutura seqüencial. Embora existam
algumas maneiras claras de inserir funcionalidades não-seqüenciais no modo padrão de
comando, a inclusão de decisões e laços é mais bem implementada criando-se um documento MATLAB chamado M-file. Para isso, faça a seguinte seleção na barra de instruções
File New Mfile
e uma nova janela se abrirá com o cabeçalho “MATLAB Editor/Debugger”. Nessa janela,
você pode digitar e editar programas MATLAB. Digite o seguinte código:
g=9,8;
m=68,1;
cd=12,5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
Observe que os comandos são escritos da mesma maneira como seriam escritos na
interface do MATLAB. Salve o programa com o nome analpara. O MATLAB automaticamente agregará a extensão .m para denotá-lo como um M-file: analpara.m.
Para executar esse programa, você deve voltar ao modo de comando. A maneira mais
direta de fazê-lo é clicar no botão “MATLAB Command Window” na barra de tarefas (a
qual está usualmente na parte inferior do monitor).
O programa pode ser executado digitando-se o nome do M-file, analpara, como
mostrado a seguir:
>> analpara
Se você fez tudo corretamente, o MATLAB deverá responder com a resposta correta:
v =
16,4050
36
PROGRAMAÇÃO E SOFTWARE
O problema, agora, é que tudo foi configurado para rodar um caso somente. Você
pode tornar o programa mais flexível fazendo o usuário acionar mais algumas variáveis de
entrada. Por exemplo, suponha que você deseja avaliar o impacto da massa na velocidade
em 2 s. O M-file pode ser reescrito da seguinte forma para atender a essa análise:
g=9,8;
m=input('massa (kg):');
cd=12,5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
Salve esse programa como analpara2.m. Se você digitou analpara2 enquanto estava
no modo comando, o prompt deve aparecer como
mass (kg):
O usuário pode então entrar com um valor como 100, e o resultado será mostrado como
v =
17,3420
Agora está bastante claro como podemos programar uma solução numérica com um
M-file. Para fazer isso, devemos primeiro entender como MATLAB manipula logicamente as estruturas lógicas e de laço. A Figura 2.9 traz uma lista de pseudocódigos lado a
lado com o código MATLAB para todas as estruturas de controle da seção anterior. Embora as estruturas do pseudocódigo e do código MATLAB sejam muito parecidas, existem algumas pequenas diferenças que devem ser notadas.
Em particular, observe como representamos a estrutura DOEXIT. No lugar do DO,
usamos a instrução WHILE(1). MATLAB interpreta o número 1 como correspondendo a
“verdadeiro”, portanto, essa instrução será repetida infinitamente da mesma maneira
como a instrução DO. O laço terminará com um comando break. Esse comando transfere
o controle para a instrução seguinte à instrução end que finaliza o laço.
Observe também que os parâmetros do laço controlado por contador são ordenados de forma diferente. Para o pseudocódigo, os parâmetros do laço são especificados
como início, fim, passo. Para o MATLAB, os parâmetros são ordenados como
início:passo:fim.
O seguinte M-file MATLAB pode ser desenvolvido do pseudocódigo na Figura 2.7.
Digite-o no MATLAB Editor/Debugger:
g=9,8;
m=input('massa (kg):');
cd=12,5;
ti=0;
tf=2;
vi=0;
dt=0,1;
t = ti;
v = vi;
h = dt;
while (1)
if t + dt > tf
h = tf – t;
end
dvdt = g – (cd / m) * v;
v = v + dvdt * h;
t = t + h;
if t >= tf, break, end
end
disp('velocidade (m/s):')
disp(v)
2.5 MATLAB
(a) Pseudocódigo
FIGURA 2.9
Estruturas de controle
fundamentais em (a)
pseudocódigo e (b) linguagem
de programação MATLAB.
37
(b) MATLAB
IF/THEN:
IF condição THEN
True bloco
ENDIF
if b ~= 0
r1 = –c / b;
end
IF/THEN/ELSE:
IF condição THEN
True bloco
ELSE
False bloco
ENDIF
if a < 0
b = sqrt(abs(a));
else
b = sqrt(a);
end
IF/THEN/ELSEIF:
IF condição1 THEN
Bloco1
ELSEIF condição2
Bloco2
ELSEIF condição3
Bloco3
ELSE
Bloco4
ENDIF
if class == 1
x = x + 8;
elseif class < 1
x = x - 8;
elseif class < 10
x = x – 32;
else
x = x – 64;
end
CASE:
SELECT CASE Expressão de Teste
CASE Valor1
Bloco1
CASE Valor2
Bloco2
CASE Valor 3
Bloco3
CASE ELSE
Bloco4
END SELECT
switch a + b
case 1
x = –5;
case 2
x = –5 – (a + b) / 10;
case 3
x = (a + b) / 10;
otherwise
x = 5;
end
DOEXIT:
DO
Bloco1
IF condição EXIT
Bloco2
ENDIF
while (1)
i = i + 1;
if i >= 10, break, end
j = i*x;
end
COUNT-CONTROLLED LOOP:
DOFOR i = start, finish, step
Bloco
ENDDO
for i = 1:2:10
x = x + i;
end
Salve esse programa como numpara.m e retorne para o modo comando para executálo, digitando numpara. Isso deve resultar na seguinte saída:
massa (kg): 100
velocidade (m/s):
17,4381
PROGRAMAÇÃO E SOFTWARE
38
Como passo final nesse desenvolvimento, vamos tomar o M-file e convertê-lo na
função apropriada, o que resulta no seguinte M-file, baseado no pseudocódigo da
Figura 2.7:
function yy = euler(dt,ti,tf,yi,m,cd)
t = ti;
y = yi;
h = dt;
while (1)
if t + dt > tf
h = tf – t;
end
dydt = dy(t, y, m, cd);
y = y + dydt * h;
t = t + h;
if t >= tf, break, end
end
yy = y;
Salve essa função como euler.m e crie outro M-file para calcular a derivada,
function dydt = dy(t, v, m, cd)
g = 9,8;
dydt = g – (cd / m) * v;
Salve esse arquivo como dy.m e retorne ao modo comando. Para invocar a função e
ver o resultado, você pode digitar os seguintes comandos:
>>
>>
>>
>>
>>
>>
>>
m=68,1;
cd=12,5;
ti=0;
tf=2.;
vi=0;
dt=0.1;
euler(dt,ti,tf,vi,m,cd)
Quando o último comando for inserido, a resposta será mostrada como
ans =
16,5309
Essa é a combinação do ambiente MATLAB com a linguagem de programação dos
M-file que de fato abre um mundo de possibilidades para a resolução de problemas de engenharia. No próximo capítulo, ilustraremos como isso é feito.
2.6
OUTRAS LINGUAGENS E BIBLIOTECAS
Nas seções anteriores, mostramos como desenvolver funções e procedimentos em Excel
e MATLAB para implementar o método de Euler partindo de algoritmos expressos em
pseudocódigo. Você deve notar que funções similares podem ser escritas em linguagens
de alto nível como Fortran 90 e C++. Por exemplo, uma função em Fortran 90 para o
método de Euler seria
Function Euler(dt, ti, tf, yi, m, cd)
REAL dt, ti, tf, yi, m, cd
Real h, t, y, dydt
PROBLEMAS
39
t = ti
y = yi
h = dt
Do
If (t + dt >
h = tf – t
End If
dydt = dy(t,
y = y + dydt
t = t + h
If (t >= tf)
End Do
Euler = y
End Function
tf) Then
y, m, cd)
* h
Exit
Para C, o resultado seria similar ao da função MATLAB. O ponto é que, uma vez
tendo desenvolvido um algoritmo bem estruturado na forma de pseudocódigo, ele pode
ser prontamente implementado em uma variedade de ambientes de programação.
Neste livro, nossa abordagem será a de muní-lo com procedimentos bem estruturados escritos em pseudocódigo. Essa coleção de algoritmos constitui uma biblioteca
numérica que pode ser acessada para implementar tarefas numéricas específicas nem diversas ferramentas de software ou linguagens de programação.
Além dos seus programas, você deve estar ciente que bibliotecas de programas comerciais também trazem procedimentos numéricos úteis. Por exemplo, a biblioteca Numerical
Recipe inclui uma grande variedade de algoritmos escritos em Fortran e C.5 Tais procedimentos são descritos em livros (por exemplo, Press et al., 1992) e em formato eletrônico.
Para Fortran, o IMSL (International Mathematical and Statistical Library) provê mais de
700 procedimentos cobrindo todas as áreas numéricas mencionadas neste livro. Em razão
do uso bem difundido do Fortran em engenharia, incluímos aplicações IMSL neste texto.
PROBLEMAS
2.1 Escreva o pseudocódigo para implementar o fluxograma
mostrado na Figura P2.1. Certifique-se de incluir a identação apropriada para deixar o programa bem claro.
F
F
x<5
T
x ≥ 10
T
x=x–5
x = 7,5
x=5
x < 50
T
Figura P2.1
5
F
2.2 Reescreva o seguinte pseudocódigo usando a identação apropriada.
DO
i = i + 1
IF z > 50 EXIT
x = x + 5
IF x > 5 THEN
y = x
ELSE
y = 0
ENDIF
z = x + y
ENDDO
2.3 Um valor para a concentração de poluentes em um lago é registrado em cada cartão em uma seqüência de cartões indexados. Um
cartão especial marcado com “fim dos dados” é colocado no final
da seqüência. Escreva um algoritmo que determine a soma, a média
e o máximo desses valores.
2.4 Escreva um fluxograma estruturado para o Problema 2.3.
2.5 Desenvolva, corrija e documente um programa para determinar
as raízes de uma equação quadrática, ax2 bx c, em uma linguagem de programação de alto nível ou uma linguagem de macro
Os procedimentos do Numerical Recipe estão disponíveis em livro e em formato eletrônico para Pascal, MS BASIC
e MATLAB. Informações sobre os produtos Numerical Recipe podem ser encontradas em http://www.nr.com/.
PROGRAMAÇÃO E SOFTWARE
40
da sua escolha. Use sub-rotinas para calcular as raízes (sejam reais
ou complexas). Faça testes de execução para os casos (a) a 1, b
6, c 2; (b) a 0, b 4, c 1,6; (c) a 3, b 2,5, c 7;
2.6 A função cosseno pode ser calculada pela seguinte série infinita:
x2
x4
x6
cos x = 1 −
+
−
+ ···
2!
4!
6!
Escreva um algoritmo para implementar essa fórmula de modo a
calcular e imprimir os valores de cos x assim que cada termo da
série for acrescentado. Em outras palavras, calcule e imprima a seqüência de valores para
cos x = 1
x2
2!
x4
x2
+
cos x = 1 −
2!
4!
até o termo de ordem n escolhido. Para cada valor especificado, calcule e mostre o erro relativo porcentual como
valor real − aproximação
% erro =
× 100%
valor real
cos x = 1 −
2.10 O método da “divisão e média”, um método antigo para calcular a raiz quadrada de um número positivo a, pode ser formulado
como
x + a/x
2
(a) Escreva um pseudocódigo bem estruturado para implementar
esse algoritmo como mostrado na Figura P2.10. Use a identação apropriada para que a estrutura fique clara.
(b) Desenvolva, corrija e documente o programa que implementa
essa equação em uma linguagem de alto nível ou uma linguagem de macro à sua escolha. Estruture seu código como na
Figura P2.10.
x=
F
AG =
PT × MT + PE × ME + PEF × EF
× 100%
PT + PE + PEF
Passo 8: Vá para o Passo 10.
Passo 9: Determine o valor de AG segundo a fórmula
AG =
PT × MT + PE × ME
× 100%
PT + PE
Passo 10: Imprima o número do curso, o nome e a média geral.
Passo 11: Termine o programa.
(a) Escreva um pseudocódigo bem estruturado para implementar
esse algoritmo.
(b) Escreva, corrija e documente um programa estruturado
baseado nesse algoritmo. Teste o programa utilizando os
seguintes dados para calcular a nota sem o exame final e a nota
com o exame final: PT 35; PE 30; PEF 35; testes 98,
85, 90, 65, 99; exercício para casa 95, 90, 87, 100, 92, 77
exame final 92.
tol = 105
x = a/2
Raíz quadrada = 0
2.7 Escreva um algoritmo para o Problema 2.6 como (a) um fluxograma estruturado, (b) pseudocódigo.
2.8 Desenvolva, corrija e documente um programa para o Problema 2.6 em uma linguagem de programação de alto nível ou em
uma linguagem de macro de sua escolha. Empregue funções de biblioteca para o cosseno em seu computador para determinar os valores reais. Faça o programa imprimir as aproximações da série e
o erro em cada etapa. Como um teste, faça o programa calcular o
cos(1,25) até o termo x 10 /10! Interprete os resultados.
2.9 O algoritmo seguinte foi desenvolvido para determinar a nota
para um curso cuja avaliação consiste em testes, exercícios para
casa e exames:
Passo 1: Entre com o número e o nome do curso.
Passo 2: Entre com os fatores de peso para os testes (PT), exercício
para casa (PE) e para o exame final (PEF).
Passo 3: Entre com a nota dos testes e determine a média das notas
dos testes (MT).
Passo 4: Entre com a nota dos exercícios e determine a sua média
(AH).
Passo 5: Se o curso tem uma nota final, continue para o Passo 6. Se
não, vá para o Passo 9.
Passo 6: Entre com a nota do exame final (EF).
Passo 7: Determine o valor de AG segundo a equação
T
a>0
y = (x + a/x)/2
e = |(y – x)/y|
x=y
F
e < tol
T
Raíz quadrada = x
Figura P2.10
2.11 Uma quantidade de dinheiro P é investida em uma conta cujos
juros são computados no final do período. O valor de retorno R
fornecido por uma taxa de juros i, depois de n períodos, deve ser
determinado pela seguinte fórmula:
R P(1 i)n
Escreva um programa para calcular o valor de retorno do investimento para cada ano de 1 a n. Os argumentos da função devem incluir o investimento inicial P, a taxa de juros i (um valor decimal) e
o número de anos n para o qual o valor de retorno deve ser calculado. A saída deve consistir em uma tabela com cabeçalho e colunas para n e R. Execute o programa para P $100.000, i 0,06 e
n 5 anos.
2.12 Fórmulas econômicas estão disponíveis para calcular pagamentos anuais para empréstimos. Suponha que você tenha tomado
emprestada uma quantidade de dinheiro P e tenha concordado em
pagar em n pagamentos anuais com uma taxa de juros i. A fórmula
para calcular o pagamento anual A é
i(1 + i)n
A=P
(1 + i)n − 1
PROBLEMAS
Escreva um programa que calcule A. Teste o programa para P
$55.000 e uma taxa de juros de 6,6% (i 0,066). Calcule os resultados para n = 1, 2, 3, 4 e 5 anos e mostre o resultado em uma tabela
com cabeçalho e colunas para n e A.
2.13 A temperatura média por dia de uma determinada área pode
ser aproximada pela seguinte função:
T Tmédia (Tmáx Tmédia) cos( (t tmáx))
onde Tmédia é a temperatura média anual, Tmáx é a temperatura máxima, ω = freqüência de variação anual (= 2π/365), e tmáx são os
= 205 d). Desenvolva um programa
dias de temperatura máxima (∼
que calcule a temperatura média entre dois dias do ano para uma
cidade particular. Teste o programa para (a) janeiro-fevereiro (t
0 a 59) em Miami, Flórida (Tmédia 22,1oC; Tmáx 28,3oC), e (b)
julho-agosto (t 180 a 242) em Boston, Massachusetts (Tmédia
10,7oC; Tmáx 22,9oC).
2.14 Desenvolva, corrija e teste um programa em uma linguagem
de alto nível ou em uma linguagem de macro à sua escolha para calcular a velocidade de queda de um pára-quedista como mostrado no
Exemplo 1.2. Desenvolva o programa de modo a permitir que o
usuário entre com valores para o coeficiente de arrasto e a massa.
Teste o programa duplicando os resultados do Exemplo 1.2. Repita
os cálculos mas use tamanho de passo 1 a 0,5 s. Compare os resultados com a solução analítica obtida previamente no Exemplo 1.1.
Um menor passo tem resultados melhores ou piores? Explique os
resultados.
2.15 A bubble sort é uma técnica de ordenação ineficiente, porém
fácil de programar. A idéia por trás desse algoritmo é mover por um
vetor comparando pares adjacentes e trocando os valores se estes
estiverem fora de ordem. Seguindo esse método, para ordenar um
vetor completamente, é necessário repetir os passos muitas vezes.
A cada passo, para uma ordenação desconto, os elementos menores
41
do vetor parecem subir para o fim dos vetores como bolhas. Eventualmente, haverá uma passagem pelo vetor em que nenhuma troca
é necessária. Então, o vetor estará ordenado. Depois da primeira passada, o maior valor do vetor vai diretamente para o vetor fundo. Conseqüentemente, a segunda passada tem de posicionar o penúltimo
valor, e assim por diante. Desenvolva um programa para montar um
vetor com 20 números aleatórios e ordená-los em ordem decrescente
com o bubble sort (Figura P2.15).
2.16 A Figura P2.16 mostra um tanque cilíndrico de base cônica.
Se o nível de líquido é muito baixo na parte cônica, o volume é
simplesmente o volume cônico de líquido. Se o nível de líquido
está no meio da parte cilíndrica, o volume total de líquido inclui a
parte cônica preenchida e a parte parcialmente ocupada do cilindro. Escreva uma função bem estruturada para calcular o volume
do tanque como função dos valores dados de R e d. Use estruturas
de controle e decisão (como If/Then, ElseIf, Else, EndIf). Desenvolva a função de modo que esta retorne o volume para todos os
casos em que a profundidade é menor que 3R. Retorne uma mensagem de erro (“Transbordo”) se você transbordou o tanque, isto
é, d 3R. Teste a função com os dados seguintes:
R
1
1
1
1
d
0,5
1,2
3,0
3,1
2R
d
R
Figura P2.16
Figura P2.15
Início
2.17 Duas distâncias são necessários para especificar a localização
de um ponto relativamente à origem no espaço bidimensional
(Figura P2.17):
m=n–1
• As distâncias horizontal e vertical (x, y) em coordenadas cartesianas.
• O raio e o ângulo (r, ) em coordenadas polares.
Figura P2.17
troca = falso
T
i>m
i=1
II
i=i+1
r
F
T
Não
troca
F
ai > ai+1
T
x
F
ai
avança
ai+1
III
m=m–1
fim
I
y
troca =
verdadeiro
IV
PROGRAMAÇÃO E SOFTWARE
42
É relativamente simples calcular as coordenadas cartesianas (x, y)
com base das coordenadas polares (r, ). O inverso não é tão simples. O raio pode ser calculado pela seguinte fórmula:
r=
x 2 + y2
Se as coordenadas estiverem no primeiro e no quarto quadrantes
(isto é, x 0), então uma fórmula simples pode ser utilizada,
y
θ = tg
x
x
y
1
1
0
−1
−1
−1
0
1
0
0
1
1
1
0
−1
−1
−1
0
r
θ
−1
A dificuldade surge para os demais casos. A tabela a seguir sintetiza
as possibilidades:
x
<0
<0
<0
=0
=0
=0
y
θ
>0
<0
=0
>0
<0
=0
tan−1(y/x) + π
tan−1(y/x) − π
π
π/2
−π/2
0
(a) Escreva um fluxograma bem estruturado para um procedimento que calcule r e como função de x e y. Expresse os resultados finais para em graus.
(b) Escreva uma função bem estruturada baseada no seu fluxograma. Teste seu programa usando-o para preencher a
seguinte tabela:
2.18 Desenvolva uma função bem estruturada para a qual é passada uma nota em valor numérico de 0 a 100 e que retorna uma nota
em caracteres segundo o esquema:
Nota numérica
A
B
C
D
F
Critérios
90 ≤ valor numérico ≤ 100
80 ≤ valor numérico < 90
70 ≤ valor numérico < 80
60 ≤ valor numérico < 70
valor numérico < 60
2.19 Desenvolva uma função bem estruturada que determina (a) o
fatorial; (b) o valor mínimo de um vetor; (c) a média dos valores de
um vetor.
2.20 Desenvolva um programa bem estruturado para (a) determinar a raiz quadrada da soma de quadrados de elementos de uma matriz) e (b) normalize a matriz dividindo cada linha pelo máximo
valor absoluto da linha, de modo que o elemento máximo em cada
linha seja 1.
CAPÍTULO
3
3
Aproximações e
Erros de Arredondamento
Como tantos dos métodos deste livro são simples na descrição e na aplicação, seria muito
tentador, neste ponto, proceder diretamente ao corpo principal do texto e ensinar a usar
essas técnicas. Entretanto, entender o conceito de erro é tão importante para o uso efetivo
dos métodos numéricos que os próximos dois capítulos serão devotados a esse tópico.
A importância do erro foi introduzida na discussão sobre o pára-quedista em queda
livre no Capítulo 1, quando a velocidade de um pára-quedista em queda livre foi determinado por métodos tanto analíticos quanto numéricos. Embora a técnica numérica tenha
produzido estimativas que estavam próximas da solução analítica exata, havia uma discrepância, ou erro, porque o método numérico envolvia uma aproximação. Na realidade,
tivemos sorte nesse caso, porque estava disponível uma solução analítica que permitiu calcular o erro exatamente. Para muitos problemas aplicados de engenharia, não é possível
obter soluções analíticas. Portanto, não se pode calcular exatamente os erros associados aos
métodos numéricos. Nesses casos, é preciso contentar-se com uma aproximação ou estimativa dos erros.
Tais erros são característicos da maioria das técnicas descritas neste livro. Essa afirmação pode, em princípio, parecer contrária ao que normalmente se julga engenharia segura. Os alunos e os engenheiros práticos constantemente tentam limitar os erros em seu
trabalho. Quando se fazem provas ou lições de casa, o erro é penalizado, e não recompensado. Na prática profissional, os erros podem ser custosos e, algumas vezes, catastróficos.
Se uma estrutura ou um mecanismo falha, vidas podem ser perdidas.
A perfeição é uma meta louvável, mas é raramente atingida. Por exemplo, embora o
modelo desenvolvido a partir da segunda lei de Newton seja uma aproximação excelente,
ele nunca prediria exatamente, na prática, a queda do pára-quedista. Uma variedade de fatores, como vento e pequenas variações na resistência do ar, causaria desvios do valor previsto. Se esses desvios forem sistematicamente para cima ou para baixo, então é necessário
desenvolver um novo modelo. Entretanto, se eles forem distribuídos aleatoriamente e agrupados bem junto em torno da previsão, então os desvios poderão ser considerados
desprezíveis, e o modelo, adequado. As aproximações numéricas também introduzem
discrepâncias similares na análise. Novamente, a questão é: quanto erro está presente nos
cálculos, e ele é tolerável?
Este capítulo e o próximo cobrem os tópicos básicos relacionados à identificação,
quantificação e minimização desses erros. Neste capítulo, informações gerais referentes
à quantificação do erro são revisadas nas primeiras seções. Isto é seguido por uma seção
sobre uma das duas principais formas de erro numérico: o erro de arredondamento. O erro
de arredondamento é conseqüência do fato de os computadores poderem representar apenas quantidades com números finitos de algoritmos. A seguir, o Capítulo 4 trata da outra
forma importante de erro: o erro de truncamento. O erro de truncamento é a discrepância
introduzida pelo fato de que os métodos numéricos podem empregar aproximações para
representar operações e quantidades matemáticas exatas. Finalmente, serão discutidos
brevemente os erros que não são ligados diretamente com os próprios métodos numéricos
e que incluem enganos, erros na formulação ou no modelo, e incerteza nos dados.
43
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
44
3.1
ALGARISMOS SIGNIFICATIVOS
Este livro trata exaustivamente das aproximações ligadas com a manipulação dos números.
Conseqüentemente, antes de discutir os erros associados aos métodos numéricos, é útil revisar os conceitos básicos ligados à representação aproximada dos próprios números.
Sempre que se emprega um número em um cálculo, é preciso estar certo de que ele
pode ser usado com confiança. Por exemplo, a Figura 3.1 exibe um velocímetro e um
hodômetro de um automóvel. A inspeção visual de um velocímetro indica que o carro está
movendo-se entre 48 e 49 km/h. Como o indicador está mais alto do que o ponto médio
entre os marcadores de escala, pode-se dizer com segurança que o carro está movendo-se
a aproximadamente 49 km/h. O resultado é confiável porque, se dois ou mais indivíduos
razoáveis lerem essa medida, eles chegarão à mesma conclusão. Entretanto, se a velocidade fosse estimada até uma casa decimal, uma pessoa poderia dizer 48,8, enquanto a
outra poderia dizer 48,9 km/h. Mas, por causa dos limites desse instrumento, apenas os
dois primeiros algarismos podem ser usados com confiança. Estimativas do terceiro algarismo (ou algarismos superiores) devem ser vistas como aproximações. Seria absurdo
afirmar, com base nesse velocímetro, que o automóvel está movendo-se a 48,8642138
km/h. Em contraste, o hodômetro fornece até seis algarismos corretos. A partir da Figura 3.1,
pode-se concluir que o carro percorreu um pouco menos que 87.324,5 km durante seu
período de uso. Nesse caso, o sétimo algarismo (e os próximos) é incerto.
O conceito de um algarismo significativo foi desenvolvido para designar formalmente
a confiabilidade de um valor numérico. Os algarismos significativos de um número são
aqueles que podem ser usados com confiança. Eles correspondem ao número de algarismos
corretos mais um algarismo estimado. Por exemplo, o velocímetro e o hodômetro na Figura
3.1 fornecem leituras de três e sete algarismos significativos, respectivamente. Para o velocímetro, os dois algarismos corretos são 48. Convenciona-se tomar o algarismo estimado
como a metade da menor divisão de escala no aparelho de medida. Portanto, a leitura do velocímetro consistiria em três algarismos significativos: 48,5. De forma similar, o hodômetro
forneceria uma leitura com sete algarismos significativos, ou seja, 87.324,45.
Embora usualmente seja um procedimento imediato avaliar os algarismos significativos de um número, alguns casos podem causar confusão. Por exemplo, zeros não são
sempre algarismos significativos porque eles podem ser necessários apenas para localizar
a vírgula decimal. Os números 0,00001845, 0,0001845 e 0,001845 têm quatro algarismos
significativos. Analogamente, quando zeros à direita são usados em números grandes, não
é claro quantos, ou se algum, destes zeros são significativos. Por exemplo, o valor nominal
do número 45.300 pode ter três, quatro ou cinco algarismos significativos, dependendo de
os zeros serem conhecidos com confiança. Tais incertezas podem ser resolvidas usando-se
a notação científica, onde 4,53 ⫻ 104, 4,530 ⫻ 104, 4,5300 ⫻ 104 designam que o número
é conhecido com três, quatro ou cinco algarismos significativos, respectivamente.
FIGURA 3.1
Um velocímetro e um hodômetro de automóvel ilustram o conceito de algarismos significativos.
40
60
40
80
100
20
0
120
4
8 7 3 2 4 5
3.2 ACURÁCIA E PRECISÃO
45
O conceito de algarismos significativos tem duas implicações importantes no estudo
de métodos numéricos:
1.
2.
Como introduzido no problema do pára-quedista em queda livre, os métodos
numéricos fornecem resultados aproximados. É necessário, portanto, desenvolver
critérios para especificar quanta confiança se tem no resultado aproximado. Uma
forma de fazer isso é em termos de algarismos significativos. Por exemplo, pode-se
decidir que a aproximação é aceitável se ela for correta até quatro algarismos
significativos.
√
Embora quantidades como , e ou 7 representem quantidades específicas, elas não
podem ser expressas exatamente por um número limitado de algarismos. Por exemplo,
π = 3,141592653589793238462643 . . .
ad infinitum. Como os computadores mantêm apenas um número finito de algarismos
significativos, tais números jamais podem ser representados exatamente. A omissão
dos algarismos significativos remanescentes é chamada de erro de arredondamento.
Tanto o erro de arredondamento quanto o uso de algarismos significativos para expressar confiança em um resultado numérico serão explorados em detalhes nas seções
subseqüentes. Além disso, o conceito de algarismos significativos terá relevância na
definição de acurácia e precisão na próxima seção.
ACURÁCIA E PRECISÃO
Os erros associados tanto aos cálculos quanto às medidas podem ser caracterizados com
relação a sua acurácia e precisão. A acurácia se refere a quão próximo o valor calculado
ou medido está do valor verdadeiro. A precisão se refere a quão próximos os valores individuais calculados ou medidos estão uns dos outros.
Esses conceitos podem ser ilustrados graficamente usando-se uma analogia da
prática de tiro ao alvo. Os buracos de bala em cada alvo na Figura 3.2 podem ser pensa-
FIGURA 3.2
Um exemplo do tiro ao alvo ilustrando os conceitos de acurácia e precisão. (a) Inacurado e
impreciso; (b) acurados e impreciso; (c) inacurado e preciso; (d) acurado e preciso.
Aumento da acurácia
Aumento da precisão
3.2
(a)
(b)
(c)
(d)
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
46
dos como previsões de uma técnica numérica, enquanto a mosca representa a verdade.
Inacurácia (também chamada viés) é definida como um desvio sistemático da verdade.
Embora os tiros na Figura 3.2c estejam agrupados mais juntos do que aqueles na Figura 3.2a,
os dois casos são igualmente inacurados porque ambos estão centrados no quadrante superior esquerdo do alvo. As imprecisões (também chamadas incertezas), por outro lado,
referem-se à intensidade do espalhamento. Portanto, embora as Figuras 3.2b e d sejam
igualmente exatas (isto é, centradas na mosca), a última é mais precisa porque os tiros
estão agrupados mais juntos.
Os métodos numéricos deveriam ser suficientemente acurados ou sem viés para satisfazer os requisitos de um problema de engenharia particular. Eles também deveriam ser
suficientemente precisos para permitirem projetos adequados de engenharia. Neste livro,
será usado o termo coletivo erro para representar tanto a inacurácia quanto a imprecisão
de predições. Com esses conceitos como base, podem-se discutir os fatores que contribuem para o erro dos cálculos numéricos.
3.3
DEFINIÇÕES DE ERRO
Os erros numéricos são causados pelo uso de aproximações para representar operações e
quantidades matemáticas exatas. Eles incluem erros de truncamento, que resultam quando
são feitas aproximações para representar procedimentos matemáticos exatos, e erros de
arredondamento, que aparecem quando números com uma quantidade limitada de algoritmos significativos são usados para representar números exatos. Para ambos os tipos, a relação entre o resultado exato ou verdadeiro e a aproximação pode ser formulada como
Valor verdadeiro ⫽ aproximação ⫹ erro
(3.1)
Rearranjando a Equação (3.1), encontra-se que o erro numérico é igual à discrepância
entre o valor verdadeiro e a aproximação, ou seja,
Et ⫽ valor verdadeiro ⫺ aproximação
(3.2)
onde Et é usado para designar o valor exato do erro. O subscrito t é incluído para designar
que esse é o erro “verdadeiro”(true, em inglês) em contraste com outros casos, como será
descrito em breve, em que uma estimativa “aproximada” do erro deve ser empregada.
Um defeito dessa definição é que ela não leva em conta a ordem de grandeza do
valor que está sendo examinado. Por exemplo, um erro de um centímetro é muito mais
significativo quando se mede um rebite do que uma ponte. Uma forma de considerar o
valor das quantidades que estão sendo calculadas é normalizar o erro com o valor verdadeiro, como em
Erro relativo fracionário verdadeiro =
erro verdadeiro
valor verdadeiro
onde, como especificado pela Equação (3.2), erro ⫽ valor verdadeiro ⫺ aproximação. O
erro relativo também pode ser multiplicado por 100% para expressá-lo como
εt =
erro verdadeiro
100%
valor verdadeiro
(3.3)
onde εt designa o erro relativo porcentual verdadeiro.
EXEMPLO 3.1
Cálculo de Erros
Enunciado do Problema. Suponha que você tenha a tarefa de medir os comprimentos
de uma ponte e de um rebite e que conseguiu 9.999 e 9 cm, respectivamente. Se os valores
verdadeiros forem 10.000 e 10 cm, respectivamente, calcule (a) o erro verdadeiro e (b) o
erro relativo porcentual verdadeiro para cada caso.
3.3 DEFINIÇÕES DE ERRO
47
Solução.
(a) O erro na medida da ponte é [Equação (3.2)]
E t = 10. 000 − 9. 999 = 1 cm
e para o rebite é
E t = 10 − 9 = 1 cm
(b) O erro relativo porcentual para a ponte é [Equação (3.3)]
εt =
1
100% = 0,01%
10.000
e para o rebite é
εt =
1
100% = 10%
10
Portanto, embora ambas as medidas tenham um erro de 1 cm, o erro relativo para o
rebite é muito maior. A conclusão seria que foi feito um trabalho adequado na
medição da ponte, enquanto que a estimativa para o rebite deixa algo a desejar.
Observe que, para as Equações (3.2) e (3.3), E e ε têm o subscrito t para indicar que
o erro está normalizado com relação ao valor verdadeiro. No Exemplo 3.1, esse valor foi
fornecido. Entretanto, nas situações reais, tais informações raramente estão disponíveis.
Para os métodos numéricos, o valor verdadeiro será conhecido apenas ao se lidar com
funções que podem ser resolvidas analiticamente. Este será o caso típico quando se investigar o comportamento teórico de uma técnica particular para sistemas simples. Entretanto,
nas aplicações do mundo real, obviamente não se conhecerá a priori a resposta verdadeira.
Para tais situações, uma alternativa é normalizar o erro usando a melhor estimativa
disponível do valor verdadeiro, isto é, a aproximação propriamente dita, como em
εa =
erro aproximado
100%
aproximação
(3.4)
onde o subscrito a significa que o erro foi normalizado por um valor aproximado. Observe também que, para aplicações do mundo real, a Equação (3.2) não pode ser usada
para calcular o termo do erro para a Equação (3.4). Um dos desafios dos métodos numéricos é determinar estimativas de erro na ausência de conhecimento relativo ao valor verdadeiro. Por exemplo, certos métodos numéricos usam uma abordagem iterativa para calcular as respostas. Em tais abordagens, uma aproximação atual é feita com base em uma
aproximação prévia. Esse processo é realizado repetidamente, ou iterativamente, para se
calcular com sucesso (é o que se espera) aproximações cada vez melhores. Para tais
casos, o erro é freqüentemente estimado como a diferença entre as aproximações prévia e
corrente. Assim, o erro relativo porcentual é determinado de acordo com
εa =
aproximação atual − aproximação prévia
100%
aproximação atual
(3.5)
Essa e outras abordagens para expressar erros serão mais bem discutidas em capítulos
subseqüentes.
Os sinais nas Equações (3.2) até (3.5) podem ser tanto positivos quanto negativos.
Se a aproximação for maior do que o valor verdadeiro (ou a aproximação prévia for maior
do que a aproximação atual), o erro é negativo; se a aproximação for menor do que o valor
verdadeiro, o erro é positivo. Além disso, para as Equações (3.3) a (3.5), o denominador
pode ser menor do que zero, o que também pode levar a um erro negativo. Freqüentemente, ao se realizar cálculos, não há preocupação com o sinal do erro, mas interesse em
saber se o valor absoluto porcentual é menor que uma tolerância porcentual pré-especifi-
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
48
cada εs . Portanto, em geral, é útil usar o valor absoluto das Equações (3.2) até (3.5). Para
tais casos, os cálculos são repetidos até que
(3.6)
|εa | < εs
Se essa relação for válida, supõe-se que o resultado está dentro do nível aceitável pré-especificado εs . Observe que, no resto deste texto, serão utilizados quase que exclusivamente valores absolutos quando forem usados erros relativos.
Também é conveniente relacionar esses erros ao número de algarismos significativos na aproximação. Pode ser mostrado (Scarborough, 1966) que, se o seguinte critério
for satisfeito, é possível ter certeza de que o resultado é correto até pelo menos n algarismos significativos.
εs ⫽ (0,5 ⫻ 102⫺n) %
EXEMPLO 3.2
(3.7)
Estimativas de Erros para Métodos Iterativos
Enunciado do Problema. Em matemática, as funções, em geral, podem ser representadas por séries infinitas. Por exemplo, a função exponencial pode ser calculada usando-se
ex = 1 + x +
x2
x3
xn
+
+ ··· +
2
3!
n!
(E3.2.1)
Portanto, conforme mais termos forem adicionados em seqüência, a aproximação se torna
uma estimativa cada vez melhor do valor verdadeiro de ex. A Equação (E3.2.1) é chamada
de expansão em série de Maclaurin.
Começando com a versão mais simples, ex ⫽ 1, some um termo de cada vez para estimar e0,5. Depois que cada termo for adicionado, calcule o erro verdadeiro e o erro relativo porcentual aproximado com as Equações (3.3) e (3.5), respectivamente. Observe que
o valor verdadeiro é e0,5 ⫽ 1,648721 . . . . Adicione termos até que o valor absoluto do
erro estimado aproximado εa esteja dentro do critério de erro pré-especificado εs que
garanta três algarismos significativos.
Solução. Inicialmente, a Equação (3.7) pode ser usada para determinar o critério de
erro que garante o resultado correto até pelo menos três algarismos significativos:
εs = (0,5 × 102−3 )% = 0,05%
Portanto, serão adicionados termos à série até que εa caia abaixo desse nível.
A primeira estimativa é simplesmente igual à Equação (E3.2.1) com um único
termo. Portanto, a primeira estimativa é igual a 1. A segunda estimativa é então gerada somando-se o segundo termo, como em
ex = 1 + x
ou, para x ⫽ 0,5,
e0,5 = 1 + 0,5 = 1,5
Isso representa um erro relativo porcentual verdadeiro de [Equação (3.3)]
εt =
1,648721 − 1,5
100% = 9,02%
1,648721
A Equação (3.5) pode ser usada para determinar uma estimativa aproximada do erro,
como em
εa =
1,5 − 1
100% = 33,3%
1,5
Como εa não é menor do que o valor pedido de εs, os cálculos continuariam com a soma
de um outro termo, x2 / 2!, e repetindo-se os cálculos de erro. O processo deve ser continuado até que εa < εs . Todos os cálculos podem ser resumidos em
3.4 ERROS DE ARREDONDAMENTO
Termos
1
2
3
4
5
6
49
Resultados
ε t (%)
εa (%)
1
1,5
1,625
1,645833333
1,648437500
1,648697917
39,3
9,02
1,44
0,175
0,0172
0,00142
33,3
7,69
1,27
0,158
0,0158
Portanto, depois que seis termos forem incluídos, o erro aproximado cai abaixo de εs ⫽
0,05% e os cálculos param. Entretanto, observe que, em vez de três algarismos significativos, os resultados são exatos até cinco! Isso acontece porque, nesse caso, tanto a
Equação (3.5) quanto a (3.7) são conservadoras — ou seja, garantem que o resultado é
pelo menos tão bom quanto elas especificaram. Embora, como discutido no Capítulo 6,
esse não seja sempre o caso para a Equação (3.5), será verdade a maior parte das vezes.
Com as definições precedentes como base, é possível avançar para dois tipos de erros
ligados diretamente com os métodos numéricos: os erros de arredondamento e os erros de
truncamento.
3.4
ERROS DE ARREDONDAMENTO
Como mencionado anteriormente, os erros de arredondamento se originam do fato de
que o computador mantém apenas um
√ número fixo de algarismos significativos durante
os cálculos. Números como , e ou 7 não podem ser expressos por um número fixo de
algarismos significativos. Portanto, eles não podem ser representados exatamente por
um computador. Além disso, como os computadores usam uma representação na base 2,
não podem representar precisamente certos números exatos na base 10. A discrepância
introduzida por essa omissão de algarismos significativos é chamada de erro de
arredondamento.
3.4.1 Representação dos Números no Computador
Os erros numéricos de arredondamento estão diretamente relacionados à maneira como
os números são armazenados no computador. A unidade fundamental na qual a informação é representada é chamada de palavra, entidade que consiste em uma seqüência de
dígitos binários (binary digits), ou bits. Os números são tipicamente armazenados em uma
ou mais palavras. Para entender como isso é feito, primeiro é necessário revisar algum
material relacionado aos sistemas numéricos.
Sistemas Numéricos. Um sistema numérico é meramente uma convenção para representar quantidades. Como são 10 dedos na mão e 10 dedos no pé, o sistema numérico com
o qual há mais familiaridade é o sistema decimal ou o sistema numérico na base 10. A
base é o número usado como referência para construir o sistema. O sistema na base 10 usa
os 10 algarismos — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — para representar os números. Por si só,
esses algarismos são satisfatórios para contar de 0 a 9.
Para quantidades maiores, combinações desses algarismos básicos devem ser usadas, com a posição ou o valor do lugar especificando a ordem de grandeza. O algarismo
mais à direita em um número completo representa um número entre 0 e 9. O segundo algarismo a partir da direita representa um múltiplo de 10. O terceiro algarismo a partir da
direita representa um múltiplo de 100 e assim por diante. Por exemplo, no número 86.409
há oito grupos de 10.000, seis grupos de 1.000, quatro grupos de 100, zero grupos de 10
e nove unidades a mais, ou
(8 × 104 ) + (6 × 103 ) + (4 × 102 ) + (0 × 101 ) + (9 × 100 ) = 86.409
A Figura 3.3a fornece uma representação visual de como o número é formulado no
sistema na base 10. Esse tipo de representação é chamada notação posicional.
50
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
104 103 102 101 100
8
6
4
0
9
9
0
4
6
8
(a)
27
26
25
24
23
22
21
20
1
0
1
0
1
1
0
1
⫻
1
⫻
10
⫻
100
⫻ 1.000
⫻ 10.000
1
0
1
1
0
1
0
1
(b)
⫻
⫻
⫻
⫻
⫻
⫻
⫻
⫻
1
2
4
8
16
32
64
128
=
9
=
0
=
400
= 6.000
= 80.000
86.409
= 1
= 0
= 4
= 8
= 0
= 32
= 0
= 128
173
FIGURA 3.3
Como os sistemas (a) decimal (base 10) e (b) binário (base 2) funcionam. Em (b), o número
binário 10101101 é equivalente ao número decimal 173.
Como o sistema decimal é tão familiar, em geral não se percebe que existem alternativas. Por exemplo, se os seres humanos tivessem oito dedos na mão e oito dedos no pé,
sem dúvida teriam desenvolvido um sistema octogonal ou uma representação na base 8.
Nesse mesmo sentido, o amigo computador é como um animal de dois dedos que é limitado a dois estados — ou 0 ou 1. Isso está relacionado ao fato de que as unidades lógicas
primárias dos computadores digitais são componentes elétricas ligadas ou desligadas.
Portanto, os números em um computador são representados com um sistema binário ou
na base 2. Da mesma forma como no sistema decimal, as quantidades podem ser representadas usando-se a notação posicional. Por exemplo, o número binário 11 é equivalente
a (1 ⫻ 21 ) ⫹ (1 ⫻ 20 ) ⫽ 2 ⫹ 1 ⫽ 3 no sistema decimal. A Figura 3.3b ilustra um
exemplo mais complicado.
Representação Inteira. Agora que foi revisado como o número na base 10 pode ser
representado na forma binária, é simples conceber como os inteiros são representados em
um computador. A abordagem mais direta, chamada de método dos valores com sinal, utiliza o primeiro bit de uma palavra para indicar o sinal, com um 0 para positivo e um 1 para
negativo. Os bits restantes são usados para armazenar o número. Por exemplo, o valor inteiro ⫺173 seria armazenado em um computador de 16 bits, como na Figura 3.4.
FIGURA 3.4
A representação de um inteiro decimal ⫺173 em um computador de 16 bits usando-se o
método do valor com sinal.
1
Sinal
0
0
0
0
0
0
0
1
0
Número
1
0
1
1
0
1
3.4 ERROS DE ARREDONDAMENTO
EXEMPLO 3.3
51
Intervalo de Inteiros
Enunciado do Problema. Determine o intervalo dos inteiros na base 10 que pode ser
representado em um computador de 16 bits.
Solução. Dos 16 bits, o primeiro bit representa o sinal. Os restantes 15 bits podem conter números binários de 0 a 111111111111111. O limite superior pode ser convertido para
um inteiro decimal, como
(1 × 214 ) + (1 × 213 ) + · · · + (1 × 21 ) + (1 × 20 )
que é igual a 32.767 (observe que essa expressão pode ser calculada simplesmente como
215 ⫺ 1). Portanto, uma palavra no computador de 16 bits pode armazenar inteiros decimais variando de ⫺32.767 a 32.767. Além disso, como o zero já foi definido como
0000000000000000, é redundante usar o número 1000000000000000 para definir um
“menos zero”. Portanto, ele é normalmente usado para representar um número negativo
adicional: ⫺32.768, e o intervalo é de ⫺32.768 a 32.767.
Observe que esse método descrito do valor com sinal não é usado para representar inteiros nos computadores convencionais. Uma abordagem preferida, chamada de
técnica do complemento de 2, incorpora diretamente o sinal no valor absoluto do
número em vez de fornecer um bit separado para representar mais ou menos (ver
Chapra e Canale, 1994). Entretanto, o Exemplo 3.3 ainda serve para ilustrar como
todos os computadores digitais são limitados em sua capacidade de representar inteiros. Isto é, os números acima ou abaixo de um intervalo não podem ser representados. Uma limitação mais séria é encontrada no armazenamento e na manipulação de
quantidades fracionárias como descrito a seguir.
Representação em Ponto Flutuante. As quantidades fracionárias são representadas
tipicamente em computadores usando-se a forma de ponto flutuante. Nessa abordagem, o
número é expresso como uma parte fracionária, chamada mantissa ou significando, e uma
parte inteira, chamada de expoente ou característica, como em
m · be
onde m é a mantissa, b é a base do sistema numérico que está sendo usado, e e é o expoente. Por exemplo, o número 156,78 poderia ser representado como 0,15678 ⫻ 103 em
um sistema de ponto flutuante na base 10.
A Figura 3.5 mostra uma forma na qual um número em ponto flutuante poderia ser
armazenado em uma palavra. O primeiro bit fica reservado para o sinal; a próxima série
de bits, para o expoente com sinal; e os últimos bits, para a mantissa.
Observe que a mantissa está usualmente normalizada se ela tiver o algarismo dominante nulo. Por exemplo, suponha que a quantidade 1/34 ⫽ 0,029411765… seja armazenada em um sistema na base 10 em ponto flutuante que permita que apenas quatro
casas decimais sejam armazenadas. Então, a quantidade 1/34 seria armazenada como
0,0294 ⫻ 100
FIGURA 3.5
A maneira como um número em ponto flutuante é armazenado em uma palavra.
Expoente
com sinal
Mantissa
Sinal
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
52
Entretanto, nesse processo, a inclusão do zero inútil à direita da vírgula nas força a abandonar o algarismo 1 na quinta casa decimal. O número pode ser normalizado para se
remover o zero dominante pela multiplicação da mantissa por 10 e pela diminuição do expoente por 1 para fornecer
0,2941 ⫻ 10-1
Assim, manteve-se um algarismo significativo adicional quando o número foi armazenado.
A conseqüência da normalização é que o valor absoluto de m é limitado. Isto é,
1
≤m<1
b
(3.8)
onde b é a base. Por exemplo, para um sistema na base 10, m iria variar entre 0,1 e 1, e
para um sistema na base 2, entre 0,5 e 1.
A representação em ponto flutuante permite que tanto frações quanto números muito
grandes sejam expressos em um computador. Contudo, ela tem algumas desvantagens.
Por exemplo, os números em ponto flutuante ocupam mais espaço e levam mais tempo
para processar do que os números inteiros. Mais significativo, porém, é que seu uso introduz uma fonte de erros, já que a mantissa mantém apenas um número finito de algarismos significativos. Portanto, foi introduzido um erro de arredondamento.
EXEMPLO 3.4
Conjunto Hipotético de Números em Ponto Flutuante
Enunciado do Problema. Crie um conjunto de números hipotéticos em ponto flutuante
para uma máquina que armazena informação usando palavras de 7 bits. Use o primeiro bit
para o sinal do número, os próximos três para o sinal e o módulo do expoente, e os três últimos para o módulo da mantissa (Figura 3.6).
Solução. O menor número positivo possível é mostrado na Figura 3.6. O 0 inicial
indica que a quantidade é positiva. O 1 na segunda posição mostra que o expoente tem
um sinal negativo. Os 1 na terceira e na quarta posição dão o valor máximo do expoente como sendo
1 × 21 + 1 × 20 = 3
Portanto, o expoente será ⫺3. Finalmente, a mantissa é especificada pelo 100 nas últimas
três posições, o que coincide com
1 ⫻ 2⫺1 ⫹ 0 ⫻ 2⫺2 ⫹ 0 ⫻ 2⫺3 ⫽ 0,5
Embora uma mantissa menor seja possível (isto é, 000, 001, 010, 011), o valor 100 é
usado por causa do limite imposto pela normalização [Equação (3.8)]. Desse modo, o
menor número positivo possível para esse sistema é ⫹0,5 ⫻ 2⫺3, que é igual a 0,0625 no
sistema na base 10. Os próximos números mais altos são obtidos aumentando-se a mantissa, como em
FIGURA 3.6
O menor número positivo em ponto flutuante possível para o Exemplo 3.4.
21 20 2–1 2–2 2–3
0
1
1
Sinal do Sinal do
número expoente
1
1
0
0
Módulo
da mantissa
Módulo
do expoente
3.4 ERROS DE ARREDONDAMENTO
53
0111101 = (1 × 2−1 + 0 × 2−2 + 1 × 2−3 ) × 2−3 = (0,078125)10
0111110 = (1 × 2−1 + 1 × 2−2 + 0 × 2−3 ) × 2−3 = (0,093750)10
0111111 = (1 × 2−1 + 1 × 2−2 + 1 × 2−3 ) × 2−3 = (0,109375)10
Observe que os equivalentes na base 10 são igualmente espaçados, com um intervalo de
0,015625.
Nesse ponto, para continuar a aumentar, é preciso diminuir o expoente para 10, o que
dá um valor de
1 × 21 + 0 × 20 = 2
A mantissa é diminuída para o seu menor valor, 100. Portanto, o próximo número é
0110100 = (1 × 2−1 + 0 × 2−2 + 0 × 2−3 ) × 2−2 = (0,125000)10
Isso ainda representa um salto de 0,125000 ⫺ 0,109375 ⫽ 0,015625. No entanto, agora
quando os números mais altos forem gerados aumentando-se a mantissa, o espaçamento
terá um comprimento de 0,03125,
0110101 = (1 × 2−1 + 0 × 2−2 + 1 × 2−3 ) × 2−2 = (0,156250)10
0110110 = (1 × 2−1 + 1 × 2−2 + 0 × 2−3 ) × 2−2 = (0,187500)10
0110111 = (1 × 2−1 + 1 × 2−2 + 1 × 2−3 ) × 2−2 = (0,218750)10
Esse padrão é repetido conforme quantidades maiores forem representadas até que o
número máximo seja atingido,
0011111 = (1 × 2−1 + 1 × 2−2 + 1 × 2−3 ) × 23 = (7)10
O conjunto numérico final é mostrado graficamente na Figura 3.7.
FIGURA 3.7
O sistema numérico hipotético desenvolvido no Exemplo 3.4. Cada valor é indicado por um
traço. Apenas os números positivos são mostrados. Um conjunto idêntico também se estenderia
na direção negativa.
Truncamento
Arredondamento
x – ⌬x
⌬x
x – ⌬x
⌬x/2 ⌬x/2
x + ⌬x
7
0
Overflow
0
"Buraco" de underflow
no zero
54
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
A Figura 3.7 mostra diversos aspectos da representação em ponto flutuante que são
significativos com relação aos erros de arredondamento do computador:
1.
2.
Existe um intervalo limitado de quantidades que podem ser representadas.
Exatamente como no caso dos inteiros, há números positivos e negativos grandes
que não podem ser representados. Tentativas de usar números fora do intervalo
aceitável vão resultar no que é chamado de um erro de overflow. Entretanto, além
das quantidades grandes, a representação em ponto flutuante tem a limitação
adicional de que números muito pequenos também não podem ser representados.
Isso é ilustrado pelo “buraco” causado pelo underflow entre zero e o primeiro
número positivo na Figura 3.7. Deve ser observado que esse buraco se torna maior
por causa da restrição de normalização da Equação (3.8).
Existe apenas um número finito de quantidades que podem ser representadas dentro
do intervalo. Portanto, o grau de precisão é limitado. Obviamente, os números irracionais não podem ser representados exatamente. Além disso, os números racionais
que não coincidem exatamente com muitos valores no conjunto também não podem
ser representados precisamente. Os erros introduzidos pela aproximação em ambos os
casos são chamados de erros de quantização. A aproximação propriamente dita é feita
de uma das duas maneiras: truncando ou arredondando. Por exemplo, suponha que o
valor de ⫽ 3,14159265358… deva ser armazenado em um sistema numérico na
base 10 com sete algarismos significativos. Um método de aproximação seria simplesmente omitir ou truncar o oitavo termo e os termos mais altos, como em ⫽
3,141592, com a introdução de um erro associado de [Equação (3.2)].
Et ⫽ 0,00000065...
Essa técnica de manter apenas os termos significativos é chamada de “truncamento”
no jargão da computação. Preste atenção para não confundir esse termo com os erros
de truncamento discutidos no Capítulo 4. Observe que, para o sistema numérico na
base 2 na Figura 3.7, truncar significa que qualquer quantidade que caia dentro de um
intervalo de comprimento x será armazenada como a quantidade na extremidade
inicial do intervalo. Assim, o limitante superior do erro para o truncamento é x. Adicionalmente, um viés é introduzido porque todos os erros são positivos. A deficiência
do truncamento decorre de que termos mais altos na representação decimal completa
não têm impacto na versão aproximada. Por exemplo, no exemplo de , o primeiro
algarismo descartado é 6. Portanto, o último dígito mantido deveria ser arredondado
para cima para fornecer 3,141593. Tal arredondamento reduz o erro para
Et ⫽ 0,00000035...
3.
Conseqüentemente, o arredondamento fornece um erro absoluto menor do que o
truncamento. Observe que, para o sistema numérico na base 2 na Figura 3.7,
arredondar significa que qualquer quantidade caindo dentro de um intervalo de
comprimento x será representada pelo número permitido mais próximo. Então, o
limitante superior do erro para o arredondamento é x/2. Adicionalmente, nenhum
viés é introduzido porque alguns erros são positivos e alguns são negativos. Alguns
computadores usam arredondamento. Entretanto, isso sobrecarrega a carga computacional e, conseqüentemente, muitas máquinas usam simplesmente o truncamento. Essa abordagem é justificada pela hipótese de que o número de algarismos
significativos é suficientemente grande para que o erro de arredondamento resultante seja usualmente desprezível.
O intervalo entre os números, x, aumenta quando o módulo dos números cresce. É
essa característica, claro, que permite que a representação em ponto flutuante preserve os algarismos significativos. Mas ela também significa que o erro de quantização será proporcional ao módulo do número que está sendo representado. Para
números em ponto flutuante normalizados, essa proporcionalidade pode ser expressa, para os casos em que é empregado o truncamento, como
|x|
≤Ᏹ
|x|
(3.9)
3.4 ERROS DE ARREDONDAMENTO
55
e, para os casos nos quais o arredondamento é usado, como
|x|
Ᏹ
≤
|x|
2
(3.10)
onde Ᏹ é chamado de épsilon da máquina, que pode ser calculado como
Ᏹ = b1−t
(3.11)
onde b é a base numérica e t é o número de algarismos significativos na mantissa.
Observe que as desigualdades nas Equações (3.9) e (3.10) significam que esses são
limitantes para os erros. Isto é, eles especificam os piores casos.
EXEMPLO 3.5
Épsilon da Máquina
Enunciado do Problema. Determine o épsilon da máquina e verifique sua efetividade
na caracterização dos erros do sistema numérico do Exemplo 3.4. Suponha que seja usado
truncamento.
Solução. O sistema em ponto flutuante hipotético do Exemplo 3.4 usa valores de base
b ⫽ 2 e o número de bits da mantissa t ⫽ 3. Logo, o épsilon da máquina seria, [Equação
(3.11)]
Ᏹ = 21−3 = 0,25
Conseqüentemente, o erro de quantização relativo deveria ser limitado por 0,25 para
o truncamento. Os maiores erros relativos deveriam ocorrer para aquelas quantidades que
caem imediatamente abaixo do limitante superior do primeiro intervalo entre os números
igualmente espaçados sucessivos (Figura 3.8). Aqueles números caindo nos maiores intervalos a seguir teriam o mesmo valor de x mas um valor de x maior, portanto, teriam
um erro relativo menor. Um exemplo de um erro máximo seria um valor caindo imediatamente abaixo do limitante superior do intervalo entre (0,125000)10 e (0,156250)10. Para
este caso, o erro seria menor que
0,03125
= 0,25
0,125000
Portanto, o erro é o previsto pela Equação (3.9).
FIGURA 3.8
O maior erro de quantização ocorrerá para aqueles valores caindo imediatamente abaixo do
limitante superior do primeiro de uma série de intervalos igualmente espaçados.
Maior erro
relativo
epsilon ⫽ 1
DO
IF (epsilon+1 ⱕ 1)EXIT
epsilon ⫽ epsilon/2
END DO
epsilon ⫽ 2 ⫻ epsilon
FIGURA 3.9
Um pseudocódigo para
determinar o épsilon da
máquina para um computador
binário.
A dependência do módulo dos erros de quantização tem algumas aplicações práticas
nos métodos numéricos. A maioria delas diz respeito à operação comumente usada de testar se dois números são iguais. Isso ocorre tanto quando se testa a convergência de quantidades como também nos mecanismos de parada dos processos iterativos (lembre-se do
Exemplo 3.2). Para esses casos, deveria ficar claro que, em vez de testar se duas quantidades são iguais, seria aconselhável testar se a diferença delas é menor do que uma pequena tolerância aceitável. Além disso, também deveria ficar evidente que deveriam ser
comparadas diferenças normalizadas em vez de absolutas, particularmente ao se lidar
56
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
com números de módulo grande. Além disso, o épsilon da máquina pode ser usado na formulação de critérios de parada ou de convergência. Isso garante que os programas são robustos — ou seja, eles não dependem do computador no qual estão sendo implementados.
A Figura 3.9 lista um pseudocódigo para determinar automaticamente o épsilon da
máquina de um computador binário.
Precisão Estendida. Deve-se notar neste ponto que, embora os erros de arredondamento possam ser importantes em contextos tais como testes de convergência, o número
de algarismos significativos implementados na maioria dos computadores permite que a
maior parte dos cálculos em engenharia seja feita com precisão mais do que aceitável. Por
exemplo, o sistema numérico hipotético na Figura 3.7 é um exagero grosseiro que foi
usado para propósitos ilustrativos. Os computadores comerciais usam palavras muito
maiores e, conseqüentemente, permitem que os números sejam expressos com precisão
mais do que adequada: computadores que utilizam o formato IEEE permitem que sejam
usados 24 bits para a mantissa, o que se traduz em cerca de sete algarismos significativos1
na base 10 com um intervalo de cerca de 10⫺38 a 1039.
Reconhecido isso, existem ainda casos nos quais os erros de arredondamento se tornam críticos. Por essa razão, a maior parte dos computadores permite que seja especificada
a precisão estendida. A mais comum delas é a dupla precisão, na qual o número de palavras
usadas para armazenar um número em ponto flutuante é dobrado, o que fornece cerca de 15
a 16 algarismos decimais de precisão com um intervalo de aproximadamente 10⫺308 a 10308.
Em muitos casos, o uso de quantidades em dupla precisão diminui enormemente o
efeito dos erros de arredondamento. Entretanto, essas soluções têm um custo, pois elas
também exigem muito mais memória e tempo de execução. A diferença no tempo de
execução para pequenos cálculos pode parecer insignificante. Porém, conforme os programas se tornam maiores e mais complicados, o tempo adicional de execução pode
tornar-se considerável e ter um impacto negativo na eficiência da ferramenta para resolver o problema. Portanto, a precisão estendida não deveria ser usada frivolamente. Em
vez disso, deveria ser utilizada seletivamente onde fornecerá um benefício máximo a um
custo mínimo em termos de tempo e execução. Nas próximas seções, será abordado com
mais detalhes como os erros de arredondamento afetam os cálculos, o que proporcionará
uma base de entendimento para guiá-lo no uso do recurso de dupla precisão.
Antes de prosseguir, é preciso observar que alguns pacotes de software comumente
usados (por exemplo, Excel, Mathcad) usualmente utilizam dupla precisão para representar quantidades numéricas. Portanto, as pessoas que desenvolveram esses pacotes decidiram que minimizar os erros de arredondamento tinha precedência sobre qualquer perda
de velocidade causada pelo uso da precisão estendida. Outros, como o MATLAB, permitem que o usuário utilize precisão estendida, se quiser.
3.4.2 Manipulações Aritméticas de Números no Computador
Paralelamente às limitações de um sistema numérico no computador, as manipulações
aritméticas reais envolvendo esses números também podem resultar em erros de
arredondamento. Na seção seguinte, inicialmente será ilustrado como as operações aritméticas comuns afetam os erros de arredondamento. A seguir, serão investigadas algumas
manipulações particulares especialmente suscetíveis a erros de arredondamento.
Operações Aritméticas Comuns. Por causa de sua familiaridade, será usado um sistema numérico na base 10 normalizado para ilustrar os efeitos dos erros de arredondamento em adição, subtração, multiplicação e divisão simples. Outras bases numéricas se
comportariam de uma forma análoga. Para simplificar a discussão, um computador decimal hipotético com uma mantissa de 4 algarismos e um expoente de 1 algarismo será
empregado, e, além disso será usado o truncamento. O arredondamento levaria a erros similares, embora menos dramáticos.
1
Observe que apenas 23 bits são realmente usados para armazenar a mantissa. Entretanto, por causa da normalização, o primeiro bit da mantissa é sempre 1 e, portanto, não é armazenado. Logo, o primeiro bit junto com
os 23 bits armazenados dá um total de 24 bits de precisão para a mantissa.
3.4 ERROS DE ARREDONDAMENTO
57
Quando dois números em ponto flutuante são somados, a mantissa com o número de
menor expoente é modificada de forma que os expoentes sejam os mesmos, o que tem o
efeito de alinhar os pontos decimais. Por exemplo, suponha que você queira somar
0,1557 ⭈ 101 ⫹ 0,4381 ⫹ 10⫺1. A vírgula da mantissa do segundo número é deslocada
para a esquerda um número de posições igual à diferença dos expoentes [1 ⫺ (⫺1) ⫽ 2],
como em
0,4381 · 10−1 → 0,004381 · 101
Agora, os números podem ser somados,
0,1557 · 101
0,004381 · 101
0,160081 · 101
e o resultado, truncado para 0,1600 ⭈ 101. Observe como os dois últimos algarismos do segundo número que foram transladados para a direita foram essencialmente perdidos nos
cálculos.
A subtração é feita de forma idêntica à soma, exceto pelo fato de que o sinal do subtraendo é trocado. Por exemplo, suponha que estejamos subtraindo 26,86 de 36,41. Isto é,
0,3641 · 102
− 0,2686 · 102
0,0955 · 102
Para esse caso, o resultado não está normalizado e é necessário transladar a vírgula
uma posição para a direita para fornecer 0,9550 ⭈ 101 ⫽ 9,550. Observe que o zero adicionado no final da mantissa não é significativo, mas é simplesmente um apêndice para
preencher um espaço vazio criado pela translação. Resultados ainda mais dramáticos seriam obtidos quando os números fossem muito próximos, como
0,7642 · 103
− 0,7641 · 103
0,0001 · 103
que deveria ser convertido para 0,1000 ⭈ 100 ⫽ 0,1000. Logo, nesse caso, três zeros nãosignificativos são adicionados. Isso introduz um erro computacional substancial porque
as manipulações subseqüentes se comportariam como se esses zeros fossem significativos. Como se verá em uma seção posterior, a perda de significado durante a subtração
de números quase iguais está entre as maiores fontes de erros de arredondamento nos
métodos numéricos.
A multiplicação e a divisão são um pouco mais simples que a adição e a subtração.
Os expoentes são somados e as mantissas, multiplicadas. Como a multiplicação de duas
mantissas de n algarismos fornecerá o resultado com 2 n algarismos, a maior parte dos
computadores tem resultados intermediários em um registro de comprimento duplo. Por
exemplo,
0,1363 · 103 × 0,6423 · 10−1 = 0,08754549 · 102
Se, como nesse caso, um zero dominante for introduzido, o resultado é normalizado,
0,08754549 · 102 → 0,8754549 · 101
e truncado para fornecer
0,8754 · 101
A divisão é feita de uma forma parecida, mas as mantissas são divididas e os expoentes são subtraídos. A seguir os resultados são normalizados e truncados.
Cálculos Grandes. Alguns métodos necessitam de um número extremamente grande
de manipulações aritméticas para chegarem ao seu resultado final. Além disso, esses cálculos são freqüentemente interdependentes. Isto é, os últimos cálculos dependem dos
resultados dos primeiros. Conseqüentemente, mesmo que os erros de arredondamento individuais sejam pequenos, o efeito cumulativo sobre um grande número de cálculos pode
ser significativo.
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
58
EXEMPLO 3.6
Número Grande de Cálculos Interdependentes
Enunciado do Problema. Investigue o efeito do erro de arredondamento em um número grande de cálculos interdependentes. Desenvolva um programa para somar um
número 100.000 vezes. Some o número 1 em precisão simples, e 0,00001 em precisão
simples e dupla.
Solução. A Figura 3.10 mostra um programa em Fortran 90 que faz essa soma. Enquanto a soma em precisão simples de 1 fornece o resultado esperado, a soma de 0,00001
em precisão simples dá uma discrepância grande. Esse erro é reduzido significativamente
quando 0,00001 é somado em dupla precisão.
Os erros de quantização são a fonte dessas discrepâncias. Como o inteiro 1 pode
ser representado exatamente no computador, ele pode ser somado exatamente. Em
contraste, 0,00001 não pode ser representado exatamente e é quantizado por um valor
ligeiramente diferente de seu valor verdadeiro. Embora essa discrepância muito pequena fosse desprezível para um cálculo pequeno, ela se acumula depois de somas
repetidas. O problema ainda ocorre em dupla precisão, mas é atenuado porque o erro
de quantização é muito menor.
FIGURA 3.10
Um programa em Fortran 90
para somar um número 105
vezes. O caso da soma do
número 1 em precisão simples
e do número 10⫺5 em
precisão simples e em
precisão dupla.
PROGRAM fig0310
IMPLICIT none
INTEGER::i
REAL::sum1, sum2, x1, x2
DOUBLE PRECISION::sum3, x3
sum1=0.
sum2=0.
sum3=0.
x1=1.
x2=1.e—5
x3=1.d—5
DO i=1,100000
sum1=sum1+x1
sum2=sum2+x2
sum3=sum3+x3
END DO
PRINT *, sum1
PRINT *, sum2
PRINT *, sum3
END
output:
100000.000000
1.000990
9.999999999980838E-001
Observe que o tipo de erro ilustrado no exemplo anterior é, de uma certa forma,
atípico, no sentido de que todos os erros nas operações repetidas têm o mesmo sinal. Na
maioria dos casos, os erros em cálculos longos alternam os sinais de uma forma aleatória
e, portanto, em geral se cancelam. Entretanto, também há exemplos em que tais erros não
se cancelam, mas, na realidade, levam a um resultado final espúrio. As seções seguintes
são destinadas a fornecer uma percepção das formas pelas quais isso pode acontecer.
Adicionando um Número Grande e um Número Pequeno. Suponha que seja somado um número pequeno, 0,0010, a um número grande, 4.000, usando-se um computa-
3.4 ERROS DE ARREDONDAMENTO
59
dor hipotético com 4 algarismos na mantissa e 1 algarismo no expoente. O número pequeno é modificado de forma que o seu expoente coincida com o grande,
0,4000
· 104
0,0000001 · 104
0,4000001 · 104
que é truncado para 0,4000 ⭈ 104. Portanto, a soma poderia muito bem não ter sido feita!
Esse tipo de erro pode ocorrer em cálculos de uma série infinita. Os termos iniciais
de tais séries são em geral relativamente grandes em comparação com os termos posteriores. Portanto, depois que uns poucos termos foram somados, a situação é a de somar
quantidades muito pequenas a uma quantidade grande.
Uma forma de atenuar esse tipo de erro é somar as séries na ordem inversa — isto é,
em uma ordem crescente em vez de decrescente. Dessa forma, cada novo termo será de
valor absoluto comparável à soma acumulada (ver Problema 3.4).
Cancelamento na Subtração. Esse termo se refere ao erro de arredondamento induzido quando se subtraem dois números em ponto flutuante quase iguais.
Um exemplo comum em que isso pode ocorrer envolve encontrar as raízes de uma
equação quadrática ou uma parábola usando a fórmula quadrática,
√
x1
−b ± b2 − 4ac
=
(3.12)
x2
2a
Para os casos nos quais b2 ≫ 4ac, a diferença no numerador vai ser muito pequena, e a
dupla precisão pode aliviar o problema. Além disso, uma formulação alternativa pode ser
usada para minimizar o cancelamento na subtração,
x1
−2c
=
√
x2
b ± b2 − 4ac
(3.13)
Uma ilustração do problema e o uso dessa fórmula alternativa são fornecidos no próximo
exemplo.
EXEMPLO 3.7
Cancelamento na Subtração
Enunciado do Problema. Calcule os valores das raízes de uma equação quadrática
com a ⫽ 1, b ⫽ 3000.001 e c ⫽ 3. Compare os valores calculados com as raízes verdadeiras x1 ⫽ ⫺0,001 e x2 ⫽ ⫺3000.
Solução. A Figura 3.11 mostra um programa em Fortran 90 que calcula as raízes x1 e
x2 com base na fórmula quadrática [Equação (3.12)]. Observe que são dadas tanto a versão com precisão simples quanto a com dupla precisão. Enquanto os resultados para x2
são adequados, os erros percentuais relativos para x1 são ruins na versão com precisão
simples, εt ⫽ 2,4%. Esse nível poderia ser inadequado para muitas aplicações em problemas de engenharia. Tal resultado é particularmente surpreendente, porque se utiliza uma
fórmula analítica para obter a solução!
A perda de significado ocorre na linha de ambos os programas na qual dois números
relativamente grandes são subtraídos. Problemas similares não ocorrem quando os mesmos números são somados.
Com base nessa discussão, é possível chegar à conclusão geral de que a fórmula
quadrática será suscetível a cancelamento na subtração sempre que b2 ≫ 4ac. Uma forma
de contornar esse problema é usar dupla precisão. Uma outra é reescrever a fórmula
quadrática no formato da Equação (3.13). Como na saída do programa, ambas as opções
dão um erro muito menor porque o cancelamento na subtração é minimizado ou evitado.
Observe que, como no exemplo anterior, muitas vezes o cancelamento na subtração
pode ser contornado usando uma transformação. Entretanto, o único remédio geral é usar
precisão estendida.
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
60
PROGRAM fig0311
IMPLICIT none
REAL::a,b,c,d,x1,x2,x1r
DOUBLE PRECISION::aa,bb,cc,dd,x11,x22
a = 1.
b = 3000.001
c = 3.
d = SQRT(b * b — 4. * a * c)
x1 = (—b + d) / (2. * a)
x2 = (—b — d) / (2. * a)
PRINT *, 'Resultado em precisão simples'
PRINT '(1x,a10,f20.14)', 'x1 = ', x1
PRINT '(1x,a10,f10.4)', 'x2 = ', x2
PRINT *
aa = 1.
bb = 3000.001
cc = 3.
dd = SQRT(bb * bb — 4. * aa * cc)
x11 = (—bb + dd) / (2. * aa)
x22 = (—bb — dd) / (2. * aa)
PRINT *, 'Resultado em dupla precisão:'
PRINT '(1x,a10,f20.14)', 'x1 = ', x11
PRINT '(1x,a10,f10.4)', 'x2 = ', x22
PRINT *
PRINT *, 'Fórmula modificada para a
primeira raiz:'
x1r = —2. * c / (b + d)
PRINT '(1x,a10,f20.14)', 'x1 = ', x1r
END
OUTPUT:
Resultado em precisão simples:
x1 =
—.00097656250000
x2 = —3000.0000
Resultado em dupla precisão:
x1 =
—.00100000000771
x2 = —3000.0000
Fórmula modificada para a primeira raiz:
x1 =
—.00100000000000
FIGURA 3.11
Um programa em Fortran 90 para determinar as raízes de uma equação quadrática.
Borrão. O borrão ocorre sempre que termos individuais em uma soma são maiores do
que a soma propriamente dita. Como no próximo exemplo, um caso no qual isso acontece
é em uma série com sinais mistos.
EXEMPLO 3.8
Cálculo de ex usando Série Infinita
Enunciado do Problema. A função exponencial y ⫽ ex é dada pela série infinita
y =1+x +
x2
x3
+
+ ···
2
3!
Calcule esta função para x ⫽ 10 e x ⫽ ⫺10 e preste atenção aos problemas dos erros de
arredondamento.
Solução. A Figura 3.12a fornece um programa em Fortran 90 que usa a série infinita
para calcular ex. A variável i é o número de termos na série, termo é o valor do termo atual
somado à série, e soma é o valor acumulado da série. A variável teste é o valor acumulado
da série antes de adicionar termo. A soma da série é interrompida quando o computador
não puder detectar a diferença entre teste e soma.
A Figura 3.12b mostra o resultado de rodar o programa para x ⫽ 10. Observe que
esse caso é completamente satisfatório. O resultado final é atingido com 31 termos com o
valor da série idêntico ao valor da função de biblioteca até 7 algarismos significativos.
A Figura 3.12c mostra resultados similares para x ⫽ ⫺10. Entretanto, para esse
caso, os resultados calculados pela série não têm nem o mesmo sinal que o resultado
verdadeiro. Na realidade, o resultado negativo está abrindo uma questão séria, porque
ex nunca pode ser menor do que zero. O problema aqui é causado pelos erros de
arredondamento. Observe que vários dos termos que compõem a soma são muito
maiores do que o resultado final da soma. Além disso, ao contrário do caso anterior, os
termos individuais variam de sinal. Portanto, na realidade estão sendo somados e subtraídos números grandes (cada um com algum pequeno erro) e um grande significado é
posto nas diferenças — isto é, no cancelamento na subtração. Logo, pode-se ver que o
culpado nesse exemplo do borrão é, na verdade, o cancelamento na subtração. Para tais
casos, é apropriado procurar alguma outra estratégia computacional — por exemplo,
3.4 ERROS DE ARREDONDAMENTO
61
tentar calcular y ⫽ e⫺10 como y ⫽ (e⫺1)10. Além de tal reformulação, o único recurso
geral é a precisão estendida.
Produtos Internos. Deve ficar claro da última seção que algumas séries infinitas são
particularmente suscetíveis a erros de arredondamento. Felizmente, o cálculo de séries
não é uma das operações mais comuns nos métodos numéricos. Uma manipulação muito
mais comum é o cálculo do produto escalar, como em
n
i=1
xi yi = x1 y1 + x2 y2 + · · · + xn yn
FIGURA 3.12
(a) Um programa em Fortran 90 para calcular ex usando uma série infinita. (b) Cálculo de ex. (c) Cálculo de e⫺x.
(a) Programa
PROGRAM fig0312
IMPLICIT none
REAL::termo, teste, soma, x
INTEGER::i
i = 0
termo = 1.
soma = 1.
teste = 0.
PRINT *, 'x = '
READ *, x
PRINT *, 'i', 'termo', 'soma'
DO
IF (soma.EQ.teste) EXIT
PRINT *, i, termo, soma
i = i + 1
termo = termo*x/i
teste = soma
soma = soma+termo
END DO
PRINT *, 'valor exato =',exp(x)
END
(c) Cálculo de e—10
(b) Cálculo de e10
x=
10
i
0
1
2
3
4
5
termo
1,000000
10,000000
50,000000
166,666700
416,666700
833,333400
soma
1,000000
11,000000
61,000000
227,666700
644,333400
1477,667000
.
.
.
27
9,183693E-02
22026,420000
28
3,279890E-02
22026,450000
29
1,130997E-02
22026,460000
30
3,769989E-03
22026,470000
31
1,216126E-03
22026,470000
valor exato =
22026,460000
x=
—10
i
0
1
2
3
4
5
termo
1,000000
—10,000000
50,000000
—166,666700
416,666700
—833,333400
soma
1,000000
—9,000000
41,000000
—125,666700
291,000000
—542,333400
.
.
.
41 —2,989312E-09
8,137590E-05
42
7,117410E-10
8,137661E-05
43 —1,655212E-10
8,137644E-05
44
3,761845E-11
8,137648E-05
45 —8,359655E-12
8,137647E-05
valor exato =
4,539993E-05
APROXIMAÇÕES E ERROS DE ARREDONDAMENTO
62
Essa operação é muito comum, particularmente na solução de equações algébricas lineares simultâneas. Tais somas são suscetíveis a erro de arredondamento. Conseqüentemente, em geral é desejável calculá-las com precisão estendida.
Embora as seções anteriores devessem fornecer regras empíricas para atenuar o erro
de arredondamento, elas não disponibilizam uma forma direta além da tentativa e erro para realmente determinar o efeito de tais erros em um cálculo. No próximo capítulo, será
introduzida a série de Taylor, que vai fornecer uma abordagem matemática para estimar
tais efeitos.
PROBLEMAS
3.1 Converta os seguintes números na base 2 para a base 10:
(a)101101, (b) 101,101 e (c) 0,01101.
3.2 Faça seu próprio programa baseado na Figura 3.9 e use-o para
determinar o épsilon da máquina do seu computador.
3.3 De forma parecida àquela na Figura 3.9, escreva um programa
curto para determinar o menor número, xmin, usado no computador
que você vai utilizar junto com este livro. Observe que o seu computador será incapaz de distinguir de forma confiável entre zero e
uma quantidade que seja menor que esse número.
3.4 A série infinita
n
1
f (n) =
4
i
i=1
converge para um valor f (n) = π 4 /90 quando n tende a infinito.
Escreva um programa em precisão simples para calcular f (n) para
n ⫽ 10.000, calculando a soma de i ⫽ 1 a 10.000. A seguir, repita
os cálculos, mas na ordem inversa — isto é, de i ⫽ 10.000 até 1
usando incrementos de ⫺1. Em cada caso, calcule o erro relativo
percentual verdadeiro. Explique os resultados.
3.5 Calcule e⫺5 usando as duas abordagens
e−x = 1 − x +
x2
x3
−
+ ···
2
3!
e
e−x =
1
=
ex
1
2
1+x +
3
x
x
+
+ ···
2
3!
e compare com o valor verdadeiro de 6,737947 ⫻ 10⫺3. Use 20 termos para calcular cada série e calcule os erros relativos aproximados verdadeiros quando cada termo for adicionado.
3.6 A derivada de f(x) = 1/(1 − 3x 2 )2 é dada por
6x
(1 − 3x 2 )2
Você espera ter dificuldades calculando essa função em x ⫽ 0,577?
Tente isso usando aritmética com 3 e 4 algarismos significativos,
com truncamento.
3.7 (a) Calcule o polinômio
y = x 3 − 7x 2 + 8x − 0,35
em x ⫽1,37. Use aritmética com 3 algarismos significativos e truncamento. Calcule o erro relativo percentual.
(b) Repita (a), mas expresse y como
y = ((x − 7)x + 8)x − 0,35
Calcule o erro e compare com a parte (a).
3.8 Calcule a memória de acesso randômica (RAM) em megabytes
necessária para armazenar uma tabela multidimensional que tem
20 ⫻ 40 ⫻ 120. Essa tabela está em dupla precisão e cada valor
requer uma palavra de 64 bytes. Lembre que uma palavra de 64
bytes = 8 bytes e 1 kilobyte ⫽ 210 bytes. Suponha que o índice
começa em 1.
3.9 Determine o número de termos necessários para aproximar
cos x até 8 algarismos significativos usando a aproximação por
série de Maclaurin
cos x = 1 −
x2
x4
x6
x8
+
−
+
− ···
2
4!
6!
8!
Calcule a aproximação usando um valor de x ⫽ 0,3. Escreva um
programa para determinar o seu resultado.
3.10 Use aritmética com 5 algarismos significativos com truncamento para determinar as raízes da seguinte equação com as
Equações (3.12) e (3.13)
x 2 − 5000.002x + 10
Calcule os erros relativos percentuais para o seu resultado.
3.11 Como pode o épsilon da máquina ser empregado para formular um critério de parada εs para os seus programas? Dê um
exemplo.
4.1 PACOTES E PROGRAMAÇÃO
CAPÍTULO
63
4
Erros de Truncamento e
Séries de Taylor
Os erros de truncamento são aqueles que resultam do uso de uma aproximação no lugar
de um procedimento matemático exato. Por exemplo, no Capítulo 1 aproximamos a derivada da velocidade de um pára-quedista em queda livre por uma equação de diferenças
divididas da forma [Equação (1.11)]
dv ∼ v
v(ti+1 ) − v(ti )
=
=
dt
t
ti+1 − ti
(4.1)
Um erro de truncamento foi introduzido na solução numérica porque a equação de diferenças apenas aproxima o valor verdadeiro da derivada (lembre-se da Figura 1.4). Para
obter uma percepção das propriedades de tais erros, será abordada agora uma formulação
matemática que é amplamente usada nos métodos numéricos para expressar uma função
de forma aproximada — a série de Taylor.1
4.1
A SÉRIE DE TAYLOR
O teorema de Taylor (Quadro 4.1) e sua fórmula associada, a série de Taylor, são de
grande valia no estudo dos métodos numéricos. Em essência, a série de Taylor fornece um
meio para prever o valor da função em um ponto em termos do valor da função e suas derivadas em um outro ponto. Em particular, o teorema afirma que qualquer função lisa
pode ser aproximada por um polinômio.
Uma maneira útil de ganhar intuição sobre a série de Taylor é construí-la termo a
termo. Por exemplo, o primeiro termo na série é
f(xi+1 ) ∼
(4.2)
= f(xi )
Essa relação, chamada de aproximação de ordem zero, indica que o valor de f no novo
ponto é o mesmo que seu valor no ponto antigo. Este resultado faz sentido do ponto de
vista intuitivo, pois se xi e xi1 estiverem perto um do outro, é provável que o novo valor
seja parecido com o anterior.
A Equação (4.2) fornece uma estimativa perfeita se a função que estiver sendo
aproximada for de fato constante. Entretanto, se a função variar de alguma forma no intervalo, termos adicionais da série de Taylor são necessários para fornecer uma estimativa
melhor. Por exemplo, a aproximação de primeira ordem é deduzida adicionando-se mais
um termo para obter
f(xi+1 ) ∼
= f(xi ) + f ′(xi )(xi+1 − xi )
(4.3)
O termo adicional de primeira ordem consiste em uma inclinação f ′(xi) multiplicada pela
distância entre xi e xi1. Assim, a expressão agora tem a forma de uma reta e é capaz de
prever um aumento ou uma diminuição entre xi e xi1.
Embora a Equação (4.3) possa prever uma variação, ela é exata apenas para retas ou
1
N.R.T.: O autor não faz distinção de nomenclatura entre a série de Taylor e um polinômio de Taylor. O sentido fica claro a partir do contexto.
63
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
64
Teorema de Taylor
Quadro 4.1
Teorema de Taylor
Se a função f e suas primeiras n 1 derivadas forem contínuas
em um intervalo contendo a e x, então o valor da função em x é
dado por
f(x) = f(a) + f ′(a)(x − a) +
f ′′(a)
(x − a)2
2!
f (3) (a)
(x − a)3 + · · ·
3!
f (n) (a)
+
(x − a)n + Rn
n!
Em outras palavras, esse teorema afirma que a integral pode ser
representada por um valor médio para a função g(ξ) vezes o comprimento do intervalo x a. Como a média dever ocorrer entre
os valores mínimo e máximo no intervalo, existe um ponto
x ξ no qual a função assume o valor médio.
O primeiro teorema é, na realidade, um caso especial do segundo teorema do valor médio para integrais.
Segundo Teorema da Média para Integrais
+
(Q4.1.1)
onde o resto Rn é definido por
x
(x − t)n (n+1)
Rn =
(t) dt
f
n!
a
(Q4.1.2)
onde t é uma variável muda. A Equação (Q4.1.1) é chamada de
série de Taylor ou fórmula de Taylor. Se o resto for omitido, o lado
direito da Equação (Q4.1.1) é a aproximação em polinômio de Taylor de f (x). Em essência, o teorema afirma que qualquer função lisa
pode ser aproximada por um polinômio.
A Equação (Q4.1.2) é apenas uma das maneiras, chamada de
forma integral, nas quais o resto pode ser expresso. Uma formulação alternativa pode ser deduzida com base no teorema do valor
médio para a integral.
Se as funções g e h forem contínuas (logo, integráveis) em um intervalo contendo a e x, e se h não mudar de sinal no intervalo, então
existe um ponto ξ entre a e x tal que
x
g(t)h(t) dt = g(ξ )
a
x
h(t) dt
(Q4.1.4)
a
Portanto, a Equação (Q4.1.3) é equivalente à Equação (Q4.1.4)
com h(t) 1.
O segundo teorema pode ser aplicado à Equação (Q4.1.2)
com
g(t) = f (n+1) (t)
h(t) =
(x − t)n
n!
Quando t varia de a a x, h(t) é contínua e não muda de sinal. Portanto, se f (n 1)(t) for contínua, então o teorema do valor médio
para a integração é válido e
Primeiro Teorema da Média para Integrais
Se uma função g for contínua (portanto, integrável) em um intervalo contendo a e x, então existe um ponto ξ entre a e x tal que
x
g(t) dt = g(ξ )(x − a)
(Q4.13)
Rn =
f (n+1) (ξ )
(x − a)n+1
(n + 1)!
Essa equação é conhecida como a forma derivada ou de Lagrange
do resto.
a
tendências lineares. Portanto, um termo de segunda ordem é adicionado à série para capturar alguma da curvatura que a função possa apresentar:
f ′′(xi )
f(xi+1 ) ∼
(xi+1 − xi )2
= f(xi ) + f ′(xi )(xi+1 − xi ) +
(4.4)
2!
De forma similar, termos adicionais podem ser incluídos para se obter a expansão completa em série de Taylor:
f ′′(xi )
(xi+1 − xi )2
2!
f (3) (xi )
f (n) (xi )
+
(xi+1 − xi )3 + · · · +
(xi+1 − xi )n + Rn
3!
n!
f(xi+1 ) = f(xi ) + f ′(xi )(xi+1 − xi ) +
(4.5)
Observe que, como a Equação (4.5) é uma série infinita, o sinal de igual substitui o sinal
de aproximação usado nas Equações (4.2) a (4.4). O resto é incluído para representar
todos os termos de n 1 até infinito:
f (n+1) (ξ )
(xi+1 − xi )n+1
(4.6)
(n + 1)!
onde o subscrito n indica que este é o resto para a aproximação de ordem n e ξ é um valor
de x que está em algum ponto entre xi e xi1. Essa introdução do ξ é tão importante que
uma seção inteira (Seção 4.1.1) será dedicada à sua dedução. Por agora, é suficiente reconhecer que existe um tal valor que fornece uma determinação exata do erro.
Em geral, é conveniente simplificar a série de Taylor definindo um tamanho do
Rn =
4.1 A SÉRIE DE TAYLOR
65
passo h xi1 xi e expressando a Equação (4.5) como
f(xi+1 ) = f(xi ) + f ′ (xi )h +
f (3) (xi ) 3
f (n) (xi ) n
f ′′(xi ) 2
h +
h + ··· +
h + Rn
2!
3!
n!
(4.7)
onde o resto agora é
Rn =
EXEMPLO 4.1
f (n+1) (ξ ) n+1
h
(n + 1)!
(4.8)
Aproximação de um Polinômio por Série de Taylor
Enunciado do Problema. Use expansões em séries de Taylor de ordem zero até ordem
quatro para aproximar a função
f(x) = −0,1x 4 − 0,15x 3 − 0,5x 2 − 0,25x + 1,2
a partir de xi 0 com h 1. Isto é, faça uma previsão do valor da função em xi1 1.
Solução. Como se trata de uma função conhecida, pode-se calcular valores para f(x)
entre 0 e 1. Os resultados (Figura 4.1) indicam que a função começa em f (0) 1,2 e então
se curva para baixo até f (1) 0,2. Logo, o valor verdadeiro que se tenta prever é 0,2.
A aproximação em série de Taylor com n 0 é [Equação (4.2)]
f(xi+1 ) ≃ 1,2
Então, como na Figura 4.1, a aproximação de ordem zero é uma constante. Usando essa
formulação, obtém-se um erro de truncamento [lembre-se da Equação (3.2)] de
E t = 0,2 − 1,2 = −1,0
em x 1.
Para n 1, a primeira derivada deve ser determinada e calculada em x 0:
f ′(0) = −0,4(0,0)3 − 0,45(0,0)2 − 1,0(0,0) − 0,25 = −0,25
Portanto, a aproximação de primeira ordem é [Equação (4.3)]
f(xi+1 ) ≃ 1,2 − 0,25h
FIGURA 4.1
A aproximação de f (x) = −0,1x 4 − 0,15x 3 − 0,5x 2 − 0,25x + 1,2 em x = 1 por
expansões em séries de Taylor de ordem zero, de primeira ordem e de segunda ordem.
f (x)
f(xi)
1,0
Ordem zero
Prime
ira ord
em
Se
gu
nd
a
or
de
m
r
Ve
de
ir o
0
xi = 0
f(xi + 1) ⯝ f (xi) + f (xi)h
f(xi + 1) ⯝ f (xi) + f (xi)h +
da
0,5
f (xi + 1) ⯝ f (xi)
f(xi + 1)
xi + 1 = 1
h
x
f (xi) 2
h
2!
66
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
que pode ser usada para calcular f (1) 0,95. Conseqüentemente, a aproximação começa
a capturar a trajetória voltada para baixo da função na forma de uma reta inclinada
(Figura 4.1), o que resulta em uma redução do erro de truncamento para
E t = 0,2 − 0,95 = −0,75
Para n 2, a segunda derivada é calculada em x 0:
f ′(0) = −1,2(0,0)2 − 0,9(0,0) − 1,0 = −1,0
Logo, de acordo com a Equação (4.4),
f(xi+1 ) ≃ 1,2 − 0,25h − 0,5h 2
e substituindo h 1, f (1) 0,45. A inclusão da segunda derivada agora adicionou alguma curvatura para baixo resultando em uma estimativa melhor, como visto na Figura
4.1. O erro de truncamento foi reduzido ainda mais, para 0,2 0,45 0,25.
Termos adicionais melhorariam a aproximação ainda mais. De fato, a inclusão da
terceira e da quarta derivadas resulta exatamente na mesma equação do começo:
f(x) = 1,2 − 0,25h − 0,5h 2 − 0,15h 3 − 0,1h 4
onde o termo de resto é
R4 =
f (5) (ξ ) 5
h =0
5!
porque a quinta derivada de um polinômio de quarta ordem é nula. Conseqüentemente,
a expansão em série de Taylor até a quarta derivada fornece uma estimativa exata em
xi1 1:
f(1) = 1,2 − 0,25(1) − 0,5(1)2 − 0,15(1)3 − 0,1(1)4 = 0,2
Em geral, a expansão em série de Taylor de ordem n será exata para um polinômio
de grau n. Para outras funções diferenciáveis (portanto, contínuas), como exponenciais e
funções senoidais, um número finito de termos não resultará em uma estimativa exata.
Cada termo adicional irá contribuir com alguma melhora, ainda que pequena, para a
aproximação. Esse comportamento será ilustrado no Exemplo 4.2. Apenas se um número
infinito de termos for somado a série fornecerá um valor exato.2
Embora o que foi dito seja verdadeiro, o valor prático da expansão em série de Taylor é que, na maioria dos casos, a inclusão de apenas poucos termos resultará em uma
aproximação que será suficientemente próxima do valor verdadeiro para fins práticos. A
avaliação de quantos termos são necessários para ficar “suficientemente próximo” é
baseada no resto da expansão. Lembre-se de que o resto tem a forma geral da Equação
(4.8). Essa relação tem dois grandes defeitos. Primeiro, ξ não é conhecido exatamente,
mas simplesmente está em algum lugar entre xi e xi1. Segundo, para se calcular a
Equação (4.8), é preciso determinar a (n 1)-ésima derivada de f(x). Para fazer isso, é
necessário conhecer f (x). Entretanto, se f (x) fosse conhecida, não seria preciso fazer a
expansão em série de Taylor no contexto atual!
Apesar desse dilema, a Equação (4.8) ainda é útil para se ganhar intuição sobre os
erros de truncamento, porque, de fato, há controle sobre o termo h na equação. Em outras palavras, é possível escolher quão longe de x se quer calcular f(x) e controlar o
número de termos incluídos na expansão. Conseqüentemente, a Equação (4.8) em
geral é expressa como
Rn = O(h n+1 )
onde a nomenclatura O(h n+1) significa que o erro de truncamento é da ordem de hn1. Ou
seja, o erro é proporcional ao tamanho do passo h elevado à (n 1)-ésima potência. Embora
essa aproximação não tenha nenhuma implicação no valor da derivada que multiplica hn1,
2
N.R.T.: Na verdade, isto só é válido para as funções cujas séries de Taylor convergem para ele, ou seja, para
funções reais analíticas. As funções deficiárias que ocorrem nas aplicações, em geral têm essa propriedade.
4.1 A SÉRIE DE TAYLOR
67
ela é extremamente útil para julgar o erro comparativo de métodos numéricos baseados em
expansões em séries de Taylor. Por exemplo, se o erro for O(h), dividir o tamanho do passo
por dois fará com que o erro seja dividido por dois. Por outro lado, se o erro for da ordem de
O(h2), dividir o tamanho do passo por dois fará com que o erro seja dividido por quatro.
Em geral, pode-se supor que o erro de truncamento diminui com a adição de termos
na série de Taylor. Em muitos casos, se h for suficientemente pequeno, o primeiro e alguns
outros termos de baixa ordem geralmente dão conta de uma percentagem desproporcionalmente alta dos erros. Assim, apenas poucos termos serão necessários para se obter
uma estimativa adequada. Essa propriedade é ilustrada no exemplo a seguir.
EXEMPLO 4.2
Uso da Expansão em Série de Taylor para Aproximar uma Função com um
Número Infinito de Derivadas
Enunciado do Problema. Use expansões em séries de Taylor com n 0 até 6 para
aproximar f(x) cos x em xi1 /3 com base no valor de f(x) e suas derivadas em
xi /4. Observe que isso significa que h /3 /4 /12.
Solução. Como visto no Exemplo 4.1, o conhecimento da função verdadeira significa
que é possível determinar o valor correto de f(/3) 0,5.
A aproximação de ordem 0 é [Equação (4.3)]
π
π
∼
f
= 0,707106781
= cos
3
4
o que representa um erro porcentual relativo de
εt =
0,5 − 0,707106781
100% = −41,4%
0,5
Para a aproximação de primeira ordem, adiciona-se o termo da primeira derivada,
f (x) sen x:
π
π
π π
∼
f
− sen
= 0,521986659
= cos
3
4
4 12
que tem εt 4,40%.
Para a aproximação de segunda ordem, adiciona-se o termo da segunda derivada,
f (x) cos x:
π π cos (π/4) π 2
π
π
∼
− sen
−
f
= 0,497754491
= cos
3
4
4 12
2
12
com εt 0,449%. Logo, a inclusão de um termo adicional resultou em uma melhora na
estimativa.
Pode-se continuar o processo e listar os resultados, como na Tabela 4.1. Observe que
as derivadas nunca se anulam, como aconteceu com o polinômio do Exemplo 4.1. Portanto, cada termo adicional resulta em alguma melhora na estimativa. Entretanto, observe
TABELA 4.1 Aproximação em série de Taylor de f (x) = cos x em xi+1 = π/3
usando o ponto base π/4. São mostrados os valores para diversas ordens
(n) de aproximação.
Ordem n
0
1
2
3
4
5
6
f (n)(x)
cos
−sen
−cos
sen
cos
−sen
−cos
x
x
x
x
x
x
x
f(π/ 3)
0,707106781
0,521986659
0,497754491
0,499869147
0,500007551
0,500000304
0,499999988
t
−41,4
−4,4
0,449
2,62 × 10−2
−1,51 × 10−3
−6,08 × 10−5
2,44 × 10−6
68
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
também que a maior parte da melhora acontece nos termos iniciais. Nesse caso, quando
se tiver somado o termo de terceira ordem, o erro terá sido reduzido a 2,62 × 102 %, o
que significa que foram obtidos 99,973% do valor verdadeiro. Conseqüentemente, embora a adição de mais termos reduza mais ainda o erro, a melhora se torna desprezível.
4.1.1 O Resto na Expansão em Série de Taylor
Antes de ilustrar como a série de Taylor é realmente usada para estimar erros numéricos,
é preciso explicar por que o argumento ξ foi incluído na Equação (4.8). Uma dedução
matemática é apresentada no Quadro 4.1. Agora será desenvolvida uma exposição alternativa baseada em uma interpretação um pouco mais visual. Então, esse caso específico
poderá ser estendido à formulação mais geral.
Suponha que a expansão em série de Taylor [Equação(4.7)] seja truncada depois do
termo de ordem zero para se obter
f(xi+1 ) ∼
= f(xi )
Uma descrição visual dessa previsão de ordem zero é mostrada na Figura 4.2. O resto —
ou erro — dessa previsão, que também está mostrado na figura, consiste na série infinita
dos termos truncados:
R0 = f ′(xi )h +
f (3) (xi ) 3
f ′′(xi ) 2
h +
h + ···
2!
3!
É óbvia a inconveniência de lidar com o resto nessa forma de série infinita. Uma
simplificação seria truncar o próprio resto, como em
∼ f ′(xi )h
R0 =
(4.9)
Embora, como afirmado na seção anterior, as derivadas de ordem mais baixa em
geral sejam responsáveis por parte maior do resto do que os termos de ordem mais alta,
esse resultado ainda não é exato por causa dos termos de segunda ordem e de ordens mais
altas desprezados. Essa “inexatidão” é representada pelo símbolo de igualdade aproxi=) usado na Equação (4.9).
mada (∼
Uma simplificação alternativa que transforma a aproximação em uma equivalência
é baseada em uma observação gráfica. Como na Figura 4.3, o teorema do valor médio
para derivadas afirma que, se uma função f(x) e sua primeira derivada forem contínuas em
um intervalo da forma xi a xi1, então existe pelo menos um ponto na função que tem uma
FIGURA 4.2
Descrição gráfica da previsão de ordem zero da série de Taylor e do resto.
f (x)
P re
ta
exa
o
ã
vis
R0
Previsão de ordem zero
f(xi)
xi
xi + 1
h
x
4.1 A SÉRIE DE TAYLOR
69
inclinação, denotada por f (ξ), que é paralela à reta ligando f(xi) e f(xi1). O parâmetro ξ
designa o valor de x onde essa inclinação ocorre (Figura 4.3). Uma ilustração física desse
teorema é que, se você viajar entre dois pontos com uma dada velocidade média, existirá
pelo menos um instante durante o percurso no qual você estará movendo-se na velocidade
média.
Usando esse teorema, é simples perceber que, como ilustrado pela Figura 4.3, a inclinação f (ξ) é igual à elevação R0 dividida pelo passo h, ou
R0
f ′(ξ ) =
h
que pode ser reorganizado para fornecer
R0 = f ′(ξ )h
(4.10)
Assim, deduz-se a versão para ordem zero da Equação (4.8). As versões em ordem
superior são meramente uma extensão lógica do raciocínio usado para deduzir a Equação
(4.10). A versão de primeira ordem é
f ′′(ξ ) 2
(4.11)
h
2!
Para esse caso, o valor de ξ deve-se adequar ao valor de x correspondendo à segunda
derivada que torna a Equação (4.11) exata. Versões similares de ordem superior podem
ser deduzidas a partir da Equação (4.8).
R1 =
4.1.2 Usando a Série de Taylor para Fazer uma Estimativa do
Erro de Truncamento
Embora a série de Taylor vá ser extremamente útil na estimativa dos erros de truncamento
em todo este livro, pode não ser claro para você como a expansão pode realmente ser aplicada no método numérico. De fato, já fizemos isso no exemplo do pára-quedista em
queda livre. Lembre que o objetivo dos Exemplos 1.1 e 1.2 era prever a velocidade como
uma função do tempo. Isto é, o interesse era determinar v(t). Como especificado pela
Equação (4.5), v(t) pode ser expandida em uma série de Taylor:
v(ti+1 ) = v(ti ) + v ′ (ti )(ti+1 − ti ) +
v ′′ (ti )
(ti+1 − ti )2 + · · · + Rn
2!
(4.12)
FIGURA 4.3
Descrição gráfica do teorema do valor médio para derivadas.
f (x)
Inclinação = f ( )
Inclinação =
xi
R0
R0
h
xi + 1
h
x
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
70
Agora, trunca-se a série depois do termo da primeira derivada:
v(ti+1 ) = v(ti ) + v ′ (ti )(ti+1 − ti ) + R1
(4.13)
A Equação (4.13) pode ser reescrita como
v ′ (ti ) =
R1
v(ti+1 ) − v(ti )
−
t −t
t −t
i+1 i i+1 i
Aproximação de
primeira ordem
(4.14)
Erro de
truncamento
A primeira parte da Equação (4.14) é exatamente a mesma relação que foi usada para
aproximar a derivada no Exemplo 1.2 [Equação (1.11)]. Entretanto, com a abordagem
com a série de Taylor, obteve-se agora uma estimativa para o erro de truncamento associado com essa aproximação da derivada. Usando as Equações (4.6) e (4.14), obtém-se
v ′′ (ξ )
R1
=
(ti+1 − ti )
ti+1 − ti
2!
(4.15)
R1
= O(ti+1 − ti )
ti+1 − ti
(4.16)
ou
Assim, a estimativa da derivada [Equação (1.11) ou a primeira parte da Equação (4.14)]
tem um erro de truncamento da ordem de ti1 ti. Em outras palavras, o erro na aproximação da derivada deveria ser proporcional ao tamanho do passo. Conseqüentemente, se
o tamanho do passo for dividido por dois, deve-se esperar que o erro na derivada seja dividido por dois.
EXEMPLO 4.3
O Efeito da Não-Linearidade e do Tamanho do Passo na Aproximação
em Série de Taylor
Enunciado do problema. A Figura 4.4 é o gráfico da função
f(x) = x m
(E4.3.1)
para m 1, 2, 3, e 4 no intervalo de x 1 a 2. Observe que para m 1 a função é linear,
e conforme m aumenta, mais curvatura ou não-linearidade é introduzida na função. Use a
série de Taylor de primeira ordem para aproximar essa função para vários valores do expoente m e do tamanho do passo h.
Solução. A Equação (E4.3.1) pode ser aproximada por uma expansão em série de Taylor de primeira ordem, como em
f(xi+1 ) = f(xi ) + mxim−1 h
(E4.3.2)
que tem um resto
R1 =
f ′′(xi ) 2
f (3) (xi ) 3
f (4) (xi ) 4
h +
h +
h + ···
2!
3!
4!
Primeiro, pode-se examinar como a aproximação se comporta à medida que m aumenta
— isto é, à medida que a função se torna mais não-linear. Para m 1, o valor real da
função em x 2 é 2.
A série de Taylor fornece
f(2) = 1 + 1(1) = 2
e
R1 = 0
4.1 A SÉRIE DE TAYLOR
71
f(x)
15
3
m=
4
10
m
=
5
m=
2
m=1
0
1
2
x
FIGURA 4.4
Gráfico da função f(x) = xm para m = 1, 2, 3 e 4. Observe que a função se torna mais nãolinear à medida que m aumenta.
O resto é zero porque a segunda derivada e as derivadas de ordem mais alta de uma
função linear são nulas. Assim, como esperado, a expansão em série de Taylor de primeira
ordem é perfeita quando a função envolvida for linear.
Para m 2, o valor real é f(2) 22 4. A aproximação em série de Taylor de
primeira ordem é
f(2) = 1 + 2(1) = 3
e
R1 = 22 (1)2 + 0 + 0 + · · · = 1
Assim, como a função é uma parábola, a aproximação por uma reta resulta em uma discrepância. Observe que o resto é determinado exatamente.
Para m 3, o valor real é f(2) 23 8. A aproximação em série de Taylor é
f(2) = 1 + 3(1)2 (1) = 4
e
R1 = 62 (1)2 + 66 (1)3 + 0 + 0 + · · · = 4
72
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
Novamente, existe uma discrepância que pode ser determinada exatamente a partir da
série de Taylor.
Para m 4, o valor real é f(2) 24 16. A aproximação em série de Taylor é
f(2) = 1 + 4(1)3 (1) = 5
e
R1 =
12
(1)2
2
+
24
(1)3
6
+
24
(1)4
24
+ 0 + 0 + · · · = 11
Com base nesses quatro casos, observa-se que R1 cresce à medida que a função se
torna mais não-linear. Além disso, R1 representa exatamente essa discrepância, porque a
Equação (E4.3.1) é um simples monômio com um número finito de derivadas não-nulas.
Isso permite a determinação completa do resto da série de Taylor.
A seguir, examinaremos a Equação (E4.3.2) para o caso m 4 e observaremos como
R1 varia à medida que o tamanho do passo h varia. Para m 4, a Equação (E4.3.2) é
f(x + h) = f(x) + 4xi3 h
Se x 1, f (1) 1 e essa equação pode ser expressa por
f(1 + h) = 1 + 4h
com um resto de
R1 = 6h 2 + 4h 3 + h 4
Isso leva à conclusão de que a discrepância irá diminuir conforme h for reduzido. Além
disso, para valores suficientemente pequenos de h, o erro deve tornar-se proporcional a
h2. Ou seja, se h for dividido por dois, o erro será dividido por quatro. Esse comportamento é confirmado pela Tabela 4.2 e pela Figura 4.5.
Assim, conclui-se que o erro da aproximação por polinômio de Taylor de primeira
ordem diminui quando m se aproxima de 1 e quando h diminui. Intuitivamente, isso significa que a série de Taylor se torna mais precisa quando a função que está sendo aproximada se torna mais parecida com uma reta no intervalo de interesse — o que pode ser
conseguido ou reduzindo-se o tamanho do intervalo ou “retificando-se” a função pela redução de m. Obviamente, a última opção, em geral, não está disponível no mundo real,
porque as funções que analisamos são determinadas tipicamente pelo contexto do problema físico. Conseqüentemente, não há controle de sua falta de linearidade, e o único recurso é reduzir o tamanho do passo ou incluir termos adicionais na expansão em série de
Taylor.
TABELA 4.2 Comparação do valor exato da função f(x) = x4 com a aproximação em
série de Taylor de primeira ordem. Tanto a função como a aproximação
estão calculadas em x + h, onde x = 1.
Aproximação de
h
Verdadeiro
Primeira Ordem
1
0,5
0,25
0,125
0,0625
0,03125
0,015625
16
5,0625
2,441406
1,601807
1,274429
1,130982
1,063980
5
3
2
1,5
1,25
1,125
1,0625
R1
11
2,0625
0,441406
0,101807
0,024429
0,005982
0,001480
4.1 A SÉRIE DE TAYLOR
73
R1
10
1
0,1
兩Inclinação兩 = 2
0,01
0,001
1
0,1
0,01 h
FIGURA 4.5
Gráfico log-log do resto R1 da aproximação em série de Taylor de primeira ordem da função
f (x) = x 4 em função do tamanho do passo h. Uma reta com coeficiente angular 2 também é
mostrada para indicar que, conforme h decresce, o erro se torna proporcional a h2.
4.1.3 Derivação Numérica
A Equação (4.14) tem uma designação formal nos métodos numéricos — ela é chamada
uma diferença dividida finita. Ela pode ser representada em geral por
f ′(xi ) =
f(xi+1 ) − f(xi )
+ O(xi+1 − xi )
xi+1 − xi
(4.17)
f ′(xi ) =
fi
+ O(h)
h
(4.18)
ou
onde fi é conhecida como primeira diferença progressiva e h é chamado de tamanho do
passo, isto é, o comprimento do intervalo no qual a aproximação é feita. Ela é chamada
diferença “progressiva” porque utiliza os dados em i e i 1 para estimar a derivada
(Figura 4.6a). O termo fi/n todo é chamado de primeira diferença dividida finita.
Essa diferença dividida progressiva é apenas uma das muitas que podem ser deduzidas a partir da série de Taylor para aproximar derivadas numericamente. Por exemplo,
aproximações com diferenças regressivas e centradas da primeira derivada podem ser deduzidas de forma similar à dedução da Equação (4.14). A primeira utiliza valores em xi1
e xi (Figura 4.6b), enquanto a última utiliza valores que são igualmente espaçados em
torno do ponto no qual a derivada será estimada (Figura 4.6c). Aproximações mais acuradas da primeira derivada podem ser deduzidas incluindo-se termos de ordem mais alta
na série de Taylor. Finalmente, todas essas versões também podem ser deduzidas para
derivadas de segunda e terceira ordem ou superiores. A seção a seguir fornece um breve
resumo ilustrando como alguns desses casos são deduzidos.
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
Aproximação da Primeira Derivada por Diferença Regressiva. A série de Taylor
pode ser expandida regressivamente para calcular um valor anterior com base no valor
atual, como em
f(xi−1 ) = f(xi ) − f ′(xi )h +
f ′′(xi ) 2
h − ···
2!
(4.19)
Truncando essa equação depois da primeira derivada e reorganizando, obtém-se
f ′(xi ) ∼
=
f(xi ) − f(xi−1 )
∇ f1
=
h
h
(4.20)
FIGURA 4.6
Descrição gráfica das aproximações da primeira derivada por diferenças divididas finitas
(a) progressiva, (b) regressiva e (c) centrada.
f (x)
D
ira
de
da
r
e
av
imação
vad
A pr o x
e ri
h
xi+1
xi
(a)
f (x)
da
ira
pr
ox
im
aç
ão
a
riv
De
de
da
ver
x
A
74
h
xi
xi–1
x
(b)
f (x)
ad
riv
De
a
de
da
ver
Ap
r
ira
ão
aç
im
x
o
2h
xi–1
(c)
xi+1
x
4.1 A SÉRIE DE TAYLOR
75
onde o erro é O(h) e ∇ fi é conhecido como primeira diferença regressiva. Consulte a
Figura 4.6b para uma representação gráfica.
Aproximação da Primeira Derivada por Diferença Centrada. Uma terceira forma
de aproximar a primeira derivada é subtrair a Equação (4.19) da expansão em série de
Taylor progressiva:
f(xi+1 ) = f(xi ) + f ′(xi )h +
f ′′(xi ) 2
h + ···
2!
(4.21)
para obter
f(xi+1 ) = f(xi−1 ) + 2 f ′(xi )h +
2 f (3) (xi ) 3
h + ···
3!
que pode ser reescrita como
f ′(xi ) =
f(xi+1 ) − f(xi−1 )
f (3) (xi ) 2
−
h − ···
2h
6
f ′(xi ) =
f(xi+1 ) − f(xi−1 )
− O(h 2 )
2h
ou
(4.22)
A Equação (4.22) é uma representação da primeira derivada como diferença centrada. Observe que o erro de truncamento é da ordem de h2, em contraste com as aproximações progressiva e regressiva, em que era da ordem de h. Conseqüentemente, a análise
da série de Taylor fornece a informação prática de que a diferença centrada é uma representação mais acurada da derivada (Figura 4.6c). Por exemplo, se o tamanho do passo
fosse dividido por dois usando-se uma diferença progressiva ou regressiva, aproximadamente o erro de truncamento seria dividido por dois, enquanto que, para a diferença centrada, o erro seria dividido por quatro.
EXEMPLO 4.4
Aproximação de Derivadas por Diferenças Divididas Finitas
Enunciado do Problema. Use aproximações por diferenças progressiva e regressiva
de O(h) e uma aproximação por diferença centrada de O(h2) para fazer uma estimativa da
primeira derivada de
f(x) = −0,1x 4 − 0,15x 3 − 0,5x 2 − 0,25x + 1,2
em x 0,5 usando um tamanho de passo h 0,5. Repita os cálculos usando h 0,25.
Observe que a derivada pode ser calculada diretamente por
f ′(x) = −0,4x 3 − 0,45x 2 − 1,0x − 0,25
e pode ser usada para calcular o valor verdadeiro como sendo f (0,5) 0,9125.
Solução.
Para h 0,5, a função pode ser empregada para determinar
xi−1 = 0
xi = 0,5
xi+1 = 1,0
f(xi−1 ) = 1,2
f(xi ) = 0,925
f(xi+1 ) = 0,2
Esses valores podem ser usados para calcular a diferença dividida progressiva
[Equação (4.17)],
0,2 − 0,925
f ′(0,5) ∼
= −1,45
=
0,5
|εt | = 58,9%
76
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
a diferença dividida regressiva [Equação (4.20)],
f ′(0,5) ∼
=
0,925 − 1,2
= −0,55
0,5
|εt | = 39,7%
e a diferença dividida centrada [Equação (4.22)],
0,2 − 1,2
f ′(0,5) ∼
= −1,0
=
1,0
|εt | = 9,6%
Para h = 0,25,
xi−1 = 0,25
xi = 0,5
xi+1 = 0,75
f(xi−1 ) = 1,10351563
f(xi ) = 0,925
f(xi+1 ) = 0,63632813
que podem ser usadas para se calcular a diferença dividida progressiva,
0,63632813 − 0,925
f ′(0,5) ∼
= −1,155
=
0,25
|εt | = 26,5%
a diferença dividida regressiva,
0,925 − 1,10351563
f ′(0,5) ∼
= −0,714
=
0,25
|εt | = 21,7%
e a diferença dividida centrada,
f ′(0,5) ∼
=
0,63632813 − 1,10351563
= −0,934
0,5
|εt | = 2,4%
Para ambos os tamanhos do passo, a aproximação por diferença centrada é mais acurada que as aproximações progressiva e regressiva. Além disso, como previsto pelo teorema
de Taylor, dividir o tamanho do passo por dois aproximadamente divide o erro por dois nas
diferenças progressiva e regressiva e divide o erro por quatro na diferença centrada.
Aproximações por Diferenças Finitas de Derivadas Superiores. Além das
primeiras derivadas, a expansão em série de Taylor pode ser usada para deduzir estimativas numéricas das derivadas mais altas. Para fazer isso, escreve-se uma expansão em
série de Taylor progressiva para f(xi2) em termos de f(xi):
f(xi+2 ) = f(xi ) + f ′(xi )(2h) +
f ′′ (xi )
(2h)2 + · · ·
2!
(4.23)
A Equação (4.21) pode ser multiplicada por 2 e subtraída da Equação (4.23) para fornecer
f(xi+2 ) − 2 f(xi+1 ) = − f(xi ) + f ′′(xi )h 2 + · · ·
que pode ser reescrita como
f ′′(xi ) =
f(xi+2 ) − 2 f(xi+1 ) + f(xi )
+ O(h)
h2
(4.24)
Essa relação é chamada segunda diferença dividida finita progressiva. Manipulações
similares podem ser usadas para deduzir uma versão regressiva
f ′′(xi ) =
f(xi ) − 2 f(xi−1 ) + f(xi−2 )
+ O(h)
h2
e uma versão centrada
f ′′(xi ) =
f(xi+1 ) − 2 f(xi ) + f(xi−1 )
+ O(h 2 )
h2
4.2 PROPAGAÇÃO DE ERROS
77
Como no caso das aproximações da primeira derivada, o caso centrado é mais acurado.
Observe também que a versão centrada pode ser expressa alternativamente por
f(xi ) − f(xi−1 )
f(xi+1 ) − f(xi )
−
h
h
f ′′(xi ) ∼
=
h
Assim, da mesma forma como a derivada segunda é uma derivada da derivada, a aproximação pela segunda diferença dividida é a diferença de duas diferenças divididas.
O tópico de derivação numérica será retomado no Capítulo 23. Ele foi introduzido
neste ponto porque é um exemplo muito bom de por que a série de Taylor é importante
nos métodos numéricos. Além disso, muitas das fórmulas introduzidas nesta seção serão
usadas antes do Capítulo 23.
4.2
PROPAGAÇÃO DE ERROS
O propósito desta seção é estudar como os erros nos números podem propagar-se através
de funções matemáticas. Por exemplo, ao se multiplicar dois números que têm erros,
gostaríamos de fazer uma estimativa do erro do produto.
4.2.1 Funções de uma Única Variável
Suponha que tenhamos uma função f(x) que depende de uma única variável independente x, e que x̃ seja uma aproximação de x. Então, gostaríamos de estimar o efeito
da discrepância entre x e x̃ no valor da função. Isto é, gostaríamos de estimar
f(x̃) = | f(x) − f(x̃)|
O problema de calcular f (x̃) é que f(x) é desconhecida, já que x é desconhecido. Podese superar essa dificuldade se x̃ estiver próximo de x e f (x̃) for contínua e diferenciável.
Se tais condições forem válidas, a série de Taylor pode ser usada para calcular f(x) próximo de f (x̃), como em
f(x) = f(x̃) + f ′(x̃)(x − x̃) +
FIGURA 4.7
Descrição gráfica da
propagação de erro
de primeira ordem.
f ′′(x̃)
(x − x̃)2 + · · ·
2
f(x)
Erro verdadeiro
兩 f(x)兩x
Erro estimado
x
x
x
x
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
78
Desprezando os termos de grau maior ou igual a dois e reorganizando, obtemos
ou
f(x) − f(x̃) ∼
= f ′(x̃)(x − x̃)
f(x̃) = | f ′ (x̃)|(x − x̃)
(4.25)
onde f (x̃) = | f (x) − f (x̃)| representa uma estimativa do erro da função e x̃ = | x − x̃|
representa uma estimativa do erro de x. A Equação (4.25) fornece recursos para aproximar o erro em f(x) dadas a derivada da função e uma estimativa do erro da variável independente. A Figura 4.7 é uma ilustração gráfica da operação.
EXEMPLO 4.5
Propagação de Erro em uma Função de uma Única Variável
Enunciado do Problema. Dado um valor de x̃ = 2,5 com um erro de x̃ = 0,01, faça
uma estimativa do erro resultante na função f (x) = x 3.
Solução.
Usando a Equação (4.25),
f(x̃) ∼
= 3(2,5)2 (0,01) = 0,1875
Como f(2,5) 15,625, prevê-se que
f(2,5) = 15,625 ± 0,1875
ou que o valor verdadeiro deve ficar entre 15,4375 e 15,8125. De fato, se x for realmente
2,49, a função pode ser calculada como sendo 15,4382, e se x for 2,51, ela será 15,8132.
Para este caso, a análise de erro de primeira ordem fornece uma estimativa bastante próxima do erro verdadeiro.
4.2.2 Funções de Mais de Uma Variável
A abordagem precedente pode ser generalizada para funções que dependem de mais de
uma variável independente. Consegue-se isso com a versão para diversas variáveis da
série de Taylor. Por exemplo, se tivemos uma função de duas variáveis independentes u e
v, a série de Taylor pode ser escrita como
f(u i+1 , vi+1 ) = f(u i , vi ) +
∂f
∂f
(u i+1 − u i ) +
(vi+1 − vi )
∂u
∂v
+
∂2 f
1 ∂2 f
(u i+1 − u i )2 + 2
(u i+1 − u i )(vi+1 − vi )
2
2! ∂u
∂u∂v
+
∂2 f
(vi+1 − vi )2 + · · ·
∂v 2
(4.26)
onde todas as derivadas parciais são calculadas no ponto base i. Se todos os termos de
segunda ordem e de ordem mais alta forem desconsiderados, a Equação (4.26) pode ser
reescrita como
f(ũ, ṽ) =
∂f
∂f
ũ +
ṽ
∂u
∂v
onde ũ e ṽ são estimativas dos erros em u e v, respectivamente.
Para n variáveis independentes x̃ 1, x̃ 2, . . . , x̃ n tendo erros x̃ 1, x̃ 2, . . . , xn , vale
a seguinte relação geral:
f(x̃1 , x̃2 , . . . , x̃n ) ∼
=
∂f
∂f
∂f
x̃1 +
x̃2 + · · · +
x̃n
∂ x1
∂ x2
∂ xn
(4.27)
4.2 PROPAGAÇÃO DE ERROS
EXEMPLO 4.6
79
Propagação de Erros em uma Função de Várias Variáveis
Enunciado do Problema. A deflexão y no topo do mastro de um barco a vela é
y=
F L4
8E I
onde F é uma carga lateral uniforme (lb/pés), L é a altura (pés), E é o módulo de elasticidade (lb/pés2) e I é o momento de inércia (pés4). Faça uma estimativa do erro em y considerando os seguintes dados:
F̃ = 50 lb/pés
F̃ = 2 lb/pés
Ẽ = 1,5 × 108 lb/pés2
I˜ = 0,06 pés4
Ẽ = 0,01 × 108 lb/pés2
I˜ = 0,0006 pés4
L̃ = 30 pés
Solução.
L̃ = 0,1 pés
Usando a Equação (4.27) obtém-se
y( F̃, L̃, Ẽ, I˜) =
∂y
∂y
∂y
∂y
F̃ +
L̃ +
Ẽ +
I˜
∂F
∂L
∂E
∂I
ou
F̃ L̃ 3
F̃ L̃ 4
F̃ L̃ 4 ˜
L̃ 4
I
F̃ +
L̃ +
Ẽ +
y( F̃, L̃, Ẽ, I˜) ∼
=
8 Ẽ I˜
2 Ẽ I˜
8 Ẽ 2 I˜
8 Ẽ I˜2
Substituindo os valores apropriados, obtém-se
y = 0,0225 + 0,0075 + 0,00375 + 0,005625 = 0,039375
Portanto, y 0,5625 0,039375. Em outras palavras, y está entre 0,523125 e 0,601875
pés. A validade dessas estimativas pode ser verificada substituindo-se os valores extremos das variáveis na equação para gerar um mínimo exato de
ymin =
48(29,9)4
= 0,52407
8(1,51 × 108 )0,0606
ymax =
52(30,1)4
= 0,60285
8(1,49 × 108 )0,0594
e
Logo, as estimativas de primeira ordem são razoavelmente próximas dos valores
exatos.
A Equação (4.27) pode ser usada para definir relações de propagação de erros para
operações matemáticas comuns. Os resultados estão resumidos na Tabela 4.3. Recomenda-se a dedução dessas fórmulas como exercícios para casa.
4.2.3 Estabilidade e Condicionamento
O condicionamento de um problema matemático se relaciona com sua sensibilidade a
variações em seus valores de entrada. Diz-se que um cálculo é numericamente instável se
as incertezas dos valores de entrada são brutalmente aumentadas pelo método numérico.
Essas idéias podem ser estudadas usando-se a série de Taylor de primeira ordem
f(x) = f(x̃) + f ′(x̃)(x − x̃)
Essa relação pode ser empregada para se estimar o erro relativo de f(x) como em
f(x) − f(x̃) ∼ f ′(x̃)(x − x̃)
=
f(x)
f(x̃)
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
80
TABELA 4.3 Limitantes estimados dos erros associados
com as operações matemáticas usuais
utilizando números inexatos ũ e ṽ.
Operação
Adição
Subtração
Multiplicação
Divisão
Erro Estimado
(ũ + ṽ)
(ũ − ṽ)
(ũ × ṽ)
ũ
ṽ
˜
ũ + ṽ
˜
ũ + ṽ
|ũ|ṽ + |ṽ|ũ
|ũ|ṽ + |ṽ|ũ
|ṽ|2
O erro relativo de x é dado por
x − x̃
x̃
Um número de condicionamento pode ser definido como a razão desses erros relativos:
Número de condicionamento =
x̃ f ′(x̃)
f(x̃)
(4.28)
O número de condicionamento fornece uma medida da extensão pela qual uma incerteza
em x é ampliada por f(x). Um valor 1 diz que o erro relativo da função é idêntico ao erro
relativo em x. Um valor maior que 1 diz que o erro relativo foi ampliado, enquanto um
valor menor do que 1 diz que foi atenuado. Funções com valores muito grandes são ditas
mal condicionadas. Qualquer combinação de fatores na Equação (4.28) que aumente o
valor numérico do número de condicionamento tenderá a aumentar as incertezas no cálculo de f(x).
EXEMPLO 4.7
Número de Condicionamento
Enunciado do Problema. Calcule e interprete o número de condicionamento para
f(x) = tgx
f(x) = tgx
Solução.
π
π
+ 0,1
2
2
π
π
para x̃ = + 0,01
2
2
para x̃ =
O número de condicionamento é calculado como
Número de condicionamento =
x̃(1/ cos2 x)
tgx̃
Para x̃ = π/2 + 0,1(π/2),
Número de condicionamento =
1,7279(40. 86)
= −11,2
−6,314
Logo, a função é mal condicionada. Para x̃ = π/2 + 0,01(π/2), a situação é ainda pior:
Número de condicionamento =
1,5865(4053)
= −101
−63,66
Nesse caso, a principal causa do mal condicionamento parece ser a derivada. Isso faz
sentido porque, na vizinhança de /2, a tangente se aproxima de valores infinitos tanto
positivos quanto negativos.
4.3 ERRO NUMÉRICO TOTAL
ERRO NUMÉRICO TOTAL
O erro numérico total é a soma dos erros de truncamento e de arredondamento. Em geral,
a única maneira de minimizar os erros de arredondamento é aumentar o número de
algarismos significativos do computador. Além disso, observa-se que os erros de
arredondamento irão aumentar por causa de cancelamentos na subtração ou de um aumento do número de cálculos na análise. Em contraste, o Exemplo 4.4 mostrou que o erro
de truncamento pode ser reduzido diminuindo o tamanho do passo. Como a diminuição
do tamanho do passo pode levar a cancelamentos na subtração ou a um aumento nos cálculos, os erros de truncamento diminuirão enquanto os erros de arredondamento aumentarão. Então, encara-se o seguinte dilema: a estratégia para diminuir uma componente do
erro total leva a um aumento da outra componente. Em um cálculo, pode-se, de modo
concebível, diminuir o tamanho do passo para minimizar os erros de truncamento, apenas
para descobrir que, fazendo isso, os erros de arredondamento começam a dominar a
solução e o erro total cresce! Assim, o remédio se torna problema (Figura 4.8). Um desafio é determinar um tamanho de passo apropriado para um cálculo particular.
Gostaríamos de escolher um tamanho de passo maior para diminuir o número de operações e os erros de arredondamento sem pagar o preço de grandes erros de truncamento.
Se o erro total for como mostrado na Figura 4.8, o desafio é identificar o ponto de retorno
diminuído onde os erros de arredondamento começam a neutralizar as vantagens da redução do tamanho do passo.
Nos casos reais, entretanto, tais situações são relativamente incomuns, porque a
maioria dos computadores usa algarismos significativos suficientes para que os erros de
arredondamento não predominem. Entretanto, elas de fato ocorrem algumas vezes e sugerem um tipo de “princípio da incerteza numérico” que coloca um limite absoluto na
acurácia que pode ser obtida usando um certo método numérico computadorizado.
4.3.1 Controle dos Erros Numéricos
Na maioria dos casos práticos, não se sabe o erro exato associado com os métodos
numéricos. A exceção, obviamente, é quando se obtém a solução exata que torna a aproximação numérica desnecessária. Então, na maior parte das aplicações da engenharia, é
necessário contentar-se com alguma estimativa do erro nos cálculos.
FIGURA 4.8
Uma descrição gráfica do balanço entre erros de arredondamento e de truncamento que
ocorrem algumas vezes na utilização de um método numérico. É mostrado o ponto de retorno
diminuído, onde o erro de arredondamento começa a neutralizar as vantagens da redução
do tamanho do passo.
Ponto de
retorno
diminuído
log do erro
4.3
81
Erro
tota
l
to
en
am
c
n
tru
de
o
Err
Erro
de a
rred
ond
am
log do tamanho do passo
en t
o
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
82
Não existe uma abordagem geral e sistemática de obter estimativas dos erros
numéricos para todos os problemas. Em muitos casos, as estimativas de erros são
baseadas na experiência e no julgamento do engenheiro.
Embora a análise de erro seja até certo ponto uma arte, existem diversas diretrizes
práticas de programação que aqui são sugeridas. Primeiro e principalmente, deve-se evitar subtrair dois números quase iguais. Perda de significado quase sempre ocorre quando
isso é feito. Algumas vezes, o profissional pode reorganizar ou reformular o problema
para evitar o cancelamento da subtração. Se isso não for possível, ele pode usar
aritmética com precisão estendida. Além disso, quando somando ou subtraindo números,
é melhor ordená-los e trabalhar com os números menores primeiro, pois tal conduta evita
perda de significado.
Além dessas sugestões computacionais, pode-se tentar prever os erros numéricos totais usando formulações teóricas. A série de Taylor é a ferramenta básica na análise tanto
dos erros de arredondamento quanto dos de truncamento. Foram apresentados diversos
exemplos neste capítulo. A previsão do erro numérico total é muito complicada, mesmo
para problemas de tamanho moderado, e tende a ser pessimista. Logo, usualmente é tentada apenas para tarefas em pequena escala.
A tendência é ir à frente com os cálculos numéricos e tentar estimar a acurácia dos
resultados. Isso, algumas vezes, pode ser feito vendo se os resultados satisfazem alguma
condição ou equação como uma verificação. Ou pode ser possível substituir os resultados
de volta na equação original para verificar se ela realmente é satisfeita.
Finalmente, é preciso estar preparado para fazer experiências numéricas para aumentar a percepção dos erros numéricos e de possíveis problemas mal condicionados.
Tais experiências podem envolver a repetição de cálculos com tamanho de passo ou
método diferentes e a comparação dos resultados. Pode-se empregar análise de sensibilidade para ver como a solução varia quando os parâmetros do modelo ou os valores de entrada variam. Pode-se tentar algoritmos numéricos diferentes que têm fundamentos teóricos distintos, são baseados em estratégias computacionais diferentes ou têm propriedades
de convergência e características de estabilidade distintas.
Quando os resultados de cálculos numéricos são extremamente críticos e podem
provocar a perda de vidas humanas ou ter ramificações econômicas graves, é apropriado
tomar cuidados especiais. Isso pode envolver o uso de dois ou mais grupos independentes
para resolver o mesmo problema de modo que os seus resultados possam ser comparados.
O papel dos erros será um tópico de preocupação e análise em todas as seções deste
livro. Essas investigações serão feitas em seções específicas.
4.4
ENGANOS, ERROS DE FORMULAÇÃO E
INCERTEZA NOS DADOS
Embora as fontes de erros a seguir não estejam diretamente ligadas com a maioria dos
métodos deste livro, elas, algumas vezes, têm grande impacto no sucesso do esforço de
modelagem. Assim, deve-se tê-las em mente ao aplicar técnicas numéricas no contexto de
problemas do mundo real.
4.4.1 Enganos
Todos temos grande familiaridade com os erros grosseiros ou enganos. Nos primeiros
anos dos computadores, resultados numéricos errados podiam às vezes ser atribuídos ao
mau funcionamento do próprio computador. Hoje, essa fonte de erro é altamente improvável e a maioria dos enganos deve ser atribuída à imperfeição humana.
Os enganos podem ocorrer em qualquer estágio do processo de modelagem
matemática e podem contribuir para todas as outras componentes do erro. Eles podem ser
evitados apenas por conhecimento profundo dos princípios fundamentais e com o
cuidado com o qual se aborda e projeta a solução para um problema.
Os enganos são, em geral, desconsiderados na discussão dos métodos numéricos, o
que, sem dúvida, decorre do fato de que, por mais que se tente, os erros são em certa medida inevitáveis. Entretanto, existe um certo número de maneiras pelas quais sua ocor-
PROBLEMAS
83
rência pode ser minimizada. Em particular, os bons hábitos de programação que foram esboçados no Capítulo 2 são extremamente úteis para diminuir os enganos na programação.
Além disso, existem formas simples de verificar se um método numérico particular está
funcionando apropriadamente. Por todo o livro serão discutidas maneiras de verificar os
resultados dos cálculos numéricos.
4.4.2 Erros de Formulação
Os erros de formulação ou do modelo se relacionam com vieses que podem ser atribuídos
a modelos matemáticos incompletos. Um exemplo de um erro de formulação desprezível
é o fato de a segunda lei de Newton não levar em conta efeitos relativísticos. Isso não
afeta a adequação da solução do Exemplo 1.1 porque esses erros são mínimos nas escalas
de tempo e espaço associadas com o problema do pára-quedista em queda livre.
Contudo, suponha que a resistência do ar não seja linearmente proporcional à velocidade de queda, como na Equação (1.7), mas uma função do quadrado da velocidade. Se
este fosse o caso, as soluções analítica e numérica obtidas no primeiro capítulo estariam erradas por causa do erro de formulação. Considerações adicionais dos erros de formulação
estão incluídas em algumas das aplicações em engenharia no restante do livro. É
necessário estar ciente desses problemas e perceber que, ao se trabalhar com um modelo
precariamente concebido, nenhum método numérico fornecerá resultados adequados.
4.4.3 Incerteza nos Dados
Erros, algumas vezes, entram em uma análise por causa de incertezas nos dados físicos
nos quais um modelo é baseado. Por exemplo, suponha que se queira testar o modelo do
pára-quedista em queda livre fazendo com que um indivíduo pule repetidas vezes e então
medindo sua velocidade depois de um intervalo de tempo especificado. Incertezas estariam sem dúvida associadas a tais medidas, já que o pára-quedista cairia mais rapidamente durante alguns saltos do que em outros. Esses erros podem exibir tanto falta de
acurácia quanto imprecisão. Se os instrumentos consistentemente subestimarem ou
superestimarem a velocidade, o profissional está lidando com um aparelho não-acurado
ou com viés. Por outro lado, se as medidas forem aleatoriamente altas e baixas, trata-se de
uma questão de precisão.
Os erros nas medidas podem ser quantificados resumindo os dados com uma ou mais
estatísticas bem escolhidas que transfiram tanta informação quanto possível com relação às
características específicas dos dados. Essas estatísticas descritivas são mais freqüentemente
escolhidas para representar (1) a posição do centro da distribuição de dados e (2) o grau de
dispersão dos dados. Como tal, elas fornecem uma medida do viés e da imprecisão, respectivamente. O tópico de caracterizar as incertezas nos dados será retomado na Parte Cinco.
Embora seja necessário estar ciente dos enganos, erros de formulação e incerteza
nos dados, os métodos numéricos usados para construir modelos podem ser estudados,
na maior parte, independentemente de tais erros. Portanto, na maior parte deste livro, a
suposição é de que não foram cometidos erros grosseiros, o modelo é seguro, e as medidas estão livres de erro. Nessas condições, é possível estudar os erros numéricos sem
fatores complicadores.
PROBLEMAS
4.1 A seguinte série infinita pode ser usada para aproximar ex:
ex = 1 + x +
x2
x3
xn
+
+ ··· +
2
3!
n!
(a) Demonstre que essa expansão em série de Maclaurin é um caso
especial da expansão em série de Taylor [Equação (4.7)] com
xi 0 e h x.
(b) Use a série de Taylor para fazer uma estimativa de f(x) ex
em xi1 1 para xi 0,2. Use as versões de ordem zero, um,
dois e três e calcule |εt | para cada caso.
4.2 A expansão em série de Maclaurin para cos x é
x2
x4
x6
x8
cos x = 1 −
+
−
+
− ···
2
4!
6!
8!
Começando com a versão mais simples, cos x 1, some termos um
a um para fazer uma estimativa de cos(/3). Depois que cada novo
termo for somado, calcule os erros relativos percentuais verdadeiro
e aproximado. Utilize sua calculadora de bolso para determinar o
valor verdadeiro. Some termos até que o valor absoluto da estimativa aproximada de erro fique abaixo de um critério de erro de até
dois algarismos significativos.
ERROS DE TRUNCAMENTO E SÉRIES DE TAYLOR
84
4.3 Faça os mesmos cálculos do Problema 4.2, mas use a expansão
em série de Maclaurin para o sen x para fazer uma estimativa de
sen(/3),
sen x = x −
x3
x5
x7
+
−
+ ···
3!
5!
7!
4.4 Use a expansão em série de Taylor de ordem zero até três para
prever f (3) para
f(x) = 25x 3 − 6x 2 + 7x − 88
utilizando o ponto-base x 1. Calcule o erro relativo porcentual εt
para cada aproximação.
4.5 Use a expansão em série de Taylor de ordem zero até quatro
para prever f (2,5) para f (x) ln x utilizando o ponto-base x 1.
Calcule o erro relativo porcentual εt para cada aproximação. Discuta o significado dos resultados.
4.6 Use aproximações por diferenças progressiva e regressiva de
O(h) e uma aproximação por diferença centrada de O(h2) para fazer
uma estimativa da primeira derivada da função examinada no Problema 4.4. Calcule a derivada em x 2 usando um tamanho de
passo h 0,2. Compare seus resultados com o valor verdadeiro
da derivada. Interprete seus resultados com base no resto da expansão em série de Taylor.
4.7 Use uma aproximação por diferença centrada de O(h2) para
fazer uma estimativa da segunda derivada da função examinada no
Problema 4.4. Faça o cálculo em x 2 utilizando tamanhos de passos de h 0,25 e 0,125. Compare suas estimativas com o valor verdadeiro da segunda derivada. Interprete seus resultados com base
no termo de resto da expansão em série de Taylor.
4.8 Lembre-se de que a velocidade do pára-quedista em queda
livre pode ser calculada por [Equação (1.10)]
gm
v(t) =
1 − e−(c/m)t
c
Utilize uma análise de erro de primeira ordem para fazer uma estimativa de v em t 6, se g 9,8 e m 50 mas c = 12,5 ± 1,5.
4.9 Repita o Problema 4.8 com g 9,8, t 6, c 12,5 1,5, e
m 50 2.
4.10 A lei de Stefan-Boltzmann pode ser utilizada para se fazer
uma estimativa da taxa de radiação de energia H de uma superfície,
como em
4.13 Use as idéias da Seção 4.2 para deduzir as relações da
Tabela 4.3.
4.14 Demonstre que a Equação (4.4) é exata para todos os valores
de x se f (x) ax2 bx c.
4.15 A fórmula de Manning para um canal retangular pode ser escrita como
Q=
1 (B H )5/3 √
S
n (B + 2H )2/3
onde Q é o escoamento (m3/s), n é o coeficiente de rugosidade, B é
a largura (m), H é a profundidade (m) e S é o declive. Você está
aplicando esta fórmula para um córrego onde você sabe que a
largura é 20 m e que a profundidade e 0,3 m. Infelizmente, você
sabe a rugosidade e o declive com uma precisão apenas de 10%.
Ou seja, você sabe que a rugosidade é de cerca de 0,03 com uma
variação de 0,027 a 0,033 e o declive é 0,0003 com uma variação
de 0,00027 a 0,00033. Utilize uma análise de erro de primeira
ordem para determinar a sensibilidade da previsão do escoamento
para cada um desses fatores. Qual deles você deveria tentar medir
com mais precisão?
4.16 Se |x| < 1, é sabido que
1
= 1 + x + x2 + x3 + · · ·
1−x
Repita o problema 4.2 para esta série para x 0,1.
4.17 Um míssil deixa o solo com velocidade inicial v0 formando
um ângulo φ0 com a vertical, como mostrado na Figura P4.17. A altitude máxima desejada é αR onde R é o raio da Terra. As leis da
mecânica podem ser usadas para mostrar que
,֒
sen φ0 = (1 + α) 1 −
α
1+α
ve
v0
onde ve é a velocidade de escape do míssil. Quer-se disparar o míssil e atingir a velocidade máxima do projeto com uma acurácia de
2%. Determine o intervalo de valores para φ0 se ve /v 0 2 e
␣ 0,25.
H = Aeσ T 4
0
onde H está em watts, A é a área da superfície (m2), e é a emissividade que caracteriza as propriedades de emissão da superfície (adimensional), é uma constante universal chamada constante de Stefan-Boltzmann ( 5,67
108 W m2 K4) e T é temperatura
absoluta (K). Determine o erro de H para uma placa de aço com A
0,15 m2, e 0,90 e T 650 20. Compare seus resultados
com o erro exato. Repita os cálculos com T 650 40. Interprete
seus resultados.
4.11 Repita o Problema 4.10 agora para uma esfera de cobre com
raio igual a 0,15 0,01 m, e 0,90 0,05 e T 550 20.
4.12 Calcule e interprete o número de condicionamento para
(a) f(x) = |x − 1| + 1
para x = 1,00001
(b) f(x) = e−x
(c) f(x) = x 2 + 1 − x
e−x − 1
(d) f(x) =
x
sen x
(e) f(x) =
1 + cos x
2
para x = 10
para x = 300
para x = 0,001
para x = 1,0001π
v0
R
Figura P4.17
4.18 Para calcular as coordenadas espaciais de um planeta, é
necessário calcular a função
f(x) = x − 1 − 0,5 sen x
Tome o ponto-base a xi /2 no intervalo [0, ]. Determine a
expansão em série de Taylor de ordem mais alta que resulta em um
PROBLEMAS
erro máximo de 0,015 no intervalo especificado. O erro é igual ao
valor absoluto da diferença entre a função dada e a expansão em
série de Taylor específica. (Sugestão: resolva graficamente.)
4.19 Considere a função f (x) x3 2x 4 no intervalo [2, 2]
com h 0,25. Use aproximações por diferenças finitas progressi-
85
vas, regressivas e centradas para a primeira e a segunda derivadas
de modo a ilustrar graficamente qual aproximação é mais acurada.
Faça o gráfico de todas as três aproximações por diferenças finitas
da primeira derivada junto com a derivada teórica, e faça o mesmo
também para a segunda derivada.
EPÍLOGO: PARTE UM
PT1.4 PRÓS E CONTRAS
Os métodos numéricos são científicos no sentido que representam técnicas sistemáticas
para resolver problemas matemáticos. Entretanto, existe um certo grau de arte, julgamento subjetivo e compromisso associado a seu uso efetivo na engenharia prática. Em
cada problema, você pode ser confrontado por diversos métodos numéricos alternativos e
muitos tipos diferentes de computadores. Portanto, a elegância e a eficiência das diferentes abordagens dos problemas são altamente individualistas e relacionadas com sua
habilidade de escolher sensatamente entre as opções. Infelizmente, como em qualquer
processo intuitivo, os fatores que influenciam essa escolha são difíceis de transmitir. Apenas pela experiência essas técnicas podem ser totalmente compreendidas e aperfeiçoadas.
Entretanto, como elas desempenham um papel tão importante na implementação efetiva
dos métodos, foi incluída esta seção como uma introdução aos prós e contras que você
deve considerar quando for escolher um método numérico e as ferramentas para implementar esse método. Espera-se que a discussão a seguir influencie sua orientação quando
abordar o material subseqüente. Além disso, espera-se que você consulte novamente este
material quando for confrontado com escolhas e prós e contras no restante do livro.
1. Tipo de Problema Matemático. Como delineado anteriormente na Figura PT1.2, diversos tipos de problemas matemáticos são discutidos neste livro:
(a) Raízes de equações.
(b) Sistemas de equações algébricas lineares simultâneas.
(c) Otimização.
(d) Ajuste de curvas.
(e) Integração numérica.
(f) Equações diferenciais ordinárias.
(g) Equações diferenciais parciais.
Os aspectos práticos dos métodos numéricos provavelmente lhe serão introduzidos ao enfrentar um problema em uma das áreas citadas. Os métodos numéricos serão necessários
porque o problema não poderá ser resolvido eficientemente usando técnicas analíticas.
Você deve estar ciente de que suas atividades profissionais irão eventualmente envolver
problemas em todas as áreas acima. Assim, o estudo dos métodos numéricos e a escolha
de equipamento de computação automática deveriam, no mínimo, considerar esses tipos
básicos de problemas. Problemas mais avançados podem exigir recursos para manipular
áreas tais como aproximação funcional, equações integrais etc. Essas áreas tipicamente
exigem maior poder computacional e métodos avançados, não cobertos neste texto. Outras referências tais como Carnahan, Luther e Wilkes (1969); Hamming (1973); Ralstone
Rabinowitz (1978) e Burden e Faires (1993) deverão ser consultados para problemas
além do escopo deste livro. Além disso, no final de cada parte deste texto, vamos incluir
um pequeno resumo e referências para métodos avançados para lhe fornecer os caminhos
para prosseguir em outros estudos de métodos numéricos.
86
PT1.4 PRÓS E CONTRAS
87
2. Tipo, Disponibilidade, Precisão, Custo e Velocidade do Computador. Você pode ter a
opção de trabalhar com diversas ferramentas computacionais. Estas variam desde as
calculadoras de bolso até grandes computadores centrais (mainframe). Obviamente,
qualquer uma dessas ferramentas pode ser usada para implementar qualquer método
numérico (incluindo simples papel e lápis). Em geral, não é uma questão de recursos
fundamentais, mas sim de custo, conveniência, velocidade, confiança, repetitividade
e precisão. Embora cada uma das ferramentas vá continuar a ter utilidade, os avanços
rápidos recentes no desempenho dos computadores pessoais já tiveram um grande impacto na profissão de engenheiro. Esperamos que essa revolução se espalhe conforme
os avanços tecnológicos continuem, porque os computadores pessoais oferecem um
excelente compromisso na conveniência, custo, precisão, velocidade e capacidade de
armazenamento. Além disso, eles podem ser prontamente aplicados à maioria dos
problemas de engenharia práticos.
3. Custo do Desenvolvimento de Programas versus Custos de Softwares versus Custo do
Tempo de Execução. Uma vez que o tipo de problemas matemáticos a serem resolvidos tenha sido identificado e que o sistema computacional tenha sido escolhido, será
adequado considerar os custos de software e tempo de execução. O desenvolvimento
de programas pode representar um esforço substancial em muitos projetos de engenharia e pode, assim, ter um custo significativo. Com relação a isso, é particularmente
importante que você conheça muito bem os aspectos teóricos e práticos dos métodos
numéricos relevantes. Além disso, você deveria estar familiarizado com os softwares
desenvolvidos profissionalmente. Softwares de baixo custo estão amplamente
disponíveis para a implementação de métodos numéricos que podem ser facilmente
adaptados a uma grande variedade de problemas.
4. Características do Método Numérico. Quando os custos do hardware e software computacionais são altos, ou quando a disponibilidade do computador for limitada (por
exemplo, em alguns sistemas de uso compartilhado), é vantajoso escolher cuidadosamente o método numérico mais adequado à situação. Por outro lado, se o problema
ainda estiver no estágio de pesquisa e o acesso e o custo de computação não forem
problema, pode ser mais apropriado escolher um método numérico que funcione sempre, mas que pode não ser o mais eficiente computacionalmente. Os métodos numéricos disponíveis para resolver qualquer tipo particular de problema envolvem os tipos
de prós e contras que acabamos de discutir e ainda outros:
(a) Número de Aproximações ou Pontos Iniciais. Alguns dos métodos numéricos
para encontrar raízes de equações ou resolver equações diferenciais exigem que
o usuário especifique aproximações ou pontos iniciais. Os métodos simples em
geral exigem um valor, enquanto os métodos complicados podem exigir mais de
um valor. A vantagem dos métodos complicados que são computacionalmente
eficientes pode ser contrabalançada pela necessidade de pontos iniciais múltiplos. Você deve usar sua experiência e julgamento para avaliar os prós e contras
para cada problema particular.
(b) Taxa de Convergência. Certos métodos numéricos convergem mais rapidamente
do que outros. Entretanto, essa convergência mais rápida pode exigir aproximações iniciais mais refinados e programação mais complexa do que um método
com convergência mais lenta. Você deve usar seu julgamento na escolha de um
método. Mais rápido nem sempre é melhor.
(c) Estabilidade. Alguns métodos numéricos para encontrar raízes de equações ou
soluções para sistemas de equações lineares podem divergir em vez de convergir
para a resposta correta em certos problemas. Por que você toleraria essa possibilidade quando confrontado com problemas de projeto ou planejamento? A resposta é que esses métodos podem ser altamente eficientes quando funcionam.
Portanto, prós e contras emergem novamente. Você precisa decidir se as necessidades do seu problema justificam o esforço necessário para aplicar um método
que pode não convergir sempre.
(d) Acurácia e Precisão. Alguns métodos numéricos são simplesmente mais acurados e precisos que outros. Bons exemplos são as diversas equações disponíveis
para integração numérica. Em geral, o desempenho dos métodos com baixa
88
EPÍLOGO: PARTE UM
acurácia pode ser melhorado diminuindo o tamanho do passo ou aumentando o
número de aplicações em um intervalo dado. É melhor usar um método com
baixa acurácia com tamanho de passo pequeno ou um método com alta precisão
e com tamanho de passo grande? Essa questão deve ser analisada caso a caso
levando em consideração fatores adicionais tais como custo e facilidade de programação. Além disso, você também deve se preocupar com erros de arredondamento quando estiver usando aplicações múltiplas de métodos de baixa precisão
e quando o número de operações se torna grande. Aqui, o número de algarismos
significativos manipulados pelo computador pode ser o fator decisivo.
(e) Abrangância das Aplicações. Alguns métodos numéricos podem ser aplicados
apenas a uma classe limitada de problemas ou a problemas que satisfaçam certas
restrições matemáticas. Outros métodos não são afetados por tais limitações.
Você deve avaliar se vale a pena seu esforço para desenvolver programas que
usem técnicas que são apropriadas apenas para um número limitado de problemas. O fato de tais técnicas serem largamente usadas sugere que elas têm vantagens que em geral serão mais importantes que as desvantagens. Obviamente
estão ocorrendo prós e contras.
(f) Requisitos Especiais. Algumas técnicas numéricas tentam aumentar a acurácia e
a taxa de convergência usando informações adicionais ou especiais. Um exemplo
seria usar valores teóricos ou estimados dos erros para melhorar a precisão. Entretanto, essas melhorias em geral não são alcançadas sem alguma inconveniência em termos de custos computacionais adicionais ou aumento na complexidade
do programa.
(g) Esforço de Programação Necessário. Esforços para melhorar as taxas de convergência, estabilidade e acurácia podem ser criativos e engenhosos. Quando os
aprimoramentos podem ser feitos sem aumentar a complexidade da programação, eles podem ser considerados elegantes e provavelmente serão imediatamente usados na profissão de engenheiro. Entretanto, se exigirem programas
mais complicados, você estará se deparando novamente com uma situação de
prós e contras que pode ou não favorecer o novo método.
É claro que a discussão acima com relação à escolha de métodos numéricos se
reduz à discussão de custos e acurácia. Os custos são aqueles envolvidos com tempo
de computação e desenvolvimento de programa. Acurácia adequada é uma questão de
julgamento profissional e ética.
5. Comportamento Matemático da Função, Equação ou Dados. Na escolha de um
método numérico particular, de um tipo de computador e de software, você deve considerar a complexidade de sua função, equação ou dados. Equações simples e dados
lisos podem ser manipulados adequadamente por algoritmos numéricos simples e
computadores baratos. O oposto é verdade para equações complicadas e dados
exibindo descontinuidades.
6. Facilidade de Aplicação (Amigável ao Usuário?). Alguns métodos numéricos são fáceis de aplicar, outros são difíceis. Isso pode ser uma consideração na escolha de um
método sobre outro. A mesma idéia se aplica em decisões relativas a custos de desenvolvimento de programa versus software desenvolvido profissionalmente. Pode exigir um esforço considerável converter um programa difícil em um que seja amigável
ao usuário. Foram introduzidas maneiras de fazer isso no Capítulo 2 e estas serão
elaboradas no transcorrer do livro.
7. Manutenção. Os programas para resolver problemas de engenharia necessitam de
manutenção porque durante a aplicação invariavelmente ocorrem dificuldades.
A manutenção pode exigir mudanças no código do programa ou expansão da documentação. Programas e algoritmos numéricos simples são mais fáceis de manter.
Os capítulos a seguir envolvem o desenvolvimento de diversos tipos de métodos numéricos para vários tipos de problemas matemáticos. Muitos métodos alternativos serão
dados em cada capítulo. Esses diversos métodos (em vez de um único método escolhido
pelos autores) serão apresentados porque não existe um único “melhor” método. Não
PT1.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
89
existe um melhor método porque existem muitos prós e contras que precisam ser considerados na aplicação do método a problemas práticos. Uma tabela que destaca os prós e
contras envolvidos em cada método será encontrada no final de cada parte deste livro.
Essa tabela deveria ajudá-lo a escolher o procedimento numérico para o contexto de seu
problema particular.
PT1.5 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT1.2 resume informações importantes que foram apresentadas na Parte Um.
A tabela pode ser consultada para um acesso rápido a relações e fórmulas importantes.
O epílogo de cada parte deste livro conterá tal resumo.
PT1.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
O epílogo de cada parte deste livro também incluirá uma seção planejada para facilitar e
encorajar estudos adicionais de métodos numéricos. Esta seção citará outros livros no assunto bem como material relacionado a métodos avançados.1
Para estender os fundamentos fornecidos na Parte Um, numerosos manuais sobre a
programação de computadores estão disponíveis. Seria difícil fazer referência a todos os
livros excelentes e manuais pertinentes a linguagens e computadores específicos. Além
disso, você provavelmente já tem material de sua exposição anterior à programação. Entretanto, se esta for sua primeira experiência com computadores, Chapra e Canale (1994)
fornecem uma introdução geral ao BASIC e Fortran. Seu professor e seus colegas também devem ser capazes de aconselhá-lo com relação a bons livros de referência para
máquinas e linguagens disponíveis em sua escola.
Quanto à análise de erro, qualquer bom livro introdutório de cálculo incluirá material suplementar relativo a assuntos tais como expansão em série de Taylor. Os textos de
Swokowski (1979), Thomas e Finney (1979) e Simmons (1985) fornecem discussões
muito legíveis sobre esses assuntos. Além disso, Taylor (1982) apresenta uma boa introdução à análise de erros.
Finalmente, embora esperemos que nosso livro lhe sirva bem, é sempre bom consultar outras fontes quando se tenta dominar um novo assunto. Burden e Faires (1993);
Ralston e Rabinowitz (1978); Hoffman (1992) e Carnahan, Luther e Wilkes (1969)
fornecem discussões abrangentes da maioria dos métodos numéricos, incluindo alguns
métodos avançados que estão além do escopo deste livro. Outros livros agradáveis no assunto são Gerald e Wheatley (1989); Rice (1983) e Cheney e Kincaid (1985). Além disso,
Press et al. (1992) inclui códigos de computador para implementar diversos métodos.
1
Aqui, os livros são citados apenas pelos autores; uma bibliografia completa será fornecida no final deste texto.
90
EPÍLOGO: PARTE UM
TABELA PT1.2 Resumo das informações importantes apresentadas na Parte Um.
Definições de Erro
Erro verdadeiro
Et = erro verdadeiro − aproximação
Erro relativo porcentual verdadeiro
εt =
erro verdadeiro − aproximação
valor verdadeiro
aproximação atual − aproximação anterior
aproximação atual
Erro relativo porcentual aproximado ε a =
Critério de parada
100%
100%
Pare os cálculos quando
εa < εs
onde ε s é o erro relativo porcentual pedido
Série de Taylor
Expansão em série de Taylor
f(xi+1) = f(xi ) + f ’(xi)h +
+
f ’’’(xi)
3!
f ’’(xi) 2
h
2!
h3 + . . . +
f (n)(xi)
n!
hn + Rn
onde
Resto
Rn =
f (n+1)(ξ )
(n + 1)!
hn +1
ou
Rn = O(hn +1)
Diferenciação Numérica
Primeira diferença dividida finita
progressiva
f ’(xi ) =
f (xi +1) − f (xi )
h
+ O(h)
(Outras diferenças divididas estão resumidas nos
Capítulos 4 e 23)
Propagação de erros
Para n variáveis independentes x1, x2, . . . , xn tendo erros x̃ 1, x̃ 2, . . . , x̃ n, o erro da função f
pode ser estimado por
f =
∂f x̃ + ∂f x̃ + . . . + ∂f x̃
1
2
n
∂x1
∂x2
∂xn
PARTE DOIS
RAÍZES DE EQUAÇÕES
PT2.1 MOTIVAÇÃO
Anos atrás, você aprendeu a usar a fórmula quadrática
√
−b ± b2 − 4ac
x=
2a
(PT2.1)
para resolver
f(x) = ax 2 + bx + c = 0
(PT2.2)
Os valores calculados com a Equação (PT 2.1) são chamados de “raízes” da Equação
(PT2.2). Eles representam os valores de x que fazem a Equação (PT2.2) igual a zero.
Logo, pode-se definir uma raiz de uma equação como um valor de x que torna f (x) = 0.
Por essa razão, as raízes são às vezes chamadas de zeros da equação.
Embora a fórmula quadrática seja muito cômoda para resolver a Equação (PT2.2),
existem muitas outras funções para as quais as raízes não podem ser determinadas tão
facilmente. Para esses casos, os métodos numéricos descritos nos Capítulos 5, 6 e 7
fornecerão maneiras de obter a resposta.
PT2.1.1 Métodos para Determinar as Raízes sem o Computador
Antes do aparecimento dos computadores digitais, existiam diversas maneiras de determinar as raízes de equações algébricas e transcendentais. Em alguns casos, as raízes podiam ser obtidas por métodos diretos, como foi feito com a Equação (PT2.1). Embora
existissem equações como essa que podiam ser resolvidas diretamente, existiam muitas
outras que não podiam. Por exemplo, mesmo uma função aparentemente simples como
f(x) = e−x − x não pode ser resolvida analiticamente. Em tais casos, a única alternativa é
uma técnica de solução aproximada.
Um método para obter uma solução aproximada é traçar o gráfico da função e determinar onde ele cruza o eixo dos x. Esse ponto, que representa um valor de x para o qual
f (x) = 0, é a raiz. Técnicas gráficas são discutidas no início dos Capítulos 5 e 6.
Embora os métodos gráficos sejam úteis para obter estimativas grosseiras, eles são
limitados por causa de sua falta de precisão. Uma abordagem alternativa é usar tentativa e
erro. Essa “técnica” consiste em chutar um valor de x e calcular para ver se f(x) é zero. Se
não (como é quase sempre o caso), é feito um outro chute, e f(x) é novamente calculado
para determinar se o novo valor fornece uma estimativa melhor para a raiz. O processo é
repetido até que seja feito um chute que resulte em um f(x) que esteja próximo de zero.
Tais métodos tão casuais são obviamente ineficientes e inadequados para as necessidades da prática da engenharia. As técnicas descritas na Parte Dois representam alternativas que também são aproximadas, mas que empregam estratégias sistemáticas para mirar
na raiz verdadeira. Como elaborado nas próximas páginas, a combinação desses métodos
sistemáticos e computadores torna a solução da maioria dos problemas aplicados de
raízes de equações uma tarefa simples e eficiente.
PT2.1.2 Raízes de Equações e a Prática da Engenharia
Embora apareçam em outros contextos de problemas, as raízes das equações em geral
ocorrem na área de projetos de engenharia. A Tabela PT2.1 lista diversos princípios fundamentais que são rotineiramente usados no trabalho de projeto. Como introduzido no
Capítulo 1, as equações ou modelos matemáticos deduzidos a partir desses princípios são
usados para prever variáveis dependentes como função das variáveis independentes,
92
PT2.1 MOTIVAÇÃO
93
termos forçantes e parâmetros. Observe que, em cada caso, as variáveis dependentes refletem o estado ou o desempenho do sistema, enquanto os parâmetros representam suas
propriedades ou composição.
Um exemplo de tal modelo é a equação, deduzida da segunda lei de Newton, usada
no Capítulo 1 para a velocidade do pára-quedista:
v=
gm
1 − e−(c/m)t
c
(PT2.3)
onde v é a variável dependente, o tempo t é a variável independente, a constante gravitacional g é o termo forçante e o coeficiente de arrasto c e a massa m são parâmetros. Se os
parâmetros forem conhecidos, a Equação (PT2.3) pode ser usada para prever a velocidade
do pára-quedista como uma função do tempo. Tais cálculos podem ser feitos diretamente
porque v é expressa explicitamente como uma função do tempo. Isto é, ela está isolada em
um lado do sinal de igual.
Entretanto, suponha que tenhamos que determinar o coeficiente de arrasto para que
um pára-quedista de uma dada massa atinja uma certa velocidade em um determinado intervalo de tempo. Embora a Equação (PT2.3) forneça uma representação matemática da
inter-relação entre as variáveis e os parâmetros do modelo, ela não pode ser resolvida explicitamente para determinar o coeficiente de arrasto. Tente fazer isso. Não há maneira de
reorganizar a equação de forma que c esteja isolado em um lado do sinal de igual. Em tais
casos, dizemos que c está implícito.
Isso representa um dilema real, porque muitos problemas de projeto de engenharia
envolvem especificar as propriedades ou a composição do sistema (como representado
por seus parâmetros) para garantir que funcionem da maneira desejada (como represen-
TABELA PT2.1 Princípios fundamentais usados em problemas e projetos
de engenharia.
Princípio
Fundamental
Variáveis
Dependentes
Variáveis
Independentes
Balanço de calor
Temperatura
Tempo e
posição
Balanço de massa
Concentração ou
quantidade de massa
Tempo e
posição
Balanço de energia
Intensidade e direção
das forças
Tempo e
posição
Balanço de energia
Mudanças nos estados
de energia cinética e
potencial do sistema
Tempo e
posição
Leis de movimento
de Newton
Aceleração, velocidade
ou posição
Tempo e
posição
Leis de Kirchhoff
Correntes e voltagens em
circuitos elétricos
Tempo
Parâmetros
Propriedades térmicas
do material e
geometria do
sistema
Comportamento
químico do material,
coeficientes de
transferência de
massa e geometria
do sistema
Resistência do material,
propriedades
estruturais e geometria
do sistema
Propriedades térmicas,
massa do material e
geometria do
sistema
Massa do material,
geometria do sistema
e parâmetros
dissipativos tais como
atrito ou arrasto
Propriedades elétricas
de sistema tais como
resistência,
capacitância e
indutância
94
RAÍZES DE EQUAÇÕES
tado por suas variáveis). Assim, esses problemas freqüentemente exigem a determinação
de parâmetros implícitos.
A solução do dilema é fornecida pelos métodos numéricos para raízes de equações.
Para resolver o problema usando métodos numéricos, é conveniente reescrever a Equação
(PT2.3). Isso é feito subtraindo-se a variável dependente v de ambos os lados da equação
para obter
f(c) =
gm
1 − e−(c/m)t − v
c
(PT2.4)
O valor de c que torna f (c) = 0 é, portanto, a raiz da equação. Esse valor também representa o coeficiente de arrasto que resolve o problema de engenharia.
A Parte Dois deste livro trata de uma variedade de métodos numéricos e gráficos
para a determinação de raízes de relações como a Equação (PT2.4). Essas técnicas podem
ser aplicadas a problemas de projeto de engenharia que são baseados nos princípios fundamentais delineados na Tabela PT2.1 e também a muitos outros problemas confrontados
rotineiramente na prática da engenharia.
PT2.2 FUNDAMENTOS MATEMÁTICOS
Para a maioria das áreas de assuntos neste livro, em geral existem alguns pré-requisitos
matemáticos necessários para ter sucesso em dominar o tópico. Por exemplo, os conceitos
de estimativa do erro e de expansão em série de Taylor discutidos nos Capítulos 3 e 4 têm
relevância direta em nossa discussão de raízes de equações. Adicionalmente, antes deste
ponto já mencionamos os termos equações “algébricas” e “transcendentais”. Poderia ser
útil definir formalmente esses termos e discutir como eles se relacionam ao escopo desta
parte do livro.
Por definição, uma função dada por y = f (x) é algébrica se ela puder ser expressa
na forma
f n y n + f n−1 y n−1 + · · · + f 1 y + f 0 = 0
(PT2.5)
onde fi é um polinômio de grau n em x. Os polinômios são uma classe simples de funções
algébricas que são representadas em geral por
f n (x) = a0 + a1 x + a2 x 2 + · · · + an x n
(PT2.6)
f 2 (x) = 1 − 2,37x + 7,5x 2
(PT2.7)
f 6 (x) = 5x 2 − x 3 + 7x 6
(PT2.8)
f(x) = ln x 2 − 1
(PT2.9)
onde n é o grau do polinômio e os a’s são constantes. Alguns exemplos específicos são
e
Uma função transcendental é uma que não é algébrica. Incluem-se as funções trigonométricas, exponenciais, logarítmicas e outras funções menos familiares. Exemplos são
e
f(x) = e−0,2x sen(3x − 0,5)
(PT2.10)
As raízes das equações podem ser reais ou complexas. Embora existam casos nos quais
as raízes complexas de funções não polinomiais sejam de interesse, tais situações são
menos comuns do que para polinômios. Como conseqüência, os métodos padrão para localizar raízes tipicamente se dividem em duas áreas de problemas um pouco relacionadas,
mas primariamente distintas:
1. A determinação de raízes reais de equações algébricas e transcendentais. Essas
técnicas são usualmente desenvolvidas para determinar o valor de uma única raiz com
base no conhecimento prévio de sua localização aproximada.
PT2.3 ORIENTAÇÃO
95
2. A determinação de todas as raízes reais e complexas de polinômios. Esses métodos
são desenvolvidos especificamente para polinômios. Determinam sistematicamente
todas as raízes do polinômio em vez de determinar uma única raiz real a partir de uma
posição aproximada.
Neste livro discutiremos ambos os casos. Os Capítulos 5 e 6 são dedicados à
primeira categoria. O Capítulo 7 lida com polinômios.
PT2.3 ORIENTAÇÃO
Alguma orientação será útil antes de prosseguir para os métodos numéricos para a determinação de raízes de equações. O que segue é destinado a lhe dar uma visão geral do material na Parte Dois. Além disso, foram incluídos alguns objetivos para lhe ajudar a focalizar
seus esforços quando estudar o material.
PT2.3.1 Escopo e Visão Geral
A Figura PT2.1 é uma representação esquemática da organização da Parte Dois.
Examine essa figura cuidadosamente, começando na parte de cima e prosseguindo no
sentido horário.
Depois dessa introdução, o Capítulo 5 é dedicado aos métodos intervalares para
determinar uma raiz. Esses métodos começam com a descoberta de um intervalo que
contenha a raiz e depois sistematicamente diminuem a largura do intervalo. Dois métodos específicos são discutidos: bissecção e falsa posição. Os métodos gráficos são usados para fornecer uma percepção visual das técnicas. As formulações de erros são deduzidas para ajudá-lo a determinar quanto esforço computacional é necessário para
fazer uma estimativa da raiz até o nível de precisão pré-especificado.
O Capítulo 6 cobre os métodos abertos. Esses métodos também envolvem iterações
sistemáticas de tentativa e erro, mas não exigem aproximações iniciais que delimitem a
raiz. Descobriremos que em geral estes métodos são computacionalmente mais eficientes
do que os métodos intervalares, mas não funcionam sempre. Os métodos de iteração de
um ponto, Newton-Raphson e da secante serão descritos. Os métodos gráficos serão usados para fornecer uma percepção geométrica dos casos nos quais os métodos abertos não
funcionam. As fórmulas são deduzidas para fornecer uma idéia de quão rapidamente os
métodos abertos atingem a raiz. Além disso, é explicada uma abordagem para estender o
método de Newton-Raphson a sistemas de equações não lineares.
O Capítulo 7 é dedicado a encontrar as raízes de polinômios. Depois da seção de
fundamentos sobre polinômio, o uso dos métodos convencionais (em particular dos métodos abertos do Capítulo 6) é discutido. A seguir, dois métodos especiais para localizar
raízes de polinômios são descritos: os métodos de Müller e Bairstow. O capítulo termina
com informações relacionadas a encontrar as raízes com programas de biblioteca e
pacotes de software.
O Capítulo 8 estende os conceitos acima para problemas de engenharia reais. Os
casos de engenharia estudados são usados para ilustrar a força e as fraquezas de cada
método e para desenvolver a intuição na aplicação das técnicas na prática profissional. As
aplicações também destacam os prós e contras (como discutido na Parte Um) associados
a vários métodos.
Um epílogo é incluído no final da Parte Dois. Ele contém uma comparação detalhada
dos métodos discutidos nos Capítulos 5, 6 e 7. Essa comparação inclui uma descrição dos
prós e contras relacionados com o uso adequado de cada técnica. Essa seção também
fornece um resumo de fórmulas importantes, juntamente com referências para alguns
métodos numéricos que estão além do escopo deste texto.
PT 2.3.2 Metas e Objetivos
Objetivos de Estudo. Depois de completar a Parte Dois, você deveria ter informação
suficiente para abordar com sucesso uma grande variedade de problemas de engenharia
RAÍZES DE EQUAÇÕES
96
PT 2.1
Motivação
PT 2.6
Métodos
Avançados e referências
adicionais
PT 2.2
Fundamentos
matemáticos
PT 2.3
Orientação
5.1
Métodos
gráficos
PARTE 2
Raízes
de
Equações
5.2
O método da bisecção
5.3
O método da falsa
posição
PT 2.5
Relações e fórmulas
importantes
CAPÍTULO 5
Métodos
Intervalares
EPÍLOGO
PT 2.4
Pós e contras
6.1
Iteração de
ponto fixo simples
8.4
Engenharia
mecânica e
aeroespacial
8.3
Projeto de circuito
elétrico
6.2
O método de
Newton-Raphson
CAPÍTULO 6
Métodos
Abertos
CAPÍTULO 8
Estudos de Casos
Raízes de Equação
8.2
Engenharia
civil e ambiental
8.1
Engenharia
química e
bioquímica
5.4
Buscas
incrementais
7.7
Bibliotecas
e pacotes
6.4
Raízes
múltiplas
CAPÍTULO 7
Raízes
de
Polinômios
7.1
Polinômios na
engenharia e
na ciência
7.6
Outros
métodos
7.5
O Método de
Bairstow's
6.3
O método
da secante
6.5
Sistemas de equações
não-lineares
7.2
Cálculos
computacionais
com polinômios
7.4
O Método de
Müller's
7.3
Métodos
convencionais
FIGURA PT2.1
Esquema de organização do material na Parte Dois: Raízes de Equações.
relacionados com raízes de equações. Em geral, você deve ter dominado as técnicas,
aprendido a avaliar sua confiabilidade e ser capaz de escolher o melhor método (ou
métodos) para qualquer problema particular. Além dessas metas gerais, os conceitos específicos na Tabela PT2.2 devem estar assimilados para um entendimento completo do
material da Parte Dois.
Objetivos Computacionais. O livro lhe oferece software e algoritmos computacionais
simples para implementar as técnicas discutidas na Parte Dois. Todos têm utilidade como
ferramentas computacionais.
Pseudocódigos para diversos métodos também são fornecidos diretamente no texto.
Essa informação vai permitir-lhe expandir sua biblioteca de softwares, incluindo programas que são mais eficientes que o método da bissecção. Por exemplo, você pode querer
ter seu próprio software para as técnicas da falsa posição, de Newton-Raphson e da secante, que são em geral mais eficientes que o método da bissecção.
PT2.3 ORIENTAÇÃO
97
TABELA PT2.2 Objetivos de estudo específicos da Parte Dois.
1. Entender a interpretação gráfica de uma raiz.
2. Saber a interpretação gráfica do método da falsa posição e por que em geral ele é superior ao
método da bissecção.
3. Entender a diferença entre os métodos intervalares e os métodos abertos para localizar raízes.
4. Entender os conceitos de convergência e divergência; usar o método gráfico de duas curvas para
fornecer uma descrição visual desses conceitos.
5. Saber por que os métodos intervalares sempre convergem, enquanto os métodos abertos podem às
vezes divergir.
6. Perceber que a convergência dos métodos abertos é mais provável se a aproximação inicial estiver
próximo da raiz verdadeira.
7. Entender os conceitos de convergência linear e quadrática e suas conseqüências na eficiência dos
métodos de iteração de ponto fixo e de Newton-Raphson.
8. Saber a diferença fundamental entre os métodos da falsa posição e da secante e como ela se
relaciona com a convergência.
9. Entender o problema causado pelas raízes múltiplas e as modificações disponíveis para abrandá-los.
10. Saber como estender a abordagem de Newton-Raphson para uma única equação para resolver
sistemas de equações não-lineares.
Finalmente, pacotes como os softwares Excel, MATLAB e bibliotecas de programas têm recursos poderosos para localizar raízes. Você pode usar esta parte do livro para
se familiarizar com esses recursos.
CAPÍTULO
5
Métodos Intervalares
Este capítulo sobre raízes de equações trata de métodos que exploram o fato de que uma
função tipicamente muda de sinal na vizinhança de uma raiz. Essas técnicas (bracketing
methods), que isolam a raiz em um intervalo, exigem duas estimativas iniciais para a raiz.
Tais estimativas devem “delimitar” a — ou estar uma de cada lado da — raiz. Os métodos particulares descritos aqui usam estratégias diferentes para sistematicamente diminuir a largura do intervalo e, portanto, aproximar-se da resposta correta.
Como uma introdução a essas técnicas, serão discutidos brevemente métodos gráficos para descrever as funções e suas raízes. Além de sua utilidade para fornecer estimativas grosseiras, as técnicas gráficas também são úteis na visualização das propriedades das
funções e do comportamento de diversos métodos numéricos.
5.1
MÉTODOS GRÁFICOS
Um método simples para obter uma estimativa da raiz da equação f (x) = 0 é fazer um gráfico da função e observar onde ela corta o eixo dos x. Esse ponto, que representa o valor
de x para o qual f (x) = 0, fornece uma aproximação grosseira da raiz.
EXEMPLO 5.1
A Abordagem Gráfica
Enunciado do Problema. Use a abordagem gráfica para determinar o coeficiente de
arrasto c necessário para que um pára-quedista de massa m = 68,1 kg tenha uma velocidade de 40 m/s depois de cair em queda livre por t = 10 s. Observação: a aceleração da
gravidade é 9,8 m/s2.
Solução. Esse problema pode ser resolvido determinando-se as raízes da Equação
(PT2.4) usando os parâmetros t = 10, g = 9,8, v = 40 e m = 68,1:
f(c) =
9,8(68,1)
1 − e−(c/68,1)10 − 40
c
f(c) =
667,38
1 − e−0,146843c − 40
c
ou
Pode-se substituir vários valores de c no lado direito dessa equação para calcular
c
4
8
12
16
20
98
f(c)
34,115
17,653
6,067
−2,269
−8,401
(E5.1.1)
5.1 MÉTODOS NUMÉRICOS
99
f (c)
40
20
f (x)
Raiz
0
4
8
12
20 c
x
(a)
–10
f (x)
FIGURA 5.1
A abordagem gráfica para determinar as raízes de uma equação.
x
(b)
Esses pontos estão marcados na Figura 5.1. A curva resultante cruza o eixo c entre 12 e 16.
Uma inspeção visual do gráfico fornece uma estimativa grosseira da raiz de 14,75. A validade da estimativa gráfica pode ser verificada pela substituição na Equação (E5.1.1), o
que fornece
f (x)
x
(c)
f(14,75) =
667,38
1 − e−0,146843(14,75) − 40 = 0,059
14,75
que está próximo de zero. Isso também pode ser verificado pela substituição na Equação
(PT2.4) juntamente com os parâmetros desse exemplo, o que dá
f (x)
v=
x
xl
xu
9,8(68,1)
1 − e−(14,75/68,1)10 = 40,059
14,75
que está muito próximo da velocidade de queda pedida de 40 m/s.
(d)
FIGURA 5.2
Ilustração de diversas formas
gerais nas quais uma raiz pode
ocorrer em um intervalo
determinado por uma
extremidade inferior xl e uma
extremidade superior xu. As
partes (a) e (c) indicam que, se
f (xl) e f (xu) tiverem o mesmo
sinal, ou não existirão raízes ou
existirá um número par de
raízes no intervalo. As partes
(b) e (d) indicam que, se a
função tiver sinais diferentes
nas extremidades, existirá
um número ímpar de raízes
no intervalo.
As técnicas gráficas têm valor prático limitado porque não são precisas. Entretanto,
os métodos gráficos podem ser usados para obter estimativas grosseiras das raízes. Essas
estimativas são usadas como aproximações iniciais para os métodos numéricos discutidos
neste e no próximo capítulo.
Além de fornecer estimativas grosseiras para as raízes, as interpretações gráficas são
ferramentas importantes para se entender as propriedades das funções e antecipar as armadilhas dos métodos numéricos. Por exemplo, a Figura 5.2 mostra diversas maneiras
pelas quais as raízes podem ocorrer (ou não) em um intervalo determinado por uma extremidade inferior xl e por uma extremidade superior xu. A Figura 5.2b descreve o caso
no qual uma única raiz foi delimitada por valores positivos e negativos de f (x). Entretanto, a Figura 5.2d, onde f (xl) e f(xu ) também estão de lados opostos do eixo x, mostra
três raízes ocorrendo nesse intervalo. Em geral, se f(xl) e f(xu) têm sinais opostos, existe
um número ímpar de raízes no intervalo. Como indicado pelas Figuras 5.2a e c, se f(xl) e
f(xu) têm ambos o mesmo sinal, ou não existe nenhuma raiz ou existe um número par de
raízes entre os valores.
MÉTODOS INTERVALARES
100
f (x)
x
(a)
f (x)
FIGURA 5.3
Ilustrações de algumas exceções aos casos gerais mostrados na
Figura 5.2. (a) Raízes múltiplas que ocorrem quando a função é
tangente ao eixo x. Nesse caso, embora as extremidades
tenham sinais opostos, há um número par de intersecções com
o eixo nesse intervalo. (b) Funções descontínuas nas quais as
extremidades de sinais opostos cercam um número par de
raízes. Estratégias especiais são necessárias para determinar
as raízes nesses casos.
x
xu
xl
(b)
Essas generalizações são quase sempre verdadeiras, mas há casos em que elas não
funcionam. Por exemplo, as funções que são tangentes ao eixo x (Figura 5.3a) ou que são
funções descontínuas (Figura 5.3b) podem violar esses princípios. Um exemplo de uma
função que é tangente ao eixo é a equação cúbica f (x) = (x − 2)(x − 2)(x − 4). Observe
que x = 2 torna dois termos nesse polinômio iguais a zero. Matematicamente, x = 2 é
chamado de raiz múltipla. No final do Capítulo 6, serão apresentadas técnicas destinadas
a localizar raízes múltiplas.
A existência de casos do tipo mostrados na Figura 5.3 torna difícil desenvolver algoritmos computacionais gerais que garantam a localização de todas as raízes em um intervalo. Entretanto, quando usados junto com abordagens gráficas, os métodos descritos
nas seções seguintes são extremamente úteis para resolver problemas de raízes de equações confrontados rotineiramente por engenheiros e matemáticos aplicados.
EXEMPLO 5.2
Uso de Gráficos Computacionais para Localizar Raízes
Enunciado do Problema. Os gráficos computacionais podem tornar mais rápidos e
melhores seus esforços para localizar as raízes de equações. A função
f (x) sen 10x cos 3x
tem diversas raízes no intervalo de x = 0 a x = 5. Use gráficos computacionais para
adquirir uma percepção do comportamento dessa função.
Solução. Os pacotes de software como Excel e MATLAB podem ser usados para gerar
gráficos. A Figura 5.4a é um gráfico de f (x) de x = 0 a x = 5. Esse gráfico sugere a presença de diversas raízes, incluindo uma possível raiz dupla perto de x = 4,2 onde f(x)
parece ser tangente ao eixo x. Uma figura mais detalhada do comportamento de f(x) é
obtida variando-se o domínio do gráfico de x = 3 a x = 5, como mostrado na Figura 5.4b.
Finalmente, na Figura 5.4c, a escala vertical é estreitada ainda mais para f(x) = −0,15 a
f (x) = 0,15 e a escala horizontal é estreitada para x = 4,2 a x = 4,3. Esse gráfico mostra
claramente que não existe uma raiz dupla nessa região e que na realidade existem duas
raízes distintas perto de x = 4,23 e de x = 4,26.
Os gráficos computacionais terão grande utilidade nos seus estudos de métodos
numéricos. Esse recurso também terá muitas outras aplicações em suas outras disciplinas
e também em suas atividades profissionais.
5.2 O MÉTODO DA BISSECÇÃO
101
2
Y
2
0
–2
Y
0
–2
5
2,5
X
0
3
4
X
(a)
5
(b)
0,15
Y
0
– 0,15
4,2
4,25
X
4,3
(c)
FIGURA 5.4
Uma ampliação progressiva de f(x) sen 10x ⫹ cos 3x pelo computador. Esses recursos gráficos interativos permitem
ao analista determinar que existem duas raízes distintas entre x 4,2 e x 4,3.
5.2
O MÉTODO DA BISSECÇÃO
Quando aplicou a técnica gráfica do Exemplo 5.1, você observou (Figura 5.1) que f(x)
mudou de sinal em lados opostos da raiz. Em geral, se f (x) for real e contínua no intervalo
de xl a xu e f (xl) e f(xu) tiverem sinais opostos, isto é,
f(xl ) f(xu ) < 0
(5.1)
então existe pelo menos uma raiz real entre xl e xu.
Os métodos de busca incrementais tiram vantagem dessa observação localizando um
intervalo no qual a função muda de sinal. Então, a posição da mudança de sinal (e, conseqüentemente, da raiz) é identificada mais precisamente dividindo-se o intervalo em diversos subintervalos. Procura-se em cada um desses subintervalos para localizar a mudança de sinal. O processo é repetido e a estimativa da raiz é refinada dividindo-se os
subintervalos em incrementos menores. Voltaremos ao tópico geral de buscas incrementais na Seção 5.4.
O método da bissecção, que é alternativamente chamado de truncamento binário, divisão do intervalo na metade, ou método de Bolzano, é um tipo de método de busca incremental no qual o intervalo é sempre dividido na metade. Se uma função muda de sinal em
um intervalo, calcula-se o valor da função em seu ponto médio. A posição da raiz é então
determinada como sendo o ponto médio do subintervalo no qual a mudança de sinal ocorre.
Esse processo é repetido para obter estimativas refinadas. Um algoritmo simples para os
cálculos da bissecção é listado na Figura 5.5 e uma descrição gráfica do método é fornecida
na Figura 5.6. O exemplo a seguir exibe todos os cálculos realmente envolvidos no método.
MÉTODOS INTERVALARES
102
Passo 1: Escolha as aproximações inferior xl e superior xu para a raiz de modo que a
função mude de sinal no intervalo. Isso pode ser verificado garantindo que
f (xl)f(xu) < 0.
Passo 2: Uma estimativa da raiz é determinada por
xl ⫹ xu
xr
2
FIGURA 5.5
Passo 3: Faça os seguintes cálculos para determinar em qual subintervalo a raiz está:
(a) se f (xl)f(xr) < 0, a raiz está no subintervalo inferior. Portanto, faça xu = xr e
volte ao passo 2.
(b) se f (xl)f (xr) > 0, a raiz está no subintervalo superior. Portanto, faça xl = xr e
volte ao passo 2.
(c) se f(xl)f(xr) = 0, a raiz é igual a xr; pare os cálculos.
12
16
14
15
FIGURA 5.6
Uma descrição gráfica do
método da bissecção. Esse
gráfico mostra as primeiras três
iterações do Exemplo 5.3.
EXEMPLO 5.3
16
14
Bissecção
Enunciado do Problema. Use bissecção para resolver o mesmo problema tratado
graficamente no Exemplo 5.1.
Solução. O primeiro passo na bissecção é descobrir dois valores para a incógnita (no
problema presente, c) que dê valores de f(c) com sinais diferentes. A partir da Figura 5.1,
vê-se que a função muda de sinal entre 12 e 16. Portanto, a estimativa inicial da raiz xr é
o ponto médio do intervalo
xr =
12 + 16
= 14
2
Essa estimativa representa um erro relativo porcentual verdadeiro de εt = 5,3% (observe
que o valor verdadeiro da raiz é 14,7802). A seguir, calcula-se o produto do valor da
função no extremo inferior e no ponto médio:
f (12) f (14) 6,067(1,569) 9,517
que é maior do que zero e, portanto, não ocorre troca de sinal entre a extremidade inferior
e o ponto médio. Conseqüentemente, a raiz deve estar localizada entre 14 e 16. Logo,
5.2 O MÉTODO DA BISSECÇÃO
103
criamos um novo intervalo redefinindo a extremidade inferior como 14 e determinando
uma estimativa revisada da raiz por
xr =
14 + 16
= 15
2
o que representa um erro porcentual verdadeiro de εt = 1,5%. O processo pode ser
repetido para se obter estimativas refinadas. Por exemplo,
f (14) f (15) 1,569(0,425) 0,666
Portanto, a raiz está entre 14 e 15. A extremidade superior é redefinida como 15, e a raiz
estimada na terceira iteração é calculada por
xr =
14 + 15
= 14,5
2
o que representa um erro relativo porcentual de εt = 1,9%. O método pode ser repetido
até que o resultado seja suficientemente acurado para satisfazer suas necessidades.
No exemplo anterior, pode-se notar que o erro verdadeiro não decresce com cada iteração. Entretanto, o intervalo no qual a raiz está localizada é dividido na metade em cada
passo do processo. Como discutiremos na próxima seção, a largura do intervalo fornece
uma estimativa exata do limitante superior do erro para o método da bissecção.
5.2.1 Critério de Parada e Estimativa do Erro
Terminamos o Exemplo 5.3 com a afirmação de que se poderia continuar o método para
obter uma estimativa refinada da raiz. Agora é preciso desenvolver um critério objetivo
para decidir quando parar o método.
Uma sugestão inicial poderia ser parar os cálculos quando o erro verdadeiro cair
abaixo de algum nível pré-especificado. Como ilustração, no Exemplo 5.3, o erro relativo
caiu de 5,3 para 1,9% durante os cálculos. A decisão pode ser parar quando o erro cair
abaixo de 0,1%. Essa estratégia é falha porque os erros estimados no exemplo foram
baseados no conhecimento da raiz verdadeira da função — o que não seria o caso em
situações reais, pois não haveria motivo para usar o método se a raiz já fosse conhecida.
Portanto, é necessária uma estimativa de erro que não dependa do conhecimento
prévio dessa raiz. Como visto anteriormente na Seção 3.3, um erro relativo porcentual
aproximado εa pode ser calculado por [lembre-se da Equação (3.5)]
novo
x
− x velho
εa = r novo r
(5.2)
100%
xr
onde xrnovo é a raiz da iteração atual e xrvelho é a raiz da iteração prévia. O valor absoluto é
usado porque, em geral, estamos interessados no módulo de εa em vez de no seu sinal.
Quando εa se torna menor do que um critério de parada pré-especificado s, param-se os
cálculos.
EXEMPLO 5.4
Estimativa de Erro para a Bissecção
Enunciado do Problema. Continue o Exemplo 5.3 até que o erro aproximado fique
abaixo do critério de parada εs = 0,5%. Use a Equação (5.2) para calcular os erros.
Solução. Os resultados das primeiras duas iterações no Exemplo 5.3 foram 14 e 15. A
substituição desses valores na Equação (5.2) fornece
15 − 14
100% = 6,667%
|εa | =
15
Lembre que o erro relativo porcentual verdadeiro para a estimativa da raiz de 15 era 1,5%.
Logo, εa é maior do que εt . Esse comportamento se manifesta nas outras iterações:
104
MÉTODOS INTERVALARES
Iteração
xl
1
2
3
4
5
6
12
14
14
14,5
14,75
14,75
xu
xr
16
16
15
15
15
14,875
14
15
14,5
14,75
14,875
14,8125
a (%)
t (%)
6,667
3,448
1,695
0,840
0,422
5,279
1,487
1,896
0,204
0,641
0,219
Assim, depois de seis iterações, εa finalmente fica abaixo de εs = 0,5%, e os cálculos podem parar.
Esses resultados estão resumidos na Figura 5.7. A natureza “irregular” do erro verdadeiro se deve ao fato de que, na bissecção, a raiz verdadeira pode estar em qualquer
lugar dentro do intervalo que a cerca. Os erros verdadeiro e aproximado estão bem distantes quando acontece de o intervalo estar centrado na raiz verdadeira. Eles estão próximos quando a raiz verdadeira está próxima de qualquer das extremidades.
Embora o erro aproximado não forneça uma estimativa exata do erro verdadeiro, a
Figura 5.7 sugere que εa captura a tendência geral para baixo de εt . Além disso, o gráfico
mostra a característica extremamente atrativa de que εa é sempre maior do que εt . Logo,
quando εa cai abaixo de εs , podemos parar os cálculos com a confiança de que a raiz é conhecida pelo menos tão acuradamente quanto o nível aceitável pré-especificado.
Embora seja sempre perigoso tirar conclusões gerais de um único exemplo, pode ser
demonstrado que εa será sempre maior do que εt para o método da bissecção. Isso ocorre
porque, cada vez que uma raiz aproximada é localizada usando a bissecção com xr =
(xl + xu)/2, sabemos que a raiz verdadeira está em algum ponto dentro de um intervalo de
comprimento (xu − xl)/2 = x/2. Logo, a raiz deve estar a ±x/2 de nossa estimativa
(Figura 5.8). Por exemplo, quando o Exemplo 5.3 foi parado, poderíamos fazer a afirmação definitiva de que
xr 14,5 0,5
Como x/2 = xrnovo − xrvelho (Figura 5.9), a Equação (5.2) fornece um limitante
superior exato para o erro verdadeiro. Para que esse limitante fosse excedido, a raiz
FIGURA 5.7
Erros para o método da
bissecção. Os erros verdadeiro
e estimado estão mostrados em
função do número de iterações.
10
Erro relativo percentual
Aproximado
1,0
Verdadeiro
0,1
0
3
Iterações
6
5.2 O MÉTODO DA BISSECÇÃO
105
verdadeira deveria estar fora do intervalo que a cerca, o que, por definição, nunca poderia
ocorrer no método da bissecção. Como ilustrado no exemplo seguinte (Exemplo 5.7), outras
técnicas de localizar raízes não se comportam sempre tão bem. Embora a bissecção seja em
geral mais lenta do que outros métodos, a simplicidade de sua análise de erro é certamente
um aspecto positivo que poderia torná-la atrativa para certas aplicações de engenharia.
Antes de prosseguir para programas de computador para a bissecção, deve-se observar que as relações (Figura 5.9)
xrnovo − xrvelho =
x u − xl
2
e
xl + x u
2
podem ser substituídas na Equação (5.2) para desenvolver uma formulação alternativa
para o erro relativo porcentual
x u − xl
100%
εa =
(5.3)
x u + xl
xrnovo =
Essa equação fornece resultados idênticos à Equação (5.2) para a bissecção. Além
disso, ela permite calcular uma estimativa de erro com base nas aproximações iniciais —
isto é, na primeira iteração. Por exemplo, na primeira iteração do Exemplo 5.2, um erro
aproximado pode ser calculado como
16 − 12
100% = 14,29%
εa =
16 + 12
FIGURA 5.8
Três maneiras pelas quais o
intervalo pode delimitar a raiz.
Em (a) o valor verdadeiro está
no centro do intervalo, ao
passo que em (b) e em (c) o
valor verdadeiro está próximo
à extremidade. Observe que a
discrepância entre o valor
verdadeiro e o ponto médio
do intervalo nunca excede a
metade do comprimento do
intervalo ou x/2.
(a)
(b)
xl
xl
xr
xr
xu
xu
xl
(c)
x /2
xr
x /2
Raiz verdadeira
FIGURA 5.9
Descrição gráfica de por que
o erro estimado para a
bissecção (x/2) é
equivalente à estimativa da
raiz na iteração atual (x rnovo)
menos a raiz estimada na
iteração anterior (x rvelho).
xrnovo– xvelho
r
Iteração anterior
xvelho
r
xnovo
r
Iteração atual
x/2
xu
106
MÉTODOS INTERVALARES
Um outro benefício do método da bissecção é que o número de iterações necessárias
para se chegar a um erro absoluto pode ser calculado a priori — isto é, antes de começar
as iterações. Isso pode ser visto reconhecendo-se que, antes de começar a técnica, o erro
absoluto é
E a0 = xu0 − xl0 = x 0
onde o sobrescrito indica a iteração. Então, antes de começar o método, estamos na “iteração zero”. Depois da primeira iteração, o erro se torna
E a1 =
x 0
2
Como cada iteração sucessiva divide o erro por dois, uma fórmula geral relacionando o
erro e o número de iterações, n, é
E an =
x 0
2n
Se Ea,d é o erro desejado, essa equação pode ser resolvida por
0
log x 0 /E a,d
x
n=
= log2
log 2
E a,d
(5.4)
(5.5)
Vamos testar a fórmula. Para o Exemplo 5.4, o intervalo inicial era x0 = 16 − 12 =
4. Depois de seis iterações, o erro absoluto era
Ea =
|14,875 − 14,75|
= 0,0625
2
Pode-se substituir esses valores na Equação (5.5) para obter
n=
log(4/0,0625)
=6
log 2
Logo, se soubermos antecipadamente que um erro de menos do que 0,0625 é aceitável, a
fórmula diz que seis iterações forneceriam o resultado procurado.
Embora se tenha enfatizado o uso do erro relativo por razões óbvias, há casos em que
(em geral, pelo conhecimento do contexto do problema) se poderá especificar um erro absoluto. Nesses casos, a bissecção junto com a Equação (5.5) podem fornecer um algoritmo útil na localização das raízes. Tais aplicações serão exploradas nos problemas do
final do capítulo.
5.2.2 Algoritmo de Bissecção
O algoritmo na Figura 5.5 pode agora ser expandido para incluir uma verificação do erro
(Figura 5.10). Esse algoritmo usa funções definidas pelo usuário para tornar a localização
das raízes e os cálculos da função mais eficientes. Além disso, é colocado um limite superior no número de iterações. Finalmente, é incluída uma verificação do erro para evitar
divisão por zero durante o cálculo do erro. Em tal situação, a Equação (5.2) se torna infinita. Se isso ocorrer, o programa pula o cálculo do erro nessa iteração.
O algoritmo na Figura 5.10 não é amigável ao usuário; ele é planejado estritamente
para produzir a resposta correta. No Problema 5.14 no final deste capítulo, você terá a
tarefa de torná-lo mais fácil de usar e entender.
5.2.3 Minimizando o Cálculo de Funções
O algoritmo de bissecção na Figura 5.10 é muito bom se você estiver calculando uma
única raiz para uma função que seja fácil de calcular. Entretanto, há muitos exemplos em
engenharia nos quais esse não é o caso. Por exemplo, suponha que você desenvolveu um
programa de computador que precisa localizar uma raiz diversas vezes. Nesses casos,
você poderia chamar o algoritmo da Figura 5.10 milhares e mesmo milhões de vezes durante uma única execução.
5.2 O MÉTODO DA BISSECÇÃO
FIGURA 5.10
Pseudocódigo para a função
que implementa a bissecção.
107
FUNCTION Bissecção(xl, xu, es, imax, xr, iter, ea)
iter 0
DO
xrold xr
xr (xl xu) / 2
iter iter 1
IF xr 0 THEN
ea ABS((xr xrold) / xr) * 100
END IF
test f(xl) * f(xr)
IF test
0 THEN
xu xr
ELSE IF test
0 THEN
xl xr
ELSE
ea 0
END IF
IF ea
es OR iter
imax EXIT
END DO
Bissecção xr
END Bissecção
Além disso, no seu sentido mais geral, uma função de uma única variável é simplesmente uma entidade que devolve um único valor para um único valor que você tenha inserido. Entendidas nesse sentido, as funções não são sempre fórmulas simples como as
equações de uma linha resolvidas nos exemplos anteriores deste capítulo. Por exemplo,
uma função poderia consistir em muitas linhas de código que poderiam envolver uma
quantidade significativa de tempo de execução para calcular. E, em alguns casos, a função
poderia até mesmo representar um programa de computador independente.
FIGURA 5.11
Pseudocódigo para o
subprograma de bissecção que
minimiza o cálculo de funções.
FUNCTION Bissecção(xl, xu, es, imax, xr, iter, ea)
iter 0
fl f(xl)
DO
xrold xr
xr (xl xu) / 2
fr f(xr)
iter iter 1
IF xr 0 THEN
ea ABS((xr xrold) / xr) * 100
END IF
test fl * fr
IF test
0 THEN
xu xr
ELSE IF test
0 THEN
xl xr
fl fr
ELSE
ea 0
END IF
IF ea
es OR iter
imax EXIT
END DO
Bissecção xr
END Bissecção
MÉTODOS INTERVALARES
108
Por causa de ambos os fatores, é imperativo que os algoritmos numéricos minimizem os cálculos de funções. Desse ponto de vista, o algoritmo da Figura 5.10 é deficiente. Observe, em particular, que ao fazer dois cálculos de função por iteração, ele recalcula uma das funções que havia sido determinada na iteração anterior.
A Figura 5.11 fornece um algoritmo modificado que não tem essa deficiência. Destacamos as linhas que são diferentes das da Figura 5.10. Nesse caso, é calculado apenas um
novo valor da função na estimativa da raiz. Os valores calculados anteriormente são
salvos e meramente transferidos conforme o intervalo diminui. Então, são feitos n + 1
cálculos de funções, em vez de 2n.
5.3
O MÉTODO DA FALSA POSIÇÃO
Embora a bissecção seja uma técnica perfeitamente válida para determinar raízes, sua
abordagem do tipo “força bruta” é relativamente ineficiente. A falsa posição é uma alternativa baseada na percepção gráfica.
Uma deficiência do método da bissecção é que, na divisão do intervalo de xl a xu em
metades iguais, não são levados em conta os módulos de f (xl) e f(xu). Por exemplo, se f (xl)
estiver muito mais próximo de zero do que f (xu), será provável que a raiz esteja mais
próxima de xl do que de xu (Figura 5.12). Um método alternativo que explora essa percepção gráfica é ligar f(xl) e f(xu) por uma reta. A intersecção dessa reta com o eixo x representa uma estimativa melhorada da raiz. O fato de a substituição da curva por uma reta
dar uma “falsa posição” da raiz é a origem do nome, método da falsa posição, ou, em
latim, regula falsi. Ele também é chamado de método da interpolação linear.
Usando triângulos semelhantes (Figura 5.12), a intersecção da reta com o eixo x
pode ser calculada por
f(xl )
f(xu )
=
xr − xl
xr − x u
(5.6)
que pode ser reescrita como (ver Quadro 5.1 para detalhes):
xr = x u −
FIGURA 5.12
Uma descrição gráfica do
método da falsa posição. Os
triângulos semelhantes que
foram usados para deduzir a
fórmula do método estão
hachurados.
f(xu )(xl − xu )
f(xl ) − f(xu )
(5.7)
f (x)
f (xu)
xr
xl
xu
f (xl)
x
5.3 O MÉTODO DA FALSA POSIÇÃO
Quadro 5.1
Dedução do Método da Falsa Posição
Multiplique a Equação (5.6) em cruz para obter
e então somando e subtraindo xu no lado direito:
f(xl )(xr − xu ) = f(xu )(xr − xl )
xr = x u +
Agrupe os termos e reorganize:
xr [ f(xl ) − f(xu )] = xu f(xl ) − xl f(xu )
xu f(xl ) − xl f(xu )
f(xl ) − f(xu )
(Q5.1.1)
Esta é uma forma do método da falsa posição. Observe que ela permite o cálculo da raiz xr como uma função das aproximações inferior xl e superior xu. Ele pode ser colocado em uma forma alternativa expandindo-o:
xr =
xl f(xu )
xu f(xl )
− xu −
f(xl ) − f(xu )
f(xl ) − f(xu )
Agrupando os termos obtemos
Divida por f (xl) − f(xu):
xr =
109
xu f(xl )
xl f(xu )
−
f(xl ) − f(xu )
f(xl ) − f(xu )
xr = x u +
xu f(xu )
xl f(xu )
−
f(xl ) − f(xu )
f(xl ) − f(xu )
xr = x u −
f(xu )(xl − xu )
f(xl ) − f(xu )
ou
o que é o mesmo que a Equação (5.7). Essa forma foi usada porque
ela envolve um cálculo de função a menos e uma multiplicação a
menos do que a Equação (Q5.1.1). Além disso, ela é diretamente
comparável ao método da secante, que será discutido no Capítulo 6.
Essa é a fórmula da falsa posição. O valor de xr calculado com a Equação (5.7) então substitui qualquer das duas aproximações iniciais xl ou xu que forneça um valor da função
com o mesmo sinal que f (xr). Dessa forma, os valores xl e xu sempre delimitam a raiz verdadeira. O processo é repetido até que a raiz seja estimada adequadamente. O algoritmo
é idêntico ao da bissecção (Figura 5.5), com a diferença de que a Equação (5.7) é usada
no passo 2. Além disso, é usado o mesmo critério de parada [Equação(5.2)] para encerrar
os cálculos.
EXEMPLO 5.5
Falsa Posição
Enunciado do Problema. Use o método da falsa posição para determinar a raiz da
mesma equação investigada no Exemplo 5.1 [Equação (E5.1.1)].
Solução. Como no Exemplo 5.3, comece os cálculos com aproximações xl = 12 e xu = 16.
Primeira iteração:
xl = 12
xu = 16
xr = 16 −
f(xl ) = 6,0699
f(xu ) = −2,2688
−2,2688(12 − 16)
= 14,9113
6,0669 − (−2,2688)
que tem um erro relativo verdadeiro de 0,89%.
Segunda iteração:
f(xl ) f(xr ) = −1,5426
Portanto, a raiz está no primeiro subintervalo e xr se torna a aproximação superior da
próxima iteração, xu = 14,9113:
xl = 12
xu = 14,9113
xr = 14,9113 −
f(xl ) = 6,0699
f(xu ) = −0,2543
−0,2543(12 − 14,9113)
= 14,7942
6,0669 − (−0,2543)
que tem erros relativos verdadeiro e aproximado de 0,09 e 0,79%. Iterações adicionais
podem ser feitas para refinar a estimativa da raiz.
110
MÉTODOS INTERVALARES
Erro relativo percentual verdadeiro
10
FIGURA 5.13
Comparação dos erros relativos
dos métodos da bissecção e
da falsa posição.
Bissecção
1
10– 1
Falsa posição
10– 2
10– 3
10– 4
0
3
Iterações
6
Uma impressão sobre a eficiência relativa dos métodos da bissecção e falsa posição
pode ser obtida consultando-se a Figura 5.13, em que estão marcados os erros relativos
percentuais verdadeiros para os Exemplos 5.4 e 5.5. Observe como o erro na falsa posição
diminui muito mais rapidamente do que na bissecção por causa do esquema mais eficiente para a localização da raiz no método da falsa posição.
Lembre que, no método da bissecção, o intervalo entra xl e xu se tornava menor durante
o cálculo. O intervalo, definido por x/2 = |xu − xl |/2 na primeira iteração, fornece, portanto, uma medida do erro nessa abordagem. Esse não é o caso no método da falsa posição
porque uma das aproximações iniciais pode permanecer fixa durante o cálculo enquanto a
outra converge para a raiz. Como ilustração, no Exemplo 5.6 a aproximação inferior xl permanece em 12 enquanto xu converge para a raiz. Para tais casos, o comprimento do intervalo não se contrai para zero, mas, em vez disso, aproxima-se de um valor constante.
O Exemplo 5.6 sugere que a Equação (5.2) representa um critério de erro muito conservador. Na realidade, a Equação (5.2) constitui de fato uma aproximação da discrepância da iteração anterior. Isso ocorre porque, para um caso tal como o Exemplo 5.6, no qual
o método está convergindo rapidamente (por exemplo, o erro está sendo reduzido quase
uma ordem de grandeza por iteração), a raiz da iteração atual xrnovo é uma estimativa
muito melhor do valor verdadeiro do que o resultado da iteração prévia xrvelho . Assim, a
quantidade no numerador da Equação (5.2) na realidade representa a discrepância da iteração anterior. Conseqüentemente, podemos estar certos de que o fato de a Equação (5.2)
ser satisfeita garante que a raiz será conhecida com precisão maior do que a tolerância
prescrita. Entretanto, como será descrito na próxima seção, há casos em que o método da
falsa posição converge lentamente. Nesses casos, a Equação (5.2) se torna não-confiável
e um critério de parada alternativo deve ser deduzido.
5.3.1 Armadilhas do Método da Falsa Posição
Embora o método da falsa posição possa parecer sempre ser o melhor dos métodos intervalares, há casos em que seu desempenho é deficiente. Na realidade, como ocorre no
próximo exemplo, há certos casos nos quais a bissecção fornece resultados superiores.
5.3 O MÉTODO DA FALSA POSIÇÃO
EXEMPLO 5.6
111
Um Caso em que a Bissecção É Preferível à Falsa Posição
Enunciado do Problema. Use a bissecção e a falsa posição para localizar a raiz de
f(x) = x 10 − 1
entre x = 0 e 1,3.
Solução.
Usando a bissecção, os resultados podem ser resumidos por
Iteração
1
2
3
4
5
xl
xu
0
0,65
0,975
0,975
0,975
1,3
1,3
1,3
1,1375
1,05625
xr
0,65
0,975
1,1375
1,05625
1,015625
a (%)
t (%)
100,0
33,3
14,3
7,7
4,0
35,0
2,5
13,8
5,6
1,6
Logo, depois de cinco iterações, o erro verdadeiro foi reduzido para menos de 2%. Na
falsa posição, é obtida uma saída muito diferente:
Iteração
1
2
3
4
5
xl
xu
0
0,09430
0,18176
0,26287
0,33811
1,3
1,3
1,3
1,3
1,3
xr
0,09430
0,18176
0,26287
0,33811
0,40788
a (%)
t (%)
48,1
30,9
22,3
17,1
90,6
81,8
73,7
66,2
59,2
FIGURA 5.14
Gráfico de f (x) = x10 − 1, ilustrando a convergência lenta do método da falsa posição.
f (x)
10
5
0
1.0
x
112
MÉTODOS INTERVALARES
Depois de cinco iterações. o erro verdadeiro diminuiu apenas para cerca de 59%.
Além disso, observe que εa < εt . Logo, o erro aproximado é enganoso. Pode-se ganhar alguma intuição sobre esses resultados examinando o gráfico da função. Como na Figura 5.14,
a curva viola a hipótese básica na qual a falsa posição foi baseada — isto é, se f(xl) está
muito mais próximo de zero do que f(xu), então a raiz está mais próxima de xl do que de xu
(lembre-se da Figura 5.12). Por causa da forma da função presente, o contrário é verdadeiro.
O exemplo anterior ilustra que generalizações abrangentes com relação aos métodos
de localização de raízes, em geral, não são possíveis. Embora um método como a falsa
posição seja quase sempre superior à bissecção, invariavelmente há casos que violam
essas conclusões gerais. Portanto, além de se usar a Equação (5.2), os resultados deveriam
sempre ser verificados substituindo a estimativa da raiz na equação original e verificando
se o resultado está próximo a zero. Tal verificação deveria ser incorporada em todos os
programas de computador para a localização de raízes.
O exemplo também ilustra uma grande fraqueza do método da falsa posição: ele é
unilateral. Ou seja, conforme as iterações continuam, uma das extremidades do intervalo
terá a tendência de permanecer fixa. Isso pode levar à convergência insatisfatória, particularmente para funções com curvatura significativa.
5.3.2 Falsa Posição Modificado
Uma forma de abrandar a natureza “unilateral” da falsa posição é fazer o algoritmo detectar quando uma das extremidades está presa. Se isso ocorrer, o valor da função na
FIGURA 5.15
Pseudocódigo para o método
da falsa posição modificado.
FUNCTION FalsaPosMod(xl, xu, es, imax, xr, iter, ea)
iter 0
fl f(xl)
fu f(xu)
DO
xrold xr
xr xu fu * (xl xu) / (fl fu)
fr f(xr)
iter iter 1
IF xr
0 THEN
ea Abs((xr xrold) / xr) * 100
END IF
test fl * fr
IF test
0 THEN
xu xr
fu f(xu)
iu 0
il il 1
If il
2 THEN fl fl / 2
ELSE IF test
0 THEN
xl xr
fl f(xl)
il 0
iu iu 1
IF iu
2 THEN fu fu / 2
ELSE
ea 0
END IF
IF ea
es OR iter imax THEN EXIT
END DO
FalsaPosMod xr
END FalsaPosMod
5.4 BUSCAS INCREMENTAIS E DETERMINAÇÃO DE APROXIMAÇÕES INICIAIS
113
extremidade presa pode ser dividido por dois, o que é chamado de método da falsa
posição modificado.
O algoritmo na Figura 5.15 implementa essa estratégia. Observe como contadores
são usados para determinar quando uma das extremidades permanece fixa por duas iterações. Se isso ocorrer, o valor da função na extremidade presa é dividido por dois.
A eficiência desse algoritmo pode ser ilustrada aplicando-o ao Exemplo 5.6. Se um
critério de parada de 0,01% for usado, os métodos da bissecção e da falsa posição convergiriam em 14 e 39 iterações, respectivamente. Em contraste, o método da falsa posição
modificado convergiria em 12 iterações. Portanto, para esse exemplo, ele é um pouco
mais eficiente do que a bissecção e é muito superior ao método da falsa posição nãomodificado.
5.4
BUSCAS INCREMENTAIS E DETERMINAÇÃO DE
APROXIMAÇÕES INICIAIS
Além de verificar uma resposta individual, você deve determinar se todas as raízes
possíveis foram localizadas. Como mencionado anteriormente, um gráfico da função,
em geral, é muito útil como guia nessa tarefa. Uma outra opção é incorporar uma
busca incremental no início do programa de computador. Isso consiste em começar em
uma extremidade da região de interesse e então calcular a função em pequenos incrementos através da região. Quando a função muda de sinal, assume-se que uma raiz está
dentro do incremento. Os valores de x no início e no fim do incremento podem, então,
servir como aproximações iniciais para uma das técnicas descritas neste capítulo.
Um problema potencial para um busca incremental é a escolha do comprimento do
incremento. Se o comprimento for pequeno demais, a busca pode gastar muito tempo. Por
outro lado, se o comprimento for grande demais, existe a possibilidade de que raízes
próximas possam ser perdidas (Figura 5.16). O problema é composto com a possível
existência de raízes múltiplas. Um remédio parcial para tais casos é calcular a primeira
derivada da função f (x) no início e no fim de cada intervalo. Se a derivada mudar de
sinal, isso sugere que ocorreu um mínimo ou um máximo e que o intervalo deve ser
examinado com mais atenção para se verificar a existência de uma possível raiz.
Embora tais modificações ou o uso de incrementos muito pequenos possam diminuir
o problema, deve ficar claro que métodos do tipo força bruta, como a busca incremental,
não são a prova de erros. Seria sensato suplementar tais técnicas automáticas com outras
informações que forneçam uma intuição na localização das raízes. Essas informações
podem ser encontradas fazendo-se gráficos e entendendo o problema físico do qual a
equação se originou.
FIGURA 5.16
Casos nos quais se podem
perder raízes em razão de o
comprimento do incremento do
procedimento de busca ser
grande demais. Observe que a
última raiz à direita é múltipla e
seria perdida
independentemente do
comprimento do incremento.
f (x)
x0
x1
x2
x3
x4
x5
x6
x
MÉTODOS INTERVALARES
114
PROBLEMAS
Determine as raízes reais de f (x) 0,5x2 2,5x 4,5:
Graficamente.
Usando a fórmula quadrática.
Usando três iterações do método da bissecção para determinar
a maior raiz. Use as aproximações iniciais xl = 5 e xu = 10.
Calcule o erro estimado εa e o erro verdadeiro εt depois de
cada iteração.
5.2 Determine a raiz real de f(x) = 5x 3 − 5x 2 + 6x − 2:
(a) Graficamente.
(b) Usando o método da bissecção para localizar a raiz. Use as
aproximações iniciais xl = 0 e xu = 1 e itere até que o erro estimado εa fique abaixo de um nível εs = 10%.
5.3 Determine a raiz real de f (x) = −25 + 82x − 90x 2 +
44x 3 − 8x 4 + 0,7x 5 :
(a) Graficamente.
(b) Usando o método da bissecção para determinar a raiz até
εs = 10%. Use as aproximações iniciais xl 0,5 e xu 1,0.
(c) Faça os mesmos cálculos que em (b) mas use o método da falsa
posição e εs = 0,2 %.
5.4 (a) Determine as raízes de f(x) = −12 − 21x + 18x 2 −
2,75x 3 graficamente. Além disso, determine a primeira raiz da
função pela (b) bissecção e (c) falsa posição. Para (b) e (c), use as
aproximações iniciais xl = −1 e xu = 0 e um critério de parada
de 1%.
5.5 Localize a primeira raiz não-trivial de sen x = x 3 , onde x está
em radianos. Use uma técnica gráfica e a bissecção com o intervalo
inicial de 0,5 a 1. Faça os cálculos até que εa seja menor do que
εs = 2%. Faça também uma verificação do erro substituindo sua
resposta final na equação original.
5.6 Determine a raiz real positiva de ln (x 4 ) = 0,7 (a) graficamente, (b) usando três iterações do método da bissecção, com
aproximações iniciais xl = 0,5 e xu = 2, e (c) usando três iterações
do método da falsa posição, com as mesmas aproximações iniciais
que em (b).
5.7 Determine a raiz real de f (x) = (0,8 − 0,3x)/x :
(a) Analiticamente.
(b) Graficamente.
(c) Usando três iterações do método da falsa posição e aproximações iniciais 1 e 3. Calcule o erro aproximado εa e o erro
verdadeiro εt depois de cada iteração. Há algum problema com
o resultado?
5.8 Encontre a raiz quadrada positiva de 18 usando o método da
falsa posição até εs = 0,5%. Use aproximações iniciais xl = 4 e
xu = 5.
√
5.9 Encontre a menor raiz positiva da função x 2 cos x = 5 (x
está em radianos) usando o método da falsa posição. Para localizar
a região na qual estão as raízes, inicialmente trace a função para
valores de x entre 0 e 5. Faça os cálculos até que εa fique abaixo de
εs = 1%. Verifique sua resposta final substituindo-a na função
original.
5.10 Encontre a raiz real positiva de f(x) = x 4 − 8x 3 − 35x 2 +
450x − 1001 usando o método da falsa posição. Use aproximações
iniciais xl = 4,5 e xu = 6 e faça cinco iterações. Calcule os erros
verdadeiro e aproximado baseado no fato de que a raiz é 5,60979.
Use um gráfico para explicar seus resultados e faça os cálculos até
εs = 1,0%.
5.11 Determine a raiz real de x 3,5 = 80 : (a) analiticamente e (b)
pelo método da falsa posição até εs = 2,5%. Use aproximações iniciais de 2,0 e 5,0.
5.1
(a)
(b)
(c)
5.12 Dada
f (x) = −2x 6 − 1,5x 4 + 10x + 2
Use a bissecção para determinar o máximo dessa função. Use
aproximações iniciais xl = 0 e xu = 1 e faça iterações até que o
erro relativo aproximado fique abaixo de 5%.
5.13 A velocidade v do pára-quedista em queda livre é dada por
gm
v=
1 − e−(c/m)t
c
onde g = 9,8 m/s2 . Para um pára-quedista com um coeficiente de
arrasto c 15 Kg/s calcule a massa m para que a velocidade seja
v = 35 m/s em t = 9 s. Use o método da falsa posição para determinar m até o nível de εs = 0,1%.
5.14 Uma viga está sob carga como mostrado na Figura P5.14. Use
o método da bissecção para determinar a posição dentro da viga
onde não existe nenhum torque.
100 lb/pés
3’
100 lb
3’
2’
4’
Figura P5.14
5.15 Água está escoando em um canal trapezoidal a uma vazão de
Q = 20 m3/s. A profundidade crítica y para tal canal deve satisfazer
a equação
0=1−
Q2
B
g A3c
onde g = 9,81 m/s2, Ac é a área da seção transversal (m2), e B é a
largura do canal na superfície (m). Para esse caso, a largura e a área
transversal podem ser relacionadas à profundidade y por
B =3+y
e
Ac = 3y +
y2
2
Encontre a profundidade crítica usando (a) o método gráfico, (b) a
bissecção e (c) a falsa posição. Para (b) e (c), use aproximações iniciais de xl = 0,5 e xu = 2,5, e itere até que o erro aproximado
fique abaixo de 1% ou que o número de iterações ultrapasse 10.
Discuta seus resultados.
5.16 Você está projetando um tanque esférico (Figura P5.16) para
armazenar a água para uma pequena vila em uma região em desenvolvimento. O volume de líquido que ele armazena pode ser calculado por
V = πh 2
[3R − h]
2
3
onde V é o volume [m3], h é a profundidade da água no tanque [m],
R é o raio do tanque [m].
PROBLEMAS
115
Se R = 3 m, até que profundidade o tanque deve estar cheio para
que ele armazene 30 m3? Use três iterações do método da falsa
posição para determinar sua resposta. Determine o erro relativo
aproximado depois de cada iteração.
R
V
h
Figura P5.16
5.17 O coeficiente de saturação do oxigênio dissolvido em água
fresca pode ser calculado pela equação (APHA,1992)
ln os f = −139,34411 +
+
1,575701 × 105
6,642308 × 107
−
Ta
Ta2
1,243800 × 1010
8,621949 × 1011
−
3
Ta
Ta4
onde osf é a concentração de saturação do oxigênio dissolvido em
água fresca a 1 atm (mg/L) e Ta é a temperatura absoluta (K). Lembre-se de que Ta = T + 273,15, onde T é a temperatura (◦ C). De
acordo com essa equação, a saturação diminui com o aumento da
temperatura. Para águas naturais típicas em climas temperados, a
equação pode ser usada para determinar a variação da concentração de oxigênio de 14,621 mg/L a 0o C até 6,413 mg/L a 40o C.
Dado um valor da concentração de oxigênio, essa fórmula e o
método da bissecção podem ser usados para determinar a temperatura em o C.
(a) Se as aproximações iniciais forem tomadas como 0 e 40o C,
quantas iterações da bissecção seriam necessárias para determinar a temperatura até um erro absoluto de 0,05o C?
(b) Desenvolva e teste um programa de bissecção para determinar
T como uma função de uma dada concentração de oxigênio até
um erro absoluto pré-especificado como em (a). Dadas as
aproximações iniciais 0 e 40o C, teste seu programa para um
erro absoluto = 0,05o C e os seguintes casos: osf = 8, 10 e
12 mg/L. Verifique seus resultados.
5.18 Integre o algoritmo delineado na Figura 5.10 em um subprograma de bissecção completo, amigável ao usuário. Entre outras
coisas:
(a) Coloque comentários de documentação em todo o subprograma
para identificar o que foi planejado para cada seção realizar.
(b) Identifique a entrada e a saída.
(c) Acrescente uma verificação da resposta que substitua a estimativa da raiz na função original para verificar se o resultado final
está próximo de zero.
(d) Teste o subprograma repetindo os cálculos dos Exemplos 5.3 e 5.4.
5.19 Desenvolva um subprograma para o método da bissecção
que minimize cálculos de funções, baseado no pseudocódigo da
Figura 5.11. Determine o número de cálculos de funções (n) para
cada total de iterações. Teste o programa repetindo o Exemplo 5.6.
5.20 Desenvolva um programa amigável ao usuário para o método
da falsa posição. A estrutura de seu programa deve ser parecida
com o algoritmo de bissecção esboçado na Figura 5.10. Teste seu
programa repetindo o Exemplo 5.5.
5.21 Desenvolva um subprograma para o método da falsa posição
que minimize os cálculos de funções de uma forma parecida com a
da Figura 5.11. Determine o número de cálculos de funções (n) para
cada total de iterações. Teste o programa repetindo o Exemplo 5.6.
5.22 Desenvolva um programa amigável ao usuário para o método
da falsa posição modificado, baseado na Figura 5.15. Teste seu programa determinando a raiz da função descrita no Exemplo 5.6. Faça
diversas execuções até que o erro relativo porcentual verdadeiro
fique abaixo de 0,01%. Marque em um gráfico os erros relativos
percentuais verdadeiros e aproximados em função do número de iterações em um papel semilog. Interprete os seus resultados.
CAPÍTULO
6
Métodos Abertos
Nos métodos intervalares do capítulo anterior, a raiz era localizada dentro de um intervalo
prescrito por um limitante inferior e um superior. As aplicações repetidas desses métodos
sempre resultam em estimativas mais próximas do valor verdadeiro da raiz. Tais métodos
são ditos convergentes porque se aproximam da verdade à medida que os cálculos
prosseguem (Figura 6.1a).
Em contraste, os métodos abertos descritos neste capítulo são baseados em fórmulas que exigem apenas um único valor inicial de x ou dois valores iniciais que não delimitam necessariamente a raiz. Como tal, eles algumas vezes divergem ou se afastam da
raiz verdadeira à medida que os cálculos prosseguem (Figura 6.1b). Entretanto, quando
os métodos abertos convergem (Figura 6.1c), eles em geral o fazem muito mais rapidamente do que os métodos intervalares. Iniciaremos nossa discussão das técnicas abertas
com uma versão simples, que será útil para ilustrar sua forma geral e também o conceito
de convergência.
6.1
ITERAÇÃO DE PONTO FIXO SIMPLES
Como mencionado na abertura deste capítulo, os métodos abertos usam uma fórmula para
prever a raiz. Tal fórmula pode ser deduzida para a iteração de ponto fixo simples (ou,
como também é chamada, iteração de um ponto, substituições sucessivas ou aproximações
FIGURA 6.1
Descrição gráfica da diferença
fundamental entre os métodos
(a) intervalares e (b) e (c)
abertos para a localização de
raízes. Em (a), que é o método
da bissecção, a raiz está
restrita ao interior do intervalo
definido por xl e xu. Em
contraste, para o método
aberto descrito em (b) e (c), é
usada uma fórmula para
avançar de xi a xi +1 de forma
iterativa. Assim, o método pode
ou (b) divergir ou (c) convergir
rapidamente, dependendo do
valor da aproximação inicial.
f (x)
f (x)
xi
xl
xu
(a)
xl
xi + 1
x
(b)
xu
f (x)
xl
xu
xl
xl xu
xu
xi
xi + 1
(c)
116
x
x
6.1 ITERAÇÃO DE PONTO FIXO SIMPLES
117
sucessivas) reescrevendo a equação f (x) 0 de modo que x esteja isolado no lado esquerdo da equação:
(6.1)
x = g(x)
Pode-se conseguir essa transformação ou por manipulação algébrica ou simplesmente somando x em ambos os lados da equação original. Por exemplo,
x 2 − 2x + 3 = 0
pode ser manipulada de forma simples para obtermos
x=
x2 + 3
2
enquanto sen x 0 pode ser colocada na forma da Equação (6.1) somando x a ambos os
lados para obter
x = sen x + x
A utilidade da Equação (6.1) é que ela fornece uma fórmula para prever um novo
valor de x em função de um velho valor de x. Portanto, dada uma aproximação inicial para
a raiz xi, a Equação (6.1) pode ser usada para calcular uma nova estimativa xi1 expressa
pela fórmula iterativa
(6.2)
xi+1 = g(xi )
EXEMPLO 6.1
Como com as outras fórmulas iterativas deste livro, o erro aproximado para essa equação
pode ser determinado usando-se o estimador de erro [Equação (3.5)]:
xi+1 − xi
100%
εa =
xi+1
Iteração de Ponto Fixo Simples
Enunciado do Problema. Use a iteração de ponto fixo simples para localizar a raiz de
f (x) e⫺x ⫺ x.
Solução.
como
A função pode ser separada diretamente e expressa na forma da Equação (6.2)
xi+1 = e−xi
Começando com uma aproximação inicial x0 ⫽ 0, essa equação iterativa pode ser usada
para calcular
i
0
1
2
3
4
5
6
7
8
9
10
xi
0
1,000000
0,367879
0,692201
0,500473
0,606244
0,545396
0,579612
0,560115
0,571143
0,564879
a (%)
100,0
171,8
46,9
38,3
17,4
11,2
5,90
3,48
1,93
1,11
t (%)
100,0
76,3
35,1
22,1
11,8
6,89
3,83
2,20
1,24
0,705
0,399
Assim, cada iteração traz o valor estimado para mais perto do valor verdadeiro:
0,56714329.
MÉTODOS ABERTOS
118
6.1.1 Convergência
Observe que o erro relativo porcentual verdadeiro para cada iteração do Exemplo 6.1 é
aproximadamente proporcional (por um fator de cerca de 0,5 a 0,6) ao erro da iteração anterior. Essa propriedade, chamada de convergência linear, é característica da iteração de
ponto fixo.
Além de comentarmos sobre a “taxa” de convergência, nesse ponto devemos comentar sobre a “possibilidade” de convergência. Os conceitos de convergência e divergência podem ser descritos graficamente. Lembre-se de que na Seção 5.1 traçamos o
gráfico de uma função para visualizar sua estrutura e seu comportamento (Exemplo 5.1).
Tal abordagem é usada na Figura 6.2a para a função f (x) ⫽ e⫺x ⫺ x. Uma abordagem gráfica alternativa é separar a equação em duas componentes, como em
f 1 (x) = f 2 (x)
Então, as duas equações
e
y1 = f 1 (x)
(6.3)
y2 = f 2 (x)
(6.4)
podem ser traçadas separadamente (Figura 6.2b). Os valores de x correspondentes às intersecções dessas funções representam as raízes de f (x) ⫽ 0.
EXEMPLO 6.2
O Método Gráfico das Duas Curvas
Enunciado do Problema. Separe a equação e⫺x ⫺ x = 0 em duas partes e determine
suas raízes graficamente.
Solução. Reformule a equação como y1 ⫽ x e y2 ⫽ e⫺x. Os seguintes valores podem ser
calculados:
FIGURA 6.2
Dois métodos gráficos
alternativos para determinar as
raízes de f (x) = e−x − x. (a)
Raiz em um ponto onde o
gráfico cruza o eixo x; (b) raiz
na intersecção das funções
componentes.
f (x)
f (x) = e– x – x
Raiz
x
(a)
f (x)
f 1(x) = x
f 2(x) = e– x
Raiz
x
(b)
6.1 ITERAÇÃO DE PONTO FIXO SIMPLES
x
y1
0,0
0,2
0,4
0,6
0,8
1,0
0,0
0,2
0,4
0,6
0,8
1,0
119
y2
1,000
0,819
0,670
0,549
0,449
0,368
Esses pontos estão marcados na Figura 6.2b. A intersecção das duas curvas indica uma
raiz em aproximadamente x ⫽ 0,57, que corresponde ao ponto onde a curva única na
Figura 6.2a cruza o eixo x.
O método das duas curvas pode agora ser usado para ilustrar a convergência e a divergência da iteração de ponto fixo. Primeiro, a Equação (6.1) pode ser reescrita como um
par de equações y1 ⫽ x e y2 = g(x). Essas duas equações podem então ser traçadas separadamente. Como era o caso com as Equações (6.3) e (6.4), as raízes de f (x) ⫽ 0 correspondem aos valores da abscissa na intersecção das duas curvas. A função y1 ⫽ x e quatro
formas diferentes para y2 ⫽g(x) são mostradas na Figura 6.3.
No primeiro caso (Figura 6.3a), a aproximação inicial x0 é usada para determinar o
ponto correspondente na curva y2 [x0, g(x0)]. O ponto (x1, x1) é localizado movimentandose horizontalmente para a esquerda até a curva y1. Esses movimentos são equivalentes à
primeira iteração no método do ponto fixo:
x1 = g(x0 )
Portanto, em ambas as equações e no gráfico, um valor inicial x0 é usado para se obter
uma estimativa de x1. A próxima iteração consiste em se movimentar para [x1, g(x1)] e
então para (x2, x2). Essa iteração é equivalente à equação
x2 = g(x1 )
FIGURA 6.3
Descrição gráfica da
convergência (a) e (b) e
divergência (c) e (d) da
iteração de ponto fixo simples.
Os gráficos (a) e (c) são
chamados padrões monótonos,
enquanto (b) e (d) são
chamados padrões oscilantes
ou espirais. Observe que a
convergência ocorre quando
兩g’(x)兩 ⬍ 1.
y
y
y1 = x
y1 = x
y2 = g(x)
y2 = g(x)
x2 x1
x0
x0
x
x
(b)
(a)
y
y
y2 = g(x)
y2 = g(x)
y1 = x
y1 = x
x0
x
(c)
x0
(d)
x
MÉTODOS ABERTOS
120
Quadro 6.1
Convergência da Iteração de Ponto Fixo
Do estudo da Figura 6.3, deveria estar claro que a iteração de ponto
fixo converge se, na região de interesse, |g ′ (x)| < 1. Em outras
palavras, a convergência ocorre se o módulo da inclinação de g(x)
for menor do que a inclinação da reta f(x) ⫽ x. Essa observação
pode ser demonstrada teoricamente. Lembre-se de que a equação
iterativa é
g(xr ) − g(xi ) = (xr − xi )g ′ (ξ )
onde ξ está em algum lugar entre xi e xr. Esse resultado então pode
ser substituído na Equação (Q6.1.1) para fornecer
xi +1 = g(xi )
Suponha que a solução verdadeira seja
xr − xi +1 = (xr − xi )g ′ (ξ )
(Q6.1.3)
Se o erro verdadeiro para a i-ésima iteração for definido por
xr = g(xr )
E t ,i = xr − xi
Subtraindo essas equações obtém-se:
(Q6.1.1)
xr − xi +1 = g(xr ) − g(xi )
O teorema do valor médio para derivadas (lembre-se da Seção
4.1.1) afirma que, se a função g(x) e sua primeira derivada forem
contínuas sobre um intervalo a ≤ x ≤ b, então existe pelo menos
um valor de x = ξ dentro do intervalo tal que
g ′ (ξ ) =
um ponto entre a e b que tem uma inclinação, denotada por g ′ (ξ ),
que é paralela à reta ligando g(a) e g(b) (lembre-se da Figura 4.3).
Agora, se fizermos a = xi e b = xr, o lado direito da Equação
(Q6.1.1) pode ser expresso como
g(b) − g(a)
b−a
(Q6.1.2)
O lado direito dessa equação é a inclinação da reta ligando g(a) e
g(b). Logo, o teorema do valor médio afirma que existe pelo menos
então a Equação (B6.1.3) torna-se
E t ,i +1 = g ′ (ξ )E t ,i
Conseqüentemente, se |g ′ (x)| < 1, os erros diminuem a cada
iteração. Para |g ′ (x)| > 1, o erro cresce. Observe também que, se a
derivada for positiva, os erros serão positivos e, portanto, a solução
iterativa será monótona (Figura 6.3a e c). Se a derivada for negativa, os erros oscilarão (Figura 6.3b e d).
Um desdobramento da análise é que ela também demonstra
que, quando o método converge, o erro é aproximadamente proporcional e inferior ao erro no passo anterior. Por essa razão, a iteração de ponto fixo simples é dita linearmente convergente.
A solução na Figura 6.3a é convergente porque as estimativas de x se aproximam da raiz
a cada iteração. O mesmo é verdade para a Figura 6.3b. Entretanto, esse não é o caso para
as Figuras 6.3c e d, nas quais as iterações divergem da raiz. Observe que a convergência
parece ocorrer apenas quando o valor absoluto da inclinação de y2 ⫽ g(x) é menor do que
a inclinação de y1 ⫽ x, isto é, quando |g ′ (x)| < 1. O Quadro 6.1 fornece uma dedução
teórica desse resultado.
6.1.2 Algoritmo para a Iteração de Ponto Fixo
O algoritmo computacional para a iteração de ponto fixo é extremamente simples, e consiste em um laço para calcular iterativamente novas estimativas até que o critério de
parada seja satisfeito. A Figura 6.4 apresenta um pseudocódigo para o algoritmo. Outros
FIGURA 6.4
Pseudocódigo para a iteração
de ponto fixo. Observe que
outros métodos abertos podem
ser organizados nessa forma
geral.
FUNCTION Fixpt(x0, es, imax, iter, ea)
xr ⫽ x0
iter ⫽ 0
DO
xrold ⫽ xr
xr ⫽ g(xrold)
iter ⫽ iter ⫹ 1
IF xr ⫽ O THEN
ea ⫽
xr ⫺ xrold
冨 ᎏᎏ
冨 ⭈ 100
xr
END IF
IF ea ⬍ es OR iter ⱖ imax EXIT
END DO
Fixpt ⫽ xr
END Fixpt
6.2 O MÉTODO DE NEWTON-RAPHSON
121
f (x)
Inclinação = f ' (x i)
f (x i)
f (x i) – 0
FIGURA 6.5
Descrição gráfica do método
de Newton-Raphson. A
tangente à função em xi [isto é,
f’(xi)] é prolongada até o eixo
x para fornecer uma estimativa
da raiz em xi +1.
0
xi+1
xi
x
xi – xi+1
métodos podem ser programados de forma parecida, sendo a principal mudança a troca da
fórmula iterativa que é usada para calcular a nova estimativa da raiz.
6.2
O MÉTODO DE NEWTON-RAPHSON
Talvez a fórmula mais amplamente usada para localizar uma raiz seja a equação de Newton-Raphson (Figura 6.5). Se a aproximação inicial da raiz for xi, pode-se estender uma
reta tangente a partir do ponto [xi, f(xi)]. O ponto onde essa tangente cruza o eixo x usualmente representa uma estimativa melhorada da raiz.
O método de Newton-Raphson pode ser deduzido com base em sua interpretação
geométrica (um método alternativo baseado na série de Taylor é descrito no Quadro 6.2).
Como na Figura 6.5, a primeira derivada em x é equivalente à inclinação:
f ′ (xi ) =
f(xi ) − 0
xi − xi+1
(6.5)
que pode ser reorganizada para fornecer
xi+1 = xi −
f(xi )
f ′ (xi )
(6.6)
que é chamada de fórmula de Newton-Raphson.
EXEMPLO 6.3
Método de Newton-Raphson
Enunciado do Problema. Use o método de Newton-Raphson para fazer uma estimativa
da raiz de f (x) ⫽ e⫺x ⫺ x, utilizando uma aproximação inicial x0 ⫽ 0.
Solução.
A primeira derivada da função pode ser calculada como
f ′(x) = −e−x − 1
que pode ser substituída junto com a função original na Equação (6.6) para dar
xi+1 = xi −
e−xi − xi
−e−xi − 1
MÉTODOS ABERTOS
122
Começando com uma aproximação inicial de x0 = 0, essa equação iterativa pode ser aplicada para calcular
i
xi
0
1
2
3
4
0
0,500000000
0,566311003
0,567143165
0,567143290
t (%)
100
11,8
0,147
0,0000220
< 10−8
Assim, a aproximação converge rapidamente para a raiz verdadeira. Observe que o erro
relativo porcentual verdadeiro em cada iteração diminui muito mais rapidamente do que
no método da iteração de ponto fixo simples (compare com o Exemplo 6.1).
6.2.1 Critério de Parada e Estimativas de Erro
De forma igual aos outros métodos de localização de raízes, a Equação (3.5) pode ser
usada como critério de parada. Além disso, entretanto, a dedução pela série de Taylor do
método (Quadro 6.2) fornece uma visão teórica da taxa de convergência, expressa por
Ei+1 = O(E i2 ). Assim, o erro deveria ser aproximadamente proporcional ao quadrado do
erro anterior. Em outras palavras, o número de algarismos significativos de acurácia
aproximadamente dobra a cada iteração. Esse comportamento será examinado no próximo exemplo.
Quadro 6.2
Dedução e Análise de Erro do Método de Newton-Raphson
Além da dedução geométrica [Equações (6.5) e (6.6)], o método de
Newton-Raphson pode ser deduzido a partir da expansão em série
de Taylor. Essa dedução alternativa é útil, pois também dá informação sobre a taxa de convergência do método.
Lembre-se do Capítulo 4 que a expansão em série de Taylor
pode ser representada por
f(xi +1 ) = f(xi ) + f ′ (xi )(xi +1 − xi )
f ′′ (ξ )
(xi +1 − xi )2
+
2!
(Q6.2.1)
onde ξ está em algum ponto do intervalo de xi a xi⫹1. Uma versão
aproximada é obtida truncando-se a série depois do termo da
primeira derivada:
Na intersecção com o eixo x, f(xi⫹1) deveria ser igual a zero, ou
0 = f(xi ) + f (xi )(xi +1 − xi )
(Q6.2.2)
que pode ser reescrita como
xi +1 = xi −
0 = f(xi ) + f ′ (xi )(xr − xi ) +
f ′′ (ξ )
(xr − xi )2
2!
(Q6.2.3)
A Equação (Q6.2.2) pode ser subtraída da Equação (Q6.2.3)
fornecendo
0 = f ′ (xi )(xr − xi +1 ) +
f ′′ (ξ )
(xr − xi )2
2!
(Q6.2.4)
Agora, perceba que o erro é igual à discrepância entre xi⫹1 e o valor
verdadeiro xr, como em
E t ,i +1 = xr − xi +1
e a Equação (Q6.2.4) pode ser expressa por
f(xi +1 ) ∼
= f(xi ) + f ′ (xi )(xi +1 − xi )
′
o valor verdadeiro da raiz. Substituindo esse valor junto com f(xr) ⫽ 0
na Equação (Q6.2.1) obtém-se
f(xi )
f ′ (xi )
que é idêntica à Equação (6.6). Portanto, deduzimos a fórmula de
Newton-Raphson usando a série de Taylor.
Além da dedução, a série de Taylor também pode ser usada
para fazer uma estimativa do erro da fórmula, o que se consegue
percebendo que, se a série de Taylor completa fosse usada, seria
obtido um resultado exato. Nessa situação, xi⫹1 ⫽ xr, na qual x é
0 = f ′ (xi )E t ,i +1 +
f ′′ (ξ ) 2
E t ,i
2!
(Q6.2.5)
Se supusermos a convergência, ambos xi e ξ deveriam eventualmente ser aproximados pela raiz xr e a Equação (Q6.2.5) pode ser
reorganizada para fornecer
E t ,i +1 =
− f ′′ (xr ) 2
E
2 f ′ (xr ) t ,i
(Q6.2.6)
De acordo com a Equação (Q6.2.6), o erro é aproximadamente
proporcional ao quadrado do erro anterior. Isso significa que o
número de casas decimais corretas aproximadamente dobra a cada
iteração. Tal comportamento é chamado de convergência quadrática. O Exemplo 6.4 evidencia essa propriedade.
6.2 O MÉTODO DE NEWTON-RAPHSON
EXEMPLO 6.4
123
Análise de Erro do Método de Newton-Raphson
Enunciado do Problema. Como deduzido no Quadro 6.2, o método de Newton-Raphson é quadraticamente convergente. Ou seja, o erro é aproximadamente proporcional ao
quadrado do erro anterior, como em
− f ′′ (xr ) 2
E
E t,i+1 ∼
=
2 f ′ (xr ) t,i
(E6.4.1)
Examine essa fórmula e veja se ela se aplica aos resultados do Exemplo 6.3.
Solução.
A primeira derivada de f (x) ⫽ e⫺x ⫺ x é
f ′ (x) = −e−x − 1
o que pode ser calculado em xr ⫽ 0,56714329 como f ′(0,56714329) ⫽ ⫺1,56714329. A
segunda derivada é
f ′′ (x) = e−x
o que pode ser calculado como f ⬙(0,56714329) ⫽ 0,56714329. Esses resultados podem
ser substituídos na equação (E6.4.1) para fornecer
E t,i+1 ∼
=−
0,56714329
2
E 2 = 0,18095E t,i
2(−1,56714329) t,i
Do Exemplo 6.3, o erro inicial era Et, 0 ⫽ 0,56714329, o que pode ser substituído na
equação do erro para prever
E t,1 ∼
= 0,18095(0,56714329)2 = 0,0582
o que está próximo do erro verdadeiro de 0,6714329. Para a próxima iteração,
E t,2 ∼
= 0,18095(0,06714329)2 = 0,0008158
o que também se compara favoravelmente com o erro verdadeiro de 0,0008323. Para a
terceira iteração,
E t,3 ∼
= 0,18095(0,0008323)2 = 0,000000125
que é o erro obtido no Exemplo 6.3. A estimativa de erro melhora dessa forma porque,
conforme nos aproximamos da raiz, x e ξ são mais bem aproximados por xr [lembre-se de
nossa hipótese ao passarmos da Equação (Q6.2.5) para a Equação (Q6.2.6) no Quadro
6.2]. Finalmente,
E t,4 ∼
= 0,18095(0,000000125)2 = 2,83 × 10−15
Logo, esse exemplo ilustra que o erro no método de Newton-Raphson para esse caso é, de
fato, aproximadamente proporcional (por um fator de 0,18095) ao quadrado do erro da
iteração anterior.
6.2.2 Armadilhas do Método de Newton-Raphson
Embora o método de Newton-Raphson seja em geral muito eficiente, há situações nas
quais ele tem um desempenho insatisfatório. Um caso especial — raízes múltiplas — será
examinado adiante neste capítulo. Entretanto, mesmo quando tratando com raízes simples, podem aparecer dificuldades, como no próximo exemplo.
EXEMPLO 6.5
Exemplo de uma Função que Converge Lentamente com Newton-Raphson
Enunciado do Problema. Determine a raiz positiva de f (x) ⫽ x10 ⫺ 1 usando o método
de Newton-Raphson e uma aproximação inicial x ⫽ 0,5.
124
MÉTODOS ABERTOS
Solução.
A fórmula de Newton-Raphson para esse caso é
xi+1 = xi −
xi10 − 1
10xi9
a qual pode ser usada para calcular
Iteração
0
1
2
3
4
5
·
·
·
∞
x
0,5
51,65
46,485
41,8365
37,65285
33,887565
1,0000000
Logo, depois da primeira previsão fraca, a técnica está convergindo para a raiz verdadeira
de 1, mas a uma taxa muito lenta.
Além da convergência lenta em razão da natureza da função, outras dificuldades
podem aparecer, como ilustrado na Figura 6.6. Por exemplo, a Figura 6.6a descreve o caso
no qual ocorre um ponto de inflexão [isto é, f ′′ (x) = 0] na vizinhança de uma raiz. Observe que as iterações começando em x0 se afastam progressivamente da raiz. A Figura
6.6b ilustra a tendência da técnica de Newton-Raphson em oscilar em torno de uma
posição de máximo ou de mínimo. Tais oscilações podem persistir, ou, como na Figura
6.6b, é atingida uma inclinação próxima a zero, em que a solução é mandada para longe da
área de interesse. A Figura 6.6c mostra como uma aproximação inicial que esteja próxima
de uma raiz pode pular para uma posição longe por diversas raízes. Essa tendência de se
afastar da área de interesse se dá porque foram encontradas inclinações próximas de zero.
Obviamente, uma inclinação nula [ f ′ (x) = 0] é, na verdade, um desastre porque provoca
divisão por zero na fórmula de Newton-Raphson [Equação (6.6)]. Graficamente (ver Figura 6.6d), isso significa que a solução dispara horizontalmente e nunca atinge o eixo x.
Logo, não existe nenhum critério de convergência geral para o Newton-Raphson.
Sua convergência depende da natureza da função e da precisão da aproximação inicial. O
único remédio é ter uma aproximação inicial que esteja “suficientemente” próxima da
raiz. E para algumas funções, nenhuma aproximação funcionará! Boas aproximações dependem em geral do conhecimento das condições do problema físico ou dos artifícios tais
como os gráficos que fornecem informação sobre o comportamento da solução. A falta de
um critério de convergência geral também sugere que um bom software de computador
deveria ser planejado para reconhecer convergência lenta ou divergência. A próxima
seção trata de algumas dessas questões.
6.2.3 Algoritmo para o Método de Newton-Raphson
Um algoritmo para o método de Newton-Raphson é prontamente obtido substituindo a
Equação (6.6) na fórmula de predição [Equação (6.2)] na Figura 6.4. Observe, contudo,
que o programa também deve ser modificado para calcular a primeira derivada, o que se
pode conseguir simplesmente pela inclusão de uma função definida pelo usuário.
Além disso, com base na discussão anterior dos problemas em potencial do método
de Newton-Raphson, o programa seria melhorado pela incorporação de diversas características adicionais:
1.
2.
Uma rotina de gráficos deveria ser incluída no programa.
No final dos cálculos, a estimativa final da raiz deveria sempre ser substituída na
função original para calcular se o resultado está próximo a zero. Essa verificação nos
resguarda parcialmente daqueles casos nos quais a convergência oscilante ou lenta
pode levar a valores pequenos de εa enquanto a solução ainda está longe da raiz.
6.3 O MÉTODO DA SECANTE
125
f (x)
x1
x2
x0
x
(a)
f (x)
x0 x2 x4
x3
x1
x
(b)
f (x)
x2
x1
x0
x
(c)
f (x)
x0
x1
x
(d)
FIGURA 6.6
Quatro casos nos quais o método de Newton-Raphson exibe convergência insatisfatória.
3.
4.
6.3
O programa deveria sempre incluir um limite superior no número de iterações para
se prevenir de soluções oscilantes, lentamente convergentes ou divergentes que
poderiam persistir interminavelmente.
O programa deveria alertar o usuário e levar em conta a possibilidade de que f ′ (x)
possa ser igual a zero a qualquer instante durante os cálculos.
O MÉTODO DA SECANTE
Um problema em potencial na implementação do método de Newton-Raphson é o cálculo
da derivada. Embora isso não seja inconveniente para polinômios e muitas outras
funções, há certas funções cujas derivadas podem ser extremamente difíceis ou inconvenientes para calcular. Nesses casos, a derivada pode ser aproximada por uma diferença dividida regressiva, como em (Figura 6.7)
f(xi−1 ) − f(xi )
f ′ (xi ) ∼
=
xi−1 − xi
MÉTODOS ABERTOS
126
f (x)
f (x i )
f (x i – 1)
xi – 1
xi
x
FIGURA 6.7
Descrição gráfica do método da secante. Essa técnica é parecida com a técnica de NewtonRaphson (Figura 6.5) no sentido que uma estimativa da raiz é prevista extrapolando-se uma
tangente da função até o eixo x. Entretanto, o método da secante usa uma diferença em vez
de uma derivada para fazer uma estimativa da inclinação.
Essa aproximação pode ser substituída na Equação (6.6) para fornecer a seguinte equação
iterativa:
xi+1 = xi −
f(xi )(xi−1 − xi )
f(xi−1 ) − f(xi )
(6.7)
A Equação (6.7) é a fórmula do método da secante. Observe que a abordagem exige duas
estimativas iniciais de x. Mas, como não é exigido que f (x) mude de sinal entre as estimativas, ele não é classificado como um método intervalar.
EXEMPLO 6.6
O Método da Secante
Enunciado do Problema. Use o método da secante para fazer uma estimativa da raiz
de f (x) ⫽ e⫺x ⫺x. Comece com as estimativas iniciais de x⫺1 ⫽ 0 e x0 ⫽ 1,0.
Solução.
Lembre-se de que a raiz verdadeira é 0,56714329....
Primeira iteração:
x−1 = 0
f(x−1 ) = 1,00000
x0 = 1
f(x0 ) = −0,63212
−0,63212(0 − 1)
x1 = 1 −
= 0,61270
1 − (−0,63212)
εt = 8,0%
Segunda iteração:
x0 = 1
x1 = 0,61270
f(x0 ) = −0,63212
f(x1 ) = −0,07081
(Observe que ambas as estimativas estão agora do mesmo lado da raiz.)
x2 = 0,61270 −
−0,07081(1 − 0,61270)
= 0,56384
−0,63212 − (−0,07081)
εt = 0,58%
6.3 O MÉTODO DA SECANTE
127
Terceira iteração:
x1 = 0,61270
x2 = 0,56384
f(x1 ) = −0,07081
f(x2 ) = 0,00518
x3 = 0,56384 −
0,00518(0,61270 − 0,56384)
= 0,56717
−0,07081 − (−0,00518)
εt = 0,0048%
6.3.1 A Diferença entre os Métodos da Secante e da Falsa Posição
Observe a semelhança entre o método da secante e o método da falsa posição. Por exemplo,
as Equações (6.7) e (5.7) são idênticas em uma comparação termo a termo. Ambos usam duas
estimativas iniciais para calcular uma aproximação da inclinação da função que é utilizada
para projetar para o eixo x para uma nova estimativa da raiz. Entretanto, uma diferença crítica
entre os métodos é como um dos valores iniciais é substituído pela nova estimativa. Lembrese de que no método da falsa posição a última estimativa da raiz substitui qualquer um dos
valores iniciais que forneça o valor da função com o mesmo sinal que f (xr). Conseqüentemente, as duas estimativas sempre delimitam a raiz. Portanto, para todos os propósitos práticos, o método sempre converge porque a raiz é mantida dentro do intervalo. Em contraste, o
método da secante substitui os valores em seqüência estrita, com o novo valor xi⫹1 substituindo xi e xi substituindo xi⫺1. Para certos casos, isso pode levar à divergência.
EXEMPLO 6.7
Comparação da Convergência das Técnicas da Secante e da Falsa Posição
Enunciado do Problema. Use os métodos da falsa posição e da secante para fazer uma
estimativa da raiz de f (x) ⫽ ln x. Comece os cálculos com os valores xl ⫽ xi⫺1 ⫽ 0,5 e
xu ⫽ xi ⫽ 5,0.
FIGURA 6.8
Comparação dos métodos da falsa posição e da secante. As primeiras iterações (a) e (b)
para ambas as técnicas são iguais. Entretanto, na segunda iteração (c) e (d), os pontos
usados são diferentes. Como conseqüência, o método da secante pode divergir, como
indicado em (d).
Falsa posição
f (x)
Secante
f (x u )
f (x)
f (x i )
x
xr
x
xr
f (x i – 1)
f (x l )
(a)
(b)
f (x)
f (x)
f (x i – 1)
f (x i )
f (x u )
xr
x
xr
x
f (x l )
(c)
(d)
MÉTODOS ABERTOS
Solução. No método da falsa posição, o uso da Equação (5.7) e o critério de delimitação para substituir as estimativas resultam nas seguintes iterações:
Iteração
xl
xu
1
2
3
0,5
0,5
0,5
5,0
1,8546
1,2163
xr
1,8546
1,2163
1,0585
Como pode ser visto (Figuras 6.8a e c), as estimativas estão convergindo para a raiz verdadeira, que é igual a 1.
Para o método da secante, usar a Equação (6.7) e o critério seqüencial para substituir
as estimativas resulta em
Iteração
xiⴚ1
xi
1
2
0,5
5,0
5,0
1,8546
xiⴙ1
1,8546
−0,10438
Como na Figura 6.8d, a abordagem é divergente.
Embora o método da secante possa ser divergente, quando ele converge, usualmente
o faz a uma taxa mais rápida do que o método da falsa posição. Por exemplo, a Figura 6.9
ilustra a superioridade do método da secante com relação a isso. A inferioridade do
FIGURA 6.9
Comparação dos erros relativos percentuais verdadeiros εt para os métodos para determinar
raízes de f (x) = e−x − x.
10
1
10– 1
10– 2
ão
cç
se
is
Secante
10– 4
ão
posiç
Falsa
10– 3
B
Newton-Raphson
Erro relativo percentual verdadeiro
128
10– 5
10– 6
20
Iterações
6.3 O MÉTODO DA SECANTE
129
método da falsa posição resulta de uma extremidade permanecer fixa para continuar a delimitar a raiz. Essa propriedade, que é vantajosa do ponto de vista de impedir a divergência,
é uma desvantagem com relação à taxa de convergência; torna a estimativa por diferença
finita uma aproximação menos acurada da derivada.
6.3.2 Algoritmo para o Método da Secante
Como com os outros métodos abertos, um algoritmo para o método da secante é obtido
modificando-se a Figura 6.4 de modo que as duas aproximações iniciais sejam entradas e
usando-se a Equação (6.7) para calcular a raiz. Além disso, as opções sugeridas na Seção
6.2.3 para o método de Newton-Raphson também podem ser aplicadas com bastante vantagem ao programa da secante.
6.3.3 Método da Secante Modificado
Em vez de usar dois valores arbitrários para fazer uma estimativa da derivada, uma abordagem alternativa envolve uma pequena perturbação da variável independente para fazer
uma estimativa de f ′(x),
f(xi + δxi ) − f(xi )
f ′(xi ) ∼
=
δxi
onde δ é uma pequena fração de perturbação. Essa aproximação pode ser substituída na
Equação (6.6) para fornecer a seguinte equação iterativa:
xi+1 = xi −
EXEMPLO 6.8
δxi f(xi )
f(xi + δxi ) − f(xi )
(6.8)
Método da Secante Modificado
Enunciado do Problema. Use o método da secante modificado para fazer uma estimativa da raiz de f (x) ⫽ e⫺x ⫺ x. Use um valor de 0,01 para δ e comece com x0 ⫽1,0.
Lembre-se de que a raiz verdadeira é 0,56714329. . . .
Solução.
Primeira iteração:
x0 = 1
f(x0 ) = −0,63212
x0 + δx0 = 1,01
f(x0 + δx0 ) = −0,64578
0,01(−0,63212)
= 0,537263
x1 = 1 −
−0,64578 − (−0,63212)
|εt | = 5,3%
Segunda iteração:
x0 = 0,537263
f(x0 ) = 0,047083
x0 + δx0 = 0,542635
f(x0 + δx0 ) = 0,038579
0,005373(0,047083)
= 0,56701
x1 = 0,537263 −
0,038579 − 0,047083
|εt | = 0,0236%
Terceira iteração:
x0 = 0,56701
f(x0 ) = 0,000209
x0 + δx0 = 0,572680
f(x0 + δx0 ) = −0,00867
0,00567(0,000209)
= 0,567143
x1 = 0,56701 −
−0,00867 − 0,000209
|εt | = 2,365 × 10−5 %
A escolha de um valor adequado para δ não é automática. Se δ for muito pequeno, o
método pode ser sobrecarregado de erros de arredondamento causados pelo cancelamento
MÉTODOS ABERTOS
130
da subtração no denominador da Equação (6.8). Se for grande demais, a técnica pode
tornar-se ineficiente e mesmo divergente. Entretanto, se escolhido corretamente, ele
fornece uma boa alternativa para os casos nos quais o cálculo da derivada é difícil e encontrar duas aproximações iniciais é inconveniente.
6.4
RAÍZES MÚLTIPLAS
Uma raiz múltipla corresponde a um ponto onde a função é tangente ao eixo x. Por
exemplo, uma raiz dupla aparece em
f(x) = (x − 3)(x − 1)(x − 1)
(6.9)
ou, multiplicando os termos, f (x) ⫽ x3 ⫺ 5x2 ⫹ 7x ⫺ 3. A equação tem uma raiz dupla
porque um valor de x torna dois termos na Equação (6.9) iguais a zero. Graficamente, isso
corresponde à curva tocar o eixo x tangencialmente na raiz dupla. Examine a Figura 6.10a
em x ⫽ 1. Observe que, na raiz, a função toca o eixo, mas não o cruza.
Uma raiz tripla corresponde ao caso no qual um valor de x anula três termos em uma
equação, como em
f(x) = (x − 3)(x − 1)(x − 1)(x − 1)
f (x)
4
Raiz
dupla
0
1
3
x
–4
ou, multiplicando os termos, f (x) ⫽ x4 ⫺ 6x3 ⫹12x2 ⫺ 10x ⫹ 3. Observe que a descrição
gráfica (Figura 6.10b) indica novamente que a função é tangente ao eixo na raiz, mas
que, nesse caso, o eixo é cruzado. Em geral, raízes com multiplicidade ímpar cruzam o
eixo, enquanto as pares não. Por exemplo, a raiz quádrupla na Figura 6.10c não cruza
o eixo.
As raízes múltiplas causam algumas dificuldades para muitos dos métodos numéricos descritos na Parte Dois:
1.
(a)
f (x)
4
Raiz
tripla
2.
0
1
3
x
–4
(b)
f (x)
4
Raiz
quádrupla
3.
0
1
3
x
–4
(c)
FIGURA 6.10
Exemplos de raízes múltiplas
que são tangentes ao eixo x.
Observe que a função não
cruza o eixo em cada lado das
raízes de multiplicidade par (a)
e (c), enquanto cruza o eixo
nos casos ímpares (b).
O fato de a função não mudar de sinal em raízes de multiplicidade par impede o uso
dos métodos intervalares confiáveis, que foram discutidos no Capítulo 5. Portanto,
dos métodos descritos neste livro, você está limitado aos métodos abertos, que
podem divergir.
Um outro problema possível está relacionado ao fato de que não só f (x) mas também
f ′ (x) vai a zero na raiz. Isso introduz problemas tanto no método de Newton-Raphson quanto no da secante, já que ambos contêm a derivada (ou sua estimativa) no denominador de suas respectivas fórmulas, o que pode resultar na divisão por zero
quando a solução converge para muito próximo da raiz. Uma forma simples de contornar esse problema é baseada no fato que pode ser demonstrado teoricamente (Ralston e Rabinowitz, 1978) que f (x) sempre atingirá zero antes de f ′ (x). Portanto, se
uma verificação do zero for incluída no programa de computador, os cálculos podem
ser parados antes de f ′ (x) atingir zero.
É possível demonstrar que os métodos de Newton-Raphson e da secante são linearmente — em vez de quadraticamente — convergentes para raízes múltiplas (Ralston
e Rabinowitz, 1978). Foram propostas modificações para diminuir esse problema.
Ralston e Rabinowitz (1978) indicaram que uma pequena mudança na formulação
restaura sua convergência quadrática, como em
xi+1 = xi − m
f(xi )
f ′ (xi )
(6.9a)
onde m é a multiplicidade da raiz (isto é, m ⫽ 2 para uma raiz dupla, m ⫽ 3 para uma
raiz tripla etc.). É claro que isso pode ser uma alternativa insatisfatória, porque
depende do conhecimento prévio da multiplicidade da raiz.
Uma outra alternativa, também sugerida por Ralston e Rabinowitz (1978), é definir
uma nova função u(x), isto é, o quociente da função por sua derivada, como em
u(x) =
f(x)
f ′ (x)
(6.10)
6.4 RAÍZES MÚLTIPLAS
131
É possível mostrar que essa função tem raízes em todas as mesmas posições que a função
original. Portanto, a Equação (6.10) pode ser substituída na Equação (6.6) para deduzir
uma forma alternativa para o método de Newton-Raphson:
xi+1 = xi −
u(xi )
u ′ (xi )
(6.11)
A equação (6.10) pode ser derivada para fornecer
f ′ (x) f ′ (x) − f(x) f ′′ (x)
[ f ′ (x)]2
u ′ (x) =
(6.12)
As Equações (6.10) e (6.12) podem ser substituídas na Equação (6.11) e o resultado pode
ser simplificado para fornecer
xi+1 = xi −
EXEMPLO 6.9
f(xi ) f ′ (xi )
[ f ′ (xi )]2 − f(xi ) f ′′ (xi )
(6.13)
Método de Newton-Raphson Modificado para Raízes Múltiplas
Enunciado do Problema. Use os métodos padrão e modificado de Newton-Raphson
para calcular a raiz múltipla da Equação (6.9), com aproximação inicial x0 ⫽ 0.
Solução. A primeira derivada da Equação (6.9) é f ′ (x) = 3x 2 − 10x + 7, e, portanto,
o método padrão de Newton-Raphson para esse problema é [Equação (6.6)]
xi+1 = xi −
xi3 − 5xi2 + 7xi − 3
3xi2 − 10xi + 7
que pode ser resolvido iterativamente por
i
xi
0
1
2
3
4
5
6
0
0,4285714
0,6857143
0,8328654
0,9133290
0,9557833
0,9776551
t (%)
100
57
31
17
8,7
4,4
2,2
Como previsto, o método converge linearmente para o valor verdadeiro de 1,0.
Para o método modificado, a segunda derivada é f ′′ (x) = 6x − 10 e a relação iterativa é [Equação (6.13)]
3
xi − 5xi2 + 7xi − 3 3xi2 − 10xi + 7
xi+1 = xi −
2
3xi2 − 10xi + 7 − xi3 − 5xi2 + 7xi − 3 (6xi − 10)
que pode ser resolvida por
i
xi
0
1
2
3
0
1,105263
1,003082
1,000002
t (%)
100
11
0,31
0,00024
Logo, a fórmula modificada é quadraticamente convergente. Pode-se também usar
ambos os métodos para procurar a raiz simples em x ⫽ 3. Usando uma aproximação inicial de x0 ⫽ 4, obtêm-se os seguintes resultados:
MÉTODOS ABERTOS
132
i
Padrão
t (%)
Modificado
0
1
2
3
4
5
4
3,4
3,1
3,008696
3,000075
3,000000
33
13
3,3
0,29
0,0025
2 × 10−7
4
2,636364
2,820225
2,961728
2,998479
2,999998
t (%)
33
12
6,0
1,3
0,051
7,7 × 10−5
Portanto, ambos os métodos convergem rapidamente, com o método padrão sendo um
pouco mais eficiente.
Esse exemplo ilustra os prós e contras envolvidos na escolha do método modificado
de Newton-Raphson. Embora ele seja preferível para raízes múltiplas, é um pouco menos
eficiente e exige mais esforço computacional do que o método padrão para raízes simples.
Deve ser observado que uma versão modificada do método da secante adequado
para raízes múltiplas também pode ser deduzida substituindo-se a Equação (6.10) na
Equação (6.7). A fórmula resultante é (Ralston e Rabinowitz, 1978)
u(xi )(xi−1 − xi )
xi+1 = xi −
u(xi−1 ) − u(xi )
6.5
SISTEMAS DE EQUAÇÕES NÃO-LINEARES
Até este ponto, concentramo-nos na determinação das raízes de uma única equação. Um
problema relacionado é a localização das raízes de um conjunto de equações simultâneas,
f 1 (x1 , x2 , . . . , xn ) = 0
f 2 (x1 , x2 , . . . , xn ) = 0
.
.
.
.
.
.
f n (x1 , x2 , . . . , xn ) = 0
(6.14)
f(x) = a1 x1 + a2 x2 + · · · + an xn − b = 0
(6.15)
A solução desse sistema consiste em um conjunto de valores de x que resultam
simultaneamente em igualar todas as equações a zero.
Na Parte Três, serão apresentados métodos para o caso em que todas as equações
simultâneas são lineares — isto é, elas podem ser expressas na forma geral
na qual o b’s e os a’s são constantes. Equações algébricas e transcendentais que não se
ajustam a essa forma são chamadas equações não-lineares. Por exemplo,
e
x 2 + x y = 10
y + 3x y 2 = 57
são duas equações não-lineares simultâneas com duas incógnitas, x e y. Elas podem ser
expressas na forma da Equação (6.14) como
u(x, y) = x 2 + x y − 10 = 0
v(x, y) = y + 3x y 2 − 57 = 0
(6.16a)
(6.16b)
Portanto, a solução seriam os valores de x e y que fizessem as funções u(x, y) e v(x, y)
iguais a zero. Em sua maioria, as abordagens para determinar tais soluções são extensões
dos métodos abertos para a resolução de uma única equação. Nesta seção, vamos investigar dois deles: iteração de ponto fixo e Newton-Raphson.
6.5 SISTEMAS DE EQUAÇÕES NÃO-LINEARES
133
6.5.1 Iteração de Ponto Fixo
A abordagem por iteração de ponto fixo (Seção 6.1) pode ser modificada para resolver duas equações não-lineares simultâneas. Essa abordagem será ilustrada no
seguinte exemplo.
EXEMPLO 6.10
Iteração de Ponto Fixo para um Sistema Não-Linear
Enunciado do Problema. Use a iteração de ponto fixo para determinar as raízes da
Equação (6.16). Observe que um par correto de raízes é x ⫽ 2 e y ⫽ 3. Inicie os cálculos
com as aproximações x ⫽ 1,5 e y ⫽ 3,5.
A Equação (6.16a) pode ser reescrita como
Solução.
xi+1 =
10 − xi2
yi
(E6.10.1)
e a Equação (6.16b) pode ser resolvida por
yi+1 = 57 − 3xi yi2
(E6.10.2)
Observe que os subscritos serão omitidos no restante do exemplo.
Com base nas aproximações iniciais, a Equação (E6.10.1) pode ser usada para determinar um novo valor de x:
x=
10 − (1,5)2
= 2,21429
3,5
Esse resultado e o valor inicial y ⫽ 3,5 podem ser substituídos na Equação (E6.10.2) para
determinar um novo valor de y:
y = 57 − 3(2,21429)(3,5)2 = −24,37516
Logo, a abordagem parece estar divergindo, comportamento ainda mais pronunciado na
segunda iteração:
10 − (2,21429)2
= −0,20910
−24,37516
y = 57 − 3(−0,20910)(−24,37516)2 = 429,709
x=
Obviamente, o método está deteriorando.
Agora, vamos repetir os cálculos, mas com as equações originais escritas em uma
forma diferente. Por exemplo, uma formulação alternativa para a Equação (6.16a) é
x = 10 − x y
e para a Equação (6.16b) é
57 − y
y=
3x
Agora os resultados são mais satisfatórios:
x = 10 − 1,5(3,5) = 2,17945
57 − 3,5
y=
= 2,86051
3(2,17945)
x = 10 − 2,17945(2,86051) = 1,94053
57 − 2,86051
y=
= 3,04955
3(1,94053)
Logo, a abordagem está convergindo para os valores verdadeiros de x ⫽ 2 e y ⫽ 3.
134
MÉTODOS ABERTOS
O exemplo anterior ilustra a desvantagem mais grave da iteração de ponto fixo —
isto é, a convergência freqüentemente depende da maneira como as equações são formuladas. Adicionalmente, mesmo nos casos em que a convergência é possível, a divergência
pode ocorrer se as aproximações iniciais não estiverem suficientemente próximas da
solução verdadeira. Usando um raciocínio análogo ao do Quadro 6.1, pode ser demonstrado que condições suficientes para a convergência no caso de duas equações são
∂u ∂u
+ <1
∂x ∂y
e
∂v ∂v
+ <1
∂x ∂y
Esses critérios são tão restritivos que a iteração de ponto fixo tem utilidade limitada na
solução de sistemas não-lineares. Entretanto, como descreveremos mais adiante neste
livro, ela pode ser muito útil para resolver sistemas lineares.
6.5.2 Newton-Raphson
Lembre-se de que o método de Newton-Raphson era baseado no uso da derivada (isto é,
da inclinação) de uma função para fazer uma estimativa de sua intersecção com o eixo das
variáveis independentes — ou seja, a raiz (Figura 6.5). Essa estimativa era baseada na expansão em série de Taylor (lembre-se do Quadro 6.2),
f(xi+1 ) = f(xi ) + (xi+1 − xi ) f ′ (xi )
(6.17)
onde xi é a aproximação inicial da raiz e xi⫹1 é o ponto no qual a tangente intercepta o eixo
x. Nessa intersecção, f (xi⫹1) por definição é igual a zero e a Equação (6.17) pode ser
reorganizada para fornecer
xi+1 = xi −
f(xi )
f ′ (xi )
(6.18)
que é a forma para uma única equação do método de Newton-Raphson.
A forma para várias equações é deduzida de maneira idêntica. Entretanto, uma série
de Taylor para diversas variáveis deve ser usada para representar o fato de que mais de
uma variável independente contribui para a determinação da raiz. Para o caso de duas variáveis, a série de Taylor de primeira ordem pode ser escrita [lembre-se da Equação
(4.26)] para cada equação não-linear como
∂u i
∂u i
+ (yi+1 − yi )
∂x
∂y
(6.19a)
∂vi
∂vi
+ (yi+1 − yi )
∂x
∂y
(6.19b)
u i+1 = u i + (xi+1 − xi )
e
vi+1 = vi + (xi+1 − xi )
Da mesma forma como para a versão para uma única equação, a estimativa da raiz
corresponde aos valores de x e y nos quais u i+1 e vi+1 são iguais a zero. Para tal situação,
a Equação (6.19) pode ser reorganizada para fornecer
∂u i
∂u i
∂u i
∂u i
xi+1 +
yi+1 = −u i + xi
+ yi
∂x
∂y
∂x
∂y
(6.20a)
∂vi
∂vi
∂vi
∂vi
xi+1 +
yi+1 = −vi + xi
+ yi
∂x
∂y
∂x
∂y
(6.20b)
Já que todos os valores subscritos com i são conhecidos (eles correspondem à última
aproximação), as únicas incógnitas são xi+1 e yi+1. Portanto, a Equação (6.20) é um conjunto de duas equações lineares com duas incógnitas [compare com a Equação (6.15)].
6.5 SISTEMAS DE EQUAÇÕES NÃO-LINEARES
135
Conseqüentemente, manipulações algébricas (por exemplo, a regra de Cramer) podem ser
usadas para determinar
xi+1
∂vi
∂u i
− vi
∂y
∂y
= xi −
∂u i ∂vi
∂u i ∂vi
−
∂x ∂y
∂y ∂x
(6.21a)
yi+1
∂u i
∂vi
− ui
∂
x
∂x
= yi −
∂u i ∂vi
∂u i ∂vi
−
∂x ∂y
∂y ∂x
(6.21b)
ui
vi
O denominador de cada uma dessas equações é chamado formalmente de determinante da
matriz Jacobiana do sistema.
A Equação (6.21) é a versão para duas equações do método de Newton-Raphson.
Como no exemplo a seguir, ele pode ser usado iterativamente para aproximar as raízes de
duas equações simultâneas.
EXEMPLO 6.11
Newton-Raphson para um Sistema Não-linear
Enunciado do Problema. Use o método de Newton-Raphson para equações múltiplas
para determinar as raízes da Equação (6.16). Observe que o par correto de raízes é x ⫽ 2
e y ⫽ 3. Inicie os cálculos com a aproximação x ⫽ 1,5 e y ⫽ 3,5.
Solução. Determine primeiro as derivadas parciais e calcule-as nas aproximações iniciais de x e y:
∂u 0
= 2x + y = 2(1,5) + 3,5 = 6,5
∂x
∂v0
= 3y 2 = 3(3,5)2 = 36,75
∂x
∂u 0
= x = 1,5
∂y
∂v0
= 1 + 6x y = 1 + 6(1,5)(3,5) = 32,5
∂y
Portanto, o determinante da matriz Jacobiana para a primeira iteração é
6,5(32,5) − 1,5(36,75) = 156,125
Os valores das funções podem ser calculados nas aproximações iniciais como sendo
u 0 = (1,5)2 + 1,5(3,5) − 10 = −2,5
v0 = 3,5 + 3(1,5)(3,5)2 − 57 = 1,625
Esses valores podem ser substituídos na Equação (6.21) para fornecer
−2,5(32,5) − 1,625(1,5)
= 2,03603
156,125
1,625(6,5) − (−2,5)(36,75)
y = 3,5 −
= 2,84388
156,125
Desse modo, os resultados estão convergindo para os valores verdadeiros x ⫽ 2 e y ⫽ 3.
O cálculo pode ser repetido até que uma acurácia aceitável seja obtida.
x = 1,5 −
Da mesma forma como na iteração de ponto fixo, a abordagem de Newton-Raphson
irá com freqüência divergir se as aproximações iniciais não estiverem suficientemente
próximas das raízes verdadeiras. Enquanto os métodos gráficos podiam ser usados para
se encontrar boas aproximações para o caso de uma única equação, nenhum procedimento simples está disponível para a versão com diversas equações. Embora existam
algumas abordagens avançadas para se obter primeiras estimativas aceitáveis, em geral as
aproximações iniciais precisam ser obtidas com base na tentativa e erro e no conhecimento do sistema físico que está sendo modelado.
MÉTODOS ABERTOS
136
A abordagem de Newton-Raphson para duas equações pode ser generalizada para
resolver n equações simultâneas. Já que a forma mais eficiente para fazer isso envolve a
álgebra de matrizes e a resolução de equações lineares simultâneas, vamos adiar nossa
discussão da abordagem geral até a Parte Três.
PROBLEMAS
6.1 Use a iteração
de ponto fixo simples para localizar a raiz de
√
f (x) ⫽ 2 sen( x) ⫺ x
Use a aproximação inicial x0 ⫽ 0,5 e itere até εa ≤ 0,001%. Verifique que o processo é linearmente convergente, como descrito no
Quadro 6.1.
6.2 Determine a maior raiz real de
f (x) = 2x 3 − 11,7x 2 + 17,7x − 5
(a) Graficamente.
(b) Pelo método da iteração de ponto fixo (três iterações, x0 ⫽ 3).
Observação: certifique-se de desenvolver uma solução que
convirja para a raiz.
(c) Pelo método de Newton-Raphson (três iterações, x0 ⫽ 3).
(d) Pelo método da secante (três iterações, x⫺1 ⫽ 3, x0 ⫽ 4).
(e) Pelo método da secante modificado (três iterações, x0 ⫽ 3,
␦ ⫽ 0,01).
Calcule os erros relativos percentuais aproximados para suas
soluções.
6.3 Use (a) a iteração de ponto fixo e (b) o método de NewtonRaphson para determinar a raiz de f(x) = −x 2 + 1,8x + 2,5
usando x0 = 5. Faça os cálculos até que εa seja menor do que
εs = 0,05%. Faça também uma verificação do erro na sua resposta
final.
6.4 Determine as raízes reais de f (x) ⫽ ⫺1 ⫹ 5,5x ⫺ 4x2 ⫹ 0,5x3:
(a) graficamente e (b) usando o método de Newton-Raphson até
εs = 0,01%.
6.5 Use o método de Newton-Raphson para determinar uma raiz
real de f (x) ⫽ ⫺1 ⫹ 5,5x ⫺ 4x2 ⫹ 0,5x3 usando aproximações iniciais (a) 4,52 e (b) 4,54. Discuta e use métodos gráficos e analíticos
para explicar quaisquer peculiaridades nos seus resultados.
6.6 Determine a menor raiz real de f (x) ⫽ ⫺12 ⫺ 21x ⫹ 18x2 ⫺
2,4x3: (a) graficamente e (b) usando o método da secante para um
valor de s correspondente a três algarismos significativos.
6.7 Localize a primeira raiz positiva de
f (x) = sen x + cos(1 + x 2 ) − 1
onde x está em radianos. Use quatro iterações do método da secante
com aproximações iniciais (a) xi⫺1 ⫽ 1,0 e xi ⫽ 3,0; (b) xi⫺1 ⫽ 1,5
e xi ⫽ 2,5, e (c) xi⫺1 ⫽ 1,5 e xi ⫽ 2,25 para localizar a raiz. (d) Use
o método gráfico para explicar seus resultados.
6.8 Determine a raiz real de x3,5 ⫽ 80, com o método da secante
modificado até s ⫽ 0,1% usando uma aproximação inicial x0 ⫽
3,5 e ␦ ⫽ 0,01.
6.9 Determine a maior raiz real de f (x) ⫽ 0,95x3 ⫺ 5,9x2 ⫹ 10,9x ⫺ 6:
(a) Graficamente.
(b) Usando o método de Newton-Raphson (três iterações,
xi ⫽ 3,5).
(c) Usando o método da secante (três iterações, xi⫺1 ⫽ 2,5 e
xi ⫽ 3,5).
(d) Usando o método da secante modificado (três iterações,
xi ⫽ 3,5 e ␦ ⫽ 0,01).
6.10 Determine a menor raiz real de f (x) ⫽ 8 sen(x)e⫺x ⫺ 1:
(a) Graficamente.
(b) Usando o método de Newton-Raphson (três iterações, xi ⫽ 0,3).
(c) Usando o método da secante (três iterações, xi⫺1 ⫽ 0,5 e xi ⫽ 0,4).
(d) Usando o método da secante modificado (cinco iterações,
xi ⫽ 0,3 e ␦ ⫽ 0,01).
6.11 A função x3 ⫺ 2x2 ⫺ 4x ⫹ 8 tem uma raiz dupla em x ⫽ 2.
Use (a) Newton-Raphson padrão [Equação (6.6)], (b) NewtonRaphson modificado [Equação (6.9a)] e (c) Newton-Raphson modificado [Equação (6.13)] para determinar a raiz em x ⫽ 2. Compare e discuta a taxa de convergência usando uma aproximação
inicial de x0 ⫽ 1,2.
6.12 Determine as raízes das seguintes equações não-lineares simultâneas usando (a) iteração de ponto fixo e (b) o método de
Newton-Raphson:
y = −x 2 + x + 0,75
y + 5x y = x 2
Use aproximações iniciais x ⫽ y ⫽ 1,2 e discuta os resultados.
6.13 Determine as raízes das equações não-lineares simultâneas
(x − 4)2 + (y − 4)2 = 5
x 2 + y 2 = 16
Use uma abordagem gráfica para obter suas aproximações iniciais. Determine estimativas refinadas com o método de NewtonRaphson para duas equações descrito na Seção 6.5.2.
6.14 Repita o Problema 6.13, agora para
y = x2 + 1
y = 2 cos x
6.15 Um balanço de massa para um poluente em um lago bem misturado pode ser escrito como
V
√
dc
= W − Qc − kV c
dt
Dados os valores dos parâmetros V ⫽ 1 ⫻ 106m3, Q ⫽ 1 ⫻ 105 m3/ano,
W ⫽ 1 ⫻ 106 g/ano e k ⫽ 0,25 m0,5/g0,5/ano, use o método da secante
modificado para determinar a concentração estacionária. Use uma
aproximação inicial de c ⫽ 4 g/m3 e ␦ ⫽ 0,5. Faça três iterações e determine o erro porcentual relativo depois da terceira iteração.
6.16 Para o Problema 6.15, a raiz pode ser localizada com a iteração de ponto fixo por
W − Qc 2
c=
kV
ou por
c=
√
W − kV c
Q
Apenas um caso convergirá para aproximações iniciais 2 ⬍ c ⬍ 6.
Escolha o correto e mostre por que ele sempre funcionará.
6.17 Desenvolva um programa amigável ao usuário para o método
de Newton-Raphson baseado na Figura 6.4 e na Seção 6.2.3. Testeo repetindo os cálculos do Exemplo 6.3.
6.18 Desenvolva um programa amigável ao usuário para o método
da secante baseado na Figura 6.4 e na Seção 6.2.3. Teste-o
repetindo os cálculos do Exemplo 6.6.
6.19 Desenvolva um programa amigável ao usuário para o método
da secante modificado baseado na Figura 6.4 e na Seção 6.2.3.
Teste-o repetindo os cálculos do Exemplo 6.8.
PROBLEMAS
6.20 Desenvolva um programa amigável ao usuário para o método
de Newton-Raphson para duas equações baseado na Seção 6.5.
Teste-o resolvendo o Exemplo 6.10.
6.21 Use o programa que você desenvolveu no Problema 6.20
para resolver os Problemas 6.12 e 6.13 até uma tolerância de
s ⫽ 0,01%.
6.22 O método “divisão e média”, um método antigo para aproximar a raiz quadrada de qualquer número positivo a, pode ser formulado como
x=
137
mento. O volume de líquido que ele pode armazenar pode ser calculado por
V = πh 2
[3R − h]
3
onde V é o volume [m3], h é a profundidade da água no tanque [m]
e R é o raio do tanque [m].
x + a/x
2
Demonstre que isso é equivalente ao algoritmo de Newton-Raphson.
6.23 (a) Aplique o método de Newton-Raphson à função f (x) ⫽
tgh (x2 ⫺ 9) para calcular sua raiz real conhecida em x ⫽ 3. Use
uma aproximação inicial x0 ⫽ 3,1 e faça um mínimo de quatro iterações. (b) O método convergiu para sua raiz real? Esboce o gráfico, com os resultados para cada iteração identificados.
6.24 O polinômio f (x) ⫽ 0,0074x4 ⫺ 0,284x3 ⫹ 3,355x2 ⫺
12,183x ⫹ 5 tem uma raiz real entre 15 e 20. Aplique o método de
Newton-Raphson a essa função usando uma aproximação inicial x0
⫽ 16,15. Explique seus resultados.
6.25 Use o método da secante na função do círculo (x ⫹ 1)2 ⫹
(y ⫺ 2)2 ⫽ 16 para encontrar uma raiz positiva. Tome sua aproximação inicial como xi ⫽ 3 e xi⫺1 ⫽ 0,5. Aproxime-se da solução a
partir do primeiro e quarto quadrantes. Quando calcular f (x) no
quarto quadrante, certifique-se de tomar o valor negativo da raiz
quadrada. Por que a sua solução diverge?
6.26 Você está projetando um tanque esférico (Figura P6.26) para
armazenar água para uma pequena vila em um país em desenvolvi-
R
V
h
Figura P6.26
Se R ⫽ 3 m, até qual profundidade o tanque deve ser enchido para
que armazene 30 m3? Use três iterações do método de NewtonRaphson para determinar sua resposta. Determine o erro relativo
aproximado depois de cada iteração. Observe que uma aproximação inicial R será sempre convergente.
CAPÍTULO
7
Raízes de Polinômios
Neste capítulo, serão discutidos métodos para encontrar as raízes de equações polinomiais da forma geral
f n (x) = a0 + a1 x + a2 x 2 + · · · + an x n
(7.1)
onde n é o grau do polinômio e os a’s são coeficientes constantes. Embora os coeficientes
possam ser números complexos, a discussão se limitará aos casos em que eles são reais.
Para tais casos, as raízes podem ser reais e/ou complexas.
As raízes de tais polinômios seguem estas regras:
1.
2.
3.
Para uma equação de grau n, existem n raízes reais ou complexas. Deve-se observar
que essas raízes não serão necessariamente distintas.
Se n for ímpar, existe pelo menos uma raiz real.
Se existirem raízes
complexas, elas existem em pares conjugados (isto é, λ + μi e
√
λ − μi) onde i = −1.
Antes de descrever as técnicas para localizar as raízes dos polinômios, serão fornecidos
alguns fundamentos. A primeira seção oferece alguma motivação para o estudo das técnicas; a segunda trata de algumas manipulações computacionais fundamentais envolvendo
polinômios.
7.1
POLINÔMIOS NA ENGENHARIA E NA CIÊNCIA
Os polinômios têm muitas aplicações na engenharia e na ciência. Por exemplo, eles são
usados amplamente no ajuste de curvas. Entretanto, uma de suas aplicações mais interessantes e poderosas é na caracterização de sistemas dinâmicos e, em particular, dos sistemas lineares. Os exemplos incluem aparelhos mecânicos, estruturas e circuitos elétricos. Serão explorados exemplos específicos por todo o resto deste texto.
Por agora, será mantida a discussão simples e geral focalizando em um sistema
de segunda ordem simples definido pela seguinte equação diferencial ordinária linear
(ou EDO):
d2 y
dy
+ a1
+ a0 y = F(t)
(7.2)
dt 2
dt
onde y e t são as variáveis dependente e independente, respectivamente, os a’s são coeficientes constantes e F(t) é um termo forçante. Se entender como essa equação é deduzida
a partir de um sistema físico ajudar a motivar seu estudo de matemática, você poderia ler
atentamente o início da Seção 8.4 antes de continuar.
Além disso, deve-se observar que a Equação (7.2) pode ser alternativamente expressa como um par de EDOs de primeira ordem definindo uma nova variável z,
dy
z=
(7.3)
dt
A Equação (7.3) pode ser substituída junto com sua derivada na Equação (7.2) para se remover o termo da segunda derivada. Isso reduz o problema a resolver
dz
F(t) − a1 z − a0 y
=
(7.4)
dt
a2
a2
138
7.1 POLINÔMIOS NA ENGENHARIA E NA CIÊNCIA
139
dy
=z
dt
(7.5)
De forma análoga, uma EDO linear de ordem n pode sempre ser expressa como um sistema de n EDOs de primeira ordem.
Agora, a solução será considerada. O termo forçante representa o efeito do mundo
externo no sistema. A solução homogênea ou solução geral da equação trata do caso no
qual o termo forçante é igualada a zero,
a2
d2 y
dy
+ a1
+ a0 y = 0
dt 2
dt
(7.6)
Logo, como o nome sugere, a solução geral de todos os sistemas lineares com termo
forçante nulo diz algo muito fundamental sobre o sistema que está sendo simulado — isto
é, como o sistema responde na ausência de estímulos externos.
Agora, a solução geral de todos os sistemas lineares homogêneos é da forma y = ert.
Se essa função for derivada e substituída na Equação (7.6), o resultado é
a2r 2 ert + a1rert + a0 ert = 0
ou, cancelando os termos exponenciais,
a2 r 2 + a 1 r + a 0 = 0
(7.7)
Observe que o resultado é um polinômio chamado de equação característica. As
raízes desse polinômio são os valores de r que satisfazem a Equação (7.7). Esses r’s são
chamados de valores característicos do sistema, ou autovalores.
Logo, aqui está a conexão entre raízes de polinômios e engenharia e ciência. O autovalor diz algo fundamental sobre o sistema que se está modelando e encontrar os autovalores envolve encontrar as raízes de polinômios. E, enquanto encontrar as raízes de uma
equação de segundo grau é fácil usando a fórmula quadrática, encontrar raízes de sistemas de ordem superior (e, portanto, de polinômios de grau mais alto) é difícil (ou impossível) analiticamente. Logo, a melhor abordagem geral exige métodos numéricos do
tipo descrito neste capítulo.
FIGURA 7.1
A solução geral das EDOs lineares pode ser composta de componentes (a) exponenciais
e (b) senoidais. A combinação das duas formas resulta na função senoidal amortecida
mostrada em (c).
y
y
t
(a)
t
(b)
y
t
(c)
RAÍZES DE POLINÔMIOS
140
Antes de prosseguir para esses métodos, é preciso avançar um pouco mais na análise
investigando o que valores específicos de autovalores podem implicar no comportamento
de sistemas físicos. Inicialmente, calculam-se as raízes da Equação (7.7) com a fórmula
quadrática,
±
a12 − 4a2 a0
−a
1
r1
=
r2
a0
Portanto, obtêm-se duas raízes. Se o discriminante (a12 − 4a2a0) for positivo, as raízes são
reais e a solução geral pode ser representada por
y = c1 er1 t + c2 er2 t
(7.8)
y = (c1 + c2 t)eλt
(7.9)
onde os c’s são onstantes que podem ser determinadas a partir das condições iniciais. Esse
é o chamado caso superamortecido.
Se o discriminante for nulo, resulta uma única raiz real e a solução geral pode ser formulada como
Esse é o chamado caso criticamente amortecido.
Se o discriminante for negativo, as raízes serão números complexos conjugados,
r1
= λ ± μi
r2
e a solução geral pode ser formulada como
y = c1 e(λ+μi)t + c2 e(λ−μi)t
O comportamento físico dessa solução pode ser elucidada usando-se a fórmula de Euler
eμit = cos μt + i sen μt
para reformular a solução geral como (ver Boyce e DiPrima, 1992, para detalhes da dedução)
y = c1 eλt cos μt + c2 eλt sen μt
(7.10)
Esse é chamado o caso subamortecido.
As Equações (7.8), (7.9) e (7.10) expressam as possíveis maneiras de sistemas lineares responderem dinamicamente. Os termos exponenciais significam que as soluções
podem decair (parte real negativa) ou crescer (parte real positiva) exponencialmente com
o tempo (Figura 7.1a). Os termos senoidais (parte imaginária) significam que a solução
pode oscilar (Figura 7.1b). Se o autovalor tiver tanto parte real quanto imaginária, as formas exponencial e senoidal são combinadas (Figura 7.1c). Como tal conhecimento é um
elemento-chave no entendimento, no projeto e no controle do comportamento de um sistema físico, os polinômios característicos são muito importantes na engenharia e em
muitos ramos da ciência. Será explorada a dinâmica de diversos sistemas em engenharia
nas aplicações cobertas no Capítulo 8.
7.2
CÁLCULOS COMPUTACIONAIS COM POLINÔMIOS
Antes de se descrever os métodos de localização de raízes, serão abordadas algumas
operações computacionais fundamentais envolvendo polinômios. Elas têm utilidade por
si só, além de fornecerem suporte na procura das raízes.
7.2.1 Cálculo e Derivação de Polinômios
Embora seja a forma mais comum, a Equação (7.1) fornece métodos insatisfatórios para
determinar o valor de um polinômio em um valor de x particular. Por exemplo, calcular
um polinômio de terceiro grau como
7.2 CÁLCULOS COMPUTACIONAIS COM POLINÔMIOS
141
f 3 (x) = a3 x 3 + a2 x 2 + a1 x + a0
(7.11)
f 3 (x) = ((a3 x + a2 )x + a1 )x + a0
(7.12)
f 3 (x) = a0 + x(a1 + x(a2 + xa3 ))
(7.13)
envolve seis multiplicações e três adições. Em geral, para um polinômio de grau n, essa
abordagem exige n(n + 1)/2 multiplicações e n adições.
Em contraste, uma forma estruturada,
envolve três multiplicações e três adições. Para um polinômio de grau n, essa abordagem
exige n multiplicações e n adições. Como a forma estruturada minimiza o número de operações, tende a minimizar os erros de arredondamento. Observe que, dependendo de sua
preferência, a ordem da estrutura pode ser invertida:
Um pseudocódigo sucinto para implementar a forma estruturada pode ser escrito
simplesmente como
DOFOR j ⫽ n, 0, 1
p ⫽ p * xa(j)
END DO
onde p guarda o valor do polinômio (definido por seus coeficientes, os a’s) calculado
em x.
Há casos (como no método de Newton-Raphson) em que se pode querer calcular
tanto a função quanto sua derivada. Esse cálculo também pode ser naturalmente incluído
adicionando-se uma única linha ao pseudocódigo anterior,
D0FOR j n, 0, 1
df df * xp
p p * xa(j)
END DO
onde df guarda o valor da primeira derivada do polinômio.
7.2.2 Deflação Polinomial
Suponha que você tenha determinado uma única raiz de um polinômio de grau n. Se repetir seu procedimento para a localização de raízes, você poderá encontrar a mesma raiz.
Portanto, seria bom remover a raiz encontrada antes de continuar. Esse processo de remoção é chamado de deflação polinomial.
Antes de mostrar como isso é feito, alguma orientação poderia ser útil. Os polinômios
são tipicamente representados na forma da Equação (7.1). Por exemplo, um polinômio de
grau cinco poderia ser escrito como
f 5 (x) = −120 − 46x + 79x 2 − 3x 3 − 7x 4 + x 5
(7.14)
Embora essa seja uma forma familiar, ela não é necessariamente a melhor expressão para
entender o comportamento matemático do polinômio. Por exemplo, o polinômio de grau
cinco poderia ser expresso alternativamente por
f 5 (x) = (x + 1)(x − 4)(x − 5)(x + 3)(x − 2)
(7.15)
Essa é a chamada forma fatorada do polinômio. Se fossem completadas as multiplicações e os termos semelhantes fossem agrupados, seria obtida a Equação (7.14). Entretanto, a forma da Equação (7.15) tem a vantagem de indicar claramente as raízes da
função. Portanto, é claro que x = −1, 4, 5, −3 e 2 são todas raízes porque cada uma faz
com que um termo individual na Equação (7.15) se anule.
RAÍZES DE POLINÔMIOS
142
Agora, suponha que esse polinômio de grau cinco seja dividido por qualquer um de
seus fatores, por exemplo, x + 3. Nesse caso, o resultado será um polinômio de grau quatro
f 4 (x) = (x + 1)(x − 4)(x − 5)(x − 2) = −40 − 2x + 27x 2 − 10x 3 + x 4
(7.16)
com um resto nulo.
No passado distante, você provavelmente aprendeu a dividir polinômios usando uma
abordagem chamada divisão sintética1. Diversos algoritmos de computador (baseados
tanto na divisão sintética quanto em outros métodos) estão disponíveis para fazer a operação. Um esquema simples é fornecido pelo seguinte pseudocódigo, que divide um
polinômio de grau n por um fator do tipo monômio x − t:
r ⫽ a(n)
a(n) ⫽ 0
DOFOR i ⫽ n1, 0, 1
s ⫽ a(i)
a(i) ⫽ r
r ⫽s r * t
END DO
Se o monômio corresponder a uma raiz do polinômio, o resto r será nulo e os coeficientes
do quociente estarão armazenados em a no final do laço.
EXEMPLO 7.1
Deflação Polinomial
Enunciado do Problema. Divida o polinômio de segunda ordem
f(x) = (x − 4)(x + 6) = x 2 + 2x − 24
pelo fator x − 4.
Solução. Usando a abordagem delineada no pseudocódigo anterior, os parâmetros são
n = 2, a0 = −24, a1 = 2, a2 = 1 e t = 4, que podem ser usados para calcular
r = a2 = 1
a2 = 0
O laço é então iterado de i = 2 − 1 = 1 a 0. Para i = 1,
s = a1 = 2
a1 = r = 1
r = s + rt = 2 + 1(4) = 6
Para i = 0,
s = a0 = −24
a0 = r = 6
r = −24 + 6(4) = 0
Portanto, o resultado é como esperado — o quociente é a0 + a1x = 6 + x, com resto nulo.
Também é possível dividir por polinômios de grau mais alto. Como veremos mais
adiante neste capítulo, a tarefa mais comum envolve a divisão por um polinômio de grau
dois ou uma parábola. A sub-rotina na Figura 7.2 trata do problema mais geral de dividir
um polinômio a de grau n por um polinômio d de grau m. O resultado é um polinômio q
de grau n m, com um polinômio de grau m 1 como resto.
Como cada raiz calculada é conhecida apenas aproximadamente, deve ser observado
que a deflação é sensível a erros de arredondamento. Em alguns casos, eles podem crescer
a ponto de os resultados ficarem sem significado.
1
N.R.T.: Algoritmo de Briot-Ruffine.
7.3 MÉTODOS CONVENCIONAIS
143
SUB poldiv(a, n, d, m, q, r)
DOFOR j ⫽ 0, n
r(j) ⫽ a(j)
q(j) ⫽ 0
END DO
DOFOR k ⫽ nm, 0, 1
q(k1) r(m k) / d(m)
DOFOR j m k1, k, 1
r(j) r(j)q(k1) * b(jk)
END DO
END DO
DOFOR j m, n
r(j) 0
END DO
n nm
DOFOR i 0, n
a(i) q(i1)
END DO
END SUB
FIGURA 7.2
Algoritmo para dividir um polinômio a (definido por seus coeficientes) por um polinômio d de
grau menor.
Algumas estratégias gerais podem ser aplicadas para minimizar esse problema. Por
exemplo, o erro de arredondamento é afetado pela ordem na qual os termos são calculados. A deflação progressiva se refere ao caso no qual os coeficientes dos novos
polinômios estão em ordem de potências decrescente de x (isto é, do que tem maior grau
para o termo de grau zero). Nesse caso, é preferível dividir pelas raízes de menor valor
absoluto primeiro. Reciprocamente, para a deflação regressiva (isto é, do que tem
grau zero para o termo de maior grau), é preferível dividir pelas raízes de maior valor
absoluto primeiro.
Uma outra forma de reduzir os erros de arredondamento é considerar cada estimativa sucessiva da raiz obtida durante a deflação como uma boa primeira aproximação.
Esses arredondamentos podem ser usados como aproximações iniciais, e as raízes determinadas novamente com o polinômio original não-deflacionado. Isso é chamado
polimento da raiz.
Finalmente, aparece um problema quando duas raízes deflacionadas são suficientemente inacuradas para que ambas convirjam para uma mesma raiz não-deflacionada.
Nesse caso, alguém pode ser levado erroneamente a acreditar que o polinômio tenha uma
raiz múltipla (lembre-se da Seção 6.4). Uma forma de detectar tal problema é comparar
cada raiz polida com aquelas localizadas anteriormente. Press et al. (1992) discutiram
esse problema em mais detalhes.
7.3
MÉTODOS CONVENCIONAIS
Agora que cobrimos algum material fundamental sobre polinômios, podemos começar
a descrever os métodos para localizar suas raízes. O primeiro passo óbvio seria investigar a viabilidade das abordagens intervalares e dos métodos abertos descritos nos
Capítulos 5 e 6.
A eficácia dessas abordagens depende do fato de o problema que está sendo resolvido envolver ou não raízes complexas. Se houver apenas raízes reais, qualquer um
dos métodos descritos anteriormente pode ser utilizado. Entretanto, encontrar boas aproximações iniciais complica tanto os métodos intervalares quanto os métodos abertos, enquanto que os métodos abertos são suscetíveis a divergência.
RAÍZES DE POLINÔMIOS
144
Quando são possíveis raízes complexas, os métodos que isolam as raízes não podem
ser usados por causa do problema óbvio de que o critério para definir um intervalo que delimite a raiz (isto é, onde ocorra mudança de sinal) não se estende para as aproximações
complexas.
Dos métodos abertos, o método de Newton-Raphson tradicional forneceria uma
abordagem viável. Em particular, pode-se desenvolver um código conciso que inclua a
deflação. Se for usada uma linguagem que permita variáveis complexas (como o Fortran),
tal algoritmo localizará tanto as raízes reais quanto as complexas. Contudo, como se
poderia esperar, ele seria suscetível a problemas de convergência. Por essa razão, foram
desenvolvidos métodos especiais para encontrar as raízes reais e complexas de
polinômios. Descreveremos dois deles — os métodos de Müller e de Bairstow — na próxima seção. Como você verá, ambos estão relacionados à abordagem com os métodos
abertos mais convencionais descrita no Capítulo 6.
7.4
O MÉTODO DE MÜLLER
Lembre-se de que o método da secante obtém uma estimativa da raiz prolongando uma
reta por dois valores da função até o eixo x (Figura 7.3a). O método de Müller adota uma
abordagem parecida, mas prolonga uma parábola através de três pontos (Figura 7.3b).
O método consiste na determinação dos coeficientes da parábola que passa pelos três
pontos. Esses coeficientes podem então ser substituídos na fórmula quadrática para se
obter o ponto no qual a parábola intercepta o eixo x — isto é, a estimativa da raiz. O
método se torna mais fácil escrevendo-se a equação da parábola em uma forma conveniente,
f 2 (x) = a(x − x2 )2 + b(x − x2 ) + c
(7.17)
Queremos que essa parábola passe por três pontos (x0, f(x0)), (x1, f (x1)) e (x2, f (x2)). Os
coeficientes da Equação (7.17) podem ser calculados substituindo cada um dos três pontos para obter
f(x0 ) = a(x0 − x2 )2 + b(x0 − x2 ) + c
(7.18)
f(x1 ) = a(x1 − x2 )2 + b(x1 − x2 ) + c
(7.19)
f(x2 ) = a(x2 − x2 )2 + b(x2 − x2 ) + c
(7.20)
Observe que omitimos o subscrito “2” da função para sermos concisos. Como temos três
equações, é possível resolver para determinar os três coeficientes desconhecidos a, b e c.
FIGURA 7.3
Uma comparação de duas
abordagens relacionadas
para localizar raízes: (a) o
método da secante e
(b) o método de Müller.
f (x)
Reta
secante
f (x)
Estimativa
da raiz
Parábola
x1
Raiz
x0
x
x2
Raiz
(a)
x1
x0
Estimativa
da raiz
(b)
x
7.4 O MÉTODO DE MÜLLER
145
Já que dois dos termos na Equação (7.20) são nulos, ela pode ser imediatamente resolvida, fornecendo c = f (x2). Logo, o coeficiente c é simplesmente igual ao valor da
função calculada na terceira aproximação, x2. Esse resultado pode ser substituído nas
Equações (7.18) e (7.19) para fornecer duas equações com duas incógnitas:
f(x0 ) − f(x2 ) = a(x0 − x2 )2 + b(x0 − x2 )
(7.21)
f(x1 ) − f(x2 ) = a(x1 − x2 )2 + b(x1 − x2 )
(7.22)
Pode-se então usar manipulação algébrica para determinar os coeficientes restantes
a e b. Uma maneira de fazer isso envolve a definição de algumas diferenças,
h 0 = x1 − x0
f(x1 ) − f(x0 )
δ0 =
x1 − x0
h 1 = x2 − x1
f(x2 ) − f(x1 )
δ1 =
x2 − x1
(7.23)
Elas podem ser substituídas nas Equações (7.21) e (7.22) para fornecer
(h 0 + h 1 )b − (h 0 + h 1 )2 a = h 0 δ0 + h 1 δ1
h1
b−
h 21
a=
h 1 δ1
a partir das quais se pode isolar a e b. O resultado pode ser resumido como
a=
δ1 − δ0
h1 + h0
b = ah 1 + δ1
c = f(x2 )
(7.24)
(7.25)
(7.26)
Para encontrar a raiz, aplicamos a fórmula quadrática à Equação (7.17). No entanto,
por causa do possível erro de arredondamento, em vez de usar a forma convencional, será
usada a formulação alternativa [Equação (3.13)] para obter
x3 − x2 =
−2c
√
b ± b2 − 4ac
(7.27a)
ou, isolando a incógnita x3 no lado esquerdo da igualdade,
x3 = x2 +
−2c
√
b ± b2 − 4ac
(7.27b)
Observe que o uso da fórmula quadrática significa que podem ser localizadas tanto raízes
reais quanto complexas. Essa é uma importante vantagem do método.
Além disso, a Equação (7.27a) fornece uma forma natural de determinar o erro
aproximado. Como o lado esquerdo representa a diferença entre a estimativa atual (x3) e
anterior (x2) da raiz, o erro pode ser calculado por
x3 − x2
100%
εa =
x3
Agora, um problema com a Equação (7.27a) é que ela fornece duas raízes, correspondendo ao termo ± no denominador. No método de Müller, o sinal é escolhido para
coincidir com o sinal de b. Essa escolha resultará no denominador maior e, portanto, dará
a estimativa da raiz que está mais próxima de x2.
Uma vez que x3 esteja determinada, o processo é repetido. Isso traz à tona a questão
de qual ponto descartar. Duas estratégias gerais são tipicamente usadas:
1.
2.
Se estiverem sendo localizadas apenas raízes reais, escolhemos os dois pontos
originais que estejam mais próximos da nova estimativa da raiz, x3.
Se estiverem sendo calculadas tanto raízes reais quanto complexas, é usada uma
abordagem seqüencial. Isto é, da mesma forma que no método da secante, x1, x2 e x3
tomam o lugar de x0, x1 e x2.
RAÍZES DE POLINÔMIOS
146
EXEMPLO 7.2
O Método de Müller
Enunciado do Problema. Use o Método de Müller com aproximações x0, x1 e x2 dadas
por 4,5, 5,5 e 5, respectivamente, para determinar uma raiz da equação
f(x) = x 3 − 13x − 12
Observe que as raízes dessa equação são 3, 1 e 4.
Solução.
Inicialmente, é calculada a função nas aproximações
f(4,5) = 20,625
f(5,5) = 82,875
f(5) = 48
que podem ser usadas para calcular
h 0 = 5,5 − 4,5 = 1
82,875 − 20,625
δ0 =
= 62,25
5,5 − 4,5
h 1 = 5 − 5,5 = −0,5
48 − 82,875
δ1 =
= 69,75
5 − 5,5
Esses valores, por sua vez, podem ser substituídos nas Equações (7.24) a (7.26) para calcular
a=
69,75 − 62,25
= 15
−0,5 + 1
b = 15(−0,5) + 69,75 = 62,25
c = 48
A raiz quadrada do discriminante pode ser calculada por
62,252 − 4(15)48 = 31,54461
Então, como |62,25 + 31,54451| > |62,25 − 31,54451|, o sinal positivo é usado no denominador da Equação (7.27b) e uma nova estimativa da raiz é determinada por
x3 = 5 +
−2(48)
= 3,976487
62,25 + 31,54451
e a estimativa de erro por
−1,023513
100% = 25,74%
εa =
3,976487
Como o erro é grande, novas aproximações são escolhidas; x0 é substituído por x1, x1 é
substituído por x2, x2 é substituído por x3. Portanto, para a nova iteração,
x0 = 5,5
x1 = 5
x2 = 3,976487
e os cálculos são repetidos. Os resultados, tabulados a seguir, mostram que o método converge rapidamente para a raiz xr = 4:
i
xr
0
1
2
3
4
5
3,976487
4,00105
4
4
a (%)
25,74
0,6139
0,0262
0,0000119
O pseudocódigo para implementar o método de Müller para raízes reais é apresentado na Figura 7.4. Observe que essa rotina está construída de forma a usar como entrada
uma única aproximação inicial não-nula que então é perturbada para determinar as outras
duas aproximações. É claro que o algoritmo poderia ser programado para acomodar três
aproximações. Para linguagens como o Fortran, o código encontrará raízes complexas se
as variáveis adequadas forem declaradas como complexas.
7.5 O MÉTODO DE BAIRSTOW
147
SUB Muller(xr, h, eps, maxit)
x2 ⫽ xr
x1 ⫽ xr h*xr
x0 xr h*xr
DO
iter iter 1
h0 x1 x0
h1 x2 x1
d0 (f(x1) f(x0 )) / h0
d1 (f(x2) f(x1)) / h1
a (d1 d0) / (h1 h0 )
b a*h1 d1
c f(x2)
rad SQRT(b*b 4*a*c)
If |brad| ⬎ |b⫺rad| THEN
den ⫽ b ⫹ rad
ELSE
den ⫽ b ⫺ rad
END IF
dxr ⫽ ⫺2*c 兾 den
xr ⫽ x2 ⫹ dxr
PRINT iter, xr
IF (|dxr| ⬍ eps*xr OR iter ⬎ ⫽ maxit) EXIT
x0 ⫽ x1
x1 ⫽ x2
x2 ⫽ xr
END DO
END Müller
FIGURA 7.4
Pseudocódigo para o método de Müller.
7.5
O MÉTODO DE BAIRSTOW
O método de Bairstow é uma abordagem iterativa vagamente relacionada a ambos os
métodos, de Müller e de Newton-Raphson. Antes de se fazer uma descrição matemática
da técnica, lembre-se da forma fatorada do polinômio,
f 5 (x) = (x + 1)(x − 4)(x − 5)(x + 3)(x − 2)
(7.28)
Se dividirmos por um fator que não corresponda a uma raiz (por exemplo, x + 6), o
quociente será um polinômio de quarto grau. Entretanto, nesse caso, resultará um resto
não-nulo.
Com base no exposto, pode-se elaborar um algoritmo para determinar uma raiz de
um polinômio: (1) escolha um valor para a raiz x = t, (2) divida o polinômio pelo fator
x − t e (3) determine se existe um resto. Se não existir, a escolha foi perfeita e a raiz é
igual a t. Se existir um resto, a escolha pode ser sistematicamente ajustada e o procedimento ser repetido até que o resto desapareça e a raiz seja localizada. Depois de conseguir isso, todo o procedimento pode ser repetido para o quociente, para determinar
uma outra raiz.
O método de Bairstow é, de modo geral, baseado nessa abordagem. Conseqüentemente,
ele depende do processo matemático de dividir um polinômio por um fator. Da discussão
sobre deflação de polinômios (Seção 7.2.2), lembre-se de que a divisão sintética envolve a
divisão de um polinômio por um fator x − t. Por exemplo, o polinômio geral [Equação (7.1)]
f n (x) = a0 + a1 x + a2 x 2 + · · · + an x n
(7.29)
148
RAÍZES DE POLINÔMIOS
pode ser dividido pelo fator x − t para fornecer um segundo polinômio que tem um grau
a menos,
f n−1 (x) = b1 + b2 x + b3 x 2 + · · · + bn x n−1
(7.30)
com um resto R = b0, onde os coeficientes podem ser calculados pela relação de recorrência
bn = an
bi = ai + bi+1 t
para i = n − 1 a 0
Observe que, se t fosse uma raiz do polinômio original, o resto b0 seria igual a zero.
Para permitir o cálculo de raízes complexas, o método de Bairstow divide o
polinômio por um fator quadrático x 2 − rx − s. Isso é feito para a Equação (7.29), o resultado é um novo polinômio
f n−2 (x) = b2 + b3 x + · · · + bn−1 x n−3 + bn x n−2
com um resto
(7.31)
R = b1 (x − r) + b0
Como no caso da divisão sintética normal, uma relação de recorrência simples pode ser
usada para fazer a divisão pelo fator quadrático:
bn = an
(7.32a)
bn−1 = an−1 + rbn
(7.32b)
bi = ai + rbi+1 + sbi+2
para i = n − 2 a 0
(7.32c)
O fator quadrático é introduzido para permitir a determinação de raízes complexas.
Isso se relaciona ao fato de que, se os coeficientes do polinômio original forem reais, as
raízes complexas ocorrem em pares conjugados. Se x 2 − rx − s for um divisor exato do
polinômio, as raízes podem ser determinadas pela fórmula quadrática. Portanto, o método
se reduz a determinar valores de r e s que tornam o fator quadrático um divisor exato. Em
outras palavras, procuram-se os valores que tornam o termo do resto igual a zero.
Uma inspeção da Equação (7.31) leva a concluir que, para o resto ser nulo, b0 e b1
precisam ser nulos. Como é pouco provável que nossas aproximações iniciais dos valores
de r e s levem a esse resultado, devemos determinar uma maneira sistemática de modificar nossas aproximações de modo que b0 e b1 se aproximem de zero. Para fazê-lo, o
método de Bairstow usa uma estratégia parecida com a abordagem de Newton-Raphson.
Como b0 e b1 são funções tanto de r quanto de s, podem ser expandidos usando-se uma
série de Taylor, como em [lembre-se da Equação (4.26)]
∂b1
∂b1
r +
s
∂r
∂s
∂b0
∂b0
r +
s
b0 (r + r, s + s) = b0 +
∂r
∂s
b1(r + r, s + s) = b1 +
(7.33)
onde os valores no lado direito são todos calculados em r e s. Observe que o termo de segunda ordem e os de ordem mais alta foram desprezados, o que representa uma hipótese
implícita de que r e s são suficientemente pequenos para que os termos de ordem superior sejam desprezíveis. Uma outra forma de expressar essa hipótese é dizer que as
aproximações iniciais estão adequadamente próximas dos valores de r e s nas raízes.
As variações, r e s, necessárias para melhorar nossas aproximações podem ser
estimadas igualando-se a Equação (7.33) a zero para obter
∂b1
∂b1
r +
s = −b1
∂r
∂s
∂b0
∂b0
r +
s = −b0
∂r
∂s
(7.34)
(7.35)
7.5 O MÉTODO DE BAIRSTOW
149
Se as derivadas parciais dos b’s puderem ser determinadas, elas são um sistema de duas
equações que podem ser resolvidas simultaneamente para as duas incógnitas, r e s.
Bairstow mostrou que as derivadas parciais podem ser obtidas por uma divisão sintética
dos b’s de um modo análogo à maneira como os próprios b’s foram determinados:
(7.36a)
cn = bn
(7.36b)
cn−1 = bn−1 + rcn
para i = n − 2 a 1
ci = bi + rci+1 + sci+2
(7.36c)
onde ∂b0/∂r = c1, ∂b0/∂s = ∂b1/∂r = c2, e ∂b1/∂s = c3. Portanto, as derivadas parciais
são obtidas por uma divisão sintética dos b’s. A seguir, as derivadas parciais podem ser
substituídas nas Equações (7.34) e (7.35) junto com os b’s para fornecer
c2 r + c3 s = −b1
c1 r + c2 s = −b0
Essas equações podem ser resolvidas para determinar r e s, os quais, por sua vez,
podem ser usados para melhorar as aproximações iniciais de r e s. Em cada passo, podese fazer uma estimativa de um erro em r e um em s, como em
r
100%
|εa,r | =
(7.37)
r
e
s
|εa,s | = 100%
s
(7.38)
Quando ambas as estimativas de erro caírem abaixo de um critério de parada pré-especificado εs , os valores das raízes podem ser determinados por
√
r ± r 2 + 4s
x=
(7.39)
2
Nesse ponto, há três possibilidades:
1.
2.
3.
EXEMPLO 7.3
O quociente é um polinômio de grau maior ou igual a três. Nesse caso, o método de
Bairstow seria aplicado ao quociente para calcular novos valores de r e s. Os valores
anteriores de r e s podem servir como aproximações iniciais nessa aplicação.
O quociente é um polinômio quadrático. Nesse caso, as duas raízes restantes poderiam ser calculadas diretamente com a Equação (7.39).
O quociente é um polinômio de grau um. Nesse caso, a única raiz restante pode ser
calculada simplesmente por
s
x =−
(7.40)
r
Método de Bairstow
Enunciado do Problema. Use o método de Bairstow para determinar as raízes do
polinômio
f 5 (x) = x 5 − 3,5x 4 + 2,75x 3 + 2,125x 2 − 3,875x + 1,25
Use aproximações iniciais r = s = −1 e itere até o nível de εs = 1%.
Solução.
As Equações (7.32) e (7.36) podem ser usadas para calcular
b5 = 1
b4 = −4,5
b0 = 11,375
c5 = 1
c4 = −5,5
b3 = 6,25
c3 = 10,75
b2 = 0,375
c2 = −4,875
b1 = −10,5
c1 = −16,375
150
RAÍZES DE POLINÔMIOS
Logo, as equações simultâneas para r e s que devem ser resolvidas são
−4,875r + 10,75s = 10,5
−16,375r − 4,875s = −11,375
e cuja solução é r = 0,3558 e s = 1,1381. Portanto, nossas aproximações iniciais
podem ser corrigidas para
r = −1 + 0,3558 = −0,6442
s = −1 + 1,1381 = 0,1381
e os erros aproximados podem ser calculados pelas Equações (7.37) e (7.38),
1,1381
0,3558
100% = 55,23%
|
=
|εa,r | =
|ε
a,s
0,1381 100% = 824,1%
−0,6442
A seguir, os cálculos são repetidos usando-se os valores revistos de r e s. Aplicando as
Equações (7.32) e (7.36) obtem-se:
b5 = 1
b4 = −4,1442
b0 = 2,1304
c5 = 1
c4 = −4,7884
Portanto, é preciso resolver
b3 = 5,5578
b2 = −2,0276
b1 = −1,8013
c3 = 8,7806
c2 = −8,3454
c1 = 4,7874
−8,3454r + 8,7806s = 1,8013
4,7874r − 8,3454s = −2,1304
e obtêm-se r = 0,1331 e s = 0,3316, os quais podem ser usados para corrigir as estimativas da raiz para
r = −0,6442 + 0,1331 = −0,5111
s = 0,1381 + 0,3316 = 0,4697
|εa,r | = 26,0%
|εa,s | = 70,6%
Pode-se continuar os cálculos, com o resultado de que após quatro iterações o método
converge para os valores r = −0,5 (|εa,r | = 0,063%) e s = 0,5 (|εa,s | = 0,040%). A
Equação (7.39) pode então ser usada para calcular as raízes como sendo
−0,5 ± (−0,5)2 + 4(0,5)
x=
= 0,5, −1,0
2
Nesse ponto, o quociente é a equação cúbica
f(x) = x 3 − 4x 2 + 5,25x − 2,5
O método de Bairstow pode ser aplicado a esse polinômio usando-se os resultados do
passo anterior, r = −0,5 e s = 0,5, como aproximações iniciais. Cinco iterações fornecem as estimativas r = 2 e s = −1,249, as quais podem ser usadas para calcular
2 ± 22 + 4(−1,249)
x=
= 1 ± 0,499i
2
Nesse ponto, o quociente é um polinômio de grau um que pode ser resolvido diretamente pela Equação (7.40) para determinar a quinta raiz: 2.
Observe que o cerne do método de Bairstow é o cálculo dos b’s e dos c’s usando as
Equações (7.32) e (7.36). Um dos principais pontos fortes do método é a maneira concisa
como essas relações de recorrência podem ser programadas.
A Figura 7.5 lista um pseudocódigo para implementar o método de Bairstow. O
cerne do algoritmo consiste no laço para calcular os b’s e os c’s. Observe também que
o código para resolver as equações simultâneas faz uma verificação para prevenir a divisão por zero. Se esse for o caso, os valores de r e s são ligeiramente perturbados e o
7.5 O MÉTODO DE BAIRSTOW
151
procedimento é iniciado novamente. Além disso, o algoritmo coloca um limitante superior, definido pelo usuário, no número máximo de iterações (MAXIT) e deveria ser
planejado para evitar a divisão por zero ao calcular as estimativas de erros. Finalmente,
o algoritmo necessita das aproximações iniciais para r e s (rr e ss no código). Se não
houver nenhum conhecimento prévio sobre as raízes, elas podem ser igualadas a zero
no programa de chamada.
FIGURA 7.5
(a) Algoritmo para implementar o método de Bairstow, junto com (b) um algoritmo para determinar as raízes de um
polinômio quadrático.
(a) Algoritmo de Bairstow
SUB Bairstow (a,nn,es,rr,ss,maxit,re,im,ier)
DIMENSION b(nn), c(nn)
r ⫽ rr; s ⫽ ss; n ⫽ nn
ier ⫽ 0; ea1 ⫽ 1; ea2 ⫽ 1
DO
IF n 3 OR iter ⱖ maxit EXIT
iter ⫽ 0
DO
iter ⫽ iter 1
b(n) a(n)
b(n 1) a(n 1) r * b(n)
c(n) b(n)
c(n 1) b(n 1) r * c(n)
DO i n 2, 0, 1
b(i) a(i) r * b(i1) s * b(i 2)
c(i) b(i) r * c(i1) s * c(i 2)
END DO
det c(2) * c(2)c(3) * c(1)
IF det ⫽ 0 THEN
dr ⫽ (⫺b(1) * c(2) ⫹ b(0) * c(3))兾det
ds ⫽ (⫺b(0) * c(2) ⫹ b(1) * c(1))兾det
r ⫽ r ⫹ dr
s ⫽ s ⫹ ds
IF r⫽0 THEN ea1 ⫽ ABS(dr兾r) * 100
IF s⫽0 THEN ea2 ⫽ ABS(ds兾s) * 100
ELSE
r ⫽ r ⫹1
s ⫽ s ⫹1
iter ⫽ 0
END IF
IF ea1 ⱕ es AND ea2 ⱕ es OR iter ⱖ maxit EXIT
END DO
CALL Quadroot(r,s,r1,i1,r2,i2)
re(n) ⫽ r1
im(n) ⫽ i1
re(n ⫺ 1) ⫽ r2
im(n ⫺ 1) ⫽ i2
n ⫽ n⫺2
DO i ⫽ 0, n
a(i) ⫽ b(i ⫹ 2)
END DO
END DO
IF iter ⬍ maxit THEN
IF n ⫽ 2 THEN
r ⫽ ⫺a(1)兾a(2)
s ⫽ ⫺a(0)兾a(2)
CALL Quadroot(r,s,r1,i1,r2,i2)
re(n) ⫽ r1
im(n) ⫽ i1
re(n ⫺ 1) ⫽ r2
im(n ⫺ 1) ⫽ i2
ELSE
re(n) ⫽ ⫺a(0)兾a(1)
im(n) ⫽ 0
END IF
ELSE
ier ⫽ 1
END IF
END Bairstow
(b) Algoritmo para as Raízes de um Polinômio
Quadrático
SUB Quadroot(r,s,r1,i1,r2,i2)
disc ⫽ r ^ 2 ⫹ 4 * s
IF disc ⬎ 0 THEN
r1 ⫽ (r ⫹ SQRT(disc))兾2
r2 ⫽ (r ⫺ SQRT(disc))兾2
i1 ⫽ 0
i2 ⫽ 0
ELSE
r1 ⫽ r兾2
r2 ⫽ r1
i1 ⫽ SQRT(ABS(disc))兾2
i2 ⫽ ⫺i1
END IF
END QuadRoot
RAÍZES DE POLINÔMIOS
152
7.6
OUTROS MÉTODOS
SOFTWARE
Há outros métodos disponíveis para localizar as raízes de polinômios. O método de JenkinsTraub (Jenkins e Traub, 1970) é usado comumente em bibliotecas de software como o
IMSL. Ele é bastante complicado, e um bom ponto para começar a entendê-lo é encontrado em Ralston e Rabinowitz (1978).
O método de Laguerre, que aproxima tanto raízes reais quanto complexas e tem convergência cúbica, está entre as melhores abordagens. Uma discussão completa pode ser
encontrada em Householder (1970). Além disso, Press et al. (1992) apresentam um bom
algoritmo para implementar esse método.
7.7
LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
As bibliotecas e os pacotes de software têm excelentes recursos para localizar raízes.
Nesta seção, será dada uma pequena amostra de alguns dos mais úteis.
7.7.1 Excel
Uma planilha como o Excel pode ser usada para localizar a raiz por tentativa e erro. Por
exemplo, se queremos encontrar uma raiz de
f(x) = x − cos x
primeiro, entramos um valor de x em uma célula. Então construímos uma outra célula para
f(x) que obteria seu valor para o x da primeira célula. Você pode então variar x na célula até
que a célula de f(x) se aproxime de zero. Esse processo pode ser mais aprimorado usandose os recursos gráficos do Excel para obter boas aproximações iniciais (Figura 7.6).
Embora o Excel de fato facilite a abordagem por tentativa e erro, ele também tem
duas ferramentas padrão que podem ser usadas na localização de raízes: Goal Seek e
Solver. Ambas as ferramentas podem ser usadas para ajustar sistematicamente as aproximações iniciais. O Goal Seek é usado explicitamente para conduzir uma equação para um
valor (no nosso caso, o zero) variando um único parâmetro.
FIGURA 7.6
Uma planilha construída para determinar a raiz de f(x) = x − cos x por tentativa e erro.
O gráfico é usado para obter uma boa aproximação inicial.
EXEMPLO 7.4
Usando a Ferramenta Goal Seek do Excel para Localizar uma Única Raiz
Enunciado do Problema. Use o Goal Seek para determinar a raiz da função transcendental
f(x) = x − cos x
7.7 LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
153
Solução. Como na Figura 7.6, a chave para resolver uma única equação com o Excel é
criar uma célula para armazenar o valor em questão da função e então considerar o valor
dependente em uma outra célula. Uma vez que isso tenha sido feito, a opção Goal Seek é
escolhida no menu de ferramentas (Tools). Nesse ponto, um quadro de diálogo será
mostrado, pedindo-lhe para impor um valor para uma célula, por meio da mudança de
uma outra célula. Por exemplo, suponha que, como na Figura 7.6, sua aproximação foi inserida na célula A11 e o resultado de sua função está na célula B11. O quadro de diálogo
do Goal Seek seria preenchido como
Quando a opção OK é escolhida, um quadro de mensagem mostra os resultados,
As células na planilha também seriam modificadas para os novos valores (como mostrado
na Figura 7.6).
A ferramenta Solver é mais sofisticada do que o Goal Seek nos aspectos: (1) ela
pode variar várias células simultaneamente e, (2) ao mesmo tempo em que conduz
uma célula-alvo para um valor, ela pode minimizar e maximizar seu valor. O próximo exemplo ilustra como isso pode ser usado para resolver um sistema de equações
não-lineares.
EXEMPLO 7.5
Usando o Solver do Excel para um Sistema Não-linear
Enunciado do Problema. Lembre-se de que na Seção 6.5 obtivemos a solução do
seguinte conjunto de equações simultâneas
u(x, y) = x 2 + x y − 10 = 0
v(x, y) = y + 3x y 2 − 57 = 0
Observe que o par correto de raízes é x = 2 e y = 3. Use o Solver para determinar as
raízes utilizando aproximações iniciais x = 1 e y = 3,5.
Solução. Como mostrado a seguir, duas células (B1 e B2) podem ser criadas para armazenar as aproximações para x e y. Os valores da própria função, u(x, y) e v(x, y), podem
então ser inseridos em duas outras células (B3 e B4). Como pode ser visto, as aproximações iniciais resultam em valores da função que estão longe de zero.
RAÍZES DE POLINÔMIOS
SOFTWARE
154
A seguir, uma outra célula pode ser criada para armazenar uma única variável que reflita quão próximas de zero ambas as funções estão. Uma forma de fazer isso é somar os
quadrados dos valores das funções; em seguida, o resultado é armazenado na célula B6.
Se ambas as funções forem nulas, essa função também deveria ser nula. Além disso, o uso
do quadrado das funções evita a possibilidade de que ambas as funções pudessem ter o
mesmo valor não-nulo, mas com sinais opostos. Nesse caso, a célula-alvo (B6) seria zero,
mas as raízes seriam incorretas.
Uma vez que a planilha seja criada, a opção Solver é escolhida do menu Tools.
Nesse ponto, um quadro de diálogos será mostrado, pedindo-lhe as informações pertinentes. As células pertinentes do quadro de diálogo do Solver seriam preenchidas como
Quando a opção OK for escolhida, um quadro de diálogo será aberto com um relatório
sobre o sucesso da operação. No caso presente, o Solver obtém a solução correta:
Deve-se observar que o Solver pode falhar. Seu sucesso depende (1) do condicionamento do sistema de equações e/ou (2) da qualidade das aproximações iniciais. Logo, a
saída bem-sucedida do exemplo anterior não é garantida. Apesar disso, consideramos o
Solver suficientemente útil para torná-lo uma opção possível para obter rapidamente
raízes em uma ampla variedade de aplicações em engenharia.
7.7 LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
155
7.7.2 MATLAB
Como resumido na Tabela 7.1, o software MATLAB é capaz de localizar raízes de uma
única equação algébrica ou transcendental. Ele é excelente na manipulação e determinação de raízes de polinômios.
A função fzero foi desenvolvida para localizar uma raiz de uma única equação. Uma
representação simplificada de sua sintaxe é
fzero(f,x0,options)
onde f é a função que você está analisando, x0 é a aproximação inicial, e options são os
parâmetros de otimização (estes são mudados usando-se a função optimset). Se options
for omitido, serão usados valores padrão. Observe que podem ser utilizadas uma ou duas
aproximações. Se forem usadas duas aproximações, é suposto que elas delimitem uma
raiz. O exemplo a seguir ilustra como fzero pode ser usado.
TABELA 7.1 Funções comuns no MATLAB relacionadas com a
localização de raízes e manipulação de polinômios.
EXEMPLO 7.6
Função
Descrição
fzero
roots
poly
polyval
polyvalm
residue
polyder
conv
deconv
Raiz de uma única função.
Encontra raízes de polinômios.
Constrói polinômios com raízes especificadas.
Calcula valores de polinômios.
Calcula valores de polinômios com argumentos matriciais.
Expansão em frações parciais (resíduos).
Deriva polinômios.
Multiplica polinômios.
Divide polinômios.
Usando o MATLAB para a Localização de Raízes
Enunciado do Problema. Use a função fzero do MATLAB para encontrar as raízes de
f (x) = x 10 − 1
no intervalo entre xl = 0 e xu = 4. Obviamente, ocorrem duas raízes, em 1 e 1. Lembre-se
de que, no Exemplo 5.6, usamos o método da falsa posição com aproximações iniciais de
0 e 1,3 para determinar a raiz positiva.
Solução. Usando as mesmas condições iniciais do Exemplo 5.6, podemos utilizar o
MATLAB para determinar a raiz, como em
>> x0=[0 1.3];
>> x=fzero(inline('x^10–1'),x0)
x =
1
De modo análogo, podemos usar as aproximações iniciais de –1,3 e 0 para determinar
a raiz negativa,
>> x0=[–1.3 0];
>> x=fzero(inline('x^10–1'),x0)
x =
–1
Pode-se utilizar também uma única aproximação. Um caso interessante seria usar
uma aproximação inicial 0,
SOFTWARE
156
RAÍZES DE POLINÔMIOS
>> x0=0;
>> x=fzero(inline('x^10–1'),x0)
x =
–1
Assim, para essa aproximação, acontece que o algoritmo subjacente converge para a raiz
negativa.
O uso do optimset pode ser ilustrado utilizando-o para mostrar as próprias iterações
à medida que a solução progride:
>> x0=0;
>> option=optimset('DISP','ITER');
>> x=fzero(inline('x^10–1'),x0,option)
Func–count
x
1
0
2
–0.0282843
3
0.0282843
4
–0.04
•
•
•
21
0.64
22
–0.905097
23
0.905097
24
–1.28
f(x)
–1
–1
–1
–1
–0.988471
–0.631065
–0.631065
10.8059
Procedure
initial
search
search
search
search
search
search
search
Looking for a zero in the interval [–1.28], 0.9051]
25
26
27
28
29
30
31
32
33
34
35
Zero found
0.784528
–0.911674
–0.247736
–0.999999
–0.763868
–0.932363
–1.02193
0.242305
–0.968701
–0.27239
–0.996873
–0.0308299
–0.999702
–0.00297526
–1
5.53132e–006
–1
–7.41965e–009
–1
–1.88738e–014
–1
0
in the interval: [–1.28, 0.9051].
interpolation
bisection
bisection
bisection
interpolation
interpolation
interpolation
interpolation
interpolation
interpolation
interpolation
x =
–1
Esses resultados ilustram a estratégia usada pelo fzero quando lhe é fornecida uma
única aproximação. Inicialmente, ele procura na vizinhança da aproximação até detectar
uma mudança de sinal. Então, usa uma combinação de bissecção e interpolação para
procurar a raiz. A interpolação envolve tanto o método da secante quanto a interpolação
quadrática inversa (lembre-se da Seção 7.4). Deve-se observar que o algoritmo fzero é
muito mais complexo do que essa descrição básica poderia indicar. Você pode consultar
Press et al. (1992) para detalhes adicionais.
7.7 LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
EXEMPLO 7.7
157
Usando o MATLAB para Manipular e Determinar as Raízes de Polinômios
Enunciado do Problema. Investigue como o MATLAB pode ser usado para manipular e determinar as raízes de polinômios. Use a seguinte equação do Exemplo 7.3,
f 5 (x) = x 5 − 3,5x 4 + 2,75x 3 + 2,125x 2 − 3,875x + 1,25
(E7.7.1)
que tem três raízes reais: 0,5, 1,0 e 2, e um par de raízes complexas: −1 ± 0.5i.
Solução. Os polinômios são inseridos no MATLAB armazenando-se seus coeficientes
como um vetor. Por exemplo, quando o MATLAB solicitar (≫), digitar e inserir a
seguinte linha armazena os coeficientes em um vetor a,
>> a=[1 –3,5 2,75 2,125 –3,875 1,25];
Pode-se então prosseguir para manipular o polinômio. Por exemplo, é possível calculá-lo
em x = 1 digitando
>> polyval(a,1)
com o resultado 1(1)5 − 3,5(1)4 + 2,75(1)3 + 2,125(1)2 − 3,875(1) + 1,25 = −0,25,
ans =
–0,2500
Pode-se calcular a derivada f ′ (x) = 5x4 − 14x3 + 8,25x2 + 4,25x − 3,875 por
>> polyder(a)
ans =
5,0000
–14,0000
8,2500
4,2500
–3,8750
A seguir, vamos criar um polinômio quadrático que tenha raízes correspondentes a duas
das raízes originais da Equação (E7.7.1): 0,5 e 1. Esse polinômio quadrático é
(x − 0,5)(x + 1) = x2 + 0,5x − 0,5 e pode ser inserido no MATLAB como o vetor b,
>> b=[1 0,5 –0,5];
Divide-se então o polinômio original por esse polinômio por meio de
>> [d,e]=deconv(a,b)
com o resultado sendo um quociente (um polinômio de grau três d) e um resto (e),
d =
1,0000
–4,0000
5,2500
–2,5000
e =
0
0
0
0
0
0
Como o polinômio é um divisor perfeito, o polinômio resto tem coeficientes nulos.
Agora, as raízes do polinômio quociente podem ser determinadas por
>> roots(d)
com o resultado esperado de que as raízes restantes do polinômio original (E7.7.1) são encontradas,
ans =
2,0000
1,0000 + 0,5000i
1,0000 — 0,5000i
SOFTWARE
158
RAÍZES DE POLINÔMIOS
Pode-se agora multiplicar d por b para reencontrar o polinômio original,
>> conv(d,b)
ans =
1,0000
–3,5000
2,7500
2,1250
–3,8750
1,2500
Finalmente, determinam-se todas as raízes do polinômio original por
>> r=roots(a)
r =
–1,0000
2,0000
1,0000 + 0,5000i
1,0000 — 0,5000i
0,5000
7.7.3 IMSL
O IMSL tem diversas sub-rotinas para determinar raízes de equações (Tabela 7.2). Na
discussão presente, vamo-nos concentrar na rotina ZREAL. Essa rotina localiza os zeros
reais de uma função real usando o método de Müller.
O ZREAL é implementado pelo seguinte comando CALL,
CALL ZREAL(F, ERABS, ERREL, EPS, ETA, NROOT, IMAX, X0, X, INFO)
TABELA 7.2 Rotinas IMSL para localizar raízes.
Categoria
Rotina
Capacidade
ZREAL
Encontra os zeros reais de uma função real usando o
método de Müller.
Encontra um zero de uma função real que muda de
sinal em um intervalo dado.
Encontra os zeros de uma função complexa univalorizada usando o método de Müller.
Raízes de uma função
ZBREN
ZANLY
Raízes de um sistema de equações
NEQNF
NEQNJ
NEQBF
NEQBJ
Resolve um sistema de equações não-lineares usando
um algoritmo híbrido modificado de Powell (uma variação do método de Newton) e uma aproximação
do jacobiano por diferença finita.
Resolve um sistema de equações não-lineares usando
um algoritmo híbrido modificado de Powell (uma variação do método de Newton) com um jacobiano
fornecido pelo usuário.
Resolve um sistema de equações não-lineares usando
atualizações fatoradas da secante e uma aproximação do jacobiano por diferença finita.
Resolve um sistema de equações não-lineares usando
atualizações fatoradas da secante com um jacobiano
fornecido pelo usuário.
Raízes de polinômios
ZPORC
ZPLRC
ZPOCC
Encontra os zeros de polinômios com coeficientes
reais com o algoritmo de Jenkins-Traub.
Encontra os zeros de polinômios com coeficientes
reais com o método de Laguerre.
Encontra os zeros de polinômios com coeficientes
complexos com o algoritmo de Jenkins-Traub.
7.7 LOCALIZAÇÃO DE RAÍZES COM BIBLIOTECAS E PACOTES
159
onde
F ⫽ Função definida pelo usuário, para a qual os zeros devem ser encontrados.
ERABS ⫽ Primeiro critério de parada, termina se | f(xi)| < ERABS. (Entrada)
ERREL ⫽ Segundo critério de parada; termina se |(xi − xi−1)/xi| < ERREL.
(Entrada)
EPS ⫽ Ver ETA. (Entrada)
ETA ⫽ Critério de dispersão para raízes múltiplas. (Entrada)
Se o zero, xi, foi calculado e |xi − xj | < EPS, onde xj é um zero calculado anteriormente, o cálculo é reiniciado com uma nova aproximação xi + ETA.
NROOT ⫽ Número de raízes a serem encontradas. (Entrada)
IMAX ⫽ Número máximo de iterações por zero. (Entrada)
X0 ⫽ Vetor de comprimento NROOT contendo as aproximações iniciais. (Entrada)
X ⫽ Vetor de comprimento NROOT contendo os zeros calculados. (Saída)
INFO ⫽ Vetor inteiro de comprimento NROOT. (Saída)
Contém o número de iterações para encontrar cada raiz.
Observe que a iteração termina quando qualquer um dos critérios de parada for
satisfeito ou quando o número máximo de iteração for atingido. A função F tem a
forma geral
FUNCTION F(X)
REAL F,X
F = ...
END
em que a linha “F = …” é onde a função da variável desconhecida X é escrita.
EXEMPLO 7.8
Usando o IMSL para Localizar uma Única Raiz
Enunciado do Problema. Use o ZREAL para determinar a raiz da função transcendental
f(x) = x − cos x
Solução. Um exemplo de um programa principal em Fortran 90 e uma função usando
ZREAL para resolver esse problema pode ser escrito como
PROGRAM Root
IMPLICIT NONE
INTEGER::nroot
PARAMETER(nroot=1)
INTEGER::itmax=50
REAL::errabs=0.,errrel=1.E–5,eps=0.,eta=0.
REAL::f,x0(nroot),x(nroot)
EXTERNAL f
INTEGER::info(nroot)
PRINT *, "Enter initial guess"
READ *, x0
CALL ZREAL(f,errabs,errrel,eps,eta,nroot,itmax,x0,x,info)
PRINT *, "root = ", x
PRINT *, "iterations = ", info
END PROGRAM
FUNCTION f(x)
IMPLICIT NONE
REAL::f,x
f = x — cos(x)
END FUNCTION
RAÍZES DE POLINÔMIOS
160
SOFTWARE
A saída é::
Enter initial guess
0.5
root =
7.390851E–01
iterations =
5
PROBLEMAS
7.1 Divida o polinômio f(x) = x 4 − 7,5x 3 + 14,5x 2 + 3x − 20
pelo monômio x − 2. É verdade que x = 2 é uma raiz?
7.2 Divida o polinômio f (x) = x5 − 5x4 + x3 − 6x2 − 7x + 10 pelo
monômio x − 2.
7.3 Use o método de Müller para determinar a raiz positiva de
(a) f (x) = x3 + x2 − 3x − 5
(b) f (x) = x3 − 0,5x2 + 4x − 3
7.4 Use o método de Müller ou o MATLAB para determinar as
raízes reais e complexas de
(a) f (x) = x3 − x2 + 3x − 2
(b) f (x) = 2x4 + 6x2 + 10
(c) f (x) = x4 − 2x3 + 6x2 − 8x + 8
7.5 Use o método de Bairstow para determinar as raízes de
(a) f (x) = −2 + 6,2x − 4x2 + 0,7x3
(b) f (x) = 9,34 − 21,97x + 16,3x2 − 3,704x3
(c) f (x) = x4 − 3x3 + 5x2 − x − 10
7.6 Desenvolva um programa para implementar o método de
Müller. Teste-o repetindo o Exemplo 7.2.
7.7 Use o programa desenvolvido no Problema 7.6 para determinar as raízes reais do Problema 7.4a. Construa um gráfico (à mão
ou com o Excel ou algum outro pacote gráfico) para encontrar
aproximações iniciais adequadas.
7.8 Desenvolva um programa para implementar o método de
Bairstow. Teste-o repetindo o Exemplo 7.3.
7.9 Use o programa desenvolvido no Problema 7.8 para determinar as raízes das equações no Problema 7.5.
7.10 Determine as raízes reais de x3,5 = 80 com o recurso Goal
Seek do Excel ou uma biblioteca ou um pacote de sua escolha.
7.11 A velocidade de um pára-quedista em queda livre é dada por
gm
v=
1 − e−(c/m)t
c
onde g = 9,8 m/s2. Para um pára-quedista com coeficiente de arrasto c = 14 kg/s, calcule a massa m para que a velocidade seja
v = 35 m/s em t = 8 s. Use o recurso Goal Seek do Excel ou uma
biblioteca ou um pacote de sua escolha.
7.12 Determine as raízes das equações não-lineares simultâneas
y = −x 2 + x + 0,75
y + 5x y = x 2
Use aproximações iniciais x = y = 1,2 e a ferramenta Solver do
Excel ou uma biblioteca ou um pacote de sua escolha.
7.13 Determine as raízes das equações não-lineares simultâneas
(x − 4)2 + (y − 4)2 = 5
x 2 + y 2 = 16
Use uma abordagem gráfica para obter suas aproximações iniciais.
Determine estimativas refinadas com a ferramenta Solver do Excel
ou uma biblioteca ou um pacote de sua escolha.
7.14 Faça operações no MATLAB idênticas àquelas do Exemplo
7.7 ou use uma biblioteca ou um pacote de sua escolha para encontrar todas as raízes do polinômio
f(x) = (x − 4)(x + 2)(x − 1)(x + 5)(x − 7)
Observe que a função poly pode ser usada para converter as raízes
para um polinômio.
7.15 Use o MATLAB ou uma biblioteca ou um pacote de sua escolha para determinar as raízes das equações no Problema 7.5.
7.16 Desenvolva um subprograma para encontrar as raízes de um
polinômio usando a rotina IMSL, o ZREAL ou uma biblioteca ou
um pacote de sua escolha. Teste-o determinando as raízes das
equações dos Problemas 7.4 e 7.5.
7.17 Um cilindro circular bidimensional é colocado em um escoamento uniforme a alta velocidade. São emitidos vórtices do cilindro
a uma freqüência constante, e sensores de pressão na superfície de
trás do cilindro detectam essa freqüência calculando quão freqüentemente a pressão varia. Dados três pontos, use o método de Müller
para encontrar o instante no qual a pressão era nula.
Tempo
0,60
0,62
0,64
Pressão
20
50
60
7.18 Quando tentamos determinar a acidez de uma solução de
hidróxido de magnésio em ácido clorídrico, obtemos a seguinte
equação
A(x) = x 3 + 3,5x 2 − 40
onde x é a concentração do íon hidrônio. Encontre a concentração
do íon hidrônio para uma solução saturada (acidez nula) usando
dois métodos diferentes no MATLAB (por exemplo, graficamente
e usando a função roots).
7.19 Considere o seguinte sistema com três incógnitas a, u, e v:
u 2 − 2v 2 = a 2
u+v =2
a 2 − 2a − u = 0
Determine os valores reais das incógnitas usando: (a) o Solver do
Excel e (b) um pacote de software de manipulação simbólica.
7.20 Na análise de sistemas de controle, são desenvolvidas funções
de transferência que relacionam matematicamente a dinâmica da entrada de um sistema com sua saída. Uma função de transferência
para um sistema de posicionamento de um robô é dada por
G(s) =
C(s)
s 3 + 12,5s 2 + 50,5s + 66
= 4
N (s)
s + 19s 3 + 122s 2 + 296s + 192
onde G(s) é o ganho do sistema, C(s) é a saída do sistema, N(s) é a
entrada do sistema e s é a transformada de Laplace complexa de
freqüência. Use uma técnica numérica para encontrar as raízes do
numerador e do denominador e fatore-os na forma
(s + a1 )(s + a2 )(s + a3 )
G(s) =
(s + b1 )(s + b2 )(s + b3 )(s + b4 )
onde ai e bi são as raízes do numerador e do denominador,
respectivamente.
7.21 Desenvolva uma função M-file para a bissecção de forma
análoga à Figura 5.10. Teste a função repetindo os cálculos dos
Exemplos 5.3 e 5.4.
PROBLEMAS
7.22 Desenvolva uma função M-file para o método da falsa
posição. A estrutura de sua função deveria ser análoga ao algoritmo
da bissecção esboçado na Figura 5.10. Teste o programa repetindo
o Exemplo 5.5.
7.23 Desenvolva uma função M-file para o método de NewtonRaphson com base na Figura 6.4 e na Seção 6.2.3. Além da aproximação inicial, passe a função e sua derivada como argumentos.
Teste a função repetindo os cálculos do Exemplo 6.3.
161
7.24 Desenvolva uma função M-file para o método da secante
baseado na Figura 6.4 e na Seção 6.3.2. Além das duas aproximações iniciais, passe a função como um argumento. Teste a
função repetindo os cálculos do Exemplo 6.6.
7.25 Desenvolva uma função M-file para o método da secante
modificado baseado na Figura 6.4 e na Seção 6.3.2. Além da
aproximação inicial e da perturbação, passe a função como um argumento. Teste a função repetindo os cálculos do Exemplo 6.8.
CAPÍTULO
8
Estudo de Casos:
Raízes de Equações
O propósito deste Capítulo é usar os procedimentos numéricos discutidos nos Capítulos
5, 6 e 7 para resolver problemas reais de engenharia. As técnicas numéricas são importantes nas aplicações práticas porque a engenharia freqüentemente encontra problemas
que não podem ser abordados usando-se técnicas analíticas. Por exemplo, modelos
matemáticos simples que podem ser resolvidos analiticamente nem sempre são aplicáveis
quando problemas reais estão envolvidos. Logo, modelos mais complicados precisam ser
usados. Nesses casos, é apropriado implementar uma solução numérica com o computador. Em outras situações, problemas de projeto de engenharia exigem soluções para as
variáveis implícitas em equações complicadas.
Os estudos de casos a seguir são encontrados rotineiramente nos cursos de graduação
mais avançados e nos de pós-graduação. Além disso, são representativos dos problemas
tratados profissionalmente. Tais problemas são tirados de quatro ramos importantes da engenharia: química, civil, elétrica e mecânica. Essas aplicações também servem para ilustrar os prós e contras entre as diversas técnicas numéricas.
A primeira aplicação, tirada da engenharia química, fornece um exemplo excelente
de como os métodos para localizar raízes permitem usar fórmulas realísticas na prática da
engenharia. Além disso, também ilustra como a eficiência da técnica de Newton-Raphson
é usada com vantagem quando um grande número de localizações de raízes é necessário.
Os problemas de projeto em engenharia seguintes são tirados da engenharia civil,
elétrica e mecânica. A Seção 8.2 usa tanto os métodos intervalares quanto os métodos
abertos para determinar a profundidade e a velocidade da água escoando em um canal
aberto. A Seção 8.3 mostra como as raízes das equações transcendentais podem ser utilizadas no projeto de um circuito elétrico. As Seções 8.2 e 8.3 também ilustram como
os métodos gráficos fornecem percepção do processo de localização de raízes. Finalmente, a Seção 8.4 usa a localização de raízes de polinômios para analisar a vibração de
um automóvel.
8.1
LEIS DOS GASES IDEAIS E NÃO-IDEAIS
(ENGENHARIA QUÍMICA/BIOQUÍMICA)
Fundamentos. A lei dos gases ideais é dada por
pV = nRT
(8.1)
onde p é a pressão absoluta, V é o volume, n é o número de moles, R é a constante universal dos gases e T é a temperatura absoluta. Embora essa equação seja amplamente
usada pelos engenheiros e cientistas, ela é acurada apenas sobre um intervalo limitado de
pressão e temperatura. Além disso, a Equação (8.1) é mais apropriada para alguns gases
do que para outros.
Uma equação de estado alternativa para os gases é dada por
a
p + 2 (v − b) = RT
(8.2)
v
conhecida como equação de van der Waals, onde v = V/n é o volume molar e a e b são
constantes empíricas que dependem do gás particular.
162
8.1 LEIS DOS GASES IDEAIS E NÃO-IDEAIS
163
Um projeto de engenharia química exige que se faça uma estimativa acurada do volume (v) tanto do dióxido de carbono como do oxigênio para diversas temperaturas diferentes e diversas combinações de pressão de modo que recipientes de armazenamento
adequados possam ser escolhidos. Também é de interesse examinar quão bem cada gás
obedece à lei dos gases ideais comparando os volumes molares calculados pelas
Equações (8.1) e (8.2). São fornecidos os seguintes dados:
R = 0,082054 L atm/(mol K)
a = 3,592
dióxido de carbono
b = 0,04267
a = 1,360
oxigênio
b = 0,03183
As pressões de interesse para o projeto são 1, 10 e 100 atm combinadas com temperaturas
de 300, 500 e 700 K.
Solução. Os volumes molares para ambos os gases são calculados usando a lei dos
gases ideais, com n = 1. Por exemplo, se p = 1 atm e T = 300 K,
v=
V
RT
L atm 300 K
=
= 0,082054
= 24,6162 L/mol
n
p
mol K 1 atm
Esses cálculos são repetidos para todas as combinações de temperatura e pressão apresentadas na Tabela 8.1.
Os cálculos do volume molar a partir da equação de van der Waals podem ser feitos
usando qualquer um dos métodos numéricos para encontrar raízes de equações discutidos
nos Capítulos 5, 6 e 7, com
a
f(v) = p + 2 (v − b) − RT
(8.3)
v
Nesse caso, a derivada de f (v) é fácil de determinar e o método de Newton-Raphson é
implementado de forma conveniente e eficiente. A derivada de f(v) com relação a v
é dada por
f ′(v) = p −
a
2ab
+ 3
2
v
v
(8.4)
O método de Newton-Raphson é descrito pela Equação (6.6):
vi+1 = vi −
f(vi )
f ′(vi )
TABELA 8.1 Cálculos do volume molar.
Temperatura,
K
Pressão,
atm
300
1
10
100
1
10
100
1
10
100
500
700
Volume Molar
Volume Molar
Volume Molar
(van der Waals) (van der Waals)
(Lei dos Gases Ideais),
Dióxido de
Oxigênio,
L/mol
Carbono, L/mol
L/mol
24,6162
2,4616
0,2462
41,0270
4,1027
0,4103
57,4378
5,7438
0,5744
24,5126
2,3545
0,0795
40,9821
4,0578
0,3663
57,4179
5,7242
0,5575
24,5928
2,4384
0,2264
41,0259
4,1016
0,4116
57,4460
5,7521
0,5842
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
164
que pode ser utilizada para fazer uma estimativa da raiz. Por exemplo, usando a aproximação inicial 24,6162, o volume molar do dióxido de carbono a 300 K e 1 atm é calculado como sendo 24,5126 L/mol. Esse resultado foi obtido depois de apenas duas iterações e tem um εa de menos que 0,001%.
Cálculos análogos para todas as combinações de pressão e temperatura para ambos
os gases estão apresentados na Tabela 8.1. Vê-se que os resultados da lei dos gases ideais
são diferentes daqueles provenientes da equação de van der Waals para ambos os gases,
dependendo dos valores específicos de p e T. Além disso, como alguns dos resultados são
significativamente diferentes, seus projetos de recipientes de armazenamento seriam bem
diferentes, dependendo de qual equação de estado fosse usada.
Nesse caso, uma equação de estado complicada foi examinada usando o método de
Newton-Raphson. Os resultados diferem significativamente da lei dos gases ideais em diversos casos. Do ponto de vista prático, o método de Newton-Raphson foi apropriado
para essa aplicação, pois f ′(v) era fácil de calcular. Portanto, as propriedades de convergência rápida do método de Newton-Raphson puderam ser exploradas.
Além de demonstrar seu poder para um único cálculo, o problema de projeto do qual se
está tratando também ilustra como o método de Newton-Raphson é especialmente atraente
quando são necessários diversos cálculos. Por causa da velocidade dos computadores digitais, as eficiências dos diversos métodos numéricos para a maioria das raízes de equações são
indistinguíveis para um único cálculo. Mesmo uma diferença de 1 s entre a abordagem grosseira por bissecção e a eficiência do método de Newton-Raphson não corresponde a uma
perda significativa de tempo quando apenas um cálculo está sendo feito. Entretanto, suponha
que milhões de cálculos de raízes são necessários para resolver um problema. Nesse caso, a
eficiência do método pode ser um fator decisivo na escolha da técnica.
Por exemplo, suponha que lhe tenha sido pedido para projetar um sistema de controle computadorizado automático para um processo de produção química. O sistema precisa de estimativas acuradas do volume molar em uma base essencialmente contínua para
fabricar adequadamente o produto final. São instalados medidores que fornecem leituras
instantâneas da pressão e da temperatura. Os cálculos de v devem ser obtidos para uma
variedade de gases usados no processo.
Para tais aplicações, os métodos intervalares, como a bissecção ou o método da falsa
posição, seriam, provavelmente, muito lentos. Além disso, as duas aproximações iniciais
necessárias nessas abordagens também poderiam interpor um atraso crítico no processo.
Essas deficiências também são relevantes no método da secante, que, de modo similar,
necessita de duas estimativas iniciais.
Em contraste, o método de Newton-Raphson necessita de apenas uma aproximação
para a raiz. A lei dos gases ideais poderia ser usada para obter essa aproximação no início
do processo. Então, supondo que a escala de tempo seja suficientemente pequena para
que a pressão e a temperatura não variem muito entre os cálculos, a solução para a raiz anterior serviria como uma boa aproximação para a próxima aplicação. Portanto, a boa
aproximação que, em geral, é um pré-requisito para a convergência do método de NewtonRaphson estaria automaticamente disponível. Todas essas considerações favoreceriam
muito a técnica de Newton-Raphson para tais problemas.
8.2
ESCOAMENTO DE CANAL ABERTO (ENGENHARIA
CIVIL/AMBIENTAL)
Fundamentos. A engenharia civil é um amplo campo que inclui áreas tão diversas
quanto as engenharias estrutural, geotécnica, de transporte, ambiental e de recursos hídricos. As duas últimas especialidades tratam tanto da poluição quanto do fornecimento da
água e, portanto, fazem um extenso uso da ciência da mecânica dos fluidos.
Um problema geral está relacionado com o escoamento de água em canais abertos
como rios e canais. A vazão, que é rotineiramente medida na maioria dos principais rios e
córregos, é definida como o volume de água passando por um determinado ponto em um
canal por unidade de tempo, Q (m3/s).
8.2 ESCOAMENTO DE CANAL ABERTO
165
Embora a vazão seja uma quantidade útil, uma outra questão se relaciona com o que
acontece quando se põe uma vazão específica em um canal inclinado (Figura 8.1). Na realidade, acontecem duas coisas: a água atinge uma profundidade específica H (m) e se
move a uma velocidade específica U (m/s). Os engenheiros ambientalistas poderiam estar
interessados em saber essas quantidades para prever o transporte e o destino de poluentes
em um rio. Assim, a questão geral é: se for dada a vazão para um canal, como calcular a
profundidade e a velocidade?
Solução. A relação mais fundamental entre o escoamento e a profundidade é a equação
da continuidade:
(8.5)
Q = UAc
onde Ac é a área da seção transversal do canal (m2). Dependendo da forma do canal, a área
pode ser relacionada com a profundidade por alguma relação funcional. Para o canal retangular descrito na Figura 8.1, Ac = BH. Substituindo essa relação na Equação (8.5),
obtém-se
(8.6)
Q = UBH
onde B é a largura (m). Deve-se observar que a equação da continuidade é deduzida a partir da conservação da massa (lembre-se da Tabela 1.1).
Agora, embora a Equação (8.6) certamente relacione os parâmetros do canal, não é
suficiente para responder à questão. Supondo que B tenha sido especificado, há uma
equação para duas incógnitas (U e H). Portanto, é necessária uma equação adicional. Para
escoamentos uniformes (significando que o escoamento não varia nem no espaço nem no
tempo), o engenheiro irlandês Robert Manning propôs a seguinte fórmula semi-empírica
(apropriadamente chamada de equação de Manning)
U=
1 2/3 1/2
R S
n
(8.7)
onde n é o coeficiente de rugosidade de Manning (um número adimensional usado para
parametrizar o atrito no canal), S é a inclinação do canal (adimensional, queda em metros
por metro de comprimento) e R é o raio hidráulico (m), o qual se relaciona com os
parâmetros mais fundamentais por
R=
Ac
P
(8.8)
onde P é o perímetro molhado (m). Como o nome indica, o perímetro molhado é o comprimento dos lados e do fundo do canal que estão submersos. Por exemplo, para um canal
retangular, ele é definido por
P = B + 2H
(8.9)
Deve-se observar que, do mesmo modo como a equação da continuidade é deduzida da
conservação da massa, a equação de Manning é uma expressão da conservação do momento. Em particular, ela indica como a velocidade depende da rugosidade, uma manifestação do atrito.
FIGURA 8.1
P
Ac
B
S
H
Q, U
166
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
Embora o sistema de equações não-lineares (8.6 e 8.7) possa ser resolvido simultaneamente (por exemplo, usando a abordagem multidimensional de Newton-Raphson
descrita na Seção 6.5.2), uma abordagem mais simples seria combinar essas equações. A
Equação (8.7) pode ser substituída na Equação (8.6) para fornecer
Q=
BH 2/3 1/2
R S
n
(8.10)
Então, o raio hidráulico, Equação (8.8), juntamente com as diversas relações para o
canal retangular podem ser substituídos,
Q=
S 1/2 (BH )5/3
n (B + 2H )2/3
(8.11)
Portanto, a equação agora contém uma única incógnita H juntamente com os valores
dados para Q e para os parâmetros do canal (n, S e B).
Embora se tenha uma equação com uma incógnita, é impossível resolvê-la explicitamente para determinar H. Entretanto, a profundidade pode ser determinada numericamente reformulando-se a equação como um problema de raiz
f(H ) =
S 1/2 (BH )5/3
−Q=0
n (B + 2H )2/3
(8.12)
A Equação (8.12) pode ser resolvida prontamente com qualquer um dos métodos
para localização de raízes descritos nos Capítulos 5 e 6. Por exemplo, se Q = 5 m3/s,
B = 20 m, n = 0,03, e S = 0,0002, a equação é
f(H ) = 0,471405
(20H )5/3
−5=0
(20 + 2H )2/3
(8.13)
Ela pode ser resolvida, fornecendo H ⫽ 0,7023m. O resultado é verificado por substituição na Equação (8.13) para fornecer
f(H ) = 0,471405
(20 × 0,7023)5/3
− 5 = 7,8 × 10−5
(20 + 2 × 0,7023)2/3
(8.14)
que está bastante próximo de zero.
A outra incógnita, a velocidade, pode agora ser determinada substituindo-se novamente na Equação (8.6),
U=
Q
5
=
= 0,356 m/s
BH
20(0,7023)
(8.15)
Portanto, tivemos sucesso em resolver as equações, determinando a profundidade e a velocidade.
A seguir, a abordagem se aprofundará um pouco mais nos aspectos numéricos desse
problema. Uma questão pertinente seria: como encontrar boas aproximações iniciais para
o método numérico? A resposta depende do tipo de método.
Para os métodos intervalares como a bissecção e a falsa posição, uma abordagem
seria determinar se é possível encontrar estimativas inferiores e superiores que sempre
delimitem uma única raiz. Uma abordagem conservadora seria escolher zero como aproximação inferior. Então, se for conhecida a máxima profundidade que poderia ocorrer, esse
valor servirá como aproximação superior. Por exemplo, todos os rios do mundo,
exceto os maiores, têm menos de 10 m de profundidade. Portanto, pode-se escolher 0 e 10
como limitantes para H.
Se Q > 0 e H = 0, a Equação (8.12) será sempre negativa para a aproximação inferior. Conforme H aumenta, a Equação (8.12) aumentará monotonamente e eventualmente
se tornará positiva. Portanto, as aproximações devem delimitar uma única raiz para a
maioria dos casos confrontados rotineiramente nos rios e córregos naturais.
Agora, uma técnica como a bissecção encontraria a raiz de forma muito confiável.
Mas qual o preço pago? Usando-se um intervalo tão grande e uma técnica como a bissecção, o número de iterações para atingir a precisão desejada poderia ser computa-
8.2 ESCOAMENTO DE CANAL ABERTO
167
cionalmente excessivo. Por exemplo, se fosse escolhida uma tolerância de 0,001 m, a
Equação (5.5) poderia ser usada para calcular
n=
log(10/0,001)
= 13,3
log 2
Portanto, seriam necessárias 14 iterações. Embora isso certamente não seja caro para um
único cálculo, poderia tornar-se exorbitante se fossem feitos muitos cálculos como esse.
A alternativa seria estreitar o intervalo inicial (com base no conhecimento específico do
sistema), mudar para uma técnica intervalar mais eficiente (como a falsa posição), ou
aceitar uma precisão mais grosseira.
Uma outra forma de obter melhor eficiência seria usar um método aberto como os
métodos de Newton-Raphson ou da secante. É claro que, nesses casos, a questão das
aproximações iniciais é complicada pela questão de convergência.
Pode-se conseguir alguma intuição sobre essas questões examinando a menos eficiente das abordagens abertas — a iteração de ponto fixo. Examinando a Equação (8.11),
há duas formas diretas de isolar H, isto é, pode-se isolar H no numerador,
H=
(Qn)3/5 (B + 2H )2/5
BS 3/10
(8.16)
ou no denominador
1 S 3 (BH )5/2
−
B
H=
2 (Qn)3/2
(8.17)
Esse é o ponto em que uma argumentação física pode ser útil. Para a maioria dos
rios e córregos, a largura é muito maior do que a profundidade. Portanto, a quantidade B
+ 2H não deve variar muito. De fato, ela deveria ser aproximadamente igual a B. Em
comparação, BH é diretamente proporcional a H. Conseqüentemente, a Equação (8.16)
deveria convergir mais rapidamente para a raiz. Isso pode ser verificado substituindo as
aproximações H = 0 e 10 em ambas as equações. Para a Equação (8.16), os resultados
são 0,6834 e 0,9012, que estão ambos próximos do valor verdadeiro de 0,7023. Em contraste, os resultados para a Equação (8.17) são 10 e 8,178, que estão claramente distantes da raiz.
A superioridade da Equação (8.16) é ainda mais confirmada pelos gráficos das componentes (lembre-se da Figura 6.3). Como na Figura 8.2, a componente g(H) da Equação
(8.16) é quase horizontal. Portanto, ela não só convergirá, como o fará rapidamente. Em
contraste, a componente g(H) da Equação (8.17) é quase vertical, implicando uma divergência forte e rápida.
FIGURA 8.2
Gráficos das componentes
para dois casos de iteração de
ponto fixo, uma que convergirá
[(a), Equação (8.16)] e uma
que divergirá [(b)
Equação(8.17)].
y
4
y
4
y2 = g(H)
2
2
y1 = H
y1 = H
y2 = g(H)
0
0
1
(a)
2 H
0
0
1
(b)
2 H
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
168
Há duas formas práticas de tirar vantagem de tal análise:
1.
Na eventualidade de um método aberto mais refinado ser usado, a Equação (8.16)
fornece uma maneira de obter uma excelente aproximação inicial. Por exemplo, se
H for escolhido como zero, a Equação (8.12)
se tornará
H0 =
2.
8.3
(Qn/B)3/5
S 3/10
onde H0 seria o valor inicial usado no método de Newton-Raphson ou da secante.
Foi mostrado que a iteração de ponto fixo fornece uma opção viável para esse problema particular. Por exemplo, usando uma aproximação inicial de H = 0, a
Equação (8.16) atingiria seis dígitos de precisão em quatro iterações no caso que está
sendo examinado. Uma situação na qual a fórmula de ponto fixo poderia vir a calhar
seria em uma aplicação de planilha. Isto é, as planilhas são ideais para uma fórmula
iterativa convergente que dependa de uma única célula.
PROJETO DE UM CIRCUITO ELÉTRICO (ENGENHARIA ELÉTRICA)
Fundamentos. Os engenheiros elétricos geralmente usam as leis de Kirchhoff para estudar o comportamento estacionário (que não varia com o tempo) de circuitos elétricos.
Tal comportamento estacionário será examinado na Seção 12.3. Um outro problema importante envolve os circuitos que são transientes por natureza e em que ocorrem variações
temporais súbitas. Tal situação ocorre depois que a chave na Figura 8.3 for fechada. Nesse
caso, ocorrerá um período de ajuste após o fechamento da chave, até que um novo estado
estacionário seja atingido. A duração desse período de ajustamento está intimamente ligada às propriedades de armazenamento do capacitor e do indutor. O armazenamento do
circuito irá dissipar o módulo das oscilações.
O fluxo de corrente através do resistor causa uma queda de voltagem (VR) dada por
VR = iR
onde i é a corrente e R é a resistência do resistor. Quando R e i têm unidades de ohms e
ampères, respectivamente, VR tem unidades de volts.
Analogamente, um indutor resiste a variações na corrente, de modo que a queda de
voltagem VL através dele é
di
VL = L
dt
onde L é a indutância. Quando L e i têm unidades de henrys e amperes, respectivamente,
VL tem unidades de volts e t tem unidades de segundos.
A queda de voltagem no capacitor (VC) depende da carga (q) nele:
q
VC =
C
onde C é a capacitância. Quando a carga estiver expressa em unidades de coulombs, a
unidade de C é farad.
FIGURA 8.3
Um circuito elétrico. Quando a chave é fechada, a corrente sofre uma série de oscilações até
que um novo estado estacionário seja atingido.
Chave
Bateria
–
+
–
V0
+
i
Capacitor
Resistor
Indutor
8.3 PROJETO DE UM CIRCUITO ELÉTRICO
169
A segunda lei de Kirchhoff afirma que a soma algébrica das quedas de voltagem em
torno de um circuito fechado é zero. Depois que a chave é fechada, tem-se
q(t)
q0
L
Tempo
di
q
+ Ri + = 0
dt
C
Entretanto, a corrente está relacionada com a carga por
i=
FIGURA 8.4
A carga em um capacitor
como uma função do tempo
logo após a chave da Figura
8.3 ter sido fechada.
dq
dt
Portanto,
L
dq
1
d 2q
+R
+ q=0
dt 2
dt
C
(8.18)
Essa é uma equação diferencial ordinária linear de segunda ordem que pode ser resolvida
usando-se os métodos do cálculo (ver Seção 8.4). A solução é dada por
⎡
⎤
2
1
R
t⎦
−
q(t) = q0 e−Rt/(2L) cos ⎣
(8.19)
LC
2L
na qual t = 0, q = q0 = V0C e V0 é a voltagem fornecida pela bateria. A Equação (8.19)
descreve a variação no tempo da carga no capacitor. A solução q(t) está traçada na
Figura 8.4.
Um problema de projeto típico em engenharia elétrica poderia envolver a determinação do resistor apropriado para dissipar energia a uma taxa especificada, com valores
conhecidos para L e C. Para esse problema, suponha que a carga deva ser dissipada a 1%
de seu valor original (q兾q0 = 0,01) em t = 0,05 s, com L = 5 H e C = 10−4 F.
Solução. É necessário resolver a Equação (8.19) para determinar R, com valores conhecidos de q, q0, L e C. Entretanto, deve ser usada uma técnica de aproximação
numérica, já que R é uma variável implícita na Equação (8.19). O método da bissecção
será usado para esse propósito. Os outros métodos discutidos nos Capítulos 5 e 6 também
Pêndulo
FIGURA 8.5
Gráfico da Equação (8.20) usada para obter aproximações iniciais para R que cercam a raiz.
f (R)
0,0
Massa/mola
Corrente
Circuito LC
FIGURA 8.6
Três exemplos de osciladores
harmônicos. A flecha de duas
pontas ilustra as oscilações
para cada sistema.
– 0,2
– 0,4
– 0,6
Raiz ⯝ 325
200
400
R
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
170
são apropriados, embora o método de Newton-Raphson possa ser considerado inconveniente pelo fato de a derivada da Equação (8.19) ser um pouco trabalhosa. Reorganizando
a Equação (8.19),
⎤
⎡
2
1
q
R
t⎦ −
f(R) = e−Rt/(2L) cos ⎣
−
LC
2L
q0
ou, usando os valores numéricos dados,
f(R) = e−0,005R cos[ 2000 − 0,01R 2 (0,05)] − 0,01
(8.20)
O exame dessa equação sugere que um intervalo inicial razoável para R é de 0 a 400
(pois 2000 − 0.01R2 deve ser maior que zero). A Figura 8.5, um gráfico da Equação
(8.20), confirma isso. Vinte e uma iterações do método da bissecção dão R = 328,1515 ,
com um erro de menos que 0,0001%.
Portanto, pode-se especificar um resistor com essa resistência para o circuito
mostrado na Figura 8.6 e esperar atingir um comportamento de dissipação consistente
com as exigências do problema. Esse problema de projeto não poderia ser resolvido eficientemente sem o uso dos métodos numéricos dos Capítulos 5 e 6.
8.4
ANÁLISE DE VIBRAÇÃO
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. As equações diferenciais são freqüentemente usadas para modelar a vibração de sistemas em engenharia. Alguns exemplos (Figura 8.6) são um pêndulo simples, uma massa em uma mola e um circuito elétrico indutância-capacitância (lembre-se
da Seção 8.3). A vibração desses sistemas pode ser amortecida por algum mecanismo que
absorva energia. Além disso, a vibração pode ser livre ou sujeita a alguma perturbação
periódica externa. No último caso, o movimento é dito forçado. Nesta seção, serão examinadas as vibrações livres e forçadas do automóvel mostrado na Figura 8.7. A abordagem geral é aplicável a vários outros problemas de engenharia.
Como mostrado na Figura 8.7, um carro de massa m é apoiado por molas e amortecedores. Os amortecedores oferecem uma resistência ao movimento que é proporcional à
velocidade vertical (movimento para baixo e para cima). As vibrações livres ocorrem
quando o carro é perturbado do equilíbrio, como depois de passar por um buraco. Em
qualquer instante depois de atingir o buraco, as forças resultantes agindo em m são a resistência das molas e a força de amortecimento dos amortecedores. Essas forças tendem
a fazer com que o carro volte ao seu estado de equilíbrio original. De acordo com a lei de
Hooke, a resistência da mola é proporcional à constante da mola k e à distância da posição
de equilíbrio, x. Portanto,
Força da mola = −kx
FIGURA 8.7
Um carro de massa m.
–x
Amortecedor
+x
m
Mola
8.4 ANÁLISE DE VIBRAÇÃO
171
onde o sinal de menos indica que a força restauradora age na direção de restaurar a
posição de equilíbrio do carro (isto é, na direção negativa de x). A força de amortecimento
do amortecedor é dada por
Força de amortecimento = −c
dx
dt
onde c é o coeficiente de amortecimento e dx兾dt é a velocidade vertical. O sinal negativo
indica que a força de amortecimento age na direção oposta à da velocidade.
As equações de movimento para o sistema são dadas pela segunda lei de Newton
(F = ma), a qual para esse problema é expressa por
m
×
Massa
ou
m
×
d2x
2
dt
aceleração
=
=
dx
−c
dt
força de amortecimento
+
+
(−kx)
força da mola
d2x
dx
+c
+ kx = 0
2
dt
dt
Observe a similaridade com a Equação (8.18) que foi deduzida na Seção 8.3 para um circuito elétrico.
Supondo que a solução tenha a forma x(t) = ert, pode-se escrever a equação
característica
mr 2 + cr + k = 0
(8.21)
A incógnita, r, é a solução da equação característica quadrática que pode ser obtida
tanto analítica quanto numericamente. Em problemas de projetos, primeiro se usa a
solução analítica para obter uma visão geral da maneira pela qual o movimento do sistema é afetado pelos coeficientes do modelo — m, k e c. Também se usam vários métodos numéricos para obter soluções e verificar a acurácia dos resultados utilizando a
solução analítica. Finalmente, prepara-se o terreno para problemas mais complexos que
serão descritos mais tarde no texto, para os quais os resultados analíticos são difíceis ou
impossíveis de obter.
A solução da Equação (8.21) para r é dada pela fórmula quadrática
√
−c ± c2 − 4mk
r1
=
(8.22)
r2
2m
√
√
Observe o significado do módulo de c comparado com 2 km. Se c > 2 km, r1 e r2
são números reais negativos e a solução é da forma
x(t) = Aer1 t + Ber2 t
(8.23)
onde A e B são constantes a serem determinadas a partir das condições iniciais para x e
dx兾dt. Tais sistemas
são chamados superamortecidos.
√
Se c < 2 km, as raízes são complexas,
r1
= λ ± μi
r2
onde
μ=
|c2 − 4mk|
2m
e a solução é da forma
x(t) = e−λt (A cos μt + B sen μt)
Tais sistemas são chamados de subamortecidos.
(8.24)
172
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
√
Finalmente, se c = 2 km, a equação característica tem uma raiz dupla e a solução é
a da forma
x(t) = (A + Bt)e−λt
(8.25)
onde
λ=
c
2m
Tais sistemas são chamados de criticamente amortecidos.
Em todos os três casos, x (t) tende a zero quando t tende a infinito. Isso significa que
o carro sempre volta à sua posição de equilíbrio depois de passar pelo buraco (embora
isso possa parecer pouco provável em algumas cidades que visitamos!). Esses casos estão
ilustrados na Figura 8.8.
O coeficiente de amortecimento crítico cc é o valor de c que torna o radical na
Equação (8.22) igual a zero,
√
cc = 2 km
ou
cc = 2mp
(8.26)
onde
p=
k
m
(8.27)
A razão c兾cc é chamada de fator de amortecimento, e p é chamado de freqüência natural
da vibração livre não amortecida.
Agora, considere o caso de um carro sujeito a uma força periódica dada por
P ⫽ Pm sen ωt
ou
d ⫽ dm sen ωt
onde dm = Pm兾k é a deflexão estática do carro sujeito à força Pm. A equação diferencial
que rege esse caso é
m
dx
d2x
+c
+ kx = Pm sen ωt
dt 2
dt
A solução geral dessa equação é obtida somando-se uma solução particular à solução
de vibração livre dada pelas Equações (8.23) a (8.25). Considere um movimento estacionário do sistema forçado em que o movimento transiente inicial foi totalmente amortecido. Supondo que essa solução de estado estacionário tenha a forma
xss (t) = xm sen(ωt − φ)
pode ser mostrado que
xm
xm
=
=
Pm /k
dm
FIGURA 8.8
Oscilações (a)
superamortecidas, (b)
subamortecidas e (c)
criticamente amortecidas.
1
[1 − (ω/ p)2 ]2 + 4(c/cc )2 (ω/ p)2
x(t)
Criticamente
amortecida
Superamortecida
t
Subamortecida
(8.28)
8.4 ANÁLISE DE VIBRAÇÃO
173
A quantidade, xm兾dm, chamada de fator de aumento da amplitude, depende apenas da
razão do amortecimento real para o amortecimento crítico e da razão da freqüência
forçante para a freqüência natural. Observe que, quando a freqüência forçante ω se aproxima de zero, o fator de aumento tende a 1. Além disso, se o sistema for levemente
amortecido, ou seja, se c兾cc for pequeno, então o fator de aumento se torna infinito
quando ω tende a p. Se o amortecimento for nulo, então o fator de aumento se torna infinito quando ω ⫽ p e diz-se que o termo forçante está em ressonância com o sistema.
Finalmente, quando ω兾p se torna muito grande, o fator de aumento se aproxima de zero.
A Figura 8.9 mostra gráficos do fator de aumento como função de ω兾p para diversos fatores de amortecimento.
Observe que o fator de amortecimento pode ser mantido pequeno escolhendo-se um
fator de aumento grande ou mantendo-se as freqüências natural e forçada bem distantes.
O projeto da suspensão de um carro envolve os prós e contras entre o conforto e a estabilidade em todas as condições de condução e velocidades. Pediram que você determinasse a estabilidade de um projeto proposto que tem boas condições de conforto em
estradas rugosas. A massa do carro é m = 1,2 × 106 g e ele tem um amortecedor com coeficiente de amortecimento c = 1 × 107 g/s.
Suponha que a expectativa de conforto do público esteja satisfeita se as vibrações
livres do carro forem subamortecidas e o primeiro cruzamento com a posição de equilíbrio ocorra em 0,05 s. Se, em t = 0, o carro for subitamente deslocado da posição de
equilíbrio, x0, e a velocidade for zero (dx兾dt = 0), a solução da equação de movimento é
dada pela Equação (8.24), com A = x0 e B = x0λ兾μ. Portanto,
λ
−λt
cos μt + sen μt
x(t) = x0 e
μ
As condições do projeto são satisfeitas se
x(t) = 0 = cos(0,05μ) +
λ
sen(0,05μ)
μ
ou
k
c2
−
0 = cos 0,05
m
4m 2
k
c2
+√
sen 0,05
−
m 4m2
4km − c2
c
(8.29)
Como c e m são dados, o problema de projeto se reduziu a encontrar um valor apropriado
de k que satisfaça a Equação (8.29).
Solução. Isso pode ser feito usando os métodos da bissecção, falsa posição ou secante,
pois eles não necessitam do cálculo da derivada da Equação (8.29), o que poderia ser considerado um pouco inconveniente nesse problema. A solução é k = 1,397 × 109, com 12
iterações do método da bissecção com um intervalo inicial de k = 1 × 109 a 2 × 109 a ⫽
0,07305%.
c/cc = 0
6
0,125
4
0,25
xm /xd
FIGURA 8.9
Gráfico do fator de aumento
de amplitude xm/xd [Equação
(8.28)] em função da
freqüência ω dividida pela
freqüência natural p para
diversos valores do coeficiente
de amortecimento c dividido
pelo coeficiente de
amortecimento crítico cc.
0,5
2
0
1
0
1
2
/p
174
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
Embora o projeto satisfaça as exigências de vibração livre (depois de atingir um buraco), ele também deve ser testado sob condições rugosas de estrada. A superfície da
estrada pode ser aproximada por
2πx
d = dm sen
D
onde d é a deflexão, dm é a deflexão máxima de 0,1 m e D é a distância entre picos, igual
a 20 m. Se a velocidade horizontal do carro for v (m/s), então a equação global do movimento para o sistema pode ser escrita como
d2x
2πv
dx
m 2 +c
+ kx = kdm sen
t
dt
dt
D
onde ω = 2πv兾D é a freqüência forçante.
A estabilidade do carro é considerada satisfatória se em um estado estacionário a distância máxima xm está abaixo de 0,2 m para todas as velocidades de condução. O fator de
amortecimento é calculado de acordo com a Equação (8.26),
c
10
1 × 107
= √
=
= 0,1221
cc
2 km
2 1,397 × 109 (1,2 × 106 )
Agora, procuram-se valores de ω兾p que satisfaçam a Equação (8.28),
2=
1
[1 −
(ω/ p)2 ]2
(8.30)
+ 4(0,1221)2 (ω/ p)2
Quando a Equação (8.30) é expressa como um problema de raiz, tem-se
f (ω/ p) = 2 [1 − (ω/ p)2 ]2 + 4(0,1221)2 (ω/ p)2 − 1 = 0
(8.31)
Vê-se que os valores de ω兾p podem ser determinados encontrando-se as raízes da
Equação (8.31).
Um gráfico da Equação (8.31) é encontrado na Figura 8.10, e mostra que a Equação
(8.31) tem duas raízes positivas que podem ser determinadas pelo método da bissecção.
Em 18 iterações, obtém-se que o menor valor para ω兾p é igual a 0,7300, com um erro
estimado de 0,000525%, com aproximações inferior e superior de 0 e 1. Em 17 iterações,
FIGURA 8.10
Gráfico da Equação (8.31)
indicando duas raízes positivas.
6
f (/p)
4
2
/p
0
–2
1
2
8.4 ANÁLISE DE VIBRAÇÃO
175
encontra-se que o maior valor para ω兾p é igual a 1,1864, com um erro estimado de
0,00064%, com aproximações inferior e superior de 1 e 2.
Também é possível expressar a Equação (8.30) como um polinômio,
4
2
ω
ω
− 1,9404
+ 0,75
(8.32)
p
p
e usar o software MATLAB para determinar as raízes, como a seguir:
>> a=[1 0 –1,9404 0 ,75];
>> roots (a)
ans =
1,1864
–1,1864
0,7300
–0,7300
Isso confirma o resultado obtido com a bissecção. E também sugere que, embora superficialmente pareça ser uma equação de quarto grau para ω兾p, a Equação (8.32) é na realidade uma equação quadrática para (ω兾p)2.
O valor da freqüência natural p é dado pela Equação (8.27),
p=
1,397 × 109
= 34,12 s−1
1,2 × 106
As freqüências forçantes, para as quais a deflexão máxima é 0,2 m, são então calculadas por
ω = 0,7300(34,12) = 24,91 s−1
ω = 1,1864(34,12) = 40,48 s−1
o que fornece
ωD
24,91(20)
m 3600 s km
v=
=
= 79,29 ×
= 285 km/h (= 177 mi/h)
2π
2(3,14159)
s
h 1000 m
v=
ωD
40,48(20)
m 3600 s km
=
= 128,85 ×
= 464 km/h (= 288 mi/h)
2π
2(3,14159)
s
h 1000 m
Portanto, usando esses resultados e a Figura 8.10, encontra-se que o projeto proposto
para o carro apresentará comportamento aceitável para as velocidades comuns de condução. Nesse ponto, o projetista deve estar ciente de que o projeto não satisfaz as
condições de adequação para velocidades extremamente altas (por exemplo, em corridas).
Esse problema de projeto apresentou um exemplo extremamente simples que permitiu obter alguns resultados analíticos que foram usados para avaliar a acurácia dos métodos numéricos para encontrar as raízes. Os casos reais podem rapidamente se tornar tão
complicados que as soluções só são obtidas usando-se métodos numéricos.
PROBLEMAS
Engenharia Química/Bioengenharia
8.1 Faça os mesmos cálculos que na Seção 8.1, mas para o álcool
etílico (a ⫽ 12,02 e b ⫽ 0,08407) a uma temperatura de 400 K e p
de 2,5 atm. Compare seus resultados com a lei dos gases ideais. Se
possível, use um software de seu computador para determinar o
volume molar. Caso contrário, use qualquer um dos métodos
numéricos discutidos nos Capítulos 5 e 6 para fazer os cálculos.
Justifique sua escolha da técnica.
8.2 Em engenharia química, os reatores tubulares de fluxo pistonado (isto é, aqueles nos quais o fluido escoa de uma extremidade
para a outra com mistura mínima ao longo do eixo longitudinal) são
usados com freqüência para converter reagentes em produtos. Foi
determinado que a eficiência da conversão pode algumas vezes ser
melhorada reciclando-se uma parte da corrente de produto de modo
que ele volte para a entrada para uma passagem adicional pelo
reator (Figura P8.2). A taxa de reciclagem é definida por
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
176
R=
volume do fluido que volta para a entrada
volume deixando o sistema
K =
Suponha que estamos processando uma substância química A para
gerar um produto B. Para o caso em que A forma B por meio de
uma reação autocatalisadora (isto é, na qual um dos produtos age
como um catalisador ou um estímulo para a reação), pode ser
mostrado que uma taxa de reciclagem ótima deve satisfazer
ln
1 + R(1 − XA f )
R+1
=
R(1 − XA f )
R[1 + R(1 − XA f )]
onde XAf é a fração de reagente A que é convertida para o produto
B. A taxa de reciclagem ótima corresponde ao reator de tamanho
mínimo necessário para se atingir o nível desejado de conversão.
Use um método numérico para determinar as taxas de reciclagem
necessárias para minimizar o tamanho do reator para uma fração de
conversão de XAf ⫽ 0,95.
Alimentação
Reator tubular de
fluxo pistonado
Produto
Reciclagem
Figura P8.2
Representação esquemática de um reator tubular de fluxo pistonado
com reciclagem.
8.3 Em um processo de engenharia química, vapor de água (H2O)
é aquecido a uma temperatura suficientemente alta para que uma
parte significativa da água se dissocie, ou se quebre, para formar
oxigênio (O2) e hidrogênio (H2):
H2 O ⇀
↽ H2 + 12 O2
Se for suposto que essa é a única reação envolvida, a fração molar
x de H2O que se dissocia pode ser representada por
2 pt
x
K =
(P8.3)
1−x 2+x
onde K é a constante de equilíbrio da reação e pt é a pressão total da
mistura. Se pt ⫽ 3,5 atm e K ⫽ 0,04, determine o valor de x que satisfaz a Equação (P8.3).
8.4 A seguinte equação está ligada à concentração de uma substância química em um reator completamente misturado:
c = cin (1 − e−0,04t ) + c0 e−0,04t
Se a concentração inicial for c0 = 5 e a concentração do fluxo de
entrada for cin = 12, calcule o tempo necessário para que c seja
85% de cin .
8.5 Uma reação química reversível
2A + B ⇀
↽C
pode ser caracterizada pela relação de equilíbrio
K =
cc
ca2 cb
onde o símbolo ci representa a concentração do constituinte i.
Suponha que definamos uma variável x que represente o número de
moles de C que são produzidos. A conservação da massa pode ser
usada para reformular a relação de equilíbrio como
(cc,0 + x)
(ca,0 − 2x)2 (cb,0 − x)
onde o subscrito 0 indica a concentração inicial de cada constituinte. Se K ⫽ 0,016, ca,0 = 42, cb,0 = 28 e cc,0 = 4, determine o
valor de x. (a) Obtenha a solução graficamente. (b) Com base em
(a), resolva para determinar a raiz com aproximações iniciais
xl = 0 e xu = 20 até s ⫽ 0,5%. Escolha ou a bissecção ou a falsa
posição para obter a solução. Justifique sua escolha.
8.6 As seguintes reações químicas ocorrem em um sistema
fechado:
2A + B ⇀
↽C
A+D⇀
↽C
No equilíbrio, elas podem ser caracterizadas por
cc
K1 = 2
ca cb
cc
K2 =
ca cd
onde o símbolo ci representa a concentração do constituinte i. Se x1
e x2 são o número de moles de C que são produzidos por causa da
primeira e da segunda reações, respectivamente, use uma abordagem parecida com a do Problema 8.5 para reformular a relação
de equilíbrio em termos das concentrações iniciais dos constituintes. A seguir, use o método de Newton-Raphson para resolver o
par de equações não-lineares simultâneas para determinar x1 e x2 se
K 1 = 4 × 10−4 , K 2 = 3,7 × 10−2 , ca,0 = 50, cb,0 = 20, cc,0 = 5 e
cd,0 = 10. Utilize uma abordagem gráfica para encontrar suas
aproximações iniciais.
8.7 A equação de estado de Redlich-Kwong é dada por
p=
RT
a
−
√
v−b
v(v + b) T
onde R é a constante universal dos gases [= 0,518 kJ/(kg K)], T é a
temperatura absoluta (K), p é a pressão absoluta (kPa) e v é o volume
de um kg de gás (m3 /kg). Os parâmetros a e b são calculados por
a = 0,427
R 2 Tc2,5
pc
b = 0,0866R
Tc
pc
onde pc é a pressão crítica (kPa) e Tc é a temperatura crítica (K).
Como engenheiro químico, foi-lhe pedido para determinar a quantidade de gás metano ( pc = 4580 kPa e Tc = 191 K) que pode ser
mantido em um tanque de 3 m3 a uma temperatura de ⫺50o C com
uma pressão de 65,000 kPa. Use um método para localizar raízes de
sua escolha para calcular v e a seguir determinar a massa de metano
contida no tanque.
8.8 O volume V de líquido em um cilindro horizontal raso de raio r
e comprimento L se relaciona com a profundidade do líquido h por
r −h
− (r − h) 2r h − h 2 L
V = r 2 cos−1
r
Determine h dado que r = 2 m, L = 5 m, e V ⫽ 8,5 m3. Observe
que, se você estiver usando uma linguagem de programação ou ferramenta de software que não seja rica em funções trigonométricas,
o arco-co-seno pode ser calculado por
x
π
cos−1 x = − tg−1 √
2
1 − x2
8.9 O volume V de líquido em um tanque esférico de raio r está
relacionado com a profundidade h do líquido por
PROBLEMAS
V =
π h 2 (3r − h)
3
Determine h dado que r = 1 m e V = 0,75 m3.
8.10 Para o tanque esférico do Problema 8.9, é possível desenvolver as seguintes fórmulas de dois pontos fixos:
h 3 + (3V /π)
h=
3r
e
h=
3
V
3 r h2 −
π
Se r = 1 m e V = 0,75 m3, determine se alguma delas é estável e
o intervalo de aproximações iniciais para o qual elas são estáveis.
8.11 A equação de Ergun, mostrada a seguir, é usada para descrever o escoamento de um fluido através de um leito compactado.
P é a queda de pressão, ρ é a densidade do fluido, G o é a velocidade da massa (vazão em massa dividida pela área da seção transversal), D p é o diâmetro das partículas dentro do leito, μ é a viscosidade do fluido, L é o comprimento do leito e ε é a fração vazia
do leito.
Pρ D p ε
1−ε
= 150
+ 1,75
G 2o L 1 − ε
(D p G o /μ)
Dados os valores dos parâmetros listados a seguir, encontre a
fração vazia ε do leito.
Dp G o
= 1000
μ
Pρ D p
= 20
G 2o L
8.12 A queda de pressão na seção de um tubo pode ser calculada por
p= f
LρV 2
2D
onde p é a queda de pressão (Pa), f é o fator de atrito, L é o comprimento do tubo [m], ρ é a densidade (kg/m3 ), V é a velocidade
(m/s) e D é o diâmetro (m). Para escoamentos turbulentos, a equação de Colebrook fornece uma maneira de calcular o fator de atrito
1
ε
2,51
+ √
√ = −2,0 log
3,7D
f
Re f
onde ε é a rugosidade (m) e Re é o número de Reynolds,
Re =
ρV D
μ
onde μ é a viscosidade dinâmica (N · s/m2 ).
(a) Determine p para uma extensão horizontal de 0,2 m de
comprimento de tubulação submersa lisa, dado que
ρ = 1,23 kg/m3 , μ = 1,79 × 10−5 N · s/m2 , D = 0,005 m,
V = 40 m/s e ε = 0,0015 mm. Use um método numérico para
determinar o fator de atrito. Observe que para os tubos lisos
com Re < 105 , uma boa aproximação inicial pode ser obtida
usando a fórmula Blasius, f = 0,316/Re0,25 .
(b) Repita os cálculos, agora para um tubo de aço comercial mais
rugoso (ε = 0,045 mm).
8.13 O pH da água é muito importante para os engenheiros ambientalistas e químicos. Ele pode ser relacionado a processos
177
variando de corrosão de tubos a chuva ácida. O pH está relacionado
com a concentração de íon hidrogênio por
pH = − log10 [H+ ]
As seguintes cinco equações governam a concentração da mistura
de dióxido de carbono e água em um sistema fechado:
K1 =
K2 =
[H+ ][HCO−
3]
[CO2 ]
+
[H ] CO2−
3
[HCO−
3]
K w = [H+ ][OH− ]
2−
cT = [CO2 ] + [HCO−
3 ] + CO3
2−
Alk = [HCO−
+ [OH− ] − [H+ ]
3 ] + 2 CO3
onde Alk é a alcalinidade, cT é o carbono inorgânico total e os K’s
são os coeficientes de equilíbrio. As cinco incógnitas são
[CO2 ] para o dióxido de carbono, [HCO−
3 ] para o bicarbonato,
−
+
[CO2−
3 ] para o carbonato, [H ] para íon hidrogênio e [OH ] para o
íon hidroxila. Determine as cinco incógnitas dado que
Alk = 2 × 10−3 , cT = 3 × 10−3 , K 1 = 10−6,3 , K 2 = 10−10,3 e
K w = 10−14 . Além disso, calcule o pH da solução.
8.14 A operação de um reator tubular de fluxo pistonado com densidade constante para a produção de uma substância por meio de
uma reação enzimática é descrita pela equação a seguir, onde V é o
volume do reator, F é a taxa de escoamento do reagente C, Cent e
Csaída são as concentrações dos reagentes entrando e saindo do
reator, respectivamente, e K e kmáx são constantes. Para um reator
com 500 L, com uma concentração de entrada de Cent = 0,5 M,
uma vazão de entrada de 40 L/s, kmáx = 5 × 10−3 s−1 e K = 0,1
M, encontre a concentração de C na saída do reator.
Csaída
K
1
V
dC
=−
+
F
k max C
k max
Cent
Engenharia Civil e Ambiental
8.15 O deslocamento de uma estrutura é definido pela seguinte
equação para uma oscilação amortecida:
y = 9e−kt cos ωt
onde k = 0,7 e ω = 4.
(a) Use o método gráfico para fazer uma estimativa inicial do
tempo necessário para que o deslocamento diminua para 3,5.
(b) Use o método de Newton-Raphson para determinar a raiz até
εs = 0,01%.
(c) Use o método da secante para determinar a raiz até
εs = 0,01%.
8.16 Na engenharia estrutural, a fórmula da secante define a força
por unidade de área P/A que causa uma tensão σm máxima em uma
coluna de taxa de finura dada L/k:
P
σm
=
√
A
1 + (ec/k 2 ) sec[0,5 P/(E A)(L/k)]
onde ec/k 2 é o raio de excentricidade e E é o módulo de elasticidade. Se para uma viga de aço E = 200.000 MPa, ec/k 2 = 0,4 e
σm = 250 MPa, calcule P/A para L/k = 50. Lembre-se de que
sec x = 1/cos x .
8.17 Um cabo catenário é um cabo que está pendurado entre dois
pontos que não estão na mesma reta vertical. Como descrito na
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
178
y
TB
B
Figura P8.17
A
(a) As forças agindo em uma seção
AB de um cabo flexível pendurado.
A carga é uniforme ao longo do cabo
(mas não é uniforme por distância
horizontal x). (b) Um diagrama de
corpo livre da seção AB.
w
W = ws
x
(a)
Figura P8.17a, ele não está sujeito a nenhuma carga além do seu
próprio peso. Portanto, seu peso (N/m) age como uma carga uniforme por unidade de comprimento ao longo do cabo. Um diagrama de corpo livre de uma seção AB é descrito na Figura P8.17b,
onde TA e TB são as forças de tensão nas extremidades. Com base
nos balanços de força horizontal e vertical, é possível deduzir a
seguinte equação diferencial para modelar o cabo:
2
d2 y
w
dy
=
1
+
2
dx
TA
dx
O cálculo pode ser usado para resolver essa equação para determinar a altura y do cabo como uma função da distância x,
TA
TA
w
y=
x + y0 −
cosh
w
TA
w
onde o cosseno hiperbólico pode ser calculado por
1
cosh x = (e x + e−x )
2
Use um método numérico para calcular um valor para o parâmetro
T A dados os valores para os parâmetros w = 12 e y0 = 6, tal que o
cabo tenha uma altura y = 15 em x = 50.
8.18 A Figura P8.18a mostra uma viga uniforme sujeita a uma
carga distribuída de forma linearmente crescente. A equação para a
curva elástica resultante é (ver Figura P8.18b)
w0
y=
(−x 5 + 2L 2 x 3 − L 4 x)
(P8.18)
120EIL
Figura P8.18
w0
(b)
Use a bissecção para determinar o ponto de deflexão máxima (isto
é, o valor de x onde dy/dx = 0). A seguir, substitua esse valor na
Equação (P8.18) para determinar o valor da deflexão máxima. Use
os seguintes valores dos parâmetros nos seus cálculos: L = 600
cm, E = 50.000 kN/cm2 , I = 30.000 cm4 e w0 = 2,5 kN/cm.
8.19 Na engenharia ambiental (uma área especializada da engenharia civil), a seguinte equação pode ser usada para calcular o
nível de oxigênio c (mg/L) em um rio a jusante de uma descarga
de esgoto:
c = 10 − 20(e−0,15x − e−0,5x )
onde x é a distância a jusante em quilômetros.
(a) Determine a distância a jusante onde o nível de oxigênio cai pela
primeira vez até a leitura de 5 mg/L. (Sugestão: está a menos de
2 km da descarga). Determine sua resposta a menos de um erro
de 1%. Observe que níveis de oxigênio abaixo de 5 mg/L, em
geral, são prejudiciais a peixes tais como trutas e salmões.
(b) Determine a distância a jusante na qual o oxigênio está em um
mínimo. Qual é a concentração nessa posição?
8.20 A concentração da bactéria poluente c em um lago diminui de
acordo com
c = 75e−1,5t + 20e−0,075t
Determine o tempo necessário para que a concentração de bactéria
seja reduzida a 15 usando (a) o método gráfico e (b) o método de
Newton-Raphson com aproximação inicial t = 6 e critério de parada 0,5%. Verifique seu resultado.
8.21 Na engenharia oceanográfica, a equação para uma onda estacionária em um cais é dada por λ = 16, t = 12, v = 48:
h = h0
(a)
(x = L, y = 0)
x
(b)
2πx
2πtv
−x
sen
cos
+e
λ
λ
Determine o menor valor positivo de x se h = 0,5h 0 .
8.22 Você comprou uma peça de equipamento de $ 25.000 sem entrada e pagando $ 5.500 por ano por seis anos. Qual a taxa de juros
que você está pagando? A fórmula que relaciona o valor atual P, os
pagamentos anuais A, o número de anos n e a taxa de juros i é
L
(x = 0, y = 0)
TA
y0
A=P
i(1 + i)n
(1 + i)n − 1
8.23 Muitos campos da engenharia necessitam de estimativas acuradas da população. Por exemplo, os engenheiros de transporte
PROBLEMAS
179
20 kips/ft
150 kip-ft
5’
2’
15 kips
1’
2’
Figura P8.24
podem achar necessário determinar separadamente a tendência de
crescimento da população de uma cidade e do subúrbio adjacente.
A população da área urbana está diminuindo com o tempo de
acordo com
Pu (t) = Pu,max e−ku t + Pu,min
enquanto a população suburbana está crescendo de acordo com
Ps,max
Ps (t) =
1 + [Ps,max /P0 − 1]e−ks t
onde Pu,max , ku , Ps,max , P0 e ks são parâmetros determinados empiricamente. Determine o tempo e os valores correspondentes de
Pu (t) e Ps (t) quando os subúrbios forem 20% maiores que a
cidade. Os valores dos parâmetros são Pu,max = 75,000, ku =
0,045/ano, Pu,mín = 100.000 pessoas, Ps,max = 300.000 pessoas,
P0 = 10.000 pessoas, ks = 0,08/ano. Para obter suas soluções, use
os métodos (a) gráfico, (b) falsa posição e (c) secante modificado.
8.24 Uma viga apoiada em apenas um ponto é carregada como
mostra a Figura P8.24. Usando funções de singularidade, a tensão
ao longo da viga pode ser expressa pela equação:
V (x) = 20[x − 01 − x − 51 ] − 15 x − 80 − 57
Por definição, a função de singularidade pode ser expressa como:
(x − a)n quando x > a
x − an =
0
quando x ≤ a
Use um método numérico para encontrar o(s) ponto(s) onde a tensão é igual a zero.
8.25 Para a mesma viga apoiada em um único ponto do Problema
8.24, o torque ao longo da viga é dado por:
M(x) = −10[x − 02 − x − 52 ] + 15 x − 81
+ 150 x − 70 + 57x
Use um método numérico para encontrar o(s) ponto(s) onde o
torque é igual a zero.
8.26 Para a mesma viga apoiada em um único ponto do Problema
8.24, a inclinação ao longo da viga é dada por:
du y
15
−10
x − 82
(x) =
[ x − 03 − x − 53 ] +
dx
3
2
57 2
+ 150 x − 71 +
x − 238,25
2
Use um método numérico para encontrar o(s) ponto(s) onde a inclinação é igual a zero.
8.27 Para a mesma viga apoiada em um único ponto do Problema
8.24, o deslocamento ao longo da viga é dado por:
−5
15
x − 82
u y (x) =
[ x − 04 − x − 54 ] +
6
6
57 3
+ 75 x − 72 +
x − 238,25x
6
(a) Encontre o(s) ponto(s) onde o deslocamento é igual a zero.
(b) Como você usaria uma técnica de localização de raízes para determinar a posição de deslocamento mínimo?
Engenharia Elétrica
8.28 Faça os mesmos cálculos que na Seção 8.3 para determinar o
valor C necessário para que o circuito dissipe até atingir 1% do seu
valor original em t = 0,05 s, dado que R = 280 e L = 7,5 H.
Use (a) uma abordagem gráfica, (b) bissecção e (c) um software de
localização de raízes tal como o Excel Solver ou a função fzero
do MATLAB.
8.29 Uma corrente oscilante em um circuito elétrico é descrita por
i = 9e−t cos(2πt), onde t está em segundos. Determine todos os
valores t tais que i = 3.
8.30 A resistividade ρ do silício dopado é baseada na carga q de
um elétron, na densidade eletrônica n e na mobilidade do elétron μ.
A densidade eletrônica é dada em termos da densidade da dopagem
N e da densidade de transporte intrínseca n i . A mobilidade do
elétron é descrita pela temperatura T, pela temperatura de referência T0 e pela mobilidade de referência μ0 . As equações necessárias
para o cálculo da resistividade são
1
ρ=
qnμ
onde
−2,42
T
1
2
2
μ = μ0
n=
N + N + 4n i
e
T0
2
Determine N dado que T0 = 300 K, T = 1000 K, μ0 = 1. 350 cm2
(V s)−1 , q = 1,7 × 10−19 C, n i = 6,21 × 109 cm−3 e uma resistividade desejada de ρ = 6,5 × 106 V s cm/C. Use o método (a) da
bissecção e (b) secante modificado.
8.31 Uma carga total Q está uniformemente distribuída ao redor de
um condutor circular de raio a. Uma carga q está localizada a uma
distância x do centro do anel (Figura P8.31). A força exercida na
carga pelo anel é dada por
1
q Qx
F=
4πe0 (x 2 + a 2 )3/2
onde e0 = 8,85 × 10−12 C2 /(N m2 ). Encontre a distância x onde a
força é 1,25 N se q e Q são 2 × 10−5 C para um anel de raio 0,9 m.
Figura P8.31
a
x
q
Q
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
180
R
ⵑ
L
C
Figura P8.32
8.32 A Figura 8.32 mostra um circuito com um resistor, um indutor e um capacitor em paralelo. As regras de Kirchhoff podem ser
usadas para exprimir a impedância do sistema como
1
=
Z
1
1 2
+ ωC −
R2
ωL
onde Z é a impedância () e ω é a freqüência angular. Encontre
a freqüência ω que resulta em uma impedância de 75 usando
tanto a bissecção quanto a falsa posição com aproximações iniciais de 1 e 1.000 para os seguintes parâmetros:
R = 225 , C = 0,6 × 10−6 F e L = 0,5 H. Determine quantas
interações de cada técnica são necessárias para determinar a resposta até εs = 0,1%. Use a abordagem gráfica para explicar quaisquer dificuldades que apareçam.
Engenharia Mecânica e Aeroespacial
8.33 Para o escoamento de fluidos em tubos, o atrito é descrito por
um número adimensional, o fator de atrito de Fanning f. O fator de
atrito de Fanning depende de diversos parâmetros relacionados ao
tamanho do tubo e ao fluido, os quais podem todos ser representados por uma outra quantidade adimensional, o número de Reynolds
Re. Uma fórmula que prevê f dado Re é a equação de von Karman,
1
√ = 4 log10 (Re
f
A conservação da energia pode ser usada para mostrar que
1
2k2 d 5/2
+ k1 d 2 − mgd − mgh
5
2
Figura P8.34
h
h+d
d
(a)
c p = 0,99403 + 1,671 × 10−4 T + 9,7215 × 10−8 T 2
−9,5838 × 10−11 T 3 + 1,9520 × 10−14 T 4
Determine a temperatura que corresponde a um calor específico de
1,1 kJ/(kg K).
8.36 Os engenheiros aeroespaciais algumas vezes calculam a trajetória de projéteis como foguetes. Um problema relacionado trata
da trajetória de uma bola lançada. A trajetória da bola é definida
pelas coordenadas (x, y) como mostrado na Figura P8.36. A trajetória pode ser modelada por
g
y = (tg θ0 )x − 2
x 2 + y0
2v0 cos2 θ0
Encontre o ângulo inicial apropriado θ0 , se a velocidade inicial for
v0 = 20 m/s e a distância do receptor x for 35 m. Observe que a
bola deixa a mão do lançador a uma elevação de y0 = 2 m e o receptor a recebe a 1 m. Expresse o resultado final em graus. Use um
valor de 9,81 m/s2 para g e utilize um método gráfico para encontrar suas aproximações iniciais.
y
f ) − 0,4
Para o escoamento turbulento, os valores típicos do número de
Reynolds estão entre 10.000 e 500.000 e os do fator de atrito
de Fanning estão entre 0,001 e 0,01. Desenvolva uma função que
use a bissecção para determinar f dado um valor fornecido pelo
usuário de Re entre 2.500 e 1.000.000. Desenvolva a função para que
ela garanta que o erro absoluto no resultado seja E a,d < 0,000005.
8.34 Os sistemas mecânicos reais podem envolver a deflexão de
molas não-lineares. Na Figura 8.34, uma massa m é abandonada a
uma distância h acima de uma mola não-linear. A força de resistência F da mola é dada por
F = − k1 d + k2 d 3/2
0=
Determine d dados os seguintes valores dos parâmetros:
k1 = 50.000g/s2, k2 = 40g/(s2 m0,5 ), m = 90 g, g = 9,81 m/s2 e
h = 0,45 m.
8.35 Os engenheiros mecânicos, da mesma forma que a maioria
dos outros engenheiros, utilizam a termodinâmica freqüentemente
nos seus trabalhos. O seguinte polinômio pode ser usado para relacionar o calor específico a pressão nula do ar seco, c p kJ/(kg K), à
temperatura (K):
(b)
v0
0
x
Figura P8.36
8.37 A velocidade para cima de um foguete pode ser calculada pela
seguinte fórmula:
m0
v = u ln
− gt
m 0 − qt
onde v é a velocidade para cima, u é a velocidade na qual o combustível é expelido com relação ao foguete, m0 é a massa inicial do
foguete no instante t = 0, q é a taxa de consumo de combustível, e
g é a aceleração da gravidade para baixo (suposta constante
e igual a = 9,81 m/s2 ). Se u = 2000 m/s, m 0 = 150.000 kg, e
q = 2700 kg/s, calcule o instante no qual a velocidade é igual a
750 m/s. (Sugestão: t está em algum ponto entre 10 e 50 s). Determine seu resultado de modo que ele esteja a menos de 1% do valor
verdadeiro. Verifique sua resposta.
8.38 Na Seção 8.4, o ângulo de fase φ entre a vibração forçada causada pela rugosidade da estrada e o movimento do carro é dado por
tg φ =
2(c/cc )(ω/p)
1 − (ω/p)2
PROBLEMAS
181
Como um engenheiro mecânico, você gostaria de saber se existem
casos em que φ = ω/3 − 1. Use os outros parâmetros da seção para
escrever a equação como um problema de raízes e determinar ω.
8.39 Dois fluidos em temperaturas diferentes entram em um misturador e saem à mesma temperatura. A capacidade térmica do fluido A é dada por
c p = 3,381 + 1,804 × 10−2 T − 4,300 × 10−6 T 2
e a capacidade do fluido B é dada por:
c p = 8,592 + 1,290 × 10−1 T − 4,078 × 10−5 T 2
onde c p está em unidades de cal/mol K, e T está em unidades de K.
Observe que
T2
H=
c p dT
T1
A entra no misturador a 400o C. B entra no misturador a 700o C. Há
duas vezes mais de A do que de B entrando no misturador. A qual
temperatura os dois fluidos saem do misturador?
8.40 Um compressor está operando à taxa de compressão Rc de
3,0 (a pressão de gás na saída é três vezes maior do que a pressão
de gás na entrada). Os requisitos de potência do compressor Hp
podem ser determinados a partir da equação a seguir. Supondo que
os requisitos de potência do compressor são exatamente iguais a
z RT1 /MW, encontre a eficiência politrópica n do compressor. O
parâmetro z é a compressibilidade do gás nas condições de operação do compressor, R é a constante do gás, T1 é a temperatura do
gás na entrada do compressor e MW é o peso molecular do gás.
q1 = 10−9 [(T0 + 273)4 − (T1 + 273)4 ]
q2 = 4(T1 − T2 )
q3 = 1,3(T2 − T3 )4/3
8.42 A forma geral para um campo de tensões tridimensional é
dada por
⎡
⎤
σx x σx y σx z
⎣ σx y σ yy σ yz ⎦
σx z σ yz σzz
onde os termos da diagonal representam as tensões de compressão
ou dilatação e os termos fora da diagonal representam a tensão de
cisalhamento. Um campo de tensões (em MPa) é dado por
⎡
⎤
10 14 25
⎣ 14 7 15 ⎦
25 15 16
Para determinar as tensões principais, é necessário construir a
seguinte matriz (novamente, em MPa):
⎡
⎤
10 − σ
14
25
⎣ 14
7−σ
15 ⎦
25
15
16 − σ
σ1 , σ2 e σ3 podem ser determinados a partir da equação
σ 3 − I σ 2 + II σ − III = 0
onde
I = σx x + σ yy + σzz
2
II = σx x σ yy + σx x σzz + σ yy σzz − σx2y − σx2z − σ yz
z RT1 n (n−1)/n
HP =
−1
R
MW n − 1 c
8.41 Na garrafa térmica mostrada na Figura P8.41, o compartimento mais interno é separado do compartimento do meio por
vácuo. Existe uma camada final ao redor da garrafa térmica. Essa
camada final é separada da camada do meio por uma fina camada
de ar. O lado de fora da última camada entra em contato com o ar
ambiente. A transferência de calor do compartimento interno para a
próxima camada q1 se dá apenas por radiação (já que existe vácuo
nesse espaço). A transferência de calor entre a camada do meio e a
camada externa q2 se dá por convecção em um pequeno espaço. A
transferência da camada externa para o ar q3 se dá por convecção
natural. O fluxo de calor em cada região da garrafa térmica deve ser
igual — isto é, q1 = q2 = q3 . Encontre as temperaturas T1 e T2 no
estado estacionário. T0 é 450o C e T3 ⫽ 25o C.
2
II = σx x σ yy σzz − σx x σ yz
− σ yy σx2z − σzz σx2y + 2σx y σx z σ yz
I, II, e III são conhecidos como invariantes da tensão. Encontre σ1 ,
σ2 e σ3 usando uma técnica para determinar raízes.
8.43 A Figura P8.43 mostra três reservatórios ligados por tubos
circulares. Os tubos, que são feitos de ferro fundido recoberto por
asfalto (ε = 0,0012 m), têm as seguintes características:
h1
A
h2
1
B
2
Q1
h3
Q2
3
Figura P8.41
Q3
C
Figura P8.43
Tubo
Comprimento, m
Diâmetro, m
Escoamento, m3/s
T3
T0
T1
T2
1
1800
0,4
?
2
500
0,25
0,1
3
1400
0,2
?
Se as elevações da superfície da água nos reservatórios A e C são
200 e 172,5 m, respectivamente, determine a elevação no reservatório B e o escoamento nos tubos 1 e 3. Observe que a viscosidade
cinemática da água é 1 × 10−6 m2 /s e use a equação de Colebrook
para determinar o fator de atrito (lembre-se do Problema 8.12).
ESTUDO DE CASOS: RAÍZES DE EQUAÇÕES
182
8.44 Um fluido é bombeado na rede de tubos mostrada na
Figura P8.44. No estado estacionário, os seguintes balanços de
escoamento precisam ser satisfeitos:
Q1 = Q2 + Q3
Q3 = Q4 + Q5
Q5 = Q6 + Q7
onde Q i é o escoamento no tubo i[m3 /s]. Além disso, as quedas de
pressão em torno dos três laços à direita devem ser nulas. A queda
de pressão em cada seção de tubo circular pode ser calculada por
P=
16 f Lρ 2
Q
π 2 2D 5
igual a zero, a espaçonave não irá girar em torno de seu centro de
massa G no lançamento. Com essas forças, a espaçonave terá uma
força resultante com componentes tanto na direção vertical quanto
na horizontal. A componente vertical da força resultante é a que
permite que a espaçonave seja lançada de sua plataforma de lançamento e que voe verticalmente. A componente horizontal da força
resultante faz com que a espaçonave voe horizontalmente. O torque
resultante agindo na espaçonave será nulo quando θ for ajustado no
valor adequado. Se esse ângulo não for ajustado adequadamente e
existir algum torque resultante agindo na espaçonave, ela tenderá a
girar em torno de seu centro de massa.
onde P é a queda de pressão [Pa], f é o fator de atrito (adimensional), L é o comprimento do tubo [m], ρ é a densidade do fluido
[kg/m3 ] e D é o diâmetro do tubo (m). Escreva um programa (ou
desenvolva um algoritmo em um pacote de software matemático)
que lhe permita calcular o escoamento em todas as seções de tubo
dado que Q 1 = 1 m3 /s e ρ = 1,23 kg/m3 . Todos os tubos têm
D = 500 mm e f = 0,005. Os comprimentos dos tubos são
L 3 = L 5 = L 8 = L 9 = 2 m; L 2 = L 4 = L 6 = 4 m e L 7 = 8 m.
Q1
28’
4’
Tanque externo
Q5
Q3
Foguete auxiliar
sólido
Q2
Q10
Q4
Q9
Q6
Q7
Módulo
orbital
Q8
G
Figura P8.44
8.45 Repita o Problema 8.44, mas incorpore o dado de que o fator
de atrito pode ser calculado com a equação de von Karman,
1
√ = 4 log10 (Re f ) − 0,4
f
onde Re é o número de Reynolds
ρV D
Re =
μ
onde V é a velocidade do fluido no tubo [m/s] e μ é a viscosidade
dinâmica (N · s/m2 ). Observe que, para um tubo circular,
V = 4Q/π D 2 . Além disso, suponha que o fluido tem viscosidade
de 1,79 × 10−5 N · s/m2 .
8.46 O ônibus espacial, no lançamento a partir de sua plataforma
de lançamento, tem quatro forças agindo sobre ele, as quais são
mostradas no diagrama de corpo livre (Figura P8.46). O peso combinado dos dois foguetes auxiliares sólidos e do tanque de combustível
externo é W B = 1,663 × 106 lb. O peso da nave espacial com
carga total é WS ⫽ 0,23 ⫻ 106 lb. O empuxo combinado dos dois
foguetes auxiliares sólidos é TB ⫽ 5,30 ⫻ 106 lb. O empuxo combinado dos três motores de combustível líquido do módulo orbital é
TS = 1,125 × 106 lb.
No lançamento, o empuxo do motor do módulo orbital está direcionado a um ângulo θ para fazer com que o torque resultante na
montagem total da espaçonave (tanque externo, foguetes auxiliares
sólidos e módulo orbital) seja igual a zero. Com o torque resultante
38’
WB
WS
TS
TB
Figura P8.46
(a) Decomponha o empuxo do módulo orbital TS em suas componentes horizontal e vertical e então some os torques relativos ao
ponto G, o centro de massa da espaçonave. Iguale a equação do
torque resultante a zero. Pode-se agora resolver essa equação
para determinar o valor de θ necessário para o lançamento.
PROBLEMAS
(b) Deduza uma equação para o torque resultante agindo na espaçonave em termos do ângulo θ . Trace o gráfico do momento
resultante como função do ângulo θ sobre um intervalo de 5
radianos a ⫹5 radianos.
(c) Escreva um programa computacional para determinar o ângulo
θ usando o método de Newton para encontrar a raiz da equação
183
do momento resultante. Escolha uma primeira aproximação
inicial para a raiz de interesse a partir do gráfico. Pare suas
iterações quando o valor de θ tiver mais que cinco algarismos
significativos.
(d) Repita o programa para um peso mínimo de carga extra no módulo orbital de W S = 195.000lb.
EPÍLOGO: PARTE DOIS
PT2.4 PRÓS E CONTRAS
A Tabela PT2.3 fornece um resumo dos prós e contras envolvidos na determinação de
raízes de equações algébricas e transcendentais. Embora os métodos gráficos sejam demorados, eles fornecem uma visualização do comportamento da função e são úteis na
identificação de aproximações iniciais e possíveis problemas como raízes múltiplas. Portanto, se o tempo permitir, um esboço rápido (ou, melhor ainda, um gráfico computadorizado) pode fornecer informações valiosas relativas ao comportamento da função.
Os próprios métodos numéricos estão divididos em duas categorias gerais: os métodos intervalares e os métodos abertos. Os primeiros exigem duas aproximações iniciais
que estão uma de cada lado de uma raiz.
Esse fato de delimitar a raiz é mantido à medida que a solução prossegue, e portanto,
essas técnicas são sempre convergentes. Entretanto, paga-se um preço por essa propriedade, já que a taxa de convergência é relativamente lenta.
As técnicas abertas diferem dos métodos intervalares no fato de que usam informação em um único ponto (ou dois valores que não precisam delimitar a raiz para extrapolar para uma nova estimativa da raiz). Tal propriedade é uma faca de dois gumes,
TABELA PT2.3 Comparação dos métodos alternativos para determinar raízes de equações algébricas e transcendentais.
As comparações são baseadas na experiência geral e não levam em conta o comportamento de
funções específicas.
Método
Aproximações
Taxa de
Iniciais
Convergência
Estabilidade
Acurácia
Amplitude de
Aplicação
Esforço de
Programação
Direto
Gráfico
—
—
—
—
—
—
—
Ruim
Limitada
Raízes reais
—
Bissecção
Falsa posição
FP modificado
Iteração de ponto
fixo
Newton-Raphson
2
2
2
1
Lenta
Lenta/média
Média
Lenta
Sempre
Sempre
Sempre
Possível divergência
Boa
Boa
Boa
Boa
Raízes reais
Raízes reais
Raízes reais
Geral
Fácil
Fácil
Fácil
Fácil
1
Rápida
Possível divergência
Boa
Geral
Fácil
Newton-Raphson
modificado
1
Possível divergência
Boa
Geral
Fácil
Secante
2
Rápida para raízes
múltiplas; média
para simples
Média a rápida
Possível divergência
Boa
Geral
Fácil
Média a rápida
Média a rápida
Rápida
Possível divergência
Possível divergência
Possível divergência
Boa
Boa
Boa
Geral
Polinômios
Polinômios
Fácil
Moderado
Moderado
Secante modificado 1
Müller
2
Bairstow
2
184
Comentários
Pode levar
mais tempo
do que os
métodos
numéricos
Exige o
cálculo de
f ’(x)
Exige o
cálculo de
f ”(x) e f’(x)
As aproximações
iniciais não
precisam
cercar a
raiz
PT2.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
185
pois, embora leve a uma convergência mais rápida, também permite que a solução possa
divergir. Em geral, a convergência nas técnicas abertas depende, em parte, da qualidade
da aproximação inicial e da natureza da função. Quanto mais próxima da raiz verdadeira
a aproximação estiver, mais provável será que os métodos convirjam.
Das técnicas abertas, o método de Newton-Raphson padrão é em geral usado por
causa de sua propriedade de convergência quadrática. Entretanto, sua maior deficiência é
que ele exige que a derivada da função seja calculada analiticamente. Para algumas
funções, isso não é prático. Nesses casos, o método da secante, que usa uma representação por diferença finita da derivada, fornece uma alternativa viável. Por causa da aproximação por diferença finita, a taxa de convergência do método da secante é inicialmente
mais lenta do que a do método de Newton-Raphson. Entretanto, à medida que a estimativa da raiz é refinada, a aproximação por diferença se torna uma representação melhor da
derivada verdadeira e a convergência acelera rapidamente. A técnica de Newton-Raphson
modificada pode ser usada para atingir uma convergência rápida no caso de raízes múltiplas. Mas tal técnica exige a expressão analítica para a primeira e a segunda derivadas.
Todos os métodos numéricos são fáceis de programar no computador e gastam um
tempo mínimo para determinar uma única raiz. Com base nisso, você poderia concluir
que um método simples como a bissecção seria suficientemente bom para os propósitos
práticos. Isso seria verdade se você estivesse interessado exclusivamente em determinar
a raiz de uma equação uma única vez. Entretanto, há muitos casos em engenharia nos
quais muitas localizações de raízes são necessárias e a velocidade se torna importante.
Nesses casos, os métodos lentos gastam muito tempo e são, portanto, caros. Por outro
lado, os métodos abertos rápidos podem divergir e os conseqüentes atrasos também
podem ser caros. Alguns algoritmos computacionais tentam aproveitar as vantagens de
ambas as classes de técnicas, utilizando inicialmente um método intervalar para se aproximar dela e então mudando para um método aberto para refinar rapidamente a estimativa. Se uma única abordagem ou uma combinação for usada, os prós e contras entre a
convergência e a velocidade estão no cerne da escolha da técnica de localização de raízes.
PT2.5 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT2.4 resume informações importantes que foram apresentadas na Parte Dois.
Ela pode ser consultada para acessar rapidamente relações e fórmulas importantes.
PT2.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Os métodos deste texto se concentraram na determinação de uma única raiz de uma
equação algébrica ou transcendental com base no conhecimento prévio de sua localização
aproximada. Além disso, também foram descritos métodos construídos especificamente
para determinar as raízes reais e complexas de polinômios. Referências adicionais sobre
o assunto são Ralston e Rabinowitz (1978) e Carnahan, Luther e Wilkes (1969).
Além dos métodos de Müller e Bairstow, diversas técnicas estão disponíveis para determinar todas as raízes de polinômios. Em particular, o algoritmo da diferença do quociente (Henrici, 1964, e Gerald e Wheatley, 1989) determina todas as raízes sem aproximações iniciais. Ralston e Rabinowitz (1978) e Carnahan, Luther e Wilkes (1969) contêm
discussões desse método, bem como de outras técnicas para localizar raízes de
polinômios. Como discutido no texto, os métodos de Jenkins-Traub e Laguerre são amplamente usados.
Em resumo, a discussão anterior tem o objetivo de mostrar um caminho para uma
exploração mais profunda do assunto. Além disso, todas as referências citadas fornecem
descrições das técnicas básicas cobertas na Parte Dois. Nós o encorajamos a consultar
essas fontes alternativas para ampliar seu entendimento dos métodos numéricos para a localização de raízes.1
1
Os livros são citados aqui apenas pelos autores, uma bibliografia completa é encontrada no final do texto.
186
EPÍLOGO: PARTE DOIS
TABELA PT2.4 Resumo das informações importantes apresentadas na Parte Dois.
Método
Interpretação
Gráfica
Formulação
Erros e
Critério de Parada
Métodos intervalares:
Bissecção
xl ⫹ xu
xr ⫽ ᎏ
2
f (x)
Se f(xl)f (xr) ⬍ 0, xu ⫽ xr
f (xl)f (xr) ⬎ 0, xl ⫽ xr
Critério de parada:
Raiz
xl
xu
L
⫺x
x
冨 ᎏᎏ
冨100% ⱕ ⑀
x
novo
r
x
velho
r
s
novo
r
L/2
L/4
f (x)
Falsa posição
f(xu)(xl ⫺ xu)
xr ⫽ xu ⫺ ᎏᎏ
f (xl) ⫺ f (xu)
Critério de parada:
a
d
or
Se f(xl)f (xr) ⬍ 0, xu ⫽ xr
f (xl)f (xr) ⬎ 0, xl ⫽ xr
xr
⫺x
x
冨 ᎏᎏ
冨100% ⱕ ⑀
x
novo
r
C
velho
r
s
novo
r
xl
xu
x
f (x)
Tangente
Newton-Raphson
Critério de parada:
⫺x
冨 xᎏ
冨100% ⱕ ⑀
x
i⫹1
f(xi)
xi⫹1 ⫽ xi ⫺ ᎏ
f⬘(xi)
xi + 1
xi
x
f (x)
Secante
i
s
i⫹1
Erro: Ei⫹1 ⫽
0(Ei2)
Critério de parada:
冨ᎏ
冨100% ⱕ ⑀
x
f (xi)(xi⫺1 ⫺ xi)
xi⫹1 ⫽ xi ⫺ ᎏᎏ
f (xi⫺1) ⫺ f (xi)
xi⫹1 ⫺ xi
i⫹1
xi + 1
xi xi – 1
x
s
PARTE TRÊS
EQUAÇÕES ALGÉBRICAS
LINEARES
PT3.1 MOTIVAÇÃO
Na Parte Dois, foi determinado o valor de x que satisfaz uma única equação, f (x) = 0.
Agora, será abordado o caso de determinar os valores x1, x2, . . . , xn que satisfazem simultaneamente um conjunto de equações
f 1 (x1 , x2 , . . . , xn ) = 0
f 2 (x1 , x2 , . . . , xn ) = 0
·
·
·
·
·
·
f n (x1 , x2 , . . . , xn ) = 0
Tais sistemas podem ser ou lineares ou não-lineares. Na Parte Três, tratamos das
equações algébricas lineares que têm a forma geral
a11 x1 + a12 x2 + · · · + a1n xn = b1
a21 x1 + a22 x2 + · · · + a2n xn = b2
.
.
.
.
.
.
(PT3.1)
an1 x1 + an2 x2 + · · · + ann xn = bn
onde os a's são coeficientes constantes, os b's são constantes e n é o número de equações.
Todas as outras equações são não-lineares. Os sistemas não-lineares foram discutidos no
Capítulo 6 e serão de novo abordados brevemente no Capítulo 9.
PT 3.1.1 Métodos Não-computacionais para Resolver Sistemas
de Equações
Para um número pequeno de equações (n ≤ 3), as equações lineares (e, às vezes, as nãolineares) podem ser resolvidas rapidamente por técnicas simples. Alguns desses métodos
serão revistos no Capítulo 9. Entretanto, para quatro ou mais equações, as soluções se tornam trabalhosas e os computadores devem ser utilizados. Historicamente, a impossibilidade de resolver todos os conjuntos de equações — exceto os menores — à mão limitou
o alcance de problemas tratados em várias aplicações da engenharia.
Antes dos computadores, as técnicas para resolver equações algébricas lineares eram
lentas e desconfortáveis. Essas abordagens restringem a criatividade, pois os métodos
são, em geral, difíceis de implementar e entender. Conseqüentemente, as técnicas eram,
algumas vezes, superenfatizadas à custa de outros aspectos do processo de resolução do
problema, como a formulação e a interpretação (lembre-se da Figura PT1.1 e da discussão
que a acompanha).
O advento de computadores facilmente acessíveis tornou possível e prática a resolução de grandes conjuntos de equações algébricas lineares simultâneas. E, portanto,
você pode abordar exemplos e problemas mais realistas e complexos. Além disso, você
terá mais tempo para testar suas habilidades criativas, pois poderá pôr mais ênfase na formulação do problema e na interpretação da solução.
188
PT3.1 MOTIVAÇÃO
189
PT3.1.2 Equações Algébricas Lineares e a Prática da Engenharia
Muitas das equações fundamentais da engenharia são baseadas em leis de conservação
(lembre-se da Tabela 1.1). Algumas quantidades familiares que se submetem a tais leis
são massa, energia e momento. Em termos matemáticos, esses princípios levam a
equações de continuidade ou de balanço que relacionam o comportamento do sistema,
representado por seus níveis ou respostas das quantidades que estão sendo modeladas, às
propriedades ou características do sistema e aos estímulos externos ou termos forçantes
agindo sobre o sistema.
Como um exemplo, o princípio de conservação de massa pode ser usado para formular um modelo para uma série de reatores químicos (Figura PT3.1a). Para esse caso, a
quantidade sendo modelada é a massa do composto químico em cada reator. As propriedades do sistema são as características da reação do composto químico e o tamanho
dos reatores e as vazões. Os termos forçantes são as taxas de alimentação dos compostos
químicos no sistema.
Na Parte Dois, você viu como os sistemas com uma única componente resultam em
uma única equação que pode ser resolvida usando-se as técnicas de localização de raízes.
Sistemas com componentes múltiplas resultam em um conjunto de equações matemáticas
acopladas, que devem ser resolvidas simultaneamente. As equações são acopladas porque
as partes individuais do sistema são influenciadas pelas outras partes. Por exemplo, na
Figura PT3.1a o reator 4 recebe entradas dos reatores 2 e 3. Conseqüentemente, sua resposta depende das quantidades dos compostos químicos nesses outros reatores.
Quando essas dependências são expressas matematicamente, as equações resultantes
são, muitas vezes, da forma algébrica linear da Equação (PT3.1). Os x's são em geral medidas das intensidades das respostas de componentes individuais. Usando a Figura
PT3.1a como um exemplo, x1 poderia indicar a quantidade de massa no primeiro reator,
x2 poderia indicar a quantidade no segundo e assim por diante. Os a’s representam tipicamente as propriedades e características que produzem as interações entre as componentes.
Por exemplo, os a’s para a Figura PT3.1a poderiam refletir as vazões em massa entre os
reatores. Finalmente, os b’s representam os termos forçantes agindo sobre o sistema,
como a taxa de alimentação na Figura PT3.1a. As aplicações no Capítulo 12 fornecem
outros exemplos de tais equações vindas da prática da engenharia.
FIGURA PT3.1
Dois tipos de sistemas que podem ser modelados usando equações algébricas lineares:
(a) sistemas de variáveis agrupadas que envolvem componentes finitas acopladas e
(b) sistemas de variáveis distribuídas que envolvem um contínuo.
x3
Alimentação
x1
x5
x2
x4
(a)
Alimentação
x1
…
xi1
x1
(b)
xi1
…
xn
190
EQUAÇÕES ALGÉBRICAS LINEARES
Problemas com várias componentes do tipo citado surgem de modelos matemáticos
de variáveis tanto agrupadas (macro) quanto distribuídas (micro) (Figura PT3.1). Problemas de variáveis agrupadas envolvem componentes finitas acopladas. Os exemplos incluem treliças (Seção 12.2), reatores (Figura PT3.1a e Seção 12.1) e circuitos elétricos
(Seção 12.3). Esses tipos de problemas usam modelos que fornecem pouco ou nenhum
detalhe espacial.
Reciprocamente, problemas de variáveis distribuídas tentam descrever detalhes espaciais de sistemas em uma base contínua ou semicontínua. A distribuição de compostos
químicos ao longo do comprimento de um reator retangular alongado (Figura PT3.1b) é
um exemplo de um modelo de variável contínua. As equações diferenciais deduzidas das
leis de conservação especificam a distribuição das variáveis dependentes para tais sistemas. Essas equações diferenciais podem ser resolvidas numericamente transformando-as
em um sistema equivalente de equações algébricas simultâneas. A solução de tais conjuntos de equações representa uma área de aplicação importante na engenharia para os métodos nos capítulos seguintes. Essas equações são acopladas, pois as variáveis em uma
posição dependem das variáveis nas regiões adjacentes. Por exemplo, a concentração no
meio do reator é uma função da concentração nas regiões adjacentes. Exemplos similares
podem ser desenvolvidos para distribuições espaciais de temperatura ou momento. Iremos
tratar de tais problemas quando discutirmos as equações diferenciais mais adiante no livro.
Além dos sistemas físicos, as equações algébricas lineares simultâneas também
aparecem em uma variedade de contextos de problemas matemáticos. Elas ocorrem
quando exigimos que funções matemáticas satisfaçam várias condições simultâneas.
Cada condição resulta em uma equação que tem coeficientes conhecidos e variáveis indeterminadas. As técnicas discutidas nesta parte podem ser utilizadas para determinar as
incógnitas quando as equações forem lineares e algébricas. Algumas técnicas numéricas
amplamente utilizadas baseadas em equações simultâneas são a análise de regressão
(Capítulo 17) e a interpolação por splines (Capítulo 18).
PT3.2 FUNDAMENTOS MATEMÁTICOS
Todas as partes deste livro requerem algum fundamento matemático. Para a Parte Três, a
notação e a álgebra matricial são úteis, pois fornecem uma forma concisa de representar
e manipular equações algébricas lineares. Se você já estiver familiarizado com matrizes,
sinta-se livre para pular para a Seção PT3.3. Para aqueles que não estão familiarizados ou
querem uma revisão, o material a seguir fornece uma breve introdução ao assunto.
PT3.2.1 Notação Matricial
Uma matriz consiste em uma tabela retangular de elementos representados por um único
símbolo. Como mostrado na Figura PT3.2, [A] é a notação abreviada para a matriz e aij
designa um elemento individual da matriz.
Um conjunto horizontal de elementos é chamado de linha e um conjunto vertical é
chamado de coluna. O primeiro índice i sempre representa o número da linha no qual o
FIGURA PT3.2
Uma matriz.
Coluna 3
a11
⎢a
⎢ 21
⎢
⎢ .
[A] = ⎢
⎢ .
⎢
⎢
⎣ .
an1
⎡
a12
a13
...
a1m
a22
.
.
.
an2
a23
...
an3
a2m ⎥
⎥ Linha 2
⎥
. ⎥
⎥
. ⎥
⎥
⎥
. ⎦
. . . anm
⎤
PT3.2 FUNDAMENTOS MATEMÁTICOS
191
elemento está. O segundo índice j designa a coluna. Por exemplo, o elemento a23 está na
linha 2 e coluna 3.
A matriz na Figura PT3.2 tem n linhas e m colunas e dizemos que tem dimensão n
por m (ou n × m). Ela é chamada de uma matriz n por m.
As matrizes com número de linhas n = 1, tais como
[B] = [b1
b2
· · · bm ]
são chamadas vetores linha. Observe que, por simplicidade, o primeiro índice de cada
elemento foi omitido. Também se deve mencionar que, alguma vezes, é desejável empregar uma notação abreviada especial para diferenciar uma matriz linha de outros tipos de
matrizes. Uma forma de fazer isso é utilizar colchetes abertos em cima, como em ⌊B⌋.
As matrizes com número de colunas m = 1, tais como
⎡ ⎤
c1
⎢ c2 ⎥
⎢ ⎥
⎢ . ⎥
⎥
[C] = ⎢
⎢ . ⎥
⎢ ⎥
⎣ . ⎦
cn
são chamadas de vetores coluna. Por simplicidade, o segundo índice é omitido. Como nos
vetores linha, há ocasiões nas quais é desejável empregar uma notação abreviada especial
para diferenciar uma matriz coluna de outros tipos de matrizes. Uma forma de fazer isso
é usar chaves, como em {C}.
As matrizes em que n = m são chamadas matrizes quadradas. Por exemplo, uma
matriz 4 por 4 é
⎤
⎡
a11 a12 a13 a14
⎥
⎢a
⎢ 21 a22 a23 a24 ⎥
[A] = ⎢
⎥
⎣ a31 a32 a33 a34 ⎦
a41 a42 a43 a44
A diagonal consistindo nos elementos a11, a22, a33 e a44 é chamada diagonal principal
da matriz.
As matrizes quadradas são particularmente importantes quando resolvemos conjuntos de equações lineares simultâneas. Para tais sistemas, o número de equações (correspondentes às linhas) e o número de incógnitas (correspondentes às colunas) devem ser
iguais para que seja possível uma solução única. Conseqüentemente, são encontradas
matrizes de coeficientes quadradas quando lidamos com tais sistemas. Alguns tipos especiais de matrizes quadradas são descritas no Quadro PT3.1.
PT3.2.2 Regras de Operações Matriciais
Agora que foi especificado o que queremos dizer por matriz, pode-se definir certas operações que governam o seu uso. Duas matrizes n por m são iguais se, e somente se, todo
elemento na primeira é igual a todo elemento na segunda, isto é, [A] = [B] se aij = bij para
todo i e j.
A adição de duas matrizes, digamos [A] e [B], é feita somando-se os termos correspondentes em cada matriz. Os elementos da matriz resultante [C ] são calculados por
ci j = ai j + bi j
para i = 1, 2, . . . , n e j = 1, 2, . . . , m. Analogamente, a subtração de duas matrizes, digamos, [E] menos [F ], é obtida subtraindo-se os termos correspondentes, como em
di j = ei j − f i j
para i = 1, 2, . . . , n e j = 1, 2, . . . , m. Segue diretamente dessas definições que a adição e
a subtração podem ser efetuadas apenas entre matrizes com as mesmas dimensões.
EQUAÇÕES ALGÉBRICAS LINEARES
192
Quadro PT3.1
Tipos Especiais de Matrizes Quadradas
Há algumas formas especiais de matrizes quadradas que são importantes e devem ser observadas:
Uma matriz simétrica é aquela em que aij = aji para todos os
i’s e j’s. Por exemplo,
⎤
⎡
5 1 2
⎥
⎢
[A] = ⎣ 1 3 7 ⎦
2 7 8
é uma matriz 3 por 3 simétrica.
Uma matriz diagonal é uma matriz quadrada cujos elementos
fora da diagonal principal são iguais a zero, como em
⎡
⎤
a11
⎢
⎥
a22
⎢
⎥
[A] = ⎢
⎥
⎣
⎦
a33
a44
Observe que, quando blocos grandes de elementos são nulos, eles
são deixados em branco.
Uma matriz-identidade é uma matriz diagonal na qual todos
os elementos da diagonal principal são iguais a 1, como em
⎡
⎢
⎢
[I ] = ⎢
⎣
1
⎤
1
1
1
⎥
⎥
⎥
⎦
O símbolo [I] é usado para denotar a matriz identidade. A matriz
identidade tem propriedades similares à unidade.
Uma matriz triangular superior é uma matriz em que todos
os elementos abaixo da diagonal principal são zero, como em
⎡
⎤
a11 a12 a13 a14
⎢
a22 a23 a24 ⎥
⎢
⎥
[A] = ⎢
⎥
⎣
a33 a34 ⎦
a44
Uma matriz triangular inferior é uma matriz em que todos os
elementos acima da diagonal principal são zero, como em
⎤
⎡
a11
⎥
⎢a
⎥
⎢ 21 a22
[A] = ⎢
⎥
⎦
⎣ a31 a32 a33
a41 a42 a43 a44
Uma matriz de banda
zero, com a possível exceção
principal:
⎡
a11 a12
⎢a
⎢ 21 a22 a23
[A] = ⎢
⎣
a32 a33
a43
tem todos os elementos iguais a
de uma faixa centrada na diagonal
⎤
⎥
⎥
⎥
a34 ⎦
a44
Essa matriz possui largura da banda 3 e tem um nome especial — matriz tridiagonal.
Ambas, a adição e a subtração, são comutativas:
[A] + [B] = [B] + [A]
A adição e a subtração são também associativas, isto é,
([A] + [B]) + [C] = [A] + ([B] + [C])
A multiplicação de uma matriz [A] por um escalar g é obtida multiplicando-se todo elemento de [A] por g, como em
⎡
⎤
ga11 ga12 · · · ga1m
⎢ ga21 ga22 · · · ga2m ⎥
⎢
⎥
⎢
⎥
·
·
· ⎥
[D] = g[A] = ⎢
⎢
⎥
·
· ⎥
⎢ ·
⎣ ·
·
· ⎦
gan1 gan2 · · · ganm
O produto de duas matrizes é representado por [C] = [A][B], em que os elementos de [C]
são definidos por (ver Quadro PT3.2 para uma forma simples de visualizar a multiplicação de matrizes)
ci j =
n
aik bk j
(PT3.2)
k=1
onde n é o número de colunas de [A] e o número de linhas de [B]. Isto é, o elemento cij é
obtido somando-se o produto dos elementos individuais da i-ésima linha da primeira matriz, no caso [A], com a j-ésima coluna da segunda matriz, [B].
PT3.2 FUNDAMENTOS MATEMÁTICOS
Quadro PT3.2
Um Método Simples para Multiplicar Duas Matrizes
Apesar de a Equação (PT3.2) ser bem apropriada para ser implementada em um computador, ela não é a forma mais simples de visualizar o mecanismo de multiplicação de duas matrizes. O que
segue dá uma expressão mais concreta à operação.
Suponha que queremos multiplicar [X] por [Y ] para obter
[Z ],
⎡
⎤
3 1
5 9
[Z ] = [X][Y ] = ⎣ 8 6 ⎦
7 2
0 4
5 9
7 2
↓
⎤
⎡
3 1 → 3 × 5 + 1 × 7 = 22
⎣8 6⎦
⎣
0 4
⎡
⎤⎡
3 1
[X] → ⎣ 8 6 ⎦ ⎣
0 4
↓
⎡
⎤
22
3 1
⎣ 8 6 ⎦ → ⎣ 8 × 5 + 6 × 7 = 82
0 4
?
⎡
← [Y ]
⎤
⎦ ← [Z ]
Agora, a resposta [Z ] pode ser calculada no espaço vago deixado
por [Y ]. Essa forma tem utilidade já que alinha as linhas e as colunas apropriadas que devem ser multiplicadas. Por exemplo, de
acordo com a Equação (PT3.2), o elemento z11 é obtido multiplicando-se a primeira linha de [X ] pela primeira coluna de [Y ]. Isso
significa somar o produto de x11 e y11 ao produto de x12 e y21,
como em
⎦
5 9
7 2
⇑
⎡
⎤
Então, z11 é igual a 22. O elemento z21 pode ser calculado de
maneira similar, como em
Uma forma simples de visualizar o cálculo de [Z ] é levantar [Y ],
como em
5 9
7 2
193
⎤
⎦
O cálculo continua dessa forma, seguindo o alinhamento das
linhas e colunas, fornecendo o resultado
⎡
⎤
22 29
[Z ] = ⎣ 82 84 ⎦
28 8
Observe como esse método simples torna claro por que é impossível multiplicar duas matrizes se o número de colunas da
primeira não for igual ao número de linhas da segunda. Além disso,
observe como ele ilustra que a ordem da multiplicação é importante (isto é, a multiplicação de matrizes não é comutativa).
De acordo com essa definição, a multiplicação de matrizes pode ser efetuada apenas
quando a primeira matriz tem tantas colunas quanto o número de linhas da segunda matriz. Então, se [A] é uma matriz n por m, [B] pode ser uma matriz m por l. Nesse caso, a
matriz resultante [C] terá dimensão n por l. Entretanto, se [B] fosse uma matriz l por m,
a multiplicação não poderia ser efetuada. A Figura PT3.3 fornece uma forma fácil de verificar quando duas matrizes podem ser multiplicadas.
Se as dimensões das matrizes forem adequadas, a multiplicação de matrizes será
associativa,
([A][B])[C] = [A]([B][C])
FIGURA PT3.3
[A]n ⴛ m
[B]m ⴛ l ⴝ [C]n ⴛ l
Dimensões internas
são iguais; a
multiplicação
é possível
Dimensões externas definem
as dimensões do resultado
194
EQUAÇÕES ALGÉBRICAS LINEARES
e distributiva,
[A]([B] + [C]) = [A][B] + [A][C]
ou
([A] + [B])[C] = [A][C] + [B][C]
Porém, em geral, a multiplicação não é comutativa:
[A][B] = [B][A]
Isto é, a ordem na multiplicação é importante.
A Figura PT3.4 mostra um pseudocódigo para multiplicar uma matriz [A] n por m
por uma matriz [B] m por l e armazenar o resultado em uma matriz [C] n por l. Observe
que, em vez de o produto interno ser diretamente acumulado em [C], ele é guardado em
uma variável temporária, soma, o que é feito por duas razões. Primeiro, isso é um pouco
mais eficiente, pois o computador precisa determinar a posição de ci, j apenas n × l vezes
em vez de n × l × m vezes. Segundo, a precisão da multiplicação pode ser bastante melhorada declarando-se a soma como uma variável de dupla precisão (lembre-se da discussão de produtos internos na Seção 3.4.2).
Apesar de a multiplicação ser possível, a divisão de matrizes não é uma operação
definida. Porém, se a matriz [A] for quadrada e não singular, existe uma outra matriz
[A]−1, chamada a inversa de [A], tal que
[A][A]−1 = [A]−1 [A] = [I ]
(PT3.3)
Assim, a multiplicação de uma matriz pela sua inversa é o análogo da divisão, no sentido
de que um número dividido por si mesmo é igual a 1. Isto é, a multiplicação de uma matriz pela sua inversa resulta na matriz identidade (lembre-se do Quadro PT3.1).
A inversa de uma matriz quadrada de dimensão 2 pode ser representada simplesmente por
[A]−1 =
1
a11 a22 − a12 a21
a22
−a21
−a12
a11
(PT3.4)
Fórmulas semelhantes para matrizes de dimensão maior são muito mais complexas. Algumas seções nos Capítulos 10 e 11 serão dedicadas a técnicas para usar métodos numéricos e o computador para calcular a inversa de tais matrizes.
Duas outras manipulações de matrizes que terão utilidade na nossa discussão são a
transposta e o traço de uma matriz. A transposta de uma matriz envolve transformar suas
linhas em colunas e suas colunas em linhas. Por exemplo, para a matriz 4 × 4,
⎡
⎤
a11 a12 a13 a14
⎢ a21 a22 a23 a24 ⎥
⎥
[A] = ⎢
⎣ a31 a32 a33 a34 ⎦
a41
FIGURA PT3.4
a42
a43
a44
SUBROUTINE Mmult (a, b, c, m, n, l)
DOFOR i 1, n
DOFOR j 1, l
soma 0.
DOFOR k 1, m
soma soma a(i,k) ⭈ b(k,j)
END DO
c(i,j) ⫽ soma
END DO
END DO
PT3.2 FUNDAMENTOS MATEMÁTICOS
195
a transposta, denotada por [A]T, é definida por
⎡
a11
⎢
a
12
[A]T = ⎢
⎣ a13
a14
a21
a22
a23
a24
a31
a32
a33
a34
⎤
a41
a42 ⎥
⎥
a43 ⎦
a44
Em outras palavras, o elemento aij da transposta é igual ao elemento aji da matriz original.
A transposta tem uma grande variedade de funções na álgebra das matrizes. Uma
vantagem simples é que ela permite que uma coluna seja escrita como uma linha. Por
exemplo, se
⎧ ⎫
c1 ⎪
⎪
⎪
⎬
⎨c ⎪
2
{C} =
⎪
c ⎪
⎪
⎭
⎩ 3⎪
c4
então
{C}T = ⌊c1
c2
c3
c4 ⌋
onde o sobrescrito T designa a transposta. Por exemplo, isso pode economizar espaço
quando escrevemos um vetor coluna em um texto. Além disso, a transposta tem inúmeras
aplicações matemáticas.
O traço de uma matriz é a soma dos elementos da diagonal principal. Ele é denotado
por tr [A] e é calculado por
tr [A] =
n
aii
i=1
O traço será utilizado na discussão sobre autovalores no Capítulo 27.
A última manipulação de matrizes que terá utilidade na nossa discussão é o aumento.
A matriz é aumentada pela adição de uma coluna (ou colunas) à matriz original. Por
exemplo, suponha que temos uma matriz de coeficientes:
a11
⎣
[A] = a21
a31
⎡
a12
a22
a32
⎤
a13
a23 ⎦
a33
Você poderia querer aumentar essa matriz [A] com a matriz identidade (lembre-se do
Quadro PT3.1) para produzir uma matriz de dimensão 3 por 6:
a11
⎣
[A] = a21
a31
⎡
a12
a22
a32
a13
a23
a33
⎤
1 0 0
0 1 0⎦
0 0 1
Tal expressão tem utilidade quando é preciso efetuar um conjunto de operações idênticas
em duas matrizes. Assim, pode-se efetuar as operações na matriz aumentada em vez de
fazê-lo nas duas matrizes individuais.
PT3.2.3 Representando Equações Algébricas Lineares na Forma
Matricial
Deve ficar claro que as matrizes fornecem uma notação concisa para representar equações
lineares simultâneas. Por exemplo, a Equação (PT3.1) pode ser expressa por
[A]{X} = {B}
(PT3.5)
196
EQUAÇÕES ALGÉBRICAS LINEARES
onde [A] é a matriz quadrada n por n de coeficientes,
⎡
⎤
a11 a12 · · · a1n
⎢ a21 a22 · · · a2n ⎥
⎢
⎥
⎢ .
.
. ⎥
⎢
⎥
[A] = ⎢
⎥
⎢ .
.
. ⎥
⎢
⎥
⎣ .
.
. ⎦
an1 an2 · · · ann
{B} é o vetor coluna n ⫻ 1 de constantes,
{B}T = ⌊b1
b2 · · · bn ⌋
{X}T = ⌊x1
x2 · · · xn ⌋
e {X} é o vetor coluna n ⫻ 1 de incógnitas:
Recorde a definição de multiplicação de matrizes [Equação (PT3.2) ou Quadro PT3.2]
para se convencer de que as Equações (PT3.1) e (PT3.5) são equivalentes. Além disso,
observe que a Equação (PT3.5) é uma multiplicação de matrizes válida, pois o número de
colunas, n, da primeira matriz [A] é igual ao número de linhas, n, da segunda matriz {X}.
Esta parte do livro é dedicada a resolver a Equação (PT3.5), para determinar {X}.
Uma maneira formal de obter a solução usando álgebra de matrizes é multiplicar cada
lado da equação pela inversa de [A] para obter
[A]−1 [A]{X} = [A]−1 {B}
Como [A]−1[A] é igual à matriz-identidade, a equação se torna
{X} = [A]−1 {B}
(PT3.6)
Então, a equação foi resolvida e {X} foi determinado. Esse é um outro exemplo de como
a inversa desempenha um papel na álgebra de matrizes que é semelhante à divisão. Devemos observar que esse não é um método muito eficiente para resolver um sistema de
equações. Portanto, outras abordagens são empregadas nos algoritmos numéricos. Entretanto, como discutido no Capítulo 10, a própria matriz inversa tem grande importância na
análise de tais sistemas.
Finalmente, algumas vezes, será útil aumentar [A] com {B}. Por exemplo, se n = 3,
isso resulta na matriz de dimensões 3 por 4:
⎡
⎤
a11 a12 a13
b1
[A] = ⎣ a21 a22 a23
b2 ⎦
(PT3.7)
a31
a32
a33
b3
Expressar as equações nessa forma é útil, pois diversas técnicas para resolver sistemas lineares executam operações idênticas na linha de coeficientes e na constante correspondente do lado direito da equação. Como mostrado na Equação (PT3.7), pode-se
efetuar a manipulação uma única vez na linha da matriz aumentada em vez de efetuá-la
na matriz dos coeficientes e no vetor coluna do lado direito.
PT3.3 ORIENTAÇÃO
Antes de prosseguir para os métodos numéricos, mais um pouco de orientação pode ser
útil. A seção a seguir tem a intenção de fornecer uma visão geral do material discutido na
Parte Três. Além disso, formulamos alguns objetivos para ajudá-lo a concentrar seus esforços quando estudar este material.
PT3.3.1 Escopo e Visão Geral
A Figura PT3.5 fornece uma visão geral da Parte Três. O Capítulo 9 é dedicado à técnica
mais fundamental para resolver sistemas algébricos lineares: eliminação de Gauss. Antes
de uma discussão detalhada dessa técnica, uma seção preliminar trata dos métodos simples para resolver sistemas pequenos. Essas técnicas são apresentadas para fornecer uma
PT3.3 ORIENTAÇÃO
197
percepção visual e porque um dos métodos — a eliminação de incógnitas — representa a
base da eliminação de Gauss.
Depois do material preliminar, a eliminação de Gauss “ingênua” é discutida.
Começamos com essa versão simplificada porque ela permite que a técnica fundamental
seja elaborada, sem detalhes complicados. Então, nas seções subseqüentes, serão discutidos problemas em potencial da abordagem ingênua e apresentadas diversas modificações
pra minimizar e contornar esses problemas. O foco da discussão será o processo de permutar linhas, ou o pivotamento parcial.
O Capítulo 10 começa ilustrando como a eliminação de Gauss pode ser formulada
como uma decomposição LU. Tais técnicas de solução são valiosas para os casos em que
muitos vetores do lado direito precisam sem calculados. É mostrado como esse atributo
permite o cálculo eficiente da matriz inversa, o que tem tremenda utilidade na prática da
engenharia. O capítulo termina com uma discussão do condicionamento de matrizes. O
número de condicionamento é apresentado como uma medida da perda de algarismos significativos de acurácia que pode ocorrer ao se resolver matrizes mal condicionadas.
FIGURA PT3.5
Esquema da organização do material na Parte Três: Sistemas de Equações Algébricas Lineares.
PT 3.1
PT 3.2
Fundamentos
matemáticos
Motivação
PT 3.6
Métodos
avançados
PT 3.3
Orientação
PARTE 3
9.1
Sistemas
pequenos
9.2
Eliminação de
Gauss ingênua
Equações
Algébricas
Lineares
PT 3.5
Fórmulas
importantes
EPÍLOGO
9.3
Armadilhas dos
métodos de
eliminação
CAPÍTULO 9
9.4
Técnicas para
melhorar soluções
Eliminação
de Gauss
9.5
Sistemas
complexos
PT 3.4
Prós e contras
9.7
Gauss-Jordan
10.1
Decomposição
LU
12.4
Engenharia
mecânica
12.3
Engenharia
elétrica
12.2
Engenharia
civil
9.6
Sistemas de
equações
não-lineares
CAPÍTULO 12
CAPÍTULO 10
Estudos de Caso:
Equações
Algébricas
Lineares
Decomposição LU
e Inversão de
Matrizes
12.1
Engenharia
química
10.2
A matriz
inversa
CAPÍTULO 11
10.3
Condicionamento
do sistema
Matrizes Especiais
e Gauss-Seidel
11.3
Bibliotecas
e pacotes
11.1
Matrizes
especiais
11.2
GaussSeidel
198
EQUAÇÕES ALGÉBRICAS LINEARES
O começo do Capítulo 11 se concentra em tipos especiais de sistemas de equações
que têm ampla gama de aplicações na engenharia. Em particular, são apresentadas técnicas eficientes para resolver sistemas tridiagonais. Então, o resto do capítulo se concentra
em uma alternativa para os métodos de eliminação chamada método de Gauss-Seidel.
Essa técnica é semelhante aos métodos de aproximação de raízes de equações que foram
discutidos no Capítulo 6. Isto é, a técnica envolve escolher uma solução aproximada e
então iterar para obter uma estimativa refinada. O capítulo termina com informações relacionadas à resolução de equações algébricas lineares com pacotes e bibliotecas de software.
O Capítulo 12 mostra como os métodos podem de fato ser aplicados para resolver
problemas. Como em outras partes do livro, as aplicações são extraídas de todos os campos da engenharia.
Finalmente, um epílogo é incluído no final da Parte Três. Essa revisão inclui uma
discussão dos prós e contras relevantes para a implementação dos métodos na prática da
engenharia. A seção também resume as fórmulas importantes e os métodos avançados
relacionados às equações algébricas lineares. Assim, ela pode ser usada antes dos exames
ou como lembrete depois que você se formar e precisar voltar às equações algébricas lineares como profissional.
PT3.3.2 Metas e Objetivos
Objetivos de Estudo. Após completar a Parte Três, você deve ser capaz de resolver problemas envolvendo equações algébricas lineares e apreciar a aplicação dessas equações em
várias áreas da engenharia. Deve tentar dominar as diversas técnicas e avaliar sua confiabilidade. E deve entender os prós e contras envolvidos na escolha do “melhor” método (ou
métodos) para qualquer problema particular. Além desses objetivos gerais, os conceitos específicos listados na Tabela PT3.1 precisam ser assimilados e dominados.
Objetivos Computacionais. Seu objetivo computacional mais importante é ser capaz
de resolver um sistema de equações algébricas lineares e calcular a matriz inversa. Você
certamente vai querer ter subprogramas desenvolvidos para decomposição LU de matrizes cheias ou tridiagonais. E também pode querer ter seu próprio software para implementar o método de Gauss-Seidel.
É necessário saber como usar pacotes para resolver equações algébricas lineares e
determinar a matriz inversa. E se familiarizar com a forma pela qual os mesmos cálculos
podem ser implementados com pacotes populares tais como o Excel ou o MATLAB,
assim como com bibliotecas de software.
TABELA PT3.1 Objetivos específicos de estudo para a Parte Três.
1. Entender a interpretação gráfica dos sistemas mal condicionados e como isso se relaciona com o
determinante.
2. Estar familiarizado com a terminologia: eliminação progressiva, substituição regressiva, equação
pivô, coeficiente pivô.
3. Entender os problemas provenientes de divisão por zero, erros de arredondamento e mal
condicionamento.
4. Saber calcular o determinante usando a eliminação de Gauss.
5. Entender as vantagens do pivotamento; perceber a diferença entre o pivotamento parcial e o completo.
6. Saber a diferença fundamental entre a eliminação de Gauss e o método de Gauss-Jordan e qual é o
mais eficiente.
7. Reconhecer como a eliminação de Gauss pode ser formulada como uma decomposição LU.
8. Saber como incorporar o pivotamento e a inversão de matrizes em um algoritmo de decomposição LU.
9. Saber como interpretar os elementos da matriz inversa no cálculo de respostas a estímulos em
engenharia.
10. Perceber como usar a inversa e a norma de uma matriz para avaliar o condicionamento do sistema.
11. Entender como sistemas de banda e simétricos podem ser decompostos e resolvidos eficientemente.
12. Entender por que o método de Gauss-Seidel é particularmente apropriado para sistemas de equações
grandes e esparsos.
13. Saber como avaliar a dominância diagonal de um sistema de equações e como isso se relaciona
com o fato de esse sistema poder ou não ser resolvido pelo método de Gauss-Seidel.
14. Entender o argumento por trás do relaxamento; saber onde sub-relaxamento e sobre-relaxamento são
apropriados.
CAPÍTULO
9
Eliminação de Gauss
Este capítulo trata das equações algébricas lineares simultâneas que podem ser representadas no caso geral por
a11 x1 + a12 x2 + · · · + a1n xn = b1
a21 x1 + a22 x2 + · · · + a2n xn = b2
.
.
.
.
.
.
(9.1)
an1 x1 + an2 x2 + · · · + ann xn = bn
onde os a’s são coeficientes constantes e os b’s são constantes.
A técnica descrita neste capítulo é chamada de eliminação de Gauss, pois envolve
combinar equações para eliminar variáveis. Apesar de ser um dos métodos mais antigos
para resolver equações simultâneas, mantém-se como um dos algoritmos mais importantes em uso hoje em dia e é a base da resolução de equações lineares em muitos pacotes
de software populares.
9.1
RESOLUÇÃO DE UM NÚMERO PEQUENO DE EQUAÇÕES
Antes de prosseguir para os métodos computacionais, serão descritos vários métodos que são
apropriados para resolver um conjunto pequeno de equações simultâneas (n ≤ 3) e que não
exigem um computador: o método gráfico, a regra de Cramer e a eliminação de variáveis.
9.1.1 O Método Gráfico
Uma solução gráfica para duas equações pode ser obtida esboçando-se seus gráficos em
coordenadas cartesianas, com um eixo correspondente a x1 e o outro a x2. Como estamos
lidando com sistemas lineares, cada equação é uma reta. Isso pode ser facilmente
ilustrado para as equações na forma geral
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 = b2
Pode-se isolar x2 nas duas equações:
a11
b1
x1 +
x2 = −
a12
a12
a21
b2
x1 +
x2 = −
a22
a22
Assim, as equações estão agora na forma de equações de retas: isto é, x2 ⫽ (inclinação)
x1 ⫹ intersecção com o eixo. Essas retas podem ser traçadas em coordenadas cartesianas
com x2 como a ordenada e x1 como a abscissa. Os valores de x1 e x2 na intersecção das
retas representam a solução.
199
ELIMINAÇÃO DE GAUSS
200
EXEMPLO 9.1
O Método Gráfico para Duas Equações
Enunciado do Problema. Use o método gráfico para resolver o sistema
3x1 + 2x2 = 18
−x1 + 2x2 = 2
Solução.
(E9.1.1)
(E9.1.2)
Seja x1 a abscissa. Isole x2 na Equação (E9.1.1):
3
x2 = − x1 + 9
2
que, quando traçada na Figura 9.1, é uma reta que intercepta o eixo x2 em 9 e cuja inclinação é −3/2.
Também se pode isolar x2 na Equação (E9.1.2):
x2 =
1
x1 + 1
2
que também está traçada na Figura 9.1. A solução é a intersecção das duas retas em
x1 = 4 e x2 = 3. Esses resultados podem ser verificados substituindo esses valores nas
equações originais, o que leva a
3(4) + 2(3) = 18
−(4) + 2(3) = 2
Assim, os resultados coincidem com o lado direito das equações originais.
FIGURA 9.1
Solução gráfica de um conjunto de duas equações algébricas lineares simultâneas. A intersecção
das retas representa a solução.
x2
8
3x 1
⫹
2x 2
⫽
6
18
Solução: x1 ⫽ 4; x2 ⫽ 3
4
2
0
⫺x 1
0
x2
⫹2
2
⫽2
4
6
x1
Para três equações simultâneas, cada equação será representada por um plano em um
sistema de coordenadas tridimensional. O ponto no qual os planos se interceptam irá representar a solução. Para mais de três equações, os métodos gráficos não funcionam e, conseqüentemente, têm pouco valor prático para resolver equações simultâneas. Apesar disso,
às vezes são úteis para visualizar propriedades das soluções. Por exemplo, a Figura 9.2
9.1 RESOLUÇÃO DE UM NÚMERO PEQUENO DE EQUAÇÕES
x2
x2
x2
x2
1 x1 ⫹
⫽1
⫺2
1 x1
⫺2
1
1 x1
⫺2
⫹ x2
201
⫹ x2
⫹
⫺x 1
⫽ 2
⫽1
2x 2
⫽2
2.3 x 1
⫺ 5
⫽
⫹ x2
x2
1 x1 ⫹
1.1
⫽1
⫺2
x1
x1
x1
(a)
(b)
(c)
FIGURA 9.2
Descrição gráfica de sistemas singulares e mal condicionados: (a) nenhuma solução, (b) infinitas soluções e (c) sistemas
mal condicionados, nos quais as inclinações são tão próximas que o ponto de intersecção é difícil de detectar
visualmente.
descreve três casos que podem ser problemáticos quando se resolve um conjunto de
equações lineares. A Figura 9.2a mostra o caso em que duas equações representam retas
paralelas. Para tais situações, não há solução, pois as retas não se cruzam. A Figura 9.2b
mostra o caso em que as duas retas são coincidentes. Para tais situações, há um número infinito de soluções. Ambos os tipos de sistemas são chamados de singulares. Além desses,
sistemas que estão muito próximos de serem singulares (Figura 9.2c) também podem
causar problemas. Esses sistemas são chamados de mal condicionados. Graficamente, isso
corresponde ao fato de que é difícil identificar o ponto exato no qual as retas se interceptam. Os sistemas mal condicionados também causarão problemas quando forem encontrados durante as soluções numéricas de equações lineares, porque são extremamente sensíveis a erros de arredondamento (lembre-se da Seção 4.2.3).
9.1.2 Determinantes e a Regra de Cramer
A regra de Cramer é outra técnica de resolução que é mais bem adequada a um pequeno
número de equações. Antes de descrever esse método, será apresentado brevemente o
conceito de determinante, que é usado para implementar a regra de Cramer. Além disso,
o determinante é relevante para avaliar o mal condicionamento de uma matriz.
Determinantes. O determinante pode ser ilustrado para um conjunto de três equações:
[A]{X} = {B}
onde [A] é a matriz dos coeficientes:
⎡
⎤
a11 a12 a13
⎢
⎥
[A] = ⎣ a21 a22 a23 ⎦
a31 a32 a33
O determinante D desse sistema é formado a partir dos coeficientes da equação, como em
a11
D = a21
a31
a12
a22
a32
a13
a23
a33
(9.2)
Apesar de o determinante D e a matriz dos coeficientes [A] serem compostos dos mesmos
elementos, são conceitos matemáticos completamente diferentes. Por essa razão, são distinguidos visualmente usando-se colchetes para delimitar a matriz e linhas retas para
delimitar o determinante. Em contraste com a matriz, o determinante é um único número.
Por exemplo, o valor do determinante de segunda ordem
D=
a11
a21
a12
a22
ELIMINAÇÃO DE GAUSS
202
é calculado por
(9.3)
D = a11 a22 − a12 a21
Para o caso de terceira ordem [Equação (9.2)], o valor numérico do determinante pode ser
calculado por
D = a11
a22
a32
a23
a21
− a12
a33
a31
a23
a21
+ a13
a33
a31
a22
a32
(9.4)
onde os determinantes dois por dois são chamados de menores.
EXEMPLO 9.2
Determinantes
Enunciado do Problema. Calcule os valores dos determinantes dos sistemas dados nas
Figuras 9.1 e 9.2.
Solução.
D=
Para a Figura 9.1:
3 2
= 3(2) − 2(−1) = 8
−1 2
Para a Figura 9.2a:
−1
−1
−1/2 1
=0
(1) − 1
D=
=
−1/2 1
2
2
Para a Figura 9.2b:
D=
−1
−1/2 1
(2) − 1(−1) = 0
=
−1 2
2
Para a Figura 9.2c:
−2,3
−1
−1/2 1
= −0,04
D=
(1) − 1
=
−2,3/5 1
2
5
No exemplo precedente, os sistemas singulares têm determinantes nulos. Além
disso, os resultados sugerem que o sistema que é quase singular (Figura 9.2c) tem um
determinante próximo de zero. Essas idéias serão examinadas mais a fundo na discussão
subseqüente de mal condicionamento (Seção 9.3.3).
Regra de Cramer. Essa regra estabelece que cada incógnita em um sistema de
equações algébricas lineares pode ser expressa como uma fração de dois determinantes,
com denominador D e com o numerador obtido a partir de D trocando-se a coluna de
coeficientes da incógnita em questão pelas constantes b1, b2, . . . , bn. Por exemplo, x1 é
calculada por
x1 =
EXEMPLO 9.3
b1
b2
b3
a12
a22
a32
D
a13
a23
a33
Regra de Cramer
Enunciado do Problema. Use a regra de Cramer para resolver
0,3x1 + 0,52x2 + x3 = −0,01
0,5x1 + x2 + 1,9x3 = 0,67
0,1x1 + 0,3x2 + 0,5x3 = −0,44
(9.5)
9.1 RESOLUÇÃO DE UM NÚMERO PEQUENO DE EQUAÇÕES
Solução.
203
O determinante D pode ser escrito como [Equação (9.2)]
0,3 0,52 1
D = 0,5
1
1,9
0,1 0,3 0,5
Os menores são [Equação (9.3)]
A1 =
1 1.9
= 1(0,5) − 1,9(0,3) = −0,07
0,3 0,5
A2 =
0,5 1,9
= 0,5(0,5) − 1,9(0,1) = 0,06
0,1 0,5
A3 =
0,5 1
= 0,5(0,3) − 1(0,1) = 0,05
0,1 0,3
Esses podem ser usados para calcular o determinante, como em [Equação (9.4)]
D = 0,3(−0,07) − 0,52(0,06) + 1(0,05) = −0,0022
Aplicando a Equação (9.5), a solução é
−0,01 0,52 1
0,67
1
1,9
−0,44 0,3 0,5
0,03278
=
= −14,9
x1 =
−0,0022
−0,0022
0,3 −0,01 1
0,5
0,67 1,9
0,1 −0,44 0,5
0,0649
x2 =
=
= −29,5
−0,0022
−0,0022
0,3 0.52 −0,01
0,5
1
0,67
0,1 0,3 −0,44
−0,04356
=
= 19,8
x3 =
−0,0022
−0,0022
Para mais de três equações, a regra de Cramer torna-se impraticável, pois à medida
que o número de equações cresce, os determinantes demoram mais para ser calculados à
mão (ou pelo computador). Conseqüentemente, são usadas alternativas mais eficientes.
Algumas dessas alternativas são baseadas na última técnica de solução não-computacional, estudada na próxima seção — a eliminação de variáveis.
9.1.3 A Eliminação de Variáveis
A eliminação de variáveis pela combinação de equações é uma abordagem algébrica que
pode ser ilustrada para um conjunto de duas equações:
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 = b2
(9.6)
(9.7)
A estratégia básica é multiplicar as equações por constantes de modo que uma das variáveis seja eliminada quando as duas equações são combinadas. O resultado é uma única
equação que pode ser resolvida determinando a variável restante. Então, esse valor pode
ser substituído em qualquer uma das equações originais para calcular a outra variável.
Por exemplo, a Equação (9.6) pode ser multiplicada por a21 e a Equação (9.7) por a11
para fornecer
ELIMINAÇÃO DE GAUSS
204
a11 a21 x1 + a12 a21 x2 = b1 a21
(9.8)
a21 a11 x1 + a22 a11 x2 = b2 a11
(9.9)
Subtrair a Equação (9.8) da Equação (9.9) irá, portanto, eliminar o termo x1 da
equação, dando
a22 a11 x2 − a12 a21 x2 = b2 a11 − b1 a21
que pode ser resolvida por
x2 =
a11 b2 − a21 b1
a11 a22 − a12 a21
(9.10)
A Equação (9.10) pode então ser substituída na Equação (9.6), a qual é resolvida por
x1 =
a22 b1 − a12 b2
a11 a22 − a12 a21
(9.11)
Observe que as Equações (9.10) e (9.11) seguem diretamente da regra de Cramer, a qual
afirma que
b1 a12
b2 a22
b1 a22 − a12 b2
x1 =
=
a11 a12
a11 a22 − a12 a21
a21 a22
a11 b1
a21 b2
a11 b2 − b1 a21
x2 =
=
a11 a12
a11 a22 − a12 a21
a21 a22
EXEMPLO 9.4
Eliminação de Variáveis
Enunciado do Problema. Use a eliminação de variáveis para resolver (lembre-se do
Exemplo 9.1)
3x1 + 2x2 = 18
−x1 + 2x2 = 2
Solução.
Usando as Equações (9.11) e (9.10),
2(18) − 2(2)
=4
3(2) − 2(−1)
3(2) − (−1)18
x2 =
=3
3(2) − 2(−1)
x1 =
que é consistente com a solução gráfica ( Figura 9.1).
A eliminação de variáveis pode ser estendida a sistemas com mais do que duas ou
três equações. Porém, os numerosos cálculos necessários para sistemas maiores tornam
o método extremamente tedioso para ser implementado à mão. Mas, como se verá
na próxima seção, a técnica pode ser formalizada e rapidamente programada para o
computador.
9.2 ELIMINAÇÃO DE GAUSS INGÊNUA
9.2
205
ELIMINAÇÃO DE GAUSS INGÊNUA
Na seção anterior, a eliminação de variáveis foi usada para resolver um par de equações
simultâneas. O processo consiste em dois passos:
1.
2.
As equações são manipuladas para eliminar uma das variáveis das equações. O
resultado desse passo de eliminação foi que se obteve uma equação com uma
variável.
Conseqüentemente, essa equação pode ser resolvida diretamente e o resultado
substituído regressivamente em uma das equações originais para determinar a
variável remanescente.
Essa abordagem básica pode ser estendida a conjuntos maiores de equações desenvolvendo-se um esquema sistemático ou um algoritmo para eliminar variáveis e substituir
regressivamente. A eliminação de Gauss é o mais básico desses esquemas.
Esta seção inclui técnicas sistemáticas para eliminação progressiva e substituição regressiva que compõem a eliminação de Gauss. Apesar de essas técnicas serem hipoteticamente adequadas para implementação em computadores, algumas modificações serão
necessárias para se obter um algoritmo confiável. Em particular, o programa de computador deve evitar a divisão por zero. O método a seguir é chamado de eliminação de Gauss
“ingênua” porque não evita esse problema. Seções subseqüentes irão tratar das características adicionais necessárias para um programa de computador efetivo.
A abordagem é planejada para resolver um conjunto arbitrário de n equações:
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
(9.12a)
a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
(9.12b)
.
.
.
.
.
.
an1 x1 + an2 x2 + an3 x3 + · · · + ann xn = bn
(9.12c)
Da mesma forma como no caso da solução de duas equações, a técnica para n
equações consiste em duas fases: a eliminação de variáveis e a solução por meio da
substituição regressiva.
Eliminação Progressiva de Variáveis. A primeira fase é projetada para reduzir o conjunto de equações a um sistema triangular superior (Figura 9.3). O passo inicial será
eliminar a primeira variável, x1, da segunda até a n-ésima equação. Para fazer isso, multiplique a Equação (9.12a) por a21/a11 para obter
FIGURA 9.3
As duas fases da eliminação
de Gauss: eliminação
progressiva e substituição
regressiva. As linhas indicam
o número de vezes que os
coeficientes e as constantes
foram modificados.
a11
a21
a31
a12 a13
a22 a23
a32 a33
b1
b2
b3
⇓
a11
a12 a13
a’22 a’23
a”33
Eliminação
progressiva
b1
b’2
b”3
⇓
x3 = b”3/a”33
x2 = (b’2 − a’23x3)/a’22
x1 = (b1 − a12x2 − a13x3)/a11
Substituição
regressiva
206
ELIMINAÇÃO DE GAUSS
a21 x1 +
a21
a21
a21
a12 x2 + · · · +
a1n xn =
b1
a11
a11
a11
(9.13)
Agora, essa equação pode ser subtraída da Equação (9.12b) para se obter
a21
a21
a21
a22 −
a12 x2 + · · · + a2n −
a1n xn = b2 −
b1
a11
a11
a11
ou
′
′
x2 + · · · + a2n
xn = b2′
a22
onde as linhas indicam que o elemento foi modificado de seu valor original.
O processo é repetido para as equações seguintes. Por exemplo, a Equação (9.12a)
pode ser multiplicada por a31/a11 e o resultado, subtraído da terceira equação. Repetindo
o procedimento para as equações restantes, obtém-se o seguinte sistema modificado:
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
(9.14a)
′
′
′
a22
x2 + a23
x3 + · · · + a2n
xn = b2′
(9.14b)
′
′
′
a32
x2 + a33
x3 + · · · + a3n
xn = b3′
(9.14c)
.
.
.
.
.
.
′
′
′
x2 + an3
x3 + · · · + ann
xn = bn′
an2
(9.14d)
Para os passos precedentes, a Equação (9.12a) é chamada de equação pivô e a11 é
chamado de coeficiente ou elemento pivô. Observe que o processo de multiplicar a
primeira linha por a21/a11 é equivalente a dividi-la por a11 e multiplicá-la por a21. Às
vezes, essa operação de divisão é chamada de normalização. Fazemos essa distinção
porque um elemento pivô nulo pode interferir na normalização, já que provoca uma divisão por zero. Voltaremos a esse assunto importante depois de completar a descrição da
eliminação de Gauss ingênua.
Agora, repita o que foi feito para eliminar a segunda variável das Equações (9.14c)
′
′
/a22
e subtraia o
até (9.14d). Para fazer isso, multiplique a Equação (9.14b) por a32
resultado da Equação (9.14c). Faça uma eliminação semelhante nas equações restantes
para obter
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
′
′
′
a22
x2 + a23
x3 + · · · + a2n
xn = b2′
′′
′′
a33
x3 + · · · + a3n
xn = b3′′
.
.
.
.
.
.
′′
′′
x3 + · · · + ann
xn = bn′′
an3
onde as linhas duplas indicam que os elementos foram modificados duas vezes.
O processo pode continuar usando as equações pivô remanescentes. A última coisa a
fazer é usar a (n − 1)-ésima equação para eliminar o termo xn−1 da n-ésima equação.
Nesse ponto, o sistema terá sido transformado em um sistema triangular superior (lembre-se
do Quadro PT3.1):
9.2 ELIMINAÇÃO DE GAUSS INGÊNUA
207
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
(9.15a)
′
′
′
a22
x2 + a23
x3 + · · · + a2n
xn = b2′
(9.15b)
′′
′′
a33
x3 + · · · + a3n
xn = b3′′
(9.15c)
.
.
.
.
.
.
.
.
.
(n−1)
xn = bn(n−1)
ann
(9.15d)
Um pseudocódigo para implementar a eliminação progressiva é apresentado na
Figura 9.4a. Observe que três laços encaixados fornecem uma representação concisa do
processo. O laço exterior move-se para baixo na matriz de uma linha pivô para a próxima.
O laço do meio move-se para baixo da linha pivô, para cada uma das linhas subseqüentes
onde a eliminação é efetuada. Finalmente, o laço interior progride ao longo das colunas
para eliminar ou modificar os elementos de uma linha particular.
Substituição Regressiva.
terminar xn:
xn =
A Equação (9.15d) pode agora ser resolvida para de-
bn(n−1)
(9.16)
(n−1)
ann
Esse resultado pode ser substituído de volta na (n − l)-ésima equação para determinar
xn−1. O processo, que é repetido para determinar os x’s remanescentes, pode ser representado pela seguinte fórmula:
n
ai(i−1)
xj
j
bi(i−1) −
xi =
j=i+1
aii(i−1)
para i = n − 1, n − 2, . . . , 1
(9.17)
Um pseudocódigo para implementar as Equações (9.16) e (9.17) é apresentado na
Figura 9.4b. Observe a semelhança entre esse pseudocódigo e aquele na Figura PT3.4
para a multiplicação de matrizes. Como na Figura PT3.4, uma variável temporária, soma,
é usada para acumular as somas da Equação (9.17). Isso resulta em uma execução um
pouco mais rápida do que se as somas fossem acumuladas em bi. Mais importante, permite um aperfeiçoamento eficiente se a variável, soma, for declarada em dupla precisão.
FIGURA 9.4
Pseudocódigo para efetuar
(a) eliminação progressiva e (b)
substituição regressiva.
(a)
(b)
DOFOR k ⫽ 1, n ⫺ 1
DOFOR i ⫽ k ⫹ 1, n
fator ⫽ ai,k / ak,k
DOFOR j ⫽ k ⫹ 1 to n
ai,j ⫽ ai,j ⫺ fator ⭈ ak,j
END DO
bi ⫽ bi ⫺ fator ⭈ bk
END DO
END DO
xn ⫽ bn / an,n
DOFOR i ⫽ n ⫺ 1, 1, ⫺1
soma ⫽ bi
DOFOR j ⫽ i ⫹ 1, n
soma ⫽ soma ⫺ ai,j ⭈ xj
END DO
xi ⫽ bi / ai,i
END DO
ELIMINAÇÃO DE GAUSS
208
EXEMPLO 9.5
Eliminação de Gauss Ingênua
Enunciado do Problema. Use eliminação de Gauss para resolver
3x1 − 0,1x2 − 0,2x3 = 7,85
0,1x1 + 7x2 − 0,3x3 = −19,3
0,3x1 − 0,2x2 + 10x3 = 71,4
(E9.5.1)
(E9.5.2)
(E9.5.3)
Use seis algarismos significativos durante os cálculos.
Solução. A primeira parte do processo é a eliminação progressiva. Multiplique a
Equação (E9.5.1) por (0,1)/3 e subtraia o resultado da Equação (E9.5.2) para obter
7,00333x2 − 0,293333x3 = −19,5617
Então, multiplique a Equação (E9.5.1) por (0,3)/3 e subtraia da Equação (E9.5.3) para
eliminar x1. Depois dessas operações, o conjunto de equações é
3x1
− 0,1x2
− 0,2x3 = 7,85
7,00333x2 − 0,293333x3 = −19,5617
−0,190000x2 + 10,0200x3 = 70,6150
(E9.5.4)
(E9.5.5)
(E9.5.6)
Para completar a eliminação progressiva, x2 deve ser removida da Equação (E9.5.6). Para
fazer isso, multiplique a Equação (E9.5.5) por −0,190000/7,00333 e subtraia o resultado
da Equação (E9.5.6). Isso elimina x2 da terceira equação e reduz o sistema a um sistema
triangular superior, como em
3x1
− 0,1x2
− 0,2x3 = 7,85
7,00333x2 − 0,293333x3 = −19,5617
10,0120x3 = 70,0843
(E9.5.7)
(E9.5.8)
(E9.5.9)
Agora, é possível resolver essas equações por substituição regressiva. Primeiro, a
Equação (E9.5.9) pode ser resolvida para determinar
70,0843
x3 =
= 7,0000
(E9.5.10)
10,0120
Esse resultado pode ser substituído na Equação (E9.5.8):
7,00333x2 − 0,293333(7,0000) = −19,5617
que pode ser resolvida por
x2 =
−19,5617 + 0,293333(7,0000)
= −2,50000
7,00333
(E9.5.11)
Finalmente, as Equações (E9.5.10) e (E9.5.11) podem ser substituídas na Equação
(E9.5.4):
3x1 − 0,1(−2,50000) − 0,2(7,0000) = 7,85
a qual pode ser resolvida por
x1 =
7,85 + 0,1(−2,50000) + 0,2(7,0000)
= 3,00000
3
Tais resultados são idênticos à solução exata x1 = 3, x2 = −2,5 e x3 = 7. Isso pode ser
verificado substituindo-se os resultados no conjunto original de equações
3(3) − 0,1(−2,5) − 0,2(7) = 7,85
0,1(3) + 7(−2,5) − 0,3(7) = −19,3
0,3(3) − 0,2(−2,5) + 10(7) = 71,4
9.2 ELIMINAÇÃO DE GAUSS INGÊNUA
209
9.2.1 Contando Operações
O tempo de execução da eliminação de Gauss depende da quantidade de operações com
ponto flutuante (ou flops) envolvidas no algoritmo. Em computadores modernos usando
co-processadores matemáticos, o tempo consumido para efetuar uma adição/subtração ou
uma multiplicação/divisão é mais ou menos o mesmo. Portanto, a contagem dessas operações fornece informação sobre quais partes do algoritmo consomem mais tempo e sobre
como o tempo de computação cresce à medida que o sistema fica maior.
Antes de analisar a eliminação de Gauss ingênua, primeiro é preciso definir algumas
quantidades que facilitam a contagem de operações:
m
m
c f (i) = c
i=1
m
m
f (i) + g(i) =
i=1
i=1
i=1
m
f (i) +
g(i)
(9.18a,b)
i=1
m
1 = 1 + 1 + 1 + ··· + 1 = m
i=1
m
i=1
m
m
f (i)
i = 1 + 2 + 3 + ··· + m =
1=m−k+1
(9.18c,d)
m(m + 1)
m2
=
+ O(m)
2
2
(9.18e)
i=k
i 2 = 12 + 22 + 32 + · · · + m 2 =
i=1
m(m + 1)(2m + 1)
m3
=
+ O(m 2 )
6
3
(9.18f )
onde O(mn) significa “termos de ordem mn e menores”.
Em seguida, o algoritmo de eliminação de Gauss ingênua (Figura 9.4a) é examinado em detalhes. Primeiro, contam-se os flops no estágio de eliminação. Na primeira
passagem pelo laço exterior, k = 1. Então, os limites no laço do meio são de i = 2 até n.
De acordo com a Equação (9.18d), isso significa que o número de iterações do laço do
meio será
n
i=2
1=n−2+1=n−1
(9.19)
Para cada uma dessas iterações há uma divisão para definir o fator. Então, o laço interior
executa uma única multiplicação e subtração para cada iteração de j = 2 até n. Finalmente, há uma multiplicação e uma subtração adicionais para determinar o valor do lado
direito. Assim, para cada iteração do laço do meio, o número de multiplicações é
1 + [n − 2 + 1] + 1 = 1 + n
(9.20)
O total de multiplicações para a primeira passagem pelo laço exterior é, portanto, obtida
pela multiplicação da Equação (9.19) pela Equação (9.20), o que dá [n − 1](1 + n). De
modo semelhante, o número de subtrações é calculado como [n − 1](n).
Raciocínios semelhantes podem ser usados para estimar os flops para as iterações
subseqüentes do laço exterior. Isso pode ser resumido por
Laço Exterior
k
Laço do Meio
i
Flops
Adição/Subtração
Flops
Multiplicação/Divisão
1
2
·
·
·
k
·
·
·
n−1
2, n
3, n
·
·
·
k + 1, n
·
·
·
n, n
(n − 1)(n)
(n − 2)(n – 1)
(n − 1)(n + 1)
(n − 2)(n)
(n − k)(n + 1 − k)
(n − k)(n + 2 − k)
(1)(2)
(1) (3)
210
ELIMINAÇÃO DE GAUSS
Então, o total de flops de adição/subtração para a eliminação pode ser calculado por
n−1
k=1
n−1
(n − k)(n + 1 − k) =
k=1
[n(n + 1) − k(2n + 1) + k 2 ]
ou
n−1
n(n + 1)
k=1
n−1
1 − (2n + 1)
k=1
n−1
k+
k2
k=1
Aplicar algumas das relações da Equação (9.18) resulta em
[n 3 + O(n)] − [n 3 + O(n 2 )] +
1 3
n3
n + O(n 2 ) =
+ O(n)
3
3
(9.21)
Uma análise parecida para os flops de multiplicação/divisão resulta em
[n 3 + O(n 2 )] − [n 3 + O(n)] +
1 3
n3
n + O(n 2 ) =
+ O(n 2 )
3
3
(9.22)
Somando os resultados, tem-se
2n 3
+ O(n 2 )
3
Assim, o número total de flops é igual a 2n 3 /3 mais uma componente adicional proporcional a termos de ordem n2 e menores. O resultado é escrito dessa forma porque, à
medida que n fica maior, o O(n2) e termos menores ficam desprezíveis. Pode-se então
concluir, justificadamente, que para n grande, o esforço envolvido na eliminação progressiva converge para 2n 3 /3.
Como apenas um único laço foi utilizado, a substituição regressiva é muito mais simples de ser avaliada. O número de flops de adição/subtração é igual a n(n − 1)/2. Por
causa da divisão extra anterior ao laço, o número de flops de multiplicação/divisão é
n(n + 1)/2. Isso pode ser somado para se obter um total de
n 2 + O(n)
Assim, o esforço total na eliminação de Gauss ingênua pode ser representado por
2n 3
2n 3
−−−−n−cresce
−−→
+ O(n 2 ) + n 2 + O(n) −quando
+ O(n 2 )
3
3
Eliminação
progressiva
(9.23)
Substituição
regressiva
Duas conclusões gerais úteis podem ser tiradas dessa análise:
1.
2.
À medida que o sistema fica maior, o tempo de computação cresce bastante. Como
na Tabela 9.1, a quantidade de flops cresce quase três ordens de grandeza para cada
aumento na ordem de grandeza da dimensão.
A maior parte do esforço vem do passo de eliminação. Assim, os esforços para tornar
o algoritmo mais eficiente devem provavelmente concentrar-se nesse passo.
TABELA 9.1 Número de flops para a eliminação de Gauss.
n
Eliminação
Substituição
Regressiva
Total
de Flops
2n3/3
Percentagem
Devida
à Eliminação
10
100
705
671550
100
10000
805
681550
667
666667
87,58%
98,53%
1000
6,67 × 108
1 × 106
6,68 × 108
6,67 × 108
99,85%
9.3 ARMADILHAS DOS MÉTODOS DE ELIMINAÇÃO
9.3
211
ARMADILHAS DOS MÉTODOS DE ELIMINAÇÃO
Embora existam muitos sistemas de equações que podem ser resolvidas pela eliminação
de Gauss ingênua, há algumas armadilhas que precisam ser exploradas antes de escrever
um programa de computador geral para implementar o método. Apesar de o material a
seguir se relacionar diretamente ao método de eliminação de Gauss ingênua, a informação é relevante também para outras técnicas de eliminação.
9.3.1 Divisão por Zero
A principal razão para que a técnica anterior seja chamada de “ingênua” é que tanto durante a fase de eliminação quanto durante a de substituição é possível ocorrer uma divisão
por zero. Por exemplo, se for usada a eliminação de Gauss ingênua para resolver
2x2 + 3x3 = 8
4x1 + 6x2 + 7x3 = −3
2x1 + x2 + 6x3 = 5
a normalização da primeira linha iria envolver a divisão por a11 = 0. Também podem surgir problemas quando um coeficiente está muito próximo de zero. A técnica de pivotamento foi desenvolvida para evitar parcialmente esses problemas. Ela será descrita
na Seção 9.4.2.
9.3.2 Erros de Arredondamento
Embora a solução no Exemplo 9.5 estivesse próxima da resposta verdadeira, havia uma
pequena discrepância no resultado de x3 [Equação (E9.5.10)]. Essa discrepância, que corresponde a um erro relativo de ⫺0,00043%, decorreu do uso de seis algarismos significativos durante os cálculos. Se tivessem sido usados mais algarismos significativos, o
erro no resultado seria ainda mais reduzido. Se tivessem sido usadas frações em vez de
decimais (e, conseqüentemente, fossem evitados erros de arredondamento), as respostas
seriam exatas. De qualquer forma, como os computadores usam apenas um número limitado de algarismos significativos (lembre-se da Seção 3.4.1), os erros de arredondamento
podem ocorrer e devem ser considerados quando se avaliam os resultados.
O problema de erros de arredondamento pode tornar-se particularmente importante
quando se resolve um número grande de equações, por causa do fato de que cada resultado depende dos resultados anteriores. Conseqüentemente, um erro nas etapas iniciais
tende a se propagar — isto é, irá causar erros nas etapas subseqüentes.
Especificar o tamanho do sistema no qual os erros de arredondamento se tornam significativos é complicado pelo fato de que o tipo do computador e as propriedades das
equações são fatores determinantes. Uma regra empírica é que os erros de arredondamento podem ser importantes quando se lida com 100 ou mais equações. De qualquer
modo, você deve sempre substituir suas respostas no sistema original para verificar se
erros substanciais ocorreram. Entretanto, como será discutido a seguir, as ordens de
grandezas dos próprios coeficientes podem influenciar no fato de tal verificação de erros
garantir ou não um resultado confiável.
9.3.3 Sistemas Mal Condicionados
A adequação da solução depende do condicionamento do sistema. Na Seção 9.1.1, foi desenvolvida uma descrição gráfica do condicionamento do sistema. Como discutido na
Seção 4.2.3, sistemas bem condicionados são aqueles em que uma pequena mudança em
um ou mais coeficientes resulta em uma pequena mudança similar nas soluções. Sistemas
mal condicionados são aqueles para os quais pequenas mudanças nos coeficientes resultam em grandes mudanças nas soluções. Uma interpretação alternativa do mal condicionamento é que uma gama ampla de respostas pode satisfazer aproximadamente as
equações. Como os erros de arredondamento podem induzir pequenas mudanças nos
coeficientes, essas mudanças artificiais são capazes de conduzir a erros grandes nas
soluções nos sistemas mal condicionados, como ilustrado no seguinte exemplo.
ELIMINAÇÃO DE GAUSS
212
EXEMPLO 9.6
Sistemas Mal Condicionados
Enunciado do Problema. Resolva o seguinte sistema:
x1 + 2x2 = 10
1,1x1 + 2x2 = 10,4
(E9.6.1)
(E9.6.2)
A seguir, resolva novamente com o coeficiente de x1 na segunda equação levemente modificado para 1,05.
Solução.
x1 =
x2 =
Usando as Equações (9.10) e (9.11), a solução é
2(10) − 2(10,4)
=4
1(2) − 2(1,1)
1(10,4) − 1,1(10)
=3
1(2) − 2(1,1)
Entretanto, com a pequena variação do coeficiente a21 de 1,1 para 1,05, o resultado muda
de forma dramática para
x1 =
x2 =
2(10) − 2(10,4)
=8
1(2) − 2(1,05)
1(10,4) − 1,1(10)
=1
1(2) − 2(1,05)
Observe que a razão principal para as discrepâncias entre os dois resultados é que o
denominador representa a diferença de dois números quase iguais. Como ilustrado previamente na Seção 3.4.2, tais diferenças são altamente sensíveis a pequenas variações nos
números manipulados.
Nesse ponto, você poderia sugerir que a substituição dos resultados nas equações
originais deveria alertá-lo para o problema. Infelizmente, em geral esse não é o caso para
sistemas mal condicionados. A substituição dos valores errados x1 = 8 e x2 = 1 nas
Equações (E9.6.1) e (E9.6.2) leva a
8 + 2(1) = 10 = 10
1,1(8) + 2(1) = 10,8 ∼
= 10,4
Assim, embora x1 = 8 e x2 = 1 não sejam a solução verdadeira, a verificação de erro é suficientemente próxima para possivelmente levá-lo a concluir, de maneira errônea, que
essa solução é adequada.
Como foi feito anteriormente na seção sobre métodos gráficos, uma representação visual do mal condicionamento pode ser desenvolvida traçando-se as Equações (E9.6.1) e
(E9.6.2) (lembre-se da Figura 9.2). Como as inclinações das retas são quase iguais, é difícil determinar visualmente o ponto exato onde elas se interceptam. Essa dificuldade
visual é refletida quantitativamente nos resultados nebulosos do Exemplo 9.6. Pode-se
caracterizar matematicamente a situação escrevendo as duas equações na forma geral:
a11 x1 + a12 x2 = b1
(9.24)
a21 x1 + a22 x2 = b2
(9.25)
Dividindo a Equação (9.24) por a12 e a Equação (9.25) por a22 e reorganizando, teremos
versões alternativas que estão no formato de retas [x2 = (inclinação) x1 + intersecção
com o eixo]:
a11
x1 +
a12
a21
x1 +
x2 = −
a22
x2 = −
b1
a12
b2
a22
9.3 ARMADILHAS DOS MÉTODOS DE ELIMINAÇÃO
213
Conseqüentemente, se as inclinações forem quase iguais,
a11 ∼ a21
=
a12
a22
ou, multiplicando em cruz,
a11 a22 ∼
= a12 a21
o que pode ser expresso por
a11 a22 − a12 a21 ∼
=0
(9.26)
Agora, lembrando que a11a22 ⫺ a12a2l é o determinante do sistema de duas equações [Equação (9.3)], chega-se à conclusão geral de que um sistema mal condicionado
é aquele com determinante próximo de zero. De fato, se o determinante for exatamente
zero, as duas inclinações serão idênticas, o que implica que o sistema não tem solução
ou que tem infinitas soluções, como no caso dos sistemas singulares esboçados nas Figuras 9.2a e 9.2b.
É difícil especificar quão perto de zero o determinante deve estar para indicar mal
condicionamento. Isso é complicado pelo fato de que o determinante pode ser alterado
pela multiplicação de uma ou mais das equações por um fator escalar, sem mudar a
solução. Conseqüentemente, o determinante é um valor relativo que é influenciado pela
ordem de grandeza dos coeficientes.
EXEMPLO 9.7
Efeito da Escala no Determinante
Enunciado do Problema. Calcule o determinante dos seguintes sistemas:
(a) Do Exemplo 9.1:
3x1 + 2x2 = 18
−x1 + 2x2 = 2
(E9.7.1)
(E9.7.2)
(b) Do Exemplo 9.6:
x1 + 2x2 = 10
1,1x1 + 2x2 = 10,4
(E9.7.3)
(E9.7.4)
(c) Repita (b), com as equações multiplicadas por 10.
Solução.
(a) O determinante das Equações (E9.7.1) e (E9.7.2), que são bem condicionadas, é
D = 3(2) − 2(−1) = 8
(b) O determinante das Equações (E9.7.3) e (E9.7.4), que são mal condicionadas, é
D = 1(2) − 2(1,1) = −0,2
(c) Os resultados de (a) e (b) parecem levar à conclusão de que sistemas mal condicionados têm determinantes próximos de zero. Porém, suponha que o sistema mal
condicionado em (b) seja multiplicado por 10 dando
10x1 + 20x2 = 100
11x1 + 20x2 = 104
A multiplicação de uma equação por uma constante não tem efeito na sua solução.
Além disso, ele é ainda mal condicionado. Isso pode ser verificado pelo fato de que a
multiplicação por uma constante não tem efeito na solução gráfica. Porém, o determinante é afetado de maneira dramática:
D = 10(20) − 20(11) = −20
Não apenas aumentou duas ordens de grandeza, como é agora mais que o dobro do
determinante do sistema bem condicionado em (a).
ELIMINAÇÃO DE GAUSS
214
Como ilustrado pelo exemplo anterior, o valor dos coeficientes introduz um efeito de
escala que complica a relação entre condicionamento do sistema e o tamanho do determinante. Uma forma de evitar parcialmente essa dificuldade é mudar a escala das equações
de modo que o elemento máximo em qualquer linha seja igual a 1.
EXEMPLO 9.8
Mudando a Escala
Enunciado do Problema. Faça uma mudança de escala nos sistemas de equações do
Exemplo 9.7 para um valor máximo 1 e calcule novamente seus determinantes.
Solução.
(a) Para o sistema bem condicionado, a mudança de escala resulta em
x1 + 0,667x2 = 6
−0,5x1 +
x2 = 1
e o determinante é
D = 1(1) − 0,667(−0,5) = 1,333
(b) Para o sistema mal condicionado, mudando a escala tem-se
0,5x1 + x2 = 5
0,55x1 + x2 = 5,2
e o determinante é
D = 0,5(1) − 1(0,55) = −0,05
(c) No último caso, mudar a escala muda o sistema para a mesma forma obtida em (b) e
o determinante é novamente ⫺0,05. Assim, o efeito da escala foi removido.
Quadro 9.1
Cálculo de Determinantes Usando Eliminação de Gauss
Na Seção 9.1.2, afirmamos que o cálculo de determinantes por expansão em menores era pouco prático para conjuntos grandes de
equações. Assim, concluímos que a regra de Cramer seria aplicável
apenas para sistemas pequenos. No entanto, como foi mencionado
na Seção 9.3.3, o determinante tem utilidade na avaliação do condicionamento do sistema. Seria, portanto, útil ter um método prático
para calculá-lo.
Felizmente, a eliminação de Gauss fornece uma forma simples
de fazer isso. O método se baseia no fato de que o determinante de
uma matriz triangular pode ser calculado simplesmente como o
produto dos elementos da diagonal:
D = a11 a22 a33 · · · ann
(Q9.1.1)
A validade dessa afirmação pode ser ilustrada para um sistema
3 por 3:
D=
a11
0
0
a12
a22
0
a13
a23
a33
onde o determinante pode ser calculado por [lembre-se da Equação 9.4]
D = a11
a22
0
a23
0 a22
0 a23
+ a13
− a12
0 0
0 a33
a33
ou, calculando os menores (isto é, os determinantes 2 por 2),
D = a11 a22 a33 − a12 (0) + a13 (0) = a11 a22 a33
Lembre-se de que o passo de eliminação progressiva na eliminação de Gauss resulta em um sistema triangular superior. Como o
valor do determinante não muda no processo de eliminação progressiva, o determinante pode ser calculado simplesmente no fim
desse processo por
′
′′
(n−1)
D = a11 a22
a33
· · · ann
(Q9.1.2)
(n−1)
′′
′
D = a11 a22
(−1) p
· · · ann
a33
(Q9.1.3)
onde os subscritos significam o número de vezes que os elementos
foram modificados pelo processo de eliminação. Assim, podemos
aproveitar o esforço que já foi despendido para reduzir o sistema a
uma forma triangular e, de brinde, obter uma estimativa simples do
determinante.
Há uma pequena modificação nessa abordagem quando o programa utiliza pivotamento parcial (Seção 9.4.2). Nesse caso, o determinante troca de sinal toda vez que uma linha é pivotada. Uma
forma de representar isso é modificar a Equação (Q9.1.2):
onde p indica o número de vezes que as linhas foram pivotadas.
Essa modificação pode ser incorporada de modo simples em um
programa; meramente mantenha controle do número de pivotamentos que ocorreram durante os cálculos e então use a Equação
(Q9.1.3) para calcular o determinante.
9.4 TÉCNICAS PARA MELHORAR SOLUÇÕES
215
Em uma seção anterior (Seção 9.1.2), foi sugerido que o determinante é difícil de calcular para mais do que três equações simultâneas. Assim sendo, pode parecer que não
fornece um meio prático de avaliar o condicionamento do sistema. Porém, como se verá
no Quadro 9.1, existe um algoritmo simples que vem da eliminação de Gauss que pode
ser usado para calcular os determinantes.
Além da abordagem usada no exemplo anterior, há uma variedade de outras formas de avaliar o condicionamento do sistema. Por exemplo, existem métodos alternativos para normalizar os elementos (ver Stark, 1970). Além disso, como descrito no
próximo capítulo (Seção 10.3), a inversa e as normas da matriz podem ser usadas para
avaliar o condicionamento do sistema. Finalmente, um teste simples (mas que gasta
muito tempo) é modificar levemente os coeficientes e repetir a solução. Se tais modificações levarem a resultados drasticamente diferentes, o sistema provavelmente é mal
condicionado.
Como se pode ver da discussão precedente, sistemas mal condicionados são problemáticos. Felizmente, em sua maior parte as equações algébricas lineares originárias de
problemas de engenharia são naturalmente bem condicionadas. Além disso, algumas técnicas esboçadas na Seção 9.4 ajudam a amenizar o problema.
9.3.4 Sistemas Singulares
Na seção anterior, aprendemos que uma forma pela qual um sistema de equações pode ser
mal condicionado é quando duas ou mais equações são quase iguais. Obviamente, é ainda
pior quando duas equações são idênticas. Em tais casos, perderíamos um grau de liberdade, e estaríamos tratando do caso impossível de n − 1 equações com n incógnitas. Tais
casos podem não ser óbvios para você, particularmente ao lidar com um conjunto grande
de equações. Conseqüentemente, seria ótimo ter alguma forma de detectar a singularidade automaticamente.
A resposta para esse problema é oferecida naturalmente pelo fato de o determinante
de um sistema singular ser zero. Essa idéia pode, por sua vez, ser relacionada à eliminação de Gauss, reconhecendo-se que, após a etapa de eliminação, o determinante pode
ser calculado como o produto dos elementos da diagonal (ver Quadro 9.1). Assim, um algoritmo computacional pode testar para detectar se foi criado um elemento nulo na diagonal durante o processo de eliminação. Se algum for descoberto, os cálculos podem ser
interrompidos imediatamente e uma mensagem é mostrada para alertar o usuário. Serão
mostrados detalhes de como isso é feito na apresentação de um algoritmo completo para
a eliminação de Gauss mais adiante neste capítulo.
9.4
TÉCNICAS PARA MELHORAR SOLUÇÕES
As seguintes técnicas podem ser incorporadas ao algoritmo da eliminação de Gauss ingênua para evitar algumas das armadilhas discutidas na seção anterior.
9.4.1 Uso de Mais Algarismos Significativos
O remédio mais simples para o mal condicionamento é usar mais algarismos significativos nos cálculos. Se sua aplicação puder ser estendida para manipular palavras de
tamanho maior, tal recurso vai reduzir bastante o problema. Entretanto, deve-se pagar um
preço na forma de uso elevado de memória e recursos computacionais associado ao uso
de precisão estendida (lembre-se da Seção 3.4.1).
9.4.2 Pivotamento
Como mencionado no começo da Seção 9.3, problemas óbvios ocorrem quando um
elemento pivô é zero, pois o passo de normalização leva a uma divisão por zero. Problemas também podem surgir quando o elemento pivô é muito próximo de zero, em
vez de exatamente igual a zero, porque, se a ordem de grandeza do elemento pivô é
pequena comparada com a dos outros elementos, então podem ocorrer erros de
arredondamento.
ELIMINAÇÃO DE GAUSS
216
Assim, antes que cada linha seja normalizada, é vantajoso determinar o maior coeficiente disponível na coluna abaixo do elemento pivô. As linhas podem ser trocadas de
modo que o maior coeficiente seja o elemento pivô. Isso é chamado de pivotamento parcial. Se procurarmos o maior elemento também nas colunas, além de nas linhas, e então
trocarmos, o processo é chamado de pivotamento completo. O pivotamento completo é
usado raramente, pois trocar colunas muda a ordem dos x’s e, conseqüentemente, acrescenta uma complexidade significativa e normalmente injustificada ao programa de computador. O próximo exemplo ilustra as vantagens do pivotamento parcial. Além de evitar
a divisão por zero, o pivotamento também minimiza os erros de arredondamento. Assim,
serve como um remédio parcial para o mal condicionamento.
EXEMPLO 9.9
Pivotamento Parcial
Enunciado do Problema. Use eliminação de Gauss para resolver
0,0003x1 + 3,0000x2 = 2,0001
1,0000x1 + 1,0000x2 = 1,0000
Observe que dessa forma o primeiro elemento pivô, a11 = 0,0003, é muito próximo de
zero. Então, repita os cálculos, mas use pivotamento parcial, trocando a ordem das
equações. As soluções exatas são x1 = 1/3 e x2 = 2/3.
Multiplicando a primeira equação por 1/(0,0003), obtém-se
Solução.
x1 + 10,000x2 = 6667
o que pode ser usado para eliminar x1 da segunda equação:
−9999x2 = −6666
a qual pode ser resolvida por
x2 =
2
3
Esse resultado pode ser substituído na primeira equação para calcular x1:
x1 =
2,0001 − 3(2/3)
0,0003
(E9.9.1)
Entretanto, por causa do cancelamento na subtração, o resultado é muito sensível ao
número de algarismos significativos nos cálculos:
Algarismos
Significativos
3
4
5
6
7
x2
0,667
0,6667
0,66667
0,666667
0,6666667
x1
−3,33
0,0000
0,30000
0,330000
0,3330000
Valor Absoluto
do Erro Relativo
Percentual
para x1
1099
100
10
1
0,1
Observe como a solução para x1 é altamente dependente do número de algarismos significativos. Isso ocorre porque, na Equação (E9.9.1), estamos subtraindo dois números
quase iguais. Por outro lado, se as equações forem resolvidas na ordem inversa, a linha
com elemento pivô maior é normalizada. As equações são
1,0000x1 + 1,0000x2 = 1,0000
0,0003x1 + 3,0000x2 = 2,0001
9.4 TÉCNICAS PARA MELHORAR SOLUÇÕES
p ⫽ k
maior ⫽ |ak,k|
DOFOR ii ⫽ k⫹1, n
dummy ⫽ |aii,k|
IF (dummy ⬎ big)
maior ⫽ dummy
p ⫽ ii
END IF
END DO
IF (p ⫽ k)
DOFOR jj ⫽ k, n
dummy ⫽ ap,jj
ap,jj ⫽ ak,jj
ak,jj ⫽ dummy
END DO
dummy ⫽ bp
bp ⫽ bk
bk ⫽ dummy
END IF
FIGURA 9.5
Pseudocódigo para implementar
o pivotamento parcial.
217
A eliminação e a substituição resultam em x2 = 2/3. Para números diferentes de algarismos significativos, x1 pode ser calculado da primeira equação, como em
x1 =
1 − (2/3)
1
(E9.9.2)
Esse caso é muito menos sensível ao número de algarismos significativos nos cálculos:
Algarismos
Significativos
3
4
5
6
7
x2
0,667
0,6667
0,66667
0,666667
0,6666667
x1
0,333
0,3333
0,33333
0,333333
0,3333333
Valor Absoluto
do Erro Relativo
Percentual
para x1
0,1
0,01
0,001
0,0001
0,00001
Assim, a estratégia com pivotamento é muito mais satisfatória.
Os programas de computador com propósitos gerais devem incluir uma estratégia de
pivotamento. A Figura 9.5 fornece um algoritmo simples para implementar tal estratégia.
Observe que o algoritmo consiste em dois laços principais. Depois de armazenar o elemento
pivô atual e o número da linha nas variáveis, maior e p, o primeiro laço compara o elemento pivô com os elementos abaixo dele para verificar se algum deles é maior que o elemento
pivô. Se isso ocorre, o novo maior elemento e sua linha são armazenados em maior e p.
Então o segundo laço troca a linha do pivô original com aquela com o maior elemento para
que essa última se torne a nova linha pivô. Esse pseudocódigo pode ser integrado a um programa baseado nos outros elementos da eliminação de Gauss esboçado na Figura 9.4. A
melhor forma de fazer isso é empregar uma abordagem modular e escrever a Figura 9.5
como uma sub-rotina (ou um procedimento) que será chamado diretamente após o começo
do primeiro laço na Figura 9.4a.
Observe que o segundo IF/THEN construído na Figura 9.5 troca fisicamente as linhas.
Para matrizes maiores, isso pode tornar-se bastante demorado. Conseqüentemente, a maioria dos códigos não troca de fato as linhas, mas mantém um controle das linhas pivô armazenando os índices apropriados em um vetor. Então, esse vetor fornece uma base para
especificar a ordenação de linhas apropriada durante a eliminação progressiva e a substituição regressiva. Assim, dizemos que as operações são implementadas no lugar.
9.4.3 Mudando a Escala
Na Seção 9.3.3, foi proposto que a mudança de escala é valiosa na padronização do
tamanho do determinante. Além dessa aplicação, ela tem utilidade na minimização de
erros de arredondamento para aqueles casos nos quais algumas equações do sistema têm
coeficientes muito maiores que as outras. Tais situações são encontradas freqüentemente
na prática da engenharia quando unidades muito diferentes são usadas na dedução de
equações simultâneas. Por exemplo, em problemas de circuitos elétricos, as voltagens indeterminadas podem ser expressas em unidades variando de microvolts até quilovolts.
Exemplos similares podem surgir em todos os campos da engenharia. Desde que cada
equação seja consistente, o sistema será tecnicamente correto e solúvel. No entanto, o uso
de unidades que difiram muito pode levar a coeficientes de ordens de grandeza muito
diferentes. Isso, por sua vez, pode ter um impacto nos erros de arredondamento, já que
afeta o pivotamento, como ilustrado no próximo exemplo.
ELIMINAÇÃO DE GAUSS
218
SUB Gauss (a, b, n, x, tol, er)
DIMENSION s(n)
er ⫽ 0
DOFOR i ⫽ 1, n
si ⫽ ABS(ai,1)
DOFOR j ⫽ 2, n
IF ABS(ai,j)⬎si THEN si ⫽ ABS(ai,j)
END DO
END DO
CALL Eliminate(a, s, n, b, tol, er)
IF er ⫽ ⫺1 THEN
CALL Substitute(a, n, b, x)
END IF
END Gauss
SUB Eliminate (a, s, n, b, tol, er)
DOFOR k ⫽ 1, n ⫺ 1
CALL Pivot (a, b, s, n, k)
IF ABS (ak,k/sk) ⬍ tol THEN
er ⫽ ⫺1
EXIT DO
END IF
DOFOR i ⫽ k ⫹ 1, n
fator ⫽ ai,k/ak,k
DOFOR j ⫽ k ⫹ 1, n
ai,j ⫽ ai,j ⫺ fator*ak,j
END DO
bi ⫽ bi ⫺ fator * bk
END DO
END DO
IF ABS(ak,k/sk) ⬍ to1 THEN er ⫽ ⫺1
END Eliminate
SUB Pivot (a, b, s, n, k)
p ⫽ k
maior ⫽ ABS(ak,k/sk)
DOFOR ii ⫽ k ⫹ 1, n
dummy ⫽ ABS(aii,k/sii)
IF dummy ⬎ big THEN
maior ⫽ dummy
p ⫽ ii
END IF
END DO
IF p ⫽ k THEN
DOFOR jj ⫽ k, n
dummy ⫽ ap,jj
ap,jj ⫽ ak,jj
ak,jj ⫽ dummy
END DO
dummy ⫽ bp
bp ⫽ bk
bk ⫽ dummy
dummy ⫽ sp
sp ⫽ sk
sk ⫽ dummy
END IF
END pivot
SUB Substitute (a, n, b, x)
xn ⫽ bn/an,n
DOFOR i ⫽ n ⫺ 1, 1, ⫺1
soma ⫽ 0
DOFOR j ⫽ i ⫹ 1, n
soma ⫽ soma ⫹ ai,j * xj
END DO
xi ⫽ (bi ⫺ soma) / ai,i
END DO
END Substitute
FIGURA 9.6
Pseudocódigo para implementação da eliminação de Gauss com pivotamento parcial.
EXEMPLO 9.10
Efeito da Mudança de Escala no Pivotamento e nos Erros de Arredondamento
Enunciado do Problema.
(a) Resolva o seguinte conjunto de equações usando a eliminação de Gauss e a estratégia
de pivotamento:
2x1 + 100.000x2 = 100.000
x1 +
x2 = 2
(b) Repita a solução depois de mudar a escala das equações de modo que o maior
coeficiente em cada linha seja 1.
(c) Finalmente, use os coeficientes normalizados para determinar se o pivotamento é
necessário. Entretanto, resolva de fato as equações com os valores originais dos
coeficientes. Em todos os casos, trabalhe apenas com três algarismos significativos.
Observe que as respostas corretas são x1 = 1,00002 e x2 = 0,99998 com três
algarismos significativos, x1 = x2 = 1,00.
9.4 TÉCNICAS PARA MELHORAR SOLUÇÕES
219
Solução.
(a) Sem mudar a escala, aplica-se a eliminação progressiva e obtém-se
2x1 + 100.000x2 = 100.000
−50.000x2 = −50.000
o que pode ser resolvido por substituição regressiva, fornecendo
x2 = 1,00
x1 = 0,00
Apesar de x2 estar correto, x1 está 100% errado, por causa dos erros de arredondamento.
(b) Mudando a escala das equações originais, obtém-se
0,00002x1 + x2 = 1
x1 + x2 = 2
Portanto, as linhas devem ser pivotadas para pôr o maior valor na diagonal.
x1 + x2 = 2
0,00002x1 + x2 = 1
A eliminação dá
x1 + x2 = 2
x2 = 1,00
o que pode ser resolvido por
x1 = x2 = 1
Assim, a mudança de escala conduziu à resposta correta.
(c) Os coeficientes depois da mudança de escala indicam que o pivotamento é
necessário. Então, pivotamos, mas mantemos os coeficientes originais obtendo
x1 +
x2 = 2
2x1 + 100.000x2 = 100.000
A eliminação dá
x1 +
x2 = 2
100.000x2 = 100.000
o que pode ser resolvido dando a resposta correta: x1 = x2 = 1. Assim, a mudança de
escala foi útil para determinar quando o pivotamento é necessário, mas não foi
necessária uma mudança de escala nas próprias equações para se chegar a uma
resposta correta.
Como no exemplo anterior, a mudança de escala tem utilidade na minimização de
erros de arredondamento. No entanto, deve ser observado que a própria mudança de escala também leva a erros de arredondamento. Por exemplo, dada a equação
2x1 + 300.000x2 = 1
e usando três algarismos significativos, a mudança de escala leva a
0,00000667x1 + x2 = 0,00000333
ELIMINAÇÃO DE GAUSS
220
Assim, a mudança de escala introduz um erro de arredondamento no primeiro coeficiente
e na constante do lado direito. Por essa razão, às vezes recomendamos que a mudança de
escala seja utilizada apenas como na parte (c) do exemplo anterior. Ou seja, é usada para
calcular os valores dos coeficientes na nova escala simplesmente como um critério para
pivotamento, mas os coeficientes originais são mantidos nos cálculos da eliminação e
substituição propriamente ditos. Isso envolve prós e contras se o determinante estiver
sendo calculado como parte do programa. Isto é, o determinante resultante não estará na
nova escala. Entretanto, como muitas aplicações da eliminação de Gauss não exigem o
cálculo do determinante, essa é a abordagem mais comum e será usada no algoritmo da
próxima seção.
9.4.4 Algoritmo Computacional para a Eliminação de Gauss
Os algoritmos das Figuras 9.4 e 9.5 podem ser combinados agora em um algoritmo maior
para implementar o algoritmo completo de eliminação de Gauss. A Figura 9.6 mostra um
algoritmo para uma sub-rotina geral que implemente a eliminação de Gauss.
Observe que o programa inclui módulos para as três operações principais do algoritmo da eliminação de Gauss: eliminação progressiva, substituição regressiva e pivotamento. Além disso, temos diversos aspectos do código que diferem e são aperfeiçoamentos dos pseudocódigos das Figuras 9.4 e 9.5. São eles:
• Não são feitas mudanças de escala nas equações, mas os valores na nova escala dos
elementos são usados para determinar quando o pivotamento deve ser implementado.
• O termo na diagonal é monitorado durante a fase de pivotamento para se detectar a
ocorrência de valores próximos de zero e identificar sistemas singulares. Se o algoritmo
devolver um valor er = −1, uma matriz singular foi detectada e os cálculos devem ser
interrompidos. Um valor pequeno para o parâmetro tol é escolhido pelo usuário, para
detectar ocorrências próximas de zero.
EXEMPLO 9.11
Solução de Equações Algébricas Lineares Usando o Computador
Enunciado do Problema. Um programa de computador para resolver equações algébricas lineares, como o baseado na Figura 9.6, pode ser usado para resolver o problema
associado ao exemplo do pára-quedista em queda livre discutido no Capítulo 1. Suponha
que um time de três pára-quedistas está ligado por uma corda sem peso enquanto cai, em
queda livre, a uma velocidade de 5 m/s (Figura 9.7). Calcule a tensão em cada seção da
corda e a aceleração do time, dado o seguinte:
Páraquedista
Massa, kg
Coeficiente de
Arrasto, kg/s
1
2
3
70
60
40
10
14
17
Solução. Diagramas de corpo livre foram esboçados na Figura 9.8. Somando as forças
na vertical e usando a segunda lei de Newton, tem-se um conjunto de três equações lineares simultâneas:
m 1 g − T − c1 v
= m1a
m 2 g + T − c2 v − R = m 2 a
m3g
− c3 v + R = m 3 a
9.5 SISTEMAS COMPLEXOS
3
221
c2v
c3v
R
c1v
T
R
m3g
R
m2g
3
2
T
2
m1g
1
FIGURA 9.8
Diagramas de corpo livre para cada um dos três pára-quedistas em queda livre.
Essas equações possuem três incógnitas: a, T e R. Depois de substituir os valores conhecidos, as equações podem ser expressas na forma matricial (g = 9,8 m/s2),
⎫
⎤⎧ ⎫ ⎧
70
1
0 ⎨ a ⎬ ⎨ 636 ⎬
⎣ 60 −1
1 ⎦ T = 518
⎭
⎩ ⎭ ⎩
307
R
40
0 −1
⎡
T
Esse sistema pode ser resolvido usando seu próprio software. O resultado é a ⫽ 8,5941 m/s2;
T ⫽ 34,4118 N e R ⫽ 36,7647 N.
a
1
9.5
SISTEMAS COMPLEXOS
Em alguns problemas, é possível obter um sistema de equações complexas
FIGURA 9.7
Três pára-quedistas em queda
livre ligados por uma corda
sem peso.
[C]{Z } = {W }
(9.27)
onde
[C] = [A] + i[B]
{Z } = {X} + i{Y }
{W } = {U } + i{V }
(9.28)
√
onde i = −1.
A forma mais direta de resolver tal sistema é usar um dos algoritmos descritos nesta
parte do livro, trocando as operações reais por operações complexas. É claro que isso só é
possível para aquelas linguagens, tal como o Fortran, que permitem variáveis complexas.
Para linguagens que não permitem a declaração de variáveis complexas, é possível
escrever um código para transformar operações reais em complexas. Contudo, essa não é
uma tarefa trivial. Uma alternativa é transformar o sistema complexo em outro equivalente envolvendo apenas variáveis reais, o que pode ser feito substituindo-se a Equação
(9.28) na Equação (9.27) e igualando as partes reais e imaginárias da equação resultante
para obter
ELIMINAÇÃO DE GAUSS
222
e
[A]{X} − [B]{Y } = {U }
(9.29)
[B]{X} + [A]{Y } = {V }
(9.30)
Assim, o sistema de n equações complexas se transforma em um conjunto de 2n
equações reais. Isso significa que o espaço de armazenamento e o tempo de execução vão
crescer significativamente. Conseqüentemente, há prós e contras relativos a essa opção.
Se você calcula sistemas complexos raramente, é preferível usar as Equações (9.29) e
(9.30) por causa de sua conveniência. Por outro lado, se você os usa muitas vezes e deseja
utilizar uma linguagem que não permite dados do tipo complexo, então pode valer a pena
o esforço de escrever um programa adaptado para resolver equações que transforme
operações reais em complexas.
9.6
SISTEMAS DE EQUAÇÕES NÃO-LINEARES
Lembre-se de que no final do Capítulo 6 foi apresentada uma abordagem para resolver
duas equações não-lineares com duas variáveis. Essa abordagem pode ser estendida ao
caso geral de resolver n equações não-lineares simultâneas.
f 1 (x1 , x2 , . . . , xn ) = 0
f 2 (x1 , x2 , . . . , xn ) = 0
.
.
.
.
.
.
(9.31)
f n (x1 , x2 , . . . , xn ) = 0
A solução desse sistema consiste no conjunto dos valores de x para os quais todas as
equações sejam simultaneamente nulas.
Como descrito na Seção 6.5.2, uma abordagem para resolver tais sistemas se baseia
em uma versão multidimensional do método de Newton-Raphson. Assim, é escrita uma
expansão em série de Taylor para cada equação. Por exemplo, para a k-ésima equação,
f k,i+1 = f k,i + (x1,i+1 − x1,i )
∂ f k,i
∂ f k,i
∂ f k,i
+ (x2,i+1 − x2,i )
+ · · · + (xn,i+1 − xn,i )
∂ x1
∂ x2
∂ xn
(9.32)
onde o primeiro índice, k, representa a equação ou a variável e o segundo índice denota se
o valor ou função em questão é o valor atual (i) ou o valor seguinte (i + 1).
Equações da forma de (9.32) são escritas para cada uma das equações não-lineares
originais. Então, do mesmo modo como foi feito para deduzir a Equação (6.20) da
Equação (6.19), todos os termos fk,i+1 são igualados a zero, como seria o caso na raiz,
e a Equação (9.32) pode ser escrita como
−f k,i + x1,i
= x1,i+1
∂ f k,i
∂ f k,i
∂ f k,i
+ x2,i
+ · · · + xn,i
∂ x1
∂ x2
∂ xn
∂ f k,i
∂ f k,i
∂ f k,i
+ x2,i+1
+ · · · + xn,i+1
∂ x1
∂ x2
∂ xn
(9.33)
Observe que as únicas incógnitas na Equação (9.33) são os termos xk,i+1 do lado direito
da equação. Todas as outras quantidades são localizadas no valor atual (i) e, portanto, são
conhecidas em qualquer iteração. Conseqüentemente, o conjunto de equações genericamente representado pela Equação (9.33) (isto é, com k = 1, 2, . . . , n) constitui um conjunto de equações lineares simultâneas, que pode ser resolvido pelos métodos tratados
nesta parte do livro.
9.7 GAUSS-JORDAN
a11
a12 a13
b1
a21
a22 a23
b2
a31
a32 a33
b3
↓
1
0
0
b(n)1
0
1
0
b(n)2
0
0
1
b(n)3
↓
x1
x2
x3
b(n)1
b(n)2
b(n)3
223
A notação matricial pode ser usada para expressar a Equação (9.33) de forma concisa. As derivadas parciais podem ser expressas por
⎡
⎤
∂ f 1,i
∂ f 1,i ∂ f 1,i
···
⎢
⎥
∂ x2
∂ xn ⎥
⎢ ∂ x1
⎢
⎥
⎢ ∂ f 2,i ∂ f 2,i
∂ f 2,i ⎥
⎢
⎥
···
⎢ ∂x
∂ x2
∂ xn ⎥
1
⎢
⎥
⎢
⎥
.
. ⎥
[Z ] = ⎢ .
(9.34)
⎢
⎥
⎢ .
⎥
.
. ⎥
⎢
⎢ .
.
. ⎥
⎢
⎥
⎢
⎥
∂ f n,i ⎦
⎣ ∂ f n,i ∂ f n,i
···
∂ x1
∂ x2
∂ xn
Os valores inicial e final se escrevem na forma de vetores
FIGURA 9.9
Descrição gráfica do método
de Gauss-Jordan. Compare
com a Figura 9.3 para observar
as diferenças entre essa técnica
e a eliminação de Gauss. O
sobrescrito (n) significa que o
elemento do lado direito da
equação foi modificado n
vezes (para esse caso, n = 3).
{X i }T = ⌊x1,i
x2,i
···
xn,i ⌋
x2,i+1
···
e
{X i+1 }T = ⌊x1,i+1
xn,i+1 ⌋
Finalmente, os valores da função em i podem ser expressos por
{Fi }T = ⌊ f 1,i
f 2,i
···
f n,i ⌋
Usando essas relações, a Equação (9.33) é escrita de forma concisa como
[Z ]{X i+1 } = −{Fi } + [Z ]{X i }
(9.35)
A Equação (9.35) pode ser resolvida usando-se uma técnica como a eliminação de Gauss.
Esse processo pode ser repetido iterativamente para se obter estimativas refinadas, de
forma parecida com o caso das duas equações tratado na Seção 6.5.2.
Deve-se observar que há dois grandes defeitos nessa abordagem anterior. Primeiro, a
Equação (9.34) é, em geral, inconveniente de ser calculada. Assim, variações do método
de Newton-Raphson foram desenvolvidas para contornar esse problema. Como seria de
esperar, a maioria delas é baseada em aproximações por diferenças finitas das derivadas
parciais que compõem [Z].
O segundo defeito do método de Newton-Raphson para equações múltiplas é que, em
geral, são necessárias estimativas excelentes para os valores iniciais para garantir a convergência. Como esses valores são geralmente difíceis de obter, foram desenvolvidas outras abordagens alternativas que são mais lentas do que o método de Newton-Raphson,
mas que têm um comportamento de convergência melhor. Uma abordagem comum é reformular o sistema não-linear como uma única função
n
F(x) =
[ f i (x1 , x2 , . . . , xn )]2
(9.36)
i=1
onde fi(xl, x2, . . . , xn) é o i-ésimo membro do sistema original da Equação (9.31). Os valores de x que minimizam essa função também representam a solução do sistema nãolinear. Como veremos no Capítulo 17, essa reformulação pertence à classe de problemas
chamada de regressão não-linear. Assim, poderá ser tratada com várias técnicas de
otimização como as que serão descritas mais tarde neste texto (Parte Quatro e especificamente Capítulo 14).
9.7
GAUSS-JORDAN
O método de Gauss-Jordan é uma variação da eliminação de Gauss. A maior diferença é
que, quando uma variável é eliminada no método de Gauss-Jordan, ela é eliminada de
todas as outras equações, não só das posteriores. Além disso, todas as linhas são norma-
ELIMINAÇÃO DE GAUSS
224
lizadas pela divisão pelo seu elemento pivô. Então, o passo de eliminação resulta na matriz identidade e não em uma matriz triangular (Figura 9.9). Conseqüentemente, não é
necessário usar a substituição regressiva para obter o resultado. O método é mais bem
ilustrado por um exemplo.
EXEMPLO 9.12
Método de Gauss-Jordan
Enunciado do Problema. Use a técnica de Gauss-Jordan para resolver o mesmo sistema do Exemplo 9.5:
3x1 − 0,1x2 − 0,2x3 = 7,85
0,1x1 + 7x2 − 0,3x3 = −19,3
0,3x1 − 0,2x2 + 10x3 = 71,4
Solução. Primeiro, expresse os coeficientes e as constantes do lado direito da equação
como uma matriz aumentada:
⎡
⎤
3 −0,1 −0,2
7,85
⎣ 0,1
7
−0,3 −19,3 ⎦
0,3 −0,2
10
71,4
Então, normalize a primeira linha dividindo-a pelo elemento pivô, 3, para obter
⎡
⎤
1 −0,0333333 −0,066667 2,61667
⎣ 0,1
7
−0,3
−19,3 ⎦
0,3
−0,2
10
71,4
O termo x1 pode ser eliminado da segunda linha subtraindo 0,1 vez a primeira linha da segunda linha. De maneira semelhante, subtraindo 0,3 vez a primeira linha da terceira linha,
iremos eliminar o termo x1 da terceira linha:
⎡
⎤
1 −0,0333333 −0,066667
2,61667
⎣0
7,00333
−0,293333 −19,5617 ⎦
0 −0,190000
10,0200
70,6150
Em seguida, normalizamos a segunda linha, dividindo-a por 7,00333:
⎡
⎤
1 −0,0333333 −0,066667
2,61667
⎣0
1
−0,0418848 −2,79320 ⎦
0 −0,190000
10,0200
70,6150
A redução do termo x2 da primeira e da terceira linhas resulta em
⎡
⎤
1 0 −0,0680629
2,52356
⎣ 0 1 −0,0418848 −2,79320 ⎦
0 0
10,01200
70,0843
A terceira linha é então normalizada dividindo-se por 10,0120:
⎡
⎤
1 0 −0,0680629
2,52356
⎣ 0 1 −0,0418848 −2,79320 ⎦
0 0
1
7,0000
Finalmente, o termo x3 pode ser reduzido da primeira e da segunda equações dando
⎡
⎤
1 0 0
3,0000
⎣ 0 1 0 −2,5000 ⎦
0 0 1
7,0000
Assim, como descrito na Figura 9.8, a matriz dos coeficientes foi transformada na matriz
identidade e a solução é obtida no vetor do lado direito. Observe que não foi necessária a
substituição regressiva para se obter a solução.
PROBLEMAS
225
Todo o material deste capítulo relativo a armadilhas e aprimoramentos do método de
eliminação de Gauss também se aplica ao método de Gauss-Jordan. Por exemplo, uma estratégia de pivotamento parecida pode ser usada para evitar a divisão por zero e reduzir
erros de arredondamento.
Apesar de a técnica de Gauss-Jordan e a eliminação de Gauss poderem parecer quase
idênticas, a primeira requer mais trabalho. Usando uma abordagem semelhante à da
Seção 9.2.1, pode-se determinar que o número de flops de multiplicação/divisão envolvidos no Gauss-Jordan ingênuo é
n3
n3
n
n cresce
+ n 2 − −quando
−−−−−
−−−→
+ O(n 2 )
2
2
2
(9.37)
Assim, o Gauss-Jordan envolve aproximadamente 50% mais operações do que a eliminação de Gauss [compare com a Equação (9.23)]. Portanto, a eliminação de Gauss é o
método de eliminação simples preferido para se obter soluções de equações algébricas
lineares. Entretanto, uma das razões principais para introduzirmos o método de Gauss-Jordan é que ele ainda é usado tanto em engenharia quanto em alguns algoritmos numéricos.
9.8
RESUMO
Em resumo, devotamos a maior parte deste capítulo à eliminação de Gauss, o método
mais fundamental para resolver equações algébricas lineares simultâneas. Apesar de ser
uma das técnicas mais antigas desenvolvidas para esse propósito, é, no entanto, um algoritmo extremamente efetivo para se obter soluções para muitos problemas da engenharia.
Além dessa utilidade prática, este capítulo também fornece um contexto para a discussão
de questões gerais como arredondamento, mudança de escala e condicionamento. Também, foi apresentado brevemente algum material sobre o método de Gauss-Jordan, assim
como sobre sistemas complexos e não-lineares.
As respostas obtidas pela eliminação de Gauss podem ser verificadas por substituição
nas equações originais. Entretanto, isso nem sempre representa uma verificação confiável
para sistemas mal condicionados. Desse modo, deve ser calculada alguma medida do
condicionamento, tal como o determinante do sistema depois da mudança de escala, se
houver suspeita de erros de arredondamento. Usar pivotamento parcial e mais algarismos
significativos nos cálculos são duas opções para diminuir os erros de arredondamento. No
próximo capítulo, retornaremos ao tópico de condicionamento do sistema quando discutirmos a matriz inversa.
PROBLEMAS
9.1
(a) Escreva o seguinte conjunto de equações na forma matricial:
50 = 5x3 + 2x2
10 − x1 = x3
[F] =
3x2 + 8x1 = 20
(b) Escreva a transposta da matriz dos coeficientes.
9.2 Diversas matrizes são definidas a seguir
⎡
⎡
⎤
⎤
4 7
4 3 7
[A] = ⎣ 1 2 ⎦
[B] = ⎣ 1 2 7 ⎦
5 6
2 0 4
⎧ ⎫
⎨3⎬
{C} = 6
⎩ ⎭
1
⎤
1 5 8
[E] = ⎣ 7 2 3 ⎦
4 0 6
⎡
[D] =
9 4 3 −6
2 −1 7 5
3 0 1
1 7 3
⌊G⌋ = ⌊ 7 6 4 ⌋
Responda às seguintes questões em relação a essas matrizes:
(a) Quais as dimensões dessas matrizes?
(b) Identifique as matrizes quadrada, linha e coluna.
(c) Qual o valor dos elementos: a12, b23, d32, e22, f12, g12?
(d) Efetue as seguintes operações:
(1) [E] + [B]
(7) [B] × [A]
(2) [A] + [F]
(8) [D]T
(3) [B] − [E]
(9) [A] × {C}
(4) 7 × [B]
(10) [I ] × [B]
(5) [E] × [B]
(11) [E]T [E]
T
(6) {C}
(12) {C}T {C}
ELIMINAÇÃO DE GAUSS
226
9.3 Três matrizes são dadas por
⎤
1 6
1 3
2 −2
[A] = ⎣ 3 10 ⎦
[B] =
[C] =
0,5 2
−3 1
7 4
(a) Efetue todas as multiplicações possíveis entre pares dessas
matrizes.
(b) Use o método do Quadro PT3.2 para justificar por que os outros pares não podem ser multiplicados.
(c) Use os resultados de (a) para ilustrar por que a ordem da multiplicação é importante.
9.4 Use o método gráfico para resolver
⎡
4x1 − 8x2 = −24
x1 + 6x2 = 34
Verifique seus resultados substituindo as soluções no sistema.
9.5 Dado o sistema de equações
−1,1x1 + 10x2 = 120
(a)
(b)
(c)
(d)
9.6
− 2x1 + 17,4x2 = 174
Resolva graficamente e verifique os resultados substituindo-os
nas equações.
Baseado no resultado gráfico, o que você espera em relação ao
condicionamento do sistema?
Calcule o determinante.
Resolva por eliminação de variáveis.
Para o conjunto de equações
2x2 + 5x3 = 9
2x1 + x2 + x3 = 9
(a)
(b)
(c)
9.7
3x1 + x2 = 10
Calcule o determinante.
Use a regra de Cramer para determinar os x’s.
Substitua seus resultados nas equações originais para verificá-los.
Dadas as equações
0,5x1 − x2 = −9,5
1,02x1 − 2x2 = −18,8
(a) Resolva graficamente.
(b) Calcule o determinante.
(c) Com base em (a) e (b), o que você espera em relação ao condicionamento do sistema?
(d) Resolva por eliminação de variáveis.
(e) Resolva novamente com a11 levemente modificado para 0,52.
Interprete seus resultados.
9.8 Dadas as equações
10x1 + 2x2 − x3 = 27
− 3x1 − 6x2 + 2x3 = −61,5
x1 + x2 + 5x3 = −21,5
(a) Resolva por eliminação de Gauss ingênua. Mostre todos os
passos dos cálculos.
(b) Substitua seus resultados nas equações originais para verificar
suas respostas.
9.9 Use eliminação de Gauss para resolver:
8x1 + 2x2 − 2x3 = −2
10x1 + 2x2 + 4x3 = 4
12x1 + 2x2 + 2x3 = 6
Utilize pivotamento parcial e verifique suas respostas, substituindo-as nas equações originais.
9.10 Dado o sistema de equações
− 3x2 + 7x3 = 2
x1 + 2x2 − x3 = 3
5x1 − 2x2 = 2
(a) Calcule o determinante.
(b) Use a regra de Cramer para determinar os x’s.
(c) Use eliminação de Gauss com pivotamento parcial para determinar os x’s.
(d) Substitua seus resultados nas equações originais para verificar
suas respostas.
9.11 Dadas as equações
2x1 − 6x2 − x3 = −38
− 3x1 − x2 + 7x3 = −34
− 8x1 + x2 − 2x3 = −20
(a) Resolva por eliminação de Gauss com pivotamento parcial.
Mostre todos os passos dos cálculos.
(b) Substitua seus resultados nas equações originais para verificar
suas respostas.
9.12 Use eliminação de Gauss-Jordan para resolver:
2x1 + x2 − x3 = 1
5x1 + 2x2 + 2x3 = −4
3x1 + x2 + x3 = 5
Não utilize pivotamento. Substitua seus resultados nas equações
originais para verificar suas respostas.
9.13 Resolva:
x1 + x2 − x3 = −3
6x1 + 2x2 + 2x3 = 2
− 3x1 + 4x2 + x3 = 1
com (a) eliminação de Gauss ingênua, (b) eliminação de Gauss com
pivotamento parcial e (c) Gauss-Jordan sem pivotamento parcial.
9.14 Efetue os mesmos cálculos do Exemplo 9.11, mas use cinco
pára-quedistas com as seguintes características:
Pára-quedista
1
2
3
4
5
Massa, kg
Coeficiente de
Arrasto, kg/s
55
75
60
75
90
10
12
15
16
10
Os pára-quedistas têm velocidade de 9 m/s.
9.15 Resolva
z1
3 + 2i 4
2+i
=
−i
1
z2
3
9.16 Desenvolva, debug e teste um programa em linguagem de alto
nível ou em macro a sua escolha para multiplicar duas matrizes —
isto é, [X] = [Y ][Z ], onde [Y] é uma matriz m por n e [Z] é uma n por
p. Teste seu programa usando as matrizes do Problema 9.3.
PROBLEMAS
9.17 Desenvolva, debug e teste um programa em linguagem de
alto nível ou em macro a sua escolha para gerar a transposta de uma
matriz. Teste seu programa usando as matrizes do Problema 9.3.
9.18 Desenvolva, debug e teste um programa em linguagem de
alto nível ou em macro a sua escolha para resolver um sistema
de equações com eliminação de Gauss e com pivotamento parcial.
227
Use como base o pseudocódigo da Figura 9.6. Teste seu programa
utilizando o seguinte sistema (cuja resposta é x1 = x2 = x3 = 1),
x1 + 2x2 − x3 = 2
5x1 + 2x2 + 2x3 = 9
− 3x1 + 5x2 − x3 = 1
CAPÍTULO
10
Decomposição LU e
Inversão de Matrizes
Este capítulo trata de uma classe de métodos de eliminação chamados de técnicas de decomposição LU. O interesse principal da decomposição LU é que o passo de eliminação,
que consome muito tempo, pode ser formulado de modo que envolva apenas operações
na matriz dos coeficientes, [A]. Assim, ele se adapta bem àquelas situações nas quais
muitos vetores à direita, {B}, devem ser calculados para um único valor de [A]. Apesar de
haver uma variedade de maneiras pelas quais isso pode ser feito, vamo-nos concentrar em
mostrar como o método de eliminação de Gauss pode ser implementado como uma decomposição LU.
Um motivo para introduzir a decomposição LU é que ela fornece uma maneira eficiente de calcular a matriz inversa, a qual tem um grande número de aplicações valiosas
na prática da engenharia. A decomposição LU também fornece um meio de avaliar o
condicionamento do sistema.
10.1
DECOMPOSIÇÃO LU
Como descrito no capítulo anterior, a eliminação de Gauss é projetada para resolver sistemas de equações algébricas lineares,
[A]{X} = {B}
(10.1)
Embora certamente represente um método seguro de resolver tais sistemas, ele se torna
ineficiente ao se resolver equações com os mesmos coeficientes [A], mas com diferentes
constantes à direita (os b’s).
Lembre-se que a eliminação de Gauss envolve dois passos: a eliminação progressiva
e a substituição regressiva (Figura 9.3). Desses, a eliminação progressiva compreende o
maior volume de esforço computacional (lembre-se da Tabela 9.1). Isso é particularmente
verdadeiro para grandes sistemas de equações.
Os métodos de decomposição LU separam a eliminação da matriz [A], que consome
tempo, das manipulações do lado direito {B}. Assim, uma vez que [A] tenha sido “decomposta”, vetores múltiplos à direita podem ser calculados de maneira eficiente.
É interessante observar que a própria eliminação de Gauss pode ser escrita como uma
decomposição LU. Antes de mostrar como isso pode ser feito, inicialmente será fornecida
uma visão matemática geral da estratégia da decomposição.
10.1.1 Uma Visão Geral da Decomposição LU
Do mesmo modo como no caso da eliminação de Gauss, a decomposição LU requer
pivotamento para se evitar divisões por zero. Entretanto, para simplificar a descrição a
seguir, a questão do pivotamento será adiada até que a abordagem principal seja elaborada. Além disso, a explicação seguinte está limitada a um conjunto de três equações simultâneas. Os resultados podem ser estendidos diretamente a sistemas de n dimensões.
A Equação (10.1) pode ser reorganizada como
228
[A]{X} − {B} = 0
(10.2)
10.1 DECOMPOSIÇÃO LU
229
Suponha que a Equação (10.2) possa ser escrita como um sistema triangular superior:
⎡
⎤
u 11 u 12 u 13 x1 d1
⎣ 0 u 22 u 23 ⎦ x2 = d2
(10.3)
x
d
0
0 u 33
3
3
Perceba que isso é parecido com os cálculos que ocorrem no primeiro passo da eliminação de Gauss. Ou seja, a eliminação é usada para reduzir o sistema a uma forma triangular superior. A Equação (10.3) também pode ser escrita em notação matricial e reorganizada para dar
[U ]{X} − {D} = 0
(10.4)
Agora, suponha que exista uma matriz triangular inferior com 1’s na diagonal,
1
0 0
[L] =
l21
l31
1
l32
0
1
(10.5)
que tenha a propriedade de que, quando o primeiro membro da Equação (10.4) for multiplicado à esquerda por ela, o resultado seja o primeiro membro da Equação (10.2). Isto é,
[L]{[U ]{X} − {D}} = [A]{X} − {B}
(10.6)
[L][U ] = [A]
(10.7)
[L]{D} = {B}
(10.8)
Se essa equação for válida para todo {X}, segue das regras de multiplicação de matrizes que
e
Uma estratégia de dois passos (ver Figura 10.1) para obter soluções pode basear-se
nas Equações (10.4), (10.7) e (10.8):
1.
2.
Passo da decomposição LU. [A] é fatorada ou “decomposta” em matrizes triangulares inferior [L] e superior [U].
Passo de substituição. [L] e [U] são usadas para determinar a solução {X} para um
lado direito {B}. Esse passo consiste em duas etapas. Primeiro, a Equação (10.8) é
usada para gerar um vetor intermediário {D} por substituição progressiva. A seguir,
o resultado é substituído na Equação (10.4), que pode ser resolvida por substituição
regressiva, determinando-se {X}.
Agora, vejamos como a eliminação de Gauss pode ser implementada dessa forma.
FIGURA 10.1
Os passos da
decomposição LU.
A
X
⫽
B
D
⫽
B
(a) Decomposição
U
L
L
(b) Progressiva
D
Substituição
U
X ⫽ D
(c) Regressiva
X
230
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
10.1.2 A Versão da Eliminação de Gauss por Decomposição LU
Embora à primeira vista pareça não estar relacionada com a decomposição LU, a eliminação de Gauss pode ser usada para decompor [A] em [L] e [U]. Isso pode ser visto facilmente para [U], que é um produto direto da eliminação progressiva. Lembre-se que o
passo de eliminação progressiva tem por objetivo reduzir a matriz original dos coeficientes [A] para a forma
⎤
⎡
a11 a12 a13
′
′ ⎦
[U ] = ⎣ 0 a22
a23
(10.9)
′′
0
0 a33
que está na forma triangular superior procurada.
Embora possa não ser tão aparente, a matriz [L] também é produzida durante essa
etapa. Isso pode ser prontamente ilustrado para um sistema de três equações,
a11 a12 a13
x1
b1
a21 a22 a23
x2 = b2
a31 a32 a33
x3
b3
A primeira etapa da eliminação de Gauss é multiplicar a linha 1 pelo fator [lembre-se da
Equação (9.13)]
a21
f 21 =
a11
e subtrair o resultado da segunda linha para eliminar a21 . Analogamente, a linha 1 é multiplicada por
a31
f 31 =
a11
e o resultado é subtraído da terceira linha para eliminar a31 . O passo final é multiplicar a
segunda linha modificada por
a′
f 32 = 32
′
a22
′
.
e subtrair o resultado da terceira linha para eliminar a32
Agora, suponha que foram meramente efetuadas todas essas manipulações na matriz
[A]. Claramente, se não se quer modificar a equação, também se deve fazer o mesmo com
o lado direito {B}. Mas não há nenhuma razão que obrigue a efetuar essas operações simultaneamente. Assim, pode-se salvar os f ⬘s e manipular {B} depois.
Onde serão armazenados os fatores f21, f31 e f32? Lembre-se que a idéia por trás da
eliminação era criar zeros em a21, a31 e a32. Assim, é possível armazenar f21 em a21, f31
em a31 e f32 em a32. Depois da eliminação, a matriz [A] poderia, portanto, ser escrita como
⎡
⎤
a11 a12 a13
′ ⎥
⎢ f 21 a ′
a23
(10.10)
22
⎣
⎦
f 31
f 32
′′
a33
Essa matriz, de fato, representa um armazenamento eficiente da decomposição LU de [A],
[A] → [L][U ]
(10.11)
onde
⎡
e
a11
⎢ 0
[U ] = ⎣
a12
′
a22
0
0
1
f
⎣
21
[L] =
f 31
0
1
f 32
⎡
⎤
a13
′ ⎥
a23
⎦
′′
a33
⎤
0
0⎦
1
O exemplo a seguir confirma que [A] = [L][U ] .
10.1 DECOMPOSIÇÃO LU
EXEMPLO 10.1
231
Decomposição LU com Eliminação de Gauss
Enunciado do Problema. Obtenha uma decomposição LU baseada na eliminação de
Gauss efetuada no Exemplo 9.5.
No Exemplo 9.5, foi resolvido um sistema com a matriz
3 −0,1 −0,2
[A] = 0,1
7
−0,3
0,3 −0,2
10
Solução.
Após a eliminação progressiva, foi obtida a seguinte matriz triangular superior:
3
−0,1
−0,2
[U ] = 0 7,00333 −0,293333
0
0
10,0120
Os fatores empregados para obter a matriz triangular superior podem ser reunidos
em uma matriz triangular inferior. Os elementos a21 e a31 foram eliminados usando-se
os fatores
f 21 =
0,1
= 0,03333333
3
f 31 =
0,3
= 0,1000000
3
′
foi eliminado usando-se o fator
e o elemento a32
f 32 =
−0,19
= −0,0271300
7,00333
Assim, a matriz triangular inferior é
1
0
[L] = 0,0333333
1
0,100000 −0,0271300
0
0
1
Conseqüentemente, a decomposição LU é
1
0
[A] = [L][U ] = 0,0333333
1
0,100000 −0,0271300
0
0
1
3
0
0
−0,1
−0,2
7,00333 −0,293333
0
10,0120
Esse resultado pode ser verificado efetuando-se a multiplicação de [L][U] para obter
3
−0,1
−0,2
[L][U ] = 0,0999999
7
−0,3
0,3
−0,2
9,99996
cujas pequenas discrepâncias se devem a erros de arredondamento.
A seguir tem-se um pseudocódigo para uma sub-rotina que implemente a fase de decomposição:
SUB Decompose (a, n)
DOFOR k ⫽ 1, n ⫺ 1
DOFOR i ⫽ k ⫹ 1, n
fator ⫽ ai,k/ak,k
ai,k ⫽ fator
DOFOR j ⫽ k ⫹ 1, n
ai,j ⫽ ai,j ⫺ fator * ak,j
END DO
END DO
END DO
END Decompose
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
232
Observe que esse algoritmo é “ingênuo” no sentido que o pivotamento não está incluído.
Esse recurso será acrescentado mais tarde, quando será desenvolvido um algoritmo completo para a decomposição LU.
Depois que a matriz é decomposta, pode-se produzir uma solução para um valor particular do vetor à direita {B}, o que é feito em duas etapas. Primeiro, uma substituição
progressiva é executada, resolvendo-se a Equação (10.8) para {D}. É importante reconhecer que isso significa simplesmente efetuar as manipulações da eliminação em {B}.
Assim, ao final desse passo, o lado direito estará no mesmo estado em que estaria se
tivesse sido efetuada a eliminação progressiva em [A] e {B} simultaneamente.
O passo de substituição progressiva pode ser representado de modo conciso por
i−1
di = bi −
para i = 2, 3, . . . , n
ai j d j
j=1
(10.12)
O segundo passo, então, resume-se simplesmente em implementar a substituição regressiva, como na Equação (10.4). Novamente, é importante perceber que isso é idêntico
à fase de substituição regressiva da eliminação de Gauss convencional. Assim, de
maneira similar às Equações (9.16) e (9.17), o passo de substituição regressiva pode ser
representado concisamente por
(10.13)
xn = dn /ann
n
xi =
EXEMPLO 10.2
di −
ai j x j
j=i+1
aii
para i = n − 1, n − 2, . . . , 1
(10.14)
Os Passos de Substituição
Enunciado do Problema. Complete o problema iniciado no Exemplo 10.1, determinando a solução final por substituição progressiva e regressiva.
Solução. Como foi dito, o objetivo da substituição progressiva é impor as manipulações
da eliminação, que foram aplicadas anteriormente a [A], no vetor do lado direito, {B}.
Lembre-se que o sistema resolvido no Exemplo 9.5 é
x1
3 −0,1 −0,2
7,85
0,1
7
−0,3
x2 = −19,3
0,3 −0,2
10
71,4
x3
e que a fase de eliminação progressiva da eliminação de Gauss convencional resultou em
x1
3
−0,1
−0,2
7,85
0 7,00333 −0,293333
x2 = −19,5617
(E10.2.1)
0
0
10,0120
70,0843
x3
A fase de substituição progressiva é implementada aplicando-se a Equação (10.7) ao
problema,
d1
1
0
0
7,85
0,0333333
1
0
d2 = −19,3
0,100000 −0,0271300 1
71,4
d3
ou multiplicando o lado esquerdo,
d1
= 7,85
0,0333333d1 +
d2
= −19,3
0,1d1 − 0,02713d2 + d3 = 71,4
Pode-se determinar d1 a partir da primeira equação,
d1 = 7,85
10.1 DECOMPOSIÇÃO LU
233
o que pode ser substituído na segunda equação para determinar
d2 = −19,3 − 0,0333333(7.85) = −19,5617
Ambos, d1 e d2, podem então ser substituídos na terceira equação para dar
d3 = 71,4 − 0,1(7,85) + 0,02713(−19,5617) = 70,0843
Assim,
7,85
{D} = −19,5617
70,0843
que é idêntico ao lado direito da Equação (E10.2.1).
Esse resultado pode ser substituído na Equação (10.4), [U ]{X} = {D}, para dar
x1
3
−0,1
−0,2
7,85
0 7,00333 −0,293333
x2 = −19,5617
0
0
10,0120
70,0843
x3
que pode ser resolvida por substituição regressiva (ver Exemplo 9.5 para detalhes) para
determinar a solução final,
3
{X} =
−2,5
7,00003
A seguir tem-se um pseudocódigo para uma sub-rotina que implementa as duas fases
de substituição:
SUB Substitute (a, n, b, x)
'substituição progressiva
DOFOR i ⫽ 2, n
soma ⫽ bi
DOFOR j ⫽ 1, i ⫺ 1
soma ⫽ soma ⫺ ai,j * bj
END DO
bi ⫽ soma
END DO
'substituição regressiva
xn ⫽ bn /an,n
DOFOR i ⫽ n ⫺ 1, 1, ⫺1
soma ⫽ 0
DOFOR j ⫽ i ⫹ 1, n
soma ⫽ soma ⫹ ai,j * xj
END DO
xi ⫽ (bi ⫺ soma)/ai,i
END DO
END Substitute
O algoritmo de decomposição LU exige o mesmo número de flops de multiplicação/divisão que a eliminação de Gauss. A única diferença é que um pouco menos de esforço é gasto na fase de decomposição, já que as operações não são aplicadas ao lado
direito. Assim, o número de flops de multiplicação/divisão envolvidos na fase de decomposição pode ser calculado por
n3
n quando n cresce n 3
− −−−−−−−→
+ O(n)
3
3
3
(10.15)
234
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
Reciprocamente, a fase de substituição gasta um pouco mais de esforço. Assim, o
número de flops para substituição progressiva e regressiva é n2. O esforço total é, portanto, idêntico ao da eliminação de Gauss
3
n3
n
quando n cresce n
− + n 2 −−−−−−−→
+ O(n 2 )
3
3
3
(10.16)
10.1.3 Algoritmo de Decomposição LU
Um algoritmo para implementar a decomposição LU com base na eliminação de Gauss é
descrito na Figura 10.2. Quatro características desse algoritmo merecem menção:
Os fatores gerados durante a fase de eliminação são armazenados na parte de baixo da
matriz. Isso pode ser feito porque eles são transformados em zeros de qualquer forma
e não são necessários para a solução final. O armazenamento economiza espaço.
Esse algoritmo mantém as informações do pivotamento usando um vetor de ordem o.
Isso acelera bastante o algoritmo porque apenas o vetor de ordem (ao contrário de toda
a linha) é pivotado.
As equações não sofrem mudança de escala, mas valores dos elementos em uma nova
escala são usados para determinar quando o pivotamento deve ser implementado.
O termo diagonal é monitorado durante a fase de pivotamento para se detectar
ocorrências próximas de zero para sinalizar sistemas singulares. Se ele devolver
um valor er = −1, uma matriz singular foi detectada e os cálculos devem parar.
O usuário escolhe um pequeno valor para um parâmetro tol com a finalidade de
detectar ocorrências próximas de zero.
10.1.4 Decomposição de Crout
Observe que, para a implementação da decomposição LU na eliminação de Gauss, a
matriz [L] tem 1's na diagonal. Isso é formalmente chamado de decomposição de
Doolittle ou fatoração. Uma abordagem alternativa envolve a matriz [U] com 1's na
diagonal, o que é chamado de decomposição de Crout. Embora haja algumas diferenças entre essas abordagens (Atkinson, 1978; Ralston e Rabinowitz, 1978), seus desempenhos são comparáveis.
A abordagem da decomposição de Crout gera [U] e [L] varrendo a matriz pelas colunas e pelas linhas, como descrito na Figura 10.3. Ela pode ser implementada pela seguinte
série de fórmulas concisas:
para i = 1, 2, . . . , n
li,1 = ai,1
u1 j =
a1 j
l11
para j = 2, 3, . . . , n
(10.17)
(10.18)
Para j = 2, 3, . . . , n − 1
j−1
li j = ai j −
lik u k j
para i = j, j + 1, . . . , n
(10.19)
k=1
j−1
l ji u ik
a jk −
u jk =
i=1
para k = j + 1, j + 2, . . . , n
lj j
(10.20)
e
n−1
lnn = ann −
lnk u kn
k=1
(10.21)
10.1 DECOMPOSIÇÃO LU
SUB Ludecomp (a, b, n, tol, x, er)
DIM on, sn
235
END IF
END Decompose
er ⫽ 0
CALL Decompose(a, n, tol, o, s, er)
IF er ⫺1 THEN
CALL Substitute(a, o, n, b, x)
END IF
SUB Pivot (a, o, s, n, k)
p ⫽ k
maior ⫽ ABS(ao(k),k /so(k))
DOFOR ii ⫽ k ⫹ 1, n
END Ludecomp
dummy ⫽ ABS(ao(ii),k /so(ii))
IF dummy maior THEN
SUB Decompose (a, n, tol, o, s, er)
maior ⫽ dummy
DOFOR i ⫽ 1, n
p ⫽ ii
oi ⫽ i
si ⫽ ABS(ai,1)
DOFOR j ⫽ 2, n
IF ABS(ai,j)si THEN si ⫽ ABS(ai,j)
END DO
END DO
DOFOR k ⫽ 1, n ⫺ 1
CALL Pivot(a, o, s, n, k)
IF ABS(ao(k),k /so(k)) tol THEN
END IF
END DO
dummy ⫽ op
op ⫽ ok
ok ⫽ dummy
END Pivot
SUB Substitute (a, o, n, b, x)
DOFOR i ⫽ 2, n
er ⫽ ⫺1
soma ⫽ bo(i)
PRINT ao(k),k /so(k)
DOFOR j ⫽ 1, i ⫺ 1
EXIT DO
soma ⫽ soma ⫺ ao(i),j * bo(j)
END IF
END DO
DOFOR i ⫽ k ⫹ 1, n
fator ⫽ ao(i),k /ao(k),k
bo(i) ⫽ soma
END DO
ao(i),k ⫽ fator
xn ⫽ bo(n)/ao(n),n
DOFOR j ⫽ k ⫹ 1, n
DOFOR i ⫽ n ⫺ 1, 1, ⫺1
ao(i),j ⫽ ao(i),j ⫺ factor * ao(k),j
soma ⫽ 0
END DO
(a)
DOFOR j ⫽ i ⫹ 1, n
END DO
soma ⫽ soma ⫹ ao(i),j * xj
END DO
END DO
IF ABS(ao(k),k/so(k)) tol THEN
er ⫽ ⫺1
PRINT ao(k),k/so(k)
(b)
xi ⫽ (bo(i) ⫺ soma)/ao(i),i
END DO
END Substitute
FIGURA 10.2
Pseudocódigo para um algoritmo da decomposição LU.
(c)
(d)
FIGURA 10.3
Um esquema descrevendo os
cálculos envolvidos na
decomposição LU de Crout.
Além do fato de consistir em uns poucos laços concisos, a abordagem precedente tem
o benefício de que se pode economizar espaço de armazenamento. Não há necessidade de
armazenar os 1’s na diagonal de [U] ou os zeros na diagonal de [L] ou [U] pois eles são
dados pelo método. Conseqüentemente, os valores de [U] podem ser armazenados nos espaços de zeros de [L]. Além disso, um exame mais profundo do processo precedente torna
claro que, depois que cada elemento de [A] for usado uma só vez, ele nunca mais será utilizado. Assim, à medida que cada elemento de [L] e [U] for calculado, ele pode substituir
o elemento correspondente (de acordo com os índices) de [A].
Um pseudocódigo para executar isso é apresentado na Figura 10.4. Observe que a
Equação (10.17) não é incluída no pseudocódigo porque a primeira coluna de [L] já está
armazenada em [A]. Em vez disso, o algoritmo decorre diretamente das Equações (10.18)
a (10.21).
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
236
DOFOR j ⫽ 2, n
a1,j ⫽ a1,j/a1,1
END DO
DOFOR j ⫽ 2, n ⫺ 1
DOFOR i ⫽ j, n
soma ⫽ 0
DOFOR k ⫽ 1, j ⫺ 1
soma ⫽ soma ⫹ ai,k · ak,j
END DO
ai,j ⫽ ai,j ⫺ soma
END DO
DOFOR k ⫽ j ⫹ 1, n
soma ⫽ 0
DOFOR i ⫽ 1, j ⫺ 1
soma ⫽ soma ⫹ aj,i · ai,k
END DO
aj,k ⫽ (aj,k ⫺ soma
END DO
END DO
FIGURA 10.4
Pseudocódigo para algoritmo
de decomposição LU de Crout.
10.2
soma ⫽ 0
DOFOR k ⫽ 1, n ⫺ 1
soma ⫽ soma ⫹ an,k · ak,n
END DO
an,n ⫽ an,n ⫺ soma
A MATRIZ INVERSA
Na discussão sobre operações com matrizes (Seção PT3.2.2), foi introduzida a noção de
que, se a matriz [A] for quadrada, existe outra matriz, [A]−1, chamada inversa de [A], para
a qual [Equação (PT3.3)]
[A][A]−1 = [A]−1 [A] = [I ]
Agora, o foco será em como calcular essa inversa numericamente. A seguir, será explorado como isso pode ser usado para análise de engenharia.
10.2.1 Calculando a Inversa
A inversa pode ser calculada coluna a coluna, gerando soluções para vetores unitários
como constantes do lado direito. Por exemplo, se o vetor do lado direito tem 1 na primeira
posição e zeros no resto,
1
{b} = 0
0
a solução resultante será a primeira coluna da matriz inversa. Analogamente, se um vetor
unitário com um 1 na segunda linha for usado
0
{b} = 1
0
o resultado será a segunda coluna da matriz inversa.
A melhor forma de implementar tais cálculos é com o algoritmo de decomposição LU
descrito no começo do capítulo. Lembre-se que uma das grandes vantagens da decomposição LU é que ela fornece uma forma muito eficiente de calcular diversos vetores do
lado direito. Assim, ela é ideal para manipular os vários vetores unitários necessários para
calcular a inversa.
10.2 A MATRIZ INVERSA
EXEMPLO 10.3
237
Inversão de Matrizes
Enunciado do Problema. Utilize a decomposição LU para determinar a inversa da
matriz do sistema do Exemplo 10.2.
3 −0,1 −0,2
[A] = 0,1
7
−0,3
0,3 −0,2
10
Lembre-se de que a decomposição resultou nas seguintes matrizes triangulares superior e
inferior:
1
0
0
3
−0,1
−0,2
[L] = 0,0333333
[U ] = 0
1
0
7,00333 −0,293333
0,100000 −0,0271300
1
0
0
10,0120
Solução. A primeira coluna da matriz inversa pode ser determinada efetuando-se o
procedimento de solução da substituição progressiva com um vetor unitário (com o 1 na
primeira linha) como vetor do lado direito. Assim, a Equação (10.8), o sistema triangular
inferior, pode ser escrita como
d1
1
0
0
1
0,0333333
1
0
d2 = 0
0,100000 −0,0271300
1
0
d3
e resolvido com substituição progressiva para determinar {D}T = ⌊1 −0,03333
−0,1009⌋. Esse vetor pode ser usado como lado direito na Equação (10.3),
x1
1
3
−0,1
−0,2
0
7,00333 −0,293333
x2 = −0,03333
−0,1009
0
0
10,0120
x3
a qual pode ser resolvida por substituição regressiva para determinar
{X}T = ⌊0,33249 −0,00518 −0,01008⌋, que é a primeira coluna da matriz,
0,33249 0 0
−1
[A] = −0,00518 0 0
−0,01008 0 0
Para determinar a segunda coluna, a Equação (10.8) é formulada como
d1
1
0
0
0
0,0333333
1
0
d2 = 1
0,100000 −0,0271300
1
0
d3
Isso pode ser usado para determinar {D}, e os resultados podem ser utilizados na Equação
(10.3) para determinar {X}T = ⌊0,004944 0,142903 0,00271⌋, que é a segunda coluna
da matriz,
0,33249 0,004944 0
[A]−1 = −0,00518 0,142903 0
−0,01008 0,00271 0
Finalmente, o procedimento de substituição progressiva e regressiva pode ser implementado com {B}T = ⌊0 0 1⌋ para determinar {X}T = ⌊0,006798 0,004183 0,09988⌋,
que é a última coluna da matriz,
0,33249 0,004944 0,006798
[A]−1 = −0,00518 0,142903 0,004183
−0,01008 0,00271 0,09988
A validade desse resultado é verificada por [A][A]−1 = [I].
238
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
CALL Decompose (a, n, tol, o, s, er)
IF er ⫽ 0 THEN
DOFOR i ⫽ 1, n
DOFOR j ⫽ 1, n
IF i ⫽ j THEN
b(j) ⫽ 1
ELSE
b(j) ⫽ 0
END IF
END DO
CALL Substitute (a, o, n, b, x)
DOFOR j ⫽ 1, n
ai(j, i) ⫽ x(j)
END DO
END DO
Output ai, se desejado
ELSE
PRINT "sistema mal condicionado"
END IF
FIGURA 10.5
Programa principal que usa alguns dos subprogramas da Figura 10.2 para gerar a matriz
inversa.
Um pseudocódigo para determinar a inversa de uma matriz é mostrado na Figura 10.5.
Observe como a sub-rotina de decomposição da Figura 10.2 é chamada para executar a
decomposição e então determinar a inversa, chamando repetidamente o algoritmo de
substituição com vetores unitários.
O esforço exigido por esse algoritmo é calculado simplesmente por
n
n3
−
+
n(n 2 )
3
3
decomposição + n × substituições
=
4n 3
n
−
3
3
(10.22)
em que, da Seção 10.1.2, a decomposição é definida pela Equação (10.15) e o esforço envolvido na manipulação de cada lado à direita envolve n2 flops de multiplicação/divisão.
10.2.2 Cálculos de Resposta a Estímulos
Como foi discutido na Seção PT3.1.2, muitos dos sistemas de equações lineares confrontados na prática da engenharia são originários das leis de conservação. A expressão
matemática dessas leis é alguma forma de equação de balanço para garantir que uma propriedade particular — massa, força, calor, momento, ou outra — seja conservada. Para
um balanço de forças em uma estrutura, as propriedades poderiam ser as componentes
horizontais ou verticais das forças agindo sobre cada nó da estrutura (ver Seção 12.2).
Para um balanço de massas, as propriedades poderiam ser a massa em cada reator do
processo químico (ver Seção 12.1). Outras áreas da engenharia vão dar origem a exemplos semelhantes.
Uma única equação de balanço pode ser escrita para cada parte do sistema, resultando
em um conjunto de equações que define o comportamento da propriedade para o sistema
inteiro. Essas equações são inter-relacionadas, ou acopladas, no sentido de que cada
equação pode incluir uma ou mais das variáveis das outras equações. Em muitos casos,
esses sistemas são lineares e, portanto, da forma exata tratada neste capítulo:
[A]{X} = {B}
(10.23)
Agora, para equações de balanço, os termos da Equação (10.23) têm uma interpretação física definida. Por exemplo, os elementos de {X} são os níveis da propriedade
10.3 ANÁLISE DE ERRO E CONDICIONAMENTO DO SISTEMA
239
sendo balanceada para cada parte do sistema. Em um balanço de forças em uma estrutura,
representam as forças horizontais e verticais em cada membro. Para o balanço de massas,
são as massas de cada composto químico em cada reator. Em qualquer caso, representam
o estado do sistema, ou a resposta que se tenta determinar.
O vetor {B} do lado direito contém aqueles elementos do balanço que são independentes do comportamento do sistema — isto é, que são constantes. Assim, muitas vezes
eles representam as forças externas ou os estímulos que conduzem o sistema.
Finalmente, a matriz [A] dos coeficientes normalmente contém os parâmetros que
expressam como as partes do sistema interagem ou são acopladas. Conseqüentemente, a
Equação (10.23) pode ser expressa como
[Interações]{respostas} = {estímulos}
Logo, a Equação (10.23) pode ser vista como uma expressão do modelo matemático fundamental formulado previamente como uma única equação no Capítulo 1 [lembre-se da
Equação (1.1)]. É possível agora ver que a Equação (10.23) representa uma versão destinada a sistemas acoplados envolvendo várias variáveis dependentes {X}.
Como se sabe deste e dos capítulos anteriores, há diversas formas de resolver a
Equação (10.23). No entanto, usar a matriz inversa leva a um resultado particularmente
interessante. A solução formal pode ser escrita como
{X} = [A]−1 {B}
ou (lembrando a definição da multiplicação de matrizes do Quadro PT3.2)
−1
−1
−1
x1 = a11
b1 + a12
b2 + a13
b3
−1
−1
−1
x2 = a21
b1 + a22
b2 + a23
b3
−1
−1
−1
x3 = a31
b1 + a32
b2 + a33
b3
Portanto, vê-se que a própria matriz inversa, além de fornecer uma solução, tem propriedades extremamente úteis. Isto é, cada um dos seus elementos representa a resposta
de uma parte do sistema a um estímulo unitário de qualquer outra parte do sistema.
Observe que essas formulações são lineares e, portanto, valem a superposição e a
proporcionalidade. A superposição significa que, se um sistema está sujeito a diversos estímulos diferentes (os b’s), as respostas podem ser calculadas individualmente e os resultados podem ser somados para se obter uma resposta total. A proporcionalidade significa
que a multiplicação do estímulo por uma quantidade faz com que a resposta a esse estí−1
é uma consmulo fique multiplicada pela mesma quantidade. Logo, o coeficiente a11
tante de proporcionalidade que dá o valor de x1 que é causado pelo nível unitário de b1.
Esse resultado é independente dos efeitos de b2 e b3 em x1, os quais estão refletidos nos
−1
−1
e a13
, respectivamente. Portanto, chega-se à conclusão geral de que o
coeficientes a12
−1
elemento ai j da matriz inversa representa o valor de xi causado por uma quantidade
unitária de bj. Usando o exemplo da estrutura, o elemento ai−1
j da matriz inversa representaria a força no membro i decorrente de uma força externa unitária no nó j. Mesmo
para sistemas pequenos, tal comportamento de interações resposta-estímulo individuais
não seria intuitivamente óbvio. Assim, a matriz inversa fornece uma técnica poderosa
para entender as inter-relações de partes componentes de sistemas complicados. Esse
poder será ilustrado nas Seções 12.1 e 12.2.
10.3
ANÁLISE DE ERRO E CONDICIONAMENTO DO SISTEMA
Além das aplicações na engenharia, a inversa também fornece formas de discernir se um
sistema é mal condicionado. Três métodos estão disponíveis para esse propósito:
1.
Faça uma mudança de escala na matriz de coeficientes [A] de modo que o maior
elemento em cada linha seja 1. Inverta a matriz na nova escala e, se existirem
elementos de [A]−1 que sejam várias ordens de grandeza maiores que 1, é provável
que o sistema seja mal condicionado (ver Quadro 10.1).
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
240
Quadro 10.1
Interpretando os Elementos da Matriz Inversa como uma Medida de Mal
Condicionamento
Um método de determinar o condicionamento do sistema é mudar
a escala de [A] , de modo que o maior elemento em cada linha seja
1, e então calcular [A]−1. Se existirem elementos de [A]−1 que
sejam várias ordens de grandeza maiores que 1, é provável que o
sistema seja mal condicionado.
Pode-se ter uma visão melhor dessa abordagem lembrando
que uma forma de verificar se uma solução aproximada {X} é
aceitável é substituí-la na equação original e ver se o resultado é o
vetor constante do lado direito. Isto é equivalente a
{R} = {B} − [A]{ X̃}
(Q10.1.1)
onde {R} é o resíduo entre as constantes do lado direito e os valores
calculados com a solução { X̃}. Se {R} for pequeno, conclui-se que
os valores de { X̃} são adequados. No entanto, suponha que {X}
seja a solução exata, que leva a um resíduo 0, como em
{0} = {B} − [A]{X}
(Q10.1.2)
Subtraindo a Equação (Q10.1.2) da Equação (Q10.1.1), tem-se
{R} = [A] {X} − { X̃}
Multiplicando ambos os lados dessa equação por [A]−1, obtém-se
{X} − { X̃} = [A]−1 {R}
Esse resultado indica por que verificar uma solução por substituição pode ser enganoso. Para os casos em que elementos de
[A]−1 são grandes, uma pequena discrepância nos resíduos {R} do
lado direito poderia corresponder a um grande erro {X} − { X̃} nos
valores calculados das variáveis. Em outras palavras, um resíduo
pequeno não garante uma solução acurada. No entanto, pode-se
concluir que, se o maior elemento de [A]−1 for da mesma ordem de
grandeza da unidade, o sistema pode ser considerado bem condicionado. Reciprocamente, se [A]−1 incluir elementos muito maiores
do que a unidade, conclui-se que o sistema é mal condicionado.
2.
Multiplique a inversa pela matriz de coeficientes original e verifique se o resultado
está próximo da matriz identidade. Se não, isso indica mal condicionamento.
3.
Inverta a matriz invertida e verifique se o resultado está suficientemente próximo da
matriz de coeficientes original. Caso contrário, novamente isso pode indicar que o
sistema é mal condicionado.
Apesar de esses métodos poderem indicar mal condicionamento, seria preferível
obter um único número (como o número de condicionamento da Seção 4.2.3) que servisse
como um indicador do problema. As tentativas de formular tal número de condicionamento da matriz são baseadas no conceito matemático de norma.
10.3.1 Normas de Vetores e de Matrizes
Uma norma é uma função a valores reais que fornece uma medida do tamanho ou “comprimento” de entidades matemáticas com muitas componentes, como vetores e matrizes
(ver Quadro 10.2).
Um exemplo simples é um vetor no espaço euclidiano tridimensional (Figura 10.6),
que pode ser representado como
⌊F⌋ = ⌊a
b
c⌋
onde a, b e c são as distâncias ao longo dos eixos x, y e z , respectivamente. O comprimento desse vetor — isto é, a distância das coordenadas (0, 0, 0) até (a, b, c) — pode ser
simplesmente calculado como
Fe = a 2 + b2 + c2
onde a nomenclatura Fe indica que esse comprimento se chama norma euclidiana de [F].
De forma semelhante, para um vetor de dimensão n, ⌊X⌋ = ⌊x1 x2 · · · xn ⌋ , uma
norma euclidiana pode ser calculada como
n
Xe =
xi2
i=1
O conceito pode ser estendido para uma matriz [A], como em
n n
Ae =
ai,2 j
i=1 j=1
(10.24)
10.3 ANÁLISE DE ERRO E CONDICIONAMENTO DO SISTEMA
Quadro 10.2
Normas de Matrizes
Como explicado nesta Seção, as normas euclidianas podem ser
empregadas para quantificar o tamanho de um vetor,
n
Xe =
xi2
que define a norma como o elemento com o maior valor absoluto.
Usando uma abordagem semelhante, pode-se desenvolver
normas para as matrizes. Por exemplo,
n
A1 = max
´
i =1
ou de uma matriz,
n
Ae =
n
ai,2 j
i =1 j =1
Para vetores, há alternativas chamadas de p normas que podem ser
representadas genericamente por
1/ p
1≤ j ≤n
n
A∞ = max
´
1≤i ≤n
|xi | p
i =1
Também se percebe que a norma euclidiana e a 2 norma, X2 , são
idênticas para os vetores.
Outros exemplos importantes são
n
X1 =
|xi |
X∞ = max
´ | xi | t
1≤i≤n
|ai j |
j =1
Deve-se observar que, em contraste com os vetores, a 2
norma e a norma euclidiana de uma matriz não são iguais. Enquanto a norma euclidiana Ae pode ser facilmente determinada
pela Equação (10.24), a 2 norma de uma matriz A2 é calculada
como
A2 = (μmáx )1/2
i =1
que representa a norma como a soma dos valores absolutos dos
elementos. Outra é o módulo máximo ou norma uniforme do
vetor,
|ai j |
i =1
Ou seja, a soma dos valores absolutos dos coeficientes é calculada
para cada coluna, e a maior dessas somas é tomada como a norma.
Isso é chamado de norma da soma das colunas.
Uma construção semelhante pode ser feita para as linhas, resultando em uma norma da soma das linhas ou norma uniforme da
matriz,
n
X p =
241
onde μmáx é o maior autovalor de [A]T [A]. No Capítulo 27, iremos
aprender mais sobre autovalores. No momento, o ponto importante
é que A2 ou norma espectral é a norma mínima e, portanto,
fornece a medida mais justa do tamanho (Ortega, 1972).
o que recebe um nome especial — a norma de Frobenius. Entretanto, como as outras normas de vetores, ela fornece um único valor para quantificar o “tamanho” de [A].
Deve-se observar que há alternativas às normas euclidianas e de Frobenius (ver
Quadro 10.2). Por exemplo, a norma uniforme do vetor é definida por
´ | xi |
X∞ = max
1≤i≤n
Isto é, o elemento com maior valor absoluto é tomado como a medida do tamanho do
vetor. De maneira similar, uma norma uniforme da matriz ou norma da soma das linhas
é definida como
n
´
A∞ = max
1≤i≤n
FIGURA 10.6
Representação gráfica de um
vetor F = a b c] no espaço
euclidiano.
| ai j |
(10.25)
j=1
y
b
2
2
2
⫹
⫹
c
b
a
储F
=
储e
a
x
c
z
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
242
Nesse caso, a soma dos valores absolutos dos elementos é calculada para cada linha, e a
maior destas é tomada como norma.
Apesar de existirem vantagens teóricas no uso de cada uma dessas normas, a escolha
às vezes é influenciada por considerações práticas. Por exemplo, a norma uniforme de
linha é muito usada pela facilidade com que pode ser calculada, e pelo fato de que, em
geral, fornece uma medida adequada do tamanho da matriz.
10.3.2 Número de Condicionamento da Matriz
Agora que já foi apresentado, o conceito de norma pode ser usado para definir
Cond [A] = A · A−1
(10.26)
onde Cond [A] é chamado número de condicionamento da matriz. Observe que, para uma
matriz [A], esse número será superior ou igual a 1. Pode-se mostrar (Ralston e Rabinowitz, 1978; Gerald e Wheatley, 1989) que
A
X
≤ Cond [A]
X
A
Isto é, o erro relativo da norma de uma solução calculada pode ser tão grande quanto o
erro relativo da norma dos coeficientes de [A] multiplicado pelo número de condicionamento. Por exemplo, se os coeficientes da matriz [A] são conhecidos com uma
precisão de t dígitos (ou seja, erros de arredondamento são da ordem de 10−t ), e Cond
[A] = 10c, a solução [X ] pode ser válida para apenas t − c dígitos (erros de arredondamento ∼10c−t ).
EXEMPLO 10.4
Determinação do Condicionamento de uma Matriz
Enunciado do Problema. A matriz de Hilbert, que é notoriamente mal condicionada,
pode ser genericamente representada por
⎡ 1
⎢ 1/2
⎢
⎢ .
⎢
⎢ .
⎢
⎣ .
1/n
⎤
1/2
1/3
· · ·
1/n
1/3
1/4
· · · 1/(n + 1) ⎥
⎥
⎥
.
.
.
⎥
⎥
.
.
.
⎥
⎦
.
.
.
1/(n + 1) 1/(n + 2) · · · 1/(2n − 1)
Use a norma da soma das linhas para fazer uma estimativa do número de condicionamento da matriz de Hilbert 3 × 3,
1 1/2 1/3
[A] = 1/2 1/3 1/4
1/3 1/4 1/5
Solução. Primeiro, pode-se mudar a escala da matriz de modo que o máximo elemento
em cada linha seja 1,
1 1/2 1/3
[A] = 1 2/3 1/2
1 3/4 3/5
Somando cada uma dessas linhas, temos 1,833, 2,1667 e 2,35. Assim, a terceira linha tem
a maior soma, e a norma da soma das linhas é
A∞ = 1 +
3 3
+ = 2,35
4 5
10.3 ANÁLISE DE ERRO E CONDICIONAMENTO DO SISTEMA
243
A inversa da matriz com mudança de escala pode ser calculada por
9 −18
10
[A]−1 = −36
96 −60
30 −90
60
Observe que os elementos dessa matriz são maiores do que os elementos da matriz original. Isso também se reflete na sua norma da soma das linhas, que é calculada como
−1
A = |−36| + |96| + |−60| = 192
∞
Logo, o número de condicionamento pode ser calculado por
Cond [A] = 2,35(192) = 451,2
O fato de o número de condicionamento ser consideravelmente maior do que a
unidade sugere que o sistema é mal condicionado. A extensão do mal condicionamento
pode ser quantificada calculando-se c = log 451,2 = 2,65. Os computadores usando representação em ponto flutuante IEEE têm aproximadamente t = log 2−24 = 7,2 algarismos significativos na base 10 (lembre-se da Seção 3.4.1). Assim, a solução pode exibir
erros de arredondamento de até 10(2,65-7,2) = 3 × 10−5. Observe que tais estimativas
quase sempre superestimam o erro real. No entanto, elas são úteis ao alertarem para a possibilidade de que os erros de arredondamento possam ser significativos.
Do ponto de vista prático, o problema na implementação da Equação (10.26) é o
preço computacional exigido para o cálculo de A−1 . Rice (1983) esboça algumas estratégias possíveis para aliviar o problema. Mais do que isso, ele sugere uma forma alternativa de avaliar o condicionamento do sistema: rodar a mesma solução em dois compiladores diferentes. Como os códigos resultantes irão provavelmente implementar a
aritmética de modo diferente, o efeito do mal condicionamento deve ser evidente a partir
de tal experiência. Finalmente, deve-se mencionar que pacotes de software e bibliotecas
como MATLAB e Mathcad têm recursos para calcular convenientemente o condicionamento de uma matriz. Tais recursos serão abordados de novo quando se revisar esses pacotes no fim do Capítulo 11.
10.3.3 Refinamento Iterativo
Em alguns casos, os erros de arredondamento podem ser reduzidos pelo procedimento a
seguir. Suponha que alguém esteja resolvendo o seguinte conjunto de equações:
a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 = b2
(10.27)
a31 x1 + a32 x2 + a33 x3 = b3
Por concisão, a discussão será limitada a esse pequeno sistema (3 × 3). No entanto, a
abordagem é aplicável, em geral, para conjuntos maiores de equações lineares.
Suponha que um vetor solução aproximado seja dado por { X̃}T = ⌊x̃1 x̃2 x̃3 ⌋. Essa
solução pode ser substituída na Equação (10.27) para dar
a11 x̃1 + a12 x̃2 + a13 x̃3 = b̃1
a21 x̃1 + a22 x̃2 + a23 x̃3 = b̃2
(10.28)
a31 x̃1 + a32 x̃2 + a33 x̃3 = b̃3
Agora, suponha que a solução exata {X} se expresse como uma função da solução aproximada e de um vetor de fatores de correção {X}, onde
x1 = x̃1 + x1
DECOMPOSIÇÃO LU E INVERSÃO DE MATRIZES
244
(10.29)
x2 = x̃2 + x2
x3 = x̃3 + x3
Se esses resultados forem substituídos na Equação (10.27), será obtido o seguinte
sistema:
a11 (x̃1 + x1 ) + a12 (x̃2 + x2 ) + a13 (x̃3 + x3 ) = b1
a21 (x̃1 + x1 ) + a22 (x̃2 + x2 ) + a23 (x̃3 + x3 ) = b2
(10.30)
a31 (x̃1 + x1 ) + a32 (x̃2 + x2 ) + a33 (x̃3 + x3 ) = b3
Agora, a Equação (10.28) pode ser subtraída da Equação (10.30) para fornecer
a11 x1 + a12 x2 + a13 x3 = b1 − b̃1 = E 1
a21 x1 + a22 x2 + a23 x3 = b2 − b̃2 = E 2
(10.31)
a31 x1 + a32 x2 + a33 x3 = b3 − b̃3 = E 3
Esse sistema é ele próprio um conjunto de equações lineares simultâneas que pode ser resolvido para se obter os fatores de correção. Esses fatores podem ser usados para melhorar a solução, como especificado na Equação (10.29).
É relativamente fácil integrar um procedimento de refinamento iterativo em programas de computador para métodos de eliminação. O procedimento é especialmente efetivo nas abordagens de decomposição LU descritas anteriormente, que são planejadas
para calcular vetores diferentes do lado direito de forma eficiente. Observe que, para
serem efetivos na correção de sistemas mal condicionados, os E’s na Equação (10.31)
devem ser expressos em dupla precisão.
PROBLEMAS
10.1 Use as regras de multiplicação de matrizes para mostrar que
as Equações (10.7) e (10.8) são conseqüências da Equação (10.6).
10.2 (a) Use a eliminação de Gauss ingênua para decompor o
seguinte sistema, de acordo com a descrição dada na Seção 10.2.
10x1 + 2x2 − x3 = 27
−3x1 − 6x2 + 2x3 = −61,5
x1 + x2 + 5x3 = −21,5
A seguir, multiplique as matrizes resultantes [L] e [U] para verificar
que se obtém [A]. (b) Use a decomposição LU para resolver o sistema. Mostre cada passo dos cálculos. (c) Resolva o sistema também para um outro vetor do lado direito: {B}T = ⌊12 18 −6⌋.
10.3
(a) Resolva o seguinte sistema de equações por decomposição LU
sem pivotamento
8x1 + 4x2 − x3 = 11
−2x1 + 5x2 + x3 = 4
2x1 − x2 + 6x3 = 7
(b) Determine a matriz inversa. Verifique seus resultados comprovando que [A][A]−1 = [I ].
10.4 Resolva o seguinte sistema de equações por decomposição
LU com pivotamento parcial:
2x1 − 6x2 − x3 = −38
−3x1 − x2 + 7x3 = −34
−8x1 + x2 − 2x3 = −20
10.5 Determine o número total de flops como função do número de
equações n para as fases de (a) decomposição, (b) substituição progressiva e (c) substituição regressiva da versão de decomposição
LU da eliminação de Gauss.
10.6 Use a decomposição LU para determinar a matriz inversa
para o seguinte sistema. Não use pivotamento e verifique seus resultados comprovando que [A][A]−1 = [I ].
10x1 + 2x2 − x3 = 27
−3x1 − 6x2 + 2x3 = −61,5
x1 + x2 + 5x3 = −21,5
10.7 Efetue a decomposição de Crout em
2x1 − 6x2 + x3 = 12
−x1 + 7x2 − x3 = −8
x1 − 3x2 + 2x3 = 16
Então, multiplique as matrizes resultantes [L] e [U] para verificar
que se obtém [A].
10.8 O seguinte sistema de equações é projetado para determinar
as concentrações (os c’s em g/m3) em uma série de reatores acoplados como função da quantidade de entrada de massa em cada reator
(o lado direito está em g/dia),
15c1 − 3c2 − c3 = 3800
−3c1 + 18c2 − 6c3 = 1200
−4c1 − c2 + 12c3 = 2350
(a) Determine a matriz inversa.
(b) Use a inversa para determinar a solução.
(c) Determine de quanto o fluxo de entrada de massa no reator 3
deve ser aumentado para induzir um aumento de 10g/m3 na
concentração do reator 1.
(d) De quanto a concentração no reator 3 será reduzida se o fluxo
de entrada de massa nos reatores 1 e 2 for reduzido para 500 e
250 g/dia, respectivamente?
PROBLEMAS
10.9 Determine Ae , A1 e A∞ para
⎡
⎤
8
2 −10
[A] = ⎣ −9 1
3 ⎦
15 −1
6
Mude a escala da matriz, fazendo o maior elemento de cada linha
igual a um.
10.10 Determine as normas euclidiana e da soma das linhas para os
sistemas dos Problemas 10.3 e 10.4. Mude a escala das matrizes
fazendo o maior elemento de cada linha igual a um.
10.11 Uma matriz [A] é definida por
⎤
⎡
0,125
0,25
0,5
1
⎢ 0,015625
0,625
0,25
1⎥
⎥
[A] = ⎢
⎣ 0,00463 0,02777 0,16667 1 ⎦
0,001953 0,015625 0,125 1
Usando a norma da soma das linhas, calcule o número de condicionamento e quantos algarismos suspeitos serão gerados por
essa matriz.
10.12 (a) Determine o número de condicionamento do seguinte
sistema, usando a norma da soma das linhas. Não mude a escala do
sistema.
⎡
⎤
1 4 9 16 25
⎢ 4 9 16 25 36 ⎥
⎢
⎥
⎢ 9 16 25 36 49 ⎥
⎢
⎥
⎣ 16 25 36 49 64 ⎦
25 36 49 64 81
Quantos algarismos de precisão serão perdidos por causa do mal
condicionamento? (b) Repita (a), mas mudando a escala da matriz
fazendo o maior elemento de cada linha igual a um.
10.13 Determine o número de condicionamento da matriz com
base na norma da soma das linhas para a matriz de Hilbert 5 × 5,
com mudança de escala. Quantos algarismos de precisão serão perdidos por causa do mal condicionamento?
10.14 Além da matriz de Hilbert, há outras matrizes que são inerentemente mal condicionadas. Uma delas é a matriz de Vandermonde, que tem a forma:
⎡ 2
⎤
x1 x1 1
⎢ 2
⎥
⎣ x2 x2 1 ⎦
x32
x3
1
(a) Determine o número de condicionamento da matriz com base
na norma da soma das linhas para o caso em que x1 = 4,
x2 = 2 e x3 = 7.
(b) Use o software MATLAB para calcular os números de condicionamento espectral e de Frobenius.
10.15 Desenvolva um programa amigável ao usuário para a decomposição LU com base no pseudocódigo da Figura 10.2.
245
10.16 Desenvolva um programa amigável ao usuário para a decomposição LU, incluindo o recurso de calcular a matriz inversa.
Use como base as Figuras 10.2. e 10.5.
10.17 Use técnicas de refinamento iterativo para melhorar x1 = 2,
x2 = −3 e x3 = 8, que são soluções aproximadas de
2x1 + 5x2 + x3 = −5
6x1 + 2x2 + x3 = 12
x1 + 2x2 + x3 = 3
10.18 Considere os vetores
A = 2i − 3j + a k
B = bi + j − 4k
C = 3i + cj + 2k
O vetor A é perpendicular a B e a C. Sabe-se também que
B · C = 2. Use qualquer método estudado neste capítulo para determinar as incógnitas a, b e c.
10.19 Considere os seguintes vetores:
A = a i + bj + ck
B = −2i + j − 4k
C = i + 3j + 2k
onde A é um vetor desconhecido. Se
( A × B) + ( A × C) = (5a + b)i + (3b − 2)cj + (−4c + 1)k
use qualquer método estudado neste capítulo para determinar as incógnitas a, b, e c.
10.20 Considere a função definida no intervalo [0,2] por:
ax + b, 0 ≤ x ≤ 1
f (x) =
cx + d, 1 ≤ x ≤ 2
Determine as constantes a, b c e d de modo que a função f satisfaça:
• f (0) = f (2) = 1.
• f é contínua em todo o intervalo.
• a + b = 4.
Deduza e resolva um sistema de equações algébricas lineares com
uma forma matricial idêntica à da Equação (10.1).
10.21
(a) Crie uma matriz de Hilbert 3 × 3. Ela será sua matriz [A]. Multiplique a matriz pelo vetor coluna {x} = [1, 1, 1]T . A solução
de [A]{x} será outro vetor coluna {b}. Usando qualquer pacote
numérico e a eliminação de Gauss, determine a solução de
[A]{x} = {b} usando a matriz de Hilbert e o {b} que você calculou. Compare o resultado com o seu vetor conhecido {x}.
Use precisão suficiente na exibição de seus resultados para detectar imprecisões.
(b) Repita a parte (a) usando uma matriz de Hilbert 7 × 7.
(c) Repita a parte (a) usando uma matriz de Hilbert 10 × 10.
CAPÍTULO
11
Matrizes Especiais e
Gauss-Seidel
Certas matrizes têm uma estrutura particular que pode ser explorada para desenvolver esquemas eficientes de solução. A primeira parte deste capítulo é dedicada a dois desses
tipos de sistemas: as matrizes de banda e as simétricas. Serão descritos métodos de eliminação eficientes para ambas.
A segunda parte do capítulo se volta para uma alternativa aos métodos de eliminação,
isto é, os métodos iterativos de aproximação. O foco será no método de Gauss-Seidel, que
emprega aproximações iniciais e itera o processo para obter estimativas refinadas da
solução. O método de Gauss-Seidel é particularmente bem adaptado para um número
grande de equações. Nesses casos, os métodos de eliminação podem estar sujeitos a erros
de arredondamento. Como o erro no método de Gauss-Seidel é controlado pelo número
de iterações, os erros de arredondamento não são um motivo de preocupação nesse
método. Entretanto, há certos casos para os quais a técnica de Gauss-Seidel não convergirá para a resposta correta. Esses e outros prós e contras entre a eliminação e os métodos
iterativos serão discutidos nas próximas páginas.
11.1
MATRIZES ESPECIAIS
Como mencionado no Quadro PT3.1, uma matriz de banda é uma matriz quadrada que
tem todos os elementos iguais a zero, com exceção de uma faixa centrada na diagonal
principal. Os sistemas de banda são encontrados freqüentemente na prática da engenharia
e na prática científica. Por exemplo, eles ocorrem tipicamente na solução de equações
diferenciais. Além disso, outros métodos numéricos, como os splines cúbicos (Seção 18.5),
envolvem a solução de sistemas de banda.
As dimensões de um sistema de banda podem ser quantificadas por dois parâmetros:
a largura da banda LB e metade da largura da banda MLB (Figura 11.1) Esses dois valores
são relacionados por LB = 2MLB + 1. Assim, em geral, um sistema de banda é um sistema para o qual ai j = 0 se |i − j| > MLB.
Embora a eliminação de Gauss ou a decomposição LU convencional possam ser empregadas para resolver sistemas de banda, elas são ineficientes, pois, se o pivotamento
não for necessário, nenhum dos elementos fora da banda mudará de seu valor original
nulo. Então, espaço e tempo desnecessários seriam desperdiçados no armazenamento e na
manipulação desses zeros inúteis. Se for previamente conhecido que o pivotamento não é
necessário, podem ser desenvolvidos algoritmos muito eficientes que não envolvem os
elementos nulos fora da banda. Já que muitos problemas envolvendo sistemas de banda
não requerem pivotamento, tais algoritmos alternativos, como os descritos a seguir, são as
melhores escolhas.
246
11.1 MATRIZES ESPECIAIS
247
MLB + 1
Di
ag
on
al
MLB
LB
FIGURA 11.1
Parâmetros usados para quantificar as dimensões de um sistema de banda. LB e MLB
designam a largura da faixa e a metade dessa largura, respectivamente.
(a) Decomposição
DOFOR k ⫽ 2, n
ek ⫽ ek/fk1
fk ⫽ fk ek ⭈ gk⫺1
END DO
(b) Substituição progressiva
DOFOR k ⫽ 2, n
rk ⫽ rk ⫺ ek ⭈ rk⫺1
END DO
(c) Substituição regressiva
xn ⫽ rn /fn
DOFOR k ⫽ n ⫺ 1, 1, ⫺1
xk ⫽(rk ⫺gk ⭈ xk⫹1)/fk
END DO
FIGURA 11.2
Pseudocódigo para
implementar o algoritmo de
Thomas, um método de
decomposição LU para
sistemas tridiagonais.
EXEMPLO 11.1
11.1.1 Sistemas Tridiagonais
Um sistema tridiagonal — isto é, um que tenha a largura de faixa 3 — pode ser expresso
no caso geral como
⎫
⎫ ⎧
⎤⎧
⎡
f 1 g1
x1 ⎪
r1 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢ e2 f 2 g2
⎪ x2 ⎪
⎪
r2 ⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢
e3 f 3 g3
⎪
⎪ ⎪
⎪ x3 ⎪
⎪ r3 ⎪
⎪
⎪
⎥⎪
⎢
⎪
⎬
⎬
⎨
⎨
⎥
⎢
·
·
·
· ·
⎥
⎢
=
(11.1)
⎥⎪ · ⎪ ⎪ · ⎪
⎢
· ·
·
⎪
⎪
⎥⎪
⎢
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢
⎪
· ⎪
· ⎪
·
·
·
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎦
⎣
rn−1 ⎪
xn−1 ⎪
en−1 f n−1 gn−1 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
⎭ ⎩
⎩
rn
xn
en
fn
Observe que trocamos nossa anotação dos coeficientes dos a’s e b’s para e’s, f’s, g’s e r’s.
Isso foi feito para evitar o armazenamento de grandes quantidades de zeros inúteis na matriz quadrada dos a’s. Essa modificação, que tem o objetivo de economizar espaço, é vantajosa, pois o algoritmo resultante requer menos memória de computador.
A Figura 11.2 mostra um pseudocódigo para um método eficiente, chamado algoritmo de Thomas, para resolver a Equação (11.1). Da mesma forma como na decomposição LU convencional, o algoritmo consiste em três passos: decomposição e substituições progressiva e regressiva. Assim, todas as vantagens da decomposição LU, como
o cálculo conveniente para diversos vetores do lado direito e o cálculo da matriz inversa,
podem ser obtidas pela aplicação adequada desse algoritmo.
Solução Tridiagonal com o Algoritmo de Thomas
Enunciado do Problema. Resolva o seguinte sistema tridiagonal com o algoritmo
de Thomas.
⎫
⎤⎧ ⎫ ⎧
T1 ⎪
2,04 −1
40,8 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎨T2 ⎬ ⎨ 0,8 ⎬
⎢ −1 2,04 −1
⎥
⎢
=
⎣
−1 2,04 −1 ⎦⎪
T⎪ ⎪
0,8 ⎪
⎪
⎪
⎩ 3⎪
⎭ ⎪
⎩
⎭
−1 2,04
T4
200,8
⎡
248
MATRIZES ESPECIAIS E GAUSS-SEIDEL
Solução.
e2
f2
e3
f3
e4
f4
Primeiro, a decomposição é implementada por
= −1/2,04 = −0,49
= 2,04 − (−0,49)(−1) = 1,550
= −1/1,550 = −0,645
= 2,04 − (−0,645)(−1) = 1,395
= −1/1,395 = −0,717
= 2,04 − (−0,717)(−1) = 1,323
Assim, a matriz foi transformada em
⎤
⎡
2,04
−1
⎥
⎢ −0,49 1,550
−1
⎥
⎢
⎣
−0,645 1,395
−1 ⎦
−0,717 1,323
e a decomposição LU é
⎡
1
⎢ −0,49
1
[A] = [L][U ] = ⎢
⎣
−0,645
⎤⎡
⎥⎢
⎥⎢
⎦⎣
1
−0,717 1
2,04
−1
1,550
−1
1,395
Pode-se verificar que isso está correto multiplicando [L][U] para obter [A].
A substituição progressiva é implementada por
⎤
⎥
⎥
−1 ⎦
1,323
r2 = 0,8 − (−0,49)40,8 = 20,8
r3 = 0,8 − (−0,645)20,8 = 14,221
r4 = 200,8 − (−0,717)14,221 = 210,996
Portanto, o vetor do lado direito foi modificado para
⎫
⎧
40,8 ⎪
⎪
⎬
⎨
20,8
⎪
⎪ 14,221 ⎭
⎩
210,996
o qual pode então ser usado em combinação com a matriz [U] para se efetuar a
substituição regressiva e obter a solução
T4
T3
T2
T1
= 210,996/1,323 = 159,480
= [14,221 − (−1)159,48]/1,395 = 124.538
= [20,800 − (−1)124,538]/1,550 = 93,778
= [40,800 − (−1)93,778]/2,040 = 65,970
11.1.2 Decomposição de Cholesky
Do quadro PT3.1, tem-se que uma matriz simétrica é aquela na qual ai j = a ji para todo
i e j. Em outras palavras, [A] = [A]T . Tais sistemas ocorrem usualmente no contexto
tanto de problemas matemáticos quanto de engenharia. Eles oferecem vantagens computacionais, pois apenas metade do armazenamento é necessária e, na maioria dos casos,
é preciso apenas a metade do tempo de computação para sua solução.
Uma das abordagens mais populares envolve a decomposição de Cholesky, algoritmo
baseado no fato de que uma matriz simétrica pode ser decomposta em
[A] = [L][L]T
(11.2)
11.1 MATRIZES ESPECIAIS
249
Isto é, os fatores triangulares resultantes são transpostos um do outro.
Os termos da Equação (11.2) podem ser multiplicados e igualados. O resultado é expresso de forma simples por relações de recorrência. Para a k-ésima linha,
lki =
aki −
i−1
li j l k j
j=1
lii
para i = 1, 2, . . . , k − 1
(11.3)
e
lkk
k−1
= akk −
lk2j
(11.4)
j=1
EXEMPLO 11.2
Decomposição de Cholesky
Enunciado do Problema. Aplique a decomposição de Cholesky à matriz simétrica
⎡
⎤
6 15 55
[A] = ⎣ 15 55 225 ⎦
55 225 979
Solução. Para a primeira linha (k = 1), a Equação (11.3) não se aplica e a Equação
(11.4) é usada para calcular
√
√
l11 = a11 = 6 = 2,4495
Para a segunda linha (k = 2), a Equação (11.3) dá
l21 =
a21
15
=
= 6,1237
l11
2,4495
e a Equação (11.4) fornece
2
= 55 − (6,1237)2 = 4,1833
l22 = a22 − l21
Para a terceira linha (k = 3), a Equação (11.3) dá (i = 1)
l31 =
e (i = 2)
l32 =
55
a31
=
= 22,454
l11
2,4495
225 − 6,1237(22,454)
a32 − l21l31
=
= 20,916
l22
4,1833
e a Equação (11.4) fornece
l33 =
2
2
a33 − l31
− l32
= 979 − (22,454)2 − (20,916)2 = 6,1106
Assim, a decomposição de Cholesky fornece
⎡
⎤
2,4495
⎦
[L] = ⎣ 6,1237 4,1833
22,454 20,916 6,1106
A validade dessa decomposição pode ser verificada substituindo-se a matriz L e sua
transposta na Equação (11.2) para ver se seu produto fornece a matriz original [A]. Isso é
deixado como exercício.
250
MATRIZES ESPECIAIS E GAUSS-SEIDEL
DOFOR k ⫽ 1,n
DOFOR i ⫽ 1, k 1
soma ⫽ 0.
DOFOR j ⫽ 1, i 1
soma ⫽ soma ⫹ aij ⭈ akj
END DO
aki ⫽ (aki ⫺ soma)/aii
END DO
soma ⫽ 0.
DOFOR j ⫽ 1, k ⫺ 1
soma ⫽ soma ⫹ a2kj
END DO
11.2
苶soma
akk ⫽ 兹a
kk ⫺ 苶
END DO
A Figura 11.3 apresenta um pseudocódigo para implementar o algoritmo de decomposição de Cholesky. Deve-se observar que o algoritmo na Figura 11.3 pode resultar em
um erro de execução se o cálculo de akk envolver a extração da raiz quadrada de um
número negativo. Porém, nos casos em que a matriz é positiva definida,1 isso nunca vai
ocorrer. Como muitas das matrizes simétricas que surgem na engenharia são, de fato,
positivas definidas, o algoritmo de Cholesky tem vasta aplicação. Outra vantagem de
lidar com matrizes simétricas positivas definidas é que pivotamento não é necessário para
evitar a divisão por zero. Assim, é possível implementar o algoritmo da Figura 11.3 sem
a complicação do pivotamento.
FIGURA 11.3
Pseudocódigo para o
algoritmo de decomposição
LU de Cholesky.
GAUSS-SEIDEL
Os métodos iterativos ou de aproximação fornecem uma alternativa aos métodos de
eliminação descritos até agora. Tais abordagens são semelhantes às técnicas desenvolvidas para obter as raízes de uma única equação do Capítulo 6. Aquelas abordagens consistiam em escolher um valor e então usar um método sistemático para obter uma estimativa
refinada da raiz. Como esta parte do livro trata de um problema similar — obter valores
que satisfaçam simultaneamente um conjunto de equações — pode-se suspeitar que tais
métodos de aproximação são úteis neste contexto.
O método de Gauss-Seidel é o método iterativo mais comumente usado. Suponha que
tenhamos um conjunto de n equações:
[A]{X} = {B}
Suponha que, para sermos concisos, nos limitemos a um conjunto 3 × 3 de equações. Se
os elementos da diagonal forem todos não-nulos, é possível isolar x1 na primeira equação,
x2 na segunda e x3 na terceira para obter
x1 =
b1 − a12 x2 − a13 x3
a11
(11.5a)
x2 =
b2 − a21 x1 − a23 x3
a22
(11.5b)
x3 =
b3 − a31 x1 − a32 x2
a33
(11.5c)
Agora, começa o processo de solução escolhendo-se aproximações para os x’s. Uma
forma simples de obter aproximações iniciais é supor que elas são todas nulas. Esses
zeros podem ser substituídos na Equação (11.5a), que pode ser usada para calcular um
novo valor para x1 = b1/a11. Então, substitui-se esse novo valor de x1 junto com a aproximação anterior nula para x3 na Equação (11.5b) para calcular um novo valor para x2. O
processo é repetido para a Equação (11.5c) para se calcular uma nova estimativa para x3.
Então, volta-se para a primeira equação e o procedimento inteiro é repetido até que a
solução convirja para valores suficientemente próximos dos valores verdadeiros. A convergência pode ser verificada usando-se o critério [lembre-se da Equação (3.5)]
x j − x j−1
i
i
|εa,i | =
(11.6)
100% < εs
j
xi
para todo i, onde j e j − 1 representam a iteração atual e a anterior.
1
Uma matriz positiva definida é aquela para a qual o produto {X}T[A]{X} é maior do que zero para
todo vetor não nulo {X}.
11.2 GAUSS-SEIDEL
EXEMPLO 11.3
251
Método de Gauss-Seidel
Enunciado do Problema. Use o método de Gauss-Seidel para obter a solução do
mesmo sistema usado no Exemplo 11.1:
3x1 − 0,1x2 − 0,2x3 = 7,85
0,1x1 + 7x2 − 0,3x3 = −19,3
0,3x1 − 0,2x2 + 10x3 = 71,4
Lembre-se de que a solução verdadeira é x1 = 3, x2 = −2,5 e x3 = 7.
Solução.
Primeiro, em cada uma das equações, isole a variável na diagonal.
7,85 + 0,1x2 + 0,2x3
3
−19,3 − 0,1x1 + 0,3x3
x2 =
7
71,4 − 0,3x1 + 0,2x2
x3 =
10
(E11.3.1)
x1 =
(E11.3.2)
(E11.3.3)
Supondo-se que x2 e x3 são iguais a zero, a Equação (E11.3.1) pode ser usada para calcular
x1 =
7,85 + 0 + 0
= 2,616667
3
Esse valor, junto com o valor suposto de x3 = 0, pode ser substituído na Equação
(E11.3.2) para calcular
x2 =
−19,3 − 0,1(2,616667) + 0
= −2,794524
7
A primeira iteração é completada substituindo-se os valores calculados para x1 e x2 na
Equação (E11.3.3) para obter
x3 =
71,4 − 0,3(2,616667) + 0,2(−2,794524)
= 7,005610
10
Para a segunda iteração, o mesmo processo é repetido para calcular
7,85 + 0,1(−2,794524) + 0,2(7,005610)
= 2,990557
3
−19,3 − 0,1(2,990557) + 0,3(7,005610)
x2 =
= −2,499625
7
x1 =
x3 =
71,4 − 0,3(2,990557) + 0,2(−2,499625)
= 7,000291
10
|εt | = 0,31%
|εt | = 0,015%
|εt | = 0,0042%
O método está, portanto, convergindo para a verdadeira solução. Iterações adicionais
podem ser aplicadas para melhorar as respostas. Porém, em um problema real, a resposta
verdadeira não seria conhecida a priori. Conseqüentemente, a Equação (11.6) fornece um
meio de estimar o erro. Por exemplo, para x1,
2,990557 − 2,616667
100% = 12,5%
|εa,1 | =
2,990557
Para x2 e x3, as estimativas de erro são |εa,2 | = 11,8% e |εa,3 | = 0,076%. Observe que,
como no caso em que determinamos raízes de uma única equação, as formulações como
a Equação (11.6) em geral fornecem uma estimativa conservadora de convergência.
Assim, quando elas são satisfeitas, garantem que o resultado é conhecido pelo menos dentro da tolerância especificada por εs.
252
MATRIZES ESPECIAIS E GAUSS-SEIDEL
À medida que cada novo valor de x é calculado pelo método de Gauss-Seidel, ele é
imediatamente usado na próxima equação para se determinar outro valor de x. Assim, se
a solução estiver convergindo, a melhor estimativa disponível será empregada. Uma
abordagem alternativa, chamada iteração de Jacobi, utiliza uma tática um pouco diferente. Em vez de usar os últimos x’s disponíveis, essa técnica usa a Equação (11.5) para
calcular um conjunto de novos x’s com base no conjunto de antigos x’s. Logo, conforme
novos valores são gerados, não são imediatamente usados, mas guardados para a próxima iteração.
A diferença entre o método de Gauss-Seidel e a iteração de Jacobi é descrita na
Figura 11.4. Embora haja certos casos para os quais o método de Jacobi é útil, a utilização das melhores estimativas disponíveis no método de Gauss-Seidel em geral o
torna o preferido.
11.2.1 Critérios de Convergência para o Método de Gauss-Seidel
Observe que o método de Gauss-Seidel é similar à técnica de iteração de ponto fixo simples, que foi usada na Seção 6.1 para determinar raízes de uma única equação. Lembre-se
de que a iteração de ponto fixo simples tem dois problemas fundamentais: (1) às vezes,
não é convergente, e (2) quando converge, muitas vezes o faz muito lentamente. O
método de Gauss-Seidel também pode exibir essas limitações.
Os critérios de convergência podem ser deduzidos lembrando, da Seção 6.5.1, que
condições suficientes para a convergência de duas equações não-lineares, u(x, y) e
v(x, y), são
∂u ∂u
+ <1
(11.7a)
∂x ∂y
e
∂v ∂v
+ <1
∂x ∂y
(11.7b)
Esses critérios também se aplicam a equações lineares do tipo que estamos resolvendo com o método de Gauss-Seidel. Por exemplo, no caso de duas equações simultâneas, o algoritmo de Gauss-Seidel [Equação (11.5)] pode ser expresso como
u(x1 , x2 ) =
a12
b1
−
x2
a11
a11
(11.8a)
FIGURA 11.4
Descrição gráfica da diferença entre (a) o método de Gauss-Seidel e (b) a iteração de Jacobi
para resolver equações algébricas lineares simultâneas.
Primeira Iteração
x1 ⫽ (b1 a12 x2 a13x3)/a11
x1 ⫽ (b1 a12x2 a13x3)/a11
↓
x2 ⫽ (b2 a21x1 a23x3)/a22
x2 ⫽ (b2 a21x1 a23x3)/a22
↓
x3 ⫽ (b3 a31x1 a32x2)/a33
x3 ⫽ (b3 a31x1 a32x2)/a33
冦
Segunda Interação
↓
↓
x1 ⫽ (b1 a12x2 a13x3)/a11
x1 ⫽ (b1 a12x2 a13x3)/a11
↓
x2 ⫽ (b2 a21x1 a23x3)/a22
x2 ⫽ (b2 a21x1 a23x3)/a22
↓
x3 ⫽ (b3 a31x1 a32x2)/a33
x3 ⫽ (b3 a31x1 a32x2)/a33
(a)
(b)
11.2 GAUSS-SEIDEL
253
e
v(x1 , x2 ) =
b2
a21
−
x1
a22
a22
(11.8b)
As derivadas parciais dessas equações podem ser calculadas com respeito a cada uma das
variáveis como
∂u
a12
=−
∂ x2
a11
∂u
=0
∂ x1
e
∂v
a21
=−
∂ x1
a22
∂v
=0
∂ x2
que podem ser substituídos na Equação (11.7) para fornecer
a12
<1
a
11
(11.9a)
e
a21
<1
a
22
(11.9b)
Em outras palavras, os valores absolutos das inclinações da Equação (11.8) devem
ser menores do que 1 para garantir a convergência. Isso é mostrado graficamente na
Figura 11.5. A Equação (11.9) pode também ser reformulada como
e
|a11 | > |a12 |
|a22 | > |a21 |
Isto é, o elemento da diagonal deve ser maior do que o elemento fora da diagonal em cada linha.
A extensão do que foi visto para n equações é imediata e pode ser expressa por
n
|aii | >
|ai, j |
(11.10)
j=1
j= i
FIGURA 11.5
Ilustração da (a) convergência e (b) divergência do método de Gauss-Seidel.
Observe que as mesmas funções são traçadas em ambos os casos (u: 11x1 + 13x2 = 286;
v: 11x1 − 9x2 = 99). Assim, a ordem na qual as equações são implementadas (como descrito
pela direção da primeira flecha saindo da origem) determina se os cálculos convergem.
x2
x2
v
v
u
x1
x1
u
(a)
(b)
254
MATRIZES ESPECIAIS E GAUSS-SEIDEL
Isto é, o coeficiente da diagonal em cada equação deve ser maior que a soma dos valores
absolutos dos outros coeficientes na equação. Esse critério é suficiente, mas não
necessário para a convergência. Ou seja, embora o método possa às vezes funcionar se a
Equação (11.10) não for satisfeita, a convergência é garantida se essa condição for satisfeita. Os sistemas para os quais a Equação (11.10) é satisfeita são chamados diagonal
dominantes. Felizmente, muitos problemas de importância prática na engenharia satisfazem tal exigência.
11.2.2 Aprimoramento da Convergência Usando Relaxamento
O relaxamento representa uma pequena modificação no método de Gauss-Seidel e foi
criado para melhorar a convergência. Após cada novo valor de x ser calculado usando-se
a Equação (11.5), esse valor é modificado por uma média ponderada dos resultados da
iteração anterior e da atual:
xinovo = λxinovo + (1 − λ)xivelho
(11.11)
onde λ é um fator de peso para o qual deve ser escolhido um valor entre 0 e 2.
Se λ = 1, (1 − λ) é igual a 0, e o resultado não é modificado. No entanto, se a λ for
atribuído um valor entre 0 e 1, o resultado é uma média ponderada do resultado atual e do
anterior. Esse tipo de modificação é chamado sub-relaxamento e é tipicamente usado para
fazer com que um sistema não-convergente passe a convergir, ou para apressar a convergência amortecendo as oscilações.
Para valores de λ entre 1 e 2, peso extra é colocado no valor atual. Nesse caso, existe
uma suposição implícita de que o novo valor está movendo-se na direção correta da
solução verdadeira, mas a uma taxa muito lenta. Assim, o peso extra λ se presta a melhorar a estimativa aproximando-a do valor verdadeiro. Portanto, esse tipo de modificação,
que é chamado sobre-relaxamento, é implementado para acelerar a convergência de um
sistema já convergente. Essa abordagem é também chamada de sobre-relaxamento simultâneo ou sucessivo ou SOR.
A escolha de um valor adequado para λ depende criticamente do problema tratado e
é, muitas vezes, determinada de maneira empírica. Para uma única solução de um conjunto de equações, tal técnica freqüentemente é desnecessária. Contudo, se o sistema que
está sendo estudado deve ser resolvido repetidamente, a eficiência introduzida por uma
boa escolha de λ pode ser extremamente importante. Bons exemplos são os sistemas
muito grandes de equações diferenciais parciais que aparecem bastante quando se modelam variações contínuas das variáveis (lembre-se dos sistemas distribuídos esboçados na
Figura PT3.1b). Esse tópico será retomado na Parte Oito.
11.2.3 Algoritmo para Gauss-Seidel
Um algoritmo para o método de Gauss-Seidel, com relaxamento, é descrito na Figura 11.6.
Observe que não é garantido que esse algoritmo convirja se as equações não estiverem em
uma forma diagonal dominante.
O pseudocódigo tem duas características que merecem menção. Primeiro, há um conjunto inicial de laços encaixados para dividir cada equação por seu elemento diagonal.
Isso reduz o número total de operações no algoritmo. Segundo, observe que a verificação
de erro é designada por uma variável denominada sentinela. Se alguma das equações tiver
um erro aproximado maior que o critério de parada (es), então as iterações continuam. O
uso da sentinela permite evitar cálculos desnecessários de estimativa de erro quando uma
das equações excede o critério.
11.2.4 Contexto de Problemas para o Método de Gauss-Seidel
Além de evitar os problemas de arredondamento, a técnica de Gauss-Seidel tem várias
outras vantagens que a torna particularmente atrativa no contexto de certos problemas de
engenharia. Por exemplo, quando a matriz em questão é muito grande e muito esparsa
(isto é, a maior parte dos elementos é zero), os métodos de eliminação desperdiçam
enorme quantidade de memória de computador para armazenar zeros.
11.2 GAUSS-SEIDEL
255
SUBROUTINE Gseid (a,b,n,x,imax,es,lambda)
DOFOR i ⫽ 1,n
dummy ⫽ ai,i
DOFOR j ⫽ 1,n
ai,j ⫽ ai,j/dummy
END DO
bi ⫽ bi/dummy
END DO
DOFOR i ⫽ 1, n
soma ⫽ bi
DOFOR j ⫽ 1, n
IF i⫽j THEN soma ⫽ soma ⫺ ai,j*xj
END DO
xi⫽ soma
END DO
iter⫽1
DO
sentinela ⫽ 1
DOFOR i ⫽ 1,n
old ⫽ xi
soma ⫽ bi
DOFOR j ⫽ 1,n
IF i⫽j THEN soma ⫽ soma ⫺ ai,j*xj
END DO
xi ⫽ lambda* soma ⫹(1.⫺lambda)*old
IF sentinela ⫽ 1 AND xi ⫽ 0. THEN
ea ⫽ ABS((xi ⫺ old)/xi)*100.
IF ea ⬎ es THEN sentinela ⫽ 0
END IF
END DO
iter ⫽ iter ⫹ 1
IF sentinela ⫽ 1 OR (iter ⱖ imax) EXIT
END DO
END Gseid
FIGURA 11.6
Pseudocódigo para o método de Gauss-Seidel com relaxamento.
No começo deste capítulo, viu-se como essas limitações poderiam ser evitadas se a
matriz de coeficientes fosse de banda. Para sistemas que não são de banda, não há
usualmente uma maneira simples de evitar a utilização de muita memória quando se
utilizam métodos de eliminação. Como todos os computadores têm uma quantidade
finita de memória, essa ineficiência pode colocar uma limitação no tamanho dos sistemas para os quais os métodos de eliminação são práticos.
Embora um algoritmo geral como o da Figura 11.6 seja suscetível às mesmas limitações, a estrutura das equações de Gauss-Seidel [Equação (11.5)] permite que programas
concisos sejam desenvolvidos para sistemas específicos. Como apenas os coeficientes
não-nulos precisam ser incluídos na Equação (11.5), é possível grande economia de
memória de computador. Mesmo que isso signifique um maior investimento inicial no desenvolvimento de software, as vantagens a longo prazo são substanciais quando se lida
com sistemas grandes para os quais muitas simulações devem ser efetuadas. Tanto sistemas de variáveis agregadas quanto aqueles de distribuídas podem resultar em matrizes
grandes e esparsas, para as quais o método de Gauss-Seidel é útil.
MATRIZES ESPECIAIS E GAUSS-SEIDEL
SOFTWARE
256
11.3
EQUAÇÕES ALGÉBRICAS LINEARES COM
BIBLIOTECAS E PACOTES
As bibliotecas e os pacotes de software têm excelentes recursos para resolver sistemas de
equações algébricas lineares. Antes de descrever tais ferramentas, deve-se mencionar que
as abordagens descritas no Capítulo 7 para resolver sistemas não-lineares podem ser aplicadas a sistemas lineares. No entanto, nesta seção o foco será em abordagens que foram
criadas especialmente para sistemas lineares.
11.3.1 Excel
Há duas formas de resolver equações algébricas lineares com Excel: (1) usando a ferramenta Solver ou (2) usando funções de inversão e multiplicação de matrizes.
Lembre-se de que uma forma de determinar a solução de equações algébricas lineares
é
{X} = [A]−1 {B}
(11.12)
O Excel tem funções embutidas tanto para a inversão quanto para a multiplicação de matrizes que podem ser usadas para implementar essa fórmula.
EXEMPLO 11.4
Usando o Excel para Resolver Sistemas Lineares
Enunciado do Problema. Lembre-se de que no Capítulo 10 foi apresentada a matriz
de Hilbert, na qual o sistema a seguir é baseado. Observe que ela já está em uma escala
adequada, como foi feito previamente no Exemplo 10.3, de modo que o maior coeficiente
em cada linha é a unidade.
x1
1 1/2 1/3
1,833333
1 2/3 1/2
x2 = 2,166667
1 3/4 3/5
2,35
x3
A solução desse sistema é {X}T = ⌊1 1 1⌋. Use o Excel para obtê-la.
Solução. A planilha eletrônica para resolver esse problema é mostrada na Figura 11.7.
Primeiro, a matriz [A] e as constantes {B} do lado direito são digitadas nas células da
planilha. Então, um conjunto de células de dimensões apropriadas (no exemplo, 3 × 3) é
selecionado ou clicando e arrastando o mouse ou utilizando as setas do teclado enquanto
se mantém pressionada a tecla shift. Como na Figura 11.7, selecionamos o campo
B5. .D7.
FIGURA 11.7
A seguir, a fórmula chamando a função de inversão de matriz é digitada,
=minverse(B1..D3)
11.3 EQUAÇÕES ALGÉBRICAS LINEARES COM BIBLIOTECAS E PACOTES
257
Observe que o argumento é o campo que contém os elementos de [A]. As teclas Ctrl e
Shift são mantidas pressionadas enquanto a tecla Enter é apertada. A inversa de [A] resultante será calculada pelo Excel e mostrada no campo B5. .D7, como ilustrado na
Figura 11.7.
Uma abordagem parecida é usada para multiplicar a inversa pelo vetor do lado
direito. Para isso, o intervalo F5. .F7 é selecionado e a seguinte fórmula é digitada:
=mmult(B5..D7,F1..F3)
onde o primeiro campo é a primeira matriz a ser multiplicada, [A]−1, e o segundo campo
é a segunda matriz a ser multiplicada, {B}. Novamente pressionando Ctrl-Shift-Enter, a
solução, {X}, será calculada pelo Excel e mostrada no campo F5. .F7, como ilustrado na
Figura 11.7. Como pode ser visto, o resultado é a resposta correta.
Observe que deliberadamente os resultados no Exemplo 11.4 foram reformatados
para mostrar 15 dígitos. Isso foi feito porque o Excel usa dupla precisão para armazenar
valores numéricos. Assim, vê-se que os erros de arredondamento ocorrem nos últimos
dois dígitos. Isso implica um número de condicionamento da ordem de 100, o que está de
acordo com o resultado de 451,2 originalmente calculado no Exemplo 10.3. O Excel não
tem o recurso de calcular um número de condicionamento. Na maioria dos casos, principalmente porque ele usa números em dupla precisão, isso não representa um problema.
No entanto, para casos em que se suspeita que o sistema é mal condicionado, a determinação do número de condicionamento é útil. O software MATLAB e o IMSL são capazes
de calcular esse número.
11.3.2 MATLAB
Como o nome sugere, MATLAB (abreviação para MATriz e LABoratório) foi criado
para facilitar manipulações de matrizes. Assim, como seria de esperar, seus recursos
nessa área são excelentes. Algumas das funções principais do MATLAB, relacionadas a
operações de matrizes, estão listadas na Tabela 11.1. O seguinte exemplo ilustra um
pouco desses recursos.
TABELA 11.1 Funções do MATLAB para implementar análise de matrizes e álgebra linear numérica.
Análise de Matrizes
Equações Lineares
Função
Descrição
Função
Descrição
cond
Número de condicionamento da matriz
\ and /
Solução da equação linear; usa
“help slash”
norm
Norma da matriz ou do vetor
chol
Fatorização de Cholesky
rcond
Estimador de condicionamento
recíproco LINPACK
lu
Fatores da eliminação de Gauss
rank
Número de linhas ou colunas linearmente
inv
Inversa da matriz
independentes
det
Determinante
qr
Decomposição ortogonal-triangular
trace
Soma dos elementos da diagonal
qrdelete
Apaga uma coluna da
null
Espaço nulo
qrinsert
Insere uma coluna na fatorização QR
orth
Ortogonalização
nnls
Mínimos quadrados não-negativos
rref
Forma reduzida escalonada por linha
pinv
lscov
Pseudo-inversa
Mínimos quadrados na presença de
covariância conhecida
fatorização QR
MATRIZES ESPECIAIS E GAUSS-SEIDEL
SOFTWARE
258
EXEMPLO 11.5
Usando o MATLAB para Manipular Equações Algébricas Lineares
Enunciado do Problema. Explore como o MATLAB pode ser usado para resolver e
analisar equações algébricas lineares. Use o mesmo sistema do Exemplo 11.4.
Solução.
Primeiro, pode-se digitar a matriz [A] e o vetor {B},
>> A = [ 1
1/2
1/3 ; 1
2/3
2/4 ; 1
3/4
3/5 ]
A =
1.0000
1.0000
1.0000
0.5000
0.6667
0.7500
0.3333
0.5000
0.6000
>> B=[1+1/2+1/3;1+2/3+2/4;1+3/4+3/5]
B =
1.8333
2.1667
2.3500
Então, determina-se o número de condicionamento para [A], como em
>> Cond(A)
ans =
366.3503
Esse resultado é baseado em A2 , ou seja, a norma espectral discutida no Quadro 10.2.
Observe que ele é da mesma ordem de grandeza que o número de condicionamento 451,2
baseado na norma da soma das linhas do Exemplo 10.3. Ambos os resultados implicam
que podem ser perdidos entre 2 e 3 algarismos de precisão.
Agora, é possível resolver o sistema de equações de duas formas diferentes. O mais
direto e eficiente é empregar a barra invertida, ou “divisão à esquerda”:
>> X=A\B
X =
1.0000
1.0000
1.0000
Para casos como o nosso, o MATLAB usa a eliminação de Gauss para resolver tais
sistemas.
Como uma alternativa, pode-se implementar a Equação (PT3.6) diretamente,
como em
>> X=inv(A)*B
X =
1.0000
1.0000
1.0000
Essa abordagem de fato determina primeiro a matriz inversa e depois efetua a multiplicação matricial. Portanto, consome mais tempo do que usando a barra invertida.
11.3 EQUAÇÕES ALGÉBRICAS LINEARES COM BIBLIOTECAS E PACOTES
259
11.3.3 IMSL
O IMSL tem diversas rotinas para sistemas lineares, inversão de matrizes e cálculo de determinantes. A Tabela 11.2 enumera as categorias cobertas.
Como se vê na Tabela 11.3, oito rotinas são dedicadas ao caso específico de matrizes
reais arbitrárias. Nessa discussão, iremos concentrar-nos em duas rotinas: LFCRG
e LFIRG.
A rotina LFCRG efetua uma decomposição LU da matriz [A] e calcula seu número de
condicionamento. A LFCRG é implementada pelo seguinte comando CALL:
CALL LFCRG(N, A, LDA, FAC, LDFAC, IPVT, RCOND)
onde
N ⫽ Ordem da matriz. (Entrada)
A ⫽ Matriz N × N a ser decomposta. (Entrada)
LDA ⫽ Dimensão dominante de A como especificado na declaração de dimensão
dada pelo programa. (Entrada)
FAC ⫽ Matriz N × N contendo a decomposição LU de A. (Saída)
LDFAC ⫽ Dimensão dominante de FAC como especificado na declaração de
dimensão dada pelo programa. (Entrada)
IPVT ⫽ Vetor de comprimento N contendo a informação de pivotamento para a
decomposição LU. (Saída)
RCOND ⫽ Escalar contendo o recíproco do número de condicionamento de A.
(Saída)
TABELA 11.2 Categorias de rotinas de IMSL para a solução de sistemas lineares,
inversão de matrizes e cálculo de determinantes.
• Matrizes reais arbitrárias
• Matrizes complexas arbitrárias
• Matrizes triangulares reais
• Matrizes triangulares complexas
• Matrizes reais positivas definidas
• Matrizes reais simétricas
• Matrizes complexas hermitianas positivas definidas
• Matrizes complexas hermitianas
• Matrizes de banda reais em armazenamento de banda
• Matrizes de banda reais simétricas positivas definidas em armazenamento de banda
• Matrizes de banda complexas em armazenamento de banda
• Matrizes de banda complexas simétricas positivas definidas em armazenamento de banda
• Solucionador de equações lineares reais esparsas
• Solucionador de equações lineares complexas esparsas
• Solucionador de equações lineares reais esparsas simétricas positivas definidas
• Solucionador de equações lineares complexas esparsas hermitianas positivas definidas
• Matrizes Toeplitz reais em armazenamento Toeplitz
• Matrizes Toeplitz complexas em armazenamento Toeplitz
• Matrizes complexas circulantes em armazenamento circulante
• Métodos iterativos
• Mínimos quadrados lineares e fatorização de matrizes
• Mínimos quadrados, decomposição QR e a inversa generalizada
• Fatorização de Cholesky
• Decomposição em valores singulares (SVD)
• Apoio matemático para estatística
MATRIZES ESPECIAIS E GAUSS-SEIDEL
260
TABELA 11.3 Rotinas IMSL para a solução de matrizes reais arbitrárias.
Rotina
Capacidade
LSARG
LSLRG
LFCRG
LFTRG
LFSRG
LFIRG
LFDRG
LINRG
Resolve sistemas lineares com alta acurácia
Resolve um sistema linear
Fatora e calcula o número de condicionamento
Fatora
Resolve depois de fatorar
Resolve sistemas lineares com alta acurácia depois de fatorar
Calcula o determinante depois de fatorar
Inverte
O LFIRG usa a decomposição LU e um vetor particular do lado direito para gerar
uma solução de alta acurácia utilizando refinamento iterativo. O LFIRG é implementado
pelo seguinte comando CALL:
CALL LFIRG(N, A, LDA, FAC, LDFAC, IPVT, B, IPATH, X, RES)
onde
N ⫽ Ordem da matriz. (Entrada)
A ⫽ Matriz N × N a ser decomposta. (Entrada)
LDA ⫽ Dimensão dominante de A como especificado na declaração de dimensão
dada pelo programa. (Entrada)
FAC ⫽ Matriz N × N contendo a decomposição LU de A. (Entrada)
LDFAC ⫽ Dimensão dominante de FAC como especificado na declaração de dimensão dada pelo programa. (Entrada)
IPVT ⫽ Vetor de comprimento N contendo a informação de pivotamento para a
decomposição LU. (Entrada)
B ⫽ Vetor de comprimento N contendo o lado direito do sistema linear.
IPATH ⫽ Indicador de caminho. (Entrada)
= 1 significa que o sistema AX = B deve ser resolvido
= 2 significa que o sistema ATX = B deve ser resolvido
X ⫽ Vetor de comprimento N contendo a solução do sistema linear. (Saída)
RES ⫽ Vetor de comprimento N contendo o vetor residual da solução refinada. (Saída)
Essas duas rotinas são usadas no seguinte exemplo. Primeiro, o LFCRG é chamado
para decompor a matriz e devolver o número de condicionamento. Então, o LFIRG é
chamado N vezes com o vetor B contendo cada coluna da matriz identidade para gerar as
colunas da matriz inversa. Finalmente, LFIRG pode ser chamado uma vez adicional para
obter a solução de um único vetor do lado direito.
EXEMPLO 11.6
Usando o IMSL para Analisar e Resolver uma Matriz de Hilbert
Enunciado do Problema. Use LFCRG e LFIRG para determinar o número de condicionamento, a matriz inversa e a solução para o sistema com a matriz de Hilbert,
x1
1,833333
1 1/2 1/3
1/2 1/3 1/4
x2 = 1,083333
0,783333
1/3 1/4 1/5
x3
Solução. Um exemplo de um programa principal em Fortran 90 usando LFCRG e
LFIRG para resolver esse problema pode ser escrito como
11.3 EQUAÇÕES ALGÉBRICAS LINEARES COM BIBLIOTECAS E PACOTES
261
PROGRAM Lineqs
USE msimsl
IMPLICIT NONE
INTEGER::ipath,lda,n,ldfac
PARAMETER(ipath=1,lda=3,ldfac=3,n=3)
INTEGER::ipvt(n),i,j,itmax=50
REAL::A(lda,lda),Ainv(lda,lda),factor(ldfac,ldfac),Rcond,Res(n)
REAL::Rj(n),B(n),x(n)
DATA A/1.0,0.5,0.3333333,0.5,0.3333333,0.25,0.3333333,0.25,0.2/
DATA B/1.833333,1.083333,0.783333/
!Fazer decomposição LU; determinar e mostrar o número de condicionamento
CALL LFCRG(n,A,lda,factor,ldfac,ipvt,Rcond)
PRINT *, "número de condicionamento = ", 1.0E0/Rcond
PRINT *
!Inicializar o vetor Rj com zero
DO i = 1,n
Rj(i) = 0.
END DO
!Alimentar as colunas da matriz identidade através do LFIRG para
gerar a inversa e armazenar o resultado em Ainv. Mostra Ainv
DO j = 1, n
Rj(j) = 1.0
CALL LFIRG(n,A,lda,fator,ldfac,ipvt,Rj,ipath,ainv(1,j),Res)
Rj(j) = 0.0
END DO
PRINT *, "Inversa da Matriz:"
DO i = 1,n
PRINT *, (Ainv(i,j),j=1,n)
END DO
PRINT *
!Usar LFIRG para obter solução para B. Mostrar os resultados
PRINT *, "Solução:"
DO I = 1,n
PRINT *, x(i)
END DO
END PROGRAM
A saída é:
Número de Condicionamento =
Inversa da Matriz:
9.000033
–36.000180
30.000160
–36.000180
192.000900
–180.000800
680.811600
30.000160
–180.000800
180.000800
Solução:
9.999986E-01
1.000010
9.999884E-01
Novamente, o número de condicionamento é da mesma ordem de grandeza que o
número de condicionamento baseado na norma da soma das linhas no Exemplo 10.3
(451,2). Ambos os resultados implicam que entre 2 e 3 dígitos de precisão podem ser perdidos. Isso é confirmado pela solução, na qual se vê que os erros de arredondamento ocorrem nos últimos dois ou três algarismos.
MATRIZES ESPECIAIS E GAUSS-SEIDEL
262
PROBLEMAS
11.1 Efetue os mesmos cálculos do Exemplo 11.1, agora para o sistema triangular
x1 + x2 + 5x3 = −21,5
⎫
⎤⎧ ⎫ ⎧
0,8 −0,4
⎨ x1 ⎬ ⎨ 41 ⎬
⎣ −0,4 0,8 −0,4 ⎦ x2 = 25
⎩ ⎭ ⎩
⎭
−0,4 0,8
105
x3
⎡
11.2 Determine a matriz inversa para o Exemplo 11.1, baseando-se
na decomposição LU e nos vetores unitários.
11.3 O seguinte sistema tridiagonal deve ser resolvido como parte
de um algoritmo maior (Crank-Nicolson) para resolver equações
diferenciais parciais:
⎡
⎤
2,01475
−0,020875
⎢ −0,020875
⎥
2,01475
−0,020875
⎢
⎥
⎣
−0,020875
2,01475
−0,020875 ⎦
−0,020875
10x1 + 2x2 − x3 = 27
−3x1 − 6x2 + 2x3 = −61,5
2,01475
⎧
⎫
4,175 ⎪
⎪
⎪
⎨ 0 ⎪
⎬
2
×
=
⎪
T ⎪
⎪
⎪ ⎪
⎪ 0 ⎪
⎪
⎩ 3⎭
⎩
⎭
T4
2,0875
⎧ ⎫
T1 ⎪
⎪
⎪
⎨T ⎪
⎬
Use o algoritmo de Thomas para obter uma solução.
11.4 Confirme a validade da decomposição de Cholesky do Exemplo 11.2 substituindo os resultados na Equação (11.2) para verificar
que o produto de [L] por [L]T fornece [A].
11.5 Efetue a decomposição de Cholesky do seguinte sistema
simétrico, à mão:
⎫
⎤⎧ ⎫ ⎧
8 20 15 ⎨ x1 ⎬ ⎨ 50 ⎬
⎣ 20 80 50 ⎦ x2 = 250
⎩ ⎭ ⎩
⎭
15 50 60
100
x3
11.11 Use o método de Gauss-Seidel (a) sem relaxamento e (b)
com relaxamento (λ = 0,95) para resolver o seguinte sistema com
tolerância de εs = 5%. Se necessário, reorganize as equações para
garantir convergência.
−3x1 + x2 + 12x3 = 50
6x1 − x2 − x3 = 3
6x1 + 9x2 + x3 = 40
11.12 Use o método de Gauss-Seidel (a) sem relaxamento e (b)
com relaxamento (λ = 1,2) para resolver o seguinte sistema com
tolerância de εs = 5%. Se necessário, reorganize as equações para
garantir a convergência.
2x1 − 6x2 − x3 = −38
−3x1 − x2 + 7x3 = −34
−8x1 + x2 − 2x3 = −20
11.13 Desenhe novamente a Figura 11.5 para o caso em que as inclinações das equações forem 1 e –1. Qual o resultado de aplicar
Gauss-Seidel a tal sistema?
11.14 Dos seguintes três conjuntos de equações lineares, identifique qual(is) conjunto(s) não pode(m) ser resolvido(s) usando um
método iterativo como o de Gauss-Seidel. Mostre, utilizando qualquer número de iterações, que necessariamente sua solução não
converge. Enuncie claramente seu critério de convergência (como
você sabe que a solução não está convergindo).
⎡
11.6 Efetue os mesmos cálculos que os do Exemplo 11.2 para o
seguinte sistema simétrico
⎫
⎤⎧ ⎫ ⎧
6 15 55 ⎨ a0 ⎬ ⎨ 152,6 ⎬
⎣ 15 55 225 ⎦ a1 = 585,6
⎭
⎩ ⎭ ⎩
2488,8
a2
55 225 979
⎡
Além de determinar a decomposição de Cholesky, empregue-a para
determinar os a’s.
11.7 (a) Use o método de Gauss-Seidel para resolver o sistema triangular do Problema 11.1 (εs = 5%). (b) Repita (a), mas use
sobre-relaxamento com λ = 1,2.
11.8 Lembre-se, do Problema 10.8, que o seguinte sistema de
equações é criado para determinar concentrações (com os c’s em
g/m3) em uma série de reatores acoplados como função da quantidade de entrada de massa em cada reator (o lado direito, em g/d)
15c1 − 3c2 − c3 = 3800
−3c1 + 18c2 − 6c3 = 1200
−4c1 − c2 + 12c3 = 2350
Resolva esse problema pelo método de Gauss-Seidel até εs = 5%.
11.9 Repita o Problema 11.8, mas use iteração de Jacobi.
11.10 Use o método de Gauss-Seidel para resolver o seguinte sistema até que o erro relativo porcentual caia abaixo de εs = 5%,
Conjunto Um
Conjunto Dois
9x + 3y + z = 13
x + y + 6z = 8
−6x + 8z = 2
2x + 5y − z = 6
x + 5y − z = 5
4x + 2y − 2z = 4
Conjunto Três
−3x + 4y + 5z = 6
−2x + 2y − 3z = −3
2y − z = 1
11.15 Use a biblioteca ou pacote de software de sua preferência
para obter uma solução, calcular a inversa e determinar o número
de condicionamento (sem mudança de escala) com base na norma
da soma das linhas para
(a)
⎡
⎤⎧ ⎫ ⎧ ⎫
1 4 9 ⎨ x1 ⎬ ⎨ 14 ⎬
⎣ 4 9 16 ⎦ x2 = 29
⎩ ⎭ ⎩ ⎭
9 16 25
50
x3
(b)
1 4 9
⎢ 4 9 16
⎢
⎣ 9 16 25
16 25 36
⎡
⎫
⎤⎧ ⎫ ⎧
16 ⎪ x1 ⎪ ⎪ 30 ⎪
⎪
⎪
⎪
⎪
⎨
⎬
⎨
⎬
25 ⎥
⎥ x2 = 54
⎦
36 ⎪
⎪ x3 ⎪
⎪ ⎪
⎪ 86 ⎪
⎪
⎩
⎭
⎩
⎭
49
x4
126
Em ambos os casos, as respostas para todos os x’s devem ser 1.
11.16 Dado o par de equações simultâneas não-lineares:
f(x, y) = 4 − y − 2x 2
g(x, y) = 8 − y 2 − 4x
PROBLEMAS
263
(a) Use o Solver do Excel para determinar os dois pares de valores
de x e y que satisfazem essas equações.
(b) Usando um intervalo de aproximações iniciais (x = −6 até 6 e
y = −6 até 6), determine quais aproximações iniciais resultarão em cada uma das soluções.
11.17 Uma companhia de eletrônica produz transistores, resistores
e chips de computador. Cada transistor usa quatro unidades de
cobre, uma unidade de zinco e duas unidades de vidro. Cada resistor usa três, três e uma unidades de cada material, respectivamente,
e cada chip de computador usa duas, uma e três unidades desses
materiais, respectivamente. Colocando essa informação em uma
tabela, tem-se:
Componente
Transistor
Resistor
Chip de computador
Cobre
Zinco
Vidro
4
3
2
1
3
1
2
1
3
O fornecimento desses materiais varia de semana para semana.
Assim, a companhia precisa determinar uma meta de produção
diferente para cada semana. Por exemplo, em uma semana a quantidade total de materiais disponíveis era 960 unidades de cobre, 510
unidades de zinco e 610 unidades de vidro. Determine o sistema de
equações que modela essa meta de produção e use o Excel e a informação deste capítulo sobre a resolução de sistemas lineares com
o Excel para determinar o número de transistores, resistores e chips
de computador fabricados nessa semana.
11.18 Use o software MATLAB para determinar o número de
condicionamento espectral para uma matriz de Hilbert de dimensão
10. Quantos dígitos de precisão podem ser perdidos por causa do
mal condicionamento? Determine a solução desse sistema no caso
em que cada elemento do vetor à direita {b} consiste na soma dos
coeficientes de sua linha. Em outras palavras, resolva no caso em
que todas as variáveis devem ser exatamente um. Compare os erros
resultantes com aqueles esperados com base no número de condicionamento.
11.19 Repita o Problema 11.18, mas para o caso de uma matriz de
Vandermonde de dimensão 6 (ver Problema 10.14), onde x1 = 4,
x2 = 2, x3 = 7, x4 = 10, x5 = 3 e x6 = 5.
11.20 Na Seção 9.2.1, determinamos o número de operações
necessárias para eliminação de Gauss sem pivotamento parcial.
Faça uma determinação semelhante para o algoritmo de Thomas
(Figura 11.2). Faça um gráfico de operações versus n (de 2 a 20)
para ambas as técnicas.
11.21 Desenvolva um programa amigável ao usuário em uma linguagem de macro ou de alto nível à sua escolha para obter uma
solução para um sistema tridiagonal com o algoritmo de Thomas
(Figura 11.2). Teste seu programa repetindo o Exemplo 11.1.
11.22 Desenvolva um programa amigável ao usuário em uma linguagem de macro ou de alto nível à sua escolha para a decomposição de Cholesky com base na Figura 11.3. Teste seu programa
repetindo o Exemplo 11.2.
11.23 Desenvolva um programa amigável ao usuário em uma linguagem de macro ou de alto nível à sua escolha para o método de
Gauss-Seidel com base na Figura 11.6. Teste seu programa
repetindo o Exemplo 11.3.
CAPÍTULO
12
Estudo de Casos:
Equações Algébricas Lineares
O propósito deste capítulo é usar os procedimentos numéricos discutidos nos Capítulos 9,
10 e 11 para resolver sistemas de equações algébricas lineares para alguns estudos de casos
da engenharia. Essas técnicas numéricas sistemáticas têm importância prática, pois os engenheiros freqüentemente encontram problemas envolvendo sistemas de equações que são
muito grandes para serem resolvidos à mão. Os algoritmos numéricos nessas aplicações
são particularmente convenientes para serem implementados em computadores pessoais.
A Seção 12.1 mostra como um balanço de massas pode ser empregado para modelar
um sistema de reatores. A Seção 12.2 enfatiza de modo especial o uso da inversão de matrizes para determinar as complexas interações de causa e efeito entre as forças nos membros de uma treliça. A Seção 12.3 é um exemplo do uso das leis de Kirchhoff para calcular as correntes e voltagens em um circuito de resistores. Finalmente, a Seção 12.4 é uma
ilustração de como as equações lineares são empregadas na determinação da configuração estacionária em um sistema massa-mola.
12.1
ANÁLISE DO ESTADO ESTACIONÁRIO DE UM SISTEMA DE
REATORES (ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Um dos princípios de organização mais importantes na engenharia
química é a conservação de massa (lembre-se da Tabela 1.1). Em termos quantitativos, o
princípio é expresso como um balanço de massas que contabiliza todas as fontes e todos
os sorvedouros de um material que passa para dentro e para fora de um volume (Figura 12.1).
Em um período finito de tempo, isso pode ser expresso como:
Acumulação = entradas − saídas
(12.1)
Entradas = saídas
(12.2)
O balanço de massas representa um exercício de contabilidade para a substância específica sendo modelada. Para o período do cálculo, se as entradas forem maiores do que
as saídas, a massa da substância dentro do volume cresce. Se as saídas forem maiores do
que as entradas, a massa diminui. Se as entradas forem iguais às saídas, a acumulação é
zero, e a massa permanece constante. Para essa condição estável, ou estacionária, a
Equação (12.1) pode ser expressa como:
FIGURA 12.1
Representação esquemática do balanço de massa.
Volume
Entrada
Saída
Acumulação
264
12.1 ANÁLISE DO ESTADO ESTACIONÁRIO DE UM SISTEMA DE REATORES
265
Use a conservação da massa para determinar as concentrações estacionárias de um sistema de reatores acoplados.
Solução. O balanço de massas pode ser usado para resolver problemas de engenharia
expressando as entradas e as saídas em termos de variáveis e parâmetros mensuráveis.
Por exemplo, se estivermos fazendo o balanço de massas para uma substância conservativa (isto é, uma que não aumenta nem diminui por causa das transformações químicas)
em um reator (Figura 12.2), devemos quantificar a taxa pela qual a massa escoa para dentro do reator através dos dois tubos de entrada e para fora do reator através do tubo de
saída. Isso pode ser feito tomando-se o produto da vazão em volume Q (em m3/min) pela
concentração c (em mg/m3) para cada tubo. Por exemplo, para o tubo 1 na Figura 12.2,
Q1 = 2 m3/min e c 1 = 25 mg/m3; assim, a taxa na qual a massa escoa para dentro do
reator através do tubo 1 é Q1c1 = (2 m3/min)(25 mg/m3) = 50 mg/min. Então, 50 mg de
produtos químicos entram no reator através desse tubo por minuto. Analogamente, para o
tubo 2, a taxa de entrada de massa (vazão em massa) pode ser calculada como Q2c2 =
(1,5 m3/min)(10 mg/m3) = 15 mg/min.
Observe que a concentração que sai do reator através do tubo 3 não é especificada
pela Figura 12.2, porque já temos informação suficiente para calculá-la com base na conservação de massa. Como o reator está em um estado estacionário, a Equação (12.2) é
válida e as entradas devem ser balanceadas pelas saídas, como em
Q1c1 + Q2c2 = Q3c3
Substituindo os valores dados nessa equação, temos:
50 + 15 = 3,5c3
FIGURA 12.2
Um reator completamente
misturado, em estado
estacionário, com dois tubos de
entrada e um tubo de saída.
As vazões Q estão em metros
cúbicos por minuto e a
concentração c está em
miligramas por metro cúbico.
Q1 = 2 m3/min
c1 = 25 mg/m3
Q3 = 3,5 m3/min
c3 = ?
Q2 = 1,5 m3/min
c2 = 10 mg/m3
FIGURA 12.3
Cinco reatores interligados
por tubos.
Q15 = 3
Q55 = 2
c5
Q54 = 2
Q25 = 1
Q01 = 5
c01 = 10
c1
Q12 = 3
c2
Q23 = 1
Q03 = 8
c03 = 20
Q24 = 1
Q34 = 8
Q31 = 1
c3
c4
Q44 = 11
266
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
o que fornece c3 = 18,6 mg/m3. Assim, determinamos a concentração no terceiro tubo.
No entanto, os cálculos levam a um bônus adicional. Como o reator é bem misturado
(como representado pelo propulsor na Figura 12.2), a concentração será uniforme, ou homogênea, em todo o tanque. Desse modo, a concentração no tubo 3 deve ser idêntica à
concentração no reator. Conseqüentemente, o balanço de massas permitiu calcular a concentração tanto no reator quanto no tubo de saída. Tal informação é de grande utilidade
para engenheiros químicos e petroquímicos que devem projetar reatores que contêm
misturas com uma concentração específica.
Como apenas álgebra simples foi usada para determinar a concentração para um
único reator na Figura 12.2, talvez não fique óbvio onde computadores aparecem em cálculos de balanço de massa. A Figura 12.3 mostra um problema em que computadores não
apenas são úteis como são uma necessidade prática. Pelo fato de haver cinco reatores
conectados, ou acoplados, cinco equações simultâneas de balanço de massa são necessárias para caracterizar o sistema. Para o reator 1, a taxa de entrada de massa é
5(10) + Q31c3
e a taxa de saída de massa é
Q12c1 + Q15c1
Como o sistema está em um estado estacionário, as entradas e saídas devem ser iguais:
5(10) + Q31c3 = Q12c1 + Q15c1
ou, substituindo os valores da Figura 12.3,
6c1 − c3 = 50
Equações semelhantes podem ser geradas para os outros reatores:
−3c1 + 3c2 = 0
−c2 + 9c3 = 160
−c2 − 8c3 + 11c4 − 2c5 = 0
−3c1 − c2 + 4c5 = 0
Um método numérico pode ser usado para resolver essas cinco equações e determinar as cinco concentrações desconhecidas:
{C}T = ⌊11, 51 11, 51 19, 06 17, 00 11, 51⌋
Além disso, a matriz inversa pode ser calculada como sendo
[A]−1
0,16981
⎢ 0,16981
⎢
=⎢
⎢ 0,01887
⎣ 0,06003
0,16981
⎡
0,00629
0,33962
0,03774
0,07461
0,08962
⎤
0,01887
0
0
⎥
0,01887
0
0
⎥
⎥
0,11321
0
0
⎥
0,08748 0,09091 0,04545 ⎦
0,01887
0
0,25000
Cada um dos elementos aij significa a mudança na concentração no reator i por causa de
uma variação unitária na carga do reator j. Assim, os zeros na coluna 4 indicam que uma
carga no reator 4 não vai ter efeito nos reatores 1, 2, 3 e 5. Isso é consistente com a configuração do sistema (Figura 12.3), que mostra que o escoamento para fora do reator 4
não retroalimenta nenhum dos outros reatores. Em contraste, cargas em qualquer dos três
primeiros reatores irão afetar o sistema inteiro, como indicado pela ausência de zeros nas
três primeiras colunas. Tal informação é de grande utilidade para os engenheiros que projetam e administram esses sistemas.
12.2 ANÁLISE DE UMA TRELIÇA ESTATICAMENTE DETERMINADA
12.2
267
ANÁLISE DE UMA TRELIÇA ESTATICAMENTE DETERMINADA
(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Um problema importante em engenharia estrutural é o de determinar as
forças e reações associadas a uma treliça estaticamente determinada. A Figura 12.4
mostra um exemplo de tal treliça.
As forças (F) representam a tensão ou a compressão dos membros da treliça. As
reações externas (H2, V2 e V3) são forças que caracterizam como a treliça interage com a
superfície que a suporta. A dobradiça no nó 2 pode transmitir tanto forças horizontais
quanto verticais à superfície, enquanto o rolete no nó 3 transmite apenas forças verticais.
Observe que o efeito da carga externa de 1.000 lb é distribuído ao longo dos vários membros da treliça.
Solução. Esse tipo de estrutura pode ser descrito por um sistema de equações lineares
acopladas. Os diagramas de força de corpo livre são mostrados para cada nó na Figura 12.5.
A soma das forças nas direções horizontal e vertical deve ser zero em cada nó, pois o sistema está em repouso. Assim, para o nó 1,
FH = 0 = −F1 cos 30◦ + F3 cos 60◦ + F1,h
(12.3)
FV = 0 = −F1 sen 30◦ − F3 sen 60◦ + F1,v
(12.4)
FH = 0 = F2 + F1 cos 30◦ + F2,h + H2
(12.5)
FV = 0 = F1 sen 30◦ + F2,v + V2
(12.6)
Para o nó 2,
FIGURA 12.4
Forças em uma treliça
estaticamente determinada.
1000 lb
1
F1
H2
60⬚
30⬚
2
F3
90⬚
3
F2
V2
V3
FIGURA 12.5
Diagrama de forças de corpo
livre para os nós de uma treliça
estaticamente determinada.
F1,v
1
30⬚
F1,h
60⬚
F1
F3
F1
F3
F2,v
H2
60⬚
30⬚
2
F2
F3,v
3
F2
F2,h
V2
V3
F3,h
268
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
Para o nó 3,
FH = 0 = −F2 − F3 cos 60◦ + F3,h
(12.7)
FV = 0 = F3 sen 60◦ + F3,v + V3
(12.8)
onde Fi,h é a força externa horizontal aplicada ao nó i (onde uma força positiva age da esquerda para a direita) e F1,v é a força externa vertical aplicada ao nó i (onde uma força
positiva age para cima). Assim, nesse problema, a força de 1.000 lb para baixo no nó 1
corresponde a F1,v = −1.000. Para esse caso, todas as outras Fi,v ’s e Fi,h’s são nulas. Observe que os sentidos das forças internas e das forças de reações são desconhecidos. A
aplicação apropriada das leis de Newton exige apenas hipóteses consistentes sobre o sentido. Se os sentidos forem escolhidos de forma incorreta, as soluções serão negativas. Observe também que, nesse problema, assumiu-se que as forças em todos os membros são
de tensão e agem de modo a aproximar os nós adjacentes. Então, uma solução negativa
corresponde a compressão. Esse problema pode ser escrito como o seguinte sistema de
seis equações e seis incógnitas:
⎫
⎡
⎤⎧ ⎫ ⎧
0 ⎪
F1 ⎪
⎪
0,866
0 −0,5
0
0
0 ⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪
⎪ ⎪
⎪
⎢ 0,5
⎪
F2 ⎪
−1000 ⎪
⎪
⎪
0 0,866
0
0
0⎥
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎨ ⎬ ⎨
⎬
⎢ −0,866 −1
⎥
F
0
0
−1
0
0
3
⎢
⎥
=
(12.9)
⎢ −0,5
⎥
H2 ⎪
0 ⎪
⎪
0
0
0 −1
0 ⎥⎪
⎪
⎢
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎣ 0
V ⎪ ⎪
0 ⎪
1
0,5
0
0
0 ⎦⎪
⎪
⎪
⎭ ⎪
⎩
⎩ 2⎪
⎭
V3
0
0
0 −0,866
0
0 −1
Observe que, como formulado na Equação (12.9), o pivotamento parcial é necessário
para evitar divisão por elementos diagonais nulos. Empregando-se uma estratégia de pivotamento, o sistema pode ser resolvido usando-se qualquer das técnicas de eliminação
discutidas nos Capítulos 9 ou 10. No entanto, como esse problema é um estudo de caso
ideal para demonstrar a utilidade da matriz inversa, a decomposição LU pode ser usada
para calcular
F1 = −500
H2 = 0
F2 = 433
V2 = 250
F3 = −866
V3 = 750
e a matriz inversa é
⎡
⎤
0,866
0,5
0
0
0
0
⎢ 0,25
−0,433
0
0
1
0⎥
⎢
⎥
⎢
−0,5
0,866
0
0
0
0⎥
−1
⎢
⎥
[A] = ⎢
0
−1
0 −1
0⎥
⎢ −1
⎥
⎣ −0,433 −0,25
0 −1
0
0⎦
0,433
−0,75
0
0
0 −1
Agora, observe que o vetor do lado direito representa as forças horizontais e verticais externas aplicadas em cada nó, assim
{F}T = ⌊F1,h
F1,v
F2,h
F2,v
F3,h
F3,v ⌋
(12.10)
Como as forças externas não têm nenhum efeito na decomposição LU, o método não
precisa ser implementado várias vezes para se estudar o efeito de diferentes forças externas
na treliça. Em vez disso, tudo o que se tem de fazer é efetuar os passos de substituição progressiva e regressiva para cada vetor do lado direito para obter eficientemente várias soluções.
Por exemplo, pode-se estar interessado em estudar o efeito de forças horizontais induzidas
por um vento soprando da esquerda para a direita. Se a força do vento puder ser idealizada
como duas forças pontuais de 1.000 lb nos nós 1 e 2 (Figura 12.6a), o vetor à direita é
{F}T = ⌊−1000 0 1000 0 0 0⌋
que pode ser usado para calcular
F1 = 866
H2 = −2000
F2 = 250
V2 = −433
F3 = −500
V3 = 433
12.3 CORRENTES E VOLTAGENS EM CIRCUITOS DE RESISTORES
1.000
6
86
2.000
250
433
0
50
2.000 1.000
1.000
0
50
6
86
269
433
1250
433
(a)
1.000
433
(b)
FIGURA 12.6
Dois casos de teste mostrando (a) ventos a partir da esquerda e (b) ventos a partir da direita.
Para um vento a partir da direita (Figura 12.6b), F1, h = −1.000, F3, h = −1.000, e todas
as outras forças externas são nulas, resultando em
F1 = −866
H2 = 2.000
F2 = −1.250
V2 = 433
F3 = 500
V3 = −433
Os resultados indicam que os ventos têm efeitos marcadamente diferentes na estrutura.
Ambos os casos estão descritos na Figura 12.6.
Os elementos individuais da matriz invertida também têm utilidade direta para elucidar interações resposta-estímulo para a estrutura. Cada elemento representa a mudança de
uma das variáveis indeterminadas correspondentes a uma variação unitária de um dos es−1
indica que a terceira incógnita (F3) vai
tímulos externos. Por exemplo, o elemento a32
mudar 0,866 por causa de uma variação unitária do segundo estímulo externo (F1,v ).
Assim, se a carga vertical no primeiro nó crescer de uma unidade, F3 irá crescer 0,866. O
fato de que alguns elementos são zero indica que certas variáveis não são afetadas por al−1
guns dos estímulos externos. Por exemplo, a13
= 0 significa que F1 não é afetada por mudanças em F2,h. Essa habilidade de isolar interações tem um grande número de aplicações
na engenharia, incluindo a identificação daqueles componentes que são mais sensíveis a
estímulos externos e, como conseqüência, mais suscetíveis a falhas. Além disso, é usada
para identificar componentes que podem ser desnecessários (ver Problema 12.18).
A abordagem anterior se torna particularmente útil quando aplicada a estruturas
grandes e complexas. Na prática de engenharia, pode ser necessário resolver treliças
com centenas ou mesmo milhares de membros estruturais. As equações lineares
fornecem uma abordagem poderosa para se ganhar uma visão geral do comportamento
dessas estruturas.
12.3
CORRENTES E VOLTAGENS EM CIRCUITOS DE RESISTORES
(ENGENHARIA ELÉTRICA)
Fundamentos. Um problema comum na engenharia elétrica envolve a determinação
das correntes e voltagens em várias posições em circuitos de resistores. Esses problemas
são resolvidos usando-se as regras de Kirchhoff para correntes e voltagens. A regra da
corrente (ou regra do ponto) estabelece que a soma algébrica de todas as correntes entrando em um nó deve ser zero (ver Figura 12.7a), ou
i = 0
(12.11)
onde todas as correntes entrando no nó são consideradas de sinal positivo. A regra
da corrente é uma aplicação do princípio de conservação de carga (lembre-se da
Tabela 1.1).
270
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
FIGURA 12.7
Representação esquemática
(a) da regra de correntes de
Kirchhoff e (b) da lei de Ohm.
A regra da voltagem (ou regra do laço) especifica que a soma algébrica das diferenças
de potencial (isto é, variações de voltagem) em cada laço deve ser igual a zero. Para um
circuito de resistores, isso é expresso por
i1
i3
i2
(a)
Vi
Rij
iij
(b)
Vj
ξ − i R = 0
(12.12)
onde ξ é a fem (força eletromotriz) das fontes de voltagem e R é a resistência de cada um
dos resistores do laço. Observe que o segundo termo vem da lei de Ohm (Figura 12.7b),
que estabelece que a queda de voltagem através de um resistor ideal é igual ao produto da
corrente pela resistência. A regra de voltagem de Kirchhoff é uma expressão da lei de conservação de energia.
Solução. A aplicação dessas regras resulta em um sistema de equações algébricas lineares simultâneas, pois os vários laços dentro de um circuito são acoplados. Por exemplo, considere o circuito mostrado na Figura 12.8. As correntes associadas a ele são
desconhecidas tanto em módulo quanto em sentido. Isso não representa grande dificuldade, pois é possível simplesmente escolher um sentido para cada corrente. Se a solução
resultante das leis de Kirchhoff for negativa, então o sentido foi escolhido incorretamente.
A Figura 12.9 mostra algumas escolhas de correntes.
Dadas essas hipóteses, a regra de corrente de Kirchhoff é aplicada em cada nó
para fornecer
i 12 + i 52 + i 32 = 0
i 65 − i 52 − i 54 = 0
i 43 − i 32 = 0
i 54 − i 43 = 0
A aplicação da regra de voltagem em cada um dos dois laços dá
−i 54 R54 − i 43 R43 − i 32 R32 + i 52 R52 = 0
−i 65 R65 − i 52 R52 + i 12 R12 − 200 = 0
FIGURA 12.8
Um circuito de resistores a ser resolvido usando-se equações algébricas lineares simultâneas.
3
R = 10 ⍀
R=5⍀
2
R=5⍀
1
V1 = 200 V
R = 10 ⍀
4
R = 15 ⍀
5
R = 20 ⍀
6
FIGURA 12.9
Escolha de correntes.
3
2
1
i32
i43
4
i12
i52
i54
5
i65
6
V6 = 0 V
12.4 SISTEMAS MASSA-MOLA
V = 153,85
271
V = 169,23
i = 1,5385
V = 146,15
V = 200
i = 6,1538
V = 123,08
V=0
FIGURA 12.10
A solução para as correntes e voltagens obtidas usando-se um método de eliminação.
ou, substituindo as resistências da Figura 12.8 e trazendo as constantes para o lado direito,
−15i 54 − 5i 43 − 10i 32 + 10i 52 = 0
−20i 65 − 10i 52 + 5i 12 = 200
Assim, o problema se transforma em resolver o seguinte conjunto de seis equações por
seis correntes desconhecidas:
⎫
⎡
⎤⎧ ⎫ ⎧
0 ⎪
1
1
1
0
0
0 ⎪
i 12 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢ 0 −1
⎪
⎪
⎪ i 52 ⎪
0 ⎪
0
1 −1
0⎥
⎪
⎪
⎪
⎪
⎢
⎥⎪
⎪
⎪
⎪
⎬
⎨
⎬
⎨
⎢0
⎥
0
i
0
−1
0
0
1
32
⎢
⎥
=
⎢0
0 ⎪
i 65 ⎪
0
0
0
1 −1 ⎥
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎣0
⎦
0 ⎪
i ⎪ ⎪
10 −10
0 −15 −5 ⎪
⎪
⎪
⎪
⎭ ⎪
⎩
⎭
⎩ 54 ⎪
i 43
5 −10
0 −20
0
0
200
Embora não seja prático resolvê-lo à mão, esse sistema é tratado facilmente usando-se um
método de eliminação. Procedendo dessa forma, a solução é
i 12 = 6,1538
i 65 = −6,1538
i 52 = −4,6154
i 54 = −1,5385
i 32 = −1,5385
i 43 = −1,5385
Portanto, com a interpretação apropriada dos sinais do resultado, as correntes e voltagens
do circuito são mostradas na Figura 12.10. As vantagens de usar algoritmos numéricos e
computadores para problemas desse tipo devem ser evidentes.
12.4
SISTEMAS MASSA-MOLA
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. Sistemas idealizados de massa-mola desempenham um papel importante na mecânica e em outros problemas da engenharia. A Figura 12.11 mostra tal sistema. Assim que são soltas, as massas são puxadas para baixo pela força da gravidade.
Observe que o deslocamento de cada mola na Figura 12.11b é medido em coordenadas
locais relativas à sua posição inicial na Figura 12.11a.
Como introduzido no Capítulo 1, a segunda lei de Newton pode ser usada em conjunto com o balanço de forças para se desenvolver um modelo matemático do sistema.
Para cada massa, a segunda lei pode ser expressa como
m
d2x
= FD − FU
dt 2
(12.13)
Para simplificar as análises, suponha que todas as molas são idênticas e obedecem à lei
de Hooke. Um diagrama de corpo livre para a primeira massa está esquematizado na
Figura 12.12a. A força para cima é simplesmente a expressão direta da lei de Hooke:
FU = kx1
(12.14)
272
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
k
0
m1
k
m1
k
x1
0
m2
k
m2
x2
0
m3
m3
(a)
x3
(b)
FIGURA 12.11
Um sistema composto por três massas suspensas verticalmente por uma série de molas.
(a) O sistema antes de ser solto, isto é, antes da extensão ou compressão das molas.
(b) O sistema depois de ser solto. Observe que as posições das massas são dadas em
coordenadas locais com origens em suas posições antes de serem soltas.
A componente para baixo consiste na força das duas molas juntamente com a ação da
gravidade na massa,
(12.15)
FD = k(x2 − x1 ) + k(x2 − x1 ) = m 1 g
Observe como a componente de força das duas molas é proporcional ao deslocamento da
segunda massa, x2, corrigido pelo deslocamento da primeira massa, x1.
As Equações (12.14) e (12.15) podem ser substituídas na Equação (12.13) para dar
m1
d 2 x1
= 2k(x2 − x1 ) + m 1 g − kx1
dt 2
(12.16)
Desse modo, deduz-se uma equação diferencial ordinária de segunda ordem para descrever o deslocamento da primeira massa com relação ao tempo. No entanto, observe que
a solução não pode ser obtida, pois o modelo inclui uma segunda variável dependente, x2.
Conseqüentemente, diagramas de corpo livre devem ser desenvolvidos para a segunda e
a terceira massas (Figuras 12.12b e c) que podem ser usados para deduzir
m2
d 2 x2
= k(x3 − x2 ) + m 2 g − 2k(x2 − x1 )
dt 2
(12.17)
e
FIGURA 12.12
Diagramas de corpo livre para as três massas da Figura 12.11.
kx1
k(x2 – x1)
m1
k(x2 – x1) m1g k(x2 – x1)
(a)
k(x2 – x1)
m2
m2g
k(x3 – x2)
m3
k(x3 – x2)
(b)
m3g
(c)
12.4 SISTEMAS MASSA-MOLA
m3
273
d 2 x3
= m 3 g − k(x3 − x2 )
dt 2
(12.18)
As Equações (12.16), (12.17) e (12.18) formam um sistema de três equações diferenciais com três incógnitas. Com as condições iniciais apropriadas, elas podem ser usadas
para determinar o deslocamento das massas como função do tempo (isto é, suas oscilações). Métodos numéricos de obter tais soluções serão discutidos na Parte Sete. No
momento, é possível obter os deslocamentos que ocorrem quando o sistema eventualmente estiver em repouso, isto é, no estado estacionário. Para fazer isso, as derivadas nas
Equações (12.16), (12.17) e (12.18) são igualadas a zero e obtém-se
3kx1
−2kx1
− 2kx2
+ 3kx2
− kx2
− kx3
+ kx3
= m1g
= m2g
= m3g
ou, em forma matricial,
[K ] {X} = {W }
onde [K], chamada de matriz de rigidez, é
⎤
⎡
3k −2k
[K ] = ⎣ −2k 3k −k ⎦
−k
k
e {X} e {W } são os vetores coluna das incógnitas X e dos pesos mg, respectivamente.
Solução. Nesse ponto, os métodos numéricos podem ser usados para se obter uma
solução. Se m1 = 2 kg, m2 = 3 kg, m3 = 2,5 kg e k = 10 kg/s2, use a decomposição LU
para determinar os deslocamentos e gerar a inversa de [K].
Substituindo os parâmetros do modelo, tem-se
⎫
⎧
⎡
⎤
30 −20
⎨ 19,6 ⎬
{W } = 29,4
[K ] = ⎣ −20 30 −10 ⎦
⎭
⎩
24,5
−10 10
A decomposição LU pode ser usada para determinar x1 = 7,35, x2 = 10,045 e x3
12,495. Esses deslocamentos foram utilizados para construir a Figura 12.11d. A inversa
dessa matriz de rigidez é calculada por
⎡
⎤
0,1 0,1 0,1
[K ]−1 = ⎣ 0,1 0,15 0,15 ⎦
0,1 0,15 0,25
Cada elemento dessa matriz, k ji−1 , mostra o deslocamento da massa i decorrente de
uma força unitária aplicada sobre a massa j. Assim, os valores 0,1 na coluna 1 mostram
que uma carga unitária aplicada para baixo na primeira massa vai deslocar todas as outras
massas 0,1 m para baixo. Os outros elementos podem ser interpretados de maneira similar. Então, a inversa da matriz de rigidez fornece um resumo fundamental de como as
componentes do sistema respondem a forças aplicadas externamente.
PROBLEMAS
Engenharia Química/Bioengenharia
12.1 Efetue os mesmos cálculos da Seção 12.1, mas troque c01
para 40 e c03 para 10. Mude também os seguintes fluxos: Q01 = 6,
Q12 = 4, Q24 = 2 e Q44 = 12.
12.2 Se a entrada no reator 3 na Seção 12.1 for diminuída de 25%,
use a inversa da matriz para calcular a mudança porcentual na concentração dos reatores 1 e 4.
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
274
12.3 Já que o sistema mostrado na Figura 12.3 está no estado estacionário, o que pode ser dito a respeito dos quatro fluxos: Q01, Q03,
Q44 e Q55?
12.4 Recalcule as concentrações para os cinco reatores mostrados
na Figura 12.3, se os fluxos forem trocados para
Q 01 = 5
Q 15 = 4
Q 12 = 4
Q 31 = 3
Q 55 = 3
Q 03 = 8
Q 25 = 2
Q 54 = 3
Q 24 = 0
Q 23 = 2
Q 34 = 7
Q 44 = 10
12.5 Resolva o mesmo sistema do Problema 12.4, mas faça
Q 12 = Q 54 = 0 e Q 15 = Q 34 = 3. Suponha que os fluxos internos
(Q01, Q03) e os externos (Q44, Q55) sejam os mesmos. Use a conservação de fluxo para recalcular os valores dos outros fluxos.
12.6 A Figura P12.6 mostra três reatores interligados por tubos.
Como indicado, a taxa de transferência de produtos químicos
através de cada tubo é igual a uma vazão (Q, com unidade de metros cúbicos por segundo) multiplicada pela concentração no reator
do qual o fluxo se origina (c, com unidades em miligramas por
metro cúbico). Se o sistema estiver em um estado estacionário, a
transferência para dentro de cada reator vai balancear a transferência para fora. Deduza equações de balanço de massa para os
reatores e resolva as três equações lineares algébricas simultâneas
para suas concentrações.
Figura P12.6
Três reatores interligados por tubos.
A taxa de transferência de massa
através de cada tubo é igual ao
produto da vazão Q pela
concentração c do reator do
qual o fluxo se origina.
12.7 Empregando a mesma abordagem básica da Seção 12.1, determine a concentração de cloreto em cada um dos Grandes Lagos
usando a informação mostrada na Figura P12.7.
12.8 O Baixo Rio Colorado consiste em uma série de quatro reservatórios, como mostrado na Figura P12.8. Os balanços de massas
podem ser escritos para cada reservatório e o seguinte conjunto de
equações algébricas lineares simultâneas é obtido:
⎫
⎤⎧ ⎫ ⎧
⎡
13,422
0
0
0
c1 ⎪ ⎪ 750,5 ⎪
⎪
⎪
⎪
⎪
⎪
⎨
⎬
⎨
⎢ −13,422 12,252
0
0 ⎥
300 ⎬
⎥ c2 =
⎢
⎣
0
−12,252 12,377
0 ⎦⎪
c ⎪ ⎪
102 ⎪
⎪
⎪
⎩ 3⎪
⎭ ⎪
⎩
⎭
0
0
−12,377 11,797
c4
30
onde o vetor à direita consiste nas cargas de cloreto em cada um
dos quatro lagos e c1, c2, c3 e c4 são iguais à concentração resultante de cloreto nos lagos Powell, Mead, Mohave e Havasu,
respectivamente.
(a) Use a inversão de matrizes para determinar a concentração em
cada um dos quatro lagos.
(b) Em quanto deve ser reduzida a carga no lago Powell para que a
concentração de cloreto no lago Havasu seja 75?
(c) Usando a norma da soma das colunas, calcule o número de
condicionamento e quantos algarismos suspeitos serão gerados
ao resolver esse sistema.
500 mg/s
Q13c1
Q33c3
3
1
Q12c1
Q21c2
200 mg/s
Q23c2
Q33
Q13
Q12
Q23
Q21
2
Figura P12.7
Um balanço de cloreto para
os Grandes Lagos. As flechas
numeradas são entradas diretas.
180
Superior
=
=
=
=
=
120
40
90
60
30
QSH = 67
QMH = 36
QHE = 161
QEO = 182
QOO = 212
QSHcS
740
3850
QHEcH
710
Huron
4720
QEOcE
Superior
Erie
QOOcO
Michigan QMHcM
Ontario
PROBLEMAS
275
12.10 Uma reação de primeira ordem, irreversível (ver Seção 28.1)
acontece em quatro reatores bem misturados (Figura P12.10).
Alto
Rio
Colorado
k
A −→ B
Assim, a taxa na qual A é transformado em B pode ser representada como
c1
Lago
Powell
c2
Rab = kV c
Lago
Mead
Os reatores têm diferentes volumes e, como são operados a diferentes temperaturas, cada um tem uma taxa de reação diferente:
c3
Lago
Mohave
c4
Reator
V, L
k, hⴚ1
1
2
3
4
25
75
100
25
0,075
0,15
0,4
0,1
Lago
Havasu
Figura P12.8
O Baixo Rio Colorado.
12.9 Um processo de extração em estágios é descrito na figura
P12.9. Em tais sistemas, uma corrente contendo uma fração de peso
Yent de um produto químico entra a partir da esquerda a uma vazão
em massa F1. Simultaneamente, um solvente carregando uma
fração de peso Xent do mesmo produto químico entra pela direita a
uma vazão F2. Assim, no estágio i, o balanço de massas pode ser
representado por
Determine a concentração de A e B em cada um dos reatores no estado estacionário.
12.11 Uma bomba peristáltica produz um escoamento unitário (Q1)
de um fluido altamente viscoso. A rede está descrita na Figura
P12.11. Cada seção de tubo tem os mesmos comprimento e diâmetro.
Os balanços de massa e energia mecânica podem ser simplificados
para se obter os escoamentos em cada tubo. Resolva o sistema de
equações a seguir para obter o escoamento de cada corrente.
Q 3 + 2Q 4 − 2Q 2 = 0
Q 5 + 2Q 6 − 2Q 4 = 0
3Q 7 − 2Q 6 = 0
Q1 = Q2 + Q3
Q3 = Q4 + Q5
Q5 = Q6 + Q7
(P12.9a)
F1 Yi−1 + F2 X i+1 = F1 Yi + F2 X i
Em cada estágio, supõe-se que foi estabelecido um equilíbrio entre
Yi e Xi como em
K =
Xi
Yi
(P12.9b)
onde K é chamado de coeficiente de distribuição. Pode-se isolar
os Xi na Equação (P12.9b) e substituí-los na Equação (P12.9a)
para obter:
F2
F2
Yi−1 − 1 +
K Yi +
K Yi+1 = 0
(P12.9c)
F1
F1
12.12 A Figura P12.12 mostra um processo de trocas químicas
consistindo em uma série de reatores nos quais um gás escoando da
esquerda para a direita passa sobre um líquido escoando da direita
para a esquerda. A transferência de um produto químico do gás para
o líquido se dá a uma taxa proporcional à diferença de concentrações entre o gás e o líquido em cada reator. No estado estacionário, um balanço de massas para o primeiro reator pode ser escrito para o gás como
Se F1 = 500 kg/h, Yent = 0,1, F2 = 1.000 kg/h, X ent = 0 e K = 4,
determine os valores de Ysaída e Xsaída se um reator de cinco estágios
for usado. Observe que a Equação (P12.9c) deve ser modificada
para levar em conta as frações de peso dos fluxos de entrada
quando aplicada ao primeiro e ao último estágio.
Q G cG0 − Q G cG1 + D(c L1 − cG1 ) = 0
e para o líquido como
Q L c L2 − Q L c L1 + D(cG1 − c L1 ) = 0
Figura P12.9
Um processo de extração em estágios.
Vazão = F2
xout
x2
1
yin
x3
2
0
y1
xi
0i
•••
y2
xi + 1
yi – 1
xn
n–1
•••
yi
Vazão = F1
xn – 1
yn – 2
xin
0
n
yn – 1
yout
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
276
Q32 = 5
600
1200
Qin = 10
1
cA,in = 1
2
3
4
30⬚
45⬚ 45⬚
500
Q43 = 3
Figura P12.14
Figura P12.10
500
Q1
Q3
Q2
Q5
Q4
Q6
Q7
45⬚
Figura P12.11
cG0
QG
45⬚
cG1
cG2
cG3
cL1
cL2
cL3
cG4
cG5
cL4
cL5
QG
QL
cL6
Figura P12.12
onde QG e QL são as vazões do gás e do líquido, respectivamente, e
D é a taxa de troca entre gás e líquido. Balanços semelhantes
podem ser escritos para os outros reatores. Determine as concentrações para os valores a seguir: QG 2, QL 1, D 0,8, cG0
100, cL6 10.
30⬚
12.17 No exemplo da Figura 12.4, em que uma força de 1.000 lb
foi aplicada para baixo ao nó 1, as reações externas V2 e V3 foram
calculadas. Mas, se os comprimentos dos membros da treliça fossem dados, seria possível calcular V2 e V3 utilizando o fato de que
V2 + V3 deve ser igual a 1.000 e somando os torques em torno do
nó 2. No entanto, como V2 e V3 são conhecidas, pode-se trabalhar
ao contrário para determinar os comprimentos dos membros da treliça. Observe que, como há três comprimentos desconhecidos e
apenas duas equações, é possível determinar apenas a relação entre
os comprimentos. Determine essa relação.
12.18 Empregando os mesmos métodos usados para analisar a
Figura 12.4, determine as forças e as reações para a treliça mostrada
na Figura P12.18.
500
Engenharia Civil/Ambiental
12.13 Um engenheiro civil envolvido em uma construção precisa
de 4.800, 5.800 e 5.700 m3 de areia, cascalho fino e cascalho
grosso, respectivamente, para terminar a construção. Existem três
minas de onde esses materiais podem ser obtidos. A composição
dessas minas é:
Mina 1
Mina 2
Mina 3
60⬚
Figura P12.15
D
QL
100
Areia
%
Cascalho fino
%
Cascalho grosso
%
55
25
25
30
45
20
15
30
55
45⬚
250
30⬚
30⬚
Figura P12.18
12.19 Determine as forças e as reações na treliça da Figura P12.19.
Determine ainda a inversa da matriz para esse sistema. A força
exercida pelo membro vertical no membro do meio parece razoável? Por quê?
Figura P12.19
Quantos metros cúbicos devem ser minerados de cada mina para
atender as necessidades do engenheiro?
12.14 Efetue os mesmos cálculos da Seção 12.2, mas para a treliça
descrita na Figura P12.14.
12.15 Efetue os mesmos cálculos da Seção 12.2, mas para a treliça
descrita na Figura P12.15.
12.16 Calcule as forças e as reações na treliça da Figura 12.4 se
uma força para baixo de 2.500 kg e uma força para a direita de
2.000 kg forem aplicadas ao nó 1.
60⬚ 60⬚
45⬚
5000
45⬚
PROBLEMAS
277
(a) Determine a concentração no estado estacionário do monóxido
de carbono em cada sala.
(b) Determine qual a percentagem de monóxido de carbono na
área das crianças resultante (i) dos fumantes, (ii) da grelha e
(iii) da entrada de ventilação.
(c) Se a carga dos fumantes e da grelha for aumentada para 2.000
e 5.000 mg/h, respectivamente, use a matriz inversa para determinar o crescimento da concentração na área das crianças.
(d) Como a concentração na área das crianças varia se uma tela for
construída de modo que a mistura entre as áreas 2 e 4 decresça
para 5 m3/h?
12.21 Uma força para cima de 20 kN é aplicada no topo de um
tripé, como descrito na Figura P12.21. Determine as forças nas pernas do tripé.
12.22 Uma treliça é submetida à carga como mostrado na Figura
P12.22. Usando o seguinte conjunto de equações, determine as dez
incógnitas: AB, BC, AD, BD, CD, DE, CE, Ax, Ay e Ey.
12.20 Como o nome sugere, a poluição do ar de interiores referese à contaminação do ar em ambientes fechados, como casas, escritórios, áreas de serviço, etc. Suponha que você está projetando
um sistema de ventilação para um restaurante como mostrado na
Figura P12.20. As áreas de servir do restaurante consistem em duas
salas quadradas e uma sala alongada. As salas 1 e 3 têm fontes de
monóxido de carbono da área dos fumantes e de uma grelha defeituosa, respectivamente. O balanço de massa no estado estacionário pode ser escrito para cada área. Por exemplo, para a área
dos fumantes (isto é, sala 1), o balanço pode ser escrito como
0 Wfumantes ⫹ Qaca ⫺ Qac1 ⫹ E13(c3 ⫺ c1)
(carga) ⫹ (entrada) ⫺ (saída) ⫹ (mistura)
ou, substituindo os parâmetros,
225c1 − 25c3 = 1400
Balanços semelhantes podem ser escritos para as outras áreas.
Figura P12.20
Qd = 100 m3/h
Qc = 150 m3/h
Qb = 50 m3/h
cb = 2 mg/m3
Qa = 200 m3/h
ca = 2 mg/m3
2
(Área das crianças)
25 m3/h
4
50 m3/h
Vista superior dos ambientes de um
restaurante. As flechas em uma
única direção representam
escoamento volumétrico de ar,
enquanto as flechas em duplo
sentido representam a mistura por
difusão. As cargas dos fumantes e
da grelha adicionam massa de
monóxido de carbono ao sistema,
mas escoamento de ar desprezível.
1
(Área dos fumantes)
25 m3/h
3
Carga dos
fumantes
(1.000 mg/h)
Carga da grelha
(2.000 mg/h)
Figura P12.21
D
B
A
0,6
x
2,4 m
C
m
0,8
m
1m
8
0,
m
y
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
278
−24 − CD − (4/5)CE = 0
A x + AD = 0
CD + (4/5)BD = 0
74 + BC + (3/5)BD = 0
20 ⍀
3
6
5⍀
10 ⍀
2
74 kN
15 ⍀
20 ⍀
24 kN
B
9
5⍀
E y + (4/5)CE = 0
−BC + (3/5)CE = 0
0⍀
7
20 ⍀
−DE − (3/5)CE = 0
−AB − (4/5)BD = 0
5⍀
4
−AD + DE − (3/5)BD = 0
A y + AB = 0
C
50 ⍀
8
5
1
V1 = 120
V2 = 40
Figura P12.25
4m
12.26 Um engenheiro elétrico supervisiona a produção de três
tipos de componentes elétricos. Três tipos de material — metal,
plástico e borracha — são necessários para a produção. As quantidades necessárias para a produção de cada componente são:
A
3m
E
3m
D
Metal, g/ por Plástico, g/ por Borracha, g/ por
Componente componente componente
componente
1
2
3
Figura P12.22
Engenharia Elétrica
12.23 Efetue os mesmos cálculos da Seção 12.3 para o circuito
descrito na Figura P12.23.
R = 15 ⍀
3
R = 10 ⍀
2
1
V1 = 200 volts
15
17
19
0,30
0,40
0,55
Se um total de 3,89, 0,095 e 0,282 kg de metal, plástico e borracha,
respectivamente, estiver disponível a cada dia, quantos componentes poderão ser produzidos por dia?
12.27 Determine as correntes para o circuito da Figura P12.27.
10 ⍀
5⍀
R=2⍀
20 ⍀
R=5⍀
R=5⍀
R = 25 ⍀
4
5
V6 = 0 volts
6
Figura P12.23
R = 30 ⍀
R
R=8⍀
=7
2
⍀
15 ⍀
+ 50 V
–
25 ⍀
R = 35 ⍀
12.28 Determine as correntes para o circuito da Figura P12.28.
Figura P12.28
1
V1 = 10 volts
6⍀
R = 10 ⍀
R = 15 ⍀
4
80 V +
–
Figura P12.27
12.24 Efetue os mesmos cálculos da Seção 12.3 para o circuito
descrito na Figura P12.24.
3
1,0
1,2
1,5
R=5⍀
5
j2
6
V6 = 150 volts
Figura P12.24
12.25 Resolva o circuito da Figura P12.25, determinando as correntes em cada fio. Use a eliminação de Gauss com pivotamento.
4⍀
20 V +
–
i1
8⍀
2⍀
i3
5⍀
PROBLEMAS
279
12.29 O sistema de equações a seguir foi gerado ao se aplicar a lei
de correntes na malha ao circuito da Figura P12.29:
55I1 − 25I4 = −200
−37I3 − 4I4 = −250
−25I1 − 4I3 + 29I4 = 100
Determine I1, I3 e I4.
12.30 O sistema de equações a seguir foi gerado ao se aplicar a lei
de correntes na malha ao circuito da Figura P12.30:
Engenharia Mecânica/Aeroespacial
12.31 Efetue os mesmos cálculos da Seção 12.4, mas adicione uma
terceira mola entre as massas 1 e 2 e triplique k para todas as molas.
12.32 Efetue os mesmos cálculos da Seção 12.4, mas troque as
massas de 2, 3 e 2,5 kg para 10, 3,5 e 2 kg, respectivamente.
12.33 Sistemas massa-mola idealizados têm numerosas aplicações
em toda a engenharia. A Figura P12.33 mostra um arranjo de quatro molas em série sendo comprimidas por uma força de 1.500 kg.
No equilíbrio, as equações de balanço das forças podem ser deduzidas escrevendo-se as interações entre as molas,
k2 (x2 − x1 ) = k1 x1
60I1 − 40I2 = 200
k3 (x3 − x2 ) = k2 (x2 − x1 )
−40I1 + 150I2 − 100I3 = 0
k4 (x4 − x3 ) = k3 (x3 − x2 )
−100I2 + 130I3 = 230
F = k4 (x4 − x3 )
Determine I1, I2 e I3.
10 A
10 ⍀
I1
20 ⍀
25 ⍀
100 V +
–
I4
onde os k’s são as constantes elásticas das molas. Se k1 até k4 forem
100, 50, 80 e 200 N/m, respectivamente, calcule os x’s.
12.34 Três blocos são ligados por uma corda sem peso e repousam
em um plano inclinado (Figura P12.34a). Empregar um procedimento similar àquele usado na análise dos pára-quedistas em
queda-livre no Exemplo 9.11 fornece o seguinte conjunto de
equações simultâneas (os diagramas de corpo livre são mostrados
na Figura P12.34b):
100a + T
= 519,72
I2
25 ⍀
4⍀
I3
50a − T + R = 216,55
8⍀
25a
− R = 108,27
Determine a aceleração a e as tensões T e R nas duas cordas.
12.35 Efetue cálculos semelhantes àqueles que foram usados no
Problema 12.34 para o sistema mostrado na Figura P12.35.
Figura P12.29
Figura P12.30
20 ⍀
200 V +
–
10 ⍀
I1
40 ⍀
Figura P12.33
x
F
x4
k4
x3
k3
x2
k2
x1
k1
0
I2
80 V
–+
100 ⍀
I3
30 ⍀
I4
10 A
10
0
kg
50
kg
ac
el
er
aç
ão
25
,a
kg
ESTUDO DE CASOS: EQUAÇÕES ALGÉBRICAS LINEARES
280
45⬚
7
,9
64
=
37
5
0,
⫻
24
T
346,48
50 ⫻ 9,8 = 490
24
3,
17
34
6,
17
48
3,
⫻
48
6,
34
96
2,
69
100 ⫻ 9,8 = 980
0,
37
25
0,
⫻
96
2,
69
692,96
5
=
R
=
T
12
17
3,
9,
24
93
(a)
173,24
R
25 ⫻ 9,8 = 245
(b)
Figura P12.34
kg
Atrito = 0,5
Atrito = 0,3
Atrito = 0,2
30⬚
kg
40
kg
50
10
onde k1 = k4 = 10 N/m, k2 = k3 = 30 N/m e m 1 = m 2 =
m 3 = m 4 = 2 kg. Escreva as três equações na forma matricial:
0 [Vetor aceleração] ⫹ [matriz k/m] [Vetor de deslocamento x]
Em um instante específico em que x1 = 0,05 m, x2 = 0,04 m e
x3 = 0,03 m, isso forma uma matriz tridiagonal. Determine a aceleração de cada massa.
60⬚
x1
k1
Figura P12.35
x2
k2
x3
k3
k4
12.36 Efetue os mesmos cálculos que no Problema 12.34 para o
sistema mostrado na Figura P12.36 (os ângulos são de 45º).
8 kg
kg
10
kg
Figura P12.37
15
Atrito
= 0,2
Atrito = 0,8
5 kg
Figura P12.36
12.37 Considere o sistema de quatro massas e três molas da
Figura P12.37. A determinação das equações de movimento de
Fx = ma, para cada massa, usando seu diagrama de corpo livre,
resulta nas seguintes equações diferenciais:
k1 + k2
k2
x1 −
x2 = 0
ẍ1 +
m1
m1
k2 + k3
k3
k2
x1 +
x2 −
x3 = 0
ẍ2 −
m2
m2
m2
k3
k3 + k4
x2 +
x3 = 0
ẍ3 −
m3
m3
12.38 Equações algébricas lineares podem surgir na resolução de
equações diferenciais. Por exemplo, a seguinte equação diferencial
origina-se de um balanço de calor para um eixo longo e fino (Figura
P12.38):
d2T
+ h ′ (Ta − T ) = 0
dx 2
(P12.38)
onde T é a temperatura (ºC), x é a distância ao longo do eixo (m), h⬘
é o coeficiente de transferência de calor entre o eixo e o ambiente
(m −2 ) e Ta é a temperatura ambiente (ºC). Essa equação pode ser
transformada em um conjunto de equações algébricas lineares
usando-se uma aproximação por diferenças finitas divididas para a
segunda derivada (lembre-se da Seção 4.1.3),
d2T
Ti+1 − 2Ti + Ti−1
=
dx 2
x 2
onde Ti designa a temperatura no nó i. Essa aproximação pode ser
substituída na Equação (P12.38) para dar
−Ti−1 + (2 + h ′ x 2 )Ti − Ti+1 = h ′ x 2 Ta
PROBLEMAS
281
12.40 Um eixo sobre uma bola e um soquete está preso aos cabos
A e B como na Figura 12.40.
(a) Se uma força de 50 N for exercida no eixo sem massa no ponto
G, quais as forças de tensão nos cabos A e B?
(b) Determine as forças de reação na base do eixo. Chame esse
ponto de P.
Ta = 10
T5 = 200
T0 = 40
⌬x
Ta = 10
x=0
x = 10
Figura P12.40
Figura P12.38
Um eixo uniforme não isolado posicionado entre duas paredes de
temperaturas constantes, mas diferentes. A representação por diferenças
finitas usa quatro nós interiores.
Essa equação pode ser escrita para cada um dos nós interiores do
eixo, resultando em um sistema de equações tridiagonal. O
primeiro e o último nós nas extremidades do eixo são fixados por
condições de contorno.
(a) Determine uma solução analítica para a Equação (P12.38)
para um eixo de 10 metros com Ta = 20, T (x = 0) = 40,
T (x = 10) = 200 e h ′ = 0,02.
(b) Determine uma solução numérica para os mesmos valores dos
parâmetros empregados em (a) usando uma solução por diferenças finitas com quatro nós interiores, como mostrado na
Figura P12.38 (x = 2 m).
12.39 A distribuição estacionária de temperatura em uma placa
aquecida pode ser modelada pela equação de Laplace.
0=
z
50
2m
N
y
2m
2m
Bola e soquete
B
∂2T
∂2T
+
∂x2
∂ y2
Se a placa for representada por uma série de nós (Figura P12.39),
pode-se substituir as segundas derivadas por diferenças divididas
finitas centradas, o que resulta em um sistema de equações algébricas lineares. Use o método de Gauss-Seidel para determinar as temperaturas nos nós na Figura P12.39.
Figura P12.39
25⬚C
100⬚C
100⬚C
25⬚C
T12
T22
T11
T21
75⬚C
75⬚C
0⬚C
0⬚C
2m
1m
A
1m
x
EPÍLOGO: PARTE TRÊS
PT3.4 PRÓS E CONTRAS
A Tabela PT3.2 fornece um resumo dos prós e contras envolvidos na resolução simultânea de equações algébricas lineares. Dois métodos — o método gráfico e a regra de
Cramer — são limitados a um número pequeno (≤ 3) de equações e, portanto, têm pouca
utilidade na resolução de problemas práticos. No entanto, essas técnicas são ferramentas
didáticas úteis para entender o comportamento dos sistemas lineares em geral.
Os métodos numéricos propriamente ditos são divididos em duas categorias gerais:
métodos exatos e métodos de aproximação. Como o nome indica, os primeiros são desenvolvidos para fornecer respostas exatas. No entanto, como são afetados por erros
de arredondamento, esses métodos nos levam, às vezes, a resultados imprecisos. A ordem
de grandeza dos erros de arredondamento varia de sistema para sistema e depende de
vários fatores, os quais incluem a dimensão do sistema, seu condicionamento e se a matriz dos coeficientes é esparsa ou cheia. Além disso, a precisão computacional afetará os
erros de arredondamento.
É recomendável que se use uma estratégia de pivotamento em qualquer programa de
computador que implemente métodos exatos. A inclusão de tal estratégia minimiza erros
de arredondamento e evita problemas como a divisão por zero. Se não houver outros fatores em jogo, os algoritmos baseados no método de decomposição LU são melhores por
causa de sua eficiência e flexibilidade.
Apesar de os métodos de eliminação terem grande utilidade, seu uso na totalidade da
matriz de coeficientes pode ser, um pouco, limitante quando se lida com sistemas muito
grandes e esparsos. Isso se deve ao fato de que muita memória de computador será utilizada para armazenar zeros sem significado. Para sistemas de bandas, estão disponíveis
técnicas para implementar métodos de eliminação, que não armazenam a matriz de coeficientes inteira.
TABELA PT3.2 Comparação das características de métodos alternativos para determinar soluções simultâneas de equações
algébricas lineares.
Método
Estabilidade
Precisão
Aplicação
Esforço de
Programação
Gráfico
—
Ruim
Limitada
—
Regra de Cramer
—
Limitada
—
Eliminação de Gauss
(com pivotamento
parcial)
Decomposição LU
—
Geral
Moderado
Geral
Moderado
Gauss-Seidel
Pode não convergir
se não for
diagonal
dominante
Afetada por
erros de
arredondamento
Afetada por
erros de
arredondamento
Afetada por
erros de
arredondamento
Excelente
Apropriado apenas
para sistemas
diagonal
dominantes
Fácil
282
—
Comentários
Pode levar mais tempo do que os
métodos numéricos
É exigido esforço computacional
excessivo para mais de
três equações
Método de eliminação preferencial;
permite o cálculo da matriz
inversa
PT3.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
283
A técnica de aproximação descrita neste livro é chamada de método de Gauss-Seidel. Ela difere das técnicas exatas, pois emprega um esquema iterativo para obter estimativas progressivamente mais próximas da solução. Assim, o efeito de arredondamentos é um ponto discutível no método de Gauss-Seidel, já que podemos continuar as
iterações enquanto for necessário até obter a precisão desejada. Além disso, podem ser
desenvolvidas versões do método de Gauss-Seidel que permitam utilizar eficientemente
as necessidades de armazenamento computacional dos sistemas esparsos. Conseqüentemente, a técnica de Gauss-Seidel é de utilidade para sistemas muito grandes de equações
em que o armazenamento do sistema poderia tornar-se um problema significativo para
as técnicas exatas.
A desvantagem do método de Gauss-Seidel é que ele nem sempre converge, ou, às
vezes, converge lentamente para a solução verdadeira. Ele é estritamente confiável apenas para sistemas diagonal dominantes. No entanto, estão disponíveis métodos de relaxamento que podem, algumas vezes, contrabalançar essas desvantagens. Além disso, como
muitos conjuntos de equações algébricas lineares oriundas de sistemas físicos exibem
dominância diagonal, o método de Gauss-Seidel é de grande utilidade para resolver problemas de engenharia.
Em resumo, vários fatores podem influenciar sua escolha de uma técnica para a
solução de um problema particular envolvendo equações algébricas lineares. No entanto,
como delineado anteriormente, dois fatores particularmente importantes na determinação
de sua escolha são o tamanho do sistema e quão esparso ele é.
PT3.5 RELAÇÕES E FÓRMULAS IMPORTANTES
Todas as partes deste livro incluem uma seção que resume as fórmulas importantes. Embora a Parte Três não lide com fórmulas únicas, a Tabela PT3.3 é utilizada para resumir
os algoritmos estudados aqui. A tabela fornece uma visão geral que deveria ser útil para
rever e esclarecer as principais diferenças entre os métodos.
PT3.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Referências gerais sobre a solução simultânea de equações lineares podem ser encontradas em Faddeev e Faddeeva (1963), Stewart (1973), Varga (1962) e Young (1971).
Ralston e Rabinowitz (1978) fornecem um resumo geral.
Muitas técnicas avançadas estão disponíveis para aumentar a economia de tempo
e/ou espaço durante a resolução de equações algébricas lineares. Muitas delas se concentram em explorar propriedades das equações, como simetria e matrizes de banda. Em particular, estão disponíveis algoritmos para se trabalhar com matrizes esparsas e transformá-las em um formato de banda mínimo. Jacobs (1977) e Tewarson (1973) incluem
informações nessa área. Uma vez que estejam em um formato de banda mínimo, há uma
variedade de estratégias de solução eficientes que são empregadas, como a abordagem de
armazenamento de coluna ativa de Bathe e Wilson (1976).
Além de conjuntos de equações n × n , existem outros sistemas nos quais o número
de equações, m, e o número de incógnitas, n, não são iguais. Sistemas em que m ⬍ n são
chamados subdeterminados. Em tais casos, pode tanto não existir solução quanto existir
mais de uma. Sistemas em que m > n são chamados sobredeterminados. Para tais situações, em geral não existe uma solução exata. No entanto, muitas vezes é possível desenvolver uma solução de compromisso, que procura determinar as respostas que estão
“mais próximas” de satisfazer todas as equações simultaneamente. Uma abordagem
comum é resolver as equações no sentido dos “mínimos quadrados” (Lawson e Hanson,
1974; Wilkinson e Reinsch, 1971). De forma alternativa, os métodos de programação
linear podem ser usados, nos casos em que as equações são resolvidas em um sentido
“ótimo”, minimizando-se alguma função objetivo (Dantzig, 1963; Luenberger, 1973; e
Rabinowitz, 1968). Essa abordagem é descrita em detalhes no Capítulo 15.
EPÍLOGO: PARTE TRÊS
284
TABELA PT3.3 Resumo das informações importantes apresentadas na Parte Três.
Método
Eliminação de
Gauss
Problemas em
Potencial e
Soluções
Procedimento
a11
a21
a31
冤
a12
a22
a32
a13
a23
a33
|
|
|
x3 ⫽ c”3兾a”
33
c1
a11 a12 a13 | c1
x2 ⫽ (c’2 ⫺ a’23x3)兾a’22
c2 ⇒
a’22 a’23 | c’2 ⇒
x1 ⫽ (c1 ⫺ a12x1 ⫺ a13x3)兾a11
c3
a”
| c”3
33
冥 冤
冥
Decomposição
Decomposição
LU
冤
a11
a21
a31
a12
a22
a32
冥 冤
a13
1
0 0
a23 ⇒ l21 1 0
a33
l31 l32 1
Substituição regressiva
冥冦 冧 冦 冧 冤
d1
d2 ⫽
d3
c1
u11 u12
c2 ⇒ 0
u22
c3
0
0
u13
u23
u33
冥冦 冧 冦 冧 冦 冧
Substituição progressiva
Método de
Gauss-Seidel
x1j ⫽ (c1 ⫺ a12x2j⫺1⫺ a13x3j⫺1)兾a11
x2j ⫽ (c2 ⫺ a21x1j ⫺ a23x3j⫺1)兾a22
x3j ⫽ (c3 ⫺ a31x1j ⫺ a32x2j )兾a33
Problemas:
Mal condicionamento
Arredondamento
Divisão por zero
Soluções:
Maior precisão
Pivotamento parcial
冧
x1
d1
x2 ⫽ d2 ⇒
x3
d3
x1
x2
x3
Problemas:
Mal condicionamento
Arredondamento
Divisão por zero
Soluções:
Maior precisão
Pivotamento parcial
continue iterativamente até que
x
冨xᎏ⫺xᎏ
冨100% ⬍ ⑀
j
i
j
i
j⫺1
i
para todos os x’is
s
Problemas:
Divergência ou
convergência
lenta
Soluções:
Dominância
diagonal
Relaxamento
PARTE QUATRO
OTIMIZAÇÃO
PT4.1 MOTIVAÇÃO
A localização de raízes (Parte 2) e a otimização estão relacionadas no sentido que ambas
envolvem a estimativa e a busca de um ponto na função. A diferença fundamental entre
os dois tipos de problema é ilustrada na Figura PT4.1. A localização das raízes envolve a
busca dos zeros de uma função ou funções. Em contraste, a otimização envolve a busca
de um mínimo ou de um máximo.
O ponto ótimo é um ponto no qual a curva é achatada. Em termos matemáticos, isso
corresponde ao valor de x onde a derivada f ′(x) é igual a zero. Adicionalmente, a segunda
derivada, f ′′(x), indica quando o ponto ótimo é um mínimo ou um máximo: se f ′′(x) < 0,
o ponto é um máximo; se f ′′(x) > 0, o ponto é um mínimo.
Agora, o entendimento da relação entre raízes e pontos ótimos sugere uma possível estratégia para achar os últimos. Isto é, você pode derivar a função e localizar a raiz (ou seja,
o zero) da nova função. De fato, alguns métodos de otimização procuram o ponto ótimo resolvendo o problema de raiz: f ′(x) = 0. Deve ser observado que tais buscas são geralmente
complicadas porque f ′(x) não está disponível analiticamente. Portanto, algumas vezes são
usadas aproximações por diferenças finitas para obter uma estimativa da derivada.
Além de se considerar a otimização como um problema de determinação de raízes,
deve ser observado que a tarefa de localização de pontos ótimos é auxiliada por algumas
estruturas matemáticas adicionais que não são parte da simples determinação de raízes.
Isso tende a fazer que a otimização seja um problema mais abordável, particularmente
para o caso multidimensional.
PT4.1.1 Métodos Não-computacionais e História
Como mencionado, os métodos do cálculo diferencial ainda são utilizados para determinar soluções ótimas. Todos os estudantes de engenharia e ciências lembram-se de como
trabalhar nos problemas de máximos e mínimos determinando a primeira derivada das
funções dos seus cursos de cálculo. Bernoulli, Euler, Lagrange e outros assentaram os
fundamentos do cálculo das variações, que trata da minimização de funções. O método
dos multiplicadores de Lagrange foi desenvolvido para otimizar problemas com restrições (ou vinculados), isto é, otimizar problemas nos quais as variáveis são limitadas de
alguma forma.
FIGURA PT4.1
Uma função de uma única variável ilustrando a diferença entre raízes e pontos ótimos.
f (x)
0
f⬘(x) = 0
f ⬙(x) ⬍ 0
f (x) = 0
Raiz
Raiz
Mínimo
286
Máximo
f⬘(x) = 0
f ⬙(x) ⬎ 0
Raiz
x
PT4.1 MOTIVAÇÃO
287
O primeiro grande avanço nas abordagens numéricas ocorreu apenas com o desenvolvimento dos computadores digitais depois da Segunda Guerra Mundial. Koopmans no
Reino Unido e Kantorovich, na antiga União Soviética, trabalharam independentemente
no problema geral da distribuição de custo mínimo de suprimentos e produtos. Em 1947,
Dantzig, um aluno de Koopmans, inventou o procedimento simplex para resolver problemas de programação linear. Essa abordagem pavimentou o caminho para outros métodos
para otimização restrita por diversos pesquisadores, especialmente Charnes e seus colaboradores. Abordagens para otimização irrestrita também se desenvolveram rapidamente,
seguindo a ampla disponibilidade dos computadores.
PT4.1.2 Otimização e a Prática da Engenharia
Muitos dos modelos com os quais lidamos até aqui são modelos descritivos. Isto é, foram
desenvolvidos para simular o comportamento de um artefato de engenharia ou sistema.
Em contraste, a otimização tipicamente lida com a busca pelo “melhor resultado”, ou com
a solução ótima de um problema. Portanto, no contexto da modelagem, eles são denominados modelos prescritivos, uma vez que podem ser utilizados para prescrever uma linha
de ação ou o melhor projeto.
Os engenheiros devem sempre projetar artefatos e produtos que desempenhem tarefas de forma eficiente. Ao fazer isso, eles estão restritos pelas limitações do mundo físico.
Além disso, devem manter os custos baixos. Portanto, estão sempre confrontando problemas de otimização que equilibram eficiência e limitações. Alguns casos comuns estão
listados na Tabela PT4.1. O exemplo a seguir foi desenvolvido para ajudar você a perceber a maneira como tais problemas podem ser formulados.
TABELA PT4.1
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
EXEMPLO PT4.1
Alguns exemplos comuns de problemas de otimização em engenharia.
Projeto de uma aeronave com peso mínimo e resistência máxima.
Trajetória ótima de veículos espaciais.
Projeto de estruturas de engenharia civil com custo mínimo.
Projeto de reservatórios de água como represas para diminuir os danos de enchentes e ao mesmo
tempo fornecendo a máxima potência hídrica.
Previsão do comportamento de estruturas pela minimização da energia potencial.
Estratégia de corte de material com custo mínimo.
Projeto de bombas e equipamento de transferência de calor para eficiência máxima.
Maximização da potência de saída de redes elétricas e de máquinas, ao mesmo tempo minimizando
a geração de calor.
Rota mais curta de um caixeiro-viajante visitando várias cidades em uma viagem de vendas.
Planejamento e escalonamento ótimos.
Análise estatística e modelos com erro mínimo.
Redes de tubulação ótimas.
Controle de estoque.
Planejamento de manutenção para minimizar custos.
Minimização de tempo de espera e de tempo ocioso.
Projeto de sistemas de tratamento de dejetos para atingir padrões de qualidade de água com
custo mínimo.
Otimização do Custo do Pára-Quedas
Enunciado do Problema. Nos capítulos precedentes deste livro, foi usado o problema do
pára-quedista em queda livre para ilustrar as áreas básicas de problemas dos métodos
numéricos. Você deve ter observado que nenhum desses exemplos se concentra no que
acontece depois que o pára-quedas se abre. Neste exemplo será examinado o caso em que o
pára-quedas se abre e estamos interessados em prever a velocidade de impacto no solo.
Você é um engenheiro que trabalha para uma agência que planeja fornecer suprimentos, por via aérea, a refugiados em uma zona de guerra. Os suprimentos devem ser jogados de uma altitude baixa (500 m), de modo que a queda não seja detectada e que os supri-
288
OTIMIZAÇÃO
mentos caiam tão perto quanto possível do campo de refugiados. O pára-quedas se abre
imediatamente após ter saído do avião. Para reduzir os estragos, a velocidade vertical
no impacto deve ser menor que um valor crítico vc = 20 m/s.
O pára-quedas usado para a queda é mostrado na Figura PT4.2. A área da seção transversal do pára-quedas é o da semi-esfera,
A = 2πr 2
(PT4.1)
O comprimento de cada uma das 16 cordas que conectam o pára-quedas à massa está relacionado com o raio do pára-quedas por
√
ℓ = 2r
(PT4.2)
Você sabe que a força de arrasto do pára-quedas é uma função linear da área da seção
transversal, descrita pela seguinte fórmula
(PT4.3)
c = kc A
onde c é o coeficiente de arrasto (kg/s) e kc é a constante de proporcionalidade que parametriza o efeito da área no arrasto [kg/(s · m2)].
Além disso, você pode dividir a carga em tantos pacotes quantos quiser. Isto é, a
massa de cada pacote individual pode ser calculada como
m=
Mt
n
onde m é a massa de um pacote individual (kg), Mt é a carga total jogada (kg) e n é o
número total de pacotes.
Finalmente, o custo de cada pára-quedas está relacionado ao tamanho do pára-quedas
de forma não-linear,
Custo por pára-quedas = c0 + c1 ℓ + c2 A2
(PT4.4)
onde c0, c1 e c2 são os coeficientes de custo. O termo constante, c0, é o preço-base dos
pára-quedas. A relação não-linear entre custo e área existe porque pára-quedas grandes
são muito mais difíceis de construir do que pára-quedas pequenos.
Determine o tamanho (r) e o número de pára-quedas (n) que resultam em um custo
mínimo, ao mesmo tempo que satisfazem o requisito de ter uma velocidade de impacto
suficientemente pequena.
Solução. O objetivo aqui é determinar o número e o tamanho dos pára-quedas para minimizar o custo do socorro aéreo. O problema tem restrições porque os pacotes devem ter
uma velocidade de impacto menor que o valor crítico.
FIGURA PT4.2
Um pára-quedas aberto.
r
ᐉ
m
PT4.1 MOTIVAÇÃO
289
O custo pode ser calculado multiplicando-se o custo individual de cada pára-quedas
[Eq. (PT4.4)] pelo número de pára-quedas (n). Portanto, a função que você quer minimizar, formalmente chamada de função objetivo, é escrita como
Minimize C = n(c0 + c1 ℓ + c2 A2 )
(PT4.5)
v ≤ vc
(PT4.6)
onde C é o custo ($) e A e ℓ são calculados pelas Equações (PT4.1) e (PT4.2), respectivamente.
Em seguida, deve-se especificar as restrições. Para esse problema existem duas restrições. Primeiro, a velocidade de impacto deve ser menor ou igual à velocidade crítica,
Segundo, o número de pacotes deve ser um inteiro maior ou igual a 1,
n≥1
(PT4.7)
onde n é um inteiro.
A essa altura, o problema de otimização está formulado. Como pode ser visto, é um
problema não-linear com restrições.
Embora o problema tenha sido formulado de forma ampla, ainda há um aspecto a ser
abordado: como determinaremos a velocidade de impacto v? Lembre-se, do Capítulo 1,
de que a velocidade de um corpo em queda pode ser calculada como
gm
v=
1 − e−(c/m)t
(1.10)
c
onde v é a velocidade (m/s), g é a aceleração da gravidade (m/s2), m é a massa (kg) e t é
o tempo (s).
Embora a Equação (1.10) forneça uma relação entre v e t, é preciso saber por quanto
tempo a massa cai. Assim, é necessária uma relação entre a distância de queda z e o tempo
de queda t. A distância de queda pode ser calculada a partir da velocidade na Equação
(1.10) por integração,
t
gm
1 − e−(c/m)t dt
z=
(PT4.8)
c
0
Essa integral pode ser calculada, fornecendo
z = z0 −
gm
gm 2
t + 2 1 − e−(c/m)t
c
c
(PT4.9)
onde z0 é a altura inicial (m). Essa função, mostrada na Figura PT4.3, fornece uma
maneira de prever z a partir do conhecimento de t.
FIGURA PT4.3
A altura z e a velocidade v de um pára-quedas aberto a medida que cai até a terra (z = 0).
600
400
z (m)
200
Impacto
v (m/s)
0
0
5
10
t (s)
15
290
OTIMIZAÇÃO
Entretanto, não é preciso ter z como função de t para resolver esse problema. Em vez
disso, é necessário calcular o tempo necessário para o pacote cair a distância z0. Assim,
devemos reformular a Equação (PT4.9) como um problema de determinação de raízes.
Isto é, devemos determinar o instante no qual z é igual a zero.
f(t) = 0 = z 0 −
gm
gm 2
t + 2 1 − e−(c/m)t
c
c
(PT4.10)
Uma vez que o tempo de impacto seja calculado, pode-se substituí-lo na Equação (1.10)
e determinar a velocidade de impacto.
Portanto, a especificação final do problema deveria ser
Minimize C = n(c0 + c1 ℓ + c2 A2 )
(PT4.11)
v ≤ vc
(PT4.12)
n≥1
(PT4.13)
sujeito a
onde
A = 2πr 2
√
ℓ = 2r
(PT4.14)
(PT4.15)
c = kc A
(PT4.16)
Mt
n
(PT4.17)
m=
gm
gm 2
t = raiz z 0 −
t + 2 1 − e−(c/m)t
c
c
v=
gm
1 − e−(c/m)t
c
(PT4.18)
(PT4.19)
Esse problema será resolvido no Exemplo 15.4 no final do Capítulo 15. Por enquanto,
perceba que ele tem a maioria dos elementos fundamentais de outros problemas de
otimização que você encontrará rotineiramente na prática da engenharia. São eles:
O problema envolverá uma função objetivo, a qual representa sua meta.
Existirão algumas variáveis de projeto. Tais variáveis podem ser números reais ou
podem ser inteiros. No exemplo, elas são r (real) e n (inteiro).
O problema incluirá restrições que refletem as limitações sob as quais você está
trabalhando.
Deve-se salientar mais um ponto antes de prosseguir. Embora, superficialmente,
a função objetivo e as restrições pareçam ser equações simples [por exemplo a Equação
(PT4.12)], elas podem de fato ser o “topo do iceberg”. Isto é, elas podem ser fundamentadas por dependências e modelos complexos. Por exemplo, como no nosso caso, elas
podem envolver outros métodos numéricos [Equação (PT4.18)]. Isso significa que as relações funcionais que você estará usando podem, na realidade, representar cálculos longos e complicados. Portanto, técnicas capazes de encontrar uma solução ótima, ao mesmo
tempo que minimizam o número de cálculos de função, são extremamente valiosas.
PT4.2 FUNDAMENTOS MATEMÁTICOS
Há diversos conceitos e operações matemáticos que fundamentam a otimização. Como
eles serão mais relevantes para você em contexto, a discussão desses pré-requisitos
matemáticos será adiada até que eles sejam de fato necessários. Por exemplo, os conceitos
PT4.2 FUNDAMENTOS MATEMÁTICOS
291
f (x)
f (x)
x*
Mínimo f (x)
Máximo – f (x)
Ótimo f (x*, y*)
y
f (x, y)
y*
x
– f (x)
x*
(a)
x
(b)
FIGURA PT4.4
(a) Otimização unidimensional. A figura também ilustra como a minimização de f (x) é
equivalente à maximização de −f (x). (b) Otimização bidimensional. Observe que essa figura
pode ser usada para representar ou a maximização (os contornos aumentam em elevação até
o máximo, como em uma montanha) ou a minimização (os contornos decrescem em elevação
até o mínimo, como em um vale).
importantes de gradiente e hessianas serão discutidos no início do Capítulo 14, na otimização irrestrita em muitas variáveis. Por enquanto, nos limitaremos aqui ao tópico mais geral
de como os problemas de otimização são classificados.
Um problema de otimização ou programação matemática geralmente pode ser enunciado como:
Encontre x, que minimiza ou maximiza f (x)
sujeito a
di (x) ≤ ai
ei (x) = bi
i = 1, 2, . . . , m
i = 1, 2, . . . , p
(PT4.20)
(PT4.21)
onde x é um vetor de projeto n-dimensional, f (x) é a função objetivo, di (x) são restrições
expressas por desigualdades, ei (x) são restrições expressas por igualdades e ai e bi são
constantes.
Problemas de otimização podem ser classificados com base na forma de f (x):
Se f(x) e as restrições forem lineares, temos a programação linear.
Se f(x) for quadrática e as restrições forem lineares, temos a programação quadrática.
Se f (x) não for linear ou quadrática e/ou as restrições forem não-lineares, temos a
programação não-linear.
Além disso, quando as Equações (PT4.20) e (PT4.21) são incluídas, temos problemas de
otimização com restrições; caso contrário, temos problemas de otimização sem restrições.
Observe que, para os problemas com restrições, os graus de liberdade são dados por
n−p−m. Geralmente, para obter uma solução, p + m deve ser ≤ n. Se p + m > n, o problema é dito super-restrito.
Outra forma de classificar os problemas de otimização é pela dimensão. Isso geralmente é feito dividindo-os em problemas unidimensionais e multidimensionais. Como o
nome indica, os problemas unidimensionais envolvem funções que dependem de uma
única variável dependente. Como na Figura PT4.4a, a busca, então, consiste em subir ou
descer picos ou vales. Os problemas multidimensionais envolvem funções que dependem
de duas ou mais variáveis dependentes. Seguindo o mesmo espírito, uma otimização bidimensional pode ser novamente visualizada como buscando picos ou vales (PT4.4b). Entretanto, do mesmo modo como em uma excursão real, não se está restrito a andar em uma
única direção, em vez disso, a topografia deve ser examinada para se alcançar a meta de
forma eficiente.
292
OTIMIZAÇÃO
Finalmente, o processo de busca pelo máximo comparado com a busca pelo mínimo
é basicamente idêntico, porque o mesmo valor x* tanto minimiza f (x) quanto maximiza
−f (x). Essa equivalência é ilustrada graficamente para uma função unidimensional na
Figura PT4.4a.
PT4.3 ORIENTAÇÃO
Alguma orientação seria útil antes de prosseguir com os métodos numéricos para otimização. O que vem a seguir pretende dar uma visão geral de todo o material da Parte Quatro.
Além disso, alguns objetivos foram incluídos para ajudar você a focalizar seus esforços
quando estudar esse material.
PT4.3.1 Escopo e Visão Geral
A Figura PT4.5 é uma representação esquemática da organização da Parte Quatro. Examine-a cuidadosamente, começando pelo topo e trabalhando no sentido horário.
Depois dessa introdução, o Capítulo 13 é destinado à otimização unidimensional sem
restrições. Serão apresentados três métodos para encontrar o mínimo ou máximo de uma
função de uma única variável: busca da seção áurea, interpolação quadrática e o método
de Newton. Esses métodos também são relevantes para a otimização multidimensional.
O Capítulo 14 cobre dois tipos de métodos gerais para resolver problemas de
otimização multidimensional sem restrições. Os métodos diretos, como busca aleatória,
busca univariante e busca de padrões, não requerem o cálculo da derivada da função. Por
outro lado, os métodos gradiente usam a primeira e, algumas vezes, a segunda derivada
para achar o ponto ótimo. Este capítulo introduz o gradiente e a hessiana, que são representações multidimensionais da primeira e da segunda derivadas. O método do aclive
ou declive máximo será então coberto com algum detalhe. Em seguida, serão descritos
alguns métodos avançados: gradiente conjugado, método de Newton, método de Marquardt e métodos quasi-Newton.
O Capítulo 15 é dedicado à otimização com restrições. A programação linear é descrita
em detalhes usando tanto a representação gráfica quanto o método simplex. Uma análise detalhada da otimização não-linear com restrições está além do escopo deste livro, mas será
fornecida uma visão geral das principais abordagens. Adicionalmente, será ilustrado como
tais problemas (juntamente com os problemas cobertos nos Capítulos 13 e 14) podem ser resolvidos com pacotes e bibliotecas de software como Excel, MATLAB e o IMSL.
O Capítulo 16 estende os conceitos citados para problemas reais de engenharia. Aplicações de engenharia são usadas para ilustrar como problemas de otimização são formulados e para que se possa vislumbrar das aplicações técnicas de solução usadas na prática
profissional.
Um epílogo foi incluído no final da Parte Quatro. Ele contém uma revisão dos métodos discutidos nos Capítulos 13, 14 e 15. Essa revisão inclui a descrição dos prós e contras associados ao uso de cada uma das técnicas. Essa seção também fornece referências
de alguns métodos numéricos que estão além do escopo deste texto.
PT4.3.2 Metas e Objetivos
Objetivos de Estudo. Após completar a Parte Quatro, o estudante deve estar suficientemente informado para abordar com sucesso uma grande variedade de problemas em engenharia que envolvem otimização. Em geral, deve ter dominado as técnicas, aprendido a
avaliar a confiabilidade delas e ser capaz de analisar métodos alternativos para um problema particular. Além dessas metas gerais, os conceitos específicos da Tabela PT4.2
devem ser assimilados para um entendimento completo do material da Parte Quatro.
Objetivos Computacionais. O aluno deve estar apto a escrever um subprograma para
implementar uma busca unidimensional simples (como a busca da seção áurea ou interpolação quadrática) e uma busca multidimensional (como o método de busca aleatória).
Além disso, bibliotecas de programa como o IMSL e pacotes de software como o Excel
ou o MATLAB possuem recursos distintos para otimização. O estudante pode usar esta
parte do livro para se familiarizar com esses recursos.
PT4.3 ORIENTAÇÃO
PT 4.1
Motivação
293
PT 4.2
Fundamentos
matemáticos
PT 4.3
Orientação
13.1
Busca da
razão áurea
PARTE 4
Otimização
13.2
Interpolação
quadrática
PT 4.5
Referências
adicionais
CAPÍTULO 13
Otimização
Unidimensional
sem Restrições
EPÍLOGO
PT 4.4
Prós e contras
16.4
Engenharia
mecânica
16.3
Engenharia
elétrica
CAPÍTULO 14
Otimização
Multidimensional
sem Restrições
CAPÍTULO 16
Estudos de
Caso:
Otimização
16.2
Engenharia
civil
15.3
Otimização
com pacotes
14.1
Métodos
diretos
14.2
Métodos
gradiente
CAPÍTULO 15
Otimização
com
Restrições
16.1
Engenharia
química
13.3
O Método de
Newton
15.1
Programação
linear
15.2
Otimização com
restrições não-linear
FIGURA PT4.5
Organização esquemática do material na Parte Quatro: Otimização
TABELA PT4.2 Objetivos de estudo específicos da Parte Quatro.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Entender onde e por que a otimização ocorre na resolução de problemas em engenharia.
Entender os elementos essenciais do problema geral de otimização: função objetivo, variáveis de decisão e restrições.
Ser capaz de distinguir entre otimização linear e não-linear e entre problemas com restrições e sem restrições.
Ser capaz de definir a razão áurea e entender como ela torna a otimização unidimensional eficiente.
Localizar o ponto ótimo de uma função de uma única variável com a busca da seção áurea, a interpolação quadrática ou o método de
Newton. Além disso, reconhecer prós e contras entre essas abordagens, com atenção especial para as aproximações iniciais e a convergência.
Ser capaz de escrever um programa e determinar o ponto ótimo de uma função de várias variáveis usando busca aleatória.
Entender as idéias por trás da busca por padrões, das direções conjugadas e do método de Powel.
Ser capaz de definir e calcular o gradiente e a hessiana de uma função de várias variáveis tanto analiticamente quanto numericamente.
Calcular à mão o ponto ótimo de uma função de duas variáveis usando o método do aclive ou declive máximo.
Entender as idéias básicas por trás do gradiente conjugado e dos métodos de Newton, Marquardt e quasi-Newton. Em particular, entender
os prós e contras entre as abordagens e reconhecer como cada uma delas melhora o aclive ou declive máximo.
Ser capaz de reconhecer e descrever um problema de programação linear para representar problemas de engenharia aplicáveis.
Ser capaz de resolver um problema bidimensional de programação linear com os métodos gráfico e simplex.
Entender as quatro possíveis saídas de um problema de programação linear.
Ser capaz de descrever e resolver um problema de otimização não-linear com restrições usando um pacote de software.
CAPÍTULO
13
Otimização Unidimensional
sem Restrições
Esta seção descreverá técnicas para encontrar o mínimo ou o máximo de uma função de
uma única variável, f (x). Uma imagem útil com respeito a isso é a montanha-russa —
como a função descrita na Figura 13.1. Lembre-se, da Parte Dois, de que a localização das
raízes era complicada pelo fato de que podiam ocorrer várias raízes para uma única
função. Analogamente, podem ocorrer tanto pontos ótimos locais quanto globais na
otimização. Tais casos são chamados multimodais. Em quase todos os exemplos, o interesse será encontrar o maior ou o menor valor global de uma função. Portanto, é preciso
ser cuidadoso para não confundir um resultado local com o ponto ótimo global.
Distinguir o extremo local do global pode ser um problema muito difícil no caso
geral. Usualmente, há três maneiras de abordar esse problema. Primeiro, algumas vezes
pode-se obter informações sobre o comportamento de funções em dimensão baixa graficamente. Segundo, pode-se encontrar pontos ótimos com base em aproximações iniciais
amplamente variadas e talvez geradas aleatoriamente, para depois selecionar o maior
deles como global. Finalmente, pode-se perturbar o ponto de partida associado com um
ponto ótimo local e verificar se a rotina retorna um ponto melhor ou retorna sempre ao
mesmo ponto. Embora todas essas abordagens possam ser úteis, o fato é que, em alguns
problemas (usualmente os maiores), não existe uma maneira prática de garantir que um
ponto ótimo global foi localizado. Entretanto, embora sempre se deva prestar atenção a
essas questões, felizmente há numerosos problemas de engenharia nos quais é possível
localizar o ótimo global sem ambigüidades.
Assim como a localização de raízes, a otimização em uma dimensão pode ser dividida nos métodos intervalares ou abertos. Como descrito na próxima seção, a busca da
razão áurea é um exemplo de método intervalar que depende das aproximações iniciais
que delimitam um único ponto ótimo. Em seguida, vem uma abordagem intervalar um
pouco mais sofisticada — a interpolação quadrática.
FIGURA 13.1
Uma função que se aproxima assintoticamente de zero em mais e menos infinito e tem dois
pontos de máximo e dois de mínimo na vizinhança da origem. Os dois pontos à direita
são pontos ótimos locais, enquanto os dois à esquerda são globais.
f (x)
Máximo
global
Máximo
local
x
Mínimo
global
294
Mínimo
local
13.1 BUSCA DA RAZÃO ÁUREA
295
O último método descrito neste capítulo é um método aberto baseado na idéia de que
o cálculo de mínimos e máximos pode ser feito resolvendo-se f ′(x) = 0. Isso reduz o
problema de otimização a encontrar as raízes de f ′(x) usando-se técnicas semelhantes às
descritas na Parte Dois. Será mostrada uma versão dessa abordagem — o método de
Newton.
13.1
BUSCA DA RAZÃO ÁUREA
Na determinação da raiz de uma única equação linear, o objetivo era achar o valor de uma
variável x que fornece um zero da função f (x). A otimização em uma única variável tem
como objetivo encontrar o valor de x que fornece um extremo, seja ele um máximo ou um
mínimo de f (x).
A busca da razão áurea é uma simples técnica de busca, de propósito geral, em uma
única variável. Ela é similar à abordagem da bissecção para localizar raízes, vista no
Capítulo 5. Lembre-se de que a bissecção dependia da definição de um intervalo, especificado por uma aproximação inferior (xl) e por uma aproximação superior (xu), que delimita uma raiz. A presença de uma raiz entre esses limites era verificada determinando-se
que f (xl) e f(xu) tinham sinais diferentes. A raiz era então estimada como o ponto médio
desse intervalo,
xr =
xl + x u
2
O passo final na iteração da bissecção envolvia a determinação de um intervalo menor.
Isso era feito substituindo-se qualquer uma das extremidades xl ou xu cujo valor da função
tivesse o mesmo sinal que f (xr). Uma vantagem dessa abordagem era que o novo valor xr
substituía uma das extremidades antigas.
Agora, é possível desenvolver uma abordagem parecida para localizar o ponto ótimo
de uma função unidimensional. Por simplicidade, o foco será o problema de achar o máximo. Na discussão sobre o algoritmo computacional, serão descritas as pequenas modificações necessárias para simular um mínimo.
Como na bissecção, pode-se começar definindo um intervalo que contenha uma
única resposta. Assim, o intervalo deve conter um único máximo e, portanto, é chamado
unimodal. Pode-se adotar a mesma nomenclatura que para a bissecção, onde xl e xu
definiam as extremidades inferior e superior, respectivamente, de um intervalo. No entanto, em contraste com a bissecção, é necessária uma nova estratégia para achar o máximo nesse intervalo. Em vez de usar somente dois valores da função (o que é suficiente
para determinar a mudança de sinal e, conseqüentemente, o zero), serão usados três valores de função para determinar a ocorrência do máximo. Assim, deve ser escolhido um
ponto adicional no intervalo. Em seguida, é preciso escolher um quarto ponto. Então, o
teste para o máximo pode ser aplicado para distinguir se o máximo ocorreu entre os três
primeiros ou entre os três últimos pontos.
A chave para tornar a abordagem mais eficiente é uma escolha judiciosa dos pontos
intermediários. Como na bissecção, o objetivo é minimizar cálculos da função substituindo os antigos valores por novos valores. O objetivo pode ser alcançado especificando-se
que as duas condições seguintes são satisfeitas (Figura 13.2):
ℓ0 = ℓ1 + ℓ2
(13.1)
ℓ1
ℓ2
=
ℓ0
ℓ1
(13.2)
A primeira condição especifica que a soma dos comprimentos dos dois subintervalos ℓ1 e
ℓ2 deve ser igual ao comprimento do intervalo original. A segunda diz que a razão entre os
comprimentos deve ser igual. A Equação (13.1) pode ser substituída na Equação (13.2),
ℓ1
ℓ2
=
ℓ1 + ℓ2
ℓ1
(13.3)
OTIMIZAÇÃO UNIDIMENSIONAL SEM RESTRIÇÕES
296
f (x)
Máximo
Primeira
iteração
Segunda
iteração
xl
xu x
ᐉ1
ᐉ0
ᐉ2
ᐉ2
FIGURA 13.2
O passo inicial para o algoritmo de busca da razão áurea envolve a escolha de dois pontos
interiores segundo a razão áurea.
Se for tomado o inverso e se fizer R = ℓ2 /ℓ1 , chega-se a
1+ R =
1
R
(13.4)
ou
R2 + R − 1 = 0
(13.5)
a qual pode ser resolvida para determinar a raiz positiva
√
√
5−1
−1 + 1 − 4(−1)
R=
=
= 0,61803. . .
2
2
(13.6)
Esse valor, que é conhecido desde a Antiguidade, é chamado de razão áurea (ver
Quadro 13.1). Por permitir que os pontos ótimos sejam encontrados de forma eficiente,
ele é o elemento-chave do método da seção áurea que estamos desenvolvendo conceitualmente. Agora, vamos desenvolver um algoritmo para implementar essa abordagem
em um computador.
Quadro 13.1
A Razão Áurea e os Números de Fibonacci
Em muitas culturas, são atribuídas qualidades a certos números.
Por exemplo, o Ocidente está familiarizado com o “7 da sorte” e a
“Sexta-feira 13”. Os gregos antigos chamavam o seguinte número
de “razão áurea”:
√
5−1
= 0,61803 . . .
2
Essa razão era empregada para vários propósitos, incluindo a determinação do retângulo na Figura 13.3. Essas proporções eram consideradas esteticamente agradáveis pelos gregos. Entre outras
coisas, muitos dos seus templos seguiam tal forma.
A razão áurea está relacionada com uma importante série
matemática conhecida como os números de Fibonacci, que são
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
Assim, cada número depois dos dois primeiros representa a
soma dos dois precedentes. Essa seqüência aparece em diversas
áreas da ciência e da engenharia. No contexto da presente discussão, uma propriedade interessante da seqüência de Fibonacci
está relacionada com a razão de números consecutivos na seqüência; isto é, 0/1 = 0, 1/1 = 1, 1/2 = 0,5, 2/3 = 0,667, 3/5 = 0,6,
5/8 = 0,625, 8/13 = 0,615, e assim por diante. À medida que se
continua o processo, a razão entre os números consecutivos se
aproxima da razão áurea!
0,61803
1
FIGURA 13.3
O Parthenon, em Atenas, Grécia, foi construído no século
V a.C. As dimensões frontais se encaixam quase exatamente
em um retângulo áureo.
13.1 BUSCA DA RAZÃO ÁUREA
297
Como mencionado anteriormente e descrito na Figura 13.4, o método começa com
duas aproximações iniciais, xl e xu, que delimitem um extremo local de f (x). Em seguida,
dois pontos interiores x1 e x2 são escolhidos segundo a razão áurea,
√
5−1
d=
(xu − xl )
2
x 1 = xl + d
x2 = xu − d
A função é calculada nesses dois pontos interiores. Podem ocorrer dois resultados:
1.
2.
Se, como no caso da Figura 13.4, f (x1) > f (x2), então o domínio de x à esquerda de
x2, de xl a x2, pode ser eliminado porque não contém o máximo. Nesse caso, x2 se
torna o novo valor de xl para a próxima rodada.
Se f (x2) > f (x1), então o domínio de x à direita de x1 de x1 a xu teria sido eliminado.
Nesse caso, x1 se torna o novo xu para a próxima rodada.
Agora, aqui está o real benefício do uso da razão áurea. Como os valores originais de
x1 e x2 foram escolhidos usando-se a razão áurea, não é preciso recalcular todos os valores
da função para a próxima iteração. Por exemplo, para o caso ilustrado na Figura 13.4, o
antigo x1 se torna o novo x2. Isso significa que já se tem o valor para o novo f (x2), pois ele
é o mesmo que o valor da função no antigo x1.
Para completar o algoritmo, é necessário apenas determinar o novo x1, o que é feito
com a mesma proporcionalidade que antes,
√
5−1
x 1 = xl +
(xu − xl )
2
Uma abordagem análoga pode ser usada para o caso alternativo em que o ponto ótimo cai
no subintervalo da esquerda.
FIGURA 13.4
(a) O passo inicial do algoritmo de busca da razão áurea envolve a escolha de dois pontos
interiores segundo a razão áurea. (b) O segundo passo envolve a definição de um novo
intervalo que inclui o ponto ótimo.
f (x)
Extremo
(máximo)
Eliminar
xl
x1
d
x2
x
d
xu
(a)
f (x)
xl
Antigo x2
x2 x1
Antigo x1
(b)
xu x
OTIMIZAÇÃO UNIDIMENSIONAL SEM RESTRIÇÕES
298
Conforme as iterações são repetidas, o intervalo contendo o ponto extremo é reduzido rapidamente. De fato, a cada rodada o intervalo é reduzido por um fator igual ao
da razão áurea (cerca de 61,8%). Isso significa que, depois de 10 rodadas, o intervalo foi
encolhido de cerca de 0,61810 ou 0,008 ou 0,8% do seu tamanho inicial. Depois de 20 rodadas, chega a 0,0066%. Isso não é tão bom quanto a redução conseguida com a bissecção, mas esse é um problema mais difícil.
EXEMPLO 13.1
Busca da Seção Áurea
Enunciado do Problema. Use a busca da seção áurea para achar o máximo de
f(x) = 2 sen x −
x2
10
no intervalo entre xl = 0 e xu = 4.
Solução.
Primeiro, a razão áurea é usada para criar os dois pontos interiores
√
5−1
(4 − 0) = 2,472
2
x1 = 0 + 2,472 = 2,472
x2 = 4 − 2,472 = 1,528
d=
A função pode ser calculada nos pontos interiores
f(x2 ) = f(1,528) =
1,5282
− 2 sen(1,528) = 1,765
10
f(x1 ) = f(2,472) = 0,63
Uma vez que f (x2) > f (x1), o máximo está no intervalo definido por xl, x2 e x1. Portanto, para o novo intervalo, a extremidade inferior continua sendo xl = 0, e x1 se torna a
extremidade superior, ou seja, xu = 2,472. Além disso, o valor antigo x2 se torna o novo
x1, isto é, x1 = 1,528. Mais ainda, não é preciso recalcular f (x1) porque este foi determinado na iteração prévia como f (1,528) = 1,765.
Tudo o que resta fazer é calcular a nova razão áurea e x2,
√
5−1
d=
(2,472 − 0) = 1,528
2
x2 = 2,4721 − 1,528 = 0,944
O valor da função em x2 é f (0,994) = 1,531. Como esse valor é menor que o valor da
função em x1, o máximo está no intervalo prescrito por x2, x1 e xu.
O processo pode ser repetido, com o resultado tabulado a seguir:
i
xl
f(xl)
x2
f (x2)
x1
f (x1)
1
0
0
1,5279
1,7647
2,4721
0,6300
2
0
0
0,9443
1,5310
1,5279
1,7647
xu
f(xu)
4,0000 −3,1136
d
2,4721
2,4721
0,6300
1,5279
3
0,9443 1,5310
1,5279
1,7647
1,8885
1,5432
2,4721
0,6300
0,9443
4
0,9443 1,5310
1,3050
1,7595
1,5279
1,7647
1,8885
1,5432
0,5836
5
1,3050 1,7595
1,5279
1,7647
1,6656
1,7136
1,8885
1,5432
0,3607
6
1,3050 1,7595
1,4427
1,7755
1,5279
1,7647
1,6656
1,7136
0,2229
7
1,3050 1,7595
1,3901
1,7742
1,4427
1,7755
1,5279
1,7647
0,1378
8
1,3901 1,7742
1,4427
1,7755
1,4752
1,7732
1,5279
1,7647
0,0851
13.1 BUSCA DA RAZÃO ÁUREA
299
Observe que o máximo corrente é destacado para cada iteração. Depois da oitava
iteração, o máximo ocorre em x = 1,4427 com o valor da função de 1,7755. Portanto, o
resultado está convergindo para o valor verdadeiro 1,7757 em x = 1,4276.
Lembre-se de que, para a bissecção (Seção 5.2.1), pode ser calculado um limite superior exato para o erro a cada iteração. Usando um raciocínio análogo, um limite superior para a busca da razão áurea pode ser deduzido da seguinte forma: uma vez que uma
iteração é completada, o ponto ótimo cairá em um de dois intervalos. Se x2 for o valor
ótimo da função, ele estará no intervalo inferior (xl, x2, x1). Se x1 for o valor ótimo da
função, estará no intervalo superior (x2, x1, xu). Como os pontos interiores são simétricos,
qualquer um dos casos pode ser usado para definir o erro.
Olhando para o intervalo superior, se o valor verdadeiro estiver na extremidade esquerda, a distância máxima do valor estimado será
xa = x1 − x2
= xl + R(xu − xl ) − xu + R(xu − xl )
= (xl − xu ) + 2R(xu − xl )
= (2R − 1)(xu − xl )
ou 0,236(xu − xl).
Se o valor verdadeiro estiver na extremidade direita, a distância máxima do valor estimado será
xb = xu − x1
= xu − xl − R(xu − xl )
= (1 − R)(xu − xl )
ou 0,382(xu − xl). Portanto, esse caso representa o erro máximo. O resultado pode então
ser normalizado para o valor ótimo para a iteração, xopt, o que fornece
x u − xl
100%
εa = (1 − R)
xopt
Essa estimativa proporciona uma base para o término das iterações.
O pseudocódigo para o algoritmo da busca da razão áurea para maximização é
apresentado na Figura 13.5a. As pequenas modificações para converter o algoritmo
para a minimização estão listadas na Figura 13.5b. Em ambas as versões, o valor de
x para o ponto ótimo é retornado como o valor da função (aurea). Além disso, o valor
de f (x) no ponto ótimo é retornado como a variável f (x).
Você deve estar imaginando por que foram enfatizados o número reduzido de cálculos da função na busca da razão áurea. Naturalmente, para resolver uma única
otimização, o ganho em velocidade seria desprezível. Entretanto, existem dois importantes contextos nos quais a minimização do número de cálculos da função pode ser
importante. São eles:
1.
2.
Muitos cálculos. Há casos em que o algoritmo de busca da razão áurea pode ser
uma parte de um cálculo muito maior. Nessa situação, o algoritmo pode ser chamado
muitas vezes. Portanto, manter o cálculo da função em um número mínimo pode
trazer grandes dividendos para tais casos.
Cálculos demorados. Por razões pedagógicas, foram utilizadas funções simples na
maioria dos exemplos. É preciso entender que uma função pode ser muito complexa
e levar muito tempo para ser calculada. Por exemplo, em uma parte posterior deste
livro, será descrito como a otimização pode ser utilizada para estimar os parâmetros
de um modelo que consiste em um sistema de equações diferenciais. Para esses
casos, a “função” envolve a integração do modelo, que consome tempo. Qualquer
método que minimize tais cálculos seria vantajoso.
OTIMIZAÇÃO UNIDIMENSIONAL SEM RESTRIÇÕES
300
FIGURA 13.5
Algoritmo para a busca da
seção áurea.
13.2
FUNCTION Aurea (xlow, xhigh, maxit, es, fx)
R ⫽ (50.5 1)/2
xℓ ⫽ xlow; xu ⫽ xhigh
iter ⫽ 1
d ⫽ R * (xu xℓ)
x1 ⫽ xℓ ⫹ d; x2 ⫽ xu d
f1 ⫽ f(x1)
f2 ⫽ f(x2)
IF f1 ⬎ f2 THEN
xopt ⫽ x1
fx ⫽ f1
ELSE
xopt ⫽ x2
fx ⫽ f2
END IF
DO
d ⫽ R*d
IF f1 ⬎ f2 THEN
xℓ ⫽ x2
x2 ⫽ x1
x1 ⫽ xℓ⫹d
f2 ⫽ f1
f1 ⫽ f(x1)
ELSE
xu ⫽ x1
x1 ⫽ x2
x2 ⫽ xu⫺d
f1 ⫽ f2
f2 ⫽ f(x2)
END IF
iter ⫽ iter⫹1
IF f1 ⬎ f2 THEN
xopt ⫽ x1
fx ⫽ f1
ELSE
xopt ⫽ x2
fx ⫽ f2
END IF
IF xopt ⫽ 0. THEN
ea ⫽ (1.⫺R) *ABS((xu ⫺ xℓ)/xopt) * 100.
END IF
IF ea ⱕ es OR iter ⱖ maxit EXIT
END DO
Aurea ⫽ xopt
END Aurea
(a) Maximização
IF f1 ⬍ f2 THEN
IF f1 ⬍ f2 THEN
IF f1 ⬍ f2 THEN
(b) Minimização
INTERPOLAÇÃO QUADRÁTICA
A interpolação quadrática aproveita-se do fato de que um polinômio de segundo grau freqüentemente fornece uma boa aproximação para a forma de f(x) nas proximidades do
ponto ótimo (Figura 13.6).
Assim como existe somente uma reta ligando dois pontos, há apenas uma função
quadrática ou parábola ligando três pontos. Então, se houver três pontos que conjuntamente
delimitem um ponto ótimo, pode-se ajustar uma parábola aos três pontos. É possível,
13.2 INTERPOLAÇÃO QUADRÁTICA
f (x)
Aproximação
quadrática
do máximo
Máximo
verdadeiro
Função
verdadeira
FIGURA 13.6
Descrição gráfica da
interpolação quadrática.
x0
x1
301
Função
quadrática
x3
x2
x
desse modo, derivá-la, igualar o resultado a zero, e resolver para determinar uma estimativa do ponto ótimo x. Pode-se mostrar mediante um pouco de manipulação algébrica que
o resultado é
f(x0 ) x12 − x22 + f(x1 ) x22 − x02 + f(x2 ) x02 − x12
x3 =
(13.7)
2 f(x0 )(x1 − x2 ) + 2 f(x1 )(x2 − x0 ) + 2 f(x2 )(x0 − x1 )
onde x0, x1 e x2 são as aproximações iniciais e x3 é o valor de x que corresponde ao máximo valor da função quadrática ajustada às aproximações.
EXEMPLO 13.2
Interpolação Quadrática
Enunciado do Problema. Use a interpolação quadrática para aproximar o ponto de
máximo de
f(x) = 2 sen x −
x2
10
com aproximações iniciais x0 = 0, x1 = 1 e x2 = 4.
Os valores da função nas três aproximações são dados por
Solução.
x0 = 0
x1 = 1
x2 = 4
f(x0 ) = 0
f(x1 ) = 1,5829
f(x2 ) = −3,1136
o que, substituindo na Equação (13.7), dá
x3 =
0(12 − 42 ) + 1,5829(42 − 02 ) + (−3,1136)(02 − 12 )
= 1,5055
2(0)(1 − 4) + 2(1,5829)(4 − 0) + 2(−3,1136)(0 − 1)
o qual tem o valor da função de f (1,5055) = 1,7691.
Em seguida, uma estratégia parecida àquela da busca da razão áurea pode ser empregada para determinar qual ponto deve ser descartado. Uma vez que o valor da função para
o novo ponto é maior do que para o ponto intermediário (x1) e o novo valor de x está à direita do ponto intermediário, a aproximação inferior (x0) é descartada. Portanto, para a
próxima iteração,
x0 = 1
x1 = 1,5055
x2 = 4
f(x0 ) = 1,5829
f(x1 ) = 1,7691
f(x2 ) = −3,1136
OTIMIZAÇÃO UNIDIMENSIONAL SEM RESTRIÇÕES
302
o que pode ser substituído na Equação (13.7) para dar
x3 =
1,5829(1,50552 − 42 ) + 1,7691(42 − 12 ) + (−3,1136)(12 − 1,50552 )
2(1,5829)(1,5055 − 4) + 2(1,7691)(4 − 1) + 2(−3,1136)(1 − 1,5055)
= 1,4903
o qual tem o valor da função de f (1,4903) = 1,7714.
O processo pode ser repetido, com os resultados tabulados a seguir:
i
1
2
3
4
5
f (x0)
x0
0,0000
1,0000
1,0000
1,0000
1,4256
0,0000
1,5829
1,5829
1,5829
1,7757
x1
1,0000
1,5055
1,4903
1,4256
1,4266
f(x1)
x2
1,5829
1,7691
1,7714
1,7757
1,7757
4,0000
4,0000
1,5055
1,4903
1,4903
f(x2)
−3,1136
−3,1136
1,7691
1,7714
1,7714
x3
f(x3)
1,5055
1,4903
1,4256
1,4266
1,4275
1,7691
1,7714
1,7757
1,7757
1,7757
Assim, em cinco iterações, o resultado está convergindo rapidamente para o valor
verdadeiro 1,7757 em x = 1,4276.
Deve-se mencionar que, do mesmo modo como no método da falsa posição, a interpolação quadrática pode ficar presa, com apenas uma extremidade do intervalo
convergindo. Portanto, a convergência pode ser lenta. Por exemplo, observe que, no
exemplo, 1,0000 era uma extremidade para a maioria das iterações.
Esse método, bem como outros que usam polinômios de terceiro grau, pode ser formulado em um algoritmo que contenha testes de convergência, estratégias cuidadosas
de seleção dos pontos a serem retidos em cada iteração e tentativas de minimizar o erro de
arredondamento acumulado. Em particular, ver o método de Brent em Press et al. (1992).
13.3
O MÉTODO DE NEWTON
Lembre-se de que o método de Newton-Raphson do Capítulo 6 é um método aberto que
acha a raiz x de uma função, f(x) = 0. O método é sintetizado como
xi+1 = xi −
f(xi )
f ′(xi )
Uma abordagem aberta análoga pode ser usada para achar o ponto ótimo de f (x),
definindo uma nova função, g(x) = f ′(x). Assim, uma vez que o mesmo ponto ótimo x ∗
satisfaz ambos
f ′(x ∗ ) = g(x ∗ ) = 0
pode-se usar o seguinte,
xi+1 = xi −
f ′(xi )
f ′′(xi )
(13.8)
como uma técnica para encontrar o mínimo ou o máximo de f (x). Deve-se observar que
essa equação pode também ser deduzida escrevendo-se uma série de Taylor de segunda
ordem para f (x) e fazendo a derivada da série igual a zero. O método de Newton é um
método aberto, análogo ao método de Newton-Raphson, porque não exige aproximações iniciais que delimitem o ponto ótimo. Além disso, ele também compartilha a
desvantagem de poder ser divergente. Finalmente, em geral é uma boa idéia verificar se
a segunda derivada tem o sinal correto para confirmar que a técnica está convergindo
para o resultado desejado.
13.3 O MÉTODO DE NEWTON
EXEMPLO 13.3
303
Método de Newton
Enunciado do Problema. Use o método de Newton para achar o máximo de
f(x) = 2 sen x −
x2
10
com a aproximação inicial x0 = 2,5.
Solução.
A primeira e a segunda derivadas da função podem ser calculadas como
f ′(x) = 2 cos x −
x
5
f ′′(x) = −2 sen x −
1
5
as quais podem ser substituídas na Equação (13.8) para dar
xi+1 = xi −
2 cos xi − xi /5
−2 sen xi − 1/5
Substituindo a estimativa inicial, obtém-se
x1 = 2,5 −
2 cos 2,5 − 2,5/5
= 0,99508
−2 sen 2,5 − 1/5
que tem um valor da função de 1,57859. A segunda iteração dá
x1 = 0,995 −
2 cos 0,995 − 0,995/5
= 1,46901
−2 sen 0,995 − 1/5
que tem um valor da função de 1,77385.
O processo pode ser repetido, retornando os resultados tabulados a seguir:
i
x
f (x)
0
1
2
3
4
2,5
0,99508
1,46901
1,42764
1,42755
0,57194
1,57859
1,77385
1,77573
1,77573
f’(x)
−2,10229
0,88985
−0,09058
−0,00020
0,00000
f’’ (x)
−1,39694
−1,87761
−2,18965
−2,17954
−2,17952
Assim, em quatro iterações, o resultado converge rapidamente para o valor verdadeiro.
Embora o método de Newton funcione bem em alguns casos, é impraticável para
aqueles em que as derivadas não podem ser calculadas convenientemente. Para tais casos,
outras abordagens que não envolvem o cálculo das derivadas estão disponíveis. Por
exemplo, uma versão do tipo secante do método de Newton pode ser desenvolvida utilizando-se aproximações por diferenças finitas para o cálculo das derivadas.
Uma reserva ainda maior com respeito a essa abordagem é que ela pode divergir dependendo da natureza da função e da qualidade da estimativa inicial. Portanto, ela é empregada usualmente apenas quando estamos próximos do valor ótimo. Técnicas híbridas
que usam abordagens intervalares longe do ponto ótimo e métodos abertos próximo ao
ponto ótimo tentam explorar os pontos fortes de ambas as abordagens.
Isso conclui nossos tratamentos dos métodos para determinar o ponto ótimo de uma
função de uma única variável. Alguns exemplos da engenharia serão apresentados no
Capítulo 16. Além disso, as técnicas descritas aqui são um elemento importante em alguns dos procedimentos para otimizar funções de muitas variáveis, como discutido no
próximo capítulo.
OTIMIZAÇÃO UNIDIMENSIONAL SEM RESTRIÇÕES
304
PROBLEMAS
13.1 Dada a fórmula
2
f(x) = −x + 8x − 12
(a) Determine analiticamente (isto é, usando derivação) o máximo
e o valor correspondente de x para essa função.
(b) Verifique que a Equação (13.7) fornece o mesmo resultado,
com base nas aproximações iniciais x0 = 0, x1 = 2 e x2 = 6.
13.2 Dado
6
4
f(x) = −1,5x − 2x + 12x
(a) Trace a função.
(b) Use métodos analíticos para demonstrar que a função é côncava para todos os valores de x.
(c) Derive a função e então use um método da localização de raízes
para achar o máximo de f (x) e o valor correspondente de x.
13.3 Ache o valor de x que maximiza f (x) no Problema 13.2 utilizando a busca da razão áurea. Use como aproximações iniciais
xl = 0 e xu = 2 e faça três iterações.
13.4 Repita o Problema 13.3, utilizando agora a interpolação
quadrática. Use como aproximações iniciais x0 = 0, x1 = 1 e x2 = 2
e faça três iterações.
13.5 Repita o Problema 13.3, utilizando agora o método de Newton. Use como aproximação inicial x0 = 2 e faça três iterações.
13.6 Discuta as vantagens e as desvantagens da busca da razão
áurea, da interpolação quadrática e do método de Newton para localizar o valor ótimo em uma dimensão.
13.7 Use os seguintes métodos para achar o máximo de
f(x) = 4x − 1,8x 2 + 1,2x 3 − 0,3x 4
(a) Busca da razão áurea (xl = 2, xu = 4, εs = 1%).
(b) Interpolação quadrática (x0 = 1,75, x1 = 2, x2 = 2,5,
iterações = 4).
(c) Método de Newton (x0 = 3, εs = 1%).
13.8 Considere a seguinte função:
f(x) = −x 4 − 2x 3 − 8x 2 − 5x
Use métodos analíticos e gráficos para mostrar que a função tem
um máximo para algum valor de x no intervalo 2 ⱕ x ⱕ 1.
13.9 Use os seguintes métodos para achar o máximo da função do
Problema 13.8:
(a) Busca da razão áurea (xl = 2, xu = 1, εs = 1%).
(b) Interpolação quadrática (x0 = 2, x1 = 1, x2 = 1, iterações = 4).
(c) Método de Newton (x0 = 1, εs = 1%).
13.10 Considere a seguinte função:
f(x) = 2x +
3
x
Faça 10 iterações da interpolação quadrática para localizar o mínimo. Comente sobre a convergência dos seus resultados (x0 = 0,1,
x1 = 0,5, x2 = 5).
13.11 Considere a seguinte função:
f(x) = 3 + 6x + 5x 2 + 3x 3 + 4x 4
Localize o mínimo determinando as raízes da derivada dessa
função. Use a bissecção com as aproximações iniciais xl = 2 e
xu = 1.
13.12 Determine o mínimo da função do Problema 13.11 com os
seguintes métodos:
(a) Método de Newton (x0 = 1, εs = 1%).
(b) Método de Newton, mas utilizando uma aproximação por
diferenças finitas para as estimativas das derivadas
f ′ (x) =
f(xi + δxi ) − f(xi − δxi )
2δxi
f ′′ (x) =
f(xi + δxi ) − 2 f(xi ) − f(xi − δxi )
(δxi )2
onde δ é uma fração de perturbação (= 0,01). Use uma aproximação inicial x0 = 1 e itere até εs = 1%.
13.13 Desenvolva um programa usando uma linguagem de programação ou de macro para implementar o algoritmo da busca da
razão áurea. Faça o programa de modo que ele seja expressamente
projetado para localizar um máximo. A sub-rotina deve ter as
seguintes propriedades:
• Iterar até que o erro relativo fique abaixo do critério de parada
ou exceda um número máximo de iterações.
• Retornar tanto o ponto ótimo x quanto o valor de f(x).
• Minimizar o número de cálculos do valor da função.
Teste o seu programa com o mesmo problema do Exemplo 13.1.
13.14 Desenvolva um programa como descrito no Problema
13.13, mas faça de modo que o usuário possa escolher a maximização ou a minimização.
13.15 Desenvolva um programa usando uma linguagem de programação ou de macro para implementar o algoritmo da interpolação
quadrática. Faça o programa de modo que ele seja expressamente
projetado para localizar o máximo. A sub-rotina deve ter as
seguintes características:
• Ser baseada em duas aproximações iniciais e fazer o programa
gerar o terceiro valor inicial no ponto médio do intervalo.
• Verificar se as aproximações delimitam um máximo. Em caso
negativo, a sub-rotina não deve implementar o algoritmo e deve
retornar uma mensagem de erro.
• Iterar até que o erro relativo fique abaixo de um critério de
parada ou exceda um número máximo de iterações.
• Retornar tanto o ponto ótimo x quanto o valor de f (x).
• Minimizar o número de cálculos do valor da função.
Teste o seu programa com o mesmo problema do Exemplo 13.2.
13.16 Desenvolva um programa usando uma linguagem de programação ou de macro para implementar o método de Newton. A subrotina deve ter as seguintes características:
• Iterar até que o erro relativo fique abaixo de um critério de
parada ou exceda um número máximo de iterações.
• Retornar tanto o ótimo x quanto o valor de f (x).
Teste o seu programa com o mesmo problema do Exemplo 13.3.
13.17 São feitas medidas de pressão em certos pontos atrás de um
aerofólio durante um certo tempo. Os dados se ajustam à curva
y = 6 cos x 1,5 sen x de x = 0 a 6 s. Faça quatro iterações
do método da razão áurea para achar a pressão mínima. Use xl = 2
e xu = 4.
13.18 A trajetória de uma bola pode ser calculada como
y = (tg θ0 )x −
2v02
g
x 2 + y0
cos2 θ0
PROBLEMAS
onde y é a altura (m), θ0 é o ângulo inicial (em radianos), v0 é a velocidade inicial (m/s), g = 9,81 m/s2 é a constante gravitacional e y0
é a altura inicial (m). Use a busca da razão áurea para determinar a
altura máxima, dados y0 = 1 m, v0 = 25 m/s e θ0 = 50o. Itere até
que o erro aproximado caia abaixo de εs = 1% usando aproximações iniciais xl = 0 e xu = 60 m.
13.19 A deflexão de uma viga uniforme submetida a uma carga
crescente e linearmente distribuída pode ser escrita como
y=
w0
(−x 5 + 2L 2 x 3 − L 4 x)
120EIL
Dado que L = 600 cm, E = 50.000 kN/cm2, I = 30.000 cm4 e
w 0 = 2,5 kN/cm, determine o ponto de máxima deflexão (a) grafi-
305
camente, (b) usando a busca da razão áurea até que o erro aproximado fique abaixo de εs = 1% com aproximações iniciais xl = 0
e xu = L.
13.20 Um objeto com uma massa de 100 kg é arremessado para
cima a partir de um ponto na superfície da terra, com uma velocidade de 50 m/s. Se o objeto está submetido a um arrasto linear (c =
15 kg/s), use a busca da razão áurea para determinar qual a máxima
altura que o objeto atinge (Sugestão: lembre-se da Seção PT4.1.2).
13.21 A distribuição normal é uma curva em forma de sino,
definida por
y = e−x
2
Use a busca da razão áurea para determinar a posição do ponto de
inflexão nessa curva para x positivo.
CAPÍTULO
14
Otimização Multidimensional
sem Restrições
Este capítulo descreve técnicas para encontrar o mínimo ou máximo de uma função de
muitas variáveis. Lembre-se, do Capítulo 13, de que nossa imagem pictórica de uma
busca unidimensional era uma montanha-russa. Para o caso bidimensional, a imagem se
tornou a de montanhas e vales (Figura 14.1). Para problemas de maior dimensão, não é
possível ter imagens convenientes.
Este capítulo foi limitado ao caso bidimensional. Adotou-se essa abordagem porque
as propriedades essenciais das buscas multidimensionais são, em geral, mais bem comunicadas visualmente.
Técnicas para a otimização multidimensional sem restrições podem ser classificadas
de diversas maneiras. Para o propósito da presente discussão, elas serão divididas dependendo do fato de exigirem ou não o cálculo da derivada. As abordagens que não exigem o
cálculo da derivada são chamadas de não-gradientes ou de métodos diretos. Aquelas que
exigem derivadas são chamadas métodos gradientes ou de declive (ou aclive).
14.1
MÉTODOS DIRETOS
Esses métodos variam de abordagens de simples força bruta até técnicas mais elegantes
que tentam explorar a natureza da função. A discussão se inicia com uma abordagem por
força bruta.
14.1.1 Busca Aleatória
Um exemplo simples de uma abordagem por força bruta é o método de busca aleatória.
Como o nome indica, ele calcula repetidamente a função em valores das variáveis independentes escolhidos aleatoriamente. Se um número suficiente de amostras for estudado,
o valor ótimo será eventualmente localizado.
FIGURA 14.1
A maneira mais palpável de
visualizar buscas
bidimensionais é no contexto
da subida de uma montanha
(maximização) ou na descida
para um vale (minimização).
(a) Um mapa topográfico em
2-D que corresponde à
montanha em 3-D em (b).
Curvas com valores
constantes de f
f
x
x
y
y
(a)
306
(b)
14.1 MÉTODOS DIRETOS
EXEMPLO 14.1
307
Método da Busca Aleatória
Enunciado do Problema. Use um gerador de números aleatórios para localizar o máximo de
f(x, y) = y − x − 2x 2 − 2x y − y 2
(E14.1.1)
no domínio limitado por x = −2 a 2 e y = 1 a 3. Esse domínio é descrito na Figura 14.2.
Observe que um único máximo de 1,5 ocorre em x = −1 e y = 1,5.
Solução. Geradores de números aleatórios tipicamente geram valores entre 0 e 1. Se tal
número for designado por r, a seguinte fórmula pode ser usada para gerar valores de x
aleatoriamente dentro de um intervalo entre xl e xu:
x = xl + (xu − xl )r
Para a presente aplicação, xl = −2 e xu = 2, e a fórmula será
x = −2 + (2 − (−2))r = −2 + 4r
Isso pode ser testado substituindo-se 0 e 1 e obtendo-se −2 e 2, respectivamente.
Analogamente para y, a fórmula para esse exemplo pode ser desenvolvida como
y = yl + (yu − yl )r = 1 + (3 − 1)r = 1 + 2r
O seguinte macrocódigo Excel VBA usa a função de número aleatório VBA Rnd,
para gerar pares (x, y). Estes são então substituídos na Equação (E14.1.1). O máximo
valor entre essas tentativas aleatórias é armazenado na variável maxf, e os valores correspondentes de x e y em maxx e maxy, respectivamente.
maxf = –1E–9
For j = 1 To n
x = –2 + 4 * Rnd
y = 1 + 2 * Rnd
fn = y – x – 2 * x ^ 2 – 2 * x * y – y ^ 2
If fn > maxf Then
maxf = fn
maxx = x
maxy = y
End If
Next j
FIGURA 14.2
Equação (E14.1.1) mostrando o máximo em x = −1 e y = 1,5.
y
3
– 10
0
– 20
2
0
1
–2
–1
0
Máximo
1
2
x
308
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
Diversos números de iterações resultam em
Iterações
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
x
y
f (x, y)
−0.9886
−1.0040
−1.0040
−1.0040
−1.0040
−0.9837
−0.9960
−0.9960
−0.9960
−0.9978
1.4282
1.4724
1.4724
1.4724
1.4724
1.4936
1.5079
1.5079
1.5079
1.5039
1.2462
1.2490
1.2490
1.2490
1.2490
1.2496
1.2498
1.2498
1.2498
1.2500
Os resultados indicam que a técnica atinge o máximo verdadeiro.
Essa simples abordagem por força bruta funciona mesmo para funções descontínuas
e não-diferenciáveis. Além disso, ela sempre acha o ponto ótimo global em vez de um
ponto ótimo local. Sua principal desvantagem é que, conforme o número de variáveis independentes cresce, o esforço de implementação necessário pode ficar pesado. Além
disso, não é muito eficiente porque não leva em conta o comportamento da função subjacente. O restante das abordagens descritas neste capítulo leva em conta o comportamento
da função bem como os resultados das tentativas anteriores para aumentar a velocidade
de convergência. Assim, embora a busca aleatória possa certamente se mostrar útil em
contextos de problemas específicos, os métodos a seguir são de utilidade mais geral e
quase sempre levam a um processo de convergência mais eficiente.
Deve ser observado que estão disponíveis técnicas mais sofisticadas — abordagens
heurísticas que foram desenvolvidas para lidar com problemas não-lineares e/ou descontínuos, que a otimização clássica não pode tratar eficientemente, se é que pode tratar de
alguma forma. Alguns exemplos são têmpera simulada, busca tabu, redes neurais artificiais e algoritmo genético. O algoritmo genético é o de aplicação mais ampla, tendo alguns pacotes comerciais já disponíveis. Holland (1975) é o pioneiro na abordagem do
algoritmo genético, e Davis (1991) e Goldberg (1989) fornecem uma boa visão geral da
teoria e das aplicações desse método.
14.1.2 Busca Unidimensional e por Padrões
Ter uma abordagem de otimização eficiente que não exija o cálculo das derivadas é uma
idéia muito atraente. O método de busca aleatória descrito não exige o cálculo da derivada, mas não é muito eficiente. Esta seção descreve uma abordagem, o método de
busca unidimensional, que é mais eficiente e também não requer o cálculo da derivada.
A estratégia básica por trás do método de busca unidimensional é mudar uma variável
por vez para melhorar a aproximação enquanto as outras variáveis são mantidas constantes. Já que somente uma variável é modificada, o problema se reduz a uma seqüência
de buscas unidimensionais que podem ser resolvidas usando-se vários métodos (incluindo aqueles descritos no Capítulo 13).
Vamos executar uma busca unidimensional graficamente, como mostrado na Figura 14.3.
Comece no ponto 1 e mova-se ao longo do eixo x com y constante até o ponto 2. Você
pode ver que o ponto 2 é um máximo observando que a trajetória ao longo do eixo x apenas toca uma curva de nível nesse ponto. Em seguida, mova-se ao longo do eixo y com x
constante até o ponto 3. Continue com esse processo gerando os pontos 4, 5, 6 etc.
Embora estejamos movendo-nos gradualmente em direção ao máximo, a busca se
torna menos eficiente conforme nos movemos ao longo da estreita crista em direção ao
máximo. Entretanto, observe também que as retas unindo pontos alternados como 1-3,
3-5 ou 2-4, 4-6 apontam na direção geral do máximo. Essas trajetórias representam uma
oportunidade de arremeter diretamente ao longo da crista em direção ao máximo. Tais trajetórias são chamadas direções padrão.
14.1 MÉTODOS DIRETOS
309
y
5
6
3
4
1
2
x
FIGURA 14.3
Representação gráfica de como uma busca unidimensional pode ser conduzida.
y
2
1
x
FIGURA 14.4
Direções conjugadas.
Existem algoritmos formais que capitalizam a idéia das direções padrão para encontrar o valor ótimo eficientemente. O mais bem conhecido deles é chamado método de
Powell. Ele é baseado na observação (ver Figura 14.4) de que os pontos 1 e 2 são obtidos
por buscas unidimensionais na mesma direção mas de diferentes pontos de partida — portanto, a reta determinada por 1 e 2 irá na direção do máximo. Tais retas são chamadas de
direções conjugadas.
De fato, pode ser demonstrado que, se f (x, y) for uma função quadrática, uma busca
seqüencial ao longo das direções conjugadas convergirá exatamente em um número finito
de passos, independentemente do ponto de partida. Uma vez que uma função não-linear,
em geral, pode ser razoavelmente aproximada por uma função quadrática, métodos
baseados nas direções conjugadas são geralmente bastante eficientes e são, de fato, quadraticamente convergentes quando se aproximam do ponto ótimo.
Vamos implementar graficamente uma versão simplificada do método de Powell para
encontrar o máximo de
f(x, y) = c − (x − a)2 − (y − b)2
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
310
y
3
h3
h2
h1
h4
h2
5
h3
4
2
h2
0
1
x
FIGURA 14.5
Método de Powell.
onde a, b e c são constantes positivas. Essa equação resulta em curvas de nível circulares
no plano x, y como mostrado na Figura 14.5.
Comece a busca no ponto 0 com direções iniciais h1 e h2. Observe que h1 e h2 não são
necessariamente direções conjugadas. Do zero, mova-se ao longo de h1 até que um máximo seja localizado no ponto 1. Então, faça a busca a partir do ponto 1 na direção h2 até
encontrar o ponto 2. Em seguida, forme uma nova direção de busca h3 entre os pontos 0
e 2. Faça a busca ao longo dessa direção até que o máximo no ponto 3 seja localizado.
Então, faça a busca desde o ponto 3 na direção h2 até que o máximo no ponto 4 seja localizado. Do ponto 4 se chega ao ponto 5 buscando novamente ao longo da direção h3.
Agora, observe que os pontos 5 e 3 foram localizados buscando na direção h3, a partir de
dois pontos diferentes. Powell mostrou que h4 (formada pelos pontos 3 e 5) e h3 são direções conjugadas. Assim, fazer uma busca a partir do ponto 5 na direção h4 leva diretamente para o máximo.
O método de Powell pode ser refinado para se tornar mais eficiente, mas o algoritmo
formal está além do escopo deste texto. Entretanto, é um método eficiente, quadraticamente convergente, que não exige o cálculo das derivadas.
14.2
MÉTODOS GRADIENTE
Como o nome implica, os métodos gradiente usam explicitamente informação sobre a
derivada para gerar um algoritmo eficiente para localizar o ponto ótimo. Antes de
descrever abordagens específicas, deve-se primeiro rever alguns conceitos e operações
matemáticos chave.
14.2.1 GRADIENTES E HESSIANAS
Do cálculo, lembre-se de que a primeira derivada de uma função unidimensional fornece
a inclinação da função ou a tangente à função que está sendo derivada. Do ponto de vista
da otimização, essa é uma informação útil. Por exemplo, se a inclinação for positiva, isso
diz que o aumento da variável independente levará a um valor maior da função que está
sendo explorada.
Ainda do cálculo, lembre-se de que a primeira derivada pode dizer quando se atinge
um ponto ótimo, uma vez que esse é um ponto em que a derivada é nula. Além disso, o
sinal da segunda derivada diz se foi atingido um ponto de mínimo (derivada segunda positiva) ou um de máximo (derivada segunda negativa).
14.2 MÉTODOS GRADIENTE
311
x
x=a
y=b
h=0
h
y
FIGURA 14.6
O gradiente direcional é definido ao longo de um eixo h que forma um ângulo θ com o eixo x.
Essas idéias foram úteis nos algoritmos de busca unidimensional explorados no capítulo anterior. Entretanto, para entender completamente a busca multidimensional, deve-se
primeiro entender como a primeira e a segunda derivadas são expressas no contexto multidimensional.
O Gradiente. Suponha que tenhamos uma função bidimensional f (x, y). Um exemplo
pode ser sua altura em uma montanha como função da sua posição. Suponha que você
está em um local específico (a, b) da montanha e que quer saber a inclinação em uma direção arbitrária. Uma maneira de definir a direção é ao longo de um novo eixo h que
forma um ângulo θ com o eixo x (Figura 14.6). A altura ao longo desse novo eixo pode ser
considerada como uma nova função g(h). Se você define sua posição como sendo a
origem desse eixo (isto é, h = 0), a inclinação nessa direção será determinada por g ′(0).
A inclinação, que é chamada de derivada direcional, pode ser calculada a partir das derivadas parciais ao longo de x e y por
g ′(0) =
∂f
∂f
cos θ +
sen θ
∂x
∂y
(14.1)
onde as derivadas parciais são calculadas em x = a e y = b.
Supondo que o seu objetivo seja atingir a maior altura com o próximo passo, a próxima questão lógica será: qual a direção de aclive máximo? A resposta é suprida naturalmente pelo que se chama matematicamente de gradiente, que é definido por
f =
∂f
∂f
i+
j
∂x
∂y
(14.2)
Esse vetor é também conhecido como “del f”. Ele representa a derivada direcional de
f (x, y) no ponto x = a e y = b.
A notação vetorial fornece uma maneira concisa de generalizar o gradiente para n dimensões, como
⎫
⎧ ∂f
⎪
(x)⎪
⎪
⎪
⎪
⎪
⎪
⎪
∂x
⎪
⎪
⎪ 1 ⎪
⎪
⎪
⎪
⎪
∂f
⎪
⎪
⎪
⎪
(x)
⎪
⎪
⎪
⎬
⎨ ∂ x2 ⎪
f(x) =
.
⎪
⎪
⎪
⎪
⎪
⎪
⎪ . ⎪
⎪
⎪
⎪
⎪
⎪
. ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
∂
f
⎪
⎪
⎩
(x)⎭
∂ xn
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
312
Como usar o gradiente? Para o problema da escalada da montanha, se o interesse é
ganhar altura tão rapidamente quanto possível, o gradiente diz em qual direção mover-se
localmente e quanta altura será ganha ao se fazer isso. Observe, entretanto, que essa estratégia não leva necessariamente a um caminho direto ao pico! Essas idéias serão discutidas com maior profundidade mais adiante neste capítulo.
EXEMPLO 14.2
Usando o Gradiente para Encontrar o Caminho de Aclive Máximo
Enunciado do Problema. Use o gradiente para calcular a direção de aclive máximo
para a função
f(x, y) = x y 2
no ponto (2, 2). Suponha que o eixo x positivo aponta para o leste e que o eixo y positivo
aponta para o norte.
Solução.
Primeiro, nossa altura pode ser determinada por
f(4, 2) = 2(2)2 = 8
Em seguida, as derivadas parciais podem ser calculadas
∂f
= y 2 = 22 = 4
∂x
∂f
= 2x y = 2(2)(2) = 8
∂y
o que pode ser usado para determinar o gradiente,
f = 4i + 8j
Esse vetor pode ser esboçado em um mapa topográfico da função, como mostrado na
Figura 14.7. Isso imediatamente diz que a direção que se deve tomar é
θ = tg−1
8
4
= 1,107 radianos (= 63,4◦ )
relativo ao eixo x. A inclinação nessa direção, que é o módulo de f , pode ser calculada por
42 + 82 = 8,944
FIGURA 14.7
A flecha segue a direção de aclive máximo calculado com o gradiente.
y
4
8
24
40
3
2
1
0
0
1
2
3
4
x
14.2 MÉTODOS GRADIENTE
313
Então, durante o primeiro passo, serão ganhas inicialmente 8,944 unidades de aumento na
elevação para uma unidade de distância avançada ao longo do caminho de maior inclinação. Observe que a Equação (14.1) fornece o mesmo resultado,
g ′ (0) = 4 cos(1,107) + 8 sen(1,107) = 8,944
Observe que, para qualquer outra direção, como θ = 1,107/2 = 0,5235, g ′(0) = 4
cos(0,5235) + 8 sen(0,5235) = 7,608, o que é menor.
Ao se mover para a frente, tanto a direção quanto o módulo da maior inclinação
mudam. Essas mudanças podem ser quantificadas a cada passo usando-se o gradiente, e
sua direção de escalada, modificada de acordo com ele.
Uma percepção final pode ser adquirida inspecionando-se a Figura 14.7. Como indicado, a direção de aclive máximo é perpendicular, ou ortogonal, à curva de nível da elevação nas coordenadas (2, 2). Essa é uma característica geral do gradiente.
Além de definir o caminho de maior inclinação, a primeira derivada pode também ser
usada para distinguir se um ponto ótimo foi atingido. Como no caso de uma função unidimensional, se as derivadas parciais com relação a x e y são ambas nulas, é possível que
um ponto ótimo bidimensional tenha sido atingido.
A Hessiana. Para problemas unidimensionais, tanto a primeira quanto a segunda derivada fornecem informações valiosas para a busca do ponto ótimo. A primeira derivada
(a) mostra a trajetória de maior inclinação de uma função e (b) diz que foi atingido um
ponto ótimo. Uma vez atingido o ponto ótimo, a segunda derivada diz se você está em
um máximo [ f ′′(x) negativa] ou em um mínimo [ f ′′(x) positivo]. Nos parágrafos anteriores, foi ilustrado como o gradiente fornece a melhor trajetória local para problemas multidimensionais. Agora se examinará como a segunda derivada é usada em tais contextos.
Você poderia esperar que, se as segundas derivadas parciais com relação a x e a y
forem ambas negativas, então deve ter sido atingido um máximo. A Figura 14.8 mostra
uma função na qual isso não é verdade. O ponto (a, b) desse gráfico parece ser um mínimo quando observado ao longo da dimensão x ou da dimensão y. Em ambos os casos, a
segunda derivada parcial é positiva. Entretanto, se a função for observada ao longo da reta
y = x, pode ser visto que ocorre um máximo nesse mesmo ponto. Essa forma é chamada
sela e claramente não ocorrem nem um máximo nem um mínimo nesse ponto.
FIGURA 14.8
Um ponto de sela (x = a e y = b). Observe que, quando se observa uma curva ao longo das
direções x e y, a função parece atingir um mínimo (derivada segunda positiva), enquanto que,
ao longo do eixo x = y, ela é côncava para baixo (derivada segunda negativa).
f (x, y)
(a, b)
x
y
y=x
314
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
A ocorrência de um máximo ou de um mínimo envolve não apenas as derivadas parciais com relação a x e y, mas também a segunda derivada parcial com relação a x e y.
Supondo que as derivadas parciais sejam contínuas na vizinhança do ponto sendo estudado, a seguinte quantidade pode ser calculada:
|H | =
∂2 f ∂2 f
−
∂ x 2 ∂ y2
∂2 f
∂ x∂ y
2
(14.3)
Três casos, entre outros, podem ocorrer:
•
•
•
Se |H| > 0 e ∂ 2 f/∂ x 2 > 0, então f(x, y) tem um mínimo local.
Se |H| > 0 e ∂ 2 f/∂ x 2 < 0, então f(x, y) tem um máximo local.
Se |H| < 0, então f(x, y) tem um ponto de sela.
A quantidade |H| é igual ao determinante da matriz formada pelas segundas derivadas,1
⎤
⎡ 2
∂2 f
∂ f
⎥
⎢
∂ x∂ y ⎥
⎢ ∂x2
H =⎢ 2
(14.4)
⎥
⎣∂ f
∂2 f ⎦
∂ y∂ x
∂ y2
Essa matriz é formalmente conhecida como hessiana de f.
Além de fornecer uma maneira de discernir se uma função multidimensional atingiu
um ponto ótimo, a hessiana tem outros usos em otimização (por exemplo, para a forma
multidimensional do método de Newton). Em particular, ela permite que a busca inclua a
curvatura de segunda ordem para se atingir resultados melhores.
Aproximação por Diferenças Finitas. Deve-se mencionar que, para os casos nos
quais é difícil ou inconveniente calcular analiticamente, o gradiente e o determinante da
hessiana podem ser calculados numericamente. Em muitos casos, é utilizada a abordagem
introduzida na Seção 6.3.3 para o método da secante modificada. Isto é, as variáveis independentes podem ser perturbadas ligeiramente para gerar as derivadas parciais
necessárias. Por exemplo, se abordagem baseada em diferenças centradas for adotada,
elas podem ser calculadas como
∂f
f(x + δx, y) − f(x − δx, y)
=
∂x
2δx
(14.5)
∂f
f(x, y + δy) − f(x, y − δy)
=
∂y
2δy
(14.6)
∂2 f
f(x + δx, y) − 2 f(x, y) − f(x − δx, y)
=
2
∂x
δx 2
(14.7)
∂2 f
f(x, y + δy) − 2 f(x, y) − f(x, y − δy)
=
2
∂y
δy 2
(14.8)
∂2 f
=
∂ x∂ y
f(x + δx, y + δy) − f(x + δx, y − δy) − f(x − δx, y + δy) + f(x − δx, y − δy)
4δxδy
(14.9)
onde δ é um pequeno valor fracionário.
Observe que os métodos utilizados em pacotes de software comerciais também empregam diferenças progressivas. Além disso, eles são usualmente mais complicados que
1
Observe que ∂ 2 f/(∂ x∂ y) = ∂ 2 f /(∂y∂ x) quando estas funções forem conínuas.
14.2 MÉTODOS GRADIENTE
315
as aproximações listadas nas Equações (14.5) a (14.9). Por exemplo, a biblioteca IMSL
baseia a perturbação no épsilon de máquina. Dennis e Schnabel (1996) fornecem mais detalhes sobre essa abordagem.
Independentemente de como a aproximação é implementada, o ponto importante é
que você pode ter a opção de calcular analiticamente o gradiente e/ou a hessiana. Algumas vezes isso é uma tarefa árdua, mas o desempenho do algoritmo se beneficia o suficiente para fazer que o seu esforço valha a pena. As derivadas na forma fechada serão exatas, porém, ainda mais importante, você reduzirá o número de cálculos da função. Esse
último ponto pode ter um impacto crítico no tempo de execução.
Por outro lado, você exercitará freqüentemente a opção de ter as quantidades computadas internamente usando abordagens numéricas. Em muitos casos, o desempenho
será bastante adequado e você se livrará da dificuldade de derivações parciais numerosas.
Este é o caso de otimizadores usados em certas planilhas e pacotes de software matemáticos (por exemplo, o Excel). Em tais casos, nem mesmo é dada a opção de entrar com o
gradiente ou a hessiana calculados analiticamente. Entretanto, para problemas de
tamanho pequeno ou moderado, essa não é uma grande limitação.
14.2.2 Método do Aclive Máximo
Uma estratégia óbvia para escalar o morro seria determinar a inclinação máxima no ponto
de partida e então começar a andar nessa direção. Mas surge claramente outro problema
quase de imediato. Exceto se você tiver realmente muita sorte e começar em uma crista
que aponta diretamente para o pico, assim que se mover, seu caminho divergirá da direção
de aclive máximo.
Reconhecendo esse fato, você poderá adotar a seguinte estratégia. Caminhe uma distância curta na direção do gradiente. Então pare, recalcule o gradiente e ande novamente uma
distância curta. Repetindo esse processo, você pode eventualmente chegar ao topo do monte.
Embora a estratégia pareça superficialmente correta, não é muito prática. Em particular, os cálculos contínuos do gradiente podem ser computacionalmente exigentes. Uma
abordagem preferível envolve o movimento ao longo de um caminho fixo na direção do
gradiente até que f (x, y) pare de crescer, isto é, fique nivelada na direção da caminhada.
Esse ponto de parada será o ponto de partida onde f é recalculado e uma nova direção
será seguida. O processo se repete até que o pico seja atingido. Esse processo é chamado
de método do aclive máximo.2 Essa é a mais direta das técnicas de busca baseadas no gradiente. A idéia básica por trás de tal abordagem é mostrada na Figura 14.9.
O começo é em um ponto inicial (x0, y0) rotulado como “0” na figura. Nesse ponto,
determina-se a direção do aclive máximo, isto é, o gradiente. Então, faz-se uma busca na
direção do gradiente, h0, até se encontrar um máximo, que é rotulado como “1” na figura.
O processo é então repetido.
Assim, o problema se reduz simplesmente a duas partes: (1) determinar a “melhor”
direção de busca e (2) determinar o “melhor valor” ao longo dessa direção de busca.
Como se verá, a eficácia dos vários algoritmos descritos nas páginas que virão depende
do quão perspicaz se é em ambas as partes.
Por enquanto, o método do aclive máximo usa o gradiente para escolher a “melhor”
direção. Já se mostrou como o gradiente é calculado no Exemplo 14.1. Agora, antes de
examinar como o algoritmo procede para localizar o máximo ao longo da direção de
maior inclinação, deve-se parar para explorar como transformar a função de
x e y em uma função de h ao longo da direção do gradiente.
Começando em x0, y0 as coordenadas de um ponto qualquer na direção do gradiente
podem ser expressas como
x = x0 +
2
∂f
h
∂x
(14.10)
Por causa da nossa ênfase na maximização, usamos a terminologia de aclive máximo. A mesma abordagem
pode também ser usada para minimização – nesse caso, a terminologia utilizada seria declive máximo.
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
316
y
h2
h0
h1
2
1
0
x
FIGURA 14.9
Uma descrição gráfica do método do máximo aclive.
y
ⵜf = 3i + 4j
10
h
6
h
2
h
=
1
=
=
2
1
0
4
7
x
FIGURA 14.10
A relação entre uma direção arbitrária h e as coordenadas x e y.
y = y0 +
∂f
h
∂y
(14.11)
onde h é uma distância ao longo do eixo h. Por exemplo, suponha que x0 = 1, y0 = 2 e
f = 3i + 4j, como mostrado na Figura 14.10. As coordenadas de um ponto ao longo do
eixo h são dadas por
x = 1 + 3h
(14.12)
y = 2 + 4h
(14.13)
O exemplo seguinte ilustra como é possível usar essa transformação para converter
uma função bidimensional em x e y em uma função unidimensional em h.
EXEMPLO 14.3
Desenvolvendo uma Função 1-D ao Longo da Direção do Gradiente
Enunciado do Problema. Suponha que se tenha a seguinte função bidimensional
f(x, y) = 2x y + 2x − x 2 − 2y 2
14.2 MÉTODOS GRADIENTE
317
Desenvolva uma versão unidimensional dessa equação ao longo da direção do gradiente
no ponto x = −1 e y = 1.
Solução.
As derivadas parciais podem ser calculadas no ponto (−1, 1),
∂f
= 2y + 2 − 2x = 2(1) + 2 − 2(−1) = 6
∂x
∂f
= 2x − 4y = 2(−1) − 4(1) = −6
∂y
Portanto, o vetor gradiente é
f = 6i − 6j
Para encontrar o máximo, deve-se procurar ao longo da direção do gradiente, isto é, ao
longo do eixo h, caminhando na direção desse vetor. A função pode ser expressa ao longo
desse eixo como
f x0 +
∂f
∂f
h, y0 +
h = f(−1 + 6h, 1 − 6h)
∂x
∂y
= 2(−1 + 6h)(1 − 6h) + 2(−1 + 6h) − (−1 + 6h)2 − 2(1 − 6h)2
onde as derivadas parciais são calculadas em x = −1 e y = 1.
Combinando esses termos, tem-se uma função unidimensional g(h) que descreve
f (x, y) ao longo do eixo h,
g(h) = −180h 2 + 72h − 7
Agora que foi desenvolvida uma função ao longo do caminho do máximo aclive,
pode-se explorar como responder à segunda questão – ou seja, quanto ao longo desse
caminho deve-se andar? Uma abordagem poderia ser mover-se ao longo desse caminho
até encontrar o máximo dessa função. Chamaremos a posição desse máximo de h∗ . Esse
é o valor do passo que maximiza g (e, portanto, f) na direção do gradiente. O problema é
equivalente a encontrar o máximo de uma função de uma única variável h. Isso pode ser
feito usando-se diferentes técnicas de busca unidimensionais como as discutidas no Capítulo 13. Assim, a procura por um ponto ótimo de uma função bidimensional é convertida
em uma busca unidimensional na direção do gradiente.
Esse método é chamado aclive máximo quando um tamanho de passo arbitrário h for
usado. Se for encontrado o valor de um único passo h∗ que leve diretamente a um máximo ao longo da direção do gradiente, esse método é chamado de aclie máximo ótimo.
EXEMPLO 14.4
Aclive Máximo Ótimo
Enunciado do Problema. Maximize a seguinte função:
f(x, y) = 2x y + 2x − x 2 − 2y 2
usando as aproximações iniciais x = −1 e y = 1.
Solução. Pode-se em primeiro lugar gerar uma solução analítica, já que a função é tão
simples. Para fazer isso, as derivadas parciais podem ser calculadas por
∂f
= 2y + 2 − 2x = 0
∂x
∂f
= 2x − 4y = 0
∂y
318
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
Esse par de equações pode ser resolvido para se determinar o ponto ótimo, x = 2 e
y = 1. As derivadas parciais de segunda ordem podem ser determinadas e calculadas no
ponto ótimo,
∂2f
= −2
∂x2
∂2 f
= −4
∂ y2
∂2f
∂2f
=
=2
∂ x∂ y
∂ y∂ x
e o determinante da hessiana é calculado por [Equação (14.3)]
|H | = −2(−4) − 22 = 4
Portanto, como |H| > 0 e ∂ 2 f/∂ x 2 < 0, o valor da função f (2, 1) é um máximo.
Agora vamos implementar o aclive máximo. Lembre-se de que, no final do Exemplo
14.3, já tinham sido implementados os passos iniciais do problema gerando-se
g(h) = −180h 2 + 72h − 7
Agora, como se trata de uma simples parábola, pode-se localizar diretamente o máximo
(isto é, h = h∗ ) resolvendo-se o problema,
g ′ (h ∗ ) = 0
− 360h ∗ + 72 = 0
h ∗ = 0,2
Isso significa que, andando-se ao longo do eixo x, g(h) atinge um valor mínimo quando h
= h∗ = 0,2. Tal resultado pode ser colocado de volta nas Equações (14.10) e (14.11) para
determinar as coordenadas (x, y) correspondentes a esse ponto.
x = −1 + 6(0,2) = 0,2
y = 1 − 6(0,2) = −0,2
Esse passo é mostrado na Figura 14.11 como o movimento do ponto 0 para o ponto 1.
O segundo passo é implementado simplesmente repetindo-se esse procedimento.
FIGURA 14.11
O método do aclive máximo ótimo.
y
3
Máximo
2
1
0
–1
–2
2
0
1
0
2
4
x
14.2 MÉTODOS GRADIENTE
319
Primeiro, as derivadas parciais podem ser calculadas nesse novo ponto de partida
(0,2, −0,2), resultando
∂f
= 2(−0,2) + 2 − 2(0,2) = 1,2
∂x
∂f
= 2(0,2) − 4(−0,2) = 1,2
∂y
Portanto, o vetor gradiente é
f = 1,2 i + 1,2 j
Isso significa que a direção de máxima inclinação agora aponta para cima e para a direita,
em um ângulo de 45º com o eixo x (ver Figura 14.11). As coordenadas ao longo desse
novo eixo h podem ser expressas como
x = 0,2 + 1,2h
y = −0,2 + 1,2h
Substituindo esses valores na função, obtém-se
f(0,2 + 1,2h, −0,2 + 1,2h) = g(h) = −1,44h 2 + 2,88h + 0,2
O passo h∗ que leva ao máximo ao longo da direção de busca pode então ser calculado
como
g ′ (h ∗ ) = −2,88h ∗ + 2,88 = 0
h∗ = 1
Esses resultados podem ser colocados de volta nas Equações (14.10) e (14.11) para se determinar as coordenadas (x, y) correspondentes a esse novo ponto
x = 0,2 + 1,2(1) = 1,4
y = −0,2 + 1,2(1) = 1
Como mostrado na Figura 14.11, movemo-nos para novas coordenadas, rotuladas como
ponto 2 no desenho, e fazendo isso nos movemos para mais perto do máximo. Essa
abordagem pode ser repetida com o resultado final convergindo para a solução analítica
x = 2 e y = 1.
Pode ser mostrado que o método do aclive máximo é linearmente convergente. Ademais, tende a se mover muito devagar ao longo de cristas longas e estreitas. Isso ocorre
porque o novo gradiente em cada ponto de máximo será perpendicular à direção original.
Assim, a técnica precisa de muitos passos pequenos atravessando a rota direta para o pico.
Logo, embora seja confiável, há outras abordagens que convergem muito mais rapidamente, particularmente na vizinhança de um ótimo. O restante dessa seção é dedicado a
tais métodos.
14.2.3 Abordagens Gradiente Avançadas
Método do Gradiente Conjugado (Fletcher-Reeves). Na Seção 14.1.2, foi visto
como as direções conjugadas do método de Powell melhoraram a eficiência da busca unidimensional. De maneira similar, pode-se também melhorar a convergência linear do
aclive máximo ascendente usando-se gradientes conjugados. Na realidade, é possível
mostrar que um método de otimização que utiliza gradientes conjugados para definir as
direções de busca é quadraticamente convergente. Isso também garante que o método
otimizará uma função quadrática exatamente em um número finito de passos, independentemente do ponto inicial. Já que muitas funções bem comportadas podem ser aproximadas razoavelmente bem por uma função quadrática nas vizinhanças do ponto ótimo,
320
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
uma abordagem quadraticamente convergente é normalmente muito eficiente próximo a
um ponto ótimo.
Viu-se como, começando com duas direções arbitrárias de busca, o método de Powell
produziu novas direções de busca conjugadas. Esse método é quadraticamente convergente e não requer informação sobre o gradiente. Por outro lado, se o cálculo das derivadas for prático, pode-se pensar em algoritmos que combinem as idéias do declive
máximo e direções conjugadas para atingir um desempenho inicial robusto e uma convergência rápida quando a técnica gravita em direção ao ponto ótimo. O algoritmo de
gradiente conjugado de Fletcher-Reeves modifica o método do aclive máximo impondo
a condição de que sucessivas direções de busca do gradiente sejam mutuamente conjugadas. A demonstração e o algoritmo estão além do escopo deste livro, mas são descritos
por Rao (1996).
Método de Newton. O método de Newton para uma única variável (ver Seção 13.3)
pode ser estendido para o caso de várias variáveis. Escreva uma série de Taylor de segunda ordem para f(x) próximo de x = xi,
1
f(x) = f(xi ) + f T (xi )(x − xi ) + (x − xi )T Hi (x − xi )
2
onde Hi é a matriz hessiana. No ponto de mínimo,
∂ f(x)
=0
∂x j
para j = 1, 2, . . . , n
Assim,
f = f(xi ) + Hi (x − xi ) = 0
Se H for não singular
xi+1 = xi − Hi−1 f
(14.14)
o que pode ser mostrado que converge quadraticamente próximo ao ponto ótimo. Esse
método tem melhor desempenho que o do aclive máximo (ver Figura 14.12). No entanto,
observe que ele requer tanto o cálculo das derivadas de segunda ordem quanto a inversão
de matrizes a cada iteração. Assim, não é muito útil, na prática, para funções com um
número grande de variáveis. Além disso, o método de Newton pode não ser convergente
se o ponto de partida não estiver próximo do ponto ótimo.
FIGURA 14.12
Quando o ponto de partida está próximo do ponto de ótimo, seguir o gradiente pode ser
ineficiente. O método de Newton tenta a busca ao longo de um caminho que vai diretamente
ao ponto ótimo (linha sólida).
x
y
PROBLEMAS
321
Método de Marquardt. O método do aclive máximo aumenta o valor da função mesmo
quando o ponto de partida está longe do ótimo. Por outro lado, o método de Newton que
acabamos de descrever, converge rapidamente próximo do máximo. O método de Marquardt usa o método do declive máximo quando x estiver longe de x∗ , e o método de
Newton quando x estiver perto de um ponto ótimo. Isso se consegue modificando-se a
diagonal da hessiana na Equação (14.14),
H̃i = Hi + αi I
onde αi é uma constante positiva e I é a matriz identidade. No início do procedimento, αi
é suposto ser grande e
H̃i−1 ≈
1
I
αi
o que reduz a Equação (14.14) ao método da máxima inclinação ascendente. Conforme a
iteração prossegue, αi se aproxima de zero e o método se torna o método de Newton.
Portanto, o método de Marquardt oferece o melhor dos dois mundos: caminha de
forma lenta, mas confiável, para valores iniciais insatisfatórios, mas acelera rapidamente
quando se aproxima do ponto ótimo. Infelizmente, o método ainda requer o cálculo da
hessiana e a inversão de matrizes a cada iteração.
Deve-se observar que o método de Marquardt é usado primordialmente para problemas de mínimos quadrados não-lineares. Por exemplo, a biblioteca IMSL tem uma subrotina com esse propósito.
Métodos Quasi-Newton. Os métodos quasi-Newton, ou de variável métrica, procuram fazer uma estimativa de caminho direto ao ponto ótimo de forma parecida com o
método de Newton. Entretanto, observe que a matriz hessiana na Equação (14.14) é composta das derivadas de segunda ordem de f que variam de passo a passo. Os métodos
quasi-Newton tentam evitar essas dificuldades aproximando H por uma outra matriz A
usando apenas as derivadas parciais de primeira ordem de f. A abordagem envolve
começar com uma aproximação inicial de H−1 e atualizá-la e melhorá-la a cada iteração.
Os métodos são chamados quasi-Newton porque não é usada a verdadeira hessiana, mas,
sim, uma aproximação. Assim, têm-se duas aproximações sendo feitas simultaneamente:
(1) aproximação original pela série de Taylor e (2) a aproximação da hessiana.
Existem dois métodos principais nessa categoria: os algoritmos de DavidsonFletcher-Powell (DFP) e de Broyden-Fletcher-Goldfarb-Shanno (BFGS). Eles são similares, exceto por detalhes relativos a como lidar com erros de arredondamento e aspectos
de convergência. O BFGS é geralmente reconhecido como sendo superior na maioria dos
casos. Rao (1996) traz detalhes e enunciados formais tanto para o algoritmo DFP quanto
para o BFGS.
PROBLEMAS
14.1 Repita o Exemplo 14.2 para a seguinte função, no ponto
(0,8, 1,2).
f(x, y) = 2x y + 1,5y − 1,25x 2 − 2y 2 + 5
14.2 Encontre a derivada direcional de
f(x, y) = x 2 + 2y 2
em x = 2 e y = 2 na direção h = 2i + 3j.
14.3 Encontre o vetor gradiente e a matriz hessiana para cada uma
das seguintes funções:
(a) f(x, y) = 3xy2 + 2e xy
(b) f(x, y, z) = 2x2 + y2 + z2
(c) f(x, y) = ln(x2 + 3xy + 2y2)
14.4 É dada a função
f(x, y) = 2,25x y + 1,75y − 1,5x 2 − 2y 2
Determine e resolva um sistema de equações algébricas lineares
que maximiza f(x). Observe que isso é feito igualando-se as derivadas parciais de f com relação a x e a y a zero.
14.5
(a) Comece com uma aproximação inicial x = 1 e y = 1 e faça duas
aplicações do método do aclive máximo na função f(x, y) do
Problema 14.4.
(b) Construa um gráfico a partir dos resultados de (a) mostrando o
caminho de busca.
14.6 Encontre o valor mínimo de
f(x, y) = (x − 3)2 + (y − 2)2
começando em x = 1 e y = 1, usando o método do declive máximo,
com o critério de parada de εs = 1%. Explique seus resultados.
OTIMIZAÇÃO MULTIDIMENSIONAL SEM RESTRIÇÕES
322
14.7 Faça uma iteração do método do aclive máximo para localizar
o máximo de
f(x, y) = 4x + 2y + x 2 − 2x 4 + 2x y − 3y 2
usando as aproximações iniciais x = 0 e y = 0. Use a bissecção
para encontrar o tamanho do passo ótimo na direção de busca do
gradiente.
14.8 Faça uma iteração do método do gradiente ótimo no declive
máximo para localizar o mínimo de
2
2
f(x, y) = −8x + x + 12y + 4y − 2x y
usando aproximações iniciais x = 0 e y = 0.
14.9 Desenvolva um programa usando uma linguagem de programação ou linguagem de macro para implementar o método da
busca aleatória. Projete o subprograma de modo que ele seja
expressamente preparado para localizar o máximo. Teste o programa com f(x, y) do Problema 14.7. Use o intervalo de 2 a 2
para x e y.
14.10 A busca reticulada é outra abordagem por força bruta para
otimização. A versão bidimensional é mostrada na Figura P14.10.
As dimensões x e y são divididas em incrementos para criar um
reticulado. A função é então calculada em cada nó do reticulado.
Quanto maior a densidade do reticulado, maior é a probabilidade de
localizar o ponto ótimo.
Desenvolva um programa usando uma linguagem de programação ou uma linguagem de macro para implementar o método da
busca reticulada. Projete um programa que seja expressamente
preparado para localizar o máximo. Teste o programa com o
mesmo problema do Exemplo 14.1.
14.11 Desenvolva uma equação unidimensional na direção do gradiente de pressão, no ponto (4, 2). A função que dá a pressão é
f(x, y) = 6x 2 y − 9y 2 − 8x 2
14.12 A função temperatura é
f(x, y) = 2x 3 y 2 − 7x y + x 2 + 3y
Desenvolva uma função unidimensional na direção do gradiente de
temperatura, no ponto (1, 1).
y
–5
3
– 10 – 15 – 20 – 25
0
2
0
1
–2
–1
0
Máximo
Figura P14.10
A busca reticulada.
1
2
x
CAPÍTULO
15
Otimização com Restrições
Este capítulo trata dos problemas da otimização nos quais restrições entram em jogo. Em
primeiro lugar serão abordados problemas em que tanto a função objetivo quanto as
restrições são lineares. Para esses casos, existem métodos especiais que exploram a linearidade das funções envolvidas — eles são chamados métodos de programação linear,
e os algoritmos associados resolvem com bastante eficiência problemas de grande porte,
com milhares de variáveis e restrições. São usados em uma grande variedade de problemas de engenharia e de gerenciamento.
Então, retornaremos brevemente ao problema mais geral da otimização com restrições não-lineares. Finalmente, será apresentada uma visão geral de como os pacotes e
bibliotecas podem ser utilizados na otimização.
15.1
PROGRAMAÇÃO LINEAR
A programação linear (PL) é uma abordagem para otimização que trabalha para encontrar um objetivo desejado, como a maximização de lucros ou a minimização de custos, na
presença de restrições tais como recursos limitados. O termo linear indica que as funções
que representam tanto o objetivo quanto as restrições são lineares. O termo programação
não significa “programação de computadores”, mas, em vez disso, indica “planejamento”
ou “agendamento” (Revelle et al., 1997).
15.1.1 Forma Padrão
O problema básico da programação linear consiste em duas partes principais: a função
objetivo e um conjunto de restrições. Para um problema de maximização, a função objetivo é geralmente expressa como
Maximize Z = c1 x1 + c2 x2 + · · · + cn xn
(15.1)
ai1 x1 + ai2 x2 + · · · + ain xn ≤ bi
(15.2)
xi ≥ 0
(15.3)
onde cj é o lucro de cada unidade da j-ésima atividade que foi empreendida e xj é a quantidade da j-ésima atividade. Assim, o valor da função objetivo, Z, é o lucro total devido ao
número total de atividades, n.
As restrições podem ser representadas em geral por
onde aij é a quantidade do i-ésimo recurso que é consumido por cada unidade da j-ésima
atividade e bi é a quantidade do i-ésimo recurso disponível. Isto é, os recursos são
limitados.
O segundo tipo geral de restrições especifica que todas as atividades devem ter um
valor positivo,
Nesse contexto, isso expressa a noção realística de que, para alguns problemas, uma atividade negativa é fisicamente impossível (por exemplo, não é possível produzir um número
negativo de artefatos).
Conjuntamente, a função objetivo e as restrições especificam o problema de programação linear. Elas dizem que estamos tentando maximizar o lucro para um número de atividades sob a restrição de que tais atividades utilizam uma quantidade finita de recursos. Antes
de mostrar como esse resultado pode ser obtido, primeiro será desenvolvido um exemplo.
323
OTIMIZAÇÃO COM RESTRIÇÕES
324
EXEMPLO 15.1
Preparando um Problema de PL
Enunciado do Problema. O problema a seguir é desenvolvido a partir da área da engenharia química ou de petróleo. Entretanto, ele é relevante para todas as áreas da engenharia que lidam com a produção de produtos com recursos limitados.
Suponha que uma indústria de processamento de gás receba uma quantidade fixa de
gás bruto por semana. Esse gás bruto é processado em dois tipos de gás para aquecimento,
com qualidade regular e premium. Esses tipos de gás estão em alta demanda (isto é, têm
garantia de venda) e fornecem lucros diferentes para a companhia. No entanto, sua produção envolve restrições de tempo e armazenamento. Por exemplo, apenas um tipo de gás
pode ser produzido por vez e as ferramentas de processamento estão disponíveis apenas
por 80 horas/semana. Além disso, existe restrição de armazenamento local para os produtos. Todos esses fatores são listados a seguir (observe que uma tonelada métrica, ou ton,
é igual a 1.000 kg):
Produto
Recurso
Regular
Premium
Gás bruto
Tempo de produção
Armazenamento
7 m3/ton
10 h/ton
9 tons
11 m3/ton
8 hr/ton
6 tons
Lucro
150/ton
175/ton
Disponibilidade
do Recurso
77 m3/semana
80 h/semana
Desenvolva uma formulação em programação linear para maximizar os lucros dessa
operação.
Solução. O engenheiro operando essa indústria deve decidir quanto de cada tipo de gás
deve ser produzido para maximizar os lucros. Se a quantidade de gás regular ou premium
produzida por semana for denotada por x1 e x2, respectivamente, o lucro total por semana
pode ser calculado como
Lucro total ⫽ 150x1 ⫹ 175x2
ou, escrito como uma função objetivo de programação linear,
Maximize Z = 150x1 + 175x2
As restrições podem ser desenvolvidas de forma similar. Por exemplo, a quantidade
total de gás bruto utilizada pode ser calculada como
Total de gás utilizado ⫽ 7x1 ⫹ 11x2
Esse total não pode exceder o estoque disponível de 77 m3/semana, de modo que a restrição pode ser representada por
7x1 + 11x2 ≤ 77
As restrições restantes podem ser desenvolvidas de forma parecida, com o resultado
da formulação total do problema de PL dada por
Maximize Z = 150x1 + 175x2
(maximize o lucro)
7x1 + 11x2 ≤ 77
(restrição de material)
x1 ≤ 9
(restrição de armazenamento do tipo “regular”)
x1,x2 ≥ 0
(restrições de sinal positivo)
sujeito a
10x1 + 8x2 ≤ 80
(restrição de tempo)
x2 ≤ 6
(restrição de armazenamento do tipo “premium”)
Observe que essas equações constituem a formulação total da PL. As explicações entre
parênteses do lado direito foram acrescentadas para esclarecer o significado de cada termo.
15.1 PROGRAMAÇÃO LINEAR
325
15.1.2 Solução Gráfica
Como estão limitadas a duas ou três dimensões, as soluções gráficas têm utilidade prática
limitada. Entretanto, são muito usadas para ilustrar alguns conceitos básicos subjacentes
às técnicas algébricas usadas para resolver problemas de grande dimensão com o auxílio
do computador.
Para um problema bidimensional, como o Exemplo 15.1, o espaço da solução é
definido como um plano com x1 medido ao longo da abscissa e x2 ao longo das ordenadas.
Já que são lineares, as restrições podem ser representadas nesse plano como retas. Se o
problema de PL foi formulado adequadamente (isto é, tem solução), essas retas de restrição demarcam uma região, chamada espaço das soluções viáveis, compreendendo
todas as possíveis combinações de x1 e x2 que obedecem às restrições e, portanto, representam soluções viáveis. A função objetivo para um valor particular de Z pode então ser
desenhada como outra reta e superposta nesse espaço. O valor de Z pode ser ajustado até
que ele esteja em um valor máximo e ainda toque o espaço viável. Esse valor de Z representa a solução ótima. Os valores correspondentes de x1 e x2, onde Z toca o espaço das
soluções viáveis, representam os valores ótimos para as atividades. O exemplo a seguir
deve ajudar a esclarecer essa abordagem.
EXEMPLO 15.2
Solução Gráfica
Enunciado do Problema. Desenvolva a solução gráfica para o problema de processamento de gás descrito previamente no Exemplo 15.1:
Maximize Z = 150x1 + 175x2
sujeito a
7x1 + 11x2 ≤ 77
10x1 + 8x2 ≤ 80
x1 ≤ 9
x2 ≤ 6
x1 ≥ 0
x2 ≥ 0
(1)
(2)
(3)
(4)
(5)
(6)
As restrições foram numeradas para que sejam identificadas na solução gráfica a seguir.
Solução. Primeiro, as restrições devem ser traçadas no espaço de soluções. Por exemplo, a primeira restrição pode ser reformulada como uma reta substituindo-se a desigualdade por um sinal de igualdade e isolando x2:
7
x2 = − x1 + 7
11
Assim, na Figura 15.1a, os possíveis valores para x1 e x2 que obedecem a essa restrição
caem abaixo dessa reta (a direção designada no desenho por uma pequena flecha). As outras restrições podem ser tratadas de forma análoga e superpostas na Figura 15.1a. Observe como elas englobam a região onde todas são satisfeitas. Esse é o espaço das
soluções viáveis (a área ABCDE na figura).
Além de definir o espaço viável, a Figura 15.1a também fornece uma visão intuitiva
da solução. Em particular, pode-se ver que a restrição 3 (armazenamento do gás regular)
é “redundante”. Isto é, o espaço das soluções viáveis não é afetado se essa restrição for removida.
Em seguida, a função objetivo pode ser acrescentada ao desenho. Para fazer isso, um
valor de Z deve ser escolhido. Por exemplo, para Z = 0, a função objetivo se torna
0 = 150x1 + 175x2
ou, isolando x2, encontramos a reta
150
x1
x2 = −
175
OTIMIZAÇÃO COM RESTRIÇÕES
326
x2
x2
Redundante
8
8
E
4
D
F
E
1
4
14
00
3
C
5
Z⫽
D
C
Z⫽
2
60
0
0
A
6
B
4
8
0
x1
(a)
A
B
Z⫽
0
4
8
x1
(b)
FIGURA 15.1
Solução gráfica de um problema de programação linear. (a) As restrições definem o espaço
das soluções viáveis. (b) A função objetivo pode ser aumentada até atingir o valor máximo que
obedeça a todas as restrições. Graficamente, a função se move para cima até tocar o espaço
viável em um único ponto ótimo.
Como mostrado na Figura 15.1b, isso representa a reta tracejada que passa pela origem.
Agora, já que o interesse é maximizar Z, pode-se aumentá-lo, por exemplo, para 600, e a
função objetivo é
x2 =
600 150
−
x1
175 175
Assim, o aumento do valor da função objetivo move a reta para longe da origem. Uma vez
que essa reta ainda cai no espaço de solução, o resultado ainda é viável. Por essa mesma
razão, entretanto, ainda existe a possibilidade de melhora. Então, Z pode continuar
crescendo até que mais aumento leve a função objetivo para além da região viável. Como
mostrado na Figura 15.1b, o valor máximo de Z corresponde a aproximadamente 1.400.
Nesse ponto, x1 e x2 são iguais a aproximadamente 4,9 e 3,9, respectivamente. Assim, a
solução gráfica diz que, se forem produzidas essas quantidades de regular e premium,
haverá um lucro máximo de cerca de 1.400.
Além de determinar os valores ótimos, a abordagem gráfica fornece mais informações intuitivas sobre o problema. Isso pode ser apreciado substituindo-se as respostas
de volta nas equações das restrições,
7(4,9) + 11(3,9) ∼
= 77
10(4,9) + 8(3,9) ∼
= 80
4,9 ≤ 9
3,9 ≤ 6
Conseqüentemente, como fica claro também a partir da figura, produzir a quantidade
ótima de cada produto leva direto a um ponto no qual as restrições de recurso (1) e tempo
(2) são satisfeitas, mas no limite. Tais restrições são ditas limitantes. Ademais, como também é evidente graficamente, nenhuma das restrições de armazenamento [(3) e (4)] age
como uma limitação. Tais restrições são chamadas não-limitantes. Isso leva à conclusão
15.1 PROGRAMAÇÃO LINEAR
327
prática de que, nesse caso, pode-se aumentar os lucros aumentando as fontes de recurso
(o gás bruto) ou o tempo de produção. Além disso, tudo indica que um aumento no armazenamento não teria impacto no lucro.
O resultado obtido no exemplo anterior é um dos quatro possíveis que podem ser
obtidos em um problema de programação linear. São eles:
1.
2.
3.
4.
Solução única. Como no exemplo, o máximo da função objetivo intercepta a região
viável em um único ponto.
Soluções alternativas. Suponha que a função objetivo do exemplo tenha coeficientes
de modo que seja precisamente paralela a uma das restrições. No problema, uma
maneira de isso ocorrer seria se o lucro fosse modificado para $ 140/ton e $ 220/ton.
Então, em vez de um único ponto, o problema teria um número infinito de pontos
ótimos, correspondentes a um segmento de reta (Figura 15.2a).
Nenhuma solução viável. Como na Figura 15.2b, é possível que o problema seja
enunciado de modo que não existam soluções viáveis. Isso pode ocorrer por causa do
fato de se estar lidando com um problema insolúvel ou de erros na descrição
do problema. O último caso pode ocorrer se o problema está sobre-restrito, ao ponto
de nenhuma solução poder satisfazer todas as restrições.
Problemas ilimitados. Como na Figura 15.2c, isso usualmente significa que o
problema é sub-restrito e, portanto, está aberto. Como no item anterior, nenhuma
solução viável, esse caso pode resultar de erros cometidos durante a especificação
do problema.
Suponha agora que o problema envolva uma solução única. A abordagem gráfica
pode sugerir uma estratégia enumerativa para procurar o máximo. Olhando a Figura 15.1,
fica claro que o ótimo sempre ocorre em um dos vértices, onde duas restrições se encontram. Tal ponto é conhecido formalmente como ponto extremo. Assim, de um número infinito de possibilidades no espaço de decisão, concentrar-se nos pontos extremos claramente reduz as opções possíveis.
Além disso, pode-se reconhecer que nem todo ponto extremo é viável, isto é, satisfaz todas as restrições. Por exemplo, observe que o ponto F na Figura 15.1a é um ponto
extremo, mas não é viável. Limitaremo-nos aos pontos extremos viáveis para reduzir
ainda mais o espaço de busca.
Finalmente, uma vez que os pontos extremos sejam identificados, aquele que
fornece o melhor valor para a função objetivo representa a solução ótima. A busca por
essa solução ótima pode ser feita exaustivamente (e de forma ineficiente) calculando-se o
FIGURA 15.2
Além de uma solução única para o ponto ótimo (por exemplo, a Figura 15.1b), há três outros
possíveis resultados para um problema de programação linear: (a) pontos ótimos alternativos,
(b) nenhuma solução viável, e (c) um resultado ilimitado.
x2
x2
x2
Z
0
x1
(a)
0
x1
(b)
0
x1
(c)
328
OTIMIZAÇÃO COM RESTRIÇÕES
valor da função objetivo em cada ponto extremo viável. A seção seguinte discute o
método simplex, que oferece uma estratégia mais atraente, ao mapear um caminho seletivo por uma seqüência de pontos extremos viáveis para chegar ao ponto ótimo de uma
maneira extremamente eficiente.
15.1.3 O Método Simplex
O método simplex é baseado na suposição de que uma solução ótima é um ponto extremo.
Assim, a abordagem deve ser capaz de discernir se, durante a solução do problema, um
ponto extremo ocorre. Para fazer isso, as equações de restrição são reformuladas como
igualdades introduzindo-se as chamadas variáveis de folga.
Variáveis de Folga. Como o nome indica, uma variável de folga (ou de desvio) mede
quanto de recurso restrito está disponível, isto é, quanta “folga” de recurso está disponível.
Por exemplo, lembre-se da restrição de recurso usada nos Exemplos 15.1 e 15.2,
7x1 + 11x2 ≤ 77
Pode-se definir a variável de folga S1 como a quantidade de gás bruto que não é usada
para um nível de produção particular (x1, x2). Se essa quantidade for adicionada do lado
esquerdo da restrição, torna a relação exata,
7x1 + 11x2 + S1 = 77
Agora, perceba o que a variável de folga diz. Se for positiva, significa que se tem alguma “folga” na restrição. Ou seja, há alguma sobra de recurso que não está sendo completamente utilizada. Se for negativa, isso diz que a restrição foi excedida. Finalmente, se
for zero, satisfez-se exatamente a restrição — todos os recursos disponíveis foram usados. Como esta é exatamente a condição na qual as retas de restrição se interceptam, a
variável de folga fornece um meio para se detectar esses pontos extremos.
Uma variável de folga diferente é usada para cada equação de restrição, resultando
no que é chamado de versão completamente aumentada,
Maximize Z = 150x1 + 175x2
sujeito a
7x1 + 11x2 + S1
10x1 + 8x2
= 77
(15.4a)
= 80
(15.4b)
=9
(15.4c)
+ S4 = 6
(15.4d)
+ S2
+ S3
x1
x2
x1 , x2 , S1 , S2 , S3 , S4 ≥ 0
Observe que escrevemos as quatro equações com igualdade de modo que as incógnitas estejam alinhadas em colunas. Fizemos isso para enfatizar que estamos agora lidando com um sistema de equações algébricas lineares (lembre-se da Parte Três). Na
seção seguinte, será mostrado como essas equações podem ser usadas para determinar os
pontos extremos algebricamente.
Soluções Algébricas. Em contraste com a Parte Três, em que havia n equações com n
incógnitas, o sistema exemplo [Equações (15.4)] é subespecificado ou subdeterminado,
isto é, tem mais incógnitas que equações. Em termos gerais, existem n variáveis estruturais (ou seja, as incógnitas originais), m variáveis de folga ou de sobra (uma por restrição) e n + m variáveis no total (estruturais mais de folga). No problema de produção de
gás, há 2 variáveis estruturais, 4 variáveis de folga e 6 variáveis no total. Assim, o problema envolve a resolução de 4 equações com 6 variáveis.
A diferença entre o número de incógnitas e o número de equações (igual a 2 no problema) está diretamente relacionada a como é possível distinguir um ponto extremo
15.1 PROGRAMAÇÃO LINEAR
329
viável. Especificamente, todo ponto viável tem 2 variáveis entre as 6 iguais a zero. Por
exemplo, os cinco vértices da área ABCDE têm os seguintes valores iguais a zero:
Ponto Extremo
Variáveis Iguais a Zero
A
B
C
D
E
x1, x2
x2, S2
S1, S2
S1, S4
x1, S4
Essa observação leva à conclusão que os pontos extremos podem ser determinados
de forma padrão fazendo duas das variáveis iguais a zero. No exemplo, isso reduz o
problema à forma solúvel de 4 equações com 4 incógnitas. Por exemplo, para o ponto E,
fazer x1 = S4 = 0 reduz o sistema à forma padrão
11x2 + S1
8x2
= 77
= 80
+ S2
+ S3 = 9
=6
x2
o qual pode ser resolvido por x2 = 6, S1 = 11, S2 = 32, e S3 = 9. Conjuntamente com
x1 = S4 = 0, esses valores definem o ponto E.
Generalizando, uma solução básica para m equações lineares com n incógnitas é desenvolvida fazendo-se n − m variáveis iguais a zero e resolvendo-se as m equações para
as m incógnitas remanescentes. As variáveis iguais a zero são formalmente chamadas de
variáveis não-básicas, enquanto que as m variáveis remanescentes são chamadas de variáveis básicas. Se todas as variáveis básicas forem não-negativas, o resultado é chamado
solução básica viável. O ponto ótimo será uma dessas soluções.
Assim, uma abordagem direta para calcular o ponto ótimo seria calcular todas as
soluções básicas, determinar quais delas são viáveis e, entre estas, qual tem o maior valor
de Z. Há duas razões pelas quais tal abordagem não é interessante.
Primeiro, mesmo para problemas de tamanho moderado, a abordagem pode envolver a solução de um grande número de equações. Para m equações com n incógnitas,
isso resulta na solução de
Cmn =
n!
m!(n − m)!
sistemas de equações simultâneas. Por exemplo, se existirem 10 equações (m = 10) com
16 incógnitas (n = 16), haverá 8.008 [= 16!/(10! 6!)] sistemas de equações 10 × 10
para resolver!
Segundo, uma quantidade significativa dessas soluções pode não ser viável. Por
exemplo, no problema corrente, entre C64 = 15 pontos extremos, apenas 5 são viáveis.
Claramente, se for possível evitar resolver todos esses sistemas desnecessários, um algoritmo mais eficiente será desenvolvido. Tal abordagem é descrita a seguir.
Implementação do Método Simplex. O método simplex evita as ineficiências delineadas na seção anterior. Ele faz isso começando com uma solução básica viável. A
seguir, move-se por uma seqüência de outras soluções básicas viáveis que melhoram sucessivamente o valor da função objetivo. Eventualmente, o valor ótimo é atingido e o
método é encerrado.
Essa abordagem será ilustrada com o problema do processamento de gás dos Exemplos 15.1 e 15.2. O primeiro passo é começar em uma solução básica viável (um ponto
extremo do espaço viável). Para casos como o nosso, um ponto de partida óbvio seria o
ponto A; isto é, x1 = x2 = 0. O sistema original com 6 equações e 4 incógnitas se torna
330
OTIMIZAÇÃO COM RESTRIÇÕES
= 77
S1
= 80
S2
=9
S3
S4 = 6
Assim, os valores iniciais para as variáveis básicas são dados automaticamente como
sendo iguais ao lado direito das equações de restrição.
Antes de prosseguir para o próximo passo, a informação inicial pode agora ser resumida em uma forma tabular conveniente chamada tableau. Como mostrado a seguir,
um tableau fornece um resumo da informação principal que constitui um problema de
programação linear.
Básicas
Z
Z
S1
S2
S3
S4
1
0
0
0
0
x2
S1
S2
S3
S4
Solução
Intersecção
−175
11
8
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
77
80
9
6
11
8
9
∞
x1
−150
7
10
1
0
Observe que, no que diz respeito ao tableau, a função objetivo é expressa como
Z − 150x1 − 175x2 − 0S1 − 0S2 − 0S3 − 0S4 = 0
(15.5)
O próximo passo envolve o movimento para uma nova solução básica viável que
leve a uma melhoria na função objetivo. Consegue-se isso aumentando uma variável nãobásica corrente (nesse ponto, x1 ou x2) acima do zero, de modo que Z aumente. Lembre-se
de que, no exemplo presente, os pontos extremos devem ter 2 valores iguais a zero. Portanto, uma das variáveis básicas (S1, S2, S3, ou S4) deve ser igualada a zero.
Para resumir esse passo importante: uma das variáveis não-básicas correntes deve
tornar-se básica (não-nula). Essa variável é chamada variável de entrada. Nesse processo,
uma das variáveis básicas correntes deve tornar-se não-básica (nula). Essa variável é
chamada variável de saída.
FIGURA 15.3
Representação gráfica de como o método simplex se move sucessivamente por soluções
básicas viáveis até chegar a um ponto ótimo, de maneira eficiente.
x2
2
8
E
4
D
4
3
C
1
A
0
B
4
8
F
x1
15.1 PROGRAMAÇÃO LINEAR
331
Agora, será desenvolvida uma abordagem matemática para a escolha das variáveis
de entrada e saída. Por causa da convenção que é usada para escever a função objetivo
[Equação (15.5)], a variável de entrada pode ser qualquer variável na função objetivo que
tenha um coeficiente negativo (porque isso faria Z crescer). A variável com maior valor
negativo é convencionalmente escolhida porque usualmente leva a um maior incremento
em Z. Nesse caso, x2 seria a variável de entrada, já que seu coeficiente, –175, é menor que
o coeficiente de x1, –150.
Nesse ponto, a solução gráfica pode ser consultada para se conseguir intuição sobre
os próximos passos. Como na Figura 15.3, começamos no ponto inicial A. Com base no
seu coeficiente, x2 deve ser escolhido como entrada. Entretanto, para que esse exemplo
seja breve, escolheremos x1, já que se pode ver do gráfico que isso levará mais rapidamente ao máximo.
Em seguida, deve-se escolher a variável de saída de um grupo de variáveis básicas
correntes: S1, S2, S3 ou S4. Graficamente, vê-se que existem duas possibilidades. Mover-se
para o ponto B fará com que S2 seja zero, enquanto que mover-se para o ponto F fará S1
igual a zero. Entretanto, o gráfico também mostra claramente que ir para F não é possível,
pois este está fora do espaço das soluções viáveis. Portanto, a decisão é mover-se
de A para B.
Como o mesmo resultado pode ser deduzido matematicamente? Uma maneira é calcular os valores nos quais as retas de restrição interceptam o eixo ou a reta correspondente à
variável de entrada (no caso, o eixo x1). Pode-se calcular esse valor como a razão entre o
lado direito da restrição (a coluna “Solução” do tableau) e o coeficiente correspondente
de x1. Por exemplo, para a variável de folga da primeira restrição S1, o resultado é
Intersecção =
77
= 11
7
As intersecções restantes podem ser calculadas e listadas como na última coluna do
tableau. Uma vez que 8 é o menor inteiro positivo, isso significa que a segunda reta de
restrição será atingida primeiro quando x1 crescer. Assim, S2 deve ser a variável de saída.
Nesse ponto, o movimento terá sido para B (x2 = S2 = 0), e a nova solução básica
se torna
7x1 + S1
= 77
10x1
= 80
=9
+ S3
x1
S4 = 6
A solução desse sistema de equações define efetivamente os valores das variáveis básicas
no ponto B: x1 = 8, S1 = 21, S3 = 1 e S4 = 6.
O tableau pode ser usado para fazer os mesmos cálculos o método de Gauss-Jordan.
Lembre-se de que a estratégia básica por trás do método de Gauss-Jordan envolve a conversão do elemento pivô para 1 e a eliminação dos coeficientes na mesma coluna acima e
abaixo do elemento pivô (ver Seção 9.7).
Nesse exemplo, a linha do pivô é S2 (a variável de saída) e o elemento pivô é 10 (o
coeficiente da variável de entrada x1). Dividindo a linha por 10 e substituindo S2 por
x1, obtém-se
Básicas
Z
x1
x2
S1
S2
S3
S4
Z
S1
x1
S3
S4
1
0
0
0
0
−150
7
1
1
0
−175
11
0,8
0
1
0
1
0
0
0
0
0
0,1
0
0
0
0
0
1
0
0
0
0
0
1
Solução Intersecção
0
77
8
9
6
OTIMIZAÇÃO COM RESTRIÇÕES
332
Em seguida, os coeficientes de x1 nas outras linhas podem ser eliminados. Por
exemplo, para a linha da função objetivo, a linha do pivô é multiplicada por ⫺150 e o resultado é subtraído da primeira linha, resultando
Z
x1
x2
S1
S2
S3
S4
Solução
1
−0
−150
−(−150)
−175
−(−120)
0
−0
0
−(−15)
0
0
0
0
0
−(−1.200)
1
0
−55
0
15
0
0
1.200
Operações semelhantes podem ser feitas nas linhas restantes para dar o novo tableau,
Básicas
Z
x1
x2
S1
S2
S3
S4
Solução
Z
S1
x1
S3
S4
1
0
0
0
0
0
0
1
0
0
−55
5,4
0,8
−0,8
1
0
1
0
0
0
15
−0,7
0,1
−0,1
0
0
0
0
1
0
0
0
0
0
1
1.200
21
8
1
6
Intersecção
3,889
10
−1,25
6
Assim, esse novo tableau sintetiza toda a informação para o ponto B. Isso inclui o fato de
que o movimento aumentou a função objetivo para Z = 1.200.
O tableau pode então ser usado para mapear o próximo e, nesse caso, o último passo.
Apenas mais uma variável, x2, tem um valor negativo na função-objetivo e, portanto, é escolhida como variável de entrada. Segundo os valores da intersecção (agora calculados
como a coluna solução sobre os coeficientes na coluna x2), a primeira restrição tem o
menor valor positivo e, portanto, S1 é escolhida como a variável de saída. Assim,
o método simplex leva do ponto B ao ponto C na Figura 15.3. Finalmente, a eliminação
de Gauss-Jordan pode ser implementada para resolver as equações simultâneas. O resultado é o tableau final,
Básicas
Z
x1
x2
S1
S2
S3
S4
Solução
Z
x2
x1
S3
S4
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
10,1852
0,1852
−0,1481
0,1481
−0,1852
7,8704
−0,1296
0,2037
−0,2037
0,1296
0
0
0
1
0
0
0
0
0
1
1.413,889
3,889
4,889
4,111
2,111
Sabe-se que o resultado é final porque não existem coeficientes negativos remanescentes
na linha da função objetivo. A solução final é tabulada como x1 = 3,889 e
x2 = 4,889, o que fornece um máximo da função objetivo de Z = 1.413,889. Além disso,
uma vez que S3 e S4 ainda estão entre as variáveis básicas, sabe-se que a solução é limitada pelas primeira e segunda restrições.
15.2
OTIMIZAÇÃO COM RESTRIÇÕES NÃO-LINEARES
Há várias abordagens para tratar de problemas de otimização na presença de restrições, e
elas podem, geralmente, ser divididas nas abordagens indiretas e diretas (Rao, 1996).
Uma abordagem indireta típica usa as chamadas funções de penalização, que envolvem a
colocação de uma expressão adicional para fazer que a função objetivo se torne menos
ótima quando a solução se aproxima de uma restrição. Assim, a solução será desencorajada de violar as restrições. Embora esses métodos sejam úteis para alguns problemas,
eles podem tornar-se trabalhosos quando o problema envolve muitas restrições.
O método de busca do gradiente reduzido generalizado (GRG) é um dos mais populares entre os métodos diretos (para detalhes, ver Fylstra et al., 1998; Lasdon et al.,
1978; Lasdon e Smith, 1992). Esse é, de fato, o método não-linear usado no Excel Solver.
15.3 OTIMIZAÇÃO COM PACOTES
333
Ele primeiro “reduz” o problema a um problema de otimização sem restrições, o que
é feito resolvendo-se um conjunto de equações não-lineares para as variáveis básicas em
termos das variáveis não-básicas. Assim, o problema sem restrições é resolvido usandose abordagens parecidas com aquelas descritas no Capítulo 14. Inicialmente, uma direção
de busca é escolhida ao longo da qual se tenha um incremento na função objetivo. A escolha-padrão é uma abordagem quasi-Newton (BFGS), que, como descrito no Capítulo 14,
requer o armazenamento de uma aproximação para a matriz hessiana. Essa abordagem
tem um bom desempenho na maior parte dos casos. A abordagem do gradiente conjugado
também está disponível no Excel como uma alternativa para problemas de grande porte.
O Excel Solver tem a boa característica de automaticamente mudar para o método do gradiente conjugado, dependendo do espaço disponível. Uma vez que a direção de busca é
estabelecida, é realizada uma busca unidimensional ao longo dessa direção, com a utilização de uma abordagem de tamanho de passo variável.
OTIMIZAÇÃO COM PACOTES
Bibliotecas e pacotes de software têm grandes recursos para otimização. Nesta seção, será
feita uma introdução a alguns dos mais utilizados.
15.3.1 EXCEL PARA PROGRAMAÇÃO LINEAR
Há uma grande variedade de pacotes de software expressamente projetados para implementar programação linear. Entretanto, por causa dessa grande disponibilidade, nos concentramos na planilha Excel. Isso envolve o uso da opção Solver previamente empregada
no Capítulo 7 para a localização das raízes.
A forma como o Solver é usado na programação linear é parecida com as nossas aplicações prévias, pelo fato de os dados serem introduzidos em células da planilha. A estratégia básica é chegar a uma única célula que deve ser otimizada como uma função das
variações de outras células da planilha. O exemplo seguinte ilustra como isso pode ser
feito para o problema do processamento de gás.
EXEMPLO 15.3
Usando o Solver do Excel para um Problema de Programação Linear
Enunciado do Problema. Use o Excel para resolver o problema do processamento de
gás examinado neste capítulo.
Solução. Uma planilha Excel preparada para calcular os valores pertinentes para o
problema do processamento de gás é mostrada na Figura 15.4. As células não-sombreadas
FIGURA 15.4
Planilha Excel preparada para o uso do Solver na programação linear.
Problema do Processamento de Gás
Regular
Produzido
Gás bruto
Tempo
Armazenamento Regular
Armazenamento Premium
Lucro por Unidade
Lucro
Premium
Total
Disponível
SOFTWARE
15.3
SOFTWARE
334
OTIMIZAÇÃO COM RESTRIÇÕES
são aquelas que contêm dados numéricos e de rotulação. As células sombreadas envolvem quantidades que são calculadas com base em outras células. Observe que a célula
a ser maximizada é a D12, que representa o lucro total. As células a serem variadas são
B4:C4, as quais armazenam as quantidades de gás regular e premium produzidas.
Uma vez criada a planilha, o Solver é selecionado no menu Tools. Nesse ponto, uma
janela de diálogo será mostrada, perguntando pela informação pertinente. As células pertinentes da janela de diálogo do Solver são preenchidas como
As restrições são acrescentadas uma a uma selecionando-se o botão “Add”. Essa
ação abrirá uma janela de diálogo como a mostrada a seguir:
A restrição de que o gás bruto total (célula D6) deve ser inferior ou igual ao suprimento disponível (E6) pode ser inserida como já mostrado. Após acrescentar cada
restrição, o botão “Add” pode ser selecionado. Quando todas as quatro restrições forem
inseridas, o botão OK é selecionado para retornar à janela de diálogo do Solver.
Agora, antes de executar, o botão de opções do Solver deve ser selecionado (Options) e o campo indicado por “Assume linear model” deve ser marcado. Isso fará que o
Excel empregue uma versão do algoritmo simplex (em vez do solver não-linear mais
geral que é comumente usado), o que irá acelerar a sua aplicação.
Depois de selecionar essa opção, retorne para o menu do Solver. Quando o botão OK
for selecionado, uma janela de diálogo se abre com a mensagem sobre o sucesso da operação. No caso presente, o Solver obtém a solução correta (Figura 15.5).
15.3 OTIMIZAÇÃO COM PACOTES
335
Problema de Processamento de Gás
Regular
Premium
Total
Disponível
Produzido
Gás Bruto
Tempo
Armazenamento Regular
Armazenamento Premium
Lucro por Unidade
Lucro
FIGURA 15.5
Planilha Excel mostrando a solução do problema de programação linear.
Além de obter a solução, o Solver também fornece alguns relatórios resumidos úteis.
Vamos explorá-los na aplicação em engenharia descrita na Seção 16.2.
15.3.2 Excel para Otimização Não-linear
A forma como o Solver é usado para a otimização não-linear é parecida com as aplicações
anteriores, pelo fato de os dados serem introduzidos nas células da planilha. Mais uma
vez, a estratégia básica é chegar a uma única célula que deve ser otimizada como função
da variação de outras células da planilha. O exemplo seguinte ilustra como isso pode ser
feito para o problema do pára-quedista discutido na introdução a esta parte do livro (lembre-se do Exemplo PT4.1).
EXEMPLO 15.4
Usando o Solver Excel para a Otimização Não-linear com Restrições
Enunciado do Problema. Lembre-se, do Exemplo PT4.1, que foi desenvolvida uma
otimização não-linear com restrições para minimizar o custo de uma queda de páraquedas em um campo de refugiados.
Parâmetro
Massa total
Aceleração da gravidade
Coeficiente de custo (constante)
Coeficiente de custo (comprimento)
Coeficiente de custo (área)
Velocidade de impacto crítica
Efeito área no arrasto
Altura inicial da queda
Símbolo
Valor
Mt
g
c0
c1
c2
vc
kc
z0
2.000
9,8
200
56
0,1
20
3
500
Unidade
kg
m/s2
$
$/m
$/m2
m/s
kg/(s · m2)
m
Substituindo esses valores nas Equações (PT4.11) a (PT4.19), tem-se
Minimize C = n(200 + 56ℓ + 0,1A2 )
sujeito a
v ≤ 20
n≥1
SOFTWARE
336
OTIMIZAÇÃO COM RESTRIÇÕES
onde n é um inteiro e todas as outras variáveis são reais. Além disso, as seguintes quantidades são definidas por
A = 2πr 2
√
ℓ = 2r
c = 3A
m=
Mt
n
9,8m
9,8m 2
−(c/m)t
t = raiz 500 −
1
−
e
t+
c
c2
9,8m
v=
1 − e−(c/m)t
c
(15.6)
(15.7)
Use Excel para resolver esse problema, determinando as variáveis de projeto r e n que
minimizem o custo C.
Solução. Antes da implementação desse problema em Excel, deve-se primeiro tratar
do problema de determinar a raiz na formulação da Equação (15.7). Uma forma poderia
ser o desenvolvimento de uma macro para implementar um método de localização da
raiz, como a bissecção ou o método da secante. (Observe que ilustraremos como isso é
feito no próximo capítulo, na Seção 16.3).
Por enquanto, é possível uma abordagem mais simples desenvolvendo a seguinte
solução pela iteração de ponto fixo da Equação (15.7),
c
9,8m 2
−(c/m)ti
1−e
ti+1 = 500 +
(15.8)
c2
9,8m
Assim, t pode ser ajustado até que a Equação (15.8) seja satisfeita. Pode ser mostrado que,
para o intervalo dos parâmetros usado nesse problema, essa fórmula sempre converge.
Agora, como essa equação pode ser resolvida em uma planilha? Como mostrado a
seguir, duas células podem ser preparadas para armazenar o valor de t e o lado direito da
Equação (15.8) [isto é, f(t)].
Você pode digitar a Equação (15.8) na célula B21 de modo que esta obtenha o valor de
tempo da célula B20 e os outros valores de parâmetro de células em outros locais da
planilha (ver a seguir como preparar a planilha como um todo). Então, vá até a célula B20
e direcione seu valor para a célula B21.
Uma vez que você entre com todas essas formulações, imediatamente verá uma
mensagem de erro: “Cannot resolve circular references”, porque B20 depende de B21 e
vice-versa. Agora, selecione Tools/Options no menu principal e selecione calculation. A
partir da janela de diálogo do “calculation”, marque “iteration” e pressione “OK”. Imediatamente a planilha irá iterar essas células e o resultado virá como
15.3 OTIMIZAÇÃO COM PACOTES
337
Problema de Otimização do Pára-quedas
Parâmetros:
Variáveis de projeto:
Restrições:
Variável
Valores calculados:
Tipo
Limite
Função objetivo:
Custo
Localização da raiz:
FIGURA 15.6
Planilha Excel preparada para otimização não-linear do problema do pára-quedas.
Assim, as células convergirão para a raiz. Se você quiser tornar o processo mais preciso,
simplesmente pressione a tecla F9 para fazê-lo iterar mais algumas vezes (o padrão é de
100 iterações, o que pode ser modificado se você desejar).
Uma planilha Excel para calcular os valores pertinentes pode ser preparada como
mostrado na Figura 15.6. As células não-sombreadas contêm valores numéricos e de rotulação. As células sombreadas envolvem quantidades que são calculadas com base em
outras células. Por exemplo, a massa em B17 é calculada com a Equação (15.6), com base
nos valores para Mt (B4) e n (E5). Observe também que algumas células são redundantes.
Por exemplo, a célula E11 aponta para a célula E5. A informação é repetida na célula E11
de modo que a estrutura das restrições seja evidente na planilha. Finalmente, perceba que
a célula a ser minimizada é a célula E15, a qual contém o custo total. As células a serem
variadas são E4:E5, as quais armazenam o raio e o número de pára-quedas.
Uma vez que a planilha seja criada, escolha a opção Solver do menu Tools. Nesse
ponto, uma janela de diálogo aparecerá, perguntando por informações pertinentes. As
células pertinentes da caixa de diálogo do Solver devem ser preenchidas como
SOFTWARE
338
OTIMIZAÇÃO COM RESTRIÇÕES
As restrições devem ser acrescentadas uma a uma selecionando-se o botão “Add”.
Isso abrirá uma caixa de diálogo como a mostrada a seguir
Como mostrado, a restrição de que a velocidade de impacto (célula E10) deva ser inferior ou igual à velocidade requerida (G10) pode ser inserida como mostrado na figura
anterior. Depois de adicionar cada restrição, o botão “Add” deve ser selecionado. Observe
que a seta para baixo lhe permite escolher entre diversos tipos de restrição (<=, >=, =,
e inteiro). Portanto, pode-se forçar o número de pára-quedas (E5) a ser um inteiro.
Quando todas as três restrições tiverem sido introduzidas, o botão “OK” deve ser
pressionado para retornar à janela de diálogo do Solver. Depois de selecionar essa opção,
retorne para o menu do Solver. Quando o botão “OK” for selecionado, uma janela de diálogo aparecerá anunciando o sucesso da operação. Para o caso presente, o Solver obtém
as soluções corretas, como na Figura 15.7.
Problema de Otimização do Pára-quedas
Parâmetros:
Variáveis de projeto:
Restrições:
Variável
Valores calculados:
Tipo
Limite
Função objetivo:
Custo
Localização da raiz:
FIGURA 15.7
Planilha Excel mostrando a solução para a otimização não-linear do problema do
pára-quedas.
Assim, foi determinado que o custo mínimo de $4.377,26 ocorrerá se a carga for dividida em seis partes com um pára-quedas de raio de 2,944 m. Além de obter a solução,
o Solver também emitirá alguns relatórios resumidos, os quais serão explorados na aplicação de engenharia descrita na Seção 16.2.
15.3 OTIMIZAÇÃO COM PACOTES
339
15.3.3 MATLAB
Como resumido na Tabela 15.1, o software MATLAB tem uma variedade de funções
internas para implementar otimização. Os dois exemplos seguintes ilustram como elas
são usadas.
TABELA 15.1 Funções do MATLAB para implementar otimização.
EXEMPLO 15.5
Função
Descrição
fminbnd
fminsearch
Minimiza uma função de uma variável com restrições limitantes
Minimiza uma função de muitas variáveis
Usando MATLAB para Otimização Unidimensional
Enunciado do Problema. Use a função fminbnd do MATLAB para achar o máximo de
f(x) = 2 sen x −
x2
2
no intervalo xl = 0 e xu = 4. Lembre-se de que, no Capítulo 13, foram usados vários
métodos para resolver esse problema e determinar que x = 1,7757 e f(x) = 1,4276.
Solução.
Primeiro, deve-se criar um M-file para armazenar a função.
function f=fx(x)
f = –(2*sen(x)–x^2/10)
Introduzimos o oposto da função, pois estamos interessados na maximização. Então, invocaremos a função fminbnd com
>> x=fminbnd('fx',0,4)
O resultado é
f =
–1.7757
x =
1.4275
Observe que argumentos adicionais podem ser incluídos. Um adendo bastante útil
seria a inclusão de opções de otimização como a tolerância a erros ou número máximo de
iterações. Isso é feito com a função optimset, a qual foi usada previamente no Exemplo 7.6
e tem o formato geral,
optimset('param1',value1,'param2',value2,...)
onde parami é um parâmetro especificando o tipo da opção e valuei é o valor atribuído a
essa opção. Por exemplo, se você quiser estipular uma tolerância de 1 × 10−2,
optimset('TolX',le–2)
Assim, a solução do problema presente até uma tolerância de 1 × 10−2 pode ser gerada com
>> fminbnd('fx',0,4,optimset('TolX',le–2))
OTIMIZAÇÃO COM RESTRIÇÕES
340
SOFTWARE
com o resultado
f =
–1.7757
ans =
1.4270
Um conjunto completo de parâmetros pode ser encontrado invocando-se Help do
seguinte modo:
>> Help optimset
EXEMPLO 15.6
Usando MATLAB para Otimização Multidimensional
Enunciado do Problema. Use a função do MATLAB fminsearch para achar o máximo de
f(x, y) = 2x y + 2x − x 2 − 2y 2
Use as aproximações iniciais x = −1 e y = 1. Lembre-se de que, no Capítulo 14, foram
usados vários métodos para resolver esse problema e determinar que x = 2 e y = 1 com
f(x, y) = −2.
Solução.
Primeiro, deve-se criar um M-file para armazenar a função:
function f=fxy(x)
f = –(2*x(1)*x(2)+2*x(1)–x(1)^2–2*x(2)^2)
Entramos com o oposto da função porque estamos interessados na maximização. Então,
invocaremos fminsearch com
>> x=fminsearch('fxy',[–1,1])
O resultado é
f =
–2.0000
x =
1.9999
1.0000
Como no caso da fminbnd, argumentos podem ser incluídos de modo a especificar
parâmetros adicionais do processo de otimização. Por exemplo, a função optimset pode
ser usada para limitar o número máximo de iterações
x=fminsearch('fxy',[–1,1],optimset('MaxIter',2))
com o resultado
f =
7.0025
Exiting: Maximum number of iterations has been exceeded
– increase MaxIter option.
Current function value: 7.000000
x =
–1
1
Então, como foi estipulado um limite muito rigoroso para o número de iterações, a
otimização terminará bem antes de o máximo ser atingido.
15.3 OTIMIZAÇÃO COM PACOTES
341
TABELA 15.2 Rotinas IMSL para otimização.
Categoria
Rotina
Capacidade
UVMIF
UVMID
UVMGS
Usa apenas valores da função
Usa valores da função e da primeira derivada
Função não-lisa
UMINF
UMING
UMIDH
UMIAH
UMCGF
UMCGG
UMPOL
Usa gradiente com diferenças finitas
Usa o gradiente analítico
Usa a hessiana com diferenças finitas
Usa a hessiana analítica
Usa gradiente conjugado, com gradiente com
diferenças finitas
Usa gradiente conjugado, com gradiente analítico
Função não-lisa
UNLSF
UNLSJ
Usa jacobiano com diferenças finitas
Usa jacobiano analítico
BCONF
BCONG
BCODH
BCOAH
BCPOL
BCLSF
Usa gradiente com diferenças finitas
Usa gradiente analítico
Usa hessiana com diferenças finitas
Usa hessiana analítica
Função não-lisa
Mínimos quadrados não-lineares, com jacobiano
com diferenças finitas
Mínimos quadrados não-lineares, com jacobiano
analítico
Minimização sem
restrições
Função de uma variável
Função de várias variáveis
Mínimos quadrados
não-lineares
Minimização com
limites simples
BCLSJ
Minimização com
restrições lineares
DLPRS
QPROG
LCONF
LCONG
Programação linear densa
Programação quadrática
Função objetivo geral, com gradiente com
diferenças finitas
Função objetivo geral, com gradiente analítico
NCONF
NCONG
Usa gradiente com diferenças finitas
Usa gradiente analítico
CDGRD
FDGRD
FDHES
GDHES
Gradiente com diferenças centradas
Gradiente com diferenças progressivas
Hessiana com diferenças progressivas
Hessiana com diferenças progressivas e
gradiente analítico
Jacobiano com diferenças progressivas
Gradiente com teste fornecido pelo usuário
Hessiana com teste fornecido pelo usuário
Jacobiano com teste fornecido pelo usuário
Geração de pontos de partida
Minimização com
restrições não-lineares
Rotinas de serviço
FDJAC
CHGRD
CHHES
CHJAC
GGUES
OTIMIZAÇÃO COM RESTRIÇÕES
342
SOFTWARE
15.3.4 IMSL
O IMSL tem várias sub-rotinas em Fortran para otimização (Tabela 15.2). Na presente
discussão, será focada a rotina UVMID. Essa rotina localiza o ponto mínimo de uma
função lisa de uma única variável usando cálculos da função e da primeira derivada.
UVMID é implementada pelo seguinte comando CALL:
CALL UVMID (F, G, XGUESS, ERREL, GTOL, MAXFN, A, B, X, FX, GX)
onde
F = FUNCTION fornecida pelo usuário para calcular o valor da função a ser minimizada. A forma é F(X), onde X é o ponto no qual a função é calculada. (Entrada) X não deve ser modificado por F. F é o valor calculado da função no
ponto X. (Saída)
G = FUNCTION fornecida pelo usuário para calcular a derivada da função, onde
G é o valor calculado da derivada da função no ponto X. (Saída)
F e G devem ser declaradas EXTERNAL na chamada do programa.
XGUESS = Uma aproximação inicial do ponto de mínimo de F. (Entrada)
ERREL = Acurácia relativa pedida para o valor final de X. (Entrada)
GTOL = Tolerância na derivada usada para decidir se o ponto em questão é um mínimo. (Entrada)
MAXFN = Número máximo de cálculos de funções permitido. (Entrada)
A = Extremidade inferior de um intervalo no qual o máximo está localizado.
(Entrada)
B = Extremidade superior de um intervalo no qual o máximo está localizado. (Entrada)
FX = Valor da função em X. (Saída)
GX = Valor da derivada em X. (Saída)
EXEMPLO 15.7
Usando IMSL para localizar um Único Ponto Ótimo
Enunciado do Problema. Use UVMID para determinar o máximo da função unidimensional tratada no Capítulo 13 (ver Exemplos 13.1 a 13.3)
f(x) = 2 sen x −
x2
10
Solução. Um exemplo de um programa principal e função em Fortran 90, utilizando
UVMIF, para resolver esse problema pode ser escrito como
PROGRAM Oned
USE mimsl
IMPLICIT NONE
INTEGER::maxfn=50
REAL::xguess=0.,errel=1.E-6,gtol=1.E-6,a=-2.,b=2.
REAL::x,f,g,fx,gx
EXTERNAL f,g
CALL UVMID(f,g,xguess,errrel,gtol,maxfn,a,b,x,fx,gx)
PRINT *,x,fx,gx
END PROGRAM
FUNCTION f(x)
IMPLICIT NONE
REAL::x,f
f=–(2.*SIN(X) – x**2/10.)
END FUNCTION
PROBLEMAS
343
FUNCTION g(x)
IMPLICIT NONE
REAL::x,g
g=–(2.*COS(x) – 2.*x/10.)
END FUNCTION
Observe que, como a rotina foi preparada para minimização, entrou-se com o oposto
da função. Um exemplo de execução é
1.427334
–1.775726
–4.739729E–04
PROBLEMAS
15.1 Uma companhia faz dois tipos de produto, A e B. Esses produtos são fabricados durante 40 horas de trabalho por semana e,
então, despachados no final da semana. Eles vão requerer, respectivamente, 20 e 5 kg de matéria-prima para cada quilo de produto, e
a companhia dispõe de 9.500 kg de matéria-prima por semana.
Apenas um produto pode ser fabricado por vez, com o tempo de
produção para cada um de 0,04 e 0,12 hora, respectivamente. A
fábrica pode armazenar apenas 550 kg de produto total por semana.
Finalmente, a companhia tem lucro de $ 45 e $ 20 em cada unidade
de A e B, respectivamente. Cada unidade de produto é equivalente
a um quilo.
(a) Escreva um problema de programação linear para maximizar o
lucro.
(b) Resolva o problema de programação linear graficamente.
(c) Resolva o problema de programação linear pelo método
simplex.
(d) Resolva o problema com um pacote de software.
(e) Avalie qual das seguintes opções aumentará mais os lucros:
aumentar a quantidade de matéria-prima, a capacidade de armazenamento, ou aumentar o tempo de produção.
15.2 Suponha que, para o Exemplo 15.1, a indústria de processamento de gás decida produzir um terceiro tipo de produto com as
seguintes características,
Supreme
Gás bruto
Tempo de produção
Armazenamento
Lucro
15 m3/ton
12 hr/ton
5 tons
$250/ton
Além disso, suponha que uma nova fonte de gás bruto tenha sido
descoberta, de modo que a quantidade total disponível é duplicada
para 154 m3/semana.
(a) Escreva o problema de programação linear para maximizar o
lucro.
(b) Resolva o problema de programação linear pelo método
simplex.
(c) Resolva o problema com um pacote de software.
(d) Avalie qual das seguintes opções aumentará mais os lucros: aumentar a quantidade de matéria-prima, a capacidade de armazenamento, ou aumentar o tempo de produção.
15.3 Considere o problema de programação linear:
Maximize f(x, y) = 1,75x + 1,25y
sujeito a
1,2x + 2,25y ≤ 14
x + 1,1y ≤ 8
2,5x + y ≤ 9
x ≥0
y≥0
Obtenha a solução:
(a) Graficamente.
(b) Usando o método simplex.
(c) Usando um pacote ou biblioteca de software apropriado (por
exemplo, Excel, MATLAB ou IMSL).
15.4 Considere o problema de programação linear:
Maximize f(x, y) = 6x + 8y
sujeito a
5x + 2y ≤ 40
6x + 6y ≤ 60
2x + 4y ≤ 32
x ≥0
y≥0
Obtenha a solução:
(a) Graficamente.
(b) Usando o método simplex.
(c) Usando um pacote ou biblioteca de software apropriado (por
exemplo, Excel, MATLAB ou IMSL).
15.5 Use um pacote ou biblioteca de software (por exemplo,
Excel, MATLAB ou IMSL) para resolver o seguinte problema de
otimização não-linear com restrições:
Maximize f (x, y) ⫽ 1,2x ⫹ 2y ⫺ y3
sujeito a
2x + y ≤ 2
x ≥0
y≥0
15.6 Use um pacote ou biblioteca de software (por exemplo,
Excel, MATLAB ou IMSL) para resolver o seguinte problema de
otimização não-linear com restrições:
Minimize f(x, y) = 15x + 15y
sujeito a
x 2 + y2 ≤ 1
x + 2y ≤ 2,1
x ≥0
y≥0
15.7 Considere o seguinte problema de otimização não-linear com
restrições:
344
OTIMIZAÇÃO COM RESTRIÇÕES
Minimize f(x, y) = (x − 3)2 + (y − 3)2
sujeito a
(a) Resolva graficamente quantos carros de cada modelo devem
ser produzidos para maximizar o lucro e qual é esse lucro.
(b) Resolva o mesmo problema com Excel.
x + 2y = 4
(a) Use uma abordagem gráfica para fazer uma estimativa da
solução.
(b) Use um pacote ou biblioteca de software (por exemplo, o
Excel) para obter uma estimativa mais acurada.
15.8 Use um pacote ou biblioteca de software para determinar o
máximo de
f(x, y) = 2,25x y + 1,75y − 1,5x 2 − 2y 2
15.9 Use um pacote ou biblioteca de software para determinar o
máximo de
f(x, y) = 4x + 2y + x 2 − 2x 4 + 2x y − 3y 2
15.10 Dada a seguinte função,
f(x, y) = −8x + x 2 + 12y + 4y 2 − 2x y
use um pacote ou biblioteca de software para determinar o mínimo:
(a) Graficamente.
(b) Numericamente.
(c) Substitua o resultado de (b) de volta na função para determinar
o mínimo f(x, y).
(d) Determine a hessiana e seu determinante e substitua o resultado
do item (b) de volta nesse último para verificar que um mínimo
foi de fato encontrado.
15.11 Você foi contratado para desenhar um poço cônico com
cobertura para armazenar 50 m3 de dejetos líquidos. Assuma o custo
da escavação como $ 100/m3, o custo do revestimento lateral como
$ 50/m2, e o custo da cobertura como $ 25/m2. Determine as dimensões do poço que minimizam o custo (a) se a inclinação lateral for
irrestrita e (b) se a inclinação lateral tiver de ser menor que 45º.
15.12 Uma companhia de automóveis tem duas versões do mesmo
modelo de carro para venda, um modelo compacto com duas portas
e um com quatro portas em tamanho completo.
Lucro
Tempo de Produção
Armazenamento
Demanda do
Consumidor
Duas
Portas
Quatro
Portas
Disponibilidade
$13.500/carro
15 h/carro
400 carros
700/carro
$15.000/carro
20 h/carro
8.000 h/ano
350 carros
500/carros
240.000
carros.
15.13 Og é o líder de uma tribo de homens das cavernas, a Águas
Calmas, surpreendentemente avançada matematicamente, embora
tecnologicamente da “época roda do moinho”. Ele deve decidir o
número de clavas e o número de machados de pedra que devem ser
produzidos para a futura batalha contra a tribo vizinha, a Pôr-doSol Tranqüilo. A experiência ensinou a ele que cada clava causa em
média 0,45 morte e 0,65 mutilação, enquanto cada machado causa
0,70 morte e 0,35 mutilação. A produção de clavas requer 5,1 lb de
pedra e 2,1 homens-hora de trabalho, enquanto um machado requer
3,2 lb de pedra e 4,3 homens-hora de trabalho. A tribo de Og tem
240 lb de pedra disponíveis para a produção de armas e um total de
200 homens-hora de trabalho disponíveis antes da data esperada da
batalha (que Og tem certeza de que terminará de vez com a guerra).
Og avalia que uma morte vale duas mutilações na quantificação do
estrago causado ao inimigo e deseja produzir um lote de armas que
maximize esse estrago.
(a) Formule esse problema como um problema de programação
linear. Certifique-se de definir suas variáveis de decisão.
(b) Represente esse problema graficamente, certificando-se de distinguir os vértices viáveis dos vértices não-viáveis.
(c) Resolva o problema graficamente.
(d) Resolva o problema usando o computador.
CAPÍTULO
16
Estudo de Casos:
Otimização
O propósito deste capítulo é utilizar os procedimentos numéricos discutidos do Capítulo 13
ao Capítulo 15 para resolver problemas reais da engenharia envolvendo otimização, os
quais são importantes porque engenheiros são freqüentemente solicitados a oferecer a
“melhor” solução para um dado problema. Métodos numéricos e computadores são geralmente necessários para desenvolver soluções ótimas, pois, em muitos casos, as questões
envolvem sistemas complexos e interações.
As aplicações a seguir são típicas das que se encontram durante os cursos de final de
graduação e de pós-graduação. Além disso, são representativas dos problemas que você
deverá enfrentar como profissional. Tais problemas são derivados das diferentes áreas da
engenharia: química/bioengenharia, civil/ambiental, elétrica e mecânica/aeroespacial.
A primeira aplicação, retirada da engenharia química/bioengenharia, consiste em
usar otimização com restrições não-lineares para projetar um tanque cilíndrico ótimo. O
Excel Solver é utilizado para desenvolver a solução.
Em seguida, será usada programação linear para abordar um problema da engenharia
civil/ambiental: minimizar o custo do tratamento de dejetos para atingir os objetivos de
qualidade de água em um rio. Nesse exemplo, serão introduzidos a noção de preços-sombra e seu uso para avaliar a sensibilidade de uma solução de programação linear.
A terceira aplicação, tomada da engenharia elétrica, envolve a maximização da
potência que atravessa um potenciômetro em um circuito elétrico. A solução envolve
otimização unidimensional sem restrições. Além de resolver o problema, será ilustrado
como a macrolinguagem do Visual Basic permite acessar o algoritmo de busca da região
áurea, no contexto do ambiente Excel.
Finalmente, a quarta aplicação, tirada da engenharia mecânica/aeroespacial, envolve achar os deslocamentos da longarina em uma mountain bike minimizando uma
equação bidimensional para a energia potencial.
16.1
PROJETO DE CUSTO MÍNIMO DE UM TANQUE
(ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Os engenheiros químicos (bem como outros especialistas como os engenheiros mecânicos ou civis) enfrentam freqüentemente o problema geral de desenvolver contêineres para transportar líquidos. Suponha que lhe seja pedido para determinar as dimensões de um pequeno tanque cilíndrico para transportar resíduos tóxicos que
será montado na carroceria de uma camionete. Seu objetivo geral será minimizar o custo
do tanque. Entretanto, além do custo, você deve assegurar que o tanque armazene a
quantidade requerida de líquido e que não exceda as dimensões do leito da camionete.
Observe que, pelo fato de o tanque carregar resíduos tóxicos, a sua espessura é especificada por normas.
Um esquema do tanque e do leito é mostrado na Figura 16.1. Como pode ser visto,
o tanque consiste em um cilindro com duas placas soldadas em cada extremidade.
O custo de um tanque envolve duas componentes: (1) custo do material, o qual é
baseado no peso, e (2) custo da soldagem, baseado no comprimento da solda. Observe
que o último envolve tanto o cordão interior quanto o exterior onde as placas se conectam
com o cilindro. Os dados necessários para o problema estão resumidos na Tabela 16.1.
345
346
ESTUDO DE CASOS: OTIMIZAÇÃO
L
t
t
D
Lmáx
Dmáx
FIGURA 16.1
Parâmetros para determinar as dimensões ótimas de um tanque cilíndrico.
TABELA 16.1 Parâmetros para determinar as dimensões ótimas de um tanque cilíndrico
usado para transportar resíduos tóxicos.
Parâmetro
Volume requerido
Espessura
Densidade
Comprimento do leito
Largura do leito
Custo do material
Custo da soldagem
Símbolo
Vo
t
ρ
Lmáx
Dmáx
cm
cw
Valor
0,8
3
8.000
2
1
4,5
20
Unidades
m3
cm
kg/m3
m
m
$/kg
$/m
Solução. O objetivo aqui é construir o tanque com um custo mínimo. O custo está relacionado com as variáveis de projeto (comprimento e diâmetro), já que elas afetam a
massa do tanque e o comprimento dos cordões de solda. Ademais, o problema tem restrições porque o tanque deve (1) encaixar-se na carroceria da camionete e (2) carregar o
volume requerido de material.
O custo consiste no material do tanque e nos custos de soldagem. Portanto, a função
objetivo pode ser escrita como minimizando
C = cm m + cw ℓw
(16.1)
onde C é o custo ($), m é a massa (kg), lw é o comprimento da solda (m), e cm e cw são os
fatores de custo para massa ($/kg) e comprimento da solda ($/m), respectivamente.
Em seguida, formula-se como a massa e o comprimento da solda estão relacionados
às dimensões do tanque. Primeiro, a massa pode ser calculada como o volume de material
vezes a densidade. O volume de material usado para criar as paredes laterais (isto é, o
cilindro) pode ser
calculado por
2 2
D
D
+t −
Vcilindro = Lπ
2
2
Para cada placa circular nas extremidades, tem-se
2
D
+t t
Vplaca = π
2
Portanto, a massa calculada é
2 2
2
D
D
D
+ 2π
+t −
+t t
m = ρ Lπ
2
2
2
onde é a densidade (kg/m3).
(16.2)
16.1 PROJETO DE MENOR CUSTO DE UM TANQUE
347
O comprimento da solda para prender cada placa é igual à circunferência interna
mais a externa do cilindro. Para as duas placas, o comprimento total da solda é
D
D
= 4π(D + t)
+ t + 2π
ℓw = 2 2π
(16.3)
2
2
Dados os valores de D e L (lembre-se, a espessura t é fixada por normas), as Equações
(16.1) a (16.3) fornecem um meio de calcular o custo. Perceba também que, quando as
Equações (16.2) e (16.3) são substituídas na Equação (16.1), a função objetivo resultante
é não-linear nas incógnitas.
Em seguida, pode-se formular as restrições. Primeiro, calcula-se qual o volume que
pode ser armazenado dentro do tanque,
πD 2
V =
L
4
Esse volume deve ser igual ao volume desejado. Assim, uma restrição é
πD 2 L
= Vo
4
onde Vo é o volume desejado (m3).
As restrições restantes se destinam a garantir que o tanque caiba nas dimensões do
leito da carroceria da camionete.
L ⱕ Lmáx
D ⱕ Dmáx
O problema está agora especificado. Substituindo os valores da Tabela 16.1, o problema pode ser resumido como
Maximize C = 4,5m + 20ℓw
sujeito a
πD 2 L
= 0,8
4
L≤2
D≤1
FIGURA 16.2
Planilha Excel preparada para calcular o custo de um tanque sujeito a uma exigência de
volume e a restrições de tamanho.
Projeto ótimo de um tanque
Parâmetros
Variáveis de projeto
Restrições:
Valores calculados
,
Função objetivo
348
ESTUDO DE CASOS: OTIMIZAÇÃO
onde
e
2 2
2
D
D
D
+ 2π
m = 8000 Lπ
+ 0,03 −
+ 0,03 0,03
2
2
2
ℓw = 4π(D + 0,03)
O problema pode agora ser resolvido de várias maneiras. Entretanto, a abordagem
mais simples para um problema dessa magnitude é usar uma ferramenta como o Excel
Solver. A planilha para conseguir isso é mostrada na Figura 16.2.
Para o caso mostrado, entram-se os limites superiores para D e L. Para esse caso, o
volume é maior que o requerido (1,57 > 0,8).
Uma vez que a planilha seja criada, a escolha Solver é feita a partir do menu de Ferramentas (Tools). Nesse ponto uma janela de diálogo aparecerá, perguntando pelas informações pertinentes. As células pertinentes da janela de diálogo do Solver devem ser
preenchidas como
Quando o botão OK for selecionado, uma janela de diálogo se abrirá e mostrará um
relatório de sucesso da operação. Para o caso presente, o Solver obtém a solução correta,
a qual é mostrada na Figura 16.3. Observe que o diâmetro ótimo está raspando na restrição de 1 m. Portanto, se a capacidade requerida para o tanque fosse aumentada, nós
atingiríamos essa restrição e nela permaneceríamos e o problema se reduziria a uma busca
unidimensional pelo comprimento.
FIGURA 16.3
Resultado da minimização. O
preço é reduzido de $ 9.154
para $ 5.723 por causa do
menor volume usando as
dimensões D = 0,98 m
e L = 1,05 m.
Projeto ótimo de um tanque
Parâmetros
Variáveis de projeto:
Restrições:
Valores calculados:
Função objetivo:
16.2 TRATAMENTO DE BAIXO CUSTO PARA DEJETOS LÍQUIDOS
16.2
349
TRATAMENTO DE CUSTO MÍNIMO PARA DEJETOS LÍQUIDOS
(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. As descargas de dejetos líquidos nas grandes cidades são freqüentemente a maior causa da poluição dos rios. A Figura 16.4 ilustra o tipo de sistema com
o qual um engenheiro ambiental pode se confrontar. Várias cidades são localizadas
perto dos rios e seus afluentes. Cada uma dessas cidades gera poluição em uma taxa P,
medida em unidades de miligramas por dia (mg/d). A carga de poluição gerada é sujeita a um tratamento de dejetos do qual resulta uma fração de poluição removida x.
Portanto, a quantidade de poluição descarregada nos rios é o excesso que não é removido pelo tratamento,
(16.4)
Wi = (1 − xi )Pi
onde Wi é a descarga de dejetos da i-ésima cidade.
Quando a descarga de dejetos entra na corrente, mistura-se com a poluição das
fontes a montante. Se for suposta uma mistura completa no ponto de descarga, a concentração resultante nesse ponto de descarga pode ser calculada por um simples balanço
de massa,
Wi + Q u cu
ci =
(16.5)
Qi
onde Qu é o escoamento (L/d), cu é a concentração (mg/L) no rio imediatamente a montante do ponto de descarga, e Qi é o escoamento a jusante do ponto de descarga (L/d).
Após a concentração no ponto de mistura ter sido estabelecida, os processos de decomposição química e biológica podem remover alguma poluição enquanto esta escoa rio
abaixo. No caso presente, será suposto que essa remoção pode ser representada por um
simples fator de redução fracionária R.
Supondo que as nascentes (isto é, o rio acima das cidades 1 e 2) estejam livres da
poluição, a poluição nos quatro nós pode ser calculada como
(1 − x1 )P1
c1 =
Q 13
(1 − x2 )P2
Q 23
R13 Q 13 c1 + R23 Q 23 c2 + (1 − x3 )P3
c3 =
Q 34
c2 =
c4 =
(16.6)
R34 Q 34 c3 + (1 − x4 )P4
Q 45
A seguir, percebe-se que o tratamento de dejetos custa uma quantidade diferente, di
($ 1.000/mg de remoção), em cada uma das estações. Portanto, o custo total do tratamento
(em uma base diária) pode ser calculado por
Z = d1 P1 x1 + d2 P2 x2 + d3 P3 x3 + d4 P4 x4
onde Z é o custo total diário do tratamento ($ 1.000/d).
FIGURA 16.4
Quatro estações de tratamento
de dejetos descarregando
poluição em um sistema fluvial.
Os segmentos do rio entre as
cidades são indicados por
números circulados.
P2
P1
WWTP2
WWTP1
13
P4
WWTP4
3
W3
P3
2
23
W1
1
W2
WWTP3
34
W4
4
45
(16.7)
ESTUDO DE CASOS: OTIMIZAÇÃO
350
TABELA 16.2 Parâmetros para as quatro estações de tratamento de água descarregando poluição em um sistema fluvial,
com a concentração resultante (ci ) para tratamento zero. O escoamento, a remoção e os padrões para os
segmentos do rio também são listados.
Cidade
1
2
3
4
Pi (mg/d)
di ($10−6/mg)
1,00 × 109
2,00 × 109
4,00 × 109
2,50 × 109
2
2
4
4
ci (mg/L)
Segmento
Q (L/d)
R
cs (mg/L)
1–3
2–3
3–4
4–5
1,00 × 107
5,00 × 107
1,10 × 108
2,50 × 108
0,5
0,35
0,6
20
20
20
20
100
40
47,3
22,5
A peça final no “jogo da decisão” envolve regulamentos e normas ambientais. Para
proteger o uso benéfico do rio (por exemplo, navegação, pesca, banho), os regulamentos
dizem que a concentração de poluentes no rio não deve exceder um padrão de qualidade
de água cs.
Os parâmetros para o sistema fluvial na Figura 16.4 estão resumidos na Tabela 16.2.
Observe que existe uma diferença no custo do tratamento entre as cidades rio acima (1 e 2)
e as cidades rio abaixo (3 e 4) por causa do modelo antiquado das instalações nessa parte
do rio.
A concentração pode ser calculada com a Equação (16.6) e o resultado foi listado na
coluna sombreada, para o caso em que nenhum tratamento de dejetos é implementado
(isto é, todos os x’s = 0). Observe que o padrão de 20 mg/L é violado em todos os pontos
de mistura.
Use programação linear para determinar os níveis de tratamento que satisfazem o
padrão de qualidade de água com custo mínimo. Além disso, avalie o impacto de tornar
o padrão mais rigoroso abaixo da cidade 3. Isto é, refaça o exercício, mas com padrões
para os segmentos 3-4 e 4-5 abaixados para 10 mg/L.
Solução. Todos esses fatores descritos podem ser combinados no seguinte problema de
programação linear:
Minimize Z = d1 P1 x1 + d2 P2 x2 + d3 P3 x3 + d4 P4 x4
(16.8)
sujeito às seguintes restrições
(1 − x1 )P1
≤ cs1
Q 13
(1 − x2 )P2
≤ cs2
Q 23
(16.9)
R13 Q 13 c1 + R23 Q 23 c2 + (1 − x3 )P3
≤ cs3
Q 34
R34 Q 34 c3 + (1 − x4 )P4
≤ cs4
Q 45
0 ≤ x1 , x2 , x3 , x4 ≤ 1
(16.10)
Assim, a função objetivo é minimizar o custo do tratamento [Equação (16.8)] sujeito
à restrição de que o padrão de qualidade de água deve ser satisfeito em todas as partes do
sistema [Equação (16.9)]. Além disso, o tratamento não pode ser negativo ou superior a
100% de remoção [Equação (16.10)].
O problema pode ser resolvido usando-se vários pacotes. Para a presente aplicação,
será utilizada uma planilha Excel. Como visto na Figura 16.5, os dados, assim como as
concentrações calculadas, podem ser naturalmente colocados em uma planilha.
16.2 TRATAMENTO DE BAIXO CUSTO PARA DEJETOS LÍQUIDOS
FIGURA 16.5
Planilha Excel preparada para
calcular o custo do tratamento
de dejetos em um sistema fluvial
regulamentado. A coluna F
contém o cálculo da
concentração segundo a
Equação (16.6). As células F4 e
H4 são destacadas para mostrar
as fórmulas usadas para calcular
c1 e o custo do tratamento para
a cidade 1. Adicionalmente, a
célula H9 é destacada para
mostrar a fórmula (Equação
16.8) para calcular o custo
total, que deve ser minimizado.
351
Tratamento de Dejetos Líquidos de Baixo Custo
Não tratado Tratamento Decarga
Cidade
P
Custo do
tratamento
Custo unt. Conc.
rio
Escoamento Resíduo
removido
Segmento do rio
,
Uma vez que a planilha seja criada, a escolha do Solver é feita no menu de Ferramentas. Nesse momento, uma janela de diálogo aparecerá perguntando por informação
pertinente ao problema. As células pertinentes da janela de diálogo do Solver devem ser
preenchidas por
Observe que nem todas as restrições são mostradas, pois a janela de diálogo mostra apenas seis restrições por vez.
FIGURA 16.6
Resultados da minimização. O padrão de qualidade da água é atingido a um custo de $ 12.600 por
dia. Observe que, a despeito do fato de que nenhum tratamento é necessário na cidade 4, a
concentração no seu ponto de mistura realmente satisfaz o padrão.
Tratamento de Dejetos Líquidos de Baixo Custo
Não tratado
Tratamento Decarga
Cidade
Custo unt.
Custo do
tratamento
Conc.
rio
,
Segmento
Escoamento Resíduo
do rio
removido
352
ESTUDO DE CASOS: OTIMIZAÇÃO
Quando o botão OK for selecionado, uma janela de diálogo aparecerá com o relatório de sucesso da operação. Para o caso presente, o Solver obtém a solução correta,
que é mostrada na Figura 16.6. Antes de aceitar a solução (selecionando o botão OK da
caixa de Relatório do Solver), observe que três relatórios podem ser gerados: Resposta,
Sensibilidade e Limites. Selecione o Relatório de Sensibilidade e então clique no botão
OK para aceitar a solução. O Solver automaticamente gerará o Relatório de Sensibilidade, que aparece como na Figura 16.7.
Agora vamos examinar a solução (Figura 16.6). Observe que o padrão será satisfeito
em todos os pontos de mistura. De fato, a concentração na cidade 4 será menor que o
padrão (16,28 mg/L), embora nenhum tratamento tenha sido necessário na cidade 4.
Como exercício final, pode-se baixar o padrão nos trechos 3–4 e 4–5 para 10 mg/L.
Antes de fazer isso, o Relatório de Sensibilidade é examinado. Para o caso presente, a
coluna-chave da Figura 16.7 é o multiplicador de Lagrange (também conhecido como
preço-sombra). O preço-sombra é um valor que expressa a sensibilidade da função objetivo (no caso, o custo) a uma variação unitária de uma das restrições (o padrão de qualidade da água). Portanto, ele representa o custo adicional que incorrerá caso se torne o
padrão mais exigente. No exemplo, é bastante revelador que o maior preço-sombra,
−$ 440/cs3, ocorre para uma mudança no padrão que se está considerando (isto é, a jusante da cidade 3), indicando que a mudança será dispendiosa.
Isso pode ser confirmado executando-se novamente o Solver com o novo padrão
(ou seja, reduzindo o valor nas células G6 e G7 a G10). Como visto na Tabela 16.3, o
FIGURA 16.7
Relatório de Sensibilidade para
planilha preparada para
calocular o custo do tratamento
de dejetos líquidos em um
sistema fluvial.
Microsoft Excel 11.0 Sensitivity Report
Worksheet: [Sec1602.xls]Sheet1
Report Created: 2/28/2005 11:37:39 AM
Adjustable Cells
Final
Value
Name
Cell
Reduced
Gradient
Constraints
Cell
Final
Value
Name
Lagrange
Multiplier
TABELA 16.3 Comparação de dois cenários envolvendo o impacto de
diferentes valores de padrão no custo do tratamento.
Cenário 1: Todo cs ⴝ 20
Cidade
1
2
3
4
x
0,8
0,5
0,5625
0
Custo = $12.600
Cenário 2: A Jusante cs ⴝ 10
c
20
20
20
15,28
Cidade
1
2
3
4
x
0,8
0,5
0,8375
0,264
Custo = $19.640
c
20
20
10
10
16.3 POTÊNCIA MÁXIMA TRANSFERIDA PARA UM CIRCUITO
353
resultado é que o custo do tratamento sobe de $ 12.600 por dia para $ 19.640 por dia.
Além disso, reduzir o padrão das concentrações para atingir valores menores significa
que a cidade 4 deve começar a tratar os seus dejetos e que a cidade 3 deve melhorar
o seu tratamento. Observe também que o tratamento das cidades a montante não
é afetado.
16.3
POTÊNCIA MÁXIMA TRANSFERIDA PARA UM CIRCUITO
(ENGENHARIA ELÉTRICA)
Fundamentos. O circuito resistor simples da Figura 16.8 contém três resistores fixos e
um resistor ajustável. Resistores ajustáveis são chamados potenciômetros. Os valores
para os parâmetros são V = 80 V, R1 = 8 , R2 = 12 e R3 = 10 . (a) Encontre o valor
da resistência ajustável Ra que maximiza a potência transferida nos terminais 1 e 2. (b)
Faça uma análise de sensibilidade para determinar como a potência máxima e o correspondente ajuste do potenciômetro Ra variam conforme V varia no intervalo de 45 a 105V.
Solução. Uma expressão para a potência do circuito pode ser deduzida das leis de
Kirchhoff como sendo
P(Ra ) =
VR3 Ra
R1 (Ra + R2 + R3 ) + R3 Ra + R3 R2
Ra
2
(16.11)
Substituir os valores dos parâmetros resulta no gráfico mostrado na Figura 16.9. Observe
que a potência máxima transferida ocorre com uma resistência de cerca de 16 .
Esse problema será resolvido de duas formas com a planilha Excel. Primeiro, aplicaremos tentativa e erro e a opção Solver. A seguir, desenvolveremos um macro em Visual Basic para fazer a análise de sensibilidade.
(a) Uma planilha Excel para implementar a Equação (16.11) é mostrada na Figura 16.10.
Como indicado, a Equação (16.11) pode ser introduzida na célula B9. Assim, o valor de
Ra (célula B8) pode variar por tentativa e erro até que uma potência máxima seja determinada. Para esse exemplo, o resultado é a potência de 30,03W e um valor ajustado no
potenciômetro de Ra = 16,44 .
FIGURA 16.8
Um circuito resistor com um
resistor ajustável ou
potenciômetro.
R1
R2
1
⫹
V
R3
Ra
⫺
2
FIGURA 16.9
Um gráfico da potência
transferida entre os terminais
1-2 da Figura 16.8 em função
da resistência do
potenciômetro Ra.
40
Potência
máxima
P(Ra)
20
0
0
50
100 Ra
354
ESTUDO DE CASOS: OTIMIZAÇÃO
Uma abordagem ainda melhor envolve o uso da opção Solver no menu de Ferramentas da planilha. Nesse ponto, uma janela de diálogo aparecerá, perguntando por informação pertinente. As células pertinentes para a janela de diálogo do Solver devem ser
preenchidas como
Set target cell:
B9
Equal to ● max ❍ min ❍ equal to
By changing cells
0
B8
Quando o botão OK for selecionado, uma janela de diálogo aparecerá com um relatório de sucesso da operação. Para o presente caso, o Solver obtém a mesma solução
correta que é mostrada na Figura 16.10.
(b) Agora, embora a abordagem anterior seja excelente para um único cálculo, não é
conveniente para casos nos quais múltiplas otimizações serão utilizadas — como na segunda parte dessa aplicação, quando o interesse é determinar como a potência máxima
varia para diferentes valores escolhidos da voltagem. Naturalmente, o Solver pode ser invocado várias vezes para diferentes valores dos parâmetros, mas isso seria ineficiente. É
preferível um caminho envolvendo o desenvolvimento de uma macrofunção que retornaria o ponto ótimo.
Tal função é listada na Figura 16.11. Observe quão grande é a semelhança com o
pseudocódigo da busca da seção áurea apresentado previamente, na Figura 13.5. Além
disso, observe que deve também ser definida uma função para calcular a potência segundo a Equação (16.11).
Uma planilha Excel utilizando essa macro para avaliar a sensibilidade da solução à
voltagem é dada na Figura 16.12. É montada uma coluna de valores que gera o intervalo
de valores de V (isto é, de 45 até 105 V). Uma chamada de função para a macro é escrita
na célula B9, que referencia o valor adjacente de V (o 45, em A9). Além disso, os outros
parâmetros no argumento da função também são incluídos. Observe que, enquanto a
referência a V é relativa, a referência às aproximações superiores e inferiores e às resistências são absolutas (ou seja, incluindo o custo como dominante). Isso foi feito de
modo que, quando a fórmula é copiada, as referências absolutas permanecem fixas enquanto as referências relativas correspondem à voltagem na mesma linha. Uma estratégia
semelhante é usada para colocar a Equação (16.11) na célula C9.
Quando as fórmulas são copiadas para baixo, o resultado é como mostrado na
Figura 16.12. A potência máxima pode ser traçada para mostrar o impacto das variações
de voltagem. Como visto na Figura 16.13, a potência cresce com V.
FIGURA 16.10
Método de determinação pela planilha Excel da potência máxima em um potenciômetro, por tentativa e erro.
Potência Máxima Transferida
16.3 POTÊNCIA MÁXIMA TRANSFERIDA PARA UM CIRCUITO
355
Os resultados para os valores correspondentes do potenciômetro (Ra) são mais interessantes. A planilha indica que para o mesmo valor de ajuste, 16,44 , obtém-se a potência máxima. Tal resultado poderia ser difícil de intuir com base na inspeção casual da
Equação (16.11).
FIGURA 16.11
Macro Excel escrito em Visual
Basic para determinar o
máximo mediante a busca da
seção áurea.
Option Explicit
Function Golden(xlow, xhigh, R1, R2, R3, V)
Dim iter As Integer, maxit As Integer, ea As Double, es As Double
Dim fx As Double, xL As Double, xU As Double, d As Double, x1 as Double
Dim x2 As Double, f1 As Double, f2 As Double, xopt As Double
Const R As Double = (5 ^ 0.5 – 1) / 2
maxit = 50
es = 0.001
xL = xlow
xU = xhigh
iter = 1
d = R * (xU – xL)
x1 = xL + d
x2 = xU – d
f1 = f(x1, R1, R2, R3, V)
f2 = f(x2, R1, R2, R3, V)
If f1 > f2 Then
xopt = x1
fx = f1
Else
xopt = x2
fx = f2
End If
Do
d = R * d
If f1 > f2 Then
xL = x2
x2 = x1
x1 = xL + d
f2 = f1
f1 = f(x1, R1, R2, R3, V)
Else
xU = x1
x1 = x2
x2 = xU – d
f1 = f2
f2 = f(x2, R1, R2, R3, V)
End If
iter = iter + 1
If f1 > f2 Then
xopt = x1
fx =f1
Else
xopt = x2
fx = f2
End If
If xopt <> 0 Then ea = (1 – R) * Abs((xU – xL) / xopt) * 100
If ea <= es Or iter >= maxit Then Exit Do
Loop
Golden = xopt
End Function
Function f(Ra, R1, R2, R3, V)
f = (V * R3 * Ra / (R1 * (Ra + R2 + R3) + R3 * Ra + R3 * R2)) ^ 2 / Ra
End Function
ESTUDO DE CASOS: OTIMIZAÇÃO
356
1
2
3
4
5
6
7
8
9
10
11
12
13
A
B
C
Potência Máxima Transferida
R1
8
R2
12
R3
10
Rmin
0.1
Rmax
100
V
Ra
45 16,44444
60 16.44444
75 16.44444
90 16.44444
105 16.44444
D
Chamada para a função
macro em Visual Basic
= Golden($B$6,$B$7,$B$3,$B$4,$B$5,A9)
P(Ra)
9,501689
16.89189
26.39358
38.00676
51.73142
Cálculo da potência
=(A9*$B$5*B9/($B$3*(B9+$B$4+$B$5)+$B$5*B9+$B$3*$B$4))^2/B9
FIGURA 16.12
Planilha Excel para implementar uma análise de sensibilidade da potência máxima para as variações de voltagem. Essa rotina
acessa o programa macro para a busca da seção áurea da Figura 16.11.
60
P (W)
40
Ra (⍀)
20
0
45
75
V (V)
105
FIGURA 16.13
Resultados da análise de sensibilidade do efeito das variações de voltagem na potência
máxima.
16.4
PROJETO DE UMA MOUNTAIN BIKE
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. Por causa do seu trabalho na indústria de construção, engenheiros civis
são comumente associados ao projeto estrutural. No entanto, outras especialidades da engenharia também têm de lidar com o impacto de forças nos dispositivos que desenvolvem. Particularmente, engenheiros mecânicos e aeroespaciais devem avaliar tanto respostas estáticas quanto dinâmicas para uma grande variedade de veículos, de automóveis
a veículos espaciais.
O interesse recente no ciclismo competitivo e recreativo tem obrigado os engenheiros
a direcionar suas habilidades para o projeto e teste de mountain bikes (Figura 16.14a).
Suponha que você foi escalado para prever o deslocamento horizontal e vertical do quadro
da bicicleta em resposta a uma força. Suponha que as forças que você deve analisar possam
ser simplificadas como descrito na Figura 16.4b. Você está interessado em testar a resposta
do suporte a uma força exercida em uma direção qualquer, identificada pelo ângulo θ.
Os parâmetros para o problema são E ⫽ 2 × 1011 Pa, o módulo de Young,
A = 0,0001 m2, a área da seção transversal, w ⫽ 0,44 m, a largura, ℓ = 0,56 m, o comprimento, e h ⫽ 0,5 m, a altura. Os deslocamentos x e y podem ser calculados determinandose os valores que resultam na energia potencial mínima. Determine os deslocamentos
para uma força de 10.000 N e um intervalo de θ’s de 0o (horizontal) a 90o (vertical).
16.4 PROJETO DE UMA MOUNTAIN BIKE
357
w
h
ᐉ
x
y
(a)
F
(b)
FIGURA 16.14
(a) Uma mountain bike juntamente com o (b) diagrama de corpo livre para uma parte da
estrutura.
Solução. Esse problema pode ser abordado desenvolvendo-se a seguinte equação para
a energia potencial do quadro,
EA w 2 2 EA h 2 2
x +
y − F x cos θ − F y sen θ
V (x, y) =
(16.12)
ℓ 2ℓ
ℓ ℓ
A solução para um ângulo particular é imediata. Para θ = 30∘, os valores dados dos
parâmetros podem ser substituídos na Equação (16.12) para obter
V (x, y) = 5,512,026x 2 + 28,471,210y 2 − 5000x − 8660y
O mínimo para essa função pode ser determinado de várias maneiras. Por exemplo,
usando o Excel Solver, a energia potencial mínima é −3,62 com deflexões de
x = 0,000786 e y = 0,0000878 m.
Naturalmente, o Excel Solver pode ser implementado repetidamente para diferentes
valores de θ, de modo que será possível avaliar como a solução muda com o ângulo. Alternativamente, pode-se escrever uma macro da mesma forma que na Seção 16.3, de tal
modo que múltiplas otimizações possam ser implementadas simultaneamente. É claro que,
para esse caso, um algoritmo de busca multidimensional deve ser implementado. Uma terceira abordagem para o problema seria usar uma linguagem de programação como o Fortran 90 juntamente com uma biblioteca de software de métodos numéricos como o IMSL.
Qualquer que seja a abordagem, os resultados serão como os mostrados na Figura 16.15.
Como era de esperar (Figura 16.15a), a deflexão x tem seu máximo quando a carga está
FIGURA 16.15
(a) Impacto de diferentes ângulos na deflexão (observe que z é a resultante das componentes
x e y), e (b) energia potencial de uma parte do quadro de uma mountain bike sujeita a uma
força constante.
(a)
0,0010
z
m 0,0005
y
x
0,0000
0
(b)
0
⫺2
V
(N • m)
⫺4
⫺6
30
60
90
ESTUDO DE CASOS: OTIMIZAÇÃO
358
apontando para a direção x (θ = 0∘) e a deflexão y tem o seu máximo quando a carga aponta
para a direção y (θ = 90∘). Entretanto, observe que a deflexão na direção x é muito mais pronunciada que aquela na direção y. Isso também pode ser visto na Figura 16.15b, em que a
energia potencial é maior para os ângulos menores. Ambos os resultados se devem à geometria do suporte. Se w se tornasse maior, as deflexões seriam mais uniformes.
PROBLEMAS
Engenharia Química/Bioengenharia
16.1 Projete um contêiner cilíndrico ótimo (Figura P16.1) aberto
em uma das extremidades e que tem uma espessura desprezível. O
contêiner deve conter 0,5 m3. Faça o desenvolvimento de modo que
a área da base mais a da lateral seja minimizada.
Aberto
Como mostrado na Figura P16.3, o crescimento tende a zero em
concentrações muito baixas em decorrência da limitação de alimento, e também tende a zero em concentrações muito altas por
causa do efeito de toxinas (toxicidade). Encontre o valor de c no
qual o crescimento é máximo.
r
0,4
g
(d⫺1) 0,2
h
0
Figura P16.1
5
c (mg/L)
16.2 (a) Projete um contêiner cônico ótimo (Figura P16.2) que
tenha cobertura e paredes de espessura desprezível. O contêiner
deve conter 0,5 m3. Faça o desenvolvimento de modo que a área
da base mais a da lateral seja minimizada. (b) Repita (a) para um
contêiner cônico sem a cobertura.
r
h
Figura P16.2
Um contêiner cônico com tampa.
16.3 A taxa de crescimento de uma cultura específica que produz
um antibiótico é função da concentração de alimento c,
2c
g=
4 + 0,8c + c2 + 0,2c3
Taxa de crescimento específico de uma cultura que produz antibiótico
versus a concentração de alimento.
16.4 Uma instalação química faz três produtos semanalmente.
Cada um dos três produtos requer uma certa quantidade de matéria
química bruta e diferentes tempos de produção e produz lucros
diferentes. A informação pertinente se encontra na Tabela P16.4.
Observe que há espaço suficiente no armazém da empresa para armazenar um total de 450 kg/semana.
(a) Escreva um problema de programação linear para maximizar
o lucro.
(b) Resolva o problema de programação linear pelo método
simplex.
(c) Resolva o problema com um pacote de software.
(d) Avalie qual das seguintes opções aumentará mais os lucros: aumentar a matéria química bruta, o tempo de produção ou o armazenamento.
16.5 Recentemente, engenheiros químicos têm-se envolvido em
uma área chamada de minimização de dejetos. Isso envolve a
operação de uma indústria química de modo que o impacto ambiental seja minimizado. Suponha que uma refinaria desenvolva
um produto Z1 feito de duas substâncias X e Y. A produção de
1 tonelada métrica de produto envolve 1 ton de X e 2,5 ton de Y e
produz 1 ton de dejeto líquido W. Os engenheiros propuseram três
formas alternativas de lidar com o dejeto:
TABELA P16.4
Matéria química bruta
Tempo de produção
Lucro
10
Figura P16.3
Um contâiner cilíndrico sem tampa.
Tampa
0
Produto 1
Produto 2
Produto 3
6 kg/kg
0,05 h/kg
$30/kg
4 kg/kg
0,1 h/kg
$30/kg
12 kg/kg
0,2 h/kg
$35/kg
Recursos
Disponíveis
2.500 kg
55 h/semana
PROBLEMAS
359
• Produzir uma tonelada cúbica de um produto secundário Z2
acrescentando uma tonelada cúbica adicional de X a cada
tonelada cúbica de W.
• Produzir uma tonelada cúbica de outro produto secundário Z3
acrescentando uma tonelada cúbica adicional de Y para cada
tonelada cúbica de W.
• Tratar os dejetos de modo a poder descartá-los na natureza.
Os produtos fornecem lucro de $ 2.000, –$ 75 e $ 250/ton para Z1,
Z2 e Z3, respectivamente. Observe que a produção de Z2 ocasiona,
de fato, um prejuízo. O processo de tratamento custa $ 300/ton.
Além disso, a companhia tem um limite de aquisição de até 7.500 e
12.500 toneladas cúbicas de X e Y, respectivamente, durante o
período de produção. Determine quanto de produto e dejeto pode
ser criado de modo a maximizar o lucro.
16.6 Uma mistura de benzeno e tolueno deve ser separada em um
tanque. A que temperatura deve operar o tanque para atingir a máxima
pureza do tolueno na fase líquida (maximizando xT)? A pressão no
tanque é de 800 mm de Hg. As unidades para a equação de Antoine
são mm de Hg e ºC para pressão e temperatura, respectivamente.
x B PsatB + x T PsatT = P
log10 (PsatB ) = 6,905 −
1211
T + 221
log10 (PsatT ) = 6,953 −
1344
T + 219
Custo = C
1
(1 − x A )2
0,6
+6
Fonte 1 Fonte 2 Fonte 3 Necessidade
Custo ($兾L)
0,50
Fornecimento (105 L兾dia) 20
Concentração (mg兾L)
135
1
xA
0,6
minimizar
≥10
≤100
d
Figura P16.11
16.12 Como engenheiro agrícola, você deve projetar um canal
trapezoidal aberto para transportar água de irrigação (Figura
P16.12). Determine as dimensões ótimas para minimizar o perímetro molhado para uma área da seção transversal de 50 m2. As dimensões relativas são universais?
w
d
x A1
x A2 (1 − x A1 )2
0,6
⎛
+⎝
1−
x A1
x A2
⎞0,6
(1 − x A2 )2
⎠
+6
1
x A2
0,6
⎤
⎥
⎦
16.9 Para a reação
2A + B ⇔ C
o equilíbrio pode ser expresso por:
K =
1,20
5
75
16.11 Você deve projetar um canal triangular aberto para servir de
esgoto para uma indústria química e que deságua em um tanque de
estabilização (Figura P16.11). A velocidade média aumenta com o
raio hidráulico Rh = A兾p, onde A é a área da seção transversal e p é
igual ao perímetro molhado. Uma vez que a taxa de escoamento
máxima corresponde à máxima velocidade, o projeto ótimo corresponde à minimização do perímetro molhado. Determine as dimensões para minimizar o perímetro molhado para uma dada área da
seção transversal. As dimensões relativas são universais?
16.8 No problema 16.7, apenas um reator é usado. Se dois reatores
forem usados em série, a equação que governa o sistema muda. Encontre a taxa de conversão para ambos os reatores xA1 e xA2 de
modo que o custo total do sistema seja minimizado.
Custo =
⎡
⎢
C⎣
1,00
10
100
w
16.7 Um composto A será convertido em B em um tanque de mistura reator. O produto B e o produto A não processado são purificados em uma unidade de separação. O produto A não processado é
reciclado para o reator. Um engenheiro de processo descobriu que
o custo inicial do sistema é função da taxa de conversão xA. Encontre a taxa de conversão que resultará no mais baixo custo do sistema. C é uma constante de proporcionalidade.
16.10 Uma indústria química precisa de 106 L/dia de solução. Três
fontes estão disponíveis a diferentes preços e taxas de fornecimento.
Cada fonte também tem uma concentração diferente de uma impureza que deve ser mantida abaixo de um nível mínimo para se prevenir interferência com a indústria química. Os dados para as três
fontes estão resumidos na tabela a seguir. Determine a quantidade de
cada fonte para se atingir a quantidade necessária com custo mínimo.
[C]
[C]
=
[A]2 [B]
[A0 − 2C]2 [B0 − C]
Se K = 2 M−1, a concentração inicial de A (A0) pode ser variada. A
concentração inicial de B é fixada pelo processo, B0 = 100. A custa
$ 1/M e C é vendido por $ 10/M. Qual deveria ser a concentração
inicial ótima de A para que os lucros fossem maximizados?
Figura P16.12
16.13 Encontre as dimensões ótimas para um tanque cilíndrico
aquecido conter 10 m3 de fluido. As extremidades e as laterais custam $ 200/m2 e $ 100/m2, respectivamente. Além disso, um revestimento é aplicado em toda a área do tanque a um custo de $ 50/m2.
Engenharia Civil/Ambiental
16.14 Um modelo de elementos finitos de uma viga em balanço sujeita a carga e momentos (Figura P16.14) é dada otimizando
f(x, y) = 5x 2 − 5x y + 2,5y 2 − x − 1,5y
onde x é o deslocamento da extremidade e y é o momento da extremidade. Encontre os valores de x e y que minimizam f (x, y).
ESTUDO DE CASOS: OTIMIZAÇÃO
360
x
12
y
o
(mg/L)
Figura P16.14
oc
Uma viga em balanço.
16.15 Suponha que lhe é pedido para projetar uma coluna para suportar uma carga compressiva P, como mostrado na Figura
P16.15a. A coluna tem a seção transversal na forma de um tubo
com paredes finas, como mostrado na Figura P16.15b.
As variáveis de projeto são o diâmetro médio d do tubo e a espessura da parede t. O custo do tubo é calculado como sendo
Custo = f(t, d) = c1 W + c2 d
onde c1 = 4 e c2 = 2 são fatores de custo e W é o peso do tubo,
W = πdt Hρ
onde ρ ⫽ 0,0025 kg/cm3 é a densidade do material do tubo. A
coluna deve suportar a tensão da carga compressiva sem romper.
Portanto,
Tensão efetiva () ⱕ resistência máxima à tensão de
compressão ⫽ y ⫽ 550 kg/cm2
Tensão efetiva ⱕ tensão de ruptura
A tensão efetiva é dada por
σ =
P
P
=
A
πdt
A tensão de ruptura é dada por
σb =
πEI
H 2 dt
onde E é o módulo de elasticidade e I é o momento de inércia da área
da seção transversal. O cálculo pode ser usado para mostrar que
π
I = dt (d 2 + t 2 )
8
Finalmente, os diâmetros dos tubos disponíveis estão entre d1 e d2
e a espessura, entre t1 e t2. Desenvolva e resolva esse problema determinando os valores de d e t que minimizam o custo. Observe que
H = 275 cm, P = 2.000 kg, E = 900.000 kg/cm2, d1 = 1 cm,
d2 = 10 cm, t1 = 0,1 cm e t2 = 1 cm.
P
t
d
(a)
(b)
Figura P16.15
(a) Uma coluna suportando uma carga compressiva P.
(b) A seção transversal da coluna na forma de um tubo com paredes finas.
8
o
4
0
5
0
tc
15
10
t (d)
20
Figura P16.16
Queda do oxigênio latente abaixo de um ponto de descarga de esgoto
em um rio.
16.16 O modelo de Streeter-Phelps pode ser usado para calcular a
concentração de oxigênio dissolvido em um rio abaixo do ponto de
descarga de água de esgoto (Figura P16.16),
Sb
−ka t
kd L o
o = os −
− e−(kd +ks )t −
e
1 − e−ka t
kd + ks − ka
ka
(P16.16)
onde o é a concentração de oxigênio dissolvido [mg/L], os é a concentração de saturação do oxigênio [mg/L], t é o tempo de percurso
[d], Lo é a concentração da demanda bioquímica de oxigênio
(BOD) no ponto de mistura [mg/L], kd é a taxa de decomposição de
BOD [d−1], ks é a taxa de depósito do BOD [d−1], ka é a taxa de
rearejamento [d−1] e Sb é a demanda de oxigênio sedimentado
[mg/L/d].
Como indicado na Figura P16.16, a Equação (P16.16) produz
uma queda do oxigênio que atinge um nível crítico mínimo oc para
um tempo de percurso tc abaixo do ponto de descarga. Esse ponto é
chamado crítico porque representa a posição na qual o biossistema
que mais depende de oxigênio (como os peixes) seria mais pressionado. Determine o tempo crítico de percurso e a concentração
crítica, dados os seguintes valores:
os = 10 mg/L
−1
ks = 0,06 d
kd = 0,2 d−1
L o = 50 mg/L
ka = 0,8 d−1
Sb = 1 mg/L/d
16.17 A distribuição bidimensional da concentração de poluentes
em um canal pode ser descrita por
c(x, y) = 7,7 + 0,15x + 0,22y − 0,05x 2
− 0,016y 2 − 0,007x y
Determine a localização exata do pico de concentração dados a
função e o conhecimento de que o pico fica entre os limites
−10 ≤ x ≤ 10 e 0 ≤ y ≤ 20.
16.18 O escoamento Q [m3/s] em um canal aberto pode ser previsto pela equação de Manning (lembre-se da Seção 8.2)
Q=
H
os
1
Ac R 2/3 S 1/2
n
onde n é o coeficiente de rugosidade de Manning (um número adimensional usado para parametrizar o atrito no canal), Ac é a área da
seção transversal do canal (m2), S é a inclinação do canal (adimensional, metros em declive por metro de comprimento), e R é o raio
hidráulico (m), o qual está relacionado a parâmetros mais fundamentais por R = Ac兾P, onde P é o perímetro molhado (m). Como o
nome indica, o perímetro molhado é o comprimento das laterais do
canal e do fundo que está sob a água. Por exemplo, para um canal
retangular, ele é definido como P = B + 2H, onde H é a profundidade (m). Suponha que você está usando essa fórmula para projetar
um canal com revestimento (observe que fazendeiros revestem
canais para minimizar perdas por vazamento).
PROBLEMAS
361
(a) Dados os parâmetros n = 0,03, S = 0,0004 e Q = 1 m3/s, determine os valores de B e H para minimizar o perímetro molhado.
Observe que tais cálculos minimizariam os custos se os custos do
revestimento fossem muito maiores do que o custo de escavação.
(b) Repita a parte (a) para incluir o custo de escavação. Para fazêlo, minimize a seguinte função custo,
C = c1 Ac + c2 P
x
q
Q
2
onde c1 ⫽ $100/m é o fator de custo para a escavação e
c2 ⫽ $50/m é o fator de custo de revestimento.
(c) Discuta as implicações dos seus resultados.
16.19 Uma viga cilíndrica é carregada com uma carga de compressão P = 3.000 kN. Para prevenir a ruptura da viga, essa carga
deve ser menor que a carga crítica,
π 2 EI
Pc =
L2
onde E ⫽ 200 × 109 N/m2 é o módulo de Young, I = πr4兾4 (o momento de inércia da área de uma viga cilíndrica de raio r), e L é o
comprimento da viga. Se o volume V da viga não puder exceder
0.075 m3, encontre o maior comprimento L que pode ser utilizado e
o raio correspondente.
16.20 O rio Splash tem uma vazão 2 × 106 m3/d, da qual 70% pode
ser desviada para dois canais que escoam através do município de
Splish. Esses canais são usados para transporte, irrigação e geração
de energia elétrica, com os dois últimos sendo fonte de receita. O
uso para transporte exige uma vazão desviada mínima de 0,3 × 106
m3/d para o Canal 1 e 0,2 × 106 m3/d para o Canal 2. Por razões
políticas, foi decidido que a diferença absoluta entre as vazões não
pode exceder 40% da vazão total desviada para os canais. O Comitê
de Gerenciamento de Água do município de Splish também limitou
os custos de manutenção do sistema de canais a não mais que
$1,8 × 106 por ano. A estimativa de custo de manutenção anual é
baseada na vazão diária. O custo anual do Canal 1 é estimado multiplicando- se $1,1 por m3/d de escoamento; enquanto para o Canal 2
o fator multiplicativo é $1,4 por m3/d. A receita anual da produção
de energia elétrica é também estimada com base na vazão diária.
Para o Canal 1, ela é de $ 4,0 por m3/d, enquanto que para o Canal 2
é de $ 3,0 por m3/d . A receita anual proveniente da irrigação também é estimada com base na vazão diária, mas as vazões devem ser
primeiro corrigidas pela perda de água nos canais antes da entrega
para a irrigação. Essa perda é de 30% no Canal 1 e de 20% no Canal
2. Em ambos os canais, a receita é $ 3,2 por m3/d. Determine as
vazões nos canais que maximizem o lucro.
16.21 Determine a área da seção transversal da viga que resulta em
um peso mínimo para a treliça estudada na Seção 12.2 (Figura 12.4).
O rompimento crítico e a força elástica máxima de compressão e
componentes de tensão são 10 e 20 ksi, respectivamente. A treliça
deve ser construída com aço (densidade igual a 3,5 lb/pés-pol2).
Observe que o comprimento do membro horizontal (2) é 50 pés.
Além disso, lembre-se de que a tensão em cada membro é igual à
força dividida pela área da seção transversal. Estruture esse problema como um problema de programação linear. Obtenha a
solução graficamente e com o Excel Solver.
Engenharia Elétrica
16.22 Uma carga total Q está uniformemente distribuída em um
condutor na forma de um anel de raio a. Uma carga q é colocada a
uma distância x do centro do anel (Figura P16.22). A força exercida
na carga pelo anel é dada por
F=
a
1
q Qx
4πe0 (x 2 + a 2 )3/2
Figura P16.22
onde e0 = 8,85 × 10−12 C2/(N m2), q = Q = 2 × 10−5 C e a = 0,9 m.
Determine a distância x onde a força é máxima.
16.23 Um sistema consiste em duas usinas de força que devem liberar carga para uma rede de transmissão. Os custos da geração de
energia das usinas 1 e 2 são dados por
F1 = 2 p1 + 2
F2 = 10 p2
onde p1 e p2 são a energia produzida por cada usina. As perdas de
energia decorrentes da transmissão L são dadas por
L 1 = 0,2 p1 + 0,1 p2
L 2 = 0,2 p1 + 0,5 p2
A demanda total de energia é 30 e p1 não pode exceder 42. Determine a geração de energia necessária para atender à demanda ao
mesmo tempo em que minimiza o custo, usando uma rotina de
otimização como aquelas encontradas, por exemplo, no Excel, no
software MATLAB e no IMSL.
16.24 O torque transmitido a um motor de indução é função do escorregamento entre a rotação do campo estator e a velocidade do
rotor s, com o escorregamento definido como
s=
n − nR
n
onde n é o número de revoluções por segundo do estator em rotação
e nR é a velocidade do rotor. As leis de Kirchhoff podem ser usadas
para mostrar que o torque (expresso em uma forma adimensional) e
o escorregamento estão relacionados por
T =
15(s − s 2 )
(1 − s)(4s 2 − 3s + 4)
A Figura P16.24 mostra essa função. Use um método numérico
para determinar o escorregamento no qual ocorre o torque máximo.
T
4
3
2
1
0
0
2
4
6
8
10 s
Figura P16.24
Torque transmitido a um indutor como função do escorregamento.
16.25
(a) Um fabricante de produtos computacionais produz scanners e
impressoras. Os insumos necessários para a produção desses
dispositivos e os lucros correspondentes são
ESTUDO DE CASOS: OTIMIZAÇÃO
362
Dispositivo
Scanner
Impressora
Capital
($/unid.)
Trabalho
(h/unid)
Lucro
($/unid.)
300
400
20
10
500
400
Se existirem valores de $ 127.000 de capital e 4.270 horas de
trabalho disponíveis a cada dia, quanto de cada dispositivo
deve ser produzido por dia para maximizar o lucro?
(b) Repita o problema, mas agora suponha que o lucro para cada
impressora vendida Pp depende do número de impressoras produzidas Xp, como em
(a) Se σ = 0,6 e W = 16.000, determine o arrasto mínimo e a velocidade na qual ele ocorre.
(b) Além disso, desenvolva uma análise de sensibilidade para determinar como esse ponto ótimo varia em resposta a uma variação W = 12.000 a 20.000 com σ = 0,6.
16.28 Rolos de moinho estão sujeitos à fadiga causada pela grande
força de contato F (Figura P16.28).
Pode-se mostrar que o problema de determinar a localização da tensão máxima ao longo do eixo x é equivalente a maximizar a função
0,4
0,4
f(x) = √
+x
− 1 + x2 1 −
1 + x2
1 + x2
Encontre o x que maximiza f(x).
Pp = 400 − X p
16.26 Um fabricante fornece microchips especializados. Durante
os próximos 3 meses suas vendas, seus custos e tempo disponível são
Mês 1
Mês 2
Mês 3
1.000
100
110
2.400
720
2.500
100
120
2.400
720
2.200
120
130
2.400
720
Chips necessários
Custo de tempo normal ($/chip)
Custo da hora extra ($/chip)
Tempo normal de operação (h)
Hora extra (h)
Não existem chips em estoque no início do primeiro mês. Leva 1,5
hora para produzir um chip e custa $ 5 para armazenar um chip de
um mês para outro. Determine o cronograma de produção que
atenda aos requisitos sem exceder as limitações no tempo de produção mensal e minimize o custo. Observe que nenhum chip deve
estar em estoque no final dos 3 meses.
Engenharia Mecânica/Aeroespacial
16.27 O arrasto total de um aerofólio pode ser estimado por
D = 0,01σ V 2 +
0,95
σ
atrito
W
V
2
sustentação
onde D é o arrasto, σ é a razão da densidade do ar entre a altitude de
vôo e o nível do mar, W é o peso e V é a velocidade. Como visto na
Figura P16.27, os dois fatores que contribuem para o arrasto são
afetados de forma diferente por um aumento de velocidade. Enquanto o arrasto por atrito aumenta com a velocidade, o arrasto
decorrente da sustentação decresce. A combinação desses dois fatores leva a um arrasto mínimo.
F
x
F
Figura P16.28
Rolos de moinho.
16.29 Uma companhia aeroespacial está desenvolvendo um novo
aditivo de combustível para linhas aéreas comerciais. O aditivo é
composto de três ingredientes: X, Y e Z. Para o pico de performance, a quantidade total de aditivo deve ser pelo menos 6 mL/L de
combustível. Por razões de segurança, a soma dos ingredientes altamente inflamáveis X e Y não pode exceder 2,5 mL/L. Além disso,
a quantidade do ingrediente X deve sempre ser igual ou maior à de
Y e a quantidade de Z deve ser maior que a metade de Y. Se o custo
por mL para os ingredientes X, Y e Z for 0,05, 0,025 e 0,15, respectivamente, determine o custo mínimo da mistura para cada litro
de combustível.
16.30 Uma empresa de manufatura produz cinco tipos de peças
de automóvel. Cada uma é primeiro fabricada e depois é feito o
acabamento. As horas de trabalho necessárias e o lucro para cada
peça são
Sustentação
D
20.000
Peça
Mínimo
10.000
Total
Atrito
0
0
400
800
1.200 V
Figura P16.27
Gráfico do arrasto versus a velocidade para um aerofólio.
Tempo de fabricação (h/100 unids.)
Tempo de acabamento (h/100 unids.)
Lucro ($/100 unids.)
A
B
C
D
2,5
3,5
375
1,5
3
275
2,75
3
475
2
2
325
A capacidade de fabricação e acabamento para o próximo mês é de
640 e 960 horas, respectivamente. Determine quanto de cada peça
deve ser produzido de modo a maximizar o lucro.
EPÍLOGO: PARTE QUATRO
Os epílogos das outras partes deste livro contêm uma discussão e um resumo tabular dos
prós e contras dos vários métodos, bem como as fórmulas e relações importantes. A maioria dos métodos desta parte é bastante complicada e, conseqüentemente, eles não podem
ser resumidos em fórmulas simples e resumos tabulares. Portanto, desviamo-nos um
pouco para fornecer a narrativa a seguir discutindo os prós e contras e as referências adicionais dos métodos discutidos.
PT4.4 PRÓS E CONTRAS
O Capítulo 13 trata da busca do ponto ótimo de uma função de uma única variável sem
restrições. O método de busca da seção áurea é um método intervalar que exige que se
conheça um intervalo contendo um único ponto ótimo. Tem a vantagem de minimizar o
número de cálculos da função e sempre converge. A interpolação quadrática também funciona bem quando implementada como um método intervalar, embora possa ser programada como um método aberto. Entretanto, em tais casos, pode divergir. Ambas, a busca
da seção áurea e a interpolação quadrática, dispensam o cálculo das derivadas. Assim, os
dois métodos são apropriados quando o intervalo pode ser prontamente definido e o cálculo da função é custoso.
O método de Newton é um método aberto que não requer que o ótimo esteja delimitado.
Pode ser implementado de forma fechada quando a primeira e a segunda derivadas puderem
ser determinadas analiticamente. Ele também pode ser implementado de forma similar ao
método da secante, com representação em diferenças finitas para as derivadas. Embora o
método de Newton convirja rapidamente próximo ao ponto ótimo, é freqüentemente divergente para uma estimativa ruim. A convergência também depende da natureza da função.
O Capítulo 14 cobre dois tipos de métodos gerais para resolver problemas de
otimização multidimensionais, sem restrições. Métodos diretos, como busca aleatória e a
busca unidimensional, não precisam do cálculo das derivadas da função e são, freqüentemente, ineficientes. Entretanto, eles também fornecem uma ferramenta para encontrar o
ponto ótimo global em vez de um ponto ótimo local. Métodos de busca de padrão, como o
método de Powell, podem ser muito eficientes e também não exigem o cálculo de derivadas.
Os métodos gradiente usam a primeira e, às vezes, a segunda derivada para encontrar
o ponto ótimo. O método do aclive máximo ou declive fornece uma abordagem confiável,
mas, algumas vezes, lenta. Em contraste, o método de Newton sempre converge rapidamente quando está nas vizinhanças de um ponto ótimo, porém, às vezes, diverge. O
método de Marquardt usa o método do declive máximo em uma posição inicial longe da
região do ponto ótimo e muda para o método de Newton próximo do ponto ótimo, em uma
tentativa de aproveitar as vantagens de cada método.
O método de Newton pode ser computacionalmente custoso porque exige o cálculo
tanto do vetor gradiente quanto da matriz hessiana. Abordagens quasi-Newton tentam
contornar esses problemas usando aproximações que reduzam o número de cálculos de
matrizes (particularmente o cálculo, o armazenamento e a inversão da hessiana).
363
364
REGRESSÃO POR MÍNIMOS QUADRADOS
As pesquisas atuais continuam a busca e a exploração das características e dos respectivos pontos fortes dos vários métodos híbridos e combinados. Alguns exemplos são o
método do gradiente conjugado de Fletcher-Reevers e o método quasi-Newton de Davidson-Fletcher-Powell.
O Capítulo 15 foi dedicado à otimização com restrições. Para problemas lineares, a
programação linear com base no método simplex fornece um meio eficiente para obter
soluções. Abordagens como o método GRG estão disponíveis para resolver problemas
não-lineares com restrições.
Pacotes de software e bibliotecas incluem uma grande variedade de recursos para
otimização. A mais genérica é a biblioteca IMSL, que contém muitas sub-rotinas para implementar a maioria dos algoritmos padrão para otimização. Quando este livro foi publicado, o Excel tinha os recursos de otimização mais úteis na forma da sua ferramenta
Solver, porque essa ferramenta é projetada para implementar as formas mais gerais de
otimização — otimização não-linear com restrições — e, portanto, pode ser usada para
resolver problemas em todas as áreas cobertas nessa parte do livro.
PT4.5 REFERÊNCIAS ADICIONAIS
Para problemas em uma dimensão, o método de Brent é um híbrido que tenta levar em
conta a natureza da função para garantir tanto uma convergência lenta e segura para uma
estimativa inicial pobre, quanto uma convergência rápida próxima do ponto ótimo. Veja
Press et al. (1992) para detalhes. Para problemas multidimensionais, informação adicional pode ser encontrada em Dennis e Schnabel (1996), Fletcher (1980, 1981), Gill et al.
(1981) e Luenberger (1984).
PARTE CINCO
AJUSTE DE CURVAS
PT5.1 MOTIVAÇÃO
Em geral, os dados são fornecidos em um conjunto discreto de valores entre um contínuo
de possibilidades. Entretanto, pode ser necessário fazer estimativas em pontos que estão
entre os valores discretos. Esta parte do livro descreve técnicas para ajustar curvas a tais
dados, com o objetivo de obter estimativas intermediárias. Além disso, você pode precisar
de uma versão simplificada de uma função complicada. Uma forma de fazer isso é calcular valores da função em alguns valores discretos no intervalo de interesse. Então, uma
função mais simples pode ser desenvolvida para ajustar esses dados. Ambas as aplicações
são conhecidas como ajuste de curvas.
Há duas abordagens gerais para o ajuste de curvas, as quais são distinguidas entre
si com base na quantidade de erro associada com os dados. Primeiro, quando os dados
exibirem um grau significativo de erro ou “ruído”, a estratégia será encontrar uma única
curva que represente a tendência geral dos dados. Como cada ponto individual pode
estar incorreto, não será feito nenhum esforço para passar a curva por todos os pontos.
Em vez disso, a curva é escolhida para seguir o padrão dos pontos considerados como
um grupo. Uma abordagem dessa natureza é chamada de regressão por mínimos quadrados (Figura PT5.1a).
Segundo, quando se souber que os dados são muito precisos, a abordagem básica
é ajustar uma curva ou uma série de curvas que passam diretamente por cada um dos
pontos. Tais dados usualmente se originam de tabelas. Exemplos são os valores da densidade da água ou da capacidade térmica dos gases como função da temperatura. A estimativa de valores entre pontos discretos bem conhecidos é chamada interpolação
(Figura PT5.1b e c).
PT5.1.1 Métodos Não-computacionais para o Ajuste de Curvas
O método mais simples para ajustar uma curva aos dados é marcar os pontos e então esboçar uma curva que visualmente esteja de acordo com os dados. Embora essa seja uma
opção válida quando for necessária uma estimativa rápida, os resultados dependem do
ponto de vista subjetivo da pessoa esboçando a curva.
Por exemplo, a Figura PT5.1 mostra esboços deduzidos do mesmo conjunto de
dados por três engenheiros. O primeiro não tentou conectar os pontos, e, em vez disso,
caracterizou a tendência geral para cima dos dados por uma reta (Figura PT5.1a). O
segundo engenheiro usou segmentos de reta ou interpolação linear para ligar os pontos
(Figura PT5.1b). Essa é uma prática muito comum em engenharia. Se os valores forem
verdadeiramente próximos de serem lineares ou se estiverem espaçados próximos uns dos
outros, tal aproximação fornece estimativas que são adequadas para muitos cálculos em
engenharia. Entretanto, se a relação envolvida for altamente curvilínea ou se os dados estiverem espaçados muito longe uns dos outros, erros significativos podem ser
introduzidos por tal interpolação linear. O terceiro engenheiro usou curvas para tentar
capturar as oscilações sugeridas pelos dados (Figura PT5.1c). Um quarto ou um quinto
engenheiros provavelmente desenvolveriam ajustes alternativos. Obviamente, o intuito
aqui é desenvolver métodos sistemáticos e objetivos com o propósito de encontrar
tais curvas.
366
PT5.1 MOTIVAÇÃO
367
f (x)
(a)
x
(b)
x
(c)
x
f (x)
f (x)
FIGURA PT5.1
Três tentativas de ajustar a “melhor” curva aos cinco pontos dados. (a) Regressão por mínimos
quadrados, (b) interpolação linear e (c) interpolação curvilínea.
PT5.1.2 Ajuste de Curvas e a Prática da Engenharia
Sua primeira exposição ao ajuste de curvas pode ter sido determinar valores intermediários a partir de dados tabulados — por exemplo, a partir de tabelas de juros em engenharia econômica ou de tabelas de evaporação em termodinâmica. Pelo resto de sua
carreira, você terá ocasiões freqüentes de fazer estimativas de valores intermediários a
partir de tais tabelas.
Embora muitas das propriedades de engenharia amplamente usadas sejam tabuladas,
há muitas outras que não estão disponíveis nessa forma conveniente. Casos especiais e
novos contextos de problemas freqüentemente exigem que você meça seus próprios
dados e desenvolva sua relação de previsão. Em geral, são encontrados dois tipos de
aplicações nas quais dados experimentais são ajustados: análise de tendência e teste
de hipótese.
A análise de tendência representa o processo de usar o padrão dos dados para fazer
previsões. Nos casos nos quais os dados foram medidos com alta precisão, você poderia
usar interpolação polinomial. Os dados imprecisos são, em geral, analisados com regressão por mínimos quadrados.
A análise de tendência pode ser usada para prever valores da variável dependente.
Isso pode envolver extrapolação além dos limites dos dados observados ou interpolação
dentro do intervalo dos dados. Todos os campos da engenharia comumente envolvem
problemas desse tipo.
A segunda aplicação, em engenharia, do ajuste de curvas a dados experimentais é no
teste de hipótese. Aqui, um modelo matemático já existente é comparado com os dados
medidos. Se os coeficientes do modelo forem desconhecidos, pode ser necessário deter-
368
AJUSTE DE CURVAS
minar valores que melhor ajustem os dados observados. Por outro lado, se estimativas
para os coeficientes dos modelos já estiverem disponíveis, pode ser apropriado comparar
os valores previstos pelo modelo com os valores observados para testar a adequação do
modelo. Em geral, modelos alternativos são comparados e o “melhor” é escolhido com
base nas observações.
Além dessas aplicações em engenharia, o ajuste de curvas é importante em outros
métodos numéricos, como integração e solução aproximada de equações diferenciais. Finalmente, as técnicas de ajuste de curvas podem ser usadas para encontrar funções simples que aproximem funções complicadas.
PT5.2 FUNDAMENTOS MATEMÁTICOS
Os fundamentos matemáticos necessários para interpolação são encontrados no material
sobre expansões em séries de Taylor e diferenças divididas finitas introduzidas no Capítulo 4. A regressão por mínimos quadrados exige informação adicional do campo da estatística. Se você estiver familiarizado com os conceitos de média, desvio-padrão, soma
dos quadrados residual, distribuição normal e intervalos de confiança, sinta-se livre para
pular as próximas páginas e proseguir diretamente para PT5.3. Se você não estiver familiarizado com esses conceitos ou precisar de uma revisão, o objetivo do material a seguir
é uma breve introdução a tais tópicos.
PT5.2.1 Estatísticas Simples
Suponha que, no decorrer de um estudo em engenharia, tenham sido feitas diversas medidas de uma quantidade particular. Por exemplo, a Tabela PT5.1 contém 24 leituras do
coeficiente de expansão térmica de um aço estrutural. Tomados como valores de face, os
dados fornecem uma quantidade limitada de informação — isto é, os valores variam de
um mínimo de 6,395 a um máximo de 6,775. Informação adicional pode ser obtida resumindo-se os dados em uma ou mais estatísticas bem escolhidas que transportem tanta informação quanto possível sobre as características específicas desse conjunto de dados.
Tais estatísticas descritivas são, em geral, escolhidas para representar (1) a posição do
centro da distribuição de dados e (2) o grau de dispersão do conjunto de dados.
A estatística de posição mais comum é a média aritmética. A média aritmética ( ȳ)
de uma amostra é definida como a soma dos pontos individuais dados (yi) dividida pelo
número de pontos (n), ou
ȳ =
yi
n
(PT5.1)
onde a somatória (e todas as somatórias posteriores nesta introdução) vai de i = 1 até n.
A medida de dispersão mais comum para uma amostra é o desvio-padrão (sy) em
torno da média,
sy =
St
n−1
(PT5.2)
TABELA PT5.1 Medidas do coeficiente de expansão térmica do aço estrutural
[× 10−6 pol/(pol · ∘F)].
6,495
6,665
6,755
6,565
6,595
6,505
6,625
6,515
6,615
6,435
6,715
6,555
6,635
6,625
6,575
6,395
6,485
6,715
6,655
6,775
6,555
6,655
6,605
6,685
PT5.2 FUNDAMENTOS MATEMÁTICOS
369
onde St é a soma total dos quadrados dos resíduos entre os pontos dados e a média, ou
St = (yi − ȳ)2
(PT5.3)
Portanto, se as medidas individuais estiverem amplamente dispersas em torno da média,
St (e, conseqüentemente, sy) será grande. Se elas estiverem bem agrupadas, o desviopadrão será pequeno. A dispersão também pode ser representada pelo quadrado do
desvio-padrão, o qual é chamado de variância:
s y2 =
(yi − ȳ)2
n−1
(PT5.4)
Observe que o denominador em ambas as Equações (PT5.2) e (PT5.4) é n − 1. A quantidade n − 1 é chamada de graus de liberdade. Portanto, dizemos que St e sy são baseados
em n − 1 graus de liberdade. Essa nomenclatura vem do fato de a soma das quantidades
nas quais St é baseada (isto é, ȳ − y1 , ȳ − y2 , . . . , ȳ − yn ) ser zero. Conseqüentemente,
se ȳ for conhecido e n − 1 valores forem especificados, o valor remanescente está fixado. Portanto, diz-se que apenas n − 1 dos valores são livremente determinados. Outra
justificativa para dividir por n − 1 é o fato de que não existe tal coisa como a dispersão
de um único ponto dado. Para os casos em que n = 1, as Equações (PT5.2) e (PT5.4)
fornecem resultados infinitos, sem significado.
Deve ser observado que uma fórmula alternativa, mais conveniente, está disponível
para calcular o desvio-padrão,
s y2 =
yi2 − (yi )2 /n
n−1
Essa versão não exige o cálculo prévio de ȳ e fornece um resultado idêntico ao da
Equação (PT5.4).
Uma estatística final que tem utilidade na quantificação da dispersão dos dados é o
coeficiente de variação (c.v.). Essa estatística é a razão do desvio-padrão pela média.
Como tal, o c.v. fornece uma medida normalizada da dispersão. Ele é, em geral, multiplicado por 100, de modo que possa ser expresso como uma porcentagem:
c.v. =
sy
100%
ȳ
(PT5.5)
Observe que o coeficiente de variação é parecido em espírito com o erro relativo porcentual (εt ) discutido na Seção 3.3, ou seja, é a razão entre uma medida de erro (sy) e uma
estimativa do valor verdadeiro ( ȳ).
EXEMPLO PT5.1
Estatísticas Simples de uma Amostra
Enunciado do Problema. Calcule a média, a variância, o desvio-padrão e o coeficiente
de variação para os dados da Tabela PT5.1.
Solução. Os dados são somados (Tabela PT5.2) e os resultados são usados para calcular [Equação (PT5.1)]
ȳ =
158,4
= 6,6
24
370
AJUSTE DE CURVAS
TABELA PT5.2 Cálculos das estatísicas para as leituras do coeficiente de expansão
térmica. As freqüências e as extremidades foram desenvolvidos para
construir o histograma na Figura PT5.2.
Intervalo
i
yi
2
(yi ⴚ y
苶)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
6,395
6,435
6,485
6,495
6,505
6,515
6,555
6,555
6,565
6,575
6,595
6,605
6,615
6,625
6,625
6,635
6,655
6,655
6,665
6,685
6,715
6,715
6,755
6,775
0,042025
0,027225
0,013225
0,011025
0,009025
0,007225
0,002025
0,002025
0,001225
0,000625
0,000025
0,000025
0,000225
0,000625
0,000625
0,001225
0,003025
0,003025
0,004225
0,007225
0,013225
0,013225
0,024025
0,030625
158,4
0,217000
Extremidade
Inferior
Extremidade
Superior
1
1
6,36
6,40
6,40
6,44
4
6,48
6,52
2
6,52
6,56
3
6,56
6,60
5
6,60
6,64
3
6,64
6,68
3
6,68
6,72
1
1
6,72
6,76
6,76
6,80
Freqüência
冧
冧
冧
冧
冧
冧
Como na Tabela PT5.2, a soma dos quadrados dos resíduos é 0,217000, o qual pode ser
usado para calcular o desvio-padrão [Equação (PT5.2)]:
0,217000
sy =
= 0,097133
24 − 1
a variância [Equação (PT5.4)]:
s y2 = 0,009435
e o coeficiente de variação [Equação (PT5.5)]:
c.v. =
0,097133
100% = 1,47%
6,6
PT5.2.2 A Distribuição Normal
Uma outra característica relacionada com a discussão presente é a distribuição de dados
— isto é, a forma como os dados estão dispersos em torno da média. Um histograma
fornece uma representação visual simples da distribuição. Como visto na Tabela PT5.2, o
histograma é construído classificando-se as medidas em intervalos. As unidades de medidas são marcadas na abscissa e as freqüências de ocorrência em cada intervalo são
marcadas na ordenada. Portanto, cinco das medidas estão entre 6,60 e 6,64. Como na
Figura PT5.2, o histograma sugere que em sua maioria os dados estão agrupados próximo
do valor médio de 6,6.
PT5.2 FUNDAMENTOS MATEMÁTICOS
371
Se tivéssemos um conjunto muito grande de dados, o histograma em geral poderia
ser aproximado por uma curva lisa. A curva simétrica, em forma de sino, superposta na
Figura PT5.2 é uma de tais formas características — a distribuição normal. Se fossem
dadas medidas adicionais suficientes, o histograma para esse caso particular poderia
eventualmente se aproximar da distribuição normal.
Os conceitos de média, desvio-padrão, soma dos quadrados dos resíduos e distribuição normal têm todos grande relevância na prática da engenharia. Um exemplo
muito simples é a sua utilização para determinar a confiança que pode ser associada a uma
medida particular. Se uma quantidade for normalmente distribuída, o intervalo definido
por ȳ − s y a ȳ + s y irá conter aproximadamente 68% do total das medidas. Analogamente, o intervalo definido por ȳ − 2s y a ȳ + 2s y irá conter aproximadamente 95%.
Por exemplo, para os dados na Tabela PT5.1 ( ȳ = 6,6 e sy = 0,097133), pode-se
fazer a afirmação de que aproximadamente 95% das leituras deveriam estar entre
6,405734 e 6,794266. Se alguém diz que mediu um valor de 7,35, pode-se suspeitar que
a medida esteja errada. A seção seguinte discorre sobre tais cálculos.
PT5.2.3 Estimativas de Intervalos de Confiança
Como deveria ter ficado claro das seções anteriores, um dos objetivos primários da estatística é fazer estimativas das propriedades de uma população com base em uma
amostra limitada escolhida da população. Claramente, é impossível medir o coeficiente
de dilatação térmica para todos os pedaços de aço estrutural que tenham sido produzidos.
Conseqüentemente, como visto nas Tabelas PT5.1 e PT5.2, pode-se fazer aleatoriamente
algumas medidas e, com base na amostra, tentar caracterizar as propriedades da população inteira.
Como nós vamos “inferir” propriedades da população desconhecida a partir de uma
amostra limitada, o esforço é chamado de inferência estatística. Pelo fato de os resultados, em geral, serem expressos como estimativas sobre os parâmetros da população, o
processo também é conhecido como estimação.
Já foi mostrado como fazer uma estimativa da tendência central (média da amostra, ȳ)
e da dispersão (desvio-padrão e variância da amostra) de uma amostra limitada. Agora,
será descrito brevemente como se pode associar afirmações probabilísticas à qualidade
dessas estimativas. Em particular, discutiremos como se pode definir um intervalo de
confiança em torno da estimativa da média. Foi escolhido esse tópico particular por causa
de sua relevância direta nos modelos de regressão descritos no Capítulo 17.
FIGURA PT5.2
Um histograma usado para descrever uma distribuição de dados. Conforme o número de
pontos dados aumenta, o histograma poderia aproximar-se de uma curva lisa, em forma de
sino, chamada distribuição normal.
5
Freqüência
4
3
2
1
0
6,4
6,6
6,8
372
AJUSTE DE CURVAS
Observe que, na discussão a seguir, os símbolos ȳ e sy se referem à média e ao
desvio-padrão da amostra, respectivamente. Os símbolos μ e σ se referem à média e ao
desvio-padrão da população, respectivamente. As primeiras são, algumas vezes,
chamadas de média e desvio-padrão “estimados”, enquanto que as últimas são às vezes chamadas de média e desvio-padrão “verdadeiros”.
Um intervalo estimador dá o intervalo de valores no qual é esperado que o
parâmetro esteja com uma dada probabilidade. Tais intervalos são descritos como sendo
unilaterais ou bilaterais. Como o nome indica, um intervalo unilateral expressa a confiança de que o parâmetro estimado seja menor que ou maior que o valor verdadeiro. Em
contraste, o intervalo bilateral trata da afirmação mais geral de que a estimativa esteja de
acordo com o valor verdadeiro, sem nenhuma consideração com o sinal da discrepância.
Vamos nos concentrar no intervalo bilateral por ser ele mais geral.
Um intervalo bilateral pode ser descrito pela expressão
P{L ≤ μ ≤ U } = 1 − α
a qual é lida: “a probabilidade de que a média verdadeira de y, μ, caia dentro dos limites
de L a U é 1 − α”. A quantidade α é chamada de nível de significância. Assim, o problema de definir um intervalo de confiança se reduz a fazer estimativas de L e de U. Embora não seja absolutamente necessário, é costumeiro considerar o intervalo bilateral
com a probabilidade α distribuída uniformemente como α/2 em cada cauda da distribuição, como na Figura PT5.3.
Se a variância verdadeira da distribuição de y, σ 2 , for conhecida (o que, em geral,
não é o caso), a teoria estatística afirma que a média da amostra ȳ vem de uma distribuição normal com média μ e variância σ 2 /n (Quadro PT5.1). No caso ilustrado na
Figura PT5.3, na realidade não se conhece μ. Portanto, não se sabe onde a curva normal
está exatamente localizada em relação a ȳ. Para contornar esse dilema, calcula-se uma
nova quantidade, a estimativa normal padrão
z̄ =
ȳ − μ
√
σ/ n
(PT5.6)
a qual representa a distância normalizada entre ȳ e μ. De acordo com a teoria estatística, essa quantidade deveria ser normalmente distribuída, com média 0 e variância 1.
FIGURA PT5.3
Um intervalo de confiança bilateral. A escala da abscissa em (a) é escrita em unidades
naturais da variável aleatória y. A versão normalizada da abscissa em (b) tem a média
na origem e faz uma mudança de escala de modo que o desvio-padrão corresponda a
um valor unitário.
Distribuição das
médias de y, –y
1–␣
␣/2
␣/2
y
(a)
L
–
U
z–
(b)
z – ␣/2
–1
0
1
z␣/2
PT5.2 FUNDAMENTOS MATEMÁTICOS
Quadro PT5.1
373
Um Pouco de Estatística
Existe um teorema extremamente importante, conhecido
como Teorema do Limite Central, que responde diretamente a essa
questão. Ele pode ser enunciado como
Em sua maioria, os engenheiros fazem diversas disciplinas para se
tornarem proficientes em estatística. Como você pode ainda não ter
feito tais cursos, gostaríamos de mencionar algumas idéias que
poderiam tornar a presente seção mais coerente.
Como já afirmado, o “jogo” da inferência estatística supõe
que a variável aleatória da qual você está tomando amostras, y, tem
uma média (μ) e uma variância (σ 2) verdadeiras. Além disso, na
discussão presente, supõe-se também que ela tem uma distribuição
particular: a distribuição normal. A variância dessa distribuição
normal tem um valor finito que especifica a “largura” da distribuição normal. Se a variância for grande, a distribuição é larga.
Reciprocamente, se a variância for pequena, a distribuição é estreita. Logo, a variância verdadeira quantifica a incerteza intrínseca da
variável aleatória.
No jogo da estatística, toma-se um número limitado de medidas dessa quantidade, chamada de uma amostra. A partir dessa
amostra, pode-se calcular uma média ( ȳ) e uma variância (s y2 ) estimadas. Quanto mais medidas forem tomadas, melhor será a aproximação do valor real pela estimativa. Isto é, quando n → ∞, ȳ → μ
e s y2 → σ2.
Suponha que tomemos n amostras e calculemos uma média
estimada ȳ1 . Depois, tomamos outras n amostras e calculamos uma
outra, ȳ2 . Podemos continuar a repetir esse processo até termos
gerado uma amostra de médias: ȳ1 , ȳ2 , ȳ3 , . . . , ȳm , onde m é
grande. Podemos então fazer um histograma dessas médias e
determinar uma “distribuição das médias”, bem como uma “média das médias”. Agora, aparece a seguinte questão: essa nova
distribuição de médias e sua estatística se comportam de uma
forma previsível?
Sejam y1, y2, . . . , yn uma amostra aleatória de tamanho n de
uma distribuição de média μ e variância σ 2. Então, para n grande,
ȳ é aproximadamente normal, com média μ e variância σ 2/n.
√
Além disso, para n grande, a variável aleatória ( ȳ − μ)/(σ/ n) é
aproximadamente normal padrão.
Portanto, o teorema afirma o resultado notável que a distribuição das médias será sempre normalmente distribuída, independentemente da distribuição subjacente da variável aleatória!
Ele também fornece o resultado esperado de que, dada uma
amostra suficientemente grande, a média das médias deveria convergir para a média verdadeira da população, μ.
Além disso, esse teorema diz que, conforme o tamanho das
amostras se torna maior, a variância das médias deve aproximarse de zero. Isso faz sentido, porque se n for pequeno, nossa estimativa individual da média deverá ser sofrível e a variância das
médias será grande. Conforme n aumenta, nossas estimativas da média melhorarão e, portanto, sua dispersão deveria diminuir. O
Teorema do Limite Central define de forma simples exatamente
como essa diminuição se relaciona tanto com a variância verdadeira quanto com o tamanho da amostra, ou seja, como σ 2/n.
Finalmente, o teorema afirma o importante resultado dado
como Equação (PT5.6). Como mostrado nesta seção, esse resultado é a base para a construção de intervalos de confiança para
a média.
Além disso, a probabilidade de que z̄ caia dentro da região não sombreada da Figura PT5.3
deveria ser 1 − α. Portanto, pode-se fazer a afirmação que
ȳ − µ
√ < −z α/2
σ/ n
ou
ȳ − μ
√ > z α/2
σ/ n
com probabilidade α.
A quantidade z α/2 é uma variável aleatória normal padrão. Essa é a distância medida
ao longo do eixo normalizado acima e abaixo da média, que delimita a probabilidade
1 − α (Figura PT5.3b). Os valores de z α/2 estão tabulados em livros de estatística (por
exemplo, Milton e Arnold, 1995). Eles também podem ser calculados usando-se funções
em pacotes de software e em bibliotecas como o Excel e o IMSL. Como um exemplo,
para α = 0,05 (em outras palavras, definindo um intervalo delimitando 95%), z α/2 é igual
a cerca de 1,96. Isso significa que um intervalo em torno da média de largura ±1,96 vez
o desvio-padrão delimitará aproximadamente 95% da distribuição.
Esses resultados podem ser reorganizados para fornecer
L ≤μ≤U
com probabilidade 1 − α, onde
σ
L = ȳ − √ z α/2
n
σ
U = ȳ + √ z α/2
n
(PT5.7)
374
AJUSTE DE CURVAS
Agora, embora o precedente forneça uma estimativa para L e para U, ela é baseada
no conhecimento da variância verdadeira σ. No nosso caso, conhecemos apenas a variância estimada sy. Uma alternativa simples seria deduzir uma versão da Equação (PT5.6)
baseada em sy,
t=
ȳ − μ
√
sy / n
(PT5.8)
Mesmo quando são tomadas amostras de uma distribuição normal, essa fração não
será normalmente distribuída, particularmente quando n for pequeno. Foi descoberto por
W. S. Gossett que a variável aleatória definida pela Equação (PT5.8) segue a chamada
distribuição t de Student ou, simplesmente, distribuição t. Nesse caso,
sy
L = ȳ − √ tα/2,n−1
n
sy
U = ȳ + √ tα/2,n−1
n
(PT5.9)
onde tα/2, n−1 é a variável aleatória padrão para a distribuição t para uma probabilidade de
α/2. Como era o caso para z α/2, os valores estão tabulados em livros de estatística e também podem ser calculados usando-se pacotes de software e bibliotecas. Por exemplo, se
α = 0,05 e n = 20, tα/2,n−1 = 2,086.
A distribuição t pode ser considerada como uma modificação da distribuição normal
que leva em conta o fato de se ter uma estimativa imperfeita do desvio-padrão. Quando n
for pequeno, ela tende a ser mais achatada do que a normal (ver Figura PT5.4). Portanto,
para um número pequeno de medidas, ela fornece intervalos de confiança mais largos e,
assim, mais conservadores. Conforme n se torna grande, a distribuição t converge para
a normal.
FIGURA PT5.4
Comparação da distribuição normal com a distribuição t, para n = 3 e n = 6. Observe como
a distribuição t é em geral mais achatada.
Normal
t(n = 6)
t(n = 3)
–3
–2
–1
0
Z ou t
1
2
3
PT5.2 FUNDAMENTOS MATEMÁTICOS
EXEMPLO PT5.2
375
Intervalo de Confiança da Média
Enunciado do Problema. Determine a média e o intervalo de confiança de 95% para os
dados da Tabela PT5.1. Faça três estimativas baseadas (a) nas primeiras 8, (b) nas
primeiras 16 e (c) em todas as 24 medidas.
Solução. (a) A média e o desvio-padrão para os primeiros 8 pontos são
347,4814 − (52,72)2 /8
52,72
= 6,59
sy =
= 0,089921
ȳ =
8
8−1
A estatística t apropriada pode ser calculada como
t0,05/2,8−1 = t0,025,7 = 2,364623
a qual pode ser usada para calcular o intervalo
0,089921
2,364623 = 6,5148
√
8
0,089921
U = 6,59 +
2,364623 = 6,6652
√
8
L = 6,59 −
ou
6,5148 ≤ μ ≤ 6,6652
–y
n=8
n = 16
n = 24
6,50
6,55
6,60
6,65
6,70
Coeficiente de expansão térmica [⫻ 10– 6 pol/(pol • ⬚F)]
FIGURA PT5.5
Estimativas da média e intervalos de confiança de 95% para tamanhos diferentes da amostra.
Portanto, com base nas primeiras oito medidas, conclui-se que existe uma probabilidade
de 95% de a média verdadeira cair no intervalo de 6,5148 a 6,6652.
Os outros dois casos para (b) 16 pontos e (c) 24 pontos podem ser calculados de
maneira análoga e os resultados estão tabulados junto com o caso (a) em
n
y
苶
sy
t␣/2,nⴚ1
L
U
8
16
24
6,5900
6,5794
6,6000
0,089921
0,095845
0,097133
2,364623
2,131451
2,068655
6,5148
6,5283
6,5590
6,6652
6,6304
6,6410
Esses resultados, que também estão resumidos na Figura PT5.5, indicam o resultado esperado que o intervalo de confiança se torna mais estreito conforme n cresce. Então,
quanto mais medidas tomarmos, mais refinada será nossa estimativa do valor verdadeiro.
376
AJUSTE DE CURVAS
Esse é apenas um exemplo simples de como a estatística pode ser usada para fazer
julgamentos com relação a dados incertos. Tais conceitos também terão relevância direta
na discussão de modelos de regressão. Você pode consultar qualquer livro de estatística
básica (por exemplo, Milton e Arnold, 1995) para obter informações adicionais sobre o
assunto.
PT5.3 ORIENTAÇÃO
Antes de prosseguir para os métodos numéricos para ajuste de curvas, alguma orientação
pode ser útil. O propósito do que vem a seguir é dar uma visão geral do material discutido
na Parte Cinco. Além disso, foram formulados alguns objetivos para lhe ajudar a focalizar
seus esforços quando estudar o material.
PT5.3.1 Escopo e Visão Geral
A Figura PT5.6 fornece uma visão geral gráfica do material que será coberto na Parte
Cinco. O Capítulo 17 será dedicado à regressão por mínimos quadrados. Você aprenderá
inicialmente como ajustar uma reta a um conjunto de dados que apresentem incertezas.
Essa técnica é chamada de regressão linear. Além de se discutir como calcular a inclinação e a intersecção dessa reta com o eixo y, serão apresentados também métodos quantitativos e visuais para avaliar a validade dos resultados.
Além de ajustar uma reta, será também apresentada uma técnica geral para ajustar
um “melhor” polinômio. Assim, você vai aprender a determinar um polinômio de segundo, terceiro ou de graus mais altos que ajuste de forma ótima dados incertos. A regressão linear é um subconjunto dessa abordagem mais geral, que é chamada regressão
polinomial.
O próximo tópico coberto no Capítulo 17 é a regressão linear múltipla. Ela se aplica
aos casos em que a variável independente y é uma função linear de duas ou mais variáveis
independentes x1, x2, . . . , xm. Essa abordagem tem utilidade especial no tratamento de
dados experimentais quando a variável de interesse depende de diversos fatores diferentes.
Depois da regressão múltipla, será ilustrado como a regressão polinomial e múltipla
são ambas subconjuntos de um modelo linear geral de mínimos quadrados. Entre outras
coisas, isso vai permitir introduzir uma representação matricial concisa da regressão e
discutir suas propriedades estatísticas gerais.
Finalmente, as últimas seções do Capítulo 17 são dedicadas à regressão não-linear.
Essa abordagem se destina ao cálculo de ajuste por mínimos quadrados de uma equação
não-linear aos dados.
No Capítulo 18, será descrita uma técnica alternativa de ajuste de curvas, chamada
interpolação. Como discutido anteriormente, a interpolação é usada para fazer estimativas
de valores intermediários entre pontos dados precisamente. No Capítulo 18, serão determinados polinômios com esse propósito. Serão introduzidos os conceitos básicos de interpolação polinomial usando retas e parábolas para ligar pontos. A seguir, será deduzido
um procedimento geral para ajustar um polinômio de grau n. Serão apresentadas duas formas para expressar esses polinômios na forma de uma equação. A primeira, chamada
polinômio interpolador de Newton, é preferível quando o grau apropriado do polinômio
for desconhecido. A segunda, chamada de polinômio interpolador de Lagrange, é preferível quando o grau adequado for conhecido antecipadamente.
A última seção do Capítulo 18 apresenta uma técnica alternativa para o ajuste de
dados precisos. Essa técnica, chamada interpolação por splines, ajusta polinômios aos
dados, mas por partes. Dessa forma, ela é particularmente adequada para o ajuste de
dados que sejam lisos no geral, mas que apresentem mudanças locais abruptas.
O Capítulo 19 trata da abordagem do ajuste de curvas por transformadas de Fourier,
na qual funções periódicas são ajustadas aos dados. A ênfase nessa seção será na transformada rápida de Fourier. No final desse capítulo, também incluiremos uma visão geral
de diversos pacotes e bibliotecas de software que podem ser usados no ajuste de curvas.
Eles são o Excel, o software MATLAB e o IMSL.
PT5.3 ORIENTAÇÃO
PT 5.1
Motivação
377
PT 5.2
Fundamentos
matemáticos
PT 5.3
Orientação
PARTE 5
Ajuste de
Curvas
PT 5.6
Métodos
avançados
PT 5.5
Fórmulas
importantes
17.1
Regressão
linear
17.2
Regressão
polinomial
17.3
Regressão linear
múltipla
17.4
Mínimos quadrados
linear geral
CAPÍTULO 17
Regressão por
Mínimos
Quadrados
EPÍLOGO
PT 5.4
Prós e contras
17.5
Regressão
não-linear
18.1
Polinômios de
Newton
18.2
Polinômios
de Lagrange
20.4
Engenharia
mecânica
20.3
Engenharia
elétrica
CAPÍTULO 18
Interpolação
CAPÍTULO 20
Estudo de Casos:
Ajuste de
Curvas
20.2
Engenharia
civil
20.1
Engenharia
química
19.8
Bibliotecas
e pacotes
CAPÍTULO 19
Aproximação
de Fourier
18.4
Interpolação
inversa
18.5
Comentários
adicionais
18.6
Interpolação
por Splines
19.2
Série de Fourier
contínua
19.7
O espectro de
potência
19.6
Transformada
rápida de Fourier
19.1
Senoidal
18.3
Coeficientes de
um polinômio
interpolador
19.5
Transformada de
Fourier discreta
19.4
Transformada
de Fourier
19.3
Domínios de
freqüência e tempo
FIGURA PT5.6
Esquema da organização do material da Parte Cinco: Ajuste de Curvas.
O Capítulo 20 é dedicado a aplicações em engenharia que ilustrem a utilidade dos
métodos numéricos nos contextos de problemas de engenharia. Os exemplos foram tirados das quatro áreas de especialidade principais de engenharia: química, civil, elétrica e
mecânica. Além disso, algumas das aplicações ilustram como os pacotes de software
podem ser usados para resolver problemas de engenharia.
Finalmente, será incluído um epílogo no final da Parte Cinco. Ele contém um resumo das fórmulas e dos conceitos importantes relacionados ao ajuste de curvas, bem
como uma discussão dos prós e contras das técnicas e sugestões para estudos futuros.
PT5.3.2 Metas e Objetivos
Objetivos de Estudo. Depois de completar a Parte Cinco, você deve ter aumentado muito
sua capacidade de ajustar curvas aos dados. Em geral, você deve ter dominado as técnicas,
aprendido a avaliar a confiabilidade de suas respostas e deve ser capaz de escolher o
método (ou métodos) preferível para qualquer problema particular. Além dessas metas
gerais, os conceitos específicos na Tabela PT5.3 devem ser assimilados e dominados.
378
AJUSTE DE CURVAS
Objetivos Computacionais. Foram fornecidos a você algoritmos computacionais simples para implementar as técnicas discutidas na Parte Cinco. É possível que você também
tenha acesso a pacotes e bibliotecasde software. Todos têm utilidade como ferramentas de
aprendizado.
São fornecidos pseudocódigos para a maioria dos métodos na Parte Cinco. Essa informação vai lhe permitir ampliar sua biblioteca de software para incluir técnicas além da
regressão polinomial. Por exemplo, você pode considerar útil, do ponto de vista profissional, ter um software para implementar a regressão linear múltipla, o polinômio interpolador de Newton, a interpolação por splines cúbicos e a transformada rápida de Fourier.
Além disso, uma de suas metas mais importantes deveria ser dominar diversos dos
pacotes de software de propósito geral que estão amplamente disponíveis. Em particular,
você deveria tornar-se adepto a utilizar essas ferramentas para implementar métodos
numéricos para a resolução de problemas de engenharia.
TABELA PT5.3 Objetivos específicos de estudo para a Parte Cinco.
1. Entender a diferença fundamental entre regressão e interpolação e perceber por que confundir as
duas pode levar a problemas sérios.
2. Entender a dedução da regressão linear por mínimos quadrados e ser capaz de avaliar a confiabilidade dos ajustes usando técnicas gráficas e quantitativas.
3. Saber como linearizar os dados por uma transformação.
4. Entender as situações nas quais a regressão polinomial, múltipla e não-linear são apropriadas.
5. Ser capaz de reconhecer modelos lineares gerais, entender a formulação matricial geral dos mínimos
quadrados linear e saber como calcular intervalos de confiança para os parâmetros.
6. Entender que existe um e somente um polinômio de grau menor ou igual a n e que passa exatamente
por n + 1 pontos.
7. Saber como deduzir o polinômio interpolador de Newton do primeiro grau.
8. Entender a analogia entre o polinômio de Newton e a expansão em série de Taylor e como isso se relaciona com os erros de truncamento.
9. Reconhecer que as equações de Newton e Lagrange são simplesmente formulações diferentes do
mesmo polinômio interpolador e entender suas respectivas vantagens e desvantagens.
10. Perceber que resultados mais acurados são geralmente obtidos se os dados usados nas interpolações
forem centrados e próximos ao ponto desconhecido.
11. Perceber que os pontos não precisam ser igualmente espaçados nem estar em alguma ordem particular, tanto para o polinômio de Newton quanto para o de Lagrange.
12. Saber por que as fórmulas de interpolação igualmente espaçadas têm utilidade.
13. Reconhecer os defeitos e riscos ligados com a extrapolação.
14. Entender por que as funções spline têm utilidade para dados com regiões localizadas de mudanças
abruptas.
15. Reconhecer como a série de Fourier é usada para ajustar dados por funções periódicas.
16. Entender a diferença entre os domínios de freqüência e de tempo.
CAPÍTULO
17
Regressão por Mínimos
Quadrados
Quando um erro substancial estiver associado aos dados, a interpolação polinomial é inapropriada e pode produzir resultados insatisfatórios quando usada para prever valores intermediários. Dados experimentais, em geral, são desse tipo. Por exemplo, a Figura 17.1a
mostra sete pontos de dados obtidos experimentalmente exibindo variações significativas. A inspeção visual dos dados sugere uma possível relação entre y e x. Isto é, a tendência geral indica que valores mais altos de y estão associados com valores mais altos de x.
Agora, se um polinômio interpolador de grau seis for ajustado a esses dados (Figura
17.1b), ele irá passar exatamente por todos os pontos. Entretanto, por causa da variabilidade dos dados, a curva vai oscilar muito no intervalo entre os pontos. Em particular, os
valores interpolados em x = 1,5 e x = 6,5 parecem estar bem além do intervalo sugerido
pelos dados.
Uma estratégia mais adequada para tais casos seria determinar uma função aproximadora que ajustasse a forma ou tendência geral dos dados sem necessariamente passar
pelos pontos individuais. A Figura 17.1c ilustra como uma reta pode ser usada para caracterizar a tendência geral dos dados sem passar por nenhum dos pontos particulares.
Uma forma de determinar a reta na Figura 17.1c é inspecionar visualmente os pontos marcados e então esboçar a “melhor” reta pelos pontos. Embora tal abordagem “a
olho” pareça atrativa do ponto de vista do bom senso e seja válida para cálculos “informais”, ela é deficiente porque é arbitrária. Ou seja, a menos que os pontos definam perfeitamente uma reta (em tal caso, a interpolação seria apropriada), analistas diferentes
desenhariam retas diferentes.
Para remover essa subjetividade, deve ser desenvolvido algum critério para estabelecer uma base para o ajuste. Uma forma de fazê-lo é determinar a curva que minimize
a discrepância entre os dados e os pontos da curva. Uma técnica para conseguir esse objetivo, chamada regressão por mínimos quadrados, será discutida no presente capítulo.
17.1
REGRESSÃO LINEAR
O exemplo mais simples de aproximação por mínimos quadrados é ajustar uma reta a um
conjunto de pares de observação: (x1, y1), (x2, y2), . . . , (xn, yn). A expressão matemática
do ajuste por uma reta é
y = a0 + a 1 x + e
(17.1)
onde a0 e a1 são coeficientes representando a intersecção com o eixo y e a inclinação, respectivamente, e e é o erro ou resíduo entre o modelo e a observação, o qual pode ser
representado, depois de se reorganizar a Equação (17.1), por
e = y − a 0 − a1 x
Portanto, o erro ou resíduo é a discrepância entre o valor verdadeiro de y e o valor aproximado, a0 + a1x, previsto pela equação linear.
379
380
REGRESSÃO POR MÍNIMOS QUADRADOS
y
5
0
0
5
x
5
x
5
x
(a)
y
5
0
0
(b)
y
5
FIGURA 17.1
(a) Dados exibindo erros
significativos. (b) Ajuste
polinomial oscilando além do
intervalo dos dados. (c)
Resultado mais satisfatório
usando ajuste por mínimos
quadrados.
0
0
(c)
17.1.1 Critério para um “Melhor” Ajuste
Uma estratégia para ajustar uma “melhor” reta pelos dados seria minimizar o valor absoluto da soma dos erros residuais para todos os dados disponíveis, como em
n
n
ei =
(17.2)
(yi − a0 − a1 xi )
i=1
i=1
onde n é o número total de pontos. Entretanto, esse é um critério inadequado, como
ilustrado pela Figura 17.2a, a qual descreve o ajuste de uma reta a dois pontos. Obviamente, o melhor ajuste é a reta ligando os pontos. Entretanto, qualquer reta passando pelo
ponto médio do segmento que liga os pontos (exceto uma reta perfeitamente vertical) resulta em um valor mínimo da Equação (17.2) igual a zero, pois os erros se cancelam.
Portanto, um outro critério lógico poderia ser minimizar a soma dos valores absolutos das discrepâncias, como em
n
n
|yi − a0 − a1 xi |
|ei | =
i=1
i=1
17.1 REGRESSÃO LINEAR
381
y
Ponto médio
x
(a)
y
x
(b)
y
Ponto fora
x
(c)
FIGURA 17.2
Exemplos de alguns critérios para “melhor ajuste” que são inadequados para a regressão: (a)
minimizar a soma dos resíduos, (b) minimizar a soma dos valores absolutos dos resíduos, e
(c) minimizar o erro máximo por qualquer ponto individual.
A Figura 17.2b ilustra por que esse critério também é inadequado. Para os quatro
pontos mostrados, qualquer reta caindo dentro das retas tracejadas minimizaria a soma
dos valores absolutos. Portanto, esse critério também não forneceria um melhor ajuste único.
Uma terceira estratégia para ajustar a melhor reta seria o critério minimax. Nessa técnica, é escolhida a reta que minimize a distância máxima que um ponto individual tenha
da reta. Como descrito na Figura 17.2c, tal estratégia não é adequada para a regressão porque ela permite uma influência indevida a um “ponto discrepante”, isto é, a um
único ponto com um erro grande. Deve ser observado que o princípio minimax às vezes
é adequado para ajustar uma função simples a uma função complicada (Carnahan, Luther
e Wilkes, 1969).
Uma estratégia que supera as deficiências das abordagens anteriores é minimizar a
soma dos quadrados dos resíduos entre o y medido e o y calculado com o modelo linear
Sr =
n
i=1
ei2 =
n
i=1
(yi,medido − yi,modelo )2 =
n
i=1
(yi − a0 − a1 xi )2
(17.3)
Esse critério tem diversas vantagens, incluindo o fato de que ele fornece uma única reta
para um dado conjunto de dados. Antes de se discutir essas propriedades, será apresentada
uma técnica para determinar os valores de a0 e a1 que minimizam a Equação (17.3).
REGRESSÃO POR MÍNIMOS QUADRADOS
382
17.1.2 Ajuste por Mínimos Quadrados por uma Reta
Para determinar os valores de a0 e a1, a Equação (17.3) é derivada com relação a cada
coeficiente:
∂ Sr
= −2
(yi − a0 − a1 xi )
∂a0
∂ Sr
= −2
[(yi − a0 − a1 xi )xi ]
∂a1
Observe que simplificamos os símbolos de somatória; a menos que haja menção em contrário, todas as somatórias irão de i = 1 a n. Igualando essas derivadas a zero será obtido
um Sr mínimo. Se isso for feito, as equações podem ser expressas como
0=
yi −
a0 −
a1 x i
0=
yi xi −
a0 x i −
a1 xi2
Agora, percebendo que a0 = na0, pode-se expressar essas equações como um conjunto
de duas equações lineares simultâneas em duas variáveis (a 0 e a1):
x i a1 =
na0 +
yi
(17.4)
xi2 a1 =
x i a0 +
xi yi
(17.5)
Essas são as chamadas equações normais. Elas podem ser resolvidas simultaneamente
a1 =
nxi yi − xi yi
nxi2 − (xi )2
(17.6)
Esse resultado pode, então, ser usado junto com a Equação (17.4) para determinar
a0 = ȳ − a1 x̄
(17.7)
onde ȳ e x̄ são as médias de y e x, respectivamente.
EXEMPLO 17.1
Regressão Linear
Enunciado do Problema. Ajuste uma reta aos valores de x e y nas primeiras duas colunas da Tabela 17.1.
As seguintes quantidades podem ser calculadas:
xi2 = 140
n=7
xi yi = 119,5
28
xi = 28
x̄ =
=4
7
24
ȳ =
= 3,428571
yi = 24
7
Solução.
Usando as Equações (17.6) e (17.7),
7(119,5) − 28(24)
= 0,8392857
7(140) − (28)2
a0 = 3,428571 − 0,8392857(4) = 0,07142857
a1 =
Portanto, o ajuste por mínimos quadrados é
y = 0,07142857 + 0,8392857x
17.1 REGRESSÃO LINEAR
383
TABELA 17.1 Cálculos para uma análise de erro do ajuste linear.
2
(yi ⴚ y
苶)
xi
yi
1
2
3
4
5
6
7
0,5
2,5
2,0
4,0
3,5
6,0
5,5
24,0
(yi ⴚ a0 ⴚ a1xi)2
8,5765
0,8622
2,0408
0,3265
0,0051
6,6122
4,2908
22,7143
0,1687
0,5625
0,3473
0,3265
0,5896
0,7972
0,1993
2,9911
A reta, junto com os dados, é mostrada na Figura 17.1c.
17.1.3 Quantificação do Erro da Regressão Linear
Qualquer outra reta que não a calculada no Exemplo 17.1 resulta em uma soma maior dos
quadrados dos resíduos. Portanto, a reta é única e, em termos do critério escolhido por
nós, é a “melhor” reta pelos pontos. Diversas propriedades adicionais desse ajuste podem
ser elucidadas examinando-se com mais detalhe a forma como os resíduos foram calculados. Lembre-se de que a soma dos quadrados é definida como [Equação (17.3)]
Sr =
n
i=1
ei2 =
n
i=1
(yi − a0 − a1 xi )2
(17.8)
Observe a similaridade entre as Equações (PT5.3) e (17.8). No primeiro caso, o
quadrado do resíduo representava o quadrado da discrepância entre os dados e uma única
estimativa da medida da tendência central — a média. Na Equação (17.8), o quadrado do
resíduo representa o quadrado da distância vertical entre os dados e uma outra medida da
tendência central — a reta (Figura 17.3).
A analogia pode ser estendida ainda mais nos casos em que (1) a dispersão dos pontos em torno da reta tem valor absoluto parecido ao longo de todo o intervalo dos dados e
(2) a distribuição desses pontos em torno da reta é normal. Pode ser demonstrado que, se
esses critérios forem satisfeitos, a regressão por mínimos quadrados fornecerá as melhores estimativas (ou seja, as mais prováveis) de a0 e a1 (Draper e Smith, 1981). Isso é
chamado de princípio da probabilidade máxima em estatística. Além disso, se tais
FIGURA 17.3
O resíduo na regressão linear representa a distância vertical entre os pontos dados e a reta.
y
yi
Medida
ão
ss
yi – a0 – a1xi
a
et
de
e
gr
re
R
a0 + a1xi
xi
x
384
REGRESSÃO POR MÍNIMOS QUADRADOS
critérios forem satisfeitos, um “desvio padrão” para a reta de regressão pode ser determinado por [compare com a Equação (PT5.2)]
s y/x =
Sr
n−2
(17.9)
onde sy/x é chamado erro padrão da estimativa. O subscrito “y/x” indica que o erro é para
um valor previsto de y correspondente a um valor particular de x. Além disso, observe que
agora estamos dividindo por n − 2 porque duas estimativas provenientes dos dados —
a0 e a1 — foram usadas para calcular Sr; portanto, perdemos dois graus de liberdade. Do
mesmo modo como na discussão de desvio padrão em PT5.2.1, uma outra justificativa
para dividir por n − 2 é que não existe nenhuma “dispersão de dados” em torno de uma
reta ligando dois pontos. Portanto, nos casos nos quais n = 2, a Equação (17.9) fornece
um resultado infinito, sem sentido.
Exatamente como no caso do desvio padrão, o erro padrão da estimativa quantifica
a dispersão dos dados. Entretanto, sy/x quantifica a dispersão em torno da reta de regressão, como mostrado na Figura 17.4b, em contraste com o desvio padrão original sy
que quantificava a dispersão em torno da média (Figura 17.4a).
Esses conceitos podem ser usados para quantificar “quão bom” é o ajuste. Isso é particularmente útil para comparar diversas regressões (Figura 17.5). Para fazer isso, voltamos aos dados originais e determinamos a soma total dos quadrados em torno da média
da variável dependente (no caso, y). Como no caso da Equação (PT5.3), essa quantidade
é denotada por St, que é o módulo do erro residual associado com a variável dependente
antes da regressão. Depois de fazer a regressão, pode-se calcular Sr, a soma dos quadrados dos resíduos em torno da reta de regressão. Isso caracteriza o erro residual que permanece depois da regressão. Portanto, às vezes ele é chamado de soma dos quadrados
inexplicável. A diferença entre as duas quantidades, St − Sr, quantifica a melhora ou a redução de erro decorrente da descrição dos dados em termos de uma reta, em vez de um
valor médio. Como o módulo dessa quantidade depende da escala, a diferença é normalizada por St para fornecer
r2 =
St − Sr
St
(17.10)
FIGURA 17.4
Dados de regressão mostrando (a) a dispersão dos dados em torno da média da variável
dependente e (b) a dispersão dos dados em torno da reta de melhor ajuste. A redução na dispersão
ao ir de (a) para (b), como indicada pelas curvas em forma de sino à direita, representa a melhora
decorrente da regressão linear.
(a)
(b)
17.1 REGRESSÃO LINEAR
385
y
x
(a)
y
x
(b)
FIGURA 17.5
Exemplos de regressões lineares com erros residuais (a) pequenos e (b) grandes.
2
onde
√ r é chamado de coeficiente de determinação e r é o coeficiente de correlação
2
(= r ). Para um ajuste perfeito, Sr = 0 e r = r2 = 1, significando que a reta explica
100% da variação dos dados. Para r = r2 = 0, Sr = St e o ajuste não representa nenhuma
melhora. Uma formulação alternativa para r que é mais conveniente para implementação
computacional é
nxi yi − (xi )(yi )
r=
nxi2 − (xi )2 nyi2 − (yi )2
EXEMPLO 17.2
(17.11)
Estimativa de Erros para um Ajuste Linear por Mínimos Quadrados
Enunciado do Problema. Calcule o desvio padrão total, o erro padrão da estimativa e
o coeficiente de correlação para os dados do Exemplo 17.1.
Solução. As somatórias são feitas e apresentadas na Tabela 17.1. O desvio padrão é
[Equação (PT5.2)]
sy =
22,7143
= 1,9457
7−1
e o erro padrão da estimativa é [Equação (17.9)]
s y/x =
2,9911
= 0,7735
7−2
386
REGRESSÃO POR MÍNIMOS QUADRADOS
Portanto, como sy/x < sy, o modelo de regressão linear tem mérito. A extensão da melhora
é quantificada por [Equação (17.10)]
r2 =
22,7143 − 2,9911
= 0,868
22,7143
ou
r=
0,868 = 0,932
Esses resultados indicam que 86,8% da incerteza original foi explicada pelo modelo linear.
Antes de prosseguir para o programa computacional para a regressão linear, é preciso fazer um alerta. Embora o coeficiente de correlação forneça uma medida cômoda de
quão bom é o ajuste, você deveria tomar cuidado para não associar a ele mais significado
do que o devido. Apenas o fato de r estar “próximo” de 1 não significa que o ajuste seja
necessariamente “bom”. Por exemplo, é possível obter um valor relativamente alto de r
quando a relação subjacente entre y e x não for nem mesmo linear. Draper e Smith (1981)
forneceram diretrizes e material adicional relativos à avaliação dos resultados da regressão linear. Além disso, no mínimo, você deveria sempre inspecionar um gráfico dos
dados junto com sua curva de regressão. Como descrito na próxima seção, os pacotes de
software incluem tais recursos.
17.1.4 Programa Computacional para Regressão Linear
É relativamente trivial desenvolver um pseudocódigo para a regressão linear (Figura 17.6).
Como já mencionado, uma opção para traçar os gráficos é crítica para o uso e a interpretação efetivos da regressão. Tais recursos estão incluídos nos pacotes mais usados, como o
software MATLAB e o Excel. Se a sua linguagem de programação tiver recursos gráficos,
é recomendável que você expanda seu programa para incluir um gráfico de y em função de
x, mostrando tanto os dados quanto a reta de regressão. A inclusão desse recurso vai aumentar em muito a utilidade do programa nos contextos de resolução de problemas.
FIGURA 17.6
Algoritmo para a regressão linear.
SUB Regress(x, y, n, al, a0, syx, r2)
somax ⫽ 0: somaxy ⫽ 0: st ⫽ 0
somay ⫽ 0: somax2 ⫽ 0: sr ⫽ 0
DOFOR i ⫽ 1, n
somax ⫽ somax ⫹ xi
somay ⫽ somay ⫹ yi
somaxy ⫽ somaxy ⫹ xi*yi
somax2 ⫽ somax2 ⫹ xi*xi
END DO
xm ⫽ somax/n
ym ⫽ somay/n
a1 ⫽ (n*somaxy ⫺ somax*somay)兾(n*somax2 ⫺ somax*somax)
a0 ⫽ ym ⫺ a1*xm
DOFOR i ⫽ 1, n
st ⫽ st ⫹ (yi ⫺ ym)2
sr ⫽ sr ⫹ (yi ⫺ a1*xi ⫺ a0)2
END DO
syx ⫽ (sr/(n ⫺ 2))0.5
r2 ⫽ (st ⫺ sr)/st
END Regress
17.1 REGRESSÃO LINEAR
EXEMPLO 17.3
387
Regressão Linear Usando o Computador
Enunciado do Problema. Pode-se usar um software baseado na Figura 17.6 para resolver um problema de teste de hipótese associado com o pára-quedista em queda livre
discutido no Capítulo 1. Um modelo matemático teórico para a velocidade do páraquedista foi dado pelo seguinte [Equação (1.10)]
gm
v(t) =
1 − e(−c/m)t
c
onde v é a velocidade (m/s), g é a constante gravitacional (9,8 m/s2), m é a massa do páraquedista, igual a 68,1 kg, e c é o coeficiente de arrasto, de 12,5 kg/s. O modelo prevê a velocidade do pára-quedista como uma função do tempo, como descrito no Exemplo 1.1.
Um modelo empírico alternativo para a velocidade do pára-quedista é dado por
v(t) =
gm
c
t
3,75 + t
(E17.3.1)
Suponha que você quisesse testar e comparar a adequação desses dois modelos
matemáticos. Isso poderia ser conseguido medindo a velocidade real do pára-quedista em
valores conhecidos do tempo e comparando tais resultados com as velocidades previstas
por cada modelo.
TABELA 17.2 Velocidades medidas e calculadas de um pára-quedista em queda livre.
Tempo, s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
v medida
m/s
v calculada pelo modelo
m/s [Equação (1.10)]
v calculada pelo modelo
m/s [Equação (E17.3.1)]
(a)
(b)
(c)
10,00
16,30
23,00
27,50
31,00
35,60
39,00
41,50
42,90
45,00
46,00
45,50
46,00
49,00
50,00
8,953
16,405
22,607
27,769
32,065
35,641
38,617
41,095
43,156
44,872
46,301
47,490
48,479
49,303
49,988
11,240
18,570
23,729
27,556
30,509
32,855
34,766
36,351
37,687
38,829
39,816
40,678
41,437
42,110
42,712
Um programa desse tipo de coleta de dados experimentais foi implementado e os resultados estão listados na coluna (a) da Tabela 17.2. As velocidades calculadas pelos
modelos estão listadas nas colunas (b) e (c).
Solução. A adequação do modelo pode ser testada traçando-se a velocidade calculada
pelo modelo em função da velocidade medida. A regressão linear pode ser usada para calcular a inclinação e a intersecção com o eixo y do gráfico. Essa reta terá uma inclinação 1,
uma intersecção 0 com o eixo y e r 2 = 1 se o modelo se adequar perfeitamente aos dados.
Um desvio significativo desses valores pode ser usado como uma indicação da inadequação do modelo.
As Figuras 17.7a e b são gráficos da reta e dos dados para a regressão das colunas
(b) e (c), respectivamente, em função da coluna (a). Para o primeiro modelo [Equação
(1.10) como descrita na Figura 17.7a],
vmodelo = −0,859 + 1,032vmedida
388
REGRESSÃO POR MÍNIMOS QUADRADOS
55
(a)
Y
30
5
5
30
X
55
55
(b)
Y
30
5
5
30
X
55
FIGURA 17.7
(a) Resultados usando regressão linear para comparar as previsões calculadas pelo
modelo teórico [Equação (1.10)] com os valores medidos. (b) Resultados usando regressão
linear para comparar as previsões calculadas pelo modelo empírico [Equação (E17.3.1)]
com os valores medidos.
e para o segundo modelo [Equação (E17.3.1) como descrita na Figura 17.7b],
vmodelo = 5,776 + 0,752vmedida
Esses gráficos indicam que a regressão linear entre os dados e cada um dos modelos é altamente significativa. Ambos os modelos se ajustam aos dados com um coeficiente de
correlação maior do que 0,99.
Entretanto, o modelo descrito pela Equação (1.10) satisfaz o critério de teste de
hipótese muito melhor do que o descrito pela Equação (E17.3.1) porque a inclinação e a
intersecção com o eixo y estão mais próximas de 1 e 0. Logo, embora cada gráfico seja
bem descrito por uma reta, a Equação (1.10) parece ser um modelo melhor do que a
Equação (E17.3.1).
Testar e escolher o modelo são atividades comuns e extremamente importantes exercidas em todos os campos da engenharia. O material relativo a fundamentos dados neste
capítulo, junto com seu software, deveria permitir a você atacar muitos problemas práticos desse tipo.
Há uma deficiência na análise do Exemplo 17.3. O exemplo não era ambíguo porque
o modelo empírico [Equação (E17.3.1)] era claramente inferior à Equação (1.10). Logo,
17.1 REGRESSÃO LINEAR
389
a inclinação e a intersecção com o eixo y para o primeiro eram tão mais próximas do resultado desejado de 1 e 0 que se tornava óbvio qual modelo era superior.
Entretanto, suponha que a inclinação fosse 0,85 e que a intersecção com o eixo y
fosse 2. Obviamente, isso deixaria aberta para debate a conclusão de que a inclinação e a
intersecção com o eixo y eram 1 e 0. Claramente, em vez de depender de um julgamento
subjetivo, seria preferível basear tal conclusão em um critério quantitativo.
Isso pode ser feito calculando-se intervalos de confiança para os parâmetros do modelo da mesma forma que desenvolvemos intervalos de confiança para a média na Seção
PT5.2.3. Esse tópico será retomado no final do presente capítulo.
17.1.5 Linearização de Relações Não-lineares
A regressão linear fornece uma técnica poderosa para ajustar a melhor reta aos dados. Entretanto, ela é baseada no fato de que a relação entre as variáveis dependentes e independentes é linear. Esse não é sempre o caso e o primeiro passo em qualquer análise de regressão deveria ser traçar e inspecionar visualmente os dados para verificar se um modelo
linear se aplica. Por exemplo, a Figura 17.8 mostra alguns dados que são obviamente
curvilíneos. Em alguns casos, técnicas como regressão polinomial, a qual é descrita na
Seção 17.2, são apropriadas. Para outros, podem ser usadas transformações para expressar os dados em uma forma que seja compatível com a regressão linear.
Um exemplo é o modelo exponencial
y = α1 eβ1 x
(17.12)
onde α1 e β1 são constantes. Esse modelo é usado em muitos campos da engenharia para
caracterizar quantidades que aumentam (β1 positivo) ou diminuem (β1 negativo) a uma
taxa que é diretamente proporcional a seu próprio valor absoluto. Por exemplo, o crescimento populacional ou o decaimento radioativo podem exibir tal comportamento. Como
FIGURA 17.8
(a) Os dados não são adequados para uma regressão linear por mínimos quadrados.
(b) Indicação de que uma parábola é preferível.
y
x
(a)
y
x
(b)
REGRESSÃO POR MÍNIMOS QUADRADOS
y
y
y
y = ␣1e 1x
x
x
ln y
x
(c)
Linearização
(b)
Linearização
(a)
y = ␣3 x
3 + x
y = ␣2 x 2
log y
Linearização
390
1/y
Inclinação = 2
Inclinação = 3 /␣3
Inclinação = 1
Intersecção = 1/␣3
Intersecção = ln ␣1
log x
x
1/x
Intersecção = log ␣2
(d)
(e)
(f)
FIGURA 17.9
(a) A equação exponencial, (b) a equação de potência e (c) a equação da taxa de crescimento da saturação.
As partes (d), (e) e (f ) são versões linearizadas dessas equações que resultam de transformações simples.
descrito na Figura 17.9a, a equação representa uma relação não-linear (para β1 = 0)
entre y e x.
Outro exemplo de um modelo não-linear é a equação de potência simples
y = α2 x β2
(17.13)
onde α2 e β2 são coeficientes constantes. Esse modelo tem larga aplicabilidade em todos
os campos da engenharia. Como descrito na Figura 17.9b, a equação (para β2 = 0 ou 1) é
não-linear.
Um terceiro exemplo de um modelo não-linear é a equação da taxa de crescimento
da saturação [lembre-se da Equação (E17.3.1)]
y = α3
x
β3 + x
(17.14)
onde α3 e β3 são coeficientes constantes. Esse modelo, que é particularmente adequado
para caracterizar a taxa de crescimento populacional sob condições limitantes, também
representa uma relação não-linear entre y e x (Figura 17.9c) que se nivela, ou “satura”,
conforme x aumenta.
As técnicas de regressão não-linear estão disponíveis para ajustar tais equações aos
dados experimentais diretamente. (Observe que vamos discutir a regressão não-linear na
Seção 17.5.) Entretanto, uma alternativa simples é usar manipulações matemáticas para
17.1 REGRESSÃO LINEAR
391
transformar as equações para uma forma linear. Então, uma simples regressão linear pode
ser usada para ajustar as equações aos dados.
Por exemplo, a Equação (17.12) pode ser linearizada tomando-se seu logaritmo natural para obter
ln y = ln α1 + β1 x ln e
Mas, como ln e = 1,
ln y = ln α1 + β1 x
(17.15)
Logo, um gráfico de y em função de x irá fornecer uma reta com uma inclinação β1 e uma
intersecção com o eixo y em ln α1 (Figura 17.9d).
A Equação (17.13) será linearizada tomando-se seu logaritmo na base 10 para obter
log y = β2 log x + log α2
(17.16)
Logo, um gráfico de log y em função de log x irá fornecer uma reta com uma inclinação
β2 e uma intersecção com o eixo y em log α2 (Figura 17.9e).
A Equação (17.14) será linearizada invertendo-a para obter
1
β3 1
1
=
+
y
α3 x
α3
(17.17)
Logo, um gráfico de 1/y em função de l/x será linear, com uma inclinação β3/α3 e uma
intersecção com o eixo y em 1/α3 (Figura 17.9f).
Nas suas formas transformadas, esses modelos podem usar a regressão linear para calcular os coeficientes constantes. Eles poderiam, então, ser transformados de volta para seu
estado original e usados para propósitos de previsão. O Exemplo 17.4 ilustra esse procedimento para a Equação (17.13). Além disso, a Seção 20.1 fornecerá um exemplo em
engenharia do mesmo tipo de cálculo.
EXEMPLO 17.4
Linearização de uma Equação de Potência
Enunciado do Problema. Ajuste a Equação (17.13) aos dados da Tabela 17.3 usando
uma transformação logarítmica dos dados.
Solução. A Figura 17.10a é um gráfico dos dados originais no seu estado não transformado. A Figura 17.10b mostra o gráfico dos dados transformados. Uma regressão linear
para os dados transformados pelo log fornece o resultado
log y = 1,75 log x − 0,300
TABELA 17.3 Dados a serem ajustados pela
equação de potência.
x
y
1og x
log y
1
2
3
4
5
0,5
1,7
3,4
5,7
8,4
0
0,301
0,477
0,602
0,699
−0,301
0,226
0,534
0,753
0,922
392
REGRESSÃO POR MÍNIMOS QUADRADOS
y
5
0
0
5
x
0,5
log x
(a)
log y
0,5
(b)
FIGURA 17.10
(a) Gráfico dos dados não transformados com a equação de potência que ajusta os dados.
(b) Gráfico dos dados transformados usados para determinar os coeficientes da equação
de potência.
Logo, a intersecção com o eixo y, log α2, é igual a −0,300 e, portanto, calculando-se a inversa do logaritmo, α2 = 10−0,3 = 0,5. A inclinação é β2 = 1,75. Conseqüentemente, a
equação de potência é
y = 0,5x 1,75
Essa curva, traçada na Figura 17.10a, indica um bom ajuste.
17.1.6 Comentários Gerais sobre Regressão Linear
Antes de prosseguir para regressão linear múltipla e regressão não-linear, é necessário enfatizar a natureza introdutória do material anterior sobre regressão linear. Nós nos concentramos em deduções simples e usos práticos de equações para ajustar os dados. Você
deve estar ciente de que existem aspectos teóricos da regressão que são de importância
prática, mas que estão além do escopo deste livro. Por exemplo, algumas hipóteses estatísticas inerentes aos procedimentos por mínimos quadrados são:
1.
2.
3.
Cada x tem um valor fixo; ele não é aleatório e é conhecido sem erros.
Os valores de y são variáveis aleatórias independentes e têm todos a mesma variância.
Os valores de y para um dado x devem estar normalmente distribuídos.
17.2 REGRESSÃO POLINOMIAL
393
Tais hipóteses são relevantes para a dedução e o uso adequados da regressão. Por
exemplo, a primeira hipótese significa que (1) os valores de x devem estar livres de erros
e (2) a regressão de y em função de x não é a mesma que a de x em função de y (tente resolver o Problema 17.4 no final do capítulo). Recomendamos fortemente que você consulte outras referências, como Draper e Smith (1981), para apreciar aspectos e nuances da
regressão que estão além do escopo deste livro.
17.2
REGRESSÃO POLINOMIAL
Na Seção 17.1, foi desenvolvido um procedimento para deduzir a equação da reta usando
o critério dos mínimos quadrados. Alguns dados em engenharia, embora exibam um
padrão definido tal como visto na Figura 17.8, são representados de forma insatisfatória
por uma reta. Nesses casos, uma curva seria mais adequada para ajustar os dados. Como
discutido na seção anterior, um método para atingir esse objetivo é usar transformações.
Uma alternativa é ajustar polinômios aos dados usando regressão polinomial.
O procedimento dos mínimos quadrados pode ser prontamente estendido para ajustar dados por um polinômio de grau mais alto. Por exemplo, suponha que se queira
ajustar um polinômio de segundo grau ou quadrático:
y = a0 + a 1 x + a 2 x 2 + e
Nesse caso, a soma dos quadrados dos resíduos é [compare com a Equação (17.3)]
n
2
Sr =
yi − a0 − a1 xi − a2 xi2
(17.18)
i=1
Seguindo o procedimento da seção anterior, toma-se a derivada da Equação (17.18) com
relação a cada um dos coeficientes desconhecidos do polinômio, como em
∂ Sr
= −2
yi − a0 − a1 xi − a2 xi2
∂a0
∂ Sr
= −2
xi yi − a0 − a1 xi − a2 xi2
∂a1
∂ Sr
= −2
xi2 yi − a0 − a1 xi − a2 xi2
∂a2
Essas equações podem ser igualadas a zero e reorganizadas para determinar o seguinte
conjunto de equações normais:
x i a1 +
xi2 a2 =
yi
(n)a0 +
xi2 a1 +
xi3 a2 =
x i a0 +
xi yi
xi3 a1 +
xi4 a2 =
xi2 a0 +
xi2 yi
(17.19)
onde todas as somatórias vão de i = 1 a n. Observe que essas três equações são lineares e
têm três incógnitas a0, a1 e a2. Os coeficientes das incógnitas podem ser calculados diretamente dos dados observados.
Nesse caso, vê-se que o problema de determinar o polinômio de segundo grau por
mínimos quadrados é equivalente a resolver um sistema de três equações lineares simultâneas. As técnicas para resolver tais equações foram discutidas na Parte Três.
O caso bidimensional pode ser facilmente estendido para um polinômio de grau m
como
y = a0 + a 1 x + a 2 x 2 + · · · + a m x m + e
A análise anterior pode ser facilmente estendida para esse caso mais geral. Portanto,
pode-se perceber que determinar os coeficientes de um polinômio de grau m é equivalente
REGRESSÃO POR MÍNIMOS QUADRADOS
394
a resolver um sistema de m + 1 equações lineares simultâneas. Nesse caso, o erro padrão
é formulado como
s y/x =
Sr
n − (m + 1)
(17.20)
Essa quantidade está dividida por n − (m + 1) porque (m + 1) coeficientes provenientes dos dados — a0, a1, . . . , am — foram usados para calcular Sr; logo, foram perdidos m + 1 graus de liberdade. Além do erro padrão, um coeficiente de determinação
também pode ser calculado para a regressão polinomial com a Equação (17.10).
EXEMPLO 17.5
Regressão Polinomial
Enunciado do Problema. Ajuste um polinômio do segundo grau aos dados nas primeiras duas colunas da Tabela 17.4.
A partir dos dados fornecidos,
m=2
xi = 15
n=6
yi = 152,6
x = 2,5
xi2 = 55
y = 25,433
xi3 = 225
Solução.
xi4 = 979
xi2 yi = 2488,8
xi yi = 585,6
TABELA 17.4 Cálculos para uma análise de erros do ajuste quadrático por
mínimos quadrados.
xi
yi
0
1
2
3
4
5
2,1
7,7
13,6
27,2
40,9
61,1
152,6
(yi ⴚ a0 ⴚ a1xi ⴚ a2xi2)
2
(yi ⴚ y
苶)
544,44
314,47
140,03
3,12
239,22
1.272,11
2.513,39
0,14332
1,00286
1,08158
0,80491
0,61951
0,09439
3,74657
FIGURA 17.11
Ajuste por um polinômio de segundo grau.
y
50
Parábola dos
mínimos
quadrados
0
5
x
17.2 REGRESSÃO POLINOMIAL
395
Portanto, as equações lineares simultâneas são
⎫
⎤⎧ ⎫ ⎧
⎡
6 15 55 ⎨a0 ⎬ ⎨ 152,6 ⎬
⎣ 15 55 225 ⎦ a1 = 585,6
⎩ ⎭ ⎩
⎭
55 225 979
2488,8
a2
Resolvendo essas equações por uma técnica como a eliminação de Gauss, obtêm-se
a0 = 2,47857, a1 = 2,35929 e a2 = 1,86071. Portanto, a equação quadrática por mínimos
quadrados é
y = 2,47857 + 2,35929x + 1,86071x 2
O erro padrão da estimativa baseado na regressão polinomial é [Equação (17.20)]
3,74657
s y/x =
= 1,12
6−3
O coeficiente de determinação é
r2 =
2513,39 − 3,74657
= 0,99851
2513,39
e o coeficiente de correlação é r = 0,99925.
Os resultados indicam que 99,851% da incerteza original foi explicada por esse
modelo. Esse resultado confirma a conclusão de que a equação quadrática representa um
excelente ajuste, como também é evidente a partir da Figura 17.11.
17.2.1 Algoritmo para a Regressão Polinomial
Um algoritmo para a regressão polinomial está delineado na Figura 17.12. Observe que
a tarefa principal é a geração dos coeficientes das equações normais [Equação (17.19)].
(O pseudocódigo para conseguir isso está apresentado na Figura 17.13.) Então, técnicas
Passo 1: Entre a ordem do polinômio a ser ajustado, m.
Passo 2: Entre o número de pontos dados, n.
Passo 3: Se n < m + 1, imprima uma mensagem de erro dizendo que a regressão é impossível
e pare o processo. Se n ≥ m + 1, continue.
Passo 4: Calcule os elementos da equação normal, na forma de uma matriz aumentada.
Passo 5: Resolva a matriz aumentada e determine os coeficientes a0, a1, a2, . . . , am, usando
um método de eliminação.
Passo 6: Imprima os coeficientes.
FIGURA 17.12
Algoritmo para a implementação de regressão polinomial e linear múltipla.
FIGURA 17.13
Pseudocódigo para calcular os
elementos da equação normal
para a regressão polinomial.
DOFOR i ⫽ 1, order ⫹ 1
DOFOR j ⫽ 1, i
k ⫽ i ⫹ j ⫺ 2
soma ⫽ 0
DOFOR ℓ ⫽ 1, n
soma ⫽ soma ⫹ xkℓ
END DO
ai,j ⫽ soma
aj,i ⫽ soma
END DO
soma ⫽ 0
DOFOR ℓ ⫽ 1, n
soma ⫽ soma ⫹ yℓ ⭈ xi⫺1
ℓ
END DO
ai,order⫹2 ⫽ soma
END DO
REGRESSÃO POR MÍNIMOS QUADRADOS
396
da Parte Três podem ser aplicadas para resolver essas equações simultâneas nos coeficientes do polinômio.
Um problema em potencial associado com a implementação da regressão polinomial
no computador é que as equações normais são, às vezes, mal condicionadas. Isso é particularmente verdadeiro para versões de grau mais alto. Nesses casos, os coeficientes calculados podem ser altamente suscetíveis a erros de arredondamento e, conseqüentemente,
os resultados podem não ser acurados. Entre outras coisas, o problema está relacionado à
estrutura das equações normais e ao fato de que, para polinômios de grau mais alto, as
equações normais podem ter coeficientes muito grandes e muito pequenos. Isso ocorre
porque os coeficientes são somas de dados elevados a potências.
Embora as técnicas para abrandar os erros de arredondamento discutidas na Parte
Três, como o pivotamento, possam ajudar a remediar parcialmente o problema, uma alternativa simples é usar um computador com precisão maior. Felizmente, a maioria dos
problemas práticos é limitada a polinômios de grau baixo para os quais os erros de
arredondamento são usualmente desprezíveis. Em situações nas quais versões de grau
mais alto forem necessárias, existem alternativas disponíveis para certos tipos de dados.
Entretanto, essas técnicas (como polinômios ortogonais) estão além do escopo deste
livro. O leitor deveria consultar textos sobre regressão, como Draper e Smith (1981), para
informação adicional sobre o problema e possíveis alternativas.
17.3
REGRESSÃO LINEAR MÚLTIPLA
Uma extensão útil da regressão linear é o caso no qual y é uma função linear de duas ou
mais variáveis independentes. Por exemplo, y poderia ser uma função linear de x1 e x2,
como em
y = a0 + a1 x 1 + a2 x 2 + e
Tal equação é particularmente útil para ajustar dados experimentais, para os quais as
variáveis sendo estudadas são freqüentemente uma função de duas outras variáveis.
Para esse caso bidimensional, a “reta” de regressão se torna o “plano” de regressão
(Figura 17.14).
Como nos casos anteriores, os “melhores” valores dos coeficientes são determinados
escrevendo-se a soma dos quadrados dos resíduos,
Sr =
n
i=1
(yi − a0 − a1 x1i − a2 x2i )2
(17.21)
e derivando-a com relação a cada um dos coeficientes desconhecidos,
FIGURA 17.14
Descrição gráfica da regressão
linear múltipla na qual y é uma
função linear de x1 e x2.
y
x1
x2
17.3 REGRESSÃO LINEAR MÚLTIPLA
397
∂ Sr
= −2
(yi − a0 − a1 x1i − a2 x2i )
∂a0
∂ Sr
= −2
x1i (yi − a0 − a1 x1i − a2 x2i )
∂a1
∂ Sr
= −2
x2i (yi − a0 − a1 x1i − a2 x2i )
∂a2
Os coeficientes fornecendo a soma mínima dos quadrados dos resíduos são obtidos
igualando-se as derivadas parciais a zero e expressando o resultado na forma matricial como
⎫
⎡
⎤⎧ ⎫ ⎧
n
x1i
x2i
⎨a0 ⎬ ⎨ yi ⎬
⎣x1i
x1i2
x1i x2i ⎦ a1 = x1i yi
(17.22)
⎩ ⎭ ⎩
⎭
a2
x2i x1i x2i
x2i2
x2i yi
EXEMPLO 17.6
Regressão Linear Múltipla
Enunciado do Problema. Os seguintes dados foram calculados a partir da equação
y = 5 + 4x1 − 3x2:
x1
x2
y
0
2
2,5
1
4
7
0
1
2
3
6
2
5
10
9
0
3
27
Use regressão linear múltipla para ajustar esses dados.
Solução. As somatórias necessárias para desenvolver a Equação (17.22) foram calculadas na Tabela 17.5. O resultado é
⎫
⎤⎧ ⎫ ⎧
⎡
6
16,5 14 ⎨ a0 ⎬ ⎨ 54 ⎬
⎣ 16,5 76,25 48 ⎦ a1 = 243,5
⎩ ⎭ ⎩
⎭
14
48
54
100
a2
que pode ser resolvida usando-se um método como a eliminação de Gauss, obtendo-se
a0 = 5
a1 = 4
a2 = −3
o que é consistente com a equação original a partir da qual os dados foram obtidos.
TABELA 17.5 Cálculos necessários para desenvolver as equações normais para o
Exemplo 17.6.
y
x1
x2
x12
x22
x1x2
x1y
x2y
5
10
9
0
3
27
0
2
2,5
1
4
7
0
1
2
3
6
2
0
4
6,25
1
16
49
0
1
4
9
36
4
0
2
5
3
24
14
0
20
22,5
0
12
189
0
10
18
0
18
54
54
16,5
14
76,25
54
48
243,5
100
REGRESSÃO POR MÍNIMOS QUADRADOS
398
O caso bidimensional anterior pode ser facilmente estendido para m dimensões,
como em
y = a0 + a 1 x 1 + a 2 x 2 + · · · + a m x m + e
para o qual o erro padrão é formulado como
s y/x =
Sr
n − (m + 1)
e o coeficiente de determinação é calculado como na Equação (17.10). Um algoritmo para
determinar as equações normais está listado na Figura 17.15.
Embora possam existir certos casos em que a variável seja linearmente relacionada
a duas ou mais outras variáveis, a regressão linear múltipla tem utilidade adicional na dedução das equações de potência na forma geral
y = a0 x1a1 x2a2 · · · xmam
Tais equações são extremamente úteis para ajustar dados experimentais. Para usar regressão linear múltipla, a equação é transformada tomando seu logaritmo para obter
log y = log a0 + a1 log x1 + a2 log x2 + · · · + am log xm
Essa transformação é parecida em espírito com a que foi usada na Seção 17.1.5 e no
Exemplo 17.4 para ajustar uma equação de potência quando y fosse uma função de uma
única variável x. A Seção 20.4 fornece um exemplo de tal aplicação para duas variáveis
independentes.
17.4
MÍNIMOS QUADRADOS LINEAR GERAL
Até agora, nós nos concentramos na mecânica da obtenção de ajustes por mínimos
quadrados de algumas funções simples aos dados. Antes de nos voltarmos para a regressão não-linear, há diversas questões que gostaríamos de discutir para enriquecer sua
compreensão do material anterior.
FIGURA 17.15
Pseudocódigo para determinar os elementos das equações normais para a regressão múltipla.
Observe que, além do fato de armazenar as variáveis independentes x1,i, x2,i, e assim por
diante, os 1’s precisam ser armazenados em x0,i para que o algoritmo funcione.
DOFOR i ⫽ 1, order ⫹ 1
DOFOR j ⫽ 1, i
soma ⫽ 0
DOFOR ℓ ⫽ 1, n
soma ⫽ soma ⫹ xi⫺1,ℓ ⭈ xj⫺1,ℓ
END DO
ai,j ⫽ soma
aj,i ⫽ soma
END DO
soma ⫽ 0
DOFOR ℓ ⫽ 1, n
soma ⫽ soma ⫹ yℓ ⭈ xi⫺1,ℓ
END DO
ai,order⫹2 ⫽ soma
END DO
17.4 MÍNIMOS QUADRADOS LINEAR GERAL
399
17.4.1 Formulação Matricial Geral dos Mínimos Quadrados Linear
Nas páginas precedentes, foram introduzidos três tipos de regressão: linear simples, polinomial e linear múltipla. Na realidade, todas as três pertencem ao seguinte modelo geral
de mínimos quadrados linear:
y = a0 z 0 + a1 z 1 + a2 z 2 + · · · + am z m + e
(17.23)
onde z0, z1, . . . , zm são m + 1 funções base. Pode ser visto facilmente como a regressão
linear simples e a linear múltipla se encaixam nesse modelo — isto é, z0 = 1, z1 = x1,
z2 = x2, . . . , zm = xm. Além disso, a regressão polinomial também é incluída se as funçõesbase forem monômios simples como em z0 = x0 = 1, z1 = x, z2 = x2, . . . , zm = xm.
Observe que a terminologia “linear” se refere apenas a como o modelo depende de
seus parâmetros — ou seja, os a’s. Como no caso da regressão polinomial, as próprias
funções podem ser altamente não-lineares. Por exemplo, os z’s podem ser funções
senoidais, como em
y = a0 + a1 cos(ωt) + a2 sen(ωt)
Tal forma é a base da análise de Fourier descrita no Capítulo 19.
Por outro lado, um modelo aparentemente simples como
f(x) = a0 (1 − e−a1 x )
é verdadeiramente não-linear porque não pode ser manipulado na forma da Equação
(17.23). Tais modelos serão retomados no final deste capítulo.
Por agora, a Equação (17.23) pode ser expressa na notação matricial como
{Y } = [Z ]{A} + {E}
(17.24)
onde [Z] é a matriz dos valores calculados das funções base nos valores medidos das variáveis independentes,
⎡
⎤
z 01 z 11 · · · z m1
⎢ z 02 z 12 · · · z m2 ⎥
⎢
⎥
⎢ .
⎥
.
.
⎥
[Z ] = ⎢
⎢ .
⎥
.
.
⎢
⎥
⎣ .
⎦
.
.
z 0n z 1n · · · z mn
onde m é o número de variáveis no modelo e n é o número de pontos dados. Como n ≥ m
+ 1, você deve perceber que, na maioria das vezes, [Z ] não é uma matriz quadrada.
O vetor coluna {Y } contém os valores observados das variáveis dependentes
{Y }T = ⌊ y1
y2
···
yn ⌋
O vetor coluna {A} contém os coeficientes desconhecidos
{A}T = ⌊ a0
a1
· · · am ⌋
e o vetor coluna {E} contém os resíduos
{E}T = ⌊ e1
e2
· · · en ⌋
Como foi feito por todo este capítulo, a soma dos quadrados dos resíduos para esse
caso pode ser definida por
2
m
n
yi −
a j z ji
Sr =
i=1
j=0
Essa quantidade pode ser minimizada tomando-se suas derivadas parciais em relação a
cada um dos coeficientes e igualando-se a equação resultante a zero. O resultado desse
processo são as equações normais que podem ser expressas concisamente na forma
matricial como
T
[Z ] [Z ] {A} = [Z ]T {Y }
(17.25)
400
REGRESSÃO POR MÍNIMOS QUADRADOS
Pode ser mostrado que, de fato, a Equação (17.25) é equivalente às equações normais
desenvolvidas anteriormente para a regressão linear simples, polinomial e linear múltipla.
Nossa motivação principal na discussão anterior foi ilustrar a unidade entre as
três abordagens e mostrar como elas podem ser todas expressas simplesmente na
mesma notação matricial. Ela também prepara o terreno para a próxima seção, na qual
será adquirida alguma percepção sobre as estratégias preferidas para resolver a
Equação (17.25). A notação matricial também terá relevância quando se abordar a regressão não-linear na última seção deste capítulo.
17.4.2 Técnicas de Solução
Em discussões anteriores deste capítulo, foi abordada rapidamente a questão das técnicas
numéricas específicas para resolver as equações normais. Agora que foi estabelecida a
unidade entre os diversos modelos, pode-se explorar essa questão com mais detalhe.
Primeiro, deve ficar claro que o método de Gauss-Seidel não pode ser usado porque
as equações normais não são diagonalmente dominantes. Restam, portanto, os métodos
de eliminação. Para o presente propósito, podem-se dividir essas técnicas em três categorias: (1) métodos de decomposição LU, incluindo a eliminação de Gauss, (2) método
de Cholesky e (3) abordagens por inversão de matrizes. Existem sobreposições óbvias
envolvendo essa divisão. Por exemplo, o método de Cholesky é, na realidade, uma decomposição LU e todas as abordagens podem ser formuladas de modo a gerar a matriz inversa. Entretanto, essa divisão tem o mérito de que cada categoria oferece vantagens com
relação à solução das equações normais.
Decomposição LU. Se você estiver simplesmente interessado em aplicar o ajuste por
mínimos quadrados no caso em que o modelo apropriado é conhecido a priori, qualquer
uma das abordagens por decomposição LU descritas no Capítulo 9 é perfeitamente
aceitável. De fato, as formulações que não são do tipo decomposição LU da eliminação
de Gauss também podem ser usadas. É uma tarefa de programação relativamente simples
incorporar qualquer um deles em um algoritmo para mínimos quadrados linear. Realmente, se tiver sido seguida uma abordagem modular, isso é quase trivial.
Método de Cholesky. O algoritmo de decomposição de Cholesky tem diversas vantagens com relação à solução do problema de regressão linear geral. Primeiro, é planejado especificamente para resolver matrizes simétricas como as equações normais.
Logo, é rápido e exige menos espaço de armazenamento para resolver tais sistemas. Segundo, ele é apropriado de forma ideal para os casos nos quais a ordem do modelo [ou
seja, o valor de m na Equação (17.23)] não for conhecida a priori (ver Ralston e Rabinowitz, 1978). Um desses casos seria a regressão polinomial. Nesse caso, poderíamos
não saber a priori se um polinômio linear, quadrático, cúbico ou de grau superior é o
“melhor” modelo para descrever nossos dados. Por causa da forma tanto como as
equações normais são construídas quanto como o algoritmo de Cholesky procede
(Figura 11.3), pode-se desenvolver modelos de ordem sucessivamente superior de uma
maneira extremamente eficiente. Em cada passo, podemos verificar a soma dos quadrados dos resíduos (e um gráfico) para examinar se a inclusão de termos de grau mais alto
melhora significativamente o ajuste.
A situação análoga para regressão linear múltipla ocorre quando forem adicionadas
variáveis independentes ao modelo, uma de cada vez. Suponha que a variável dependente
de interesse seja uma função de diversas variáveis independentes, digamos, temperatura,
conteúdo de umidade, pressão etc. Poderíamos primeiro fazer uma regressão linear com
a temperatura e calcular um erro residual. A seguir, poderíamos incluir o conteúdo de
umidade fazendo uma regressão múltipla com duas variáveis e ver se a variável adicional
resultou em um ajuste melhor. O método de Cholesky torna esse processo eficiente
porque a decomposição do modelo linear iria simplesmente ser suplementada para incorporar uma nova variável.
17.4 MÍNIMOS QUADRADOS LINEAR GERAL
401
Abordagens por Inversão de Matrizes. Da Equação (PT3.6), lembre-se de que a inversa de uma matriz pode ser usada para resolver a Equação (17.25), como em
−1 T
{A} = [Z ]T [Z ]
[Z ] {Y }
(17.26)
Cada um dos métodos de eliminação pode ser usado para determinar a inversa e, portanto,
pode ser usado para implementar a Equação (17.26). Entretanto, como você aprendeu na
Parte Três, essa é uma abordagem ineficiente para resolver um conjunto de equações
simultâneas. Logo, se o interesse fosse simplesmente determinar os coeficientes da regressão, seria preferível empregar uma abordagem por decomposição LU, sem inversão.
Entretanto, do ponto de vista estatístico, há diversas razões pelas quais poderia haver
interesse em obter a inversa e examinar seus coeficientes. Essas razões serão discutidas
a seguir.
17.4.3 Aspectos Estatísticos da Teoria dos Mínimos Quadrados
Na Seção PT5.2.1, revisamos um pouco da estatística descritiva que pode ser usada para
descrever uma amostra. Isso incluía a média aritmética, o desvio padrão e a variância.
Além de fornecer uma solução para os coeficientes da regressão, a formulação matricial da Equação (17.26) fornece estimativas da estatística deles. Pode ser mostrado
(Draper e Smith, 1981) que os termos diagonais e fora da diagonal da matriz [[Z ]T [Z ]]−1
dão, respectivamente, a variância e a covariância1 dos a’s. Se os elementos da diagonal
−1
de [[Z ]T [Z ]]−1 forem designados por z i,i
,
e
−1 2
s y/x
var(ai −1 ) = z i,i
(17.27)
2
cov(ai −1 , a j −1 ) = z i,−1j s y/x
(17.28)
Essas estatísticas têm diversas aplicações importantes. Para o presente propósito,
será ilustrado como elas podem ser usadas para desenvolver intervalos de confiança para
a intersecção com o eixo y e a inclinação.
Usando uma abordagem parecida com a da Seção PT5.2.3, pode ser mostrado que
limites superior e inferior para a intersecção com o eixo y podem ser formulados como
(ver Milton e Arnold, 1995, para detalhes)
U = a0 + tα/2,n−2 s(a0 )
(17.29)
onde s(aj) é o erro padrão do coeficiente a j = var(a j ). De forma parecida, os limites superior e inferior da inclinação podem ser formulados como
L = a0 − tα/2,n−2 s(a0 )
L = a1 − tα/2,n−2 s(a1 )
U = a1 + tα/2,n−2 s(a1 )
(17.30)
O seguinte exemplo ilustra como esses intervalos podem ser usados para fazer inferências
quantitativas relacionadas à regressão linear.
EXEMPLO 17.7
Intervalos de Confiança para a Regressão Linear
Enunciado do Problema. No Exemplo 17.3, usamos a regressão para desenvolver as
seguintes relações entre as medidas e as previsões do modelo:
y = −0,859 + 1,032x
onde y são as previsões do modelo e x são as medidas. Concluímos que existe uma boa
concordância entre as duas porque a intersecção com o eixo y era aproximadamente igual
a zero e a inclinação, aproximadamente igual a 1. Recalcule a regressão, mas use a abor-
1
A covariância é uma quantidade estatística que mede a dependência de uma variável com outra. Logo,
cov(x, y) indica a dependência de x e y. Por exemplo, cov(x, y) = 0 indicaria que x e y são totalmente independentes.
402
REGRESSÃO POR MÍNIMOS QUADRADOS
dagem matricial para estimar os erros padrão para os parâmetros. A seguir, use esses erros
para desenvolver intervalos de confiança e utilize-os para fazer uma afirmação probabilística com relação à adequação do ajuste.
Solução. Os dados podem ser escritos na forma matricial para uma regressão linear
simples como:
⎧
⎫
⎡
⎤
1 10
8,953 ⎪
⎪
⎪
⎪
⎪
16,405⎪
⎢ 1 16,3 ⎥
⎪
⎪
⎪
⎪
⎢
⎥
⎪
⎪
⎪
⎢ 1 23 ⎥
⎨22,607⎪
⎬
⎢
⎥
[Z ] = ⎢ .
{Y } =
. ⎥
.
⎢
⎥
⎪
⎪
⎪
. ⎥
. ⎪
⎢.
⎪
⎪
⎪
⎪
⎪
⎪
⎦
⎣
⎪
⎪
.
.
.
⎪
⎪
⎩
⎭
1 50
49,988
A transposição e a multiplicação de matrizes podem então ser usadas para gerar as
equações normais como:
T
{A} = [Z ]T {Y }
[Z ] [Z ]
"# $ #
$
!
a0
15
548,3
552,741
=
548,3 2.2191,21 a1
2.2421,43
A inversão de matrizes pode ser usada para obter a inclinação e a intersecção com o eixo
y como
T
−1
T
{A} =
[Z ] [Z ]
[Z ] {Y }
!
"#
$ #
$
0,688414 −0,01701
552,741
−0,85872
=
=
−0,01701 0,000465
2.2421,43
1,031592
Logo, a intersecção com o eixo y e a inclinação são determinadas como a0 = −0,85872 e
a1 = 1,031592, respectivamente. Esses valores, por sua vez, podem ser usados pra calcular o erro padrão das estimativas como sy/x = 0,863403. Esse valor pode ser utilizado
junto com os elementos da diagonal da matriz inversa para calcular os erros padrão dos
coeficientes,
−1 2
s y/x = 0,688414(0,863403)2 = 0,716372
s(a0 ) = z 11
−1 2
s(a1 ) = z 22
s y/x = 0,000465(0,863403)2 = 0,018625
A estatística tα/2,n−1 necessária para um intervalo de confiança de 95% com n − 2 =
15 − 2 = 13 graus de liberdade pode ser determinada de uma tabela de estatística ou
usando um software. Usamos uma função do Excel TINV, para chegar ao valor adequado, como em
= TINV(0,05, 13)
a qual fornece um valor de 2,160368. As Equações (17.29) e (17.30) podem ser usadas
para calcular os intervalos de confiança como
a0 = −0,85872 ± 2,160368(0,716372)
= −0,85872 ± 1,547627 = [−2,40634, 0,688912]
a1 = 1,031592 ± 2,160368(0,018625)
= 1,031592 ± 0,040237 = [0,991355, 1,071828]
Observe que os valores desejados (0 para a intersecção e 1 para a inclinação) caem
dentro desses intervalos. Com base nessa análise, pode-se fazer a seguinte afirmação estatística com relação à inclinação: temos fortes indicações para acreditar que a inclinação
da reta de regressão verdadeira cai dentro do intervalo de 0,991355 a 1,071828. Como
17.5 REGRESSÃO NÃO-LINEAR
403
1 cai dentro desse intervalo, também temos fortes indicações para acreditar que o resultado confirma a concordância entre as medidas e o modelo. Como zero cai dentro do intervalo da intersecção, uma afirmação parecida pode ser feita com relação à intersecção
com o eixo y.
A discussão anterior é uma introdução limitada ao rico tópico da inferência estatística e sua relação com a regressão. Há muitas sutilezas que estão além do escopo deste
livro. Nossa principal motivação foi ilustrar o poder da abordagem matricial para gerar
mínimos quadrados linear. Você deveria consultar alguns dos excelentes livros sobre o assunto (por exemplo, Draper e Smith, 1981) para informação adicional. Além disso, deve
ser observado que os pacotes e bibliotecas de software podem gerar ajustes por regressão
por mínimos quadrados junto com informações relevantes para a inferência estatística.
Vamos explorar alguns desses recursos quando descrevermos esses pacotes no final do
Capítulo 19.
17.5
REGRESSÃO NÃO-LINEAR
Há muitos casos em engenharia nos quais modelos não-lineares devem ser ajustados aos
dados. No presente contexto, esses modelos são definidos como aqueles que têm uma dependência não-linear com seus parâmetros. Por exemplo,
f(x) = a0 (1 − e−a1 x ) + e
(17.31)
Essa equação não pode ser manipulada de modo que fique de acordo com a forma geral
da Equação (17.23).
Como nos casos dos mínimos quadrados linear, a regressão não-linear é baseada
na determinação dos valores dos parâmetros que minimizem a soma dos quadrados
dos resíduos. Entretanto, para o caso não-linear, a solução deve prosseguir de uma
forma iterativa.
O método de Gauss-Newton é um algoritmo para minimizar a soma dos quadrados
dos resíduos entre os dados e as equações não-lineares. Os conceito chave subjacente a
essa técnica é que uma expansão em série de Taylor é usada para expressar a equação nãolinear original em uma forma aproximada linear. A seguir, a teoria dos mínimos quadrados pode ser usada para se obter novas estimativas dos parâmetros que se movam na direção de minimizar o resíduo.
Para ilustrar como isso é feito, primeiro a relação entre a equação não-linear e os
dados pode ser expressa genericamente como
yi = f(xi ; a0 , a1 , . . . , am ) + ei
onde yi é um valor medido da variável dependente, f (xi; a0, a1, . . . , am) é a equação que
é uma função da variável independente xi e uma função não-linear dos parâmetros a0, a1,
. . . , am e ei é um erro aleatório. Por conveniência, esse modelo pode ser expresso na
forma abreviada pela omissão dos parâmetros,
(17.32)
yi = f(xi ) + ei
O modelo não-linear pode ser expandido por uma série de Taylor em torno dos valores dos parâmetros e truncada depois da primeira derivada. Por exemplo, para um caso
com 2 parâmetros,
f(xi ) j+1 = f(xi ) j +
∂ f(xi ) j
∂ f(xi ) j
a0 +
a1
∂a0
∂a1
(17.33)
onde j é a aproximação inicial, j + 1 é a previsão, a0 = a0,j+1 − a0,j e a1 = a1, j+1 −
a1, j. Logo, linearizamos o modelo inicial com relação aos parâmetros. A Equação (17.33)
pode ser substituída na Equação (17.32) para fornecer
yi − f(xi ) j =
∂ f(xi ) j
∂ f(xi ) j
a0 +
a1 + ei
∂a0
∂a1
REGRESSÃO POR MÍNIMOS QUADRADOS
404
ou, na forma matricial [compare com a Equação (17.24)],
{D} = Z j {A} + {E}
(17.34)
onde [Zj] é a matriz das derivadas parciais da função calculada na aproximação inicial j,
⎡
⎤
∂ f 1 /∂a0 ∂ f 1 /∂a1
⎢∂ f 2 /∂a0 ∂ f 2 /∂a1 ⎥
⎢
⎥
⎢ .
. ⎥
⎥
[Z j ] = ⎢
⎢ .
. ⎥
⎢
⎥
⎣ .
. ⎦
∂ f n /∂a0 ∂ f n /∂a1
onde n é o número de pontos dados e ∂fi/∂ak é a derivada parcial da função com relação
ao k-ésimo parâmetro calculada no i-ésimo ponto dado. O vetor {D} contém as diferenças
entre as medidas e os valores da função,
⎧
⎫
y1 − f(x1 )⎪
⎪
⎪
⎪
⎪
⎪
⎪
y2 − f(x2 )⎪
⎪
⎪
⎪
⎪
⎨
⎬
.
{D} =
.
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
.
⎪
⎪
⎪
⎩ y − f(x )⎪
⎭
n
n
e o vetor {A} contém a variação nos valores dos parâmetros,
⎫
⎧
a0 ⎪
⎪
⎪
⎪
⎪
a ⎪
⎪
⎪
⎪
⎬
⎨ 1⎪
.
{A} =
. ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
⎩ . ⎪
am
A aplicação da teoria linear dos mínimos quadrados à Equação (17.34) resulta nas
seguintes equações normais [lembre-se da Equação (17.25)]:
[Z j ]T [Z j ] {A} = [Z j ]T {D}
(17.35)
Logo, a abordagem consiste em resolver a Equação (17.35), determinando {A}, o qual
pode ser usado para calcular valores melhorados para os parâmetros como em
a0, j+1 = a0, j + a0
e
a1, j+1 = a1, j + a1
Esse procedimento é repetido até que a solução convirja — ou seja, até que
%
%
% ak, j+1 − ak, j %
% 100%
|εa |k = %%
%
ak, j+1
(17.36)
fique abaixo de um critério de parada aceitável.
EXEMPLO 17.9
Método de Gauss-Newton
Enunciado do Problema. Ajuste a função f(x; a0 , a1 ) = a0 (1 − e−a1 x ) aos dados
x
0,25 0,75 1,25 1,75 2,25
y
0,28 0,57 0,68 0,74 0,79
Use aproximações iniciais de a0 = 1,0 e a1 = 1,0 para os parâmetros. Observe que, para
essas aproximações, a soma inicial dos quadrados dos resíduos é 0,0248.
17.5 REGRESSÃO NÃO-LINEAR
Solução.
405
As derivadas parciais da função com relação aos parâmetros são
∂f
= 1 − e−a1 x
∂a0
(E17.9.1)
∂f
= a0 xe−a1 x
∂a1
(E17.9.2)
e
As Equações (E17.9.1) e (E17.9.2) podem ser usadas para calcular a matriz
⎡
⎤
0,2212 0,1947
⎢ 0,5276 0,3543 ⎥
⎢
⎥
0,7135 0,3581 ⎥
[Z 0 ] = ⎢
⎢
⎥
⎣ 0,8262 0,3041 ⎦
0,8946 0,2371
Essa matriz multiplicada pela sua transposta resulta em
"
!
2,3193 0,9489
[Z 0 ]T [Z 0 ] =
0,9489 0,4404
a qual, por sua vez, pode ser invertida para fornecer
!
"
−1
3,6397 −7,8421
[Z 0 ]T [Z 0 ]
=
−7,8421 19,1678
O vetor {D} consiste nas diferenças entre as medidas e as previsões do modelo,
⎧
⎫ ⎧
⎫
0,28 − 0,2212⎪ ⎪ 0,0588⎪
⎪
⎪
⎪
⎪
⎪
⎪0,57 − 0,5276⎪
⎪ ⎪
⎪
⎪
⎪
⎨
⎬ ⎨ 0,0424⎪
⎬
0,68
−
0,7135
−0,0335
{D} =
=
⎪
⎪−0,0862⎪
⎪
⎪
⎪
0,74 − 0,8262⎪
⎪
⎪ ⎪
⎪
⎪
⎪
⎩0,79 − 0,8946⎪
⎭ ⎪
⎩−0,1046⎪
⎭
Isso é multiplicado por [Z0]T para fornecer
"
!
−0,1533
T
[Z 0 ] {D} =
−0,0365
O vetor {A} é então calculado resolvendo-se a Equação (17.35),
#
$
−0,2714
A =
0,5019
o que pode ser somado às aproximações iniciais dos parâmetros para fornecer
# $ # $ #
$ #
$
a0
1,0
−0,2714
0,7286
=
+
=
1,0
0,5019
1,5019
a1
Logo, as estimativas melhoradas dos parâmetros são a0 = 0,7286 e a1 = 1,5019. Os
novos parâmetros resultam em uma soma dos quadrados dos resíduos igual a 0,0242. A
Equação (17.36) pode ser usada para calcular ε0 e ε1 iguais a 37% e 33%, respectivamente. O cálculo seria então repetido até que esses valores ficassem abaixo do critério de
parada prescrito. O resultado final é a0 = 0,79186 e a1 = 1,6751. Esses coeficientes dão
uma soma dos quadrados dos resíduos de 0,000662.
Um problema em potencial com o método de Gauss-Newton como desenvolvido até
esse ponto é que as derivadas parciais da função podem ser difíceis de calcular. Conseqüentemente, muitos programas de computador usam equações de diferenças para aproximar as derivadas parciais. Um método é
∂ f i ∼ f(xi ; a0 , . . . , ak + δak , . . . , am ) − f(xi ; a0 , . . . , ak , . . . , am )
=
∂ak
δak
(17.37)
REGRESSÃO POR MÍNIMOS QUADRADOS
406
onde δ é uma pequena fração de perturbação.
O método de Gauss-Newton apresenta diversas outras possíveis deficiências:
Ele pode convergir lentamente.
Ele pode oscilar muito, ou seja, mudar de direção continuamente.
Ele pode simplesmente não convergir.
1.
2.
3.
Modificações do método (Booth e Peterson, 1958; Hartley, 1961) têm sido desenvolvidas
para remediar as deficiências.
Além disso, embora existam diversas abordagens especialmente planejadas para a
regressão, uma abordagem mais geral é usar rotinas de otimização não-lineares como
descrito na Parte Quatro. Para fazê-lo, realiza-se uma aproximação para os parâmetros e
a soma dos quadrados dos resíduos é calculada. Por exemplo, para a Equação (17.31),
isso seria calculado como
Sr =
n
i=1
[yi − a0 (1 − e−a1 xi )]2
(17.38)
Então, os parâmetros seriam ajustados sistematicamente para minimizar Sr usando-se técnicas de busca do tipo descrito anteriormente no Capítulo 14. Vamos ilustrar como isso é
feito quando descrevermos aplicações de software no final do Capítulo 19.
PROBLEMAS
17.5 Use regressão por mínimos quadrados para ajustar uma reta a
17.1 Considere os dados
8,8
9,4
10,0
9,8
10,1
9,5
10,1
10,4
9,5
9,5
9,8
9,2
7,9
8,9
9,6
9,4
11,3
10,4
8,8
10,2
10,0
9,4
9,8
10,6
8,9
Determine (a) a média, (b) o desvio padrão, (c) a variância, (d) o
coeficiente de variação e (e) o intervalo de confiança de 95% para
a média.
17.2 Construa um histograma a partir dos dados do Problema 17.1.
Use uma variação de 7,5 a 11,5 com intervalos de 0,5.
17.3 Considere os dados
28,65
28,65
27,65
29,25
26,55
29,65
28,45
27,65
26,65
27,85
28,65
28,65
27,65
27,05
28,45
27,65
27,35
28,25
31,65
28,55
28,35
28,85
26,35
27,65
26,85
26,75
27,75
27,25
Determine (a) a média, (b) o desvio padrão, (c) a variância, (d) o
coeficiente de variação e (e) o intervalo de confiança de 90% para
a média. (f) Construa um histograma. Use um intervalo de 26 a 32
com incrementos de 0,5. (g) Supondo que a distribuição seja normal e que sua estimativa do desvio padrão seja válida, calcule o intervalo (isto é, as extremidades inferior e superior) que englobe
68% das leituras. Determine se essa é uma estimativa válida para os
dados desse problema.
17.4 Use regressão por mínimos quadrados para ajustar uma reta a
x
0
2
4
6
9
11
12
15
17
19
y
5
6
7
6
9
8
7
10
12
12
Junto com a inclinação e a intersecção com o eixo y, calcule o erro
padrão da estimativa e o coeficiente de correlação. Faça um gráfico
dos dados e da reta de regressão. A seguir, repita o problema, mas
faça a regressão de x em função de y — isto é, troque as variáveis.
Interprete seus resultados.
x
6
7
11
15
17
21
23
29
29
37
39
y
29
21
29
14
21
15
7
7
13
0
3
Junto com a inclinação e a intersecção com o eixo y, calcule o erro
padrão da estimativa e o coeficiente de correlação. Faça um gráfico
dos dados e da reta de regressão. Se alguém fizesse uma medida
adicional de x = 10, y = 10, você suspeitaria, com base em uma
avaliação visual e no erro padrão, que a medida é válida ou não?
Justifique sua conclusão.
17.6 Usando a mesma abordagem que foi empregada para deduzir
as Equações (17.15) e (17.16), deduza um ajuste por mínimos
quadrados para o seguinte modelo:
y = a1 x + e
Isto é, determine a inclinação que resulta no ajuste por mínimos
quadrados para uma reta com intersecção nula com o eixo y.
Ajuste os seguintes dados com esse modelo e mostre o resultado
graficamente:
x
2
4
6
7
10
11
14
17
20
y
1
2
5
2
8
7
6
9
12
17.7 Use regressão por mínimos quadrados para ajustar uma reta a
x
1
2
3
4
5
6
7
8
9
y
1
1,5
2
3
4
5
8
10
13
(a) Junto com a inclinação e a intersecção com o eixo y, calcule o
erro padrão da estimativa e o coeficiente de correlação. Faça o
gráfico dos dados e da reta. Avalie o ajuste.
(b) Recalcule (a), mas use uma regressão polinomial para ajustar
uma parábola aos dados. Compare os resultados com aqueles
em (a).
17.8 Ajuste os seguintes dados com (a) um modelo de taxa de
crescimento de saturação, (b) uma equação de potência e (c) uma
parábola. Em cada caso, trace os dados e a equação.
PROBLEMAS
407
x
0,75
2
3
4
6
8
8,5
y
1,2
1,95
2
2,4
2,4
2,7
2,6
17.15 Ajuste uma equação cúbica aos seguintes dados:
17.9 Ajuste os seguintes dados com um modelo de potências (y =
ax b). Use a equação de potência resultante para prever y em x = 9:
x
2,5
3,5
5
6
7,5
10
12,5
15
17,5
20
y
13
11
8,5
8,2
7
6,2
5,2
4,8
4,6
4,3
17.10 Ajuste um modelo exponencial a
x
0,4
0,8
1,2
1,6
2
2,3
y
800
975
1.500
1.950
2.900
3.600
Trace os dados e a equação tanto em papel de gráfico padrão quanto
logarítmico.
17.11 Em vez de usar um modelo exponencial na base e [Equação
(17.22)], uma alternativa comum é usar um modelo na base 10,
y = α5 10β5 x
Quando usada para ajuste de curvas, essa equação fornece resultados idênticos àqueles na base e, mas o valor do parâmetro no expoente (β5) será diferente do valor estimado com a Equação (17.22)
(β1). Use a versão na base 10 para resolver o Problema 17.10. Além
disso, deduza uma fórmula para relacionar β1 a β5.
17.12 Além dos exemplos na Figura 17.10, existem outros mo-delos
que podem ser linearizados usando-se transformações. Por exemplo,
y = α4 xeβ4 x
Linearize esse modelo e use-o para fazer uma estimativa de α4 e β4
com base nos seguintes dados.
x
0,1
0,2
0,4
0,6
0,9
1,3
1,5
1,7
1,8
y
0,75
1,25
1,45
1,25
0,85
0,55
0,35
0,28
0,18
17.13 Um investigador relatou os dados tabulados a seguir para uma experiência para determinar a taxa de crescimento da
bactéria k (por dia), como uma função da concentração de oxigênio
c (mg/L). Sabe-se que tais dados podem ser modelados pela
seguinte equação:
k=
kmáx c2
cs + c2
onde cs e kmax são parâmetros. Use uma transformação para linearizar
essa equação. A seguir, use regressão linear para fazer uma estimativa de cs e kmax e prever a taxa de crescimento em c = 2 mg/L.
c
0,5
0,8
1,5
2,5
4
k
1,1
2,4
5,3
7,6
8,9
x
3
4
5
7
8
9
11
12
y
1,6
3,6
4,4
3,4
2,2
2,8
3,8
4,6
Junto com os coeficientes, determine r 2 e sy/x.
17.16 Use regressão linear múltipla para ajustar
x1
0
1
1
2
2
3
3
4
4
x2
0
1
2
1
2
1
2
1
2
y
15,1
17,9
12,7
25,6
20,5
35,1
29,7
45,4
40,2
Calcule os coeficientes, o erro padrão da estimativa e o coeficiente
de correlação.
17.17 Use regressão linear múltipla para ajustar
x1
0
0
1
2
0
1
2
2
1
x2
0
2
2
4
4
6
6
2
1
y
14
21
11
12
23
23
14
6
11
Calcule os coeficientes, o erro padrão da estimativa e o coeficiente
de correlação.
17.18 Use regressão não-linear para ajustar uma parábola aos
seguintes dados:
x
0,2
0,5
0,8
1,2
1,7
2
2,3
y
500
700
1.000
1.200
2.200
2.650
3.750
17.19 Use regressão não-linear para ajustar uma equação de taxa
de crescimento de saturação aos dados do Problema 17.14.
17.20 Recalcule o ajuste por regressão dos Problemas (a) 17.4 e
(b) 17.15, usando a abordagem matricial. Faça uma estimativa dos
erros padrão e desenvolva um intervalo de confiança de 90% para
os coeficientes.
17.21 Desenvolva, debug e teste um programa em uma linguagem
de alto nível ou em uma linguagem de macro de sua escolha para
implementar regressão linear. Entre outras coisas: (a) inclua comentários para documentar o código e (b) determine o erro padrão
e o coeficiente de determinação.
17.22 Um material é testado para falha por fadiga cíclica enquanto
uma tensão, em MPa, é aplicada ao material e o número de ciclos
necessários para causar falha é medido. Os resultados estão na
tabela a seguir. Quando um gráfico log-log da tensão em função dos
ciclos é gerado, a tendência dos dados mostra uma relação linear.
Use regressão por mínimos quadrados para determinar a equação
de melhor ajuste para estes dados.
No de ciclos
1
10
100 1.000 10.000
Tensão, MPa 1.100 1.000 925
800
625
100.000
1.000.000
550
420
17.14 Considere os dados
x
5
10
15
20
25
30
35
40
45
50
y
17
24
31
33
37
37
40
40
42
41
e use regressão por mínimos quadrados para ajustar (a) uma reta,
(b) uma equação de potência, (c) uma equação de taxa de crescimento de saturação e (d) uma parábola. Faça o gráfico dos dados
junto com todas as curvas. Uma das curvas é superior?
Se esse for o caso, justifique.
17.23 Os seguintes dados mostram a relação entre a viscosidade do
óleo SAE 70 e a temperatura. Depois de tomar o log dos dados, use
uma regressão linear para encontrar uma equação da reta que melhor ajusta os dados e o valor de r 2.
Temperatura, °C
Viscosidade, μ, N · s/m2
26,67
93,33
148,89
315,56
1,35
0,085
0,012
0,00075
17.24 Os dados a seguir representam o crescimento bacteriológico
em uma cultura líquida durante certo número de dias.
REGRESSÃO POR MÍNIMOS QUADRADOS
408
Dia
Quantidade × 10
6
0
4
8
12
16
20
67
84
98
125
149
185
Encontre a equação do melhor ajuste para a tendência dos dados.
Tente várias possibilidades — linear, parabólica e exponencial. Use
um pacote de software de sua escolha para encontrar a melhor
equação para prever a quantidade de bactéria após 40 dias.
17.25 A concentração da bactéria E. coli em uma área de natação é
monitorada depois de uma tempestade:
t (h)
c (UFC兾100 mL)
4
8
12
16
20
24
1590
1320
1000
900
650
560
O tempo é medido em horas depois do final da tempestade e a
unidade UFC é uma “unidade de formação de colônias”. Use esses
dados para fazer uma estimativa (a) da concentração no final da
tempestade (t = 0) e (b) do instante no qual a concentração atingirá
200 UFC兾100 mL. Observe que sua escolha do modelo deveria ser
consistente com o fato de que uma concentração negativa é impossível e que a concentração de bactérias sempre decresce com
o tempo.
17.26 Um objeto é suspenso em um túnel de vento e a força é medida para diversos níveis de velocidade do vento. Os resultados
estão tabulados a seguir.
Use regressão por mínimos quadrados para ajustar esses dados com
(a) uma reta, (b) uma equação de potência baseada em transformações log e (c) um modelo de potências baseado em regressão
não-linear. Mostre os seus resultados graficamente.
17.27 Ajuste um modelo de potências aos dados do Problema
17.26, mas use logaritmos naturais para fazer as transformações.
17.28 Usando a mesma abordagem que foi utilizada para deduzir
as Equações (17.15) e (17.16), deduza um ajuste por mínimos
quadrados do seguinte modelo:
y = a1 x + a 2 x 2 + e
Isto é, determine os coeficientes que resultam no ajuste por mínimos quadrados para um polinômio de 2o grau com intersecção com
o eixo y igual a zero. Teste essa abordagem usando-a para ajustar os
dados do Problema 17.26.
17.29 No Problema 17.12, utilizamos transformações para ajustar
e linearizar o seguinte modelo:
y = α4 xeβ4 x
Use regressão não-linear para fazer uma estimativa de α4 e β4 com
base nos seguintes dados. Faça um gráfico de seu ajuste junto
com os dados.
v, m/s
10
20
30
40
50
60
70
80
x
0,1
0,2
0,4
0,6
0,9
1,3
1,5
1,7
1,8
F, N
25
70
380
550
610
1.220
830
1.450
y
0,75
1,25
1,45
1,25
0,85
0,55
0,35
0,28
0,18
CAPÍTULO
18
Interpolação
Você freqüentemente terá a oportunidade de fazer estimativas de valores intermediários
entre dados precisos. O método mais comum usado para esse propósito é a interpolação
polinomial. Lembre-se de que a fórmula geral para um polinômio de grau n é
f(x) = a0 + a1 x + a2 x 2 + · · · + an x n
(18.1)
Para n + 1 pontos dados, existe um e somente um polinômio de grau n1 que passa por
todos os pontos. Por exemplo, existe uma única reta (isto é, um polinômio de primeiro
grau) que liga dois pontos (Figura 18.1a). Analogamente, existe uma única parábola ligando um conjunto de três pontos (Figura 18.1b). A interpolação polinomial consiste em
determinar o único polinômio de grau n que passa pelos n + 1 pontos dados. Esse
polinômio, então, fornece uma fórmula para calcular valores intermediários.
Embora exista um e só um polinômio de grau n que passa por n + 1 pontos, há diversas fórmulas matemáticas nas quais esse polinômio pode ser expresso. Neste capítulo,
serão descritas duas alternativas que são adequadas para a implementação computacional:
polinômios de Newton e de Lagrange.
18.1
POLINÔMIOS INTERPOLADORES POR DIFERENÇAS DIVIDIDAS
DE NEWTON
Como afirmado, há uma grande variedade de formas alternativas para expressar um
polinômio interpolador. O polinômio interpolador por diferenças divididas de Newton está
entre as fórmulas mais populares e úteis. Antes de se apresentar a equação geral, serão introduzidas as versões de primeiro e segundo graus por causa de sua interpretação visual simples.
18.1.1 Interpolação Linear
A forma mais simples de interpolação é ligar dois pontos dados com uma reta. A técnica,
chamada de interpolação linear, é descrita graficamente na Figura 18.2. Usando semelhança de triângulos,
f(x1 ) − f(x0 )
f 1(x) − f(x0 )
=
x − x0
x1 − x0
FIGURA 18.1
Exemplos de polinômios interpoladores: (a) de primeiro grau (linear) ligando dois pontos,
(b) de segundo grau (quadrático ou parabólico) ligando três pontos, e (c) de terceiro grau
(cúbico) ligando quatro pontos.
(a)
1
(b)
(c)
N.R.T.: Observe que com esta forma geral, é possível que an ⫽ 0
409
INTERPOLAÇÃO
410
f (x)
f (x1)
f1(x)
f (x0)
x0
x
x1
x
FIGURA 18.2
Descrição gráfica de uma interpolação linear. As áreas hachuradas indicam os triângulos
semelhantes usados para deduzir a fórmula de interpolação linear [Equação (18.2)].
a qual pode ser reorganizada para fornecer
f 1(x) = f(x0 ) +
f(x1 ) − f(x0 )
(x − x0 )
x1 − x0
(18.2)
que é a fórmula de interpolação linear. A notação f1(x) indica que esse é um polinômio
interpolador de primeiro grau. Observe que, além de representar a inclinação da reta ligando os pontos, o termo [ f (x1) − f(x0)]/(x1 − x0) é uma aproximação por diferenças divididas finitas da primeira derivada [lembre-se da Equação (4.17)]. Em geral, quanto menor
o intervalo entre os pontos dados, melhor a aproximação, o que se deve ao fato de que,
conforme o intervalo diminui, uma função contínua será mais bem aproximada por uma
reta. Essa característica é ilustrada no seguinte exemplo.
EXEMPLO 18.1
Interpolação Linear
Enunciado do Problema. Faça uma estimativa do logaritmo natural de 2 usando uma
interpolação linear. Primeiro, faça o cálculo interpolando entre ln 1 = 0 e ln 6 =
1,791759. Então, repita o procedimento, mas use o intervalo menor de ln 1 a ln 4
(1,386294). Observe que o valor verdadeiro de ln 2 é 0,6931472.
Solução. Usamos a Equação (18.2) e a interpolação linear para ln(2) de x0 = 1 a x1 = 6
para obter
f 1(2) = 0 +
1,791759 − 0
(2 − 1) = 0,3583519
6−1
o que representa um erro de εt = 48,3%. O uso do intervalo menor de x0 = 1 a x1 = 4
fornece
f 1(2) = 0 +
1,386294 − 0
(2 − 1) = 0,4620981
4−1
Logo, o uso do intervalo menor reduz o erro relativo porcentual para εt = 33,3%. Ambas
as interpolações estão mostradas na Figura 18.3, junto com a função verdadeira.
18.1 POLINÔMIOS INTERPOLADORES POR DIFERENÇAS DIVIDIDAS DE NEWTON 411
f (x)
f (x) = ln x
2
Valor
verdadeiro
1
f1(x)
Estimativas lineares
0
0
5
x
FIGURA 18.3
Duas interpolações lineares para estimar ln 2. Observe como o intervalo menor fornece uma
estimativa melhor.
18.1.2 Interpolação Quadrática
O erro no Exemplo 18.1 resultou de se aproximar uma curva por uma reta. Conseqüentemente, uma estratégia para melhorar a estimativa é introduzir alguma curvatura na curva
ligando os pontos. Se estiverem disponíveis três pontos, isso pode ser conseguido com um
polinômio de segundo grau (também chamado de polinômio quadrático ou uma
parábola). Uma fórmula particularmente conveniente para esse propósito é
f 2 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 )(x − x1 )
(18.3)
Observe que, embora a Equação (18.3) possa parecer diferente do polinômio geral
[Equação (18.1)], as duas equações são equivalentes, o que se pode mostrar multiplicando
os termos na Equação (18.3) para fornecer
f 2 (x) = b0 + b1 x − b1 x0 + b2 x 2 + b2 x0 x1 − b2 x x0 − b2 x x1
ou, colecionando os termos,
onde
f 2 (x) = a0 + a1 x + a2 x 2
a0 = b0 − b1 x0 + b2 x0 x1
a1 = b1 − b2 x0 − b2 x1
a2 = b2
Logo, as Equações (18.1) e (18.3) são formulações alternativas equivalentes do único
polinômio de segundo grau ligando os três pontos.
Um procedimento simples pode ser usado para determinar os valores dos coeficientes. Para b0, a Equação (18.3) com x = x0 pode ser usada para calcular
b0 = f(x0 )
(18.4)
A Equação (18.4) pode ser substituída na Equação (18.3), a qual pode ser calculada em
x = x1 para
b1 =
f(x1 ) − f(x0 )
x1 − x0
(18.5)
INTERPOLAÇÃO
412
Finalmente, as Equações (18.4) e (18.5) podem ser substituídas na Equação (18.3), a qual
pode ser calculada em x ⫽ x2 e resolvida (depois de algumas manipulações algébricas) por
f(x2 ) − f(x1 )
f(x1 ) − f(x0 )
−
x2 − x1
x1 − x0
b2 =
x2 − x0
(18.6)
Observe que, como foi o caso com a interpolação linear, b1 ainda representa a inclinação da reta ligando os pontos x0 e x1. Logo, os dois primeiros termos da Equação (18.3)
são equivalentes à interpolação linear de x0 a x1, como especificado anteriormente na
Equação (18.2). O último termo, b2(x − x0)(x − x1), introduz a curvatura de segundo grau
na fórmula.
Antes de ilustrar como usar a Equação (18.3), é preciso examinar a forma do coeficiente b2. Ela é muito parecida com a aproximação por diferença dividida finita da segunda derivada introduzida anteriormente na Equação (4.24). Logo, a Equação (18.3)
começa a manifestar uma estrutura que é muito parecida com a expansão em série de Taylor.
Essa observação será mais explorada quando relacionarmos o polinômio interpolador de
Newton com a série de Taylor, na Seção 18.1.4. Mas, primeiro, vamos fazer um
exemplo que mostra como a Equação (18.3) é usada para interpolar entre três pontos.
EXEMPLO 18.2
Interpolação Quadrática
Enunciado do Problema. Ajuste um polinômio de segundo grau aos três pontos usados no Exemplo 18.1:
x0 = 1
x1 = 4
x2 = 6
f(x0 ) = 0
f(x1 ) = 1,386294
f(x2 ) = 1,791759
Use o polinômio para calcular ln 2.
Solução. Aplicando a Equação (18.4), obtém-se
b0 = 0
A Equação (18.5) fornece
b1 =
1,386294 − 0
= 0,4620981
4−1
FIGURA 18.4
O uso da interpolação quadrática para fazer uma estimativa de ln 2. A interpolação linear de
x ⫽ 1 a 4 também está incluída para comparação.
f (x)
f (x) = ln x
2
f2(x)
Valor
verdadeiro
1
Estimativa quadrática
Estimativa linear
0
0
5
x
18.1 POLINÔMIOS INTERPOLADORES POR DIFERENÇAS DIVIDIDAS DE NEWTON 413
e a Equação (18.6) dá
1,791759 − 1,386294
− 0,4620981
6−4
b2 =
= −0,0518731
6−1
Substituindo esses valores na Equação (18.3), obtém-se a fórmula quadrática
f 2 (x) = 0 + 0,4620981(x − 1) − 0,0518731(x − 1)(x − 4)
a qual pode ser calculada em x = 2 para fornecer
f 2 (2) = 0,5658444
o que representa um erro relativo de εt = 18,4%. Logo, a curvatura introduzida pela fórmula quadrática (Figura 18.4) melhora a interpolação quando comparada com o resultado
obtido usando-se retas nos Exemplos 18.1 e 18.3.
18.1.3 Forma Geral dos Polinômios Interpoladores de Newton
A análise anterior pode ser generalizada para ajustar um polinômio de grau n a n + 1 pontos dados. O polinômio de grau n é
f n (x) = b0 + b1 (x − x0 ) + · · · + bn (x − x0 )(x − x1 ) · · · (x − xn−1 )
(18.7)
Como foi feito anteriormente com as interpolações linear e quadrática, os pontos dados
podem ser usados para calcular os coeficientes b0, b1, . . . , bn. Para um polinômio de grau
n, n + 1 pontos dados são necessários: (x0, f (x0)), (x1, f (x1)), . . . , (xn, f (xn)).
Usamos esses pontos dados e as seguintes equações para calcular os coeficientes:
(18.8)
b0 = f(x0 )
b1 = f [x1 , x0 ]
b2 = f [x2 , x1 , x0 ]
(18.9)
(18.10)
·
·
·
bn = f [xn , xn−1 , . . . , x1 , x0 ]
(18.11)
onde a função com colchetes corresponde a diferenças divididas finitas. Por exemplo, a
primeira diferença dividida finita é representada em geral por
f [xi , x j ] =
f (xi ) − f (x j )
xi − x j
(18.12)
A segunda diferença dividida finita, que representa a diferença das duas primeiras diferenças divididas, é expressa em geral por
f [xi , x j , xk ] =
f [xi , x j ] − f [x j , xk ]
xi − xk
(18.13)
FIGURA 18.5
Descrição gráfica da natureza recursiva das diferenças divididas finitas.
i
xi
f (xi)
0
1
2
3
x0
x1
x2
x3
f (x0)
f (x1)
f (x2)
f (x3)
Primeira
➤
➤
➤
➤
➤
➤
f [x1, x0]
f [x2, x1]
f [x3, x2]
➤
➤
➤
➤
Segunda
Terceira
f [x2, x1, x0]
f [x3, x2, x1]
➤ f [x3, x2, x1, x0]
➤
INTERPOLAÇÃO
414
Analogamente, a n-ésima diferença dividida finita é
f [xn , xn−1 , . . . , x1 , x0 ] =
f [xn , xn−1 , . . . , x1 ] − f [xn−1 , xn−2 , . . . , x0 ]
xn − x0
(18.14)
Tais diferenças podem ser usadas para calcular os coeficientes nas Equações (18.8)
a (18.11), os quais podem então ser substituídos na Equação (18.7) para fornecer o
polinômio interpolador
f n (x) = f (x0 ) + (x − x0 ) f [x1 , x0 ] + (x − x0 )(x − x1 ) f [x2 , x1 , x0 ]
+ · · · + (x − x0 )(x − x1 ) · · · (x − xn−1 ) f [xn , xn−1 , . . . , x0 ]
(18.15)
que é chamado polinômio interpolador por diferenças divididas de Newton. Deve ser observado que não é necessário que os dados usados na Equação (18.15) sejam igualmente
espaçados ou que os valores das abscissas estejam necessariamente em ordem crescente,
como ilustrado no exemplo a seguir. Observe também como as Equações (18.12) a
(18.14) são recursivas — isto é, diferenças de ordem mais alta são calculadas tomando-se
diferenças das diferenças de ordem mais baixa (Figura 18.5). Essa propriedade será explorada quando for desenvolvido um programa computacional eficiente na Seção 18.1.5
para implementar o método.
EXEMPLO 18.3
Polinômio Interpolador por Diferenças Divididas de Newton
Enunciado do Problema. No Exemplo 18.2, dados em x0 = 1, x1 = 4 e x2 = 6 foram
usados para fazer uma estimativa de ln 2 com uma parábola. Agora, adicionando um
quarto ponto [x3 = 5; f (x3) = 1,609438], faça uma estimativa de ln 2 com um polinômio
interpolador de Newton de terceiro grau.
Solução. O polinômio de terceiro grau, a Equação (18.7) com n = 3, é
f 3 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 )(x − x1 ) + b3 (x − x0 )(x − x1 )(x − x2 )
As primeiras diferenças divididas para o problema são [Equação (18.12)]
f [x1 , x0 ] =
1,386294 − 0
= 0,4620981
4−1
f [x2 , x1 ] =
1,791759 − 1,386294
= 0,2027326
6−4
f [x3 , x2 ] =
1,609438 − 1,791759
= 0,1823216
5−6
As segundas diferenças divididas são [Equação (18.13)]
f [x2 , x1 , x0 ] =
0,2027326 − 0,4620981
= −0,05187311
6−1
f [x3 , x2 , x1 ] =
0,1823216 − 0,2027326
= −0,02041100
5−4
A terceira diferença dividida é [Equação (18.4) com n = 3]
f [x3 , x2 , x1 , x0 ] =
−0,02041100 − (−0,05187311)
= 0,007865529
5−1
18.1 POLINÔMIOS INTERPOLADORES POR DIFERENÇAS DIVIDIDAS DE NEWTON 415
f (x)
f3(x)
2
f (x) = ln x
Valor
verdadeiro
1
Estimativa
cúbica
0
0
5
x
FIGURA 18.6
O uso da interpolação cúbica para estimar ln 2.
Os resultados para f [x1, x0], f [x2, x1, x0] e f [x3, x2, x1, x0] representam os coeficientes b1,
b2 e b3, respectivamente, da Equação (18.7). Junto com b0 = f (x0) = 0,0, a Equação
(18.7) é
f 3 (x) = 0 + 0,4620981(x − 1) − 0,05187311(x − 1)(x − 4)
+ 0,007865529(x − 1)(x − 4)(x − 6)
a qual pode ser usada para calcular f3(2) = 0,6287686, o que representa um erro relativo
de εt = 9,3%. O polinômio cúbico completo está mostrado na Figura 18.6.
18.1.4 Erros nos Polinômios Interpoladores de Newton
Observe que a estrutura da Equação (18.15) é parecida com a expansão em série de Taylor
no sentido que os termos são adicionados seqüencialmente para capturar o comportamento de ordem superior da função subjacente. Esses termos são diferenças divididas
finitas e, portanto, representam aproximações de derivadas de ordem superior. Conseqüentemente, como no caso da série de Taylor, se a função subjacente verdadeira for um
polinômio de grau n, o polinômio interpolador de grau n baseado em n + 1 pontos dados
fornecerá resultados exatos.
Além disso, como no caso da série de Taylor, pode ser obtida uma formulação para
o erro de truncamento. Lembre-se, a partir da Equação (4.6), de que o erro de truncamento
para a série de Taylor podia ser, no caso geral, expresso por
Rn =
f (n+1) (ξ )
(xi+1 − xi )n+1
(n + 1)!
(4.6)
f (n+1) (ξ )
(x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!
(18.16)
onde ξ é algum ponto no intervalo xi a xi+1. Para um polinômio interpolador de grau n,
uma relação análoga para o erro é
Rn =
onde ξ é algum ponto no intervalo contendo a variável e os dados. Para essa fórmula ser
útil, a função em questão deve ser conhecida e (n + 1) vezes diferenciável. Em geral, esse
não é o caso. Felizmente, está disponível uma formulação alternativa que não requer conhecimento anterior da função. Em vez disso, ela usa diferenças divididas finitas para
aproximar a (n + 1)-ésima derivada,
Rn = f [x, xn , xn−1 , . . . , x0 ](x − x0 )(x − x1 ) · · · (x − xn )
(18.17)
INTERPOLAÇÃO
416
onde f [x, xn, xn−1, . . . , x0] é a (n + 1)-ésima diferença dividida finita. Como a Equação
(18.17) contém a incógnita f (x), ela não determina o erro. Entretanto, se estiver
disponível um ponto dado adicional f (xn+1), a Equação (18.17) pode ser usada para estimar o erro, como em
Rn ∼
= f [xn+1 , xn , xn−1 , . . . , x0 ](x − x0 )(x − x1 ) · · · (x − xn )
(18.18)
EXEMPLO 18.4
Estimativa do Erro para o Polinômio de Newton
Enunciado do Problema. Use a Equação (18.18) para fazer uma estimativa do erro para
o polinômio interpolador de segundo grau do Exemplo 18.2. Utilize o ponto adicional
f (x3) = f (5) = 1,609438 para obter seus resultados.
Solução. Lembre-se de que, no Exemplo 18.2, o polinômio interpolador de segundo
grau fornecia uma estimativa de f2(2) = 0,5658444, a qual representa um erro de
0,6931472 − 0,5658444 = 0,1273028. Se não soubéssemos o valor verdadeiro, que é o
caso mais comum, a Equação (18.18), junto com o valor adicional em x3, poderia ter sido
usada para fazer uma estimativa do erro, como em
R2 = f [x3 , x2 , x1 , x0 ](x − x0 )(x − x1 )(x − x2 )
ou
R2 = 0,007865529(x − 1)(x − 4)(x − 6)
onde o valor da diferença dividida finita de terceira ordem é como calculado anteriormente no Exemplo 18.3. Essa relação pode ser calculada em x = 2 por
R2 = 0,007865529(2 − 1)(2 − 4)(2 − 6) = 0,0629242
que é da mesma ordem de grandeza que o erro verdadeiro.
Dos exemplos anteriores e da Equação (18.18), deveria ficar claro que a estimativa
de erro para o polinômio de grau n é equivalente à diferença entre as previsões de ordem
(n + 1) e de ordem n. Isto é,
Rn = f n+1 (x) − f n (x)
(18.19)
Em outras palavras, o incremento que é somado ao caso de ordem n para criar o caso de
ordem (n + 1) [ou seja, a Equação (18.19)] é interpretado como uma estimativa do erro
de ordem n. Isso pode ser visto claramente reorganizando-se a Equação (18.19) para obter
f n+1 (x) = f n (x) + Rn
A validade dessa aproximação se baseia no fato de que a série é fortemente convergente.
Para tal situação, a previsão de ordem (n + 1) deveria estar muito mais próxima do valor
verdadeiro do que a previsão de ordem n. Conseqüentemente, a Equação (18.19) está de
acordo com nossa definição padrão de erro como representando a diferença entre o valor
verdadeiro e uma aproximação. Entretanto, observe que, enquanto todas as outras estimativas de erro para processos iterativos introduzidos até esse ponto foram determinadas
como a previsão presente menos uma previsão anterior, a Equação (18.19) representa
uma previsão futura menos a previsão atual. Isso significa que, para uma série que está
convergindo rapidamente, a estimativa de erro da Equação (18.19) poderia ser menor do
que o erro verdadeiro, o que representaria uma característica altamente insatisfatória se a
estimativa de erro estivesse sendo usada como critério de parada. Contudo, como será
descrito na próxima seção, polinômios interpoladores de grau mais alto são muito sensíveis a erros nos dados — ou seja, são muito mal condicionados. Quando usados para
interpolação, em geral fornecem previsões que divergem significativamente do valor verdadeiro. Como “olha à frente” para perceber os erros, a Equação (18.19) é mais sensível
a tal divergência. Por isso, é mais valiosa para o tipo de análise de dados exploratória para a qual o polinômio de Newton é mais bem adequado.
18.1 POLINÔMIOS INTERPOLADORES POR DIFERENÇAS DIVIDIDAS DE NEWTON 417
18.1.5 Algoritmo Computacional para o Polinômio Interpolador
de Newton
Três propriedades tornam o polinômio interpolador de Newton extremamente atrativo
para aplicações computacionais:
1.
2.
3.
Como na Equação (18.7), versões de ordem mais alta podem ser desenvolvidas seqüencialmente adicionando-se um único termo à próxima equação de ordem mais
baixa. Isso facilita o cálculo das diversas versões diferentes no mesmo programa. Tal
recurso é extremamente valioso quando o grau do polinômio não é conhecido a priori.
Adicionando-se novos termos seqüencialmente, pode-se determinar quando um ponto
de retorno diminuído é atingido — isto é, quando a adição de termos de grau mais alto
não melhora significativamente a estimativa ou, em certas situações, a piora. As
equações de erro discutidas a seguir em (3) são úteis no desenvolvimento de um
critério objetivo para identificar esse ponto de retorno diminuído.
As diferenças divididas finitas que constituem os coeficientes do polinômio
[Equações (18.8) a (18.11)] podem ser eficientemente calculadas. Ou seja, como na
Equação (18.14) e na Figura 18.5, diferenças de ordem mais baixa são usadas para
calcular diferenças de ordem mais alta. Utilizando essa informação determinada anteriormente, os coeficientes podem ser calculados eficientemente. O algoritmo na
Figura 18.7 contém tal esquema.
A estimativa de erro [Equação (18.18)] pode ser incorporada de modo muito simples
em um algoritmo computacional por causa da forma seqüencial na qual a previsão
é construída.
Todas essas características podem ser exploradas e incorporadas em um algoritmo
geral para implementar o polinômio de Newton (Figura 18.7). Observe que o algoritmo
consiste em duas partes: a primeira determina os coeficientes a partir da Equação (18.7),
e a segunda, as previsões e seus erros associados. A utilidade desse algoritmo é ilustrada
no próximo exemplo.
FIGURA 18.7
Um algoritmo para o polinômio interpolador de Newton escrito em pseudocódigo.
SUBROUTINE NewtInt (x, y, n, xi, yint, ea)
LOCAL fddn,n
DOFOR i ⫽ 0, n
fddi,0 ⫽ yi
END DO
DOFOR j ⫽ 1, n
DOFOR i ⫽ 0, n j
fddi,j ⫽ (fddi⫹1,j1 fddi,j1)/(xi+j xi)
END DO
END DO
xterm ⫽ 1
yint0 ⫽ fdd0,0
DOFOR order ⫽ 1, n
xterm ⫽ xterm * (xi xorder1)
yint2 ⫽ yintorder1 ⫹ fdd0,order * xterm
Eaorder1 ⫽ yint2 yintorder1
yintorder ⫽ yint2
END order
END NewtInt
INTERPOLAÇÃO
418
EXEMPLO 18.5
Estimativa de Erro para Determinar o Grau Adequado da Interpolação
Enunciado do Problema. Depois de incorporar o erro [Equação (18.18)], utilize o algoritmo computacional dado na Figura 18.7 e a seguinte informação para calcular f (x) =
ln x em x = 2:
x
f (x) ⴝ ln x
1
4
6
5
3
1,5
2,5
3,5
0
1,3862944
1,7917595
1,6094379
1,0986123
0,4054641
0,9162907
1,2527630
Solução. Os resultados da utilização do algoritmo na Figura 18.7 para obter uma solução
estão mostrados na Figura 18.8. As estimativas de erros, junto com o erro verdadeiro
(baseado no fato de que ln 2 = 0,6931472), são descritos na Figura 18.9. Observe que a
estimativa do erro e o erro verdadeiro são parecidos e sua concordância melhora conforme o grau aumenta. Desses resultados, pode-se concluir que a versão de quinto grau
fornece uma boa estimativa e que termos de grau mais alto não melhoram significativamente a previsão.
Esse exercício também ilustra a importância do posicionamento e da ordenação dos
pontos. Por exemplo, até a estimativa de terceiro grau, a taxa de melhoria é lenta, pois os
pontos que foram adicionados (em x = 4, 6 e 5) estão distantes e para um mesmo lado do
ponto em questão, x = 2. A estimativa de quarto grau mostra uma melhora um pouco
maior, pois o novo ponto em x = 3 está mais próximo da incógnita. Entretanto, a
diminuição mais dramática no erro está associada com a inclusão do termo de quinto grau
usando o ponto em x = 1,5. Esse ponto não só está próximo da incógnita, mas está posicionado do lado oposto da maioria dos outros pontos. Como conseqüência, o erro é reduzido de quase uma ordem de grandeza.
FIGURA 18.8
A saída do programa, com base no algoritmo da Figura 18.7 para o cálculo de ln 2.
NÚMERO DE PONTOS? 8
X( 0 ), y( 0 ) = ? 1,0
X( 1 ), y( 1 ) = ? 4,1.3862944
X( 2 ), y( 2 ) = ? 6,1.7917595
X( 3 ), y( 3 ) = ? 5,1.6094379
X( 4 ), y( 4 ) = ? 3,1.0986123
X( 5 ), y( 5 ) = ? 1.5,0.40546411
X( 6 ), y( 6 ) = ? 2.5,0.91629073
X( 7 ), y( 7 ) = ? 3.5,1.2527630
INTERPOLAÇÃO EM X = 2
GRAU
F(X)
0
0.000000
1
0.462098
2
0.565844
3
0.628769
4
0.675722
5
0.697514
6
0.693898
7
0.693439
ERRO
0.462098
0.103746
0.062924
0.046953
0.021792
–0.003616
–0.000459
18.2 POLINÔMIOS INTERPOLADORES DE LAGRANGE
419
O significado da posição e da seqüência de dados também pode ser ilustrado usandose os mesmos dados para obter uma estimativa de ln 2, mas considerando os pontos em
uma seqüência diferente. A Figura 18.9 mostra resultados para o caso de se reverter a
ordem dos dados originais, isto é, x0 = 3,5, x1 = 2,5, x3 = 1,5 e assim por diante. Como
os pontos iniciais, nesse caso, estão mais próximos e espaçados de ambos os lados de ln 2,
o erro decresce muito mais rapidamente do que para a situação original. Considerando o
termo de 2o grau, o erro já terá sido reduzido para menos do que εt = 2%. Outras combinações poderiam ser usadas para obter diferentes taxas de convergência.
Erro
0,5
Erro verdadeiro (original)
Estimativa do erro (original)
0
5
Grau
Estimativa do erro (invertido)
– 0,5
FIGURA 18.9
Erros relativos percentuais para a previsão de ln 2 como função do grau do polinômio
interpolador.
O exemplo anterior ilustra a importância da escolha dos pontos base. Como deveria
ser intuitivamente óbvio, os pontos teriam de estar centralizados em torno e tão próximo
quanto possível da incógnita. Essa observação também é confirmada por um exame direto
da equação do erro [Equação (18.17)]. Se supusermos que a diferença dividida finita não
varia muito no intervalo dos dados, o erro é proporcional ao produto: (x − x0) (x − x1) · · ·
(x − xn). Obviamente, quanto mais próximos os pontos base estiverem de x, menor será o
valor absoluto do produto.
18.2
POLINÔMIOS INTERPOLADORES DE LAGRANGE
O polinômio interpolador de Lagrange é simplesmente uma reformulação do polinômio
de Newton que evita o cálculo de diferenças divididas. Ele pode ser representado concisamente por:
f n (x) =
n
i=0
L i (x) f (xi )
(18.20)
INTERPOLAÇÃO
420
onde
L i (x) =
n
x − xj
x − xj
j=0 i
(18.21)
j=i
onde indica o “produto de”. Por exemplo, a versão linear (n = 1) seria
f 1 (x) =
x − x0
x − x1
f(x0 ) +
f(x1 )
x0 − x1
x1 − x0
(18.22)
e a versão de segundo grau seria
f 2 (x) =
(x − x1 )(x − x2 )
(x − x0 )(x − x2 )
f(x0 ) +
f(x1 )
(x0 − x1 )(x0 − x2 )
(x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
+
f(x2 )
(x2 − x0 )(x2 − x1 )
(18.23)
A Equação (18.20) pode ser deduzida diretamente do polinômio de Newton (Quadro
18.1). Entretanto, o raciocínio por trás da formulação de Lagrange pode ser entendido diretamente percebendo-se que cada termo Li (x) será 1 em x = xi e 0 em todos os outros
pontos da amostra (Figura 18.10). Logo, cada produto Li (x) f (xi) assume o valor f (xi) no
ponto xi da amostra. Conseqüentemente, a somatória de todos os produtos indicados na
Equação (18.20) é o único polinômio de grau n que passa exatamente por todos os n + 1
pontos dados.
Quadro 18.1
Dedução da Forma de Lagrange Diretamente do Polinômio Interpolador
de Newton
O polinômio interpolador de Lagrange pode ser diretamente deduzido da formulação de Newton. Vamos fazer isso apenas para o
caso de primeiro grau [Equação (18.2)]. Para deduzir a forma de
Lagrange, reformulamos as diferenças divididas. Por exemplo, a
primeira diferença dividida,
f [x1 , x0 ] =
f(x1 ) − f(x0 )
x1 − x0
(Q18.1.1)
pode ser reformulada como
f [x1 , x0 ] =
f 1(x) = f(x0 ) +
x − x0
x − x0
f(x1 ) +
f(x0 )
x1 − x0
x0 − x1
Finalmente, agrupando os termos similares e simplificando, obtemos a forma de Lagrange,
f 1(x) =
f(x0 )
f(x1 )
+
x1 − x0
x0 − x1
EXEMPLO 18.6
que é chamada de forma simétrica. A substituição da Equação
(Q18.1.2) na Equação (18.2) fornece
x − x0
x − x1
f(x0 ) +
f(x1 )
x0 − x1
x1 − x0
(Q18.1.2)
Polinômios Interpoladores de Lagrange
Enunciado do Problema. Use um polinômio interpolador de Lagrange de primeiro e de
segundo graus para calcular ln 2 com base nos dados fornecidos no Exemplo 18.2:
x0 = 1
x1 = 4
x2 = 6
f(x0 ) = 0
f(x1 ) = 1,386294
f(x2 ) = 1,791760
Solução. O polinômio de primeiro grau [Equação (18.22)] pode ser usado para se obter
a estimativa em x = 2,
f 1 (2) =
2−4
2−1
0+
1,386294 = 0,4620981
1−4
4−1
18.2 POLINÔMIOS INTERPOLADORES DE LAGRANGE
421
De modo semelhante, o polinômio de segundo grau é desenvolvido como [Equação (18.23)]
f 2 (2) =
(2 − 4)(2 − 6)
(2 − 1)(2 − 6)
0+
1.386294
(1 − 4)(1 − 6)
(4 − 1)(4 − 6)
(2 − 1)(2 − 4)
+
1.791760 = 0.5658444
(6 − 1)(6 − 4)
Como esperado, ambos os resultados coincidem com os obtidos anteriormente usando-se
o polinômio interpolador de Newton.
Observe que, como no método de Newton, a versão de Lagrange tem uma estimativa
do erro de [Equação (18.17)]
Rn = f [x, xn , xn−1 , . . . , x0 ]
n
i=0
(x − xi )
Logo, se um ponto adicional estiver disponível em x = xn+1, uma estimativa do erro pode
ser obtida. Entretanto, como as diferenças divididas finitas não são usadas como parte do
algoritmo de Lagrange, isso raramente é feito.
As Equações (18.20) e (18.21) podem ser programadas de forma muito simples para
a implementação em um computador. A Figura 18.11 mostra o pseudocódigo que pode ser
usado para tal propósito.
Em resumo, nos casos nos quais o grau do polinômio é desconhecido, o método de
Newton tem vantagens por causa da percepção que ele fornece do comportamento das
fórmulas para as diferentes ordens. Além disso, a estimativa do erro representada pela
Equação (18.18) pode ser facilmente integrada ao algoritmo de Newton, pois a estimativa
usa uma diferença finita (Exemplo 18.5). Logo, para cálculos exploratórios, o método de
Newton em geral é preferível.
FIGURA 18.10
Uma descrição visual do raciocínio por trás dos polinômios de Lagrange. A figura mostra um
caso de segundo grau. Cada um dos três termos na Equação (18.23) passa por um dos
pontos dados e é zero nos outros dois. A soma dos três termos deve, portanto, ser o único
polinômio de segundo grau f2(x) que passa pelos três pontos.
150
Terceiro termo
Soma
dos três
termos = f2(x)
100
50
0
Primeiro termo
15
20
– 50
– 100
– 150
Segundo termo
25
30
INTERPOLAÇÃO
422
FUNCTION Lagrng(x, y, n, xx)
sum ⫽ 0
DOFOR i ⫽ 0, n
product ⫽ yi
DOFOR j ⫽ 0, n
IF i j THEN
product product*(xx xj)/(xi xj)
ENDIF
END DO
sum ⫽ sum ⫹ product
END DO
Lagrng ⫽ sum
END Lagrng
FIGURA 18.11
Pseudocódigo para implementar a interpolação de Lagrange. Esse algoritmo é planejado
para calcular uma única previsão de grau n, onde n ⫹ 1 é o número de pontos dados.
Quando deve ser feita apenas uma interpolação, as formulações de Newton e de Lagrange exigem esforços computacionais comparáveis. Entretanto, a versão de Lagrange é
um pouco mais fácil de programar. Como não exige cálculos nem armazenamento de
diferenças divididas, a forma de Lagrange em geral é usada quando o grau do polinômio
é conhecido a priori.
EXEMPLO 18.7
Interpolação de Lagrange Usando o Computador
Enunciado do Problema. Pode-se usar o algoritmo da Figura 18.11 para estudar o problema de análise de tendência associado com o agora familiar pára-quedista em queda
livre. Suponha que tenhamos
Tempo,
s
1
3
5
7
13
Velocidade medida v,
cm/s
800
2310
3090
3940
4755
Nosso problema é fazer uma estimativa da velocidade do pára-quedista em t = 10 s para
preencher o grande salto nas medidas entre t = 7 e t = 13 s. Estamos cientes de que o
comportamento dos polinômios interpoladores pode ser inesperado. Logo, construiremos
polinômios de quarto, terceiro, segundo e primeiro graus e compararemos os resultados.
Solução. O algoritmo de Lagrange pode ser usado para construir polinômios interpoladores de quarto, terceiro, segundo e primeiro graus.
Pode-se traçar o polinômio de quarto grau e os dados de entrada como mostrado na
Figura 18.12a. É evidente, desse gráfico, que o valor estimado de y em x = 10 é mais alto
do que a tendência geral dos dados.
As Figuras 18.2b a d mostram os gráficos dos resultados dos cálculos para polinômios interpoladores de terceiro, segundo e primeiro graus, respectivamente. Observase que, quanto menor o grau, menor será a estimativa do valor da velocidade em t = 10 s.
Os gráficos dos polinômios interpoladores indicam que os polinômios de grau mais alto
tendem a superestimar a tendência dos dados. Isso sugere que as versões de primeiro e segundo graus são mais adequadas para essa análise de tendência particular. Entretanto,
deve-se lembrar que, como estamos lidando com dados incertos, a regressão seria, na realidade, mais apropriada.
18.3 COEFICIENTES DE UM POLINÔMIO INTERPOLADOR
v, cm/s
6.000
3.000
0
0
5
10
15
0
0
6.000
(c)
3.000
0
(b)
3.000
6.000
v, cm/s
6.000
(a)
423
5
10
15
10
15
(d )
3.000
0
5
10
15
t(s)
0
0
5
t(s)
FIGURA 18.12
Gráficos mostrando interpolações de (a) quarto grau, (b) terceiro grau, (c) segundo grau e
(d) primeiro grau.
O exemplo anterior ilustra que polinômios de grau mais alto tendem a ser mal condicionados, isto é, tendem a ser altamente sensíveis a erros de arredondamento. O mesmo
problema se aplica à regressão polinomial de grau mais alto. A aritmética de dupla precisão às vezes ajuda a aliviar o problema. Entretanto, conforme o grau aumenta, existirá
um ponto no qual os erros de arredondamento interferirão com a habilidade de interpolar
usando as abordagens simples descritas até aqui.
18.3
COEFICIENTES DE UM POLINÔMIO INTERPOLADOR
Embora ambos os polinômios, de Newton e de Lagrange, sejam adequados para a determinação de valores intermediários entre pontos, não fornecem um polinômio conveniente
na forma convencional
f(x) = a0 + a1 x + a2 x 2 + · · · + an x n
(18.24)
f(x) = a0 + a1 x + a2 x 2
(18.25)
Um método direto para calcular os coeficientes desses polinômios é baseado no fato
de que são necessários n + 1 pontos dados para determinar os n + 1 coeficientes. Logo,
equações algébricas lineares simultâneas podem ser usadas para calcular os a’s. Por
exemplo, suponha que você queira calcular os coeficientes da parábola
São necessários os três pontos dados: (x0, f (x0)), (x1, f (x1)) e (x2, f (x2)). Cada um pode ser
substituído na Equação (18.25) para fornecer
f(x0 ) = a0 + a1 x0 + a2 x02
f(x1 ) = a0 + a1 x1 + a2 x12
f(x2 ) = a0 + a1 x2 +
(18.26)
a2 x22
Logo, nesse caso, os x’s são conhecidos e os a’s são as incógnitas. Como há o mesmo
número de equações e de incógnitas, a Equação (18.26) poderia ser resolvida por um
método de eliminação da Parte Três.
Deve ser observado que a abordagem anterior não é o método mais eficiente disponível
para determinar os coeficientes de um polinômio interpolador. Press et al. (1992) fornecem
uma discussão e códigos computacionais para abordagens mais eficientes. Qualquer que seja
a tecnologia usada, deve-se tomar cuidado. Os sistemas como a Equação (18.26) são notoriamente mal condicionados. Tanto se forem resolvidos por um método de eliminação quanto
se forem resolvidos com um algoritmo mais eficiente, os coeficientes resultantes podem ser
altamente não-acurados, particularmente para valores altos de n. Quando usados em uma interpolação subseqüente, em geral eles fornecem resultados errados.
INTERPOLAÇÃO
424
Em resumo, se você estiver interessado em determinar um ponto intermediário, use
interpolação de Newton ou de Lagrange. Se precisar determinar uma equação da forma da
Equação (18.24), limite-se a polinômios de grau mais baixo e verifique seus resultados
cuidadosamente.
18.4
INTERPOLAÇÃO INVERSA
Como a nomenclatura indica, os valores de f (x) e de x são, na maioria dos contextos de
interpolação, as variáveis dependentes e independentes, respectivamente. Como conseqüência, os valores dos x’s são, de modo típico, uniformemente espaçados. Um exemplo
simples é a tabela de valores deduzidos para a função f (x) = 1/x,
x
1
2
3
4
5
6
7
f (x)
1
0,5
0,3333
0,25
0,2
0,1667
0,1429
Agora, suponha que você precise usar os mesmos dados, mas lhe foi dado um valor
para f (x) e você deve determinar o valor correspondente de x. Por exemplo, para os dados
da tabela acima, suponha que lhe foi pedido para determinar o valor de x que corresponde
a f (x) = 0,3. Nesse caso, como a função está disponível e é fácil de manipular, a resposta
correta pode ser determinada diretamente como x = 1/0,3 = 3,3333.
Tal problema é chamado de interpolação inversa. Para um caso mais complicado,
você poderia ser tentado a trocar os valores de f(x) e de x [isto é, simplesmente considerar
x como função de f(x)] e usar uma abordagem como a interpolação de Lagrange para determinar o resultado. Infelizmente, quando as variáveis são invertidas, não há nenhuma
garantia de que os valores ao longo da nova abscissa [os f(x)’s] serão regularmente espaçados. De fato, em muitos casos, os valores sofrerão um efeito “telescópico”, ou seja,
terão a aparência de uma escala logarítmica com alguns pontos adjacentes agrupados e
outros muito espalhados. Por exemplo, para f(x) = 1/x o resultado é
f (x)
0,1429
0,1667
0,2
0,25
0,3333
0,5
1
x
7
6
5
4
3
2
1
Tal espaçamento não-uniforme na abscissa em geral leva a oscilações no polinômio
interpolador resultante. Isso pode ocorrer mesmo para polinômios de grau mais baixo.
Uma estratégia alternativa é ajustar um polinômio interpolador de grau n, fn(x), aos
dados originais [isto é, com f (x) em função de x]. Na maioria dos casos, como os x’s são
igualmente espaçados, os polinômios não serão mal condicionados. A resposta ao problema então se reduz a determinar o valor de x que torna o polinômio igual ao f (x) dado.
Logo, o problema de interpolação se reduz ao problema de raízes!
Por exemplo, para o problema de interpolação inversa, uma abordagem simples seria
ajustar um polinômio quadrático aos três pontos: (2, 0,5), (3, 0,3333) e (4, 0,25). O resultado seria
f 2 (x) = 1,08333 − 0,375x + 0,041667x 2
A resposta ao problema de interpolação inversa de encontrar o x correspondente a
f(x) = 0,3 envolveria, portanto, a determinação da raiz de
0,3 = 1,08333 − 0,375x + 0,041667x 2
Nesse caso simples, a fórmula quadrática pode ser usada para calcular
5,704158
0,375 ± (−0,375)2 − 4(0,041667)0,78333
=
x=
2(0,041667)
3,295842
Logo, a segunda raiz, 3,296, é uma boa aproximação do valor verdadeiro de 3,333,
Se quiséssemos acurácia adicional, poderia ser usado um polinômio de terceiro ou de
quarto grau, junto com um dos métodos de localização de raízes da Parte Dois.
18.5 COMENTÁRIOS ADICIONAIS
18.5
425
COMENTÁRIOS ADICIONAIS
Antes de prosseguir para a próxima seção, deve-se mencionar dois tópicos adicionais: interpolação com dados igualmente espaçados e extrapolação.
Como ambos os polinômios, de Newton e de Lagrange, são compatíveis com dados
arbitrariamente espaçados, você poderia imaginar por que tratamos do caso especial de
dados igualmente espaçados (Quadro 18.2). Antes do advento dos computadores digitais,
essas técnicas tinham grande utilidade para interpolação a partir de tabelas com argumentos igualmente espaçados. Na realidade, um esquema computacional conhecido
como tabela de diferenças divididas era desenvolvido para facilitar a implementação de
tais técnicas. (A Figura 18.5 é um exemplo dessa tabela.)
Entretanto, como essas fórmulas são subconjuntos dos esquemas de Newton e de
Lagrange compatíveis com o computador, e como muitas funções tabuladas estão disponíveis como sub-rotinas de bibliotecas, a necessidade para versões igualmente espaçadas
diminuiu. Apesar disso, foram incluídas nesse ponto por causa de sua relevância em
partes posteriores deste livro. Em particular, elas são necessárias para deduzir fórmulas de
integração numérica que usam tipicamente dados igualmente espaçados (Capítulo 21).
Como as fórmulas de integração numérica têm relevância na solução de equações diferenciais ordinárias, o material no Quadro 18.2 também é significativo na Parte Sete.
A extrapolação é o processo de fazer uma estimativa de um valor de f (x) que está
fora do intervalo dos pontos base conhecidos, x0, x1, . . . , xn (Figura 18.13). Em uma
seção anterior, mencionou-se que a interpolação mais acurada é geralmente obtida
quando a incógnita está perto do centro dos pontos base. Obviamente, isso é violado
quando a incógnita está fora do intervalo e, conseqüentemente, o erro na extrapolação
pode ser muito alto. Como descrito na Figura 18.13, a natureza de extremidade aberta da
extrapolação representa um passo no desconhecido, pois o processo estende a curva além
da região conhecida. Dessa forma, a curva verdadeira poderia facilmente divergir da previsão. Portanto, deve-se tomar extremo cuidado quando ocorrer um caso no qual seja
preciso extrapolar.
FIGURA 18.13
Ilustração da possível divergência de uma previsão extrapolada. A extrapolação é baseada
no ajuste de uma parábola pelos primeiros três pontos conhecidos.
f (x)
Interpolação
Extrapolação
Curva
verdadeira
Extrapolação do
polinômio
interpolador
x0
x1
x2
x
INTERPOLAÇÃO
426
Quadro 18.2
Interpolação com Dados Igualmente Espaçados
Se os dados forem igualmente espaçados e estiverem em ordem
crescente, então a variável independente assume os valores
+
· · · [x − x0 − (n − 1)h] + Rn
onde h é o intervalo, ou o tamanho do passo, entre os dados.
Com base nisso, as diferenças divididas finitas podem ser expressas de forma concisa. Por exemplo, a segunda diferença dividida
progressiva é
o que pode ser expresso por
f(x2 ) − 2 f(x1 ) + f(x0 )
2h 2
(Q18.2.1)
pois x1 − x0 = x2 − x1 = (x2 − x0)/2 = h. Lembre-se agora de
que a segunda diferença progressiva é igual a [numerador da
Equação (4.24)]
onde o resto é o mesmo que a Equação (18.16). Essa equação é
conhecida como fórmula de Newton ou fórmula de Newton-Gregory.
Ela pode ser ainda mais simplificada definindo-se uma nova
quantidade, α:
α=
x − x0
h
x − x0 = αh
x − x0 − h = αh − h = h(α − 1)
·
·
·
x − x0 − (n − 1)h = αh − (n − 1)h = h(α − n + 1)
a qual pode ser substituída na Equação (Q18.2.3) para fornecer
f n (x) = f(x0 ) + f(x0 )α +
2
f(x0 ) = f(x2 ) − 2 f(x1 ) + f(x0 )
+ ··· +
Portanto, a Equação (Q18.2.1) pode ser representada por
f(x0 )
2!h 2
Rn =
ou, em geral,
(Q18.2.2)
Usando a equação (Q18.2.2), pode-se expressar o polinômio interpolador de Newton [Equação (18.15)] para o caso de dados igualmente espaçados como
18.6
2 f(x0 )
α(α − 1)
2!
n f(x0 )
α(α − 1) · · · (α − n + 1) + Rn
n!
(Q18.2.4)
onde
2
n f(x0 )
f [x0 , x1 , . . . , xn ] =
n!h n
(Q18.2.3)
Essa definição pode ser usada para deduzir as seguintes expressões
simplificadas para os termos na Equação (Q18.2.3):
f(x2 ) − f(x1 )
f(x1 ) − f(x0 )
−
x2 − x1
x1 − x0
f [x0 , x1 , x2 ] =
x2 − x0
f [x0 , x1 , x2 ] =
f(x0 )
(x − x0 )
h
2 f(x0 )
(x − x0 )(x − x0 − h)
2!h 2
n f(x0 )
(x − x0 )(x − x0 − h)
+ ··· +
n!h n
x1 = x0 + h
x2 = x0 + 2h
·
·
·
xn = x0 + nh
f [x0 , x1 , x2 ] =
f n (x) = f(x0 ) +
f (n+1) (ξ ) n+1
h α(α − 1)(α − 2) · · · (α − n)
(n + 1)!
Essa notação concisa terá utilidade na dedução e análise de erro das
fórmulas de integração no Capítulo 21.
Além da fórmula progressiva, fórmulas regressivas e centradas de Newton-Gregory também estão disponíveis. Carnahan,
Luther e Wilkes (1969) podem ser consultados para mais informação relativa à interpolação para dados igualmente espaçados.
INTERPOLAÇÃO POR SPLINES
Na seção anterior, polinômios de grau n foram usados para interpolar n + l pontos dados.
Por exemplo, para oito pontos, pode-se determinar exatamente um polinômio de grau
sete. Essa curva capturaria todas as oscilações (pelo menos até a sétima derivada, inclusive) sugeridas por esses pontos. Entretanto, há casos em que essas funções podem levar
a resultados errôneos por causa de erros de arredondamento e de erros na estimativa. Uma
abordagem alternativa é aplicar polinômios de grau mais baixo a subconjuntos dos pontos dados. Tais polinômios conectadores são chamados funções splines.
Por exemplo, curvas de terceiro grau usadas para conectar cada par de pontos dados
são chamadas de splines cúbicos. Essas funções podem ser construídas de modo que as
conexões entre equações cúbicas adjacentes sejam visualmente lisas. Superficialmente,
pareceria que a aproximação de terceiro grau por splines seria inferior à expressão de
grau sete. Você poderia perguntar em quais situações um spline seria preferível.
18.6 INTERPOLAÇÃO POR SPLINES
427
A Figura 18.14 ilustra uma situação na qual um spline funciona melhor do que um
polinômio de grau mais alto. Esse é o caso quando uma função é lisa em geral, mas sofre
uma mudança abrupta em algum ponto da região de interesse. O aumento em degrau
mostrado na Figura 18.14 é um exemplo extremo de tal mudança e serve para ilustrar
esse ponto.
As Figuras 18.14a a 18.14c ilustram como polinômios de grau mais alto tendem
a passar por grandes oscilações na vizinhança de uma mudança abrupta. Em contraste,
o spline também liga os pontos, mas como é limitado a variações de grau mais baixo,
as oscilações são mantidas em um mínimo. Dessa forma, os splines, em geral,
fornecem uma aproximação superior do comportamento de funções que têm variações
locais abruptas.
FIGURA 18.14
Uma representação visual da situação na qual os splines são superiores aos polinômios
interpoladores de grau mais alto. A função a ser ajustada sofre uma mudança brusca em
x ⫽ 0. As partes (a) a (c) indicam que a variação abrupta induz oscilações nos polinômios
interpoladores. Em contraste, como é limitado a segmentos de reta, um spline linear (d) fornece
uma aproximação muito mais aceitável.
f (x)
0
x
(a)
f (x)
0
x
(b)
f (x)
0
x
(c)
f (x)
0
(d)
x
428
INTERPOLAÇÃO
O conceito de spline originou-se de uma técnica de desenho na qual era usada uma
faixa fina e flexível (chamada spline) para desenhar uma curva lisa passando por um conjunto de pontos. O processo é descrito na Figura 18.15 para uma série de cinco pinos
(pontos dados). Nessa técnica, o desenhista coloca papel sobre uma tábua de madeira e
prega tachinhas ou pinos no papel (e na tábua) nas posições dos pontos dados. Uma curva
cúbica lisa resulta de intercalar a faixa entre os pinos. Assim, o nome “splines cúbicos”
foi adotado para polinômios desse tipo.
Nesta seção, serão usadas primeiro funções lineares simples para introduzir alguns
conceitos básicos e problemas associados à interpolação por splines. Então, desenvolveremos um algoritmo para ajustar splines quadráticos aos dados. Finalmente, apresentaremos o material sobre o spline cúbico, que é a versão mais útil e comum na prática
da engenharia.
18.6.1 Splines Lineares
A ligação mais simples entre dois pontos é uma reta. Os splines de primeiro grau para um
grupo de pontos ordenados podem ser definidos como um conjunto de funções lineares
f(x) = f(x0 ) + m 0 (x − x0 )
x0 ≤ x ≤ x1
f(x) = f(x1 ) + m 1 (x − x1 )
x1 ≤ x ≤ x2
·
·
·
f(x) = f(xn−1 ) + m n−1 (x − xn−1 )
xn−1 ≤ x ≤ xn
onde mi é a inclinação da reta ligando os pontos:
mi =
f(xi+1 ) − f(xi )
xi+1 − xi
(18.27)
Essas equações podem ser usadas para calcular a função em qualquer ponto entre x0
e xn, primeiro localizando-se o intervalo no qual o ponto se encontra. A seguir, a equação
apropriada é usada para determinar o valor da função dentro do intervalo. O método é obviamente idêntico à interpolação linear.
FIGURA 18.15
A técnica de desenho que usa um spline para desenhar curvas lisas por uma série de pontos.
Observe como, nas extremidades, o spline se torna menos curvo. Isso é chamado de um
spline “natural”.
18.6 INTERPOLAÇÃO POR SPLINES
EXEMPLO 18.8
429
Splines de Primeiro Grau
Enunciado do Problema. Ajuste os dados da Tabela 18.1 com um spline de primeiro
grau. Calcule a função em x = 5.
Solução. Os dados podem ser usados para determinar as inclinações entre os pontos. Por
exemplo, para o intervalo x = 4,5 a x = 7 a inclinação pode ser calculada usando-se a
Equação (18.27):
m=
2,5 − 1
= 0,60
7 − 4,5
As inclinações para os outros intervalos podem ser calculadas e o spline de primeiro grau
resultante está traçado na Figura 18.16a. O valor em x = 5 é 1,3.
TABELA 18.1
Dados a serem ajustados
com funções spline.
x
3,0
4,5
7,0
9,0
f (x)
2,5
1,0
2,5
0,5
A inspeção visual da Figura 18.16a indica que a principal desvantagem dos
splines de primeiro grau é que eles não são lisos. Essencialmente, nos pontos dados
nos quais dois splines se encontram (chamados nós), a inclinação varia abruptamente.
Em termos formais, a primeira derivada da função é descontínua nesses pontos. Essa
deficiência é superada usando-se splines polinomiais de grau mais alto, que garantem
que eles sejam lisos nos nós, igualando as derivadas em tais pontos, como discutido
na próxima seção.
18.6.2 Splines Quadráticos
Para garantir que as m-ésimas, derivadas sejam contínuas nos nós, um spline de grau pelo
menos m + 1 deve ser usado. Polinômios de terceiro grau ou splines cúbicos que garantam continuidade das primeira e segunda derivadas são usados mais freqüentemente na
prática. Embora derivadas de terceira ordem ou de ordem mais alta possam ser descontínuas quando usando splines cúbicos, elas não podem ser detectadas visualmente e, conseqüentemente, são ignoradas.
Como a dedução dos splines cúbicos é um pouco complicada, será abordada em uma
seção posterior. Primeiro se ilustrará o conceito de interpolação por splines usando
polinômios de segundo grau. Esses “splines quadráticos” têm primeira derivada contínua
nos nós. Embora os splines quadráticos não garantam segundas derivadas iguais nos nós,
eles servem bem para demonstrar o procedimento geral no desenvolvimento de splines de
grau mais alto.
O objetivo nos splines quadráticos é determinar um polinômio de segundo grau para
cada intervalo entre os pontos dados. Esse polinômio para cada intervalo pode ser representado de forma geral por
f i (x) = ai x 2 + bi x + ci
(18.28)
A Figura 18.17 foi incluída para ajudar a esclarecer a notação. Para n + 1 pontos dados
(i = 0, 1, 2, . . . , n), existem n intervalos e, conseqüentemente, 3n constantes indeterminadas (os a’s, b’s e c’s) para calcular. Portanto, 3n equações ou condições são necessárias
para calcular as incógnitas. São elas:
430
INTERPOLAÇÃO
f (x)
Spline de
1o grau
2
0
2
4
6
8
10
x
(a)
f (x)
2
Spline de
2o grau
0
x
(b)
f (x)
Spline
cúbico
Interpolação
cúbica
2
0
x
(c)
FIGURA 18.16
Ajustes por spline de um conjunto de quatro pontos. (a) Spline linear, (b) spline quadrático e
(c) spline cúbico, com um polinômio interpolador cúbico também traçado.
1.
Os valores da função e dos polinômios adjacentes devem ser iguais nos nós
interiores. Essa condição pode ser representada por
2
+ bi−1 xi−1 + ci−1 = f(xi−1 )
ai−1 xi−1
(18.29)
+ bi xi−1 + ci = f(xi−1 )
(18.30)
2
ai xi−1
2.
para i = 2 a n. Como apenas os nós interiores foram usados, as Equações (18.29) e
(18.30) fornecem cada uma n − 1 condições para um total de 2n − 2 condições.
As primeira e última funções devem passar pelos pontos extremos. Isso acrescenta
duas equações adicionais:
a1 x02 + b1 x0 + c1 = f(x0 )
an xn2 + bn xn + cn = f(xn )
3.
(18.31)
(18.32)
para um total de 2n − 2 + 2 = 2n condições.
As primeiras derivadas nos nós interiores devem ser iguais. A primeira derivada da
Equação (18.28) é
f ′(x) = 2ax + b
Portanto, a condição pode ser representada de modo geral por
2ai−1 xi−1 + bi−1 = 2ai xi−1 + bi
(18.33)
18.6 INTERPOLAÇÃO POR SPLINES
431
f (x)
a3x2 + b3x + c3
2
a1x2 + b1x + c1
a2x + b2x + c2
f (x3)
f (x1)
f (x0)
f (x2)
Intervalo 1
x0
i=0
Intervalo 2
x1
i=1
Intervalo 3
x2
i=2
x3
i=3
x
FIGURA 18.17
Notação usada para deduzir splines quadráticos. Observe que há n intervalos e n ⫹ 1 pontos
dados. O exemplo mostrado é para n ⫽ 3.
4.
para i = 2 a n. Isso fornece outras n − 1 condições para um total de 2n + n − 1 =
3n − 1. Como temos 3n incógnitas, ainda falta uma condição. A menos que se tenha
alguma informação adicional relativa às funções ou suas derivadas, é preciso fazer
uma escolha arbitrária para ter sucesso no cálculo das constantes. Embora existam
diversas escolhas diferentes possíveis, optou-se pela seguinte:
Suponha que a segunda derivada seja nula no primeiro ponto. Como a segunda
derivada da Equação (18.28) é 2ai, essa condição pode ser expressa matematicamente como
a1 = 0
(18.34)
A interpretação visual dessa condição é que os primeiros dois pontos serão ligados
por uma reta.
EXEMPLO 18.9
Splines Quadráticos
Enunciado do Problema. Ajuste um spline quadrático aos mesmos dados usados no
Exemplo 18.8 (Tabela 18.1). Use os resultados para fazer uma estimativa do valor em
x = 5.
Solução. Nesse problema, há quatro pontos dados e n = 3 intervalos. Portanto, 3(3) = 9
incógnitas devem ser determinadas. As Equações (18.29) e (18.30) fornecem
2(3) − 2 = 4 condições:
20,25a1 + 4,5b1 + c1 = 1,0
20,25a2 + 4,5b2 + c2 = 1,0
49a2 + 7b2 + c2 = 2v5
49a3 + 7b3 + c3 = 2,5
Fazer com que a primeira e a última função passem pelos valores inicial e final acrescenta
mais duas [Equação (18.31)]:
9a1 + 3b1 + c1 = 2,5
e [Equação (18.32)]
81a3 + 9b3 + c3 = 0,5
432
INTERPOLAÇÃO
A continuidade das derivadas cria mais 3 − l = 2 [Equação (18.33)]:
9a1 + b1 = 9a2 + b2
14a2 + b2 = 14a3 + b3
Finalmente, a Equação (18.34) especifica que a1 = 0. Como essa equação especifica a1
exatamente, o problema se reduz a resolver oito equações simultâneas. Tais condições
podem ser expressas na forma matricial como
4,5
⎢ 0
⎢
⎢ 0
⎢
⎢ 0
⎢
⎢ 3
⎢
⎢ 0
⎢
⎣ 1
0
⎡
1
0
0
0 20,25 4,5
0
49
7
0
0
0
1
0
0
0
0
0
0 −9 −1
0
14
1
0
0
0
1
0
0
1
0
0
0 49
7
0
0
0
0 81
9
0
0
0
0 −14 −1
⎤⎧ ⎫ ⎧ ⎫
0 ⎪
1 ⎪
b1 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
c
0⎥
1 ⎪
⎪
⎪
⎪
⎪
1⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
a
0⎥
2,5
⎪
⎪
⎪
⎪
2⎪
⎥⎪
⎪
⎪
⎬
⎨
⎨
⎬
b
1⎥
2,5
⎥ 2 =
c2 ⎪
0⎥
⎪ ⎪
⎥⎪
⎪
⎪2,5⎪
⎪
⎪
⎪ ⎪
⎪a3 ⎪
⎪0,5⎪
⎪
1⎥
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎪
⎪
⎪
⎪ ⎪
⎪b3 ⎪
⎪ 0 ⎪
⎪
0⎦⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩ ⎭ ⎩ ⎪
⎭
c3
0
0
Essas equações podem ser resolvidas usando-se as técnicas da Parte Três, o que resulta em:
a1 = 0
a2 = 0,64
a3 = −1,6
b1 = −1
b2 = −6,76
b3 = 24,6
c1 = 5,5
c2 = 18,46
c3 = −91,3
que, por sua vez, pode ser substituído nas equações quadráticas originais para determinar
as seguintes relações para cada intervalo:
f 1 (x) = −x + 5,5
2
f 2 (x) = 0,64x − 6,76x + 18,46
2
f 3 (x) = −1,6x + 24,6x − 91,3
3,0 ≤ x ≤ 4,5
4,5 ≤ x ≤ 7,0
7,0 ≤ x ≤ 9,0
Quando se usa f2, a previsão para x = 5 é, portanto,
f 2 (5) = 0,64(5)2 − 6,76(5) + 18,46 = 0,66
O ajuste total do spline está mostrado na Figura 18.16b. Observe que há duas
desvantagens que prejudicam o ajuste: (1) a reta ligando os dois primeiros pontos e (2) o
spline para o último intervalo parece ir até muito alto. Os splines cúbicos da próxima
seção não exibem essas desvantagens e, como conseqüência, são métodos melhores para
interpolação por splines.
18.6.3 Splines Cúbicos
O objetivo nos splines cúbicos é determinar um polinômio de 3o grau para cada intervalo
entre os nós, como em
f i (x) = ai x 3 + bi x 2 + ci x + di
(18.35)
Logo, para n + 1 pontos dados (i = 0, 1, 2, . . . , n), existem n intervalos e, conseqüentemente, 4n constantes indeterminadas para calcular. Exatamente como para os splines
quadráticos, 4n condições são necessárias para calcular as incógnitas. São elas:
1.
2.
3.
4.
5.
Os valores da função e dos polinômios adjacentes devem ser iguais nos nós interiores (2n − 2 condições).
A primeira e a última função devem passar pelos pontos extremos (2 condições).
As primeiras derivadas nos nós interiores devem ser iguais (n − 1 condições).
As segundas derivadas nos nós interiores devem ser iguais (n − 1 condições).
As segundas derivadas nos nós extremos são nulas (2 condições).
18.6 INTERPOLAÇÃO POR SPLINES
433
A interpretação visual da condição 5 é que a função se torna uma reta nos nós extremos.
A especificação de tais condições nas extremidades leva ao que é chamado de spline “natural”, que tem esse nome porque o spline desenhado naturalmente se comporta dessa
forma (Figura 18.15). Se o valor da segunda derivada nos nós extremos não for nula (isto
é, existe alguma curvatura), essa informação pode ser usada alternativamente para
fornecer as duas condições finais.
Esses cinco tipos de condições fornecem o total das 4n equações necessárias para determinar os 4n coeficientes. Enquanto que certamente é possível desenvolver splines
cúbicos dessa forma, vamos apresentar uma técnica que exige a solução de apenas n − 1
equações. Embora a dedução desse método (Quadro 18.3) seja um pouco menos simples
do que aquela para os splines cúbicos, o ganho em eficiência vale o esforço.
A dedução do Quadro 18.3 resulta na seguinte equação cúbica para cada intervalo:
f i (x) =
Quadro 18.3
f i′′(xi−1 )
f i′′(xi )
(xi − x)3 +
(x − xi−1 )3
6(xi − xi−1 )
6(xi − xi−1 )
f ′′(xi−1 )(xi − xi−1 )
f(xi−1 )
(xi − x)
−
+
xi − xi−1
6
f(xi )
f ′′(xi )(xi − xi−1 )
(x − xi−1 )
+
−
xi − xi−1
6
Dedução dos Splines Cúbicos
O primeiro passo na dedução (Cheney e Kincaid, 1985) é baseado
na observação de que, como cada par de nós é ligado por um
polinômio cúbico, a segunda derivada no interior de cada intervalo
é uma reta. A Equação (18.35) pode ser derivada duas vezes para
verificar essa observação. Com base nisso, as segundas derivadas
podem ser representadas por um polinômio interpolador de Lagrange de 1o grau [Equação (18.22)]:
f i′′(x) = f i′′(xi −1 )
(18.36)
x − xi −1
x − xi
+ f i′′(xi )
xi −1 − xi
xi − xi −1
(Q18.3.1)
é o valor da segunda derivada em um ponto qualquer x
onde
no i-ésimo intervalo. Logo, essa equação é uma reta ligando a segunda derivada no primeiro nó f ′′(xi−1) com a segunda derivada no
segundo nó f ′′(xi).
A seguir, a Equação (Q18.3.1) pode ser integrada duas vezes
para fornecer uma expressão para fi(x). Entretanto, essa expressão
irá conter duas constantes de integração indeterminadas. Tais constantes podem ser determinadas invocando a condição de igualdade
das funções — f i(x) deve ser igual a f(xi−1) em xi−1 e f i(x) deve ser
igual a f i(xi) em xi. Fazendo esses cálculos, obtém-se a seguinte
equação cúbica:
f i′′(x)
f i′′(xi )
f i′′(xi −1 )
f i (x) =
(xi − x)3 +
(x − xi −1 )3
6(xi − xi −1 )
6(xi − xi −1 )
f(xi −1 )
f ′′(xi −1 )(xi − xi −1 )
(xi − x)
+
−
xi − xi −1
6
f ′′(xi )(xi − xi −1 )
f(xi )
(x − xi −1 )
−
+
xi − xi −1
6
(Q18.3.2)
Agora, sem dúvida, essa relação é uma expressão muito mais complicada para o spline cúbico para o i-ésimo intervalo do que, por
exemplo, a Equação (18.35). Entretanto, observe que ela contém
apenas dois “coeficientes” indeterminados, as segundas derivadas
no início e no final do intervalo — f ′′(xi−1) e f ′′(xi). Logo, se determinarmos as segundas derivadas adequadas em cada nó, a Equação
(Q18.3.2) será um polinômio de 3o grau que pode ser usado para
interpolar no intervalo.
As segundas derivadas podem ser calculadas usando-se a
condição de que as primeiras derivadas nos nós devem ser contínuas:
′
f i′ (xi ) = f i+1
(xi )
(Q18.3.3)
A Equação (Q18.3.2) pode ser derivada para dar uma expressão
para a primeira derivada. Se isso for feito para os i-ésimo e (i − 1)
-ésimo intervalos e se os dois resultados forem igualados de acordo
com a Equação (Q18.3.3), resultam as seguintes relações:
(xi − xi −1 ) f ′′(xi −1 ) + 2(xi +1 − xi −1 ) f ′′(xi )
+ (xi +1 − xi ) f ′′(xi +1 )
6
=
[ f(xi +1 ) − f(xi )]
xi +1 − xi
6
+
[ f(xi −1 ) − f(xi )]
xi − xi −1
(Q18.3.4)
Se a Equação (Q18.3.4) for escrita para todos os nós interiores, teremos n − 1 equações simultâneas com n + 1 segundas derivadas.
Contudo, como esse é um spline cúbico natural, as segundas derivadas nos nós extremos são nulas e o problema se reduz a n − 1
equações com n − 1 incógnitas. Além disso, observe que o sistema
de equações será tridiagonal. Logo, não apenas reduzimos o
número de equações, como também as colocamos em uma forma
que é extremamente fácil de resolver (lembre-se da Seção 11.1.1).
INTERPOLAÇÃO
434
Essa equação contém apenas duas incógnitas — as segundas derivadas nas extremidades
de cada intervalo. Essas incógnitas podem ser calculadas usando-se a seguinte equação:
(xi − xi−1 ) f ′′(xi−1 ) + 2(xi+1 − xi−1 ) f ′′(xi ) + (xi+1 − xi ) f ′′(xi+1 )
6
6
[ f(xi+1 ) − f(xi )] +
[ f(xi−1 ) − f(xi )]
=
xi+1 − xi
xi − xi−1
(18.37)
Se essa equação for escrita para todos os nós interiores, resultarão n − 1 equações simultâneas com n − 1 incógnitas. (Lembre-se, as segundas derivadas nos nós extremos
são nulas.) A aplicação dessas equações é ilustrada no seguinte exemplo.
EXEMPLO 18.10
Splines Cúbicos
Enunciado do Problema. Ajuste splines cúbicos aos mesmos dados usados nos Exemplos 18.8 e 18.9 (Tabela 18.1). Utilize os resultados para fazer uma estimativa do valor em
x = 5.
Solução. O primeiro passo é usar a Equação (18.37) para gerar um conjunto de equações
simultâneas que serão utilizadas para determinar as segundas derivadas nos nós. Por
exemplo, para o primeiro nó interior, são usados os seguintes dados:
x0 = 3
f(x0 ) = 2,5
x1 = 4,5
f(x1 ) = 1
x2 = 7
f(x2 ) = 2,5
Esses valores podem ser substituídos na Equação (18.37) para fornecer
(4,5 − 3) f ′′(3) + 2(7 − 3) f ′′(4,5) + (7 − 4,5) f ′′(7)
6
6
=
(2,5 − 1) +
(2,5 − 1)
7 − 4,5
4,5 − 3
Por causa da condição de spline natural, f ′′(3) = 0, e a equação se reduz a
8 f ′′(4,5) + 2,5 f ′′(7) = 9,6
De modo análogo, a Equação (18.37) pode ser aplicada ao segundo nó interior para dar
2,5 f ′′(4,5) + 9 f ′′(7) = −9,6
Essas duas equações podem ser resolvidas simultaneamente por
f ′′(4,5) = 1,67909
f ′′(7) = −1,53308
Esses valores podem ser substituídos na Equação (18.36), junto com valores para os
x’s e os f(x)’s, para fornecer
f 1(x) =
2,5
1,67909
(x − 3)3 +
(4,5 − x)
6(4,5 − 3)
4,5 − 3
1,67909(4,5 − 3)
1
(x − 3)
−
+
4,5 − 3
6
ou
f 1(x) = 0,186566(x − 3)3 + 1,666667(4,5 − x) + 0,246894(x − 3)
Essa equação é o spline cúbico para o primeiro intervalo. Substituições similares podem
ser feitas para determinar equações para o segundo e o terceiro intervalos:
f 2(x) = 0,111939(7 − x)3 − 0,102205(x − 4,5)3 − 0,299621(7 − x)
+ 1,638783(x − 4,5)
18.6 INTERPOLAÇÃO POR SPLINES
435
e
f 3(x) = −0,127757(9 − x)3 + 1,761027(9 − x) + 0,25(x − 7)
Essas três equações então são usadas para calcular valores em cada intervalo. Por exemplo, o valor em x = 5, que está no segundo intervalo, é calculado como sendo
f 2(5) = 0,111939(7 − 5)3 − 0,102205(5 − 4,5)3 − 0,299621(7 − 5)
+ 1,638783(5 − 4,5) = 1,102886
Outros valores foram calculados e os resultados estão mostrados na Figura 18.16c.
Os resultados dos Exemplos 18.8 a 18.10 estão resumidos na Figura 18.16. Observe
a melhora progressiva no ajuste à medida que nos movemos dos splines lineares para
quadráticos para cúbicos. Foi superposto também um polinômio interpolador cúbico na
Figura 18.16c. Embora o spline cúbico consista em uma série de curvas de terceiro grau,
o ajuste resultante é diferente do obtido usando-se um polinômio de terceiro grau, o que
se deve ao fato de que o spline natural exige segundas derivadas nulas nos nós extremos,
enquanto o polinômio cúbico não tem tal restrição.
FIGURA 18.18
Algoritmo para a interpolação por spline cúbico.
SUBROUTINE Spline (x,y,n,xu,yu,dy,d2y)
LOCAL en, fn, gn, rn, d2xn
CALL Tridiag(x,y,n,e,f,g,r)
CALL Decomp(e,f,g,n1)
CALL Subst(e,f,g,r,n1,d2x)
CALL Interpol(x,y,n,d2x,xu,yu,dy,d2y)
END Spline
SUBROUTINE Tridiag (x,y,n,e,f,g,r)
f1 ⫽ 2 * (x2x0)
g1 ⫽ (x2x1)
r1 ⫽ 6/(x2x1) * (y2y1)
r1 ⫽ r1⫹6/(x1x0) * (y0y1)
DOFOR i ⫽ 2, n2
ei ⫽ (xixi1)
fi ⫽ 2 * (xi⫹1 xi1)
gi ⫽ (xi+1 xi)
ri ⫽ 6/(xi+1 xi) * (yi⫹1 yi)
ri ⫽ ri⫹6/(xi xi1) * (yi1 yi)
END DO
en−1 ⫽ (xn1 xn2)
fn−1 ⫽ 2 * (xn xn2)
rn−1 ⫽ 6/(xn xn1) * (yn yn1)
rn−1 ⫽ rn1 ⫹ 6/(xn1 xn2) * (yn2 yn1)
END Tridiag
SUBROUTINE Interpol (x,y,n,d2x,xu,yu,dy,d2y)
flag ⫽ 0
i ⫽ 1
DO
IF xu ⱖ xi⫺1 AND xu ⱕ xi THEN
c1 ⫽ d2xi1/6/(xi xi1)
c2 ⫽ d2xi/6/(xi xi1)
c3 ⫽ yi1/(xi xi1) d2xi1 * (xixi1)/6
c4 ⫽ yi/(xi xi1) d2xi * (xixi1)/6
t1 ⫽ c1 * (xi xu)3
t2 ⫽ c2 * (xu xi1)3
t3 ⫽ c3 * (xi xu)
t4 ⫽ c4 * (xu xi1)
yu ⫽ t1 ⫹ t2 ⫹ t3 ⫹ t4
t1 ⫽ ⫺3 * c1 * (xi ⫺ xu)2
t2 ⫽ 3 * c2 * (xu ⫺ xi⫺1)2
t3 ⫽ ⫺c3
t4 ⫽ c4
dy ⫽ t1 ⫹ t2 ⫹ t3 ⫹ t4
t1 ⫽ 6 * c1 * (xi xu)
t2 ⫽ 6 * c2 * (xu xi1)
d2y ⫽ t1 ⫹ t2
flag ⫽ 1
ELSE
i ⫽ i ⫹ 1
END IF
IF i ⫽ n ⫹ 1 OR flag ⫽ 1 EXIT
END DO
IF flag ⫽ 0 THEN
PRINT “fora do intervalo”
pause
END IF
END Interpol
INTERPOLAÇÃO
436
18.6.4 Algoritmo Computacional para Splines Cúbicos
O método para calcular splines cúbicos delineados na seção anterior é ideal para implementação computacional. Lembre-se de que, por algumas manipulações engenhosas, o
método reduziu o problema à resolução de n − 1 equações simultâneas. Um benefício
adicional da dedução é que, como especificado pela Equação (18.37), o sistema de
equações é tridiagonal. Como descrito na Seção 11.1, estão disponíveis algoritmos para
resolver tais sistemas de maneira extremamente eficiente. A Figura 18.18 esboça um esquema computacional que incorpora essas características.
Observe que a rotina na Figura 18.18 retorna um único valor interpolado, yu, para
um dado valor da variável independente xu. Essa é apenas uma das formas como a interpolação por splines pode ser implementada. Por exemplo, você poderia querer determinar
os coeficientes uma única vez e então fazer muitas interpolações. Além disso, a rotina retorna tanto a primeira (dy) quanto a segunda (dy2) derivadas em xu. Embora não seja
necessário calcular essas quantidades, elas se mostram úteis em muitas aplicações de interpolação por splines.
PROBLEMAS
18.1 Faça uma estimativa do logaritmo comum de 10 usando interpolação linear.
(a) Interpole entre log 8 ⫽ 0,9030900 e log 12 ⫽ 1,0791812.
(b) Interpole entre log 9 ⫽ 0,9542425 e log 11 ⫽ 1,0413927. Para
cada interpolação, calcule o erro relativo porcentual baseado
no valor verdadeiro.
18.2 Ajuste um polinômio interpolador de Newton de segundo grau
para fazer uma estimativa de log 10 usando os dados do Problema 18.1
em x ⫽ 8, 9 e 11. Calcule o erro relativo porcentual verdadeiro.
18.3 Ajuste um polinômio interpolador de Newton de terceiro grau
usando os dados do Problema 18.1.
18.4 Considere os dados
x
1,6
2
2,5
3,2
4
4,5
2
8
14
15
8
2
f (x)
(a) Calcule f (2.8) usando polinômios interpoladores de Newton de
primeiro a terceiro graus. Escolha a seqüência de pontos para
fazer sua estimativa de modo a atingir a melhor acurácia possível.
(b) Utilize a Equação (18.18) para fazer uma estimativa do erro em
cada previsão.
18.5 Considere os dados
x
1
2
3
5
7
8
f (x)
3
6
19
99
291
444
Calcule f (4) usando polinômios interpoladores de Newton de
primeiro a quarto graus. Escolha seus pontos base para obter uma
boa acurácia. O que seus resultados indicam em relação ao grau do
polinômio usado para gerar os dados da tabela?
18.6 Repita os Problemas 18.1 a 18.3 usando polinômios
Lagrange.
18.7 Repita o Problema 18.5 usando polinômios de Lagrange de
primeiro a terceiro graus.
18.8 Use interpolação inversa por um polinômio interpolador
cúbico e bissecção para determinar o valor de x que corresponde a
f (x) ⫽ 0,23 para os seguintes dados tabulados:
x
f (x)
2
3
4
5
6
7
0,5
0,3333
0,25
0,2
0,1667
0,1429
18.9 Use interpolação inversa para determinar o valor de x que corresponde a f (x) ⫽ 0,85 para os seguintes dados tabulados:
x
0
1
2
3
4
5
f (x)
0
0,5
0,8
0,9
0,941176
0,961538
Observe que os valores na tabela foram gerados pela função
f (x) ⫽ x3冒(2 ⫹ x3).
(a) Determine o valor correto analiticamente.
(b) Use interpolação cúbica de x em função de y.
(c) Use interpolação inversa com interpolação quadrática e a fórmula quadrática.
(d) Use interpolação inversa com interpolação cúbica e bissecção.
Para as partes (b) a (d), calcule o erro relativo porcentual
verdadeiro.
18.10 Determine splines quadráticos para os primeiros cinco pontos dados no Problema 18.4 e faça previsões de f(3,4) e f(2,2).
18.11 Determine splines cúbicos para os dados do Problema 18.5
e (a) faça previsões de f (4) e f (2,5) e (b) verifique que f 2(3) e
f 3(3) ⫽ 19.
18.12 Determine os coeficientes da parábola que passa pelos últimos três pontos do Problema 18.4.
18.13 Determine os coeficientes da equação cúbica que passa
pelos primeiros quatro pontos no Problema 18.5.
18.14 Desenvolva, debug e teste um programa ou em uma linguagem de alto nível ou em uma macrolinguagem de sua escolha
para implementar o polinômio interpolador de Newton com base na
Figura 18.7.
18.15 Teste o programa que você desenvolveu no Problema 18.14
repetindo os cálculos do Exemplo 18.5.
18.16 Use o programa que você desenvolveu no Problema 18.14
para resolver os Problemas 18.1 a 18.3.
18.17 Use o programa que você desenvolveu no Problema 18.14 para
resolver os Problemas 18.4 e 18.5. No Problema 18.4, use todos os
dados para desenvolver polinômios de primeiro a quinto graus. Em
ambos os problemas, trace a estimativa de erro em função do grau.
18.18 Desenvolva, debug e teste um programa ou em uma linguagem de alto nível ou em uma macrolinguagem de sua escolha
para implementar a interpolação de Lagrange. Use como base o
pseudocódigo da Figura 18.11. Teste-o repetindo o Exemplo 18.7.
PROBLEMAS
18.19 Uma aplicação útil da interpolação de Lagrange é chamada
tabela de consulta. Como o nome indica, ela envolve “consultar”
um valor intermediário em uma tabela. Para desenvolver tal algoritmo, a tabela dos valores de x e de f (x) é inicialmente armazenada
em um par de matrizes unidimensionais. Esses valores são então
passados para uma função junto com o valor de x que você quer calcular. A função então realiza duas tarefas. Primeiro, ela percorre a
tabela até encontrar o intervalo no qual a incógnita está. Então,
aplica uma técnica como a interpolação de Lagrange para determinar o valor apropriado de f (x). Desenvolva tal função usando um
polinômio de Lagrange cúbico para fazer a interpolação. Para intervalos intermediários, essa é uma boa escolha, pois a incógnita
estará localizada no intervalo no meio dos quatro pontos necessários para gerar o polinômio cúbico. Para o primeiro e o último intervalos, use um polinômio de Lagrange quadrático. Faça também
com que o código detecte quando o usuário pede um valor fora do
intervalo dos x’s. Em tais casos, a função deveria mostrar uma mensagem de erro. Teste seu programa para f (x) ⫽ ln x usando dados
entre x ⫽ 0, 1, 2, ... , 10.
437
18.20 Desenvolva, debug e teste um programa ou em uma linguagem de alto nível ou em uma macrolinguagem de sua escolha
para implementar a interpolação por splines cúbicos com base na
Figura 18.18. Teste seu programa repetindo o Exemplo 18.10.
18.21 Use o software desenvolvido no Problema 18.20 para ajustar
splines cúbicos aos dados dos Problemas 18.4 e 18.5. Em ambos os
casos, faça uma previsão de f(2,25).
18.22 Use a parte da tabela de vapor dada para H2O superaquecida
a 200 MPa para (a) encontrar a entropia correspondente s para um
volume específico v de 0,108 m3/kg com interpolação linear, (b)
encontrar a mesma entropia correspondente usando interpolação
quadrática, e (c) encontrar o volume correspondente a uma entropia
de 6,6 usando interpolação inversa.
v (m3/kg)
0,10377
0,11144
0,1254
s (kJ/kg· K)
6,4147
6,5453
6,7664
CAPÍTULO
19
Aproximação de Fourier
Até este ponto, nossa apresentação de interpolação enfatizou polinômios padrão — ou
seja, combinações lineares dos monômios 1, x, x 2, . . . , x m (Figura 19.1a). Agora, nos
voltamo-nos para uma outra classe de funções que têm imensa importância na engenharia
— as funções trigonométricas 1, cos x, cos 2x, . . . , cos nx, sen x, sen 2x, . . . , sen nx
(Figura 19.1b).
Os engenheiros em geral tratam de sistemas que oscilam ou vibram. Como pode ser
esperado, as funções trigonométricas desempenham um papel fundamental na modelagem de tais contextos de problemas. A aproximação de Fourier representa um esquema
sistemático para usar séries trigonométricas com esse propósito.
Uma das características da análise de Fourier é que ela lida tanto com o domínio de
freqüência quanto com o de tempo. Como alguns engenheiros não se sentem confortáveis
com o último, uma grande parte do material subseqüente foi dedicada a uma visão geral
da aproximação de Fourier. Um aspecto importante dessa visão geral será familiarizá-lo
com o domínio de freqüência. Essa orientação é então seguida por uma introdução aos
métodos numéricos para o cálculo de transformadas de Fourier discretas.
FIGURA 19.1
Os primeiros cinco (a) monômios e (b) funções trigonométricas. Observe que, no intervalo
mostrado, ambos os tipos de funções assumem valores que variam entre −1 e 1. Entretanto,
os valores de pico dos monômios todos ocorrem nas extremidades, enquanto que, para as
funções trigonométricas, os picos são distribuídos mais uniformemente pelo intervalo.
1
f(x)
x2
x
x4
x2
–1
x3
x4
1
x
x
3
(a)
f(x)
cos 2t
cos 2t
sen 2t
sen t
–
t
sen 2t
sen t
cos t
cos t
(b)
438
1
19.1 AJUSTE DE CURVAS COM FUNÇÕES SENOIDAIS
19.1
439
AJUSTE DE CURVAS COM FUNÇÕES SENOIDAIS
Uma função periódica f (t) é uma para a qual
(19.1)
f(t) = f(t + T )
onde T é uma constante chamada período, que é o menor valor para o qual a Equação
(19.1) vale. Exemplos comuns incluem formas ondulatórias como ondas quadradas e
dente de serra (Figura 19.2). As mais fundamentais são as funções senoidais.
Na presente discussão, será usado o termo senóide para representar qualquer forma
ondulatória que possa ser descrita por um seno ou um cosseno. Não existe nenhuma convenção bem estabelecida para escolher qualquer uma das duas funções, e, de todo modo,
os resultados seriam idênticos. Neste capítulo, será usado o cosseno, que pode ser representado, em geral, por
f(t) = A0 + C1 cos(ω0 t + θ)
(19.2)
FIGURA 19.2
Além das funções trigonométricas como o seno e o cosseno, as funções periódicas
incluem formas ondulatórias como (a) a onda quadrada e (b) onda dente de serra.
Além dessas formas idealizadas, sinais periódicos por natureza podem ser (c) nãoideais e (d) contaminados por ruídos. As funções trigonométricas podem ser usadas
para representar e analisar todos esses casos.
(a)
T
(b)
T
(c)
T
(d)
T
440
APROXIMAÇÃO DE FOURIER
y(t)
C1
2
1
A0
T
1
0
t, s
2
2
3
t, rad
(a)
2
A0
1
B1 sen (0t)
0
A1 cos (0t)
–1
(b)
FIGURA 19.3
(a) Um gráfico da função senoidal y(t ) ⫽ A0 ⫹ C1 cos(ω0t ⫹ θ). Nesse caso, A0 ⫽ 1,7,
C1 ⫽ 1, ω0 ⫽ 2π/T ⫽ 2π/(1,5 s) e θ ⫽ π/3 radianos ⫽ 1,0472 (⫽ 0,25 s). Os outros
parâmetros usados para descrever a curva são a freqüência f ⫽ ω0/(2π), que nesse caso é
1 ciclo/(1,5 s) e o período T ⫽ 1,5 s. (b) Uma expressão alternativa da mesma curva é
y(t) ⫽ A0 ⫹ A1 cos(ω0 t) ⫹ B1 sen(ω0t). As três componentes dessa função são mostradas
em (b), onde A1 ⫽ 0,5 e B1 ⫽ ⫺0,866. A soma das três curvas em (b) fornece a curva
única em (a).
Logo, quatro parâmetros servem para caracterizar a senóide (Figura 19.3). O valor
médio A0 determina a altura média acima da abscissa. A amplitude C1 especifica a altura da oscilação. A freqüência angular ω 0 caracteriza com que freqüência o ciclo
ocorre. Finalmente, o ângulo de fase, ou deslocamento angular, θ parametriza a extensão pela qual a curva senoidal está deslocada horizontalmente. Ele pode ser medido
como a distância em radianos de t = 0 ao ponto no qual a função cosseno começa um
novo ciclo. Como descrito na Figura 19.4a, um valor negativo é chamado de ângulo de
fase de retardamento porque a curva cos(ω0t − θ) começa um novo ciclo θ radianos depois de cos(ω0t). Logo, diz-se que cos(ω0t − θ) tem um retardamento em relação a
cos(ω0t). Reciprocamente, como na Figura 19.4b, um valor positivo é chamado de ângulo de fase de avanço.
Observe que a freqüência angular (em radianos/tempo) está relacionada com a freqüência f (em ciclos/tempo) por
ω0 = 2π f
(19.3)
e a freqüência, por sua vez, está relacionada ao período T (em unidades de tempo) por
f =
1
T
(19.4)
19.1 AJUSTE DE CURVAS COM FUNÇÕES SENOIDAIS
441
cos 0t –
cos (0t)
2
t
(a)
cos 0t +
2
cos (0t)
t
(b)
FIGURA 19.4
Descrição gráfica de ângulo de fase de (a) retardamento e (b) avanço. Observe que a
curva com retardamento em (a) pode ser descrita alternativamente como cos(ω0t ⫹ 3π/2).
Em outras palavras, se uma curva tem um retardamento por um ângulo α, ela também pode
ser representada como tendo um ângulo de avanço 2π ⫺ α.
Embora a Equação (19.2) seja uma caracterização matematicamente adequada de
uma função senoidal, é complicado trabalhar com ela do ponto de vista de ajuste de curvas por causa do deslocamento angular incluído no argumento da função cosseno. Essa
deficiência pode ser superada com o uso da identidade trigonométrica
C1 cos(ω0 t + θ) = C1 [cos(ω0 t) cos(θ) − sen (ω0 t)sen (θ)]]
(19.5)
Substituindo a Equação (19.5) na Equação (19.2) e agrupando os termos, obtém-se
(Figura (19.3b)
f(t) = A0 + A1 cos(ω0 t) + B1 sen (ω0 t)
(19.6)
A1 = C1 cos(θ)
(19.7)
onde
B1 = −C1 sen (θ)
Dividindo-se as duas partes da Equação (19.7), obtém-se
B1
θ = arctg −
A1
(19.8)
onde, se A1 ⬍ 0, some π a θ. Elevando ao quadrado e somando, a Equação (19.7) leva a
C1 = A21 + B12
(19.9)
Logo, a Equação (19.6) representa uma formulação alternativa da Equação (19.2) que
ainda usa quatro parâmetros, mas que está na forma de um modelo linear geral [lembrese da Equação (17.23)]. Como se discutirá na próxima seção, ela pode ser usada de modo
simples como a base para um ajuste por mínimos quadrados.
Antes de prosseguir para a próxima seção, entretanto, deve-se enfatizar que
poderíamos ter usado uma função seno em vez do cosseno no modelo fundamental da
Equação (19.2). Por exemplo,
f(t) = A0 + C1 sen (ω0 t + δ)
442
APROXIMAÇÃO DE FOURIER
poderia ter sido usada. Relações simples podem ser aplicadas para converter entre as duas
formas
π
sen (ω0 t + δ) = cos ω0 t + δ −
2
e
π
cos(ω0 t + θ) = sen ω0 t + θ +
2
(19.10)
Em outras palavras, θ = δ − π/2. A única consideração importante é que uma ou
outra forma deve ser usada consistentemente. Assim, será usada a versão cosseno em toda
a discussão.
19.1.1 Ajuste por Mínimos Quadrados de uma Curva Senoidal
A Equação (19.6) pode ser pensada como um modelo linear de mínimos quadrados
y = A0 + A1 cos(ω0 t) + B1 sen (ω0 t) + e
(19.11)
o qual é simplesmente um outro exemplo do modelo geral [lembre-se da Equação (17.23)]
y = a0 z 0 + a 1 z 1 + a 2 z 2 + · · · + a m z m + e
(17.23)
onde z0 = 1, zl = cos(ω0t), z2 = sen(ω0t) e todos os outros z’s são nulos. Logo, o objetivo
é determinar valores dos coeficientes que minimizem
Sr =
N
i=1
2
yi − [A0 + A1 cos(ω0 ti ) + B1 sen (ω0 ti )]
As equações normais para conseguir essa minimização podem ser expressas na forma matricial como [lembre-se da Equação (17.25)]
⎡
⎤⎧ ⎫
sen (ω0 t)
N
cos(ω0 t)
⎨ A0 ⎬
⎣ cos(ω0 t)
cos2 (ω0 t)
cos(ω0 t)sen (ω0 t)⎦ A1
⎩ ⎭
sen (ω0 t) cos(ω0 t)sen (ω0 t)
sen 2 (ω0 t)
B1
⎫
⎧
y
⎬
⎨
= y cos(ω0 t)
(19.12)
⎭
⎩
y sen (ω0 t)
Essas equações podem ser usadas para determinar os coeficientes desconhecidos.
Entretanto, em vez de fazer isso, pode-se examinar o caso especial em que existem N
observações igualmente espaçadas em intervalos t e com um intervalo total de T =
(N − 1) t. Nessa situação, podem ser determinados os seguintes valores médios (ver
Problema 19.3):
sen (ω0 t)
=0
N
cos(ω0 t)
=0
N
sen 2 (ω0 t)
1
cos2 (ω0 t)
1
=
=
N
2
N
2
cos(ω0 t)sen (ω0 t)
=0
N
Então, para pontos uniformemente espaçados, as equações normais se tornam
⎫
⎡
⎤⎧ ⎫ ⎧
y
N
0
0
⎬
⎨ A0 ⎬ ⎨
⎣ 0 N /2
0 ⎦ A1 = y cos(ω0 t)
⎭
⎩ ⎭ ⎩
y sen(ω0 t)
B1
0
0
N/2
(19.13)
19.1 AJUSTE DE CURVAS COM FUNÇÕES SENOIDAIS
443
A inversa da matriz diagonal é simplesmente uma outra matriz diagonal cujos elementos
são os inversos da matriz original. Logo, os coeficientes podem ser determinados por
⎧ ⎫ ⎡
⎫
⎤⎧
y
1/N
0
0
⎨
⎨ A0 ⎬
⎬
2/N
0 ⎦ y cos(ω0 t)
A1 = ⎣ 0
⎩
⎩ ⎭
⎭
0
0
2/N
y sen (ω0 t)
B1
ou
A0 =
y
N
(19.14)
2
y cos(ω0 t)
N
2
B1 = y sen (ω0 t)
N
(19.15)
A1 =
EXEMPLO 19.1
(19.16)
Ajuste por Mínimos Quadrados de uma Curva Senoidal
Enunciado do Problema. A curva na Figura 19.3 é descrita por y = 1,7 + cos(4,189t
+ 1,0472). Gere 10 valores discretos para essa curva em intervalos de ⌬t = 0,15 para
uma variação de t = 0 a 1,35. Use essa informação para calcular os coeficientes da
Equação (19.11) por um ajuste por mínimos quadrados.
Solução. Os dados necessários para o cálculo dos coeficientes com ω = 4,189 são
t
y
y cos(ω
ω0t)
y sen(ω
ω0t)
0
0,15
0,30
0,45
0,60
0,75
0,90
1,05
1,20
1,35
2,200
1,595
1,031
0,722
0,786
1,200
1,805
2,369
2,678
2,614
2,200
1,291
0,319
−0,223
−0,636
−1,200
−1,460
−0,732
0,829
2,114
0,000
0,938
0,980
0,687
0,462
0,000
−1,061
−2,253
−2,547
−1,536
2,502
−4,330
冱=
17,000
Esses resultados podem ser usados para determinar [Equações (19.14) a (19.16)]
A0 =
17,000
= 1,7
10
A1 =
2
2,502 = 0,500
10
B1 =
2
(−4,330) = −0,866
10
Logo, o ajuste por mínimos quadrados é
y = 1,7 + 0,500 cos(ω0 t) − 0,866sen (ω0 t)
O modelo também pode ser expresso na forma da Equação (19.2) calculando-se
[Equação (19.8)]
−0,866
= 1,0472
θ = arctg −
0,500
e [Equação (19.9)]
C1 = (0,5)2 + (−0,866)2 = 1,00
APROXIMAÇÃO DE FOURIER
444
para obter
y = 1,7 + cos(ω0 t + 1,0472)
ou, alternativamente, como uma função seno usando-se a Equação (19.10)
y = 1,7 + sen (ω0 t + 2,618)
A análise anterior pode ser estendida ao modelo geral
f(t) = A0 + A1 cos(ω0 t) + B1 sen (ω0 t) + A2 cos(2ω0 t) + B2 sen (2ω0 t)
+ · · · + Am cos(mω0 t) + Bm sen (mω0 t)
onde, para dados igualmente espaçados, os coeficientes podem ser calculados por
y
N
⎫
2
A j = y cos( jω0 t)⎪
⎬
N
j = 1, 2, . . . , m
⎪
2
Bj = y sen (jω0 t)⎭
N
Embora essas relações possam ser usadas para ajustar dados no sentido de regressão
(isto é, N > 2m + 1), uma aplicação alternativa seria usá-las para interpolação ou colocação — ou seja, usá-las para o caso em que o número de incógnitas, 2m + 1, é igual ao
número de pontos dados, N. Essa é a abordagem utilizada na série de Fourier contínua,
como descrito a seguir.
A0 =
19.2
SÉRIE DE FOURIER NO CONTÍNUO
No decorrer do estudo de problemas de fluxo de calor, Fourier mostrou que uma função
periódica arbitrária pode ser representada por uma série infinita de funções senoidais com
freqüências harmonicamente relacionadas. Para uma função de período T, uma série de
Fourier no contínuo pode ser escrita1
f(t) = a0 + a1 cos(ω0 t) + b1 sen (ω0 t) + a2 cos(2ω0 t) + b2 sen (2ω0 t) + · · ·
ou, mais concisamente,
∞
[ak cos(kω0 t) + bk sen (kω0 t)]
f(t) = a0 +
(19.17)
k=1
onde ω0 = 2π/T é chamada freqüência fundamental e os seus múltiplos constantes 2ω0,
3ω0 etc. são chamados harmônicos. Logo, a Equação (19.17) expressa f (t) como uma
combinação linear das funções base: 1, cos(ω0t), sen(ω0t), cos(2ω0t), sen(2ω0t), . . . .
Como descrito no Quadro 19.1, os coeficientes da Equação (19.17) podem ser calculados por
2 T
ak =
f(t) cos(kω0 t) dt
(19.18)
T 0
e
bk =
2
T
0
T
f(t)sen (kω0 t) dt
para k = 1, 2, . . . e
1 T
a0 =
f(t) dt
T 0
1
(19.19)
(19.20)
A existência da série de Fourier é garantida nas condições de Dirichlet, as quais especificam que a função periódica tenha um número finito de máximos e de mínimos e que exista um número finito de descontinuidades do
tipo salto. Em geral, todas as funções periódicas que aparecem fisicamente satisfazem essas condições.
19.2 SÉRIE DE FOURIER NO CONTÍNUO
Determinação dos Coeficientes da Série de Fourier no Contínuo
Quadro 19.1
Como foi feito para os dados discretos da Seção 19.1.1, as seguintes relações podem ser estabelecidas:
T
sen (kω0 t) dt =
0
T
0
T
cos(kω0 t) dt = 0
0
(Q19.1.1)
cos(kω0 t)sen (gω0 t) dt = 0
(Q19.1.2)
sen (kω0 t)sen (gω0 t) dt = 0
(Q19.1.3)
cos(kω0 t) cos(gω0 t) dt = 0
(Q19.1.4)
T
0
T
0
T
2
sen (kω0 t) dt =
0
0
T
a qual pode ser resolvida por
T
f(t) dt
a0 = 0
T
Logo, a0 é simplesmente o valor médio da função sobre o período.
Para calcular um dos coeficientes do cosseno, por exemplo,
am, a Equação (19.17) pode ser multiplicada por cos(mω0 t) e integrada para fornecer
T
T
f(t) cos(mω0 t) dt =
a0 cos(mω0 t) dt
0
0
+
T
cos (kω0 t) dt =
2
2
0
(Q19.1.5)
+
0
Para calcular seus coeficientes, cada lado da Equação (19.17) pode
ser integrado para fornecer
T
f(t) dt =
0
0
T
a0 dt +
0
∞
T
[ak cos(kω0 t)
k=1
+ bk sen(kω0 t)] dt
Como todos os termos da somatória são da forma da Equação
(Q19.1.1), a equação se torna
445
T
f(t) dt = a0 T
∞
T
k=1
∞
T
ak cos(kω0 t) cos(mω0 t) dt
bk sen (kω0 t) cos(mω0 t) dt
(Q19.1.6)
k=1
Das Equações (Q19.1.1), (Q19.1.2) e (Q19.1.4), vemos que todos
os termos do lado direito são nulos, com exceção do caso k = m.
Esse último caso pode ser calculado pela Equação (Q19.1.5) e, portanto, a Equação (Q19.1.6) pode ser usada para determinar am, ou,
mais geralmente [Equação (19.18)],
2 T
ak =
f(t) cos(kω0 t) dt
T 0
para k = 1, 2, . . .
De modo análogo, a Equação (19.17) pode ser multiplicada por
sen(mω0 t), integrada e manipulada para fornecer a Equação (19.19).
0
EXEMPLO 19.2
Aproximação por Série de Fourier no Contínuo
Enunciado do Problema. Use a série de Fourier no contínuo para aproximar a função
de onda quadrada ou retangular (Figura 19.5)
−1
−T /2 < t < −T /4
f(t) =
1
−T /4 < t < T /4
−1
T /4 < t < T /2
Solução. Como a altura média da onda é zero, o valor de a0 = 0 pode ser obtido diretamente. Os coeficientes restantes podem ser calculados por [Equação (19.18)]
2 T /2
ak =
f(t) cos(kω0 t) dt
T −T /2
−T /4
T /2
T /4
2
−
cos(kω0 t) dt
cos(kω0 t) dt −
cos(kω0 t) dt +
=
T
T /4
−T /4
−T /2
As integrais podem ser calculadas, fornecendo
4/(kπ)
para k = 1, 5, 9, . . .
ak = −4/(kπ)
0
para k = 3, 7, 11, . . .
para k = inteiros pares
Analogamente, pode ser determinado que todos os b’s são nulos. Portanto, a aproximação
por série de Fourier é
f(t) =
4
4
4
4
cos(ω0 t) −
cos(3ω0 t) +
cos(5ω0 t) −
cos(7ω0 t) + · · ·
π
3π
5π
7π
446
APROXIMAÇÃO DE FOURIER
1
–T
FIGURA 19.5
Uma onda de forma quadrada
ou retangular de altura 2 e
período T = 2π/ω0.
– T/2
0
T/2
T
–1
FIGURA 19.6
A aproximação por série de
Fourier da onda quadrada da
Figura 19.5. A série de gráficos
mostra a somatória até, e
incluindo, o (a) primeiro, (b)
segundo e (c) terceiro termo.
Os termos individuais que foram
somados em cada estágio
também são mostrados.
⌺
4
cos (0t)
(a)
⌺
4
cos (30t)
3
(b)
⌺
4
cos (50t)
5
(c)
Os resultados até os três primeiros termos são mostrados na Figura 19.6.
Deve ser mencionado que a onda quadrada na Figura 19.5 é chamada uma função
par porque f(t) = f(−t). Outro exemplo de uma função par é cos(t). Pode ser
mostrado (Van Valkenburg, 1974) que os b’s em uma série de Fourier sempre são iguais
a zero para funções pares. Observe também que funções ímpares são aquelas para as
quais f (t) = −f (−t). A função sen(t) é uma função ímpar. Nesse caso, os a’s serão
iguais a zero.
19.3 DOMÍNIOS DE FREQÜÊNCIA E TEMPO
447
Além da forma trigonométrica da Equação (19.17), a série de Fourier pode ser
expressa em termos das funções exponenciais como (ver Quadro 19.2 e Apêndice A)
f(t) =
∞
c̃k eikω0 t
(19.21)
k=−∞
√
−1 e
1 T /2
c̃k =
f(t)e−ikω0 t dt
T −T /2
onde i =
(19.22)
Essa formulação alternativa terá utilidade em todo o restante do capítulo.
19.3
DOMÍNIOS DE FREQÜÊNCIA E TEMPO
Até este ponto, a discussão da aproximação de Fourier se limitou ao domínio do tempo.
Isso foi feito porque a maioria de nós fica bastante confortável idealizando o comportamento de uma função nessa dimensão. Embora não seja tão familiar, o domínio de freqüência fornece uma perspectiva alternativa para caracterizar o comportamento de
funções oscilantes.
Logo, do mesmo modo como a amplitude pode ser traçada em função do tempo,
também pode ser traçada em função da freqüência. Ambos os tipos de expressão estão
Quadro 19.2
Forma Complexa das Séries de Fourier
A forma trigonométrica da série de Fourier contínua é
∞
f(t) = a0 +
[ak cos(kω0 t) + bk sen(kω0 t)]
ou
(Q19.2.1)
f(t) =
k=1
Da identidade de Euler, o seno e o cosseno podem ser expressos na
forma exponencial como
sen x =
ei x − e−i x
2i
ix
cos x =
e +e
2
c̃k ei kω 0 t +
f(t) =
∞
c̃k ei k ω 0 t +
(Q19.2.3)
porque 1/i = −i. Pode-se definir as diversas constantes
c̃0 = a0
ak − ibk
c̃k =
2
a−k − ib−k
ak + ibk
=
c̃−k =
2
2
(Q19.2.5)
onde, por causa das propriedades ímpar e par do seno e do cosseno,
ak = a−k e bk = −b−k. A Equação (Q19.2.4) pode, portanto, ser reescrita como
∞
∞
f(t) = c̃0 +
c̃k ei kω 0 t +
c̃−k e−i k ω 0 t
k =1
−∞
c̃−k ei kω 0 t
k=− 1
k=0
(Q19.2.4)
c̃−k e−i k ω 0 t
Para simplificar ainda mais, em vez de somar a segunda série de 1
a ∞, faz-se a soma de –1 a −∞,
(Q19.2.2)
as quais podem ser substituídas na Equação (Q19.2.1) para
fornecer
∞
−i k ω 0 t ak + ibk
i k ω 0 t ak − ibk
f(t) = a0 +
e
+e
2
2
k =1
∞
k =1
k=0
−i x
k=1
∞
ou
f(t) =
∞
c̃k ei k ω 0 t
(Q19.2.6)
k =−∞
onde a soma inclui o termo k = 0.
Para calcular os c̃k ’s, as Equações (19.18) e (19.19) são substituídas na Equação (Q19.2.5) para fornecer
1 T /2
1 T /2
c̃k =
f(t) cos(kω0 t) dt − i
f(t)sen (kω0 t) dt
T −T /2
T −T /2
Usando as Equações (Q19.2.2) e (Q19.2.3) e simplificando,
obtém-se
1 T /2
c̃k =
f(t)e−i kω 0 t dt
(Q19.2.7)
T −T /2
Portanto, as Equações (Q19.2.6) e (Q19.2.7) são as versões complexas da Equações (19.17) a (19.20). Observe que o Apêndice A
inclui um resumo das relações entre todas as formas da série de
Fourier incluídas neste capítulo.
APROXIMAÇÃO DE FOURIER
descritos na Figura 19.7a, na qual foi desenhado um gráfico tridimensional da função
senoidal,
π
f(t) = C1 cos t +
2
Nesse gráfico, a amplitude da curva, f(t), é a variável dependente e o tempo t e a freqüência f = ω0 /2π são as variáveis independentes. Logo, os eixos da amplitude e do
tempo formam um plano temporal e a amplitude e a freqüência formam um plano de freqüências. A função senoidal pode, portanto, ser concebida como existindo a uma distância 1/T ao longo do eixo de freqüência e correndo paralela ao eixo do tempo. Conseqüentemente, quando falamos sobre o comportamento de uma função senoidal no
domínio do tempo, queremos dizer a projeção da curva sobre o plano temporal (Figura
19.7b). Analogamente, o comportamento no domínio da freqüência é simplesmente a projeção no plano da freqüência.
Como na Figura 19.7c, essa projeção é uma medida da amplitude positiva máxima
da função senoidal C1. A variação total pico a pico é desnecessária por causa da simetria.
Juntamente com a posição 1/T ao longo do eixo de freqüência, a Figura 19.7c agora define a amplitude e a freqüência da função senoidal. Isso é informação suficiente para reproduzir a forma da curva no domínio do tempo. Contudo, um parâmetro a mais, ou seja,
o ângulo de fase, é necessário para posicionar a curva em relação a t = 0. Conseqüentemente, um diagrama de fase, como o mostrado na Figura 19.7d, também deve ser incluído. O ângulo de fase é determinado como a distância (em radianos) do zero ao ponto
no qual um pico positivo ocorre. Se o pico ocorrer depois do zero, ele é dito atrasado
FIGURA 19.7
(a) Uma descrição de como uma função senoidal pode ser retratada nos domínios do tempo e
da freqüência. A projeção temporal é reproduzida em (b), enquanto que a projeção na
amplitude-freqüência é reproduzida em (c). A projeção fase-freqüência é mostrada em (d).
f (t)
T
(b)
C1
t
f (t)
Tempo
/T
1/
(a)
üência
eq
Fr
t
Fase
f
Amplitude
448
C1
0
0
1/T
f
0
1/T
–
(c)
(d )
f
19.3 DOMÍNIOS DE FREQÜÊNCIA E TEMPO
449
(lembre-se da discussão de retardamentos ou de avanço na Seção 19.1) e, por convenção,
o ângulo de fase é dado com um sinal negativo. Reciprocamente, um pico antes do zero é
dito avançado e o ângulo de fase é positivo. Logo, para a Figura 19.7, o pico está
avançado com relação a zero e o ângulo de fase é marcado como +π/2. A Figura 19.8
descreve algumas outras possibilidades.
Pode-se ver agora que as Figuras 19.7c e d fornecem uma forma alternativa de apresentar ou resumir as características pertinentes da curva senoidal da Figura 19.7a. Elas
são chamadas de linha espectral. É claro que, para uma única função senoidal, elas não são
muito interessantes. Entretanto, quando aplicadas a situações mais complicadas, como
uma série de Fourier, seus verdadeiros poder e valor são revelados. Por exemplo, a Figura
19.9 mostra as linhas espectrais de amplitude e de fase para a função onda quadrada do
Exemplo 19.2.
Tais espectros fornecem informações que não seriam aparentes a partir do domínio do tempo. Isso pode ser visto comparando-se as Figuras 19.6 e 19.9. A Figura 19.6
apresenta duas perspectivas alternativas do domínio do tempo. A primeira, a onda
quadrada original, não diz nada sobre as curvas senoidais que a compõem. A alternativa é mostrar essas funções senoidais — isto é, (4/π) cos(ω0t), −(4/3π) cos(3ω0t),
(4/5π) cos(5ω0t) etc. Tal alternativa não fornece uma visualização adequada da estrutura desses harmônicos. Em contraste, as Figuras 19.9a e b fornecem uma descrição
gráfica dessa estrutura. Como tal, a linha espectral representa “impressões digitais”
que ajudam a caracterizar e a entender uma forma de onda complicada. Elas são particularmente valiosas nos casos não idealizados, em que, algumas vezes, permitem
discernir a estrutura em sinais que de outra forma seriam obscuros. Na próxima seção,
será descrita a transformada de Fourier que permitirá estender tais análises a ondas
com forma não-periódica.
FIGURA 19.8
Várias fases de uma função senoidal mostrando as linhas espectrais de fase associadas.
–
–
–
–
–
APROXIMAÇÃO DE FOURIER
450
4/
2/
f0
3f0
5f0
7f0
f
f0
3f0
5f0
7f0
f
(a)
/2
– /2
–
(b)
FIGURA 19.9
Linhas espectrais de (a) amplitude e (b) fase para a onda quadrada da Figura 19.5.
19.4
INTEGRAL E TRANSFORMADA DE FOURIER
Embora a série de Fourier seja uma ferramenta útil na investigação do espectro de uma
função periódica, há muitas onda que não se repetem regularmente. Por exemplo, um relâmpago ocorre apenas uma vez (ou, pelo menos, passará um longo tempo antes que ocorra novamente), mas causará interferência nos receptores operando em uma larga escala de freqüências — como TVs, rádios e receptores de onda curta. Tal evidência sugere que um sinal
não-recorrente como o produzido por um relâmpago exibe um espectro de freqüência contínuo. Como tais fenômenos são de grande interesse para os engenheiros, uma alternativa
para a série de Fourier seria valiosa para analisar essas ondas não-periódicas.
A integral de Fourier é a ferramenta principal disponível para tal propósito. Ela pode
ser deduzida da forma exponencial da série de Fourier
∞
f(t) =
c̃k eikω 0 t
(19.23)
k=−∞
onde
1
c̃k =
T
T /2
f(t)e−ikω 0 t dt
(19.24)
−T /2
onde ω0 = 2π/T e k = 0, 1, 2, . . .
A transição de uma função periódica para uma função não-periódica pode ser feita
permitindo-se que o período tenda a infinito. Em outras palavras, quando T se torna infinito, a função nunca se repete, e, assim, torna-se não periódica. Se for permitido que isso
ocorra, pode ser demonstrado (por exemplo, Van Valkenburg, 1974; Hayt e Kemmerly,1986) que a série de Fourier se reduz a
∞
1
F(iω0 )eiω 0 t dω0
f(t) =
(19.25)
2π −∞
e os coeficientes se tornam uma função no contínuo da variável freqüência ω, como em
∞
f(t)e−iω0 t dt
F(iω0 ) =
(19.26)
−∞
19.4 INTEGRAL E TRANSFORMADA DE FOURIER
451
A função F(iω0), como definida pela Equação (19.26), é chamada integral de
Fourier de f (t). Além disso, as Equações (19.25) e (19.26) são conhecidas coletivamente
como par da transformada de Fourier. Logo, além de ser chamada de integral de Fourier,
F(iω0) também é chamada de transformada de Fourier de f (t). No mesmo espírito, f (t),
como definida pela Equação (19.25), é conhecida como a transformada de Fourier
inversa de F(iω0). Então, o par permite transformar para a frente e para trás entre os
domínios de tempo e freqüência para um sinal não-periódico.
A distinção entre a série e a transformada de Fourier deveria agora estar bem clara.
A principal diferença é que cada uma se aplica a uma classe diferente de funções — a
série, a formas de ondas periódicas, e a transformada, a formas não-periódicas. Além
dessa diferença principal, as duas abordagens diferem na forma como se movem entre os
domínios de tempo e de freqüência. A série de Fourier converte uma função definida no
contínuo, periódica no domínio do tempo, para amplitudes no domínio de freqüência, em
freqüências discretas. Em contraste, a transformada de Fourier converte uma função no
contínuo no domínio do tempo em uma função no contínuo no domínio da freqüência.
Assim, o espectro de freqüência discreto gerado pela série de Fourier é análogo ao espectro de freqüência contínuo gerado pela transformada de Fourier.
O deslocamento de um espectro discreto para um espectro contínuo pode ser
ilustrado graficamente. Na Figura 19.10a, vê-se um trem de pulso de ondas retangulares,
com larguras do pulso iguais à metade do período junto com seu espectro discreto associado. Essa é a mesma função que foi investigada anteriormente no Exemplo 9.2, com a
exceção de que ela foi deslocada verticalmente.
Na Figura 19.10b, o fato de se dobrar o período do trem de pulso tem dois efeitos no
espectro. Primeiro, duas linhas a mais de freqüência são adicionadas de cada lado das
componentes originais. Segundo, a amplitude das componentes é reduzida.
Conforme se permita que o período tenda a infinito, esses efeitos continuam, enquanto mais e mais linhas espectrais são agrupadas até que o espaçamento entre as linhas
vai a zero. No limite, a série converge para a integral de Fourier no contínuo, descrita na
Figura 19.10c.
FIGURA 19.10
Ilustração de como o espectro de freqüência discreta de uma série de Fourier para um trem de
pulso (a) se aproxima de um espectro de freqüência no contínuo de uma integral de Fourier (c)
quando for permitido que o período tenda a infinito.
(a)
0
t
f
t
f
⌬t
T
(b)
0
T
(c)
⌬t
0
T
t
⬁
f
APROXIMAÇÃO DE FOURIER
452
Agora que foi introduzida uma forma de analisar um sinal não-periódico, vai ser
dado o passo final em nossa dedução. Na próxima seção, será reconhecido o fato de que
um sinal é raramente caracterizado como uma função definida no contínuo do tipo
necessário para implementar a Equação (19.26). Em vez disso, os dados estão invariavelmente na forma discreta. Assim, agora vai ser mostrado como calcular uma transformada
de Fourier para tais medidas discretas.
19.5
TRANSFORMADA DE FOURIER DISCRETA (TFD)
Em engenharia, as funções são, em geral, representadas por conjuntos finitos de valores
discretos. Além disso, em geral, os dados são coletados ou convertidos para tal forma
discreta. Como descrito na Figura 19.11, um intervalo de 0 a t pode ser dividido em N
subintervalos com largura t = T/N. O subscrito n é usado para designar os instantes discretos nos quais as medidas foram tomadas. Logo, fn designa o valor da função definida
no contínuo f (t) no instante tn.
Observe que os pontos dados estão especificados em n = 0, 1, 2, . . . , N − 1. Não
está incluído um valor em n = N. (Ver Ramirez, 1985, para as razões para a exclusão
de f N.)
Para o sistema na Figura 19.11, uma transformada de Fourier discreta pode ser
escrita como
Fk =
N −1
f n e−ikω0 n
para k = 0 a N − 1
n=0
(19.27)
e a transformada inversa de Fourier como
fn =
N −1
1
Fk eikω0 n
N k=0
para n = 0 a N − 1
(19.28)
onde ω0 = 2π/N.
As Equações (19.27) e (19.28) representam o análogo discreto das Equações (19.26)
e (19.25), respectivamente. Como tal, elas podem ser usadas para calcular tanto a transformada de Fourier direta quanto a inversa para dados discretos. Embora esses cálculos
possam ser feitos à mão, são extremamente árduos. Como expresso pela Equação (19.27),
a TFD requer N 2 operações complexas. Então, será desenvolvido um algoritmo computacional para implementar a TFD.
FIGURA 19.11
Os pontos amostrais na série de Fourier discreta.
f (t)
f2
f3
f1
f0
fn – 1
0
t1
t2
tn – 1
tn = T
t
19.5 TRANSFORMADA DE FOURIER DISCRETA (TFD)
453
Algoritmo Computacional para a TFD. Observe que o fator 1/N na Equação (19.28) é
simplesmente um fator de escala que pode ser incluído tanto na Equação (19.27) quanto
na Equação (19.28), mas não em ambas. Para o nosso algoritmo computacional, vamos
mudá-lo para a Equação (19.27), de modo que o primeiro coeficiente F0 (o qual é o análogo do coeficiente a0) seja igual à média aritmética das amostras. Além disso, para desenvolver um algoritmo que possa ser implementado em linguagens que não aceitem
variáveis complexas, podemos usar a identidade de Euler,
e±ia = cos a ± i sen a
para reescrever as Equações (19.27) e (19.28) como
Fk =
e
fn =
N
1
[ f n cos(kω0 n) − i f n sen(kω0 n)]
N n=0
N −1
k=0
(19.29)
[Fk cos(kω0 n) + iFk sen(kω0 n)]
(19.30)
O pseudocódigo para implementar a Equação (19.19) está listado na Figura 19.12.
Esse algoritmo pode ser desenvolvido em um programa de computador para calcular a TFD.
A saída de tal programa está listada na Figura 19.13 para a análise de uma função cosseno.
FIGURA 19.12
Pseudocódigo para calcular a TFD.
DOFOR k ⫽ 0, N ⫺ 1
DOFOR n ⫽ 0, N ⫺ 1
angulo ⫽ kω0n
realk ⫽ realk ⫹fn cos(angle)/N
imagináriok ⫽ imagináriok ⫺ fn sin(angulo)/N
END DO
END DO
FIGURA 19.13
Saída de um programa baseado no algoritmo da Figura 19.12 para a TFD de dados
gerados por uma função cosseno f(t) = cos[2π(12,5)t] em 16 pontos com t = 0,01 s.
ÍNDICE
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
f(t)
1,000
0,707
0,000
–0,707
–1,000
–0,707
0,000
0,707
1,000
0,707
0,000
–0,707
–1,000
–0,707
0,000
0,707
REAL
0,000
0,000
0,500
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,500
0,000
IMAGINARIO
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
APROXIMAÇÃO DE FOURIER
19.6
TRANSFORMADA RÁPIDA DE FOURIER (FFT)
Embora o algoritmo descrito na seção anterior calcule adequadamente a TFD, ele é computacionalmente pesado, pois são necessárias N2 operações. Conseqüentemente, para
amostra de dados mesmo de tamanho moderado, a determinação direta da TFD pode gastar muito tempo.
A transformada rápida de Fourier, ou FFT, é um algoritmo que foi desenvolvido
para calcular a TFD de uma forma extremamente econômica. Sua velocidade vem do fato
de que ela utiliza os resultados dos cálculos anteriores para reduzir o número de operações. Em particular, ela explora a periodicidade e a simetria das funções trigonométricas para calcular a transformada com aproximadamente N log2 N operações (Figura
19.14). Logo, para N = 50 amostras, a FFT é da ordem de 10 vezes mais rápida do que a
TFD padrão. Para N = 1.1000, é cerca de 100 vezes mais rápida.
O primeiro algoritmo do tipo FFT foi desenvolvido por Gauss no início do século
XIX (Heideman et al., 1984). Outras importantes contribuições foram feitas por Runge,
Danielson, Lanczos e outros no início do século XX. No entanto, como a transformada
discreta em geral levava várias semanas para ser calculada à mão, não atraiu um vasto interesse antes do desenvolvimento do computador digital moderno.
Em 1965, J. W. Cooley e J. W. Tukey publicaram um artigo chave no qual esboçaram
um algoritmo para calcular a FFT. Esse esquema, que é parecido com aqueles de Gauss e
outros investigadores, é chamado de algoritmo de Cooley-Tukey. Hoje em dia, há muitas
outras abordagens que são desdobramentos desse método.
A idéia básica por trás de cada um desses algoritmos é que uma TFD de comprimento N é decomposta ou “dizimada” em TFDs sucessivamente menores. Existe uma variedade de maneiras diferentes de implementar esse princípio. Por exemplo, o algoritmo
de Cooley-Tukey é um membro do que é chamado de técnicas de dizimação no tempo. Na
seção presente, será descrita uma abordagem alternativa chamada de algoritmo de SandeTukey, método que é um membro de outra classe de algoritmos chamados de técnicas de
dizimação na freqüência. A distinção entre as duas classes será estudada depois de discutido o método.
FIGURA 19.14
Gráfico do número de operações em função do tamanho da amostra para a TFD
padrão e para a FFT.
2.000
TFD (ⵒN 2)
Operações
454
1.000
FF T (
og 2
ⵒN l
0
40
Amostras
N)
19.6 TRANSFORMADA RÁPIDA DE FOURIER (FFT)
455
19.6.1 Algoritmo de Sande-Tukey
No caso presente, será suposto que N é uma potência inteira de 2,
N = 2M
(19.31)
onde M é um inteiro. Essa restrição é introduzida para simplificar o algoritmo resultante.
Agora, lembre-se de que a TFD pode ser representada, em geral, por
Fk =
N −1
f n e−i(2π/N )nk
n=0
para k = 0 a N − 1
(19.32)
onde 2π/N = ω0. A Equação (19.32) pode também ser representada por
Fk =
N −1
f n W nk
n=0
onde W é uma função-peso com valores complexos definida por
W = e−i(2π/N )
(19.33)
Suponha agora que a amostra seja dividida na metade e que a Equação (19.32) seja
expressa em termos dos primeiros e dos últimos N/2 pontos:
(N/2)−1
f n e−i(2π/N )kn +
Fk =
(N
/2)−1
f n e−i(2π/N )kn +
Fk =
(N
/2)−1
Fk =
n=0
N −1
f n e−i(2π/N )kn
n=N /2
onde k = 0, 1, 2, . . . , N − 1. Uma nova variável, m = n − N/2, pode ser criada de modo
que a variação na segunda somatória seja consistente com a variação na primeira,
ou
n=0
n=0
(N
/2)−1
f m+N/2 e−i(2π/N )k(m+N /2)
m=0
( f n + e−iπk f n+N/2 )e−i2πkn/N
(19.34)
A seguir, perceba que o fator e−iπk = (−1)k. Logo, para pontos pares, ele é igual a 1,
e para pontos ímpares, é igual a −1. Portanto, o próximo passo no método é separar a
Equação (19.34) de acordo com valores pares e ímpares de k. Para os valores pares,
F2k =
(N
/2)−1
( f n + f n+N /2 )e−i2π(2k)n/N =
n=0
e para os valores ímpares,
F2k+1 =
=
(N/2)−1
n=0
(N/2)−1
n=0
(N/2)−1
n=0
( f n + f n+N/2 )e−i2πkn/(N/2)
( f n − f n+N /2 )e−i2π(2k+1)n/N
( f n − f n+N /2 )e−i2πn/N e−i2πkn/(N /2)
para k = 0, 1, 2, . . . , (N/2) − 1.
Essas equações também podem ser expressas em termos da Equação (19.33). Para os
valores pares,
F2k =
(N
/2)−1
n=0
( f n + f n+N/2 )W 2kn
e para os valores ímpares,
F2k+1 =
(N/2)−1
n=0
( f n − f n+N /2 )W n W 2kn
456
APROXIMAÇÃO DE FOURIER
Agora, pode-se perceber um fato chave. Essas expressões pares e ímpares podem ser
interpretadas como sendo iguais às transformadas das seqüências de comprimento (N/2)
e
(19.35)
gn = f n + f n+N /2
h n = ( f n − f n+N/2 )W n
para n = 0, 1, 2, . . . , (N/2) − 1
(19.36)
Logo, segue diretamente que
F2k = G k
para k = 0, 1, 2, . . . , (N/2) − 1
F2k+1 = Hk
Em outras palavras, um cálculo com N pontos pode ser substituído por dois cálculos
com (N/2) pontos. Como cada um dos últimos exige aproximadamente (N/2)2 multiplicações e adições complexas, a abordagem produz uma economia de um fator 2 — isto é,
N2 versus 2(N/2)2 = N 2/2.
O esquema é descrito na Figura 19.15 para N = 8. A TFD é calculada formando-se
inicialmente as seqüências g n e hn e então calculando-se as TFDs para N/2 pontos para se
obter as transformadas com numeração par e ímpar. Os pesos Wn são, algumas vezes,
chamados de twiddle factors.
Agora, é claro que essa abordagem “divida e conquiste” pode ser repetida no segundo estágio. Assim, pode-se calcular as TFDs para (N/4) pontos das quatro seqüências
de comprimento N/4 compostas dos primeiros e dos últimos N/4 pontos das Equações
(19.35) e (19.36).
A estratégia é continuar até a conclusão inevitável, quando serão calculadas N/2
TFD de dois pontos (Figura 19.16). O número total de operações para o cálculo total é da
ordem de N log2 N. O contraste entre esse nível de esforço e aquele da TFD padrão
(Figura 19.14) ilustra por que a FFT é tão importante.
Algoritmo Computacional. É uma tarefa relativamente simples expressar a Figura 19.16
como um algoritmo. Como aconteceu no caso do algoritmo para a TFD da Figura 19.12,
será usada a identidade de Euler,
e±ia = cos a ± i sen a
para permitir que o algoritmo seja implementado em linguagens que não acomodem
explicitamente variáveis complexas.
FIGURA 19.15
Fluxograma do primeiro estágio em uma decomposição do tipo dizimação em freqüência de
uma TFD de N pontos em duas TFDs de (N/2) pontos para N = 8.
f (0)
+
g(0)
f (1)
+
+
g(1)
f (2)
+
+
g(2)
f (3)
+
+
g(3)
F(6)
F(0)
F(2)
TFD de (N/2)
pontos
F(4)
f (4)
+
+ W0
h(0)
F(1)
f (5)
–
+ W1
h(1)
F(3)
f (6)
–
+ W2
h(2)
f (7)
–
+ W3
h(3)
–
TFD de (N/2)
pontos
F(5)
F(7)
19.6 TRANSFORMADA RÁPIDA DE FOURIER (FFT)
457
Uma inspeção mais detalhada da Figura 19.16 indica que sua célula computacional
fundamental é a assim chamada rede de borboleta descrita na Figura 19.17a. O
pseudocódigo para implementar uma dessas células é mostrado na Figura 19.17b.
O pseudocódigo para a FFT está listado na Figura 19.18. A primeira parte consiste
essencialmente em três laços encaixados para implementar os cálculos incorporados na
Figura 19.16. Observe que os dados com valores reais são originalmente armazenados no
vetor x. Observe também que o laço externo percorre os M estágios [lembre-se da
Equação (19.31)] do fluxograma.
Depois que a primeira parte for executada, a TFD terá sido calculada em uma
ordem embaralhada (ver lado direito da Figura 19.16). Esses coeficientes de Fourier
podem ser desembaralhados por um procedimento chamado inversão de bits. Se os
subscritos de 0 a 7 forem expressos em binários, a ordenação correta pode ser obtida invertendo-se esses bits (Figura 19.19). A segunda parte do algoritmo implementa esse
procedimento.
FIGURA 19.16
Fluxograma da decomposição completa do tipo dizimação em freqüência de uma TFD
de oito pontos.
f(0)
+
+
+
F (0)
f(1)
+
+
+
+
+
+ W0
F (4)
f(2)
+
+
+
+ W0
f(3)
+
+
–
+ W2
+
+ W0
F (6)
–
+
F (2)
f(4)
+
+ W0
–
+
–
+
F (1)
f(5)
–
+ W1
+
+
+
+ W0
F (5)
f(6)
–
+ W2
+
+ W0
–
+
F (3)
f(7)
–
+ W3
–
+ W2
+
+ W0
F (7)
–
–
–
+
f(0)
+
F(0)
+
f(1)
–
(a)
F(1)
temporário
real (1)
real (0)
temporário
imaginário (1)
imaginário (0)
= real (0) + real (1)
= real (0) – real (1)
= temporário
= imaginário (0) + imaginário (1)
= imaginário (0) – imaginário (1)
= temporário
(b)
FIGURA 19.17
(a) Uma rede de borboleta que representa o cálculo fundamental da Figura 19.16.
(b) Pseudocódigo para implementar (a).
458
APROXIMAÇÃO DE FOURIER
(a)
(b)
m ⫽ LOG(N)/LOG(2)
N2 ⫽ N
DOFOR k ⫽ 1, m
N1 ⫽ N2
N2 ⫽ N2/2
angulo ⫽ 0
arg ⫽ 2π/N1
DOFOR j ⫽ 0, N2 ⫺ 1
c ⫽ cos(angle)
s ⫽ ⫺sin(angulo)
DOFOR i ⫽ j, N ⫺ 1, N1
kk ⫽ i ⫹ N2
xt ⫽ x(i) ⫺ x(kk)
x(i) ⫽ x(i) ⫹ x(kk)
yt ⫽ y(i) ⫺ y(kk)
y(i) ⫽ y(i) ⫹ y(kk)
x(kk) ⫽ xt * c ⫺ yt * s
y(kk) ⫽ yt * c ⫹ xt * s
END DO
angulo ⫽ (j ⫹ 1) * arg
END DO
END DO
j ⫽0
DOFOR i ⫽ 0, N ⫺ 2
IF (i ⬍ J) THEN
xt ⫽ xj
xj ⫽ xi
xi ⫽ xt
yt ⫽ yj
yj ⫽ yi
yi ⫽ yt
END IF
k ⫽ N/2
DO
IF (k ⱖ j ⫹ 1) EXIT
j ⫽ j ⫺k
k ⫽ k/2
END DO
j ⫽j ⫹k
END DO
DOFOR i ⫽ 0, N ⫺ 1
x(i) ⫽ x(i)/N
y(i) ⫽ y(i)/N
END DO
FIGURA 19.18
Pseudocódigo para implementar uma FFT por dizimação em freqüência. Observe que o
pseudocódigo é composto de duas partes: (a) a própria FFT e (b) uma rotina de inversão de
bits para desembaralhar a ordem dos coeficientes de Fourier resultantes.
Ordem
Embaralhada
(Decimal)
Ordem
Embaralhada
(Binário)
Ordem com
Bits Invertidos
(Binário)
Resultado
Final
(Decimal)
F(0)
F(4)
F(2)
F(6)
F(1)
F(5)
F(3)
F(7)
F(000)
F(100)
F(010)
F(110)
F(001)
F(101)
F(011)
F(111)
F(000)
F(001)
F(010)
F(011)
F(100)
F(101)
F(110)
F(111)
F(0)
F(1)
F(2)
F(3)
F(4)
F(5)
F(6)
F(7)
⇒
⇒
⇒
FIGURA 19.19
Descrição do processo de inversão dos bits.
19.6.2 Algoritmo de Cooley-Tukey
A Figura 19.20 mostra um fluxograma para implementar o algoritmo de Cooley-Tukey.
Nesse caso, a amostra é inicialmente dividida em pontos com numeração par e ímpar, e
os resultados finais estão na ordem correta.
Essa abordagem é chamada de dizimação no tempo e é o inverso do algoritmo de
Sande-Tukey descrito na seção anterior. Embora as duas classes de métodos sejam diferentes na organização, ambas exibem N log2 N operações, as quais são o ponto forte da
abordagem FFT.
19.7 O ESPECTRO DE POTÊNCIA
459
f (0)
f (4)
F (0)
F (1)
W0
f (2)
f (6)
W0
W0
F (2)
W2
F (3)
W0
F (4)
W1
F (5)
W0
W2
F (6)
W2
W3
F (7)
f (1)
f (5)
W0
f (3)
f (7)
W0
FIGURA 19.20
Fluxograma de uma FFT por dizimação no tempo de uma TFD de oito pontos.
19.7
O ESPECTRO DE POTÊNCIA
A FFT tem muitas aplicações na engenharia, variando da análise de vibrações de estruturas e mecanismos a processamento de sinais. Como descrito anteriormente, os espectros
de amplitude e fase fornecem um meio de discernir a estrutura subjacente de sinais
aparentemente aleatórios. Analogamente, uma análise útil chamada de espectro de potência pode ser desenvolvida a partir da transformada de Fourier.
Como o nome indica, o espectro de potência deriva da análise da saída de potência
de sistemas elétricos. Em termos matemáticos, a potência de um sinal periódico no
domínio do tempo pode ser definida por
1 T /2 2
P=
f (t) dt
(19.37)
T −T /2
Agora, uma outra forma de olhar para essa informação é expressá-la no domínio da freqüência calculando a potência associada a cada componente da freqüência. Essa informação pode então ser exibida como um espectro de potência, um gráfico da potência em
função da freqüência.
Se a série de Fourier para f (t) for
f(t) =
∞
Fk eikω0 t
(19.38)
k=−∞
vale a seguinte relação (ver Gabel e Roberts, 1987, para detalhes):
∞
1 T /2 2
|Fk |2
f (t) dt =
T −T /2
k=−∞
(19.39)
Logo, a potência em f (t) pode ser determinada somando-se os quadrados dos coeficientes
de Fourier, ou seja, as potências associadas às componentes de freqüências individuais.
Agora, lembre-se de que, nessa representação, o único harmônico real consiste em
ambas as componentes de freqüência em ±kω0. Sabemos também que os coeficientes
positivo e negativo são iguais. Portanto, a potência em f k(t), o k-ésimo harmônico real de
f (t), é
pk = 2 |Fk |2
(19.40)
APROXIMAÇÃO DE FOURIER
460
O espectro de potência é o gráfico de pk como uma função da freqüência kω0. Dedicaremos a Seção 20.3 a uma aplicação em engenharia envolvendo a FFT e o espectro de
potência gerado com pacotes de software.
Informação Adicional. A discussão anterior foi uma breve introdução à aproximação de
Fourier e à FFT. Informações adicionais sobre a primeira podem ser encontradas em Van
Valkenburg (1974), Chirlian (1969), e Hayt e Kemmerly (1986). Referências sobre a FFT
incluem Davis e Rabinowitz (1975); Cooley, Lewis e Welch (1977); e Brigham (1974).
Uma boa introdução a ambas pode ser encontrada em Ramirez (1985), Oppenheim e
Schafer (1975), e Gabel e Roberts (1987).
19.8
AJUSTE DE CURVAS COM BIBLIOTECAS E PACOTES
SOFTWARE
As bibliotecas e os pacotes de software têm grandes recursos para o ajuste de curvas.
Nesta seção, será dada uma pequena amostra dos mais úteis.
19.8.1 Excel
No presente contexto, a aplicação mais útil do Excel é para a análise de regressão e, em
uma extensão menor, para a interpolação polinomial. Além de umas poucas funções de
biblioteca (ver Tabela 19.1), há duas formas primárias pelas quais esses recursos podem
ser implementados: o comando Trendline e o Data Analysis Toolpack (pacote de ferramentas para análise de dados).
O Comando Trendline (Menu Insert). Esse comando permite que diversos modelos de
tendência diferentes sejam adicionados a um gráfico. Os modelos incluem ajustes linear,
polinomial, logarítmico, exponencial, por potência e por média móvel. Os seguintes
exemplos ilustram como o comando Trendline é usado.
TABELA 19.1 Funções de biblioteca do Excel relacionadas ao ajuste de dados por
regressão.
EXEMPLO 19.3
Função
Descrição
FORECAST
GROWTH
INTERCEPT
LINEST
LOGEST
SLOPE
TREND
Retorna
Retorna
Retorna
Retorna
Retorna
Retorna
Retorna
um valor em uma tendência linear
valores em uma tendência exponencial
a intersecção com o eixo y da reta de regressão linear
os parâmetros de uma tendência linear
os parâmetros de uma tendência exponencial
a inclinação da reta de regressão linear
valores em uma tendência linear
Usando o Comando Trendline do Excel
Enunciado do Problema. Você pode ter observado que diversos dos ajustes disponíveis
no Trendline foram discutidos anteriormente no Capítulo 17 (por exemplo, linear, polinomial, exponencial e por potência). Um recurso adicional é o modelo logarítmico
y = a0 + a1 log x
Ajuste os seguintes dados com esse modelo usando o comando Trendline do Excel:
x
0,5
1
1,5
2
2,5
3
3,5
4
4.5
5
5,5
y
0,53
0,69
1,5
1,5
2
2,06
2,28
2,23
2,73
2,42
2,79
Solução. Para chamar o comando Trendline, deve ser criado um gráfico relacionando
uma série de variáveis dependentes e independentes. Para o caso presente, usamos a ferramenta Chart Wizard do Excel para criar um gráfico dos dados no plano XY.
19.8 AJUSTE DE CURVAS COM BIBLIOTECAS E PACOTES
461
y 3
2
y = 0,9846 Ln (x) + 1,0004
r 2 = 0,9444
1
0
0
2
4
6
x
FIGURA 19.21
Ajuste de um modelo logarítmico aos dados do Exemplo 19.3.
A seguir, pode-se escolher o gráfico (clicando duas vezes sobre ele) e a série (posicionando o cursor do mouse sobre um dos valores e clicando uma vez). Os comandos Insert e Trendline são então chamados com o mouse ou digitando
/ Insert Trendline
Nesse ponto, uma janela de diálogo se abrirá com duas etiquetas: Options e Type. A
etiqueta Options fornece uma forma de adaptar o ajuste ao gosto do usuário. O mais importante no contexto presente é exibir tanto a equação quanto o valor do coeficiente de determinação (r 2) no gráfico. A principal escolha na etiqueta Type é especificar o tipo de
tendência. No caso presente, escolha Logarithmic. O ajuste resultante junto com r 2 está
mostrado na Figura 19.21.
O comando Trendline fornece uma maneira prática de ajustar diversos modelos comumente usados aos dados. Além disso, a inclusão da opção Polinomial significa que ele
também pode ser usado para interpolação polinomial. Entretanto, o fato de seu conteúdo
estatístico ser limitado a r 2 significa que ele não permite que sejam feitas inferências estatísticas com relação ao ajuste do modelo. O Data Analysis Toolpack descrito a seguir
fornece uma boa alternativa quando tais inferências forem necessárias.
O Data Analysis Toolpack. Esse Excel Add-In Package contém recursos abrangentes
para o ajuste de curvas com o método dos mínimos quadrados linear geral. Como descrito
anteriormente na Seção 17.4, tais modelos são da forma geral
(17.23)
y = a0 z 0 + a1 z 1 + a2 z 2 + · · · + am z m + e
onde z0, z1, . . . , zm são m + 1 funções diferentes. O próximo exemplo ilustra como esses
modelos podem ser ajustados com o Excel.
EXEMPLO 19.4
Usando o Data Analysis Toolpack do Excel
Enunciado do Problema. Os seguintes dados foram coletados para a inclinação, o raio
hidráulico e a velocidade da água escoando em um canal:
S, m/m
0,0002
R, m
U, m/s
0,0002
0,0005
0,0005
0,001
0,001
0,2
0,5
0,2
0,5
0,2
0,5
0,25
0,5
0,4
0,75
0,5
1
Há razões teóricas (lembre-se da Seção 8.2) para acreditar que esses dados possam ser
ajustados por um modelo de potência da forma
U = αS σ R ρ
onde α, σ e ρ são coeficientes obtidos empiricamente. Há razões teóricas (novamente, ver
Seção 8.2) para acreditar que σ e ρ deveriam ter valores de aproximadamente 0,5 e 0,667,
respectivamente. Ajuste esses dados com o Excel e avalie se sua estimativa de regressão
contradiz os valores esperados para os coeficientes do modelo.
SOFTWARE
462
APROXIMAÇÃO DE FOURIER
Solução. O logaritmo do modelo de potência é usado primeiro para convertê-lo para
uma forma linear da Equação (17.23),
U = log α + σ log S + ρ log R
Uma planilha em Excel pode ser desenvolvida com ambos os dados originais junto com
os logaritmos comuns, como na seguinte:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Como mostrado, uma forma eficiente de gerar o logaritmo é digitar a fórmula para calcular o primeiro log(S). Essa fórmula pode ser copiada à direita e para baixo para gerar os
outros logaritmos.
Por causa de sua situação como “add-in” (programa de assistência) na versão do
Excel disponível no momento da impressão do livro, o Data Analysis Toolpack às vezes
precisa ser carregado no Excel. Para fazer isso, simplesmente use o mouse ou digite
/Tools Add-Ins
A seguir, escolha Analysis Toolpack e OK. Se o “add-in” tiver sucesso, a escolha Data
Analysis será adicionada ao menu Tools.
Depois de escolher Data Analysis do menu Tools, um menu Data Analysis aparecerá
na tela contendo um grande número de rotinas estatisticamente orientadas. Escolha Regression e uma janela de diálogo aparecerá, pedindo a você informações sobre a regressão. Depois de se certificar de que a escolha padrão New Worksheet Ply foi escolhida, preencha F2:F7 com o intervalo para y e D2:E7 com o intervalo para x e selecione
OK. A seguinte planilha será criada:
Logo, o ajuste resultante será
log U = 1,522 + 0,433 log S + 0,733 log R
ou, calculando a exponencial na base 10,
19.8 AJUSTE DE CURVAS COM BIBLIOTECAS E PACOTES
463
U = 33,3S 0,433 R 0,733
Observe que intervalos de confiança de 95% serão gerados para os coeficientes.
Então, há uma probabilidade de 95% de que o expoente da inclinação verdadeira caia
entre 0,363 e 0,504 e que o coeficiente do raio hidráulico verdadeiro caia entre 0,631 e
0,835. Logo, o ajuste não contradiz os expoentes teóricos.
Finalmente, deve ser observado que a ferramenta Excel Solver pode ser usada para
fazer uma regressão não-linear minimizando diretamente a soma dos quadrados dos resíduos entre a previsão do modelo não-linear e os dados. A Seção 20.1 é dedicada a um
exemplo de como isso pode ser feito.
19.8.2 MATLAB
Como resumido na Tabela 19.2, o software MATLAB tem diversas funções de biblioteca
que geram os recursos totais descritos nesta parte do livro. O exemplo a seguir ilustra
como uns poucos deles podem ser usados.
TABELA 19.2 Algumas das funções MATLAB para implementar interpolação, regressão,
splines e FFT.
EXEMPLO 19.5
Função
Descrição
polyfit
interp1
interp2
spline
fft
Ajusta polinômios aos dados
Interpolação em 1 D
Interpolação em 2 D
Interpolação dos dados com spline cúbico
Transformada de Fourier discreta
Usando o MATLAB para Ajuste de Curvas
Enunciado do Problema. Explore como o MATLAB pode ser usado para ajustar curvas
aos dados. Para fazê-lo, use a função seno para gerar valores de f (x) igualmente espaçados de 0 a 10. Use um tamanho de passo 1 de modo que a caracterização resultante da
onda seno seja esparsa (Figura 19.22). A seguir, ajuste-a com (a) interpolação linear, (b)
um polinômio de 5o grau e (c) um spline cúbico.
Solução.
(a) Os valores para as variáveis independente e dependente podem ser colocados em vetores por
>> x=0:10;
>> y=sen(x);
Um novo vetor, espaçado de modo mais fino nas variáveis independentes, pode ser
gerado e armazenado no vetor xi,
>> xi=0:.25:10;
A função MATLAB interp1 pode então ser utilizada para gerar valores da variável
dependente yi para todos os valores xi usando interpolação linear. Ambos os dados
originais (x, y) e os dados interpolados linearmente podem ser marcados juntos,
como mostrado no seguinte gráfico:
>> yi=interp1(x,y,xi);
>> plot(x,y,'o',xi,yi)
SOFTWARE
464
APROXIMAÇÃO DE FOURIER
y
1
0
5
10
x
–1
FIGURA 19.22
A mostra de 11 pontos de uma curva senoidal.
(b) A seguir, a função polyfit do MATLAB pode ser utilizada para gerar os coeficientes de um polinômio de 5o grau que ajuste os dados originais esparsos.
>> p=polyfit(x,y,5)
p=
0.0008 –0.0290 0.3542
–1.6854
2.5860
–0.0915
onde o vetor p guarda os coeficientes do polinômio, os quais podem, por sua
vez, ser usados para gerar um novo conjunto de valores yi, que podem
novamente ser marcados junto com a amostra esparsa original,
>> yi = polyval(p,xi);
>> plot(x,y,'o',xi,yi)
Assim, o polinômio captura o padrão geral dos dados, mas não passa pela
maioria dos pontos.
19.8 AJUSTE DE CURVAS COM BIBLIOTECAS E PACOTES
465
(c) Finalmente, a função spline do MATLAB pode ser usada para ajustar um spline
cúbico aos dados originais esparsos na forma de um novo conjunto de valores yi,
os quais podem novamente ser marcados junto com a amostra esparsa original.
>> yi=spline(x,y,xi);
>> plot(x,y,'o',xi,yi)
Deve ser observado que o MATLAB também tem excelentes recursos para fazer
a análise de Fourier. A Seção 20.3 será dedicada a um exemplo de como isso pode
ser realizado.
19.8.3 IMSL
O IMSL tem diversas rotinas para ajuste de curvas que geram todos os recursos cobertos
neste livro e mais alguns. Uma amostra é apresentada na Tabela 19.3. Na presente discussão, o enfoque será na rotina RCURV. Essa rotina ajusta um polinômio por mínimos
quadrados aos dados.
A RCURV é implementada pelo seguinte comando CALL:
CALL RCURV (NOBS, XDATA, YDATA, NDEG, B, SSPOLY, STAT)
onde NOBS = Número de observações. (Entrada)
XDATA = Vetor de comprimento NOBS contendo os valores de x. (Entrada)
YDATA = Vetor de comprimento NOBS contendo os valores de y. (Entrada)
NDEG = Grau do polinômio. (Entrada)
B = Vetor de comprimento NDEG + 1 contendo os coeficientes.
SSPOLY = Vetor de comprimento NDEG + 1 contendo a seqüência das somas dos
quadrados. (Saída) SSPOLY(1) contém a soma dos quadrados devida à
média. Para i = 1, 2, . . . NDEG, SSPOLY(i + 1) contém a soma dos
quadrados devida a xi ajustado para a média, x, x2, . . . e xi−1.
STAT = Vetor de comprimento 10 contendo estatísticas. (Saída)
onde 1 = Média de x
2 = Média de y
3 = Variância da amostra de x
4 = Variância da amostra de y
5 = Quadrado de R (em porcentagem)
6 = Graus de liberdade para a regressão
7 = Soma dos quadrados da regressão
8 = Graus de liberdade do erro
9 = Soma dos quadrados dos erros
10 = Número de pontos dados (x, y) contendo NAN (não um
número) como valor de x ou de y.
APROXIMAÇÃO DE FOURIER
466
SOFTWARE
TABELA 19.3 Rotinas IMSL para ajuste de curvas.
Categoria
Rotina
Descrição
• Interpolação por spline cúbico
CSIEZ
CSINT
CSDEC
Rotina para spline cúbico fácil de usar
Not-a-knot
Condições nas derivadas nas extremidades
• Cálculo e integração de spline cúbico
CSVAL
CSDER
CS1GD
CSITG
Cálculo
Cálculo da derivada
Cálculo em um reticulado
Integração
RLINE
RCURV
FNLSQ
Polinomial linear
Polinomial geral
Funções gerais
• Interpolação por B-spline
• Polinomial por partes
• Rotinas para interpolação polinomial
quadrática para dados em reticulados
• Interpolação de dados dispersos
• Aproximação por mínimos quadrados
• Suavização por spline cúbico
• Aproximação de Chebyshev com
pesos racionais
Aproximação de Chebyshev com
pesos racionais
• FFT trigonométrica real
FFTRF
FFTRB
FFTRI
Transformada progressiva
Transformada regressiva ou inversa
Rotina de inicialização para a FFTR
• FFT exponencial complexa
FFTCF
FFTCB
FFTCI
Transformada progressiva
Transformada regressiva ou inversa
Rotina de inicialização para a FFTC
• FFTs com senos e cossenos reais
• Real quarter sine and quarter cosine FFT
• FFTs complexas bi e tridimensionais
• Convoluções e correlações
• Transformada de Laplace
EXEMPLO 19.6
Usando o IMSL para Regressão Polinomial
Enunciado do Problema. Use o RCURV para determinar um polinômio cúbico que
forneça um ajuste por mínimos quadrados para os seguintes dados:
x
0,05
0,12
0,15
0,30
0,45
0,70
0,84
1,05
y
0,957
0,851
0,832
0,720
0,583
0,378
0,295
0,156
Solução. Um exemplo de um programa principal em Fortran 90 e função usando
RCURV para resolver esse problema pode ser escrito como
PROBLEMAS
467
PROGRAM Fitpoly
use msimsl
IMPLICIT NONE
INTEGER::ndeg,nobs,i,j
PARAMETER (ndeg=3, nobs=8)
REAL::b(ndeg+1),sspoly(ndeg+1),stat(10),x(nobs),y(nobs),
ycalc(nobs)
DATA x/0.05,0.12,0.15,0.30,0.45,0.70,0.84,1.05/
DATA y/0.957,0.851,0.832,0.720,0.583,0.378,0.295,0.156/
CALL RCURV(nobs,x,y,ndeg,B,sspoly,stat)
PRINT *, 'Fitted polynomial is'
DO i = 1,ndeg+1
PRINT '(1X, "X^",I1," TERM: ",F8.4)', i–1, b(i)
END DO
PRINT *
PRINT '(1X,"R^2: ",F5.2,"%")',stat(5)
PRINT *
PRINT *, 'NO. X Y YCALC'
DO i = 1,nobs
ycalc=0.
DO j = 1,ndeg+1
ycalc(i)=ycalc(i)+b(j)*x(i)**(j–1)
END DO
PRINT '(1X,I8,3(5X,F8.4))', i, x(i), y(i), ycalc(i)
END DO
END
Um exemplo de execução é
Fitted polynomial is
X^0 TERM:
.9909
X^1 TERM: –1.0312
X^2 TERM:
.2785
X^3 TERM:
–.0513
R^2: 99.81%
NO.
X
1
.0500
2
.1200
3
.1500
4
.3000
5
.4500
6
.7000
7
.8400
8
1.0500
Y
.9570
.8510
.8320
.7200
.5830
.3780
.2950
.1560
YCALC
.9401
.8711
.8423
.7053
.5786
.3880
.2908
.1558
PROBLEMAS
19.1 O pH de um reator varia senoidalmente no decorrer de um
dia. Use regressão por mínimos quadrados para ajustar a Equação
(19.11) aos seguintes dados. Use seu ajuste para determinar a
média, a amplitude e o instante de máximo pH.
Tempo, h
pH
0
2
7,6 7,2
4
5
7
9
12
15
20
22
24
7
6,5
7,5
7,2
8,9
9,1
8,9
7,9
7
Supondo que cada mês dure 30 dias, ajuste uma curva senoidal a
esses dados. Use a equação resultante para prever a radiação em
meados de agosto.
19.3 Os valores médios de uma função podem ser determinados por
x
f (x)dx
f (x) = 0
x
19.2 A radiação solar em Tucson, no Arizona, foi tabulada
como
Use essa relação para verificar os resultados da Equação (19.13).
Tempo, meses
Radiação, W/m
2
J
F
M
A
M
J
J
A
S
O
N
D
144
188
245
311
351
359
308
287
260
211
159
131
APROXIMAÇÃO DE FOURIER
468
19.4 Use uma série de Fourier no contínuo para aproximar a onda
dente de serra na Figura P19.4. Trace os primeiros três termos junto
com a soma.
1
–1
–1
Figura P19.4
10
20
30
40
50
60
70
F, N
25
70
380
550
610
1.220
830
T, oC
Uma onda dente de serra.
o, mg/L
19.5 Use uma série de Fourier no contínuo para aproximar a forma
de onda na Figura P19.5. Trace os primeiros três termos junto com
a soma.
1
–2
v, m/s
2
80
1.450
19.15 Use o Data Analysis Toolpack do Excel para desenvolver
uma regressão polinomial para os seguintes dados de concentração
de oxigênio dissolvido na água fresca em função da temperatura no
nível do mar. Determine o grau necessário do polinômio para ser
compatível com a precisão dos dados.
t
T
estão tabulados a seguir. Use o comando Trendline do Excel para
ajustar uma equação de potência aos dados. Trace F em função de
v junto com a equação de potência e r 2.
t
Figura P19.5
Uma onda triangular.
19.6 Construa as linhas espectrais de amplitude e de fase para
o Problema 19.4.
19.7 Construa as linhas espectrais de amplitude e de fase para
o Problema 19.5.
19.8 Um retificador de meia onda pode ser caracterizado por
1
1
2
2
C1 =
+ sen t −
cos 2t −
cos 4t
π
2
3π
15π
2
−
cos 6t − · · ·
35π
onde C1 é a amplitude da onda. Trace os primeiros quatro termos
junto com a soma.
19.9 Construa as linhas espectrais de amplitude e de fase para o
Problema 19.8.
19.10 Desenvolva um programa amigável ao usuário para a TFD
baseado no algoritmo da Figura 19.12. Teste-o reproduzindo a
Figura 19.13.
19.11 Use o programa do Problema 19.10 para calcular a TFD para
a onda triangular do Problema 19.8. Faça uma amostra da onda de
t = 0 a 4T. Use 32, 64 e 128 pontos amostrais. Cronometre cada
execução e trace o tempo de execução em função de N para verificar a Figura 19.14.
19.12 Desenvolva um programa amigável ao usuário para a FFT
baseado no algoritmo da Figura 19.18. Teste-o reproduzindo a
Figura 19.13.
19.13 Repita o Problema 19.11 usando o software que você desenvolveu no Problema 19.12.
19.14 Um objeto é suspenso em um túnel de vento e a força é medida para diversos níveis de velocidade do vento. Os resultados
0
8
16
24
32
40
14,62
11,84
9,87
8,42
7,31
6,41
19.16 Use o Data Analysis Toolpack do Excel para ajustar uma
reta aos seguintes dados. Determine o intervalo de confiança de
90% para a intersecção com o eixo y. Se ele englobar o zero, refaça
a regressão, mas a intersecção com o eixo y forçando a ser zero
(essa é uma opção na janela de diálogo da Regression).
x
2
4
6
8
10
12
14
y
6,5
7
13
17,8
19
25,8
26,9
19.17 (a) Use o MATLAB para ajustar um spline cúbico aos
seguintes dados:
x
0
2
4
7
10
12
y
20
20
12
7
6
6
Determine o valor de y em x = 1,5. (b) Repita (a), mas com
primeiras derivadas nulas nos nós extremos. Observe que o instrumento “help” do MATLAB descreve como prescrever as derivadas
nas extremidades.
19.18 Use o MATLAB para gerar 64 pontos para a função
f(t) = cos(10t) + sen (3t)
de t = 0 a 2π. Some uma componente aleatória ao sinal com a
função randn. Tome a FFT desses valores e trace os resultados.
19.19 De modo análogo à Seção 19.8.2, use o MATLAB para ajustar os dados do Problema 19.15 usando (a) interpolação linear, (b)
uma regressão polinomial de 3o grau e (c) um spline. Use cada
abordagem para prever a concentração de oxigênio em T = 10.
19.20 A função de Runge é escrita como
f(x) =
1
1 + 25x 2
Gere 9 valores igualmente espaçados dessa função no intervalo
[−1, 1]. Ajuste esses dados com (a) um polinômio de 8o grau, (b)
um spline linear e (c) um spline cúbico. Apresente seus resultados
graficamente.
19.21 Repita o Problema 19.15, mas use a rotina RCURV do
IMSL.
19.22 Um corante é injetado em um volume de sangue circulante
para medir a saída cardíaca de um paciente, que é a vazão em volume do sangue saindo do ventrículo esquerdo do coração. Em outras
palavras, a saída cardíaca é o número de litros de sangue que seu
coração bombeia em um minuto. Para uma pessoa em repouso, a
taxa poderia ser de 5 ou 6 litros por minuto. Se você for um maratonista treinado correndo uma maratona, sua saída cardíaca pode
PROBLEMAS
469
ser tão alta quanto 30 L/min. Os dados a seguir mostram a resposta
de um indivíduo quando 5 mg de corante foi injetado em seu sistema venoso.
Tempo (s)
2
6
9
12
15
18
20
24
Concentração (mg/L)
0
1,5
3,2
4,1
3,4
2
1
0
19.23 Em circuitos elétricos, é comum observar comportamento
de corrente na forma de uma onda quadrada como a mostrada na
Figura P19.23. Determinando a série de Fourier de
A0
0 ≤ t ≤ T /2
f(t) =
T /2 ≤ t ≤ T
−A0
obtemos a série de Fourier
∞
2π(2n − 1)t
4A0
sen
f(t) =
(2n − 1)π
T
n=1
f (t)
1
Sejam A0 = 1 e T = 0,25 s. Trace os primeiros seis termos da série
de Fourier individualmente, bem como a soma desses seis termos.
Use um pacote como o Excel ou o MATLAB se possível.
19.24 Faça um gráfico dos seguintes dados com (a) um polinômio
interpolador de 6o grau, (b) um spline cúbico e (c) um spline cúbico
com derivadas nulas nas extremidades.
0
–1
0
0,25
0,5
t
0,75
1
Figura P19.23
Ajuste uma curva polinomial a esses pontos dados e use a função para
aproximar a saída cardíaca do paciente, que pode ser calculada por
L
quantidade de corante
Saída cardíaca =
área sob a curva
min
x
0
100
200
400
600
800
1.000
f (x) 0 0,82436 1,00000 0,73576 0,40601 0,19915 0,09158
Em cada caso, compare seu gráfico com a seguinte equação, que foi
usada para gerar os dados
f(x) =
x − x +1
e 200
200
ESTUDO DE CASOS: AJUSTE DE CURVAS
470
CAPÍTULO
20
Estudo de Casos:
Ajuste de Curvas
O propósito deste capítulo é usar os métodos numéricos para ajuste de curvas para resolver alguns problemas de engenharia. A primeira aplicação, tirada da engenharia
química, ilustra como um modelo não-linear pode ser linearizado e ajustado aos dados
usando regressão linear. A segunda aplicação usa splines para estudar um problema relevante para a área ambiental da engenharia civil: aquecimento e transporte de massa em
um lago estratificado.
A terceira aplicação ilustra como a transformada rápida de Fourier pode ser usada
em engenharia elétrica para analisar um sinal determinando seus harmônicos principais. A
aplicação final ilustra como a regressão linear múltipla é usada para analisar dados experimentais para problemas de fluidos tirados das engenharias mecânica e aeroespacial.
20.1
REGRESSÃO LINEAR E MODELOS POPULACIONAIS
(ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Os modelos de crescimento populacional são importantes em muitos
campos da engenharia. É fundamental, para muitos dos modelos, a hipótese de que a taxa
de variação da população (dp/dt) é proporcional à própria população (p) em qualquer
instante (t), ou, de forma equivalente,
dp
= kp
dt
(20.1)
onde k é o fator de proporcionalidade chamado de taxa de crescimento específica e tem
unidade de tempo1. Se k for uma constante, então a solução da Equação (20.1) pode ser
obtida da teoria de equações diferenciais:
p(t) = p0 ekt
(20.2)
onde p0 é a população quando t = 0. Observa-se que p(t) na Equação (20.2) tende a infinito quando t se torna grande. Esse comportamento é claramente impossível em sistemas reais. Portanto, o modelo precisa ser modificado para se tornar mais realista.
Solução. Primeiro, é preciso reconhecer que a taxa de crescimento específica k não
pode ser constante quando a população se torna grande. Esse é o caso porque, quando p
tende a infinito, o organismo que está sendo modelado passará a ser limitado por fatores
como falta de alimento e produção de dejetos tóxicos. Uma forma de expressar isso
matematicamente é usar um modelo de taxa de crescimento saturado
k = kmáx
f
K+ f
(20.3)
onde kmax é a taxa máxima de crescimento atingível para grandes valores de alimentos (f)
e K é a constante de meia saturação. O gráfico da Equação (20.3) na Figura 20.1 mostra
que, quando f = K, k = kmáx/2. Portanto, K é a quantidade de alimento disponível que
sustenta uma taxa de crescimento populacional igual à metade da taxa máxima.
470
Taxa de crescimento específico, k
20.1 REGRESSÃO LINEAR E MODELOS POPULACIONAIS
471
kmax
kmax
2
K
Alimento disponível, f
FIGURA 20.1
Gráfico da taxa de crescimento específico em função do alimento disponível para o modelo
de taxa de crescimento saturado usado para caracterizar a cinética microbial. O valor K é
chamado de constante de meia saturação porque corresponde à concentração na qual a
taxa de crescimento específico é a metade de seu valor máximo.
As constantes K e kmax são valores empíricos baseados nas medidas experimentais de
k para diversos valores de f. Como um exemplo, suponha que a população p represente o
fermento empregado na produção comercial de cerveja e que f seja a concentração da
fonte de carbono a ser fermentada. As medidas de k em função de f para o fermento estão
mostradas na Tabela 20.1. É necessário calcular kmax e K a partir desses dados empíricos.
Consegue-se isso invertendo a Equação (20.3) de maneira análoga à Equação (17.17)
para obter
1
K+ f
K 1
1
=
=
+
k
kmax f
kmax f
kmax
(20.4)
Com essa manipulação, transformamos a Equação (20.3) em uma forma linear, isto é, 1/k
é uma função linear de 1/f, com inclinação K/kmax e intersecção com o eixo y 1/kmax.
Esses valores estão traçados na Figura 20.2.
Por causa dessa transformação, os procedimentos dos mínimos quadrados linear
descritos no Capítulo 17 podem ser usados para determinar kmax = 1,23 dial e K =
22,18 mg/L. Esses resultados combinados com a Equação (20.3) são comparados aos dados
não transformados na Figura 20.3 e quando substituídos no modelo da Equação (20.1) dão
dp
f
= 1,23
p
dt
22,18 + f
(20.5)
TABELA 20.1 Dados usados para calcular as constantes para um modelo de taxa de
crescimento saturado para caracterizar a cinética microbial.
f, mg/L
7
9
15
25
40
75
100
150
k, dia−l
0,29
0,37
0,48
0,65
0,80
0,97
0,99
1,07
1/f, L/mg
0,14286
0,11111
0,06666
0,04000
0,02500
0,01333
0,01000
0,00666
1/k, dia
3,448
2,703
2,083
1,538
1,250
1,031
1,010
0,935
472
ESTUDO DE CASOS: AJUSTE DE CURVAS
2
Inclinação =
K
kmax
1
Intersecção com o eixo y =
0
0,04
0,08
1/f, L/mg
1
kmax
0,12
0,16
kmax
1
k, dia– 1
FIGURA 20.2
Versão linearizada do modelo
de taxa de crescimento
saturado. A reta é um ajuste por
mínimos quadrados que é
usado para calcular os
coeficientes do modelo
kmax ⫽ 1,23 dia1 e
K 22,18 mg/L para um
fermento usado na produção
de cerveja.
1/k, dia
3
0
50
100
150
f, mg/L
FIGURA 20.3
Ajuste do modelo de taxa de crescimento saturado para um fermento usado na produção
comercial de cerveja.
Observe que o ajuste fornece uma soma dos quadrados dos resíduos (como calculado com
os dados não transformados) de 0,001305.
A Equação (20.5) pode ser resolvida usando a teoria das equações diferenciais ou os
métodos numéricos discutidos no Capítulo 25 quando f (t) for conhecida. Se f tender a
zero quando p se tornar grande, então dp/dt tende a zero e a população se estabiliza.
A linearização da Equação (20.3) é uma das maneiras de calcular as constantes kmax e
K. Uma abordagem alternativa, que ajusta a relação em sua forma original, é a regressão
não-linear descrita na Seção 17.5. A Figura 20.4 mostra como a ferramenta Solver do Excel
pode ser usada para fazer uma estimativa dos parâmetros com regressão não-linear. Como pode ser visto, uma coluna de valores previstos foi desenvolvida com base no modelo e nas estimativas dos parâmetros. Estes são usados para gerar uma coluna de quadrado de resíduos
que são somados e o resultado é colocado na célula D14. O Solver do Excel é então chamado
para minimizar a célula D14 ajustando as células B1:B2. O resultado, como mostrado na
Figura 20.4, fornece estimativas de kmax = 1,23 e K = 22,14, com um Sr = 0,001302. Logo,
e — como esperado — a regressão não-linear forneça um ajuste ligeiramente melhor, os resultados são quase idênticos. Em outras aplicações, issto pode não ser verdadeiro (ou, a
função pode não ser compatível com a linearização) e a regressão não-linear poderia representar a única opção possível para obter um ajuste por mínimos quadrados.
20.2 USO DE SPLINES PARA ESTIMAR TRANSFERÊNCIA DE CALOR
473
FIGURA 20.4
Regressão não-linear para ajustar o modelo de taxa de crescimento saturado para um
fermento usado na produção comercial de cerveja.
USO DE SPLINES PARA ESTIMAR TRANSFERÊNCIA DE CALOR
(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Os lagos na zona temperada podem tornar-se termicamente estratificados durante o verão. Como descrito na Figura 20.5, água quente flutuante perto da superfície está sobre a água do fundo, mais fria e mais densa. Tal estratificação divide de forma
efetiva o lago verticalmente em duas camadas: o epilímnio e o hipolímnio, separadas por
um plano chamado termóclina.
A estratificação térmica tem grande importância para os engenheiros ambientais que
estudam a poluição de tais sistemas. Em particular, as termóclinas diminuem muito a mistura entre as duas camadas. Como resultado, a decomposição de matéria orgânica pode
levar a uma diminuição severa de oxigênio na água isolada do fundo.
A posição da termóclina pode ser definida como o ponto de inflexão da curva temperatura-profundidade — isto é, o ponto no qual d 2T/dx2 = 0. Ele também é o ponto no
qual o valor absoluto da primeira derivada ou do gradiente é um máximo. Use splines
cúbicos para determinar a profundidade da termóclina para o lago Platte (Tabela 20.2).
Use também os splines para determinar o valor do gradiente na termóclina.
FIGURA 20.5
Temperatura em função da profundidade durante o verão no lago Platte, em Michigan.
⌻ (⬚C)
0
0
10
20
30
Epilíminio
10
Termóclina
z (m)
20.2
20
30
Hipolímnio
ESTUDO DE CASOS: AJUSTE DE CURVAS
474
TABELA 20.2 Temperatura em função da profundidade durante o verão no lago Platte,
em Michigan.
T, ∘C
22,8
22,8
22,8
20,6
13,9
11,7
11,1
11,1
0
2,3
4,9
9,1
13,7
18,3
22,9
27,2
z, m
Solução. Os dados são analisados com um programa que foi desenvolvido com base no
pseudocódigo da Figura 18.18. Os resultados estão mostrados na Tabela 20.3, que lista as
previsões do spline junto com as primeira e segunda derivadas em intervalos de 1 m por
toda a coluna de água.
Os resultados estão traçados na Figura 20.6. Observe como a termóclina está claramente localizada em uma profundidade em que o gradiente é maior (isto é, o valor absoluto da derivada é maior) e a segunda derivada é nula. A profundidade é de 11,35 m e o
gradiente nesse ponto é 1,61 ºC/m.
TABELA 20.3 Saída do programa para splines com base no pseudocódigo na Figura 18.18.
T(C)
22.8000
22.7907
22.7944
22.8203
22.8374
22.7909
22.6229
22.2665
21.6531
20.7144
19.4118
17.8691
16.2646
14.7766
13.5825
FIGURA 20.6
Gráficos (a) da temperatura, (b)
do gradiente e (c) da segunda
derivada em função da
profundidade (m) gerados pelo
programa para splines cúbicos.
A termóclina está localizada no
ponto de inflexão da curva de
temperatura-profundidade.
dT/dz
−.0115
−.0050
.0146
.0305
−.0055
−.0966
−.2508
−.4735
−.7646
−1.1242
−1.4524
−1.6034
−1.5759
−1.3702
−.9981
Profundidade
(m)
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
d2T/dz2
.0000
.0130
.0261
−.0085
−.0635
−.1199
−.1884
−.2569
−.3254
−.3939
−.2402
−.0618
.1166
.2950
.3923
0
0
T, C
10
20
– 2.0
dT/dz
– 1.0
0.0
T(C)
12.7652
12.2483
11.9400
11.7484
11.5876
11.4316
11.2905
11.1745
11.0938
11.0543
11.0480
11.0646
11.0936
11.1000
– 0.5
dT/dz
−.6518
−.3973
−.2346
−.1638
−.1599
−.1502
−.1303
−.1001
−.0596
−.0212
.0069
.0245
.0318
.0000
d 2T/dz2
0.0
0.5
4
8
z, m
Profundidade
(m)
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Termóclina
12
16
20
24
28
(a)
(b)
(c)
d2T/dz2
.3004
.2086
.1167
.0248
.0045
.0148
.0251
.0354
.0436
.0332
.0229
.0125
.0021
.0000
20.3 ANÁLISE DE FOURIER (ENGENHARIA ELÉTRICA)
20.3
475
ANÁLISE DE FOURIER (ENGENHARIA ELÉTRICA)
Fundamentos. A análise de Fourier é usada em muitas áreas da engenharia. Entretanto,
é usada extensivamente nas aplicações de engenharia elétrica, como processamento de
sinais.
Em 1848, Johann Rudolph Wolf inventou um método para quantificar a atividade
solar contando o número de manchas individuais ou grupos de manchas na superfície do
Sol. Ele calculou uma quantidade, agora chamada de número de manchas solares de Wolf,
somando 10 vezes o número de grupos com a contagem individual de manchas. Como na
Figura 20.7, os registros desse número remontam ao ano 1700. Com base nos primeiros
registros históricos, Wolf determinou o comprimento do ciclo como sendo de 11,1 anos.
Use uma análise de Fourier para confirmar esse resultado aplicando uma FFT aos
dados da Figura 20.7. Determine o período desenvolvendo um gráfico de potência em
função do período.
Solução. Os dados para o ano e o número de manchas foram baixados da Web1 e armazenados em um arquivo formatado por tabela: sunspot.dat. O arquivo pode ser carregado no software MATLAB, e a informação do ano e do número, inserida em vetores
com o mesmo nome,
>> load sunspot.dat
>> year=sunspot(:,1);number=sunspot(:,2);
A seguir, uma FFT pode ser aplicada aos números de manchas
>> y=fft(number);
Depois de se livrar do primeiro harmônico, o comprimento da FFT está determinado (n)
e a potência e a freqüência são calculadas,
>>
>>
>>
>>
>>
y(1)=[ ];
n=length(y);
power=abs(y(1:n/2)).^2;
nyquist=1/2;
freq=(1:n/2)/(n/2)*nyquist;
Nesse ponto, o espectro de potência é um gráfico da potência em função da freqüência.
Entretanto, como o período é mais significativo no presente contexto, pode-se determinar
o período e um gráfico potência-período,
>> period=1./freq;
>> plot(period,power)
FIGURA 20.7
Gráfico do número de
manchas solares de Wolf
em função do ano.
200
100
0
1700
1
1800
1900
2000
Na época da impressão deste livro, o html era http://www.ngdc.noaa.gov//stp/SOLAR/SSN/ssn.html.
ESTUDO DE CASOS: AJUSTE DE CURVAS
476
Potência (⫻ 107)
2
1
0
FIGURA 20.8
Espectro de potência do número
de manchas solares de Wolf.
0
10
20
30
Período (anos)
O resultado, como mostrado na Figura 20.8, indica um pico em cerca de 11 anos. O valor
exato pode ser calculado com
>> index=find(power==max(power));
>> period(index)
ans=
10.9259
20.4
ANÁLISE DE DADOS EXPERIMENTAIS
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. As variáveis de projeto em engenharia em geral dependem de diversas variáveis independentes. Com freqüência, essa dependência funcional é mais bem
caracterizada por uma equação de potência em diversas variáveis. Como discutido na
Seção 17.3, uma regressão linear múltipla dos dados transformados pelo log fornece um
meio de calcular tais relações.
Por exemplo, um estudo de engenharia mecânica indica que o escoamento de um fluido através de um tubo está relacionado ao diâmetro do tubo e à inclinação (Tabela 20.4).
Use regressão linear múltipla para analisar esses dados. Então, use o modelo resultante
para prever o escoamento em um tubo com um diâmetro de 2,5 pés e uma inclinação de
0,025 pé/pé.
Solução. A equação de potência a ser calculada é
Q = a0 D a1 S a2
(20.6)
TABELA 20.4 Dados experimentais para o diâmetro, a inclinação e o
escoamento em tubos circulares de concreto.
Experiência
1
2
3
4
5
6
7
8
9
Diâmetro, pés
Inclinação, pés/pé
1
2
3
1
2
3
1
2
3
0,001
0,001
0,001
0,01
0,01
0,01
0,05
0,05
0,05
Escoamento, pés3/s
1,4
8,3
24,2
4,7
28,9
84,0
11,1
69,0
200,0
PROBLEMAS
477
onde Q é o escoamento (pés3/s), S é a inclinação (pés/pé), D é o diâmetro do tubo (pés), e
a0, a1 e a2 são coeficientes. Tomando o logaritmo dessa expressão, obtemos
log Q = log a0 + a1 log D + a2 log S
Dessa forma, a equação é adequada à regressão linear múltipla porque log Q é uma
função linear de log S e log D. Usando o logaritmo (base 10) dos dados na Tabela 20.4,
pode-se gerar as seguintes equações normais expressas na forma matricial [lembre-se da
Equação (17.22)]:
⎫ ⎧
⎫
⎤⎧
⎡
9
2,334 −18,903 ⎪
⎨log a0 ⎪
⎨ 11,691⎪
⎬ ⎪
⎬
⎥
⎢
0,954 −4,903 ⎦
3,945
=
a1
⎣ 2,334
⎪
⎪ ⎪
⎪
−18,903 −4,903
44,079 ⎩ a2 ⎭ ⎩−22,207⎭
Esse sistema pode ser resolvido usando-se eliminação de Gauss, o que dá
log a0 = 1,7475
a1 = 2,62
a2 = 0,54
Como log a0 = 1,7475, então a0 = 101,7475 = 55,9 e a Equação (20.6) é
Q = 55,9D 2,62 S 0,54
(20.7)
A Equação (20.7) pode ser usada para prever o escoamento no caso em que D = 2,5 pés
e S = 0,025 pé/pé, como em
Q = 55,9(2.5)2,62 (0,025)S 0,54 = 84,1 pés3 /s
Deve ser observado que a Equação (20.7) pode ser usada para outros propósitos
além do cálculo do escoamento. Por exemplo, a inclinação está relacionada à perda de
carga hL e ao comprimento do tubo L por S = hL/L. Se essa relação for substituída na
Equação (20.7) e hL for isolada na fórmula resultante, pode-se deduzir a seguinte equação:
hL =
L
Q 1,85 D 4,85
1721
Essa relação é chamada de equação de Hazen-Williams.
PROBLEMAS
Engenharia Química/Bioengenharia
20.1 Faça os mesmos cálculos que na Seção 20.1, mas use regressão linear e transformações para ajustar os dados com uma
equação de potência. Avalie o resultado.
20.2 Você fez experiências e determinou os seguintes valores para
a capacidade térmica c em várias temperaturas T para um gás:
T
50
30
0
60
90
110
c
1.270
1.280
1.350
1.480
1.580
1.700
Use regressão para determinar um modelo para prever c como
função de T.
20.3 A concentração de saturação do oxigênio dissolvido na água
como uma função da temperatura e da concentração de cloreto está
listada na Tabela P20.3. Use interpolação para fazer uma estimativa
do nível de oxigênio dissolvido para T = 18 °C com concentração
de cloreto de 10 g/L.
20.4 Para os dados na Tabela P20.3, use regressão polinomial para
obter uma equação de previsão de 3o grau para a concentração
de oxigênio dissolvido como uma função da temperatura para o
caso em que a concentração de cloreto é igual a 10 g/L. Use essa
equação para fazer uma estimativa da concentração de oxigênio
dissolvido para T = 8 °C.
20.5 Use regressão linear múltipla para deduzir uma equação de
previsão para a concentração de oxigênio dissolvido como uma
função da temperatura e do cloreto com base nos dados da Tabela
P20.3. Use a equação para fazer uma estimativa da concentração de
oxigênio dissolvido para uma concentração de cloreto de 5 g/L a
T = 17 °C.
20.6 Quando comparado aos modelos dos Problemas 20.4 e 20.5,
um modelo um pouco mais sofisticado que leva em conta os efeitos
tanto da temperatura quanto do cloreto na saturação do oxigênio
dissolvido pode ser considerado como sendo da forma
os = a0 + f 3 (T ) + f 1 (c)
Ou seja, é suposto que uma constante mais um polinômio de 3o grau
na temperatura e uma relação linear no cloreto forneçam resultados
superiores. Use a abordagem por mínimos quadrados linear geral
para ajustar esse modelo aos dados da Tabela P20.3. Use a equação
resultante para fazer uma estimativa da concentração de oxigênio
dissolvido para uma concentração de clorito de 10 g/L a T = 20 °C.
ESTUDO DE CASOS: AJUSTE DE CURVAS
478
TABELA P20.3 Concentração de oxigênio dissolvido na água como função da temperatura (°C) e da concentração
de cloreto (g/L).
Oxigênio Dissolvido (mg/L) para Temperatura (°C) e
Concentração de Cloreto (g/L)
T, ⴗC
c = 0 g/L
0
5
10
15
20
25
30
14,6
12,8
11,3
10,1
9,09
8,26
7,56
c = 10 g/L
12,9
11,3
10,1
9,03
8,17
7,46
6,85
20.7 É conhecido que a força de tensão do plástico aumenta em
função do tempo quando ele é tratado com calor. São coletados os
seguintes dados:
10
15
20
25
40
50
55
60
75
5
20
18
40
33
54
70
60
78
Força de tensão
0
Profundidade z, m
Tempo
(a) Ajuste uma reta a esses dados e use a equação para determinar
a força de tensão para o instante 32 minutos.
(b) Repita a análise, mas para uma reta com intersecção com o eixo
y no zero.
20.8 Os seguintes dados foram reunidos para determinar a relação
entre a pressão e a temperatura de um volume fixo de 1 kg de nitrogênio. O volume é 10 m3.
T, °C
2
p, N/m
40
0
40
80
120
160
6.900
8.100
9.300
10.500
11.700
12.900
Use a lei dos gases ideais pV = nRT para determinar R com base
nesses dados. Observe que, para a lei, T deve ser expressa em
kelvins.
20.9 O volume específico de um vapor superaquecido está listado
na tabelas de vapor para diversas temperaturas. Por exemplo, na
pressão absoluta de 3.000 lb/pol2:
T, °F
700
v, pés3/lbm 0,0977
720
740
760
780
0,12184
0,14060
0,15509
0,16643
Determine v para T = 750 °F.
20.10 Um reator está termicamente estratificado como na seguinte
tabela:
Profundidade, m
0
0,5
1,0
1,5
2,0
2,5
3,0
Temperatura, °C
70
68
55
22
13
11
10
Como descrito na Figura P20.10, o tanque pode ser idealizado
como duas zonas separadas por um forte gradiente de temperatura
ou uma termóclina. A profundidade desse gradiente pode ser
definida como o ponto de inflexão da curva temperatura-profundidade — isto é, o ponto no qual d 2T/dz2 = 0. Nessa profundidade, o
fluxo de calor da superfície para a camada do fundo pode ser calculado com a lei de Fourier
J = −k
c = 20 g/L
dT
dz
Use um ajuste por spline cúbico desses dados para determinar a
profundidade da termóclina. Se k = 0,02 cal/(s cm ◦ C), calcule o
fluxo através da interface.
11,4
10,3
8,96
8,08
7,35
6,73
6,20
Temperatura T, C
20
40
60
0
1
Termóclina
2
3
Figura P20.10
20.11 Na doença de Alzheimer, o número de neurônios no córtex
diminui conforme a enfermidade progride. Os seguintes dados
foram coletados para determinar o número de receptores neurotransmissores que restaram em um cérebro doente. Neurotransmissores livres ([F]) foram incubados com tecido e a concentração que
se ligava especificamente a um receptor ([B]) foi medida. Quando a
ligação é específica com um receptor, a concentração de ligação
está relacionada com a concentração livre pela seguinte expressão:
[B] =
Bmax [F]
K + [F]
Usando os dados a seguir, determine os parâmetros que minimizam
a soma dos quadrados dos resíduos. Além disso, calcule r 2.
[F], nM
0,1
0,5
1
5
10
20
50
[B], nM 10,57 36,61 52,93 82,65 89,46 94,35 101,00
20.12 Os seguintes dados foram tirados de um reator de mistura
para a reação A → B. Use os dados para determinar a melhor estimativa possível para k01 e E1 para o seguinte modelo cinético,
−
E1
dA
= k01 e− RT A
dt
onde R é a constante do gás e é igual a 0,00198 Kcal/mol/K
dA/dt (moles/L/s)
460
960
2.485
1.600
1.245
A (moles/L)
200
150
50
20
10
T (K)
280
320
450
500
550
PROBLEMAS
479
20.13 Use o seguinte conjunto de dados de pressão-volume para encontrar as melhores constantes possíveis (A1 e A2) para a equação de
estado mostrada a seguir. R = 82,05 ml atm/gmol K e T = 303 K.
PV
A1
A2
=1+
+ 2
RT
V
V
sem o polímero. Usando os dados a seguir para os tempos de efluxo
de soluções diluídas de poliestireno em metil etil cetona a 25 oC e
constantes K = 3,9 × 10–4 e a = 0,58, encontre o peso molecular da
amostra de poliestireno.
Concentração de Polímero, g/dL
P (atm)
0,985
1,108
1,363
1,631
V (ml)
25.000
22.200
18.000
15.000
0 (solvente puro)
0,04
0,06
0,08
0,10
0,12
0,14
0,16
0,20
20.14 Dados de concentração foram tomados em 15 instantes de
tempo para a reação de polimerização
x A + y B → Ax By
Supomos que a reação ocorra via um mecanismo complexo que
consiste em muitos passos. Diversos modelos foram considerados e
as somas dos quadrados dos resíduos foram calculadas para os
ajustes dos modelos aos dados. Os resultados estão mostrados a
seguir. Qual modelo descreve melhor os dados (estatisticamente)?
Explique sua escolha.
Modelo A
Modelo B
Modelo C
135
105
100
2
3
5
Sr
Número de parâmetros
do modelo no ajuste
onde X é o número de bactérias e μ é a taxa de crescimento específico da bactéria durante o crescimento exponencial. Com base nos
dados, qual a estimativa da taxa de crescimento específica da bactéria durante as primeiras 2 horas de crescimento? E durante as
próximas quatro horas de crescimento?
Tempo, h
[Células], g/L
0
1
2
3
4
5
H (cm)
A (m2)
dX
= μX
dt
6
0,100 0,332 1,102 1,644 2,453 3,660 5,460
20.16 O peso molecular de um polímero pode ser determinado a
partir de sua viscosidade pela seguinte relação:
[η] = KM av
onde [η] é a viscosidade intrínseca do polímero, Mv é o peso molecular médio e K e a são constantes específicas do polímero. A viscosidade intrínseca é determinada experimentalmente pela determinação do tempo de efluxo, ou o tempo que leva para a solução do
polímero escoar entre duas linhas gravadas em um viscosímetro
capilar, para diversas concentrações diferentes do polímero diluído
e extrapolando para diluição infinita. Um gráfico de
t
−1
t0
versus c
c
deveria fornecer uma reta, com a intersecção com o eixo y igual a
[η]. A concentração da solução de polímero é c, t é o tempo de
efluxo da solução de polímero e t0 é o tempo de efluxo do solvente
83
89
95
104
114
126
139
155
191
20.17 Em média, a área A da superfície dos seres humanos está
relacionada com o peso W e a altura H. Medidas em diversos indivíduos deram os valores de A na tabela a seguir:
W (kg)
20.15 A seguir estão os dados tomados do crescimento bacteriano
em um reator em batelada (depois da fase de atraso terminar). Foi
permitido que as bactérias crescessem tanto quanto possível nas
primeiras 2,5 horas e então elas foram induzidas a produzir uma
proteína recombinante, e essa produção diminui significativamente
o crescimento bacteriano. O crescimento teórico das bactérias pode
ser descrito por
Tempo de Efluxo, s
182
180
179
187
189
194
195
193
200
74
88
94
78
84
98
76
86
96
1,92 2,11 2,15 2,02 2,09 2,31 2,02 2,16 2,31
Determine uma equação para prever a área como uma função da altura e do peso. Use-a para fazer uma estimativa da área da superfície de uma pessoa com 187 cm e 78 kg.
20.18 Determine uma equação para prever a taxa de metabolismo
como uma função da massa com base nos seguintes dados:
Animal
Massa, kg
Vaca
Humano
Ovelha
Galinha
Rato
Pombo
400
70
45
2
0,3
0,16
Metabolismo, watts
270
82
50
4,8
1,45
0,97
20.19 O sangue humano se comporta como um fluido newtoniano
(ver Problema 20.51) na região de taxa de cisalhamento alta onde
γ̇ > 100. Na região de taxa de cisalhamento baixa onde γ̇ < 50, as
células vermelhas tendem a se agregar no que são chamados
roleaux, o que faz o comportamento do fluido se afastar do newtoniano. Essa região de taxa de cisalhamento baixa é chamada de
região de Casson, e existe uma região de transição entre as duas
regiões distintas do escoamento. Na região de Casson, quando a
taxa de cisalhamento tende a zero, a tensão de cisalhamento tende a
um valor finito, análogo ao do plástico de Bingham, que é chamado
tensão de cisalhamento inicial, τy, e essa tensão deve ser superada
para iniciar o escoamento no sangue estagnado. O gráfico do escoamento na região de Casson é usualmente traçado como a raiz
quadrada da taxa de cisalhamento em função da raiz quadrada da
tensão de cisalhamento, e segue uma relação linear quando traçada
dessa maneira. A relação de Casson é
√
√
τ = τ y + K c γ̇
onde Kc é o índice de consistência. Na tabela a seguir estão os valores
medidos experimentalmente de γ̇ e τy a partir de uma única amostra
de sangue nas regiões de escoamento de Casson e newtoniana.
ESTUDO DE CASOS: AJUSTE DE CURVAS
480
γ̇ , 1/s
0,91
τ, N/m
2
3,3
4,1
6,3
23
36
49
65
105 126 215
315
402
0,059 0,15 0,19 0,27 0,39 0,87 1,33 1,65 2,11 3,44 4,12 7,02 10,21 13,01
Região
Casson
Encontre os valores de Kc e τy usando regressão linear na região de
Casson e determine μ usando regressão linear na região newtoniana. Encontre também o coeficiente de correlação para cada
análise de regressão. Trace o gráfico das duas retas de regressão em
√
√
um gráfico de Casson ( γ̇ versus τ ) e estenda as retas de regressão como linhas tracejadas nas regiões vizinhas. Inclua também os pontos dados no gráfico. Limite a região de taxa de cisa√
lhamento a 0 < γ̇ < 15.
20.20 Tecidos moles seguem um comportamento de deformação
exponencial sob tensão uniaxial enquanto estão em uma elongação
fisiológica ou no intervalo normal. Isso pode ser expresso como
σ =
9,6
E 0 aε
(e − 1)
a
onde σ é a tensão, ε é a deformação e Eo e a são constantes do material que são determinadas experimentalmente. Para determinar as
duas constantes do material, a equação anterior é derivada em relação a ε. Usando essa equação, é estabelecida a relação fundamental para o tecido mole
dσ
= E 0 + aσ
dε
Para determinar Eo e a, os dados de tensão-deformação foram traçados como dσ/dε versus σ e a intersecção com o eixo y e a inclinação
desse gráfico são as duas constantes do material, respectivamente.
Na tabela a seguir, estão os dados de tensão-deformação para o
chordae tendineae do coração (pequenos tendões usados para manter
as válvulas do coração fechadas durante a contração do músculo
cardíaco; esses dados são da aplicação de carga ao tecido, enquanto
curvas diferentes são produzidas quando são retiradas as cargas).
Transição
Newtoniana
Faça um gráfico da tensão versus dados de deformação juntamente com a curva analítica expressa pela primeira equação. Isso
indicará quão bem a curva analítica ajusta os dados.
Muitas vezes isso não funciona bem porque o valor de Eo é
difícil de determinar usando essa técnica. Para resolver o problema,
Eo não é usado. Um ponto dado (σ̄ , ε̄) que está no meio do intervalo da análise de regressão é escolhido. Esses valores são substituídos na primeira equação e um valor para Eo/a é determinado e
substituído na primeira equação, que se torna
σ̄
(eaε − 1)
σ =
ea ε̄ − 1
Usando essa abordagem, dados experimentais que forem bem
definidos produzirão uma boa concordância com os pontos dados
e com a curva analítica. Use essa nova relação e trace novamente
a tensão em função dos dados de deformação e essa nova curva
analítica.
20.21 A espessura da retina varia em conseqüência de certas
doenças do olho. Uma maneira de medir a espessura da retina é
emitindo um laser de baixa energia na retina e registrando as reflexões em um filme. Por causa das propriedades óticas do olho, as
reflexões da superfície frontal da retina e da superfície posterior da
retina aparecerão como duas retas no filme, separadas por uma
certa distância. A distância entre as retas no filme é proporcional à
espessura da retina. A seguir estão os dados tomados de um filme
examinado. Ajuste duas curvas com a forma gaussiana de altura e
posição arbitrárias aos dados e determine a distância entre os centros dos dois picos. Uma curva gaussiana tem a forma
σ, 103 N/m2 87,8 96,6 176 263 351 571 834 1.229 1.624 2.107 2.678 3.380 4.258
ε, 10−3 m/m
153
204 255 306 357 408 459
510
561
Calcule a derivada dσ/dε usando diferenças finitas. Faça um gráfico dos dados e elimine os pontos dados próximos do zero, que
parecem não seguir a relação linear. O erro nesses dados vem da
inabilidade dos instrumentos de ler os pequenos valores nessa
região. Faça uma análise de regressão dos pontos restantes para determinar os valores de Eo e a.
Posição
Intensidade
da Luz
0,17
0,18
0,19
0,02
0,21
0,22
0,23
5,10
5,10
5,20
5,87
8,72
16,04
26,35
Posição
0,24
0,25
0,26
0,27
0,28
0,29
0,3
Intensidade
da Luz
31,63
26,51
16,68
10,80
11,26
16,05
21,96
612
663
714
2
f(x) =
765
2
ke−k (x−a)
√
π
onde k e a são constantes que se relacionam à altura do pico e ao
centro do pico, respectivamente.
Posição
0,31
0,32
0,33
0,34
0,35
0,36
0,37
Intensidade
da Luz
25,31
23,79
18,44
12,45
8,22
6,12
5,35
Posição
0,38
0,39
0,40
0,41
0,42
0,43
0,44
Intensidade
da Luz
5,15
5,10
5,10
5,09
5,09
5,09
5,09
PROBLEMAS
481
Engenharia Civil/Ambiental
20.22 As tensões de cisalhamento, em kilopascals (kPa), de nove
amostras tomadas a várias profundidades em camadas de barro
estão listadas a seguir. Estime a tensão de cisalhamento na profundidade de 4,5 m.
Profundidade, m 1,9
Tensão, kPa
3,1 4,2
5,1
5,8
6,9
8,1
9,3 10,0
14,4 28,7 19,2 43,1 33,5 52,7 71,8 62,2 76,6
20.23 Um estudo de engenharia de transporte foi conduzido para
determinar um projeto adequado de faixas para bicicleta. Foram coletados dados sobre a largura das faixas para bicicleta e a distância
média entre as bicicletas e os carros trafegando. Os dados de nove
ruas são:
Distância, m
2,4
1,5
2,4 1,8 1,8 2,9 1,2
Largura da faixa, m
2,9
2,1
2,3 2,1 1,8 2,7 1,5
3
1,2
2,9 1,5
(a) Trace os dados.
(b) Ajuste uma reta aos dados, por regressão linear. Acrescente
essa reta ao gráfico.
(c) Se for considerar a distância mínima média segura entre as bicicletas e os carros trafegando do que é 2 m, determine a largura
mínima da faixa correspondente.
20.24 Na engenharia de fontes de água, a estimativa dos tamanhos
dos reservatórios depende de estimativas acuradas do escoamento
da água no rio que está sendo confinado. Para alguns rios, registros
históricos de longa duração de tais dados de escoamento são difíceis de obter. Em contraste, em geral os dados meteorológicos
sobre precipitação estão disponíveis para muitos anos do passado.
Portanto, é útil determinar a relação entre escoamento e precipitação. Essa relação pode então ser usada para fazer uma estimativa
do escoamento nos anos nos quais apenas medidas de precipitação
foram feitas. Os seguintes dados estão disponíveis para um rio que
deve ser estancado:
Precipitação, cm
88,9 108,5 104,1 139,7 127
Escoamento, m3/s 14,6 16,7
15,3
A concentração de clorofila a indica quanta vida vegetal está suspensa
na água. Como tal, ela indica quão não-clara e feia a água parece. Use
os dados citados para determinar a expressão de c como uma função
de p. Use essa equação para prever o nível de clorofila que pode ser
esperado se for utilizado tratamento de dejetos para baixar a concentração de fósforo na parte oeste do lago Erie para 10 mg/m3.
20.26 A tensão vertical σz sob o canto de uma área retangular sujeita a uma carga uniforme de intensidade q é dada pela solução da
equação de Boussinesq:
√
q
2mn m 2 + n 2 + 1 m 2 + n 2 + 2
σ =
4π m 2 + n 2 + 1 + m 2 n 2 m 2 + n 2 + 1
√
2mn m 2 + n 2 + 1
−1
+sen
m 2 + n2 + 1 + m 2n2
Como é difícil resolver manualmente essa equação, ela foi reformulada como
σz = q f z (m, n)
onde fz(m, n) é chamado valor de influência e m e n são razões adimensionais, com m = a/z e n = b/z e a e b como definidos na
Figura P20.26. O valor de influência é então tabulado, uma parte
dos quais está dada na Tabela P20.26. Se a = 4,6 e b = 14, use um
polinômio interpolador de 3o grau para calcular σz a uma profundidade de 10 m abaixo do canto de um piso retangular que está submetido a uma carga total de 100 t (toneladas métricas). Expresse
sua resposta em tones por metros quadrados. Observe que q é igual
à carga por área.
b
a
z
z
94 116,8 99,1
23,2 19,5 16,1 18,1 16,6
Figura P20.26
(a) Trace os dados.
(b) Ajuste uma reta aos dados, por regressão linear. Superponha
essa reta ao seu gráfico.
(c) Use a reta de melhor ajuste para prever o escoamento anual de
água se a precipitação for 120 cm.
(d) Se a área de drenagem for 1.100 km2, estime qual fração da
precipitação será perdida por processos como evaporação, infiltração profunda da água no solo e uso destrutivo.
20.25 A concentração total de fósforo (p em mg/m3) e clorofila a
(c em mg/m3) para cada um dos Grandes Lagos em 1970 era
Lago Superior
Lago Michigan
Lago Huron
Lago Erie:
Bacia Oeste
Bacia Central
Bacia Leste
Lago Ontário
p
c
4,5
8,0
5,5
0,8
2,0
1,2
39,0
19,5
17,5
21,0
11,0
4,4
3,8
5,5
TABELA P20.26
m
n = 1,2
n = 1,4
n = 1,6
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,02926
0,05733
0,08323
0,10631
0,12626
0,14309
0,15703
0,16843
0,03007
0,05894
0,08561
0,10941
0,13003
0,14749
0,16199
0,17389
0,03058
0,05994
0,08709
0,11135
0,13241
0,15027
0,16515
0,17739
20.27 Três organismos transportadores de doenças decaem exponencialmente em água de lago de acordo com o seguinte modelo:
p(t) = Ae−1,5t + Be−0,3t + Ce−0,05t
Estime a população inicial de cada organismo (A, B e C) dadas as
seguintes medidas:
ESTUDO DE CASOS: AJUSTE DE CURVAS
482
t, h
0,5
1
2
3
4
5
6
7
9
p (t)
6,0
4,4
3,2
2,7
2,2
1,9
1,7
1,4
1,1
20.28 O mastro de um barco a vela tem área da seção transversal
10,65 cm2 e é construído de uma liga de alumínio experimental.
Foram feitos testes para definir a relação entre a tensão e a deformação. Os resultados do teste são
Deformação,
cm/cm
Tensão, N/cm2
0,0032 0,0045 0,0055 0,0016 0,0085 0,0005
4.970
5.170
5.500
3.590
6.900
1.240
A tensão causada pelo vento pode ser calculada como F/Ac, onde F
é a força no mastro e Ac é a área da seção transversal do mastro.
Esse valor pode então ser substituído na lei de Hooke para determinar a deflexão no mastro, L = deformação × L, onde L é o comprimento do mastro. Se a força do vento for 25.000 N, use os dados
para fazer uma estimativa da deflexão de um mastro de 9 m.
20.29 As reações enzimáticas são usadas extensivamente para caracterizar reações mediadas biologicamente em engenharia ambiental. Expressões propostas para a taxa de uma reação enzimática são
dadas a seguir, onde [S] é a concentração de substrato e v0 é a taxa de
reação inicial. Qual fórmula ajusta melhor os dados experimentais?
v0 = k[S] v0 =
k[S]
k[S]3
k[S]2
v0 =
v0 =
2
K + [S]
K + [S]
K + [S]3
[S], M
Taxa inicial, 10−6 M/s
0,01
0,05
0,1
0,5
1
5
10
50
100
6,3636 × 10−5
7,9520 × 10−3
6,3472 × 10−2
6,0049
17,690
24,425
24,491
24,500
24,500
Use interpolação polinomial de primeiro a quarto graus para fazer
uma estimativa da queda de voltagem para i = 1,15. Interprete seus
resultados.
20.33 Repita os cálculos do Problema 20.32, mas use regressão
polinomial para determinar as equações de melhor ajuste de
primeiro a quarto graus utilizando todos os dados. Faça um gráfico
de seus resultados e uma avaliação deles.
20.34 A corrente em um fio é medida com grande precisão como
uma função do tempo:
t
0
0,1250
0,2500
0,3750
0,5000
i
0
6,24
7,75
4,85
0,0000
Determine i em t = 0,23.
20.35 Os seguintes dados foram tirados de uma experiência que
mediu a corrente em um fio para várias voltagens impostas:
V, V
2
3
4
5
7
10
i, A
5,2
7,8
10,7
13
19,3
27,5
(a) Com base em uma regressão linear desses dados, determine a
corrente para a voltagem de 3,5 V. Trace a reta e os dados e avalie o ajuste.
(b) Refaça a regressão e force a intersecção com o eixo y a ser zero.
20.36 É conhecido que a queda de voltagem através de um indutor
segue a lei de Faraday:
di
VL = L
dt
onde VL é a queda de voltagem (em volts), L é a indutância (em
henrys; 1 H = 1 V· s/A) e i é a corrente (em ampères). Use os
seguintes dados para fazer uma estimativa de L:
di/dt, A/s
VL, V
1
2
4
6
8
10
5,5
12,5
17,5
32
38
49
Qual o significado, se houver algum, da intersecção com o eixo y da
equação de regressão deduzida a partir desses dados?
20.37 A lei de Ohm afirma que a queda de voltagem V através de
um resistor ideal é linearmente proporcional à corrente i passando
pelo resistor como em V = iR, onde R é a resistência. Entretanto, resistores reais podem nem sempre obedecer à lei de Ohm. Suponha
que você fez algumas experiências muito precisas para medir a
20.30 Os engenheiros ambientais, lidando com o impacto da chuva queda de voltagem e a corrente correspondente para um resistor. Os
ácida, devem determinar o valor do produto iônico da água Kw resultados, listados na Tabela P20.37, sugerem uma relação
como função da temperatura. Os cientistas sugeriram a seguinte curvilínea em vez da reta representada pela lei de Ohm. Para quanequação para modelar essa relação:
tificar essa relação, uma curva deve ser ajustada aos dados. Por
causa dos erros nas medidas, a regressão, tipicamente, seria o
a
− log10 K w =
+ b log10 Ta + cTa + d
método preferido de ajuste de curva para analisar tais dados expeTa
rimentais. Entretanto, o fato dessa relação ser lisa e a precisão dos
onde Ta é a temperatura absoluta (K), e a, b, c e d são parâmetros. métodos experimentais sugerem que a interpolação poderia ser
Use os seguintes dados e regressão para fazer uma estimativa dos apropriada. Use um polinômio interpolador de Newton para ajustar
parâmetros:
os dados e calcule V para i =
0,10. Qual é o grau do
T (K)
273,15
283,15
293,15
303,15
313,15
polinômio que foi usado
Kw
1,164 × 10−15
2,950 × 10−15
6,846 × 10−15
1,467 × 10−14
2,929 × 10−14
para gerar os dados?
Engenharia Elétrica
20.31 Faça os mesmos cálculos que na Seção 20.3, mas analise
dados gerados por f (t) = 4 cos(5t) − 7 sen(3t) + 6.
20.32 Você mediu a queda de voltagem V através de um resistor
para diversos valores diferentes da corrente i. Os resultados são
i
0,25
0,75
1,25
1,5
2,0
V
−0,45
−0,6
0,70
1,88
6,0
TABELA P20.37 Dados experimentais para a queda de
voltagem através de um resistor sujeito a
diversos níveis de corrente.
i
V
−2
−1
−0,5
−637
−96,5
−20,5
0,5
1
2
20,5
96,5
637
20.38 Repita o Problema 20.37, mas determine os coeficientes do
polinômio (Seção 18.4) que ajusta os dados da Tabela P20.37.
PROBLEMAS
483
Temperatura, °C
200
250
300
375
425
475
600
Elongação, %
7,5
8,6
8,7
10
11,3
12,7
15,3
20.40 As funções de Bessel aparecem com freqüência na análise
avançada da engenharia tal como no estudo de campos elétricos.
Essas funções usualmente não podem ser calculadas de forma simples e, portanto, em geral são compiladas em tabelas matemáticas
padrão. Por exemplo,
1,8
2
2,2
2,4
2,6
0,5815
0,5767
0,556
0,5202
0,4708
x
J1(x)
mola”. Use regressão linear para determinar um valor de k para a
parte linear desse sistema. Além disso, ajuste uma relação nãolinear para a parte não-linear.
Comportamento
não-ideal:
a mola está
"enrijecendo"
Lei de Hook
Força, 104 N
20.39 É feita uma experiência para determinar a elongação porcentual
de um material condutor elétrico como uma função da temperatura. Os
dados resultantes estão listados a seguir. Faça uma previsão para a
elongação porcentual para a temperatura de 400 °C.
40
Estime J1(2,1), usando (a) um polinômio interpolador e (b) splines
cúbicos. Observe que o valor verdadeiro é 0,568292.
20.41 A população (p) de uma pequena comunidade na periferia de
uma cidade cresce rapidamente durante um período de 20 anos:
t
0
5
10
15
20
p
100
200
450
950
2.000
Como um engenheiro trabalhando para uma companhia de serviços
públicos, você deve prever qual será a população daqui a cinco
anos para antecipar a demanda por energia elétrica. Use um modelo
exponencial e regressão linear para fazer essa previsão.
Engenharia Mecânica/Aeroespacial
20.42 Com base na Tabela 20.4, use interpolação linear e quadrática para calcular Q para D = 1,23 pé e S = 0,001 pé/pé. Compare
seus resultados com o mesmo valor calculado com a fórmula deduzida na Seção 20.4.
20.43 Reproduza a Seção 20.4, mas determine uma equação para
prever a inclinação como uma função do diâmetro e do escoamento. Compare seus resultados com a fórmula da Seção 20.4 e
discuta seus resultados.
20.44 A viscosidade dinâmica da água μ(10−3 N· s/m2) está relacionada com a temperatura T (oC) da seguinte maneira:
T
0
5
10
20
30
40
μ
1,787
1,519
1,307
1,002
0,7975
0,6529
(a) Trace esses dados.
(b) Use interpolação para prever μ em T = 7,5 oC.
(c) Use regressão polinomial para ajustar uma parábola aos dados
e fazer a mesma previsão.
20.45 A lei de Hooke, que é válida quando uma mola não for esticada demais, significa que a extensão da mola e a força aplicada
estão linearmente relacionadas. A proporcionalidade é parametrizada pela constante da mola k. Um valor para esse parâmetro
pode ser estabelecido experimentalmente colocando-se pesos conhecidos sobre a mola e medindo-se a compressão resultante. Tais
dados estão contidos na Tabela P20.45 e traçados na Figura P20.45.
Observe que, acima de um peso de 40 × 104 N, a relação linear
entre a força e o deslocamento deixa de ser válida. Esse tipo de
comportamento é típico do que é chamado “enrijecimento da
0,4
0,2
Deslocamento, m
Figura P20.45
Gráfico da força (em 104 newtons) em função do deslocamento
(em metros) para a mola de um sistema de suspensão de um automóvel.
20.46 Repita o Problema 20.45, mas ajuste uma curva de potência
a todos os dados na Tabela P20.45. Comente seus resultados.
20.47 A distância necessária para parar um automóvel consiste nas
componentes tanto de pensar como de frear, cada uma das quais é
uma função de sua velocidade. Os seguintes dados experimentais
foram coletados para quantificar essa relação. Determine uma
equação de melhor ajuste para as componentes de pensar e frear.
Use essas equações para fazer uma estimativa da distância de
parada total para um carro movendo-se a 110 m/h.
Velocidade, m/h
30
45
60
75
90
120
Pensar, m
5,6
8,5
11,1
14,5
16,7
22,4
Frear, m
5,0
12,3
21,0
32,9
47,6
84,7
20.48 Uma experiência é feita para definir uma relação entre a tensão aplicada e o tempo de fratura para um tipo de aço inoxidável.
Oito valores diferentes de tensão foram aplicados e os dados resultantes são
Tensão aplicada x, kg/mm2
Tempo de fratura y, h
5
10 15
20
25 30
35 40
40
30 25
40
18 20
22 15
Trace os dados e então determine uma equação de melhor ajuste para
prever o tempo de fratura para uma tensão aplicada de 20 kg/mm2.
20.49 A aceleração da gravidade a uma altitude y acima da superfície da Terra é dada por
TABELA P20.45 Valores experimentais para a elongação x e para a força F em uma mola no
sistema de suspensão de um carro.
Deslocamento, m
4
Força, 10 N
0,10
0,17
0,27
0,35
0,39
0,42
0,43
0,44
10
20
30
40
50
60
70
80
ESTUDO DE CASOS: AJUSTE DE CURVAS
484
y, m
g, m/s2
0
30.000
60.000
90.000
120.000
9,8100
9,7487
9,6879
9,6278
9,5682
Calcule g em y = 55.000 m.
.
20.50 A taxa de arrasto é a taxa no tempo pela qual a deformação
aumenta e os dados de tensão a seguir foram obtidos de um procedimento de teste. Usando um ajuste por uma curva do tipo lei de
potências,
ε̇ = Bσ m
determine os valores de B e m. Trace seus resultados usando uma
escala log/log.
Taxa de arrasto, min–1
Tensão, MPa
0,0004
0,0011
0,0021
0,0031
5,775
8,577
10,874
12,555
20.51 É uma prática comum, ao examinar o comportamento viscoso de um fluido, traçar a taxa de cisalhamento (gradiente da velocidade)
dv
= γ̇
dy
τ = μγ̇ n
Exemplos comuns são o iogurte e o xampu.
Os seguintes dados mostram a relação entra a tensão de cisalhamento τ e a taxa de deformação de cisalhamento γ̇ para um plástico de Bingham fluido. A tensão de cisalhamento inicial τy é a
quantidade de tensão que deve ser vencida antes de o escoamento
começar. Encontre a viscosidade μ (inclinação), τy, e o valor de r 2
usando o método da regressão.
Tensão τ, N/m2
Taxa de deformação de
cisalhamento γ̇ , 1/s
τ = μγ̇
onde μ é a viscosidade do fluido. Muitos fluidos comuns, como a
água, o leite e o óleo, seguem esse comportamento. Fluidos que não
se comportam dessa maneira são chamados não-newtonianos. Alguns exemplos de fluidos não-newtonianos são mostrados na
Figura P20.51.
3,91
4,98
5,65
6,15
1
2
3
4
5
20.52 A relação entre a tensão τ e a taxa de deformação de cisalhamento γ̇ para um pseudoplástico fluido (ver Problema 20.51)
pode ser expressa pela equação τ = μγ̇ n . Os seguintes dados são
de uma solução de 0,5% de hidroxi-etil-celulose em água. Usando
um ajuste por uma lei de potência, encontre os valores de μ e n.
Taxa de deformação de
cisalhamento γ̇ , 1/s
na abscissa versus a deformação de cisalhamento (τ) na ordenada.
Quando um fluido tem um comportamento linear entre essas duas
variáveis, é chamado fluido newtoniano, e a relação resultante é:
3,58
Tensão τ, N/m2
50
70
90
110
130
6,01
7,48
8,59
9,19
10,21
20.53 A velocidade u do ar escoando por uma superfície plana é
medida a diferentes distâncias y da superfície. Ajuste uma curva
a esses dados, supondo que a velocidade seja zero na superfície
(y = 0). Use seu resultado para determinar a tensão de cisalhamento
(μ du/dy) na superfície. (μ = 1,8 × 10−5 N · s/m 2)
y, m
0,002
0,006
0,012
0,018
0,024
u, m/s
0,287
0,899
1,915
3,048
4,299
Tensão de cisalhamento ()
20.54 A equação de Andrade foi proposta como um modelo para o
efeito da temperatura sobre a viscosidade,
μ = De B/Ta
m
ha
g
Bin
o
tic
lás
p
udo
Pse
N
o
ian
on
t
ew
Deformação de cisalhamento (␥• )
Figura P20.51
Para os plásticos de Bingham, existe uma tensão de cisalhamento inicial τy que deve ser vencida antes de o escoamento
começar,
τ = τ y + μγ̇
Um exemplo comum é a pasta de dentes.
Para os pseudoplásticos, a taxa de cisalhamento é elevada à
potência n,
onde μ é a viscosidade dinâmica da água (10−3 N · s/m2), Ta é a
temperatura absoluta (K), e D e B são parâmetros. Ajuste esse modelo aos dados para a água do Problema 20.44.
20.55 Determine equações para ajustar os calores específicos
ideais cp (kJ/kg · K), como uma função da temperatura T (K), para
diversos gases, como listado na Tabela P20.55.
20.56 As temperaturas são medidas em diversos pontos de uma
placa aquecida (Tabela P20.56). Faça uma estimativa da temperatura em (a) x = 4, y = 3,2 e (b) x = 4,3, y = 2,7.
20.57 Os dados na Tabela P20.57 foram obtidos de um teste de arrasto feito à temperatura ambiente em um fio composto de 40% de
estanho, 60% de chumbo e solda sólida. Isso foi feito medindo-se o
aumento na deformação ao longo do tempo enquanto uma carga
constante era aplicada à amostra de teste. Usando o método de regressão linear, encontre (a) a equação da reta que melhor ajusta os
dados e (b) o valor de r 2. Faça o gráfico de seus resultados. Na reta
que passa pela origem — ou seja, no instante 0 — deveria haver alguma deformação? Se a reta não passar pela origem, force-a a fazer
isso. Essa nova reta representa a tendência dos dados? Sugira uma
nova equação que satisfaça a deformação zero no instante zero e
que também represente bem a tendência dos dados.
PROBLEMAS
485
TABELA P20.55 Calores específicos ideais, cp (kJ/kg · K) como uma função da temperatura para diversos gases.
Gás
250 K
300 K
350 K
450 K
550 K
650 K
800 K
900 K
1000 K
H2
CO2
O2
N2
14,051
0,791
0,913
1,039
14,307
0,846
0,918
1,039
14,427
0,895
0,928
1,041
14,501
0,978
0,956
1,049
14,53
1,046
0,988
1,065
14,571
1,102
1,017
1,086
14,695
1,169
1,054
1,121
14,822
1,204
1,074
1,145
14,983
1,234
1,09
1,167
TABELA P20.56 Temperatura (°C) em diversos pontos de uma placa aquecida quadrada.
y
y
y
y
y
=
=
=
=
=
0
2
4
6
8
x=0
x=2
x=4
x=6
x=8
100,00
85,00
70,00
55,00
40,00
90,00
64,49
48,90
38,78
35,00
80,00
53,50
38,43
30,39
30,00
70,00
48,15
35,03
27,07
25,00
60,00
50,00
40,00
30,00
20,00
TABELA P20.57
Tempo,
Deformação,
Tempo,
Deformação,
Tempo,
Deformação,
min
%
min
%
min
%
0,085
0,586
1,086
1,587
2,087
2,588
3,088
0,10
0,13
0,16
0,18
0,20
0,23
0,25
3,589
4,089
4,590
5,090
5,591
6,091
6,592
0,26
0,30
0,32
0,34
0,37
0,39
0,41
7,092
7,592
8,093
8,593
9,094
9,594
10,097
0,43
0,45
0,47
0,50
0,52
0,54
0,56
EPÍLOGO: PARTE CINCO
PT5.4 PRÓS E CONTRAS
A Tabela PT5.4 fornece um resumo dos prós e contras envolvidos no ajuste de curvas. As
técnicas foram divididas em duas grandes categorias, dependendo das incertezas dos
dados. Para medidas imprecisas, a regressão é usada para determinar uma “melhor” curva
que ajuste a tendência geral dos dados sem necessariamente passar por nenhum ponto individual. Para medidas precisas, a interpolação é usada para determinar uma curva que
passe diretamente por cada um dos pontos.
Todos os métodos de regressão são desenvolvidos para ajustar funções que minimizem a soma dos quadrados dos resíduos entre os dados e a função. Esses métodos são
chamados regressão por mínimos quadrados. A regressão por mínimos quadrados linear
é usada nos casos em que uma variável dependente e uma independente estão relacionadas entre si de uma forma linear. Para situações nas quais uma variável dependente
e uma independente exibem uma relação curvilínea, diversas opções estão disponíveis.
Em alguns casos, podem ser utilizadas transformações que linearizem a relação, e a regressão linear pode ser aplicada às variáveis transformadas para determinar a melhor
reta. Alternativamente, a regressão polinomial pode ser usada para ajustar uma curva diretamente aos dados.
A regressão linear múltipla é utilizada quando uma variável dependente for uma
função linear de duas ou mais variáveis independentes. Transformações logarítmicas também podem ser aplicadas a esse tipo de regressão para alguns casos nos quais a dependência múltipla é curvilínea.
TABELA PT5.4 Comparação das características dos métodos de ajustes de curvas.
Método
Erro
Associado
aos Dados
Coincidência
com Pontos
Individuais
Número de Pontos
com Concordância
Exata
Esforço de
Programação
Regressão
Regressão linear
Regressão polinomial
Grande
Grande
Aproximada
Aproximada
0
0
Fácil
Moderado
Grande
Grande
Aproximada
Aproximada
0
0
Moderado
Difícil
Pequeno
Exata
n+1
Fácil
Pequeno
Exata
n+1
Fácil
Pequeno
Exata
Ajuste por partes
dos pontos dados
Moderado
Regressão linear múltipla
Regressão não-linear
Interpolação
Polinômio por diferenças
divididas de Newton
Polinômios de Lagrange
Splines cúbicos
486
Comentários
Os erros de arredondamento se
tornam pronunciados para
versões de grau mais alto
Usualmente preferido para
análise exploratória
Usualmente preferido quando o
grau é conhecido
Primeira e segunda derivadas
iguais nos nós
PT5.4 PRÓS E CONTRAS
487
As regressões polinomial e linear múltipla (observe que uma regressão linear simples é um membro de ambas) pertencem a uma classe mais geral de modelos lineares de
mínimos quadrados. Elas são classificadas dessa forma porque são lineares com relação a
seus coeficientes. Esses modelos são tipicamente implementados usando sistemas
algébricos lineares que são, algumas vezes, mal condicionados. Entretanto, em muitas
aplicações de engenharia (isto é, para ajuste de grau mais baixo), isso não desempenha
um papel importante. No caso de haver problemas, estão disponíveis abordagens alternativas. Por exemplo, uma técnica chamada polinômios ortogonais está disponível para
fazer regressão polinomial (ver Seção PT5.6).
Equações que não são lineares com relação aos seus coeficientes são chamadas
não-lineares. Técnicas especiais de regressão estão disponíveis para ajustar tais equações.
Esses são métodos aproximados que começam com uma estimativa inicial do parâmetro e então, de modo iterativo, se aproximam dos valores que minimizam a soma dos
quadrados.
A interpolação polinomial foi desenvolvida para ajustar um único polinômio de grau
n que passe exatamente pelos n 1 dados precisos. Esse polinômio é apresentado de duas
formas alternativas. O polinômio interpolador por diferenças divididas de Newton idealmente é adequado para os casos nos quais o grau adequado do polinômio não é conhecido.
O polinômio de Newton é apropriado para tais situações porque é facilmente programável
em um formato que compara resultados com graus diferentes. Além disso, uma estimativa
de erro pode ser incorporada de forma simples nessa técnica. Logo, você pode comparar e
escolher a partir dos resultados usando polinômios de diversos graus diferentes.
O polinômio interpolador de Lagrange é uma formulação alternativa apropriada
quando o grau é conhecido a priori. Para essas situações, a versão de Lagrange é um
pouco mais simples de programar e não exige o cálculo e o armazenamento de diferenças
divididas finitas.
Outra abordagem para ajustar curvas é a interpolação por splines, técnica que ajusta
um polinômio de grau baixo a cada intervalo entre os dados. O ajuste é tornado liso igualando-se as derivadas dos polinômios adjacentes no seu ponto de ligação. O spline cúbico
é a versão mais comum. Os splines têm grande utilidade no ajuste de dados que no geral
são lisos, mas exibem regiões locais de variação abrupta. Tais dados tendem a induzir
grandes oscilações em polinômios interpoladores de grau mais alto. Os splines cúbicos são
menos sujeitos a essas oscilações porque estão limitados a variações de terceira ordem.
O método final coberto nesta parte do livro é a aproximação de Fourier. Essa área
trata do uso de funções trigonométricas para aproximar formas ondulatórias. Em contraste com outras técnicas, a ênfase principal dessa abordagem não é ajustar uma curva
aos pontos dados. Em vez disso, a curva ajustada é usada para analisar as freqüências características de um sinal. Em particular, uma transformada rápida de Fourier está
disponível para transformar de maneira muito eficiente uma função do domínio do tempo
para o domínio da freqüência para elucidar sua estrutura harmônica subjacente.
PT5.5 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT5.5 resume informações importantes que foram apresentadas na Parte
Cinco. Essa tabela pode ser consultada para acessar rapidamente relações e fórmulas
importantes.
EPÍLOGO: PARTE CINCO
488
TABELA PT5.5 Resumo das informações importantes apresentadas na Parte Cinco.
Método
Formulação
Interpretação
Gráfica
Regressão
linear
y ⫽ a0 a1x
y
Regressão
polinomial
Erros
sy/x ⫽
n冱xiyi ⫺ 冱xi冱yi
onde a1 ⫽ ᎏᎏ
n冱xi2 ⫺ (冱xi)2
a0 ⫽ y苶 ⫺ a1x苶
y ⫽ a0 a1x ⫹ ⭈ ⭈ ⭈ ⫹ amxm
(Cálculo dos a’s equivalente à solução de
m ⫹ 1 equações algébricas lineares)
x
y
x2
冢
0
y
冣冢 ᎏ
x ⫺x 冣
x ⫺ x0
⫹ f(x2) ᎏ
x2 ⫺ x0
冣冢 ᎏ
x ⫺x 冣
冢
y
2
x
x ⫺ x1
2
1
Uma função cúbica:
aix3 ⫹ bix2 ⫹ cix ⫹ di
é ajustada a cada intervalo entre os nós.
Primeira e segunda derivadas iguais
em cada nó.
*Observação: por simplicidade, é mostrada a versão de 2o grau.
y
Sr
R2 ⫽ (x ⫺ x0)(x ⫺ x1)(x ⫺ x2)f [x3, x2, x1, x0]
f (3)()
R2 ⫽ (x ⫺ x0)(x ⫺ x1)(x ⫺ x2) ᎏ
6
ou
x ⫺ x2
1
ᎏ
冪ᎏ
莦
n ⫺ (m莦
⫹ 1)
f (3)()
R2 ⫽ (x ⫺ x0)(x ⫺ x1)(x ⫺ x2) ᎏ
6
ou
2
x ⫺ x0
⫹ f(x1) ᎏ
x1 ⫺ x0
冢
Splines cúbicos
x ⫺ x2
冣冢 ᎏ
x ⫺x 冣
Sr
St ⫺ Sr
r2 ⫽ ᎏ
St
x
x ⫺ x1
f2(x) ⫽ f(x0) ᎏ
x0 ⫺ x1
ᎏ
冪ᎏ
莦
n ⫺ (m莦
⫹ 1)
St ⫺ Sr
r2 ⫽ ᎏ
St
sy/x ⫽
x1
Polinômio
interpolador de
Lagrange*
St⫺Sr
r2 ⫽ ᎏ
St
sy/x ⫽
y ⫽ a0 ⫹ a1x1 ⫹ ⭈ ⭈ ⭈ ⫹ amxm
(Cálculo dos a’s equivalente à solução de
m ⫹ 1 equações algébricas lineares)
f2(x) ⫽ b0 ⫹ b1(x ⫺ x0) ⫹ b2(x ⫺ x0)(x ⫺ x1)
Polinômio
interpolador por onde
b0 ⫽ f(x0)
diferenças
b1 ⫽ f [x1, x0]
divididas de
b2 ⫽ f [x2, x1, x0]
Newton*
Sr
y
x
Regressão
linear
múltipla
ᎏ
冪ᎏ
莦
n⫺2
a1 x 3 + b1 x 2 + c1 x + d1
nó
a2 x 3 + b2 x 2 + c2 x + d2
x
R2 ⫽ (x ⫺ x0)(x ⫺ x1)(x ⫺ x2)f [x3, x2, x1, x0]
PT5.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
489
PT5.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Embora a regressão polinomial com equações normais seja adequada para muitas aplicações da engenharia, há contextos de problemas nos quais a sensibilidade a erros de
arredondamento pode representar uma limitação séria. Uma abordagem alternativa
baseada em polinômios ortogonais pode diminuir esses efeitos. Deve ser observado que
essa abordagem não fornece uma equação de melhor ajuste, mas, em vez disso, fornece
previsões individuais para valores dados para a variável independente. Informações
sobre polinômios ortogonais podem ser encontradas em Shampine e Allen (1973) e
Guest (1961).
A técnica dos polinômios ortogonais é útil no desenvolvimento de uma regressão
polinomial, mas não representa uma solução para a instabilidade para o modelo de regressão linear geral [Equação (17.23)]. Uma abordagem alternativa baseada na decomposição por valor singular, chamada de método SVD, está disponível para esse propósito.
Forsythe et al. (1977), Lawson e Hanson (1974) e Press et al. (1992) contêm informações
sobre essa abordagem.
Além do algoritmo de Gauss-Newton, há diversos métodos de otimização que
podem ser usados para desenvolver diretamente um ajuste por mínimos quadrados para
uma equação não-linear. Essas técnicas de regressão não-linear incluem os métodos de
Marquardt e do declive máximo (lembre-se da Parte Quatro). Informações gerais sobre
regressão podem ser encontradas em Draper e Smith (1981).
Todos os métodos na Parte Cinco foram expostos em termos de ajustar uma curva a
pontos dados. Além disso, você pode também querer ajustar uma curva a outra curva. O
motivo principal para tal aproximação funcional é representar funções complicadas por
uma versão mais simples que é mais fácil de manipular. Uma forma de fazer isso é usar a
função complicada para gerar uma tabela de valores. Então, as técnicas discutidas nesta
parte do livro podem ser usadas para ajustar polinômios a esses valores discretos.
Uma abordagem alternativa é baseada no princípio minimax (lembre-se da Figura 17.2c). Esse princípio especifica que os coeficientes do polinômio aproximador sejam
escolhidos de modo que a discrepância máxima seja tão pequena quanto possível. Logo,
embora a aproximação possa não ser tão boa quanto a dada pela série de Taylor no
ponto-base, em geral é melhor ao longo do intervalo todo do ajuste. A economia de
Chebyshev é um exemplo de uma abordagem para aproximação funcional baseada em
tal estratégia (Ralston e Rabinowitz, 1978; Gerald e Wheatley, 1989; Carnahan, Luther
e Wilkes, 1969).
Uma área importante no ajuste de curvas é a combinação de splines com regressão
por mínimos quadrados. Assim, é gerado um spline cúbico que não passe por todos os
pontos, mas, em vez disso, minimize a soma dos quadrados dos resíduos entre os pontos
dados e as curvas do spline. A abordagem envolve o uso dos assim chamados splines B
como funções-base. Eles levam esse nome por causa de seu uso como funções base, mas
também por causa de sua forma característica de sino (bell). Tais curvas são consistentes
com uma abordagem por splines, pois os seus valores e os de suas primeira e segunda
derivadas seriam contínuos nas suas extremidades. Logo, a continuidade de f(x) e de suas
derivadas de ordem mais baixa é garantida nos nós. Wold (1974), Prenter (1975) e
Cheney e Kincaid (1994) apresentam discussões sobre essa abordagem.
Em resumo, o objetivo da discussão anterior é fornecer a você avenidas para uma exploração mais profunda do assunto. Além disso, todas essas referências dadas fornecem
descrições das técnicas básicas cobertas na Parte Cinco. Nós o encorajamos a consultar
essas fontes alternativas para alargar seu entendimento dos métodos numéricos para
ajuste de curvas.
PARTE SEIS
INTEGRAÇÃO E
DERIVAÇÃO
NUMÉRICAS
PT6.1 MOTIVAÇÃO
O cálculo é a matemática da variação. Como os engenheiros devem lidar continuamente
com sistemas e processos que variam, o cálculo é uma ferramenta essencial de sua profissão. No cerne do cálculo estão os conceitos matemáticos relacionados de derivação (ou
diferenciação) e integração.
De acordo com a definição do dicionário, diferenciar significa “marcar por diferenças;
distinguir;... perceber a diferença entre”. Matematicamente, a derivada, que serve como o
veículo fundamental da derivação, representa a taxa de variação de uma variável dependente
com relação a uma variável independente. Como mostrado na Figura PT6.1, a definição
matemática da derivada começa com uma aproximação por diferenças:
y
f(xi + x) − f(xi )
=
x
x
(PT6.1)
em que y e f (x) são representações alternativas para a variável dependente e x é a variável
independente. Se for permitido que x se aproxime de zero, como ocorre ao nos movermos
da Figura PT6.1a para c, a diferença se torna a derivada
f(xi + x) − f(xi )
dy
= lim
x→0
dx
x
em que dy/dx [que também pode ser designada por y ′ ou f ′(xi)] é a primeira derivada de y
com relação a x, calculada em xi. Como visto na descrição visual da Figura PT6.1c, a derivada é a inclinação da reta tangente à curva em xi.
O processo inverso da derivação no cálculo é a integração. De acordo com a definição do dicionário, integrar significa “juntar as partes em um todo; unir, indicar a
quantidade total...”. Matematicamente, a integração é representada por
b
I =
f(x) dx
(PT6.2)
a
FIGURA PT6.1
A definição gráfica de uma derivada: conforme x se aproxima de zero ao passar de (a) para (c), a aproximação por diferença
se torna a derivada.
y
y
y
f (xi + ⌬x)
⌬y
f (xi + ⌬x)
⌬y
f (xi)
f ' (xi)
f (xi)
xi + ⌬x
xi
⌬x
(a)
x
xi + ⌬x
xi
x
xi
x
⌬x
(b)
(c)
491
492
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
f (x)
a
b
x
FIGURA PT6.2
Representação gráfica da integral de f(x) entre os extremos x = a e b. A integral é equivalente
à área abaixo da curva.
o que indica a integral de uma função f (x) em relação à variável independente x, calculada
entre os extremos x = a e x = b. A função f (x) na Equação (PT6.2) é conhecida como o
integrando.
Como sugerido pela definição do dicionário, o “significado” da Equação (PT6.2) é o
valor total ou a soma de f(x) dx no intervalo de x = a a b. De fato, o símbolo é, na realidade, um S maiúsculo estilizado usado para indicar a conexão íntima entre integração e
soma.
A Figura PT6.2 representa uma descrição gráfica do conceito. Para funções que
estão acima do eixo x, a integral expressa pela Equação (PT6.2) corresponde à área sob a
curva de f (x) entre x = a e b.1
Como já delineado, a “separação” ou “discriminação” da derivação e o “juntar” da
integração são processos intimamente ligados, que são, de fato, inversamente relacionados (Figura PT6.3). Por exemplo, se for dada uma função y(t) que especifica a posição de
um objeto como uma função do tempo, a derivação fornece um meio de determinar sua
velocidade, como em (Figura PT6.3a):
v(t) =
d
y(t)
dt
Reciprocamente, se for dada a velocidade como uma função do tempo, a integração pode
ser usada para determinar sua posição (Figura PT6.3b),
t
v(t) dt
y(t) =
0
Logo, pode-se fazer a afirmação geral de que o cálculo da integral
b
I =
f(x) dx
a
é equivalente à resolução da equação diferencial
dy
= f(x)
dx
para a determinação de y(b) dada a condição inicial y(a) = 0.
1
Deve ser observado que o processo representado pela Equação (PT6.2) e pela Figura PT6.2 é chamado integração definida. Existe um outro tipo chamado integração indefinida, no qual os extremos a e b não são especificados. Como será discutido na Parte Sete, a integração indefinida trata da determinação de uma função
cuja derivada é dada.
PT6.1 MOTIVAÇÃO
493
y
v
400
4
200
0
2
0
4
8
12 t
v
0
0
4
0
4
8
12 t
8
12 t
y
400
4
200
2
FIGURA PT6.3
O contraste entre (a) derivação
e (b) integração.
0
0
4
8
(a)
12 t
0
(b)
Por causa de sua relação íntima, optou-se por dedicar esta parte do livro a ambos os
processos. Entre outras coisas, isso fornecerá a oportunidade de destacar suas semelhanças e diferenças de uma perspectiva numérica. Além disso, a discussão será relevante
para as próximas partes do livro nas quais cobriremos as equações diferenciais.
PT6.1.1 Métodos Não-Computacionais para Diferenciação
e Integração
A função a ser diferenciada ou integrada estará tipicamente em uma das três formas:
1. Uma função no contínuo simples tal como um polinômio, uma exponencial ou uma
função trigonométrica.
2. Uma função no contínuo complicada que é difícil ou impossível de derivar ou integrar
diretamente.
3. Uma função tabulada em que valores de x e f (x) são dados em vários pontos discretos,
como em geral é o caso com dados experimentais ou de campo.
No primeiro caso, a derivada ou integral de uma função simples pode ser calculada
analiticamente usando-se o cálculo. Para o segundo caso, as soluções analíticas são freqüentemente não práticas e, em alguns casos, impossíveis de obter. Nesses casos, bem
como no terceiro caso, de dados discretos, devem ser empregados métodos aproximados.
Um método não-computacional para determinar derivadas dos dados é chamado de
derivação gráfica por áreas iguais. Nesse método, os dados (x, y) são tabulados e, para cada
intervalo, uma diferença dividida simples y/x é usada para fazer uma estimativa da inclinação. Então, esses valores são colocados em um gráfico com degraus, em função de x
(Figura PT6.4). A seguir, é desenhada uma curva lisa que tenta aproximar a área sob a curva
em degraus. Isto é, ela é desenhada de modo que, visualmente, as áreas positivas e negativas fiquem balanceadas. As taxas nos valores dados de x podem então ser lidas na curva.
No mesmo espírito, abordagens visualmente orientadas foram usadas para integrar
dados tabulados e funções complicadas na era pré-computador. Uma abordagem intuitiva
simples é traçar a função em um reticulado (Figura PT6.5) e contar o número de retângulos que aproximam a área. Esse número é multiplicado pela área de cada retângulo,
fornecendo uma estimativa grosseira da área sob a curva. Essa estimativa pode ser refinada, com o custo de um esforço adicional, usando-se um reticulado mais fino.
494
FIGURA PT6.4
Derivação por áreas iguais.
(a) Diferenças divididas finitas
centrais são usadas para obter
estimativas da derivada para
cada intervalo entre os pontos
dados. (b) As estimativas das
derivadas são traçadas em um
gráfico de barras. Uma curva
lisa é superposta a esse gráfico
para aproximar a área sob o
gráfico de barras. Isso é
conseguido desenhando-se a
curva de modo que áreas
iguais positivas e negativas
estejam balanceadas.
(c) Valores de dy/dx podem
então ser lidos na curva lisa.
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
⌬y
⌬x
x
0
y
0
3
200
6
350
9
470
15
650
18
720
⌬y/⌬x
66,7
50
50
40
30
23,3
0
(a)
3
6
9
12
15
(b)
18
x
0
dy/dx
76,50
3
57,50
6
45,00
9
36,25
15
25,00
18
21,50
x
(c)
f (x)
FIGURA PT6.5
O uso de um reticulado para
obter uma aproximação para
uma integral.
a
b
x
Uma outra abordagem pelo bom senso é dividir a área em segmentos verticais ou faixas,
com uma altura igual ao valor da função no ponto médio de cada faixa (Figura PT6.6). A área
dos retângulos pode então ser calculada e somada para se obter uma estimativa da área
total. Nessa abordagem, é suposto que o valor no ponto médio fornece uma aproximação
válida da altura média da função em cada faixa. Como no caso do reticulado, estimativas
refinadas são possíveis usando-se mais faixas (e mais finas) para aproximar a integral.
Embora tais abordagens simples tenham utilidade para estimativas rápidas, técnicas
numéricas alternativas estão disponíveis para o mesmo propósito. Não surpreendentemente,
o mais simples desses métodos é parecido, de forma geral, às técnicas não-computacionais.
Para a derivação, a técnica numérica mais fundamental usa diferenças divididas finitas para obter estimativas das derivadas. Para dados com erros, uma abordagem alternativa é ajustar uma curva lisa aos dados com uma técnica como a regressão por mínimos
quadrados e então derivar essa curva para obter estimativas para as derivadas.
PT6.1 MOTIVAÇÃO
495
f (x)
FIGURA PT6.6
O uso de retângulos ou faixas
para aproximar uma integral.
a
b
x
De forma parecida, a integração numérica ou métodos de quadratura estão disponíveis para se obter integrais. Tais métodos, que são, na realidade, mais fáceis de implementar do que a abordagem por reticulado, são parecidos com o método da faixa. Isto é,
as alturas da função são multiplicadas pelas larguras das faixas e somadas para se obter
uma estimativa da integral. Entretanto, com escolhas inteligentes de fatores de peso, a estimativa resultante pode-se tornar mais acurada que aquela do modelo de faixas simples.
Como no método das faixas simples, as técnicas de derivação e integração numéricas usam dados em pontos discretos. Como a informação tabulada já está em tal forma,
ela é naturalmente compatível com muitas das abordagens numéricas. Embora as funções
no contínuo não estejam originalmente na forma discreta, em geral é uma tarefa simples
usar a equação dada para gerar uma tabela de valores. Como mostrado na Figura PT6.7,
essa tabela pode ser analisada por um método numérico.
PT6.1.2 Derivação e Integração Numéricas em Engenharia
A derivação e a integração de uma função têm tantas aplicações em engenharia que foi
necessário que você fizesse cursos de cálculo diferencial e integral em seu primeiro ano
na faculdade. Muitos exemplos específicos de tais aplicações podem ser dados em todos
os campos da engenharia.
A derivação é rotineira na engenharia porque muito de nosso trabalho envolve a caracterização da mudança das variáveis no tempo e no espaço. De fato, muitas das leis e outras generalizações que desempenham um papel tão importante em nosso trabalho são
baseadas na forma previsível pelas quais as variações se manifestam no mundo físico. Um
exemplo importante é a segunda lei de Newton, que não é enunciada em termos da posição
de um objeto, mas, em vez disso, em termos da variação da posição com relação ao tempo.
Além de tais exemplos temporais, diversas leis que governam o comportamento espacial das variáveis são expressas em termos de derivadas. Entre as mais comuns estão as
leis envolvendo potenciais ou gradientes. Por exemplo, a lei de Fourier de condução de
calor quantifica a observação de que o calor flui de regiões de alta para regiões de baixa
temperatura.
Fluxo de calor = −k ′
dT
dx
Logo, a derivada fornece uma medida da intensidade da variação de temperatura, ou do
gradiente, que governa a transferência de calor. Leis parecidas fornecem modelos práticos em muitas outras áreas da engenharia, incluindo a modelagem da mecânica dos fluidos, a transferência de massa e o fluxo eletromagnético. A habilidade de obter estimativas
acuradas para as derivadas é uma faceta importante em nossa capacidade de trabalhar eficientemente nessas áreas.
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
496
冕
(a)
0
2
2 + cos (1 + x 3/2)
e 0,5x dx
1 + 0,5 sen x
x
0,25
0,75
1,25
1,75
(b)
f (x)
2,599
2,414
1,945
1,993
f (x)
Pontos discretos
FIGURA PT6.7
Aplicação de um método de
integração numérica: (a) Uma
função no contínuo
complicada. (b) Tabela de
valores discretos de f (x) gerada
a partir da função. (c) Uso de
um método numérico (aqui, o
método das faixas) para obter
uma estimativa da integral com
base nos pontos discretos. Para
uma função tabulada, os dados
já estão na forma tabular (b);
portanto, o passo (a) não é
necessário.
Função no
contínuo
2
(c)
1
0
0
1
2
x
Do mesmo modo como estimativas acuradas das derivadas são importantes na engenharia, o cálculo de integrais é igualmente valioso. Diversos exemplos relacionam
diretamente a idéia de integral com a área sob a curva. A Figura PT6.8 descreve uns
poucos casos nos quais a integração é usada para esse propósito.
FIGURA PT6.8
Exemplos de como a integração é usada para calcular áreas em aplicações de engenharia. (a) Um inspetor pode precisar saber a
área de um campo limitado por um riacho sinuoso e duas estradas. (b) Um engenheiro de recursos hidráulicos pode precisar saber
a área da seção transversal de um rio. (c) Um engenheiro de estruturas poderia precisar determinar a força média decorrente de
um vento não-uniforme soprando contra o lado de um arranha-céu.
(a)
(b)
(c)
PT6.1 MOTIVAÇÃO
497
Outra aplicação comum da integral se relaciona com a analogia entre integração e
soma. Por exemplo, uma aplicação comum é determinar a média de uma função contínua.
Na Parte Cinco, foi apresentado o conceito de média de n pontos discretos [lembre-se da
Equação (PT5.1)]:
Média =
n
yi
i=1
(PT6.3)
n
em que yi são medidas individuais. A determinação da média de pontos discretos é
ilustrada na Figura PT6.9a.
Em contraste, suponha que y seja uma função no contínuo de uma variável independente x, como descrito na Figura PT6.9b. Nesse caso, existe um número infinito de
valores entre a e b. Do mesmo modo que a Equação (PT6.3) pode ser aplicada para determinar a média de leituras discretas, você poderia também estar interessado em calcular
a média de uma função no contínuo y = f (x) no intervalo de a até b. A integração é usada
para esse propósito, como especificado pela fórmula
b
f(x) dx
Média = a
(PT6.4)
b−a
Essa fórmula tem centenas de aplicações em engenharia. Por exemplo, é usada para calcular o centro de gravidade de objetos irregulares na mecânica e na engenharia civil e para
determinar a corrente eficaz na engenharia elétrica.
As integrais também são usadas pelos engenheiros para calcular a quantidade total
de uma dada variável física. A integral pode ser calculada sobre uma reta, uma área ou um
volume. Por exemplo, a massa total de um composto químico em um reator é dada pelo
produto da concentração do composto químico pelo volume do reator, ou
Massa = concentração × volume
em que a concentração tem unidades de massa por volume. Entretanto, suponha que a
concentração varie de uma posição para outra dentro do reator. Nesse caso, é necessário
FIGURA PT6.9
Uma ilustração da média para
dados (a) discretos e
(b) contínuos.
y
Média
0
1
2
3
4
5
6
i
(a)
y = f (x)
Média
a
b
(b)
x
498
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
somar o produto das concentrações locais ci pelos elementos de volumes correspondentes
Vi:
Massa =
n
ci Vi
i=1
em que n é o número de volumes discretos. Para o caso contínuo, em que c(x, y, z) é uma
função conhecida e x, y e z são as variáveis independentes que indicam a posição em coordenadas cartesianas, a integração pode ser usada para o mesmo propósito:
Massa =
c(x, y, z) dx dy dz
ou
Massa =
c(V ) dV
V
que é conhecida como uma integral de volume. Observe a forte analogia entre a soma e a
integração.
Exemplos parecidos poderiam ser dados em outros campos da engenharia. Por
exemplo, a taxa total de transferência de energia através de um plano no qual o fluxo (em
calorias por centímetro quadrado) é uma função da posição é dada por
Transferência de calor =
fluxo dA
A
que é conhecida como uma integral de área, em que A é a área.
Analogamente, para o caso unidimensional, a massa total de uma haste de densidade
variável com área da seção transversal constante é dada por
L
m=A
ρ(x) dx
0
em que m é a massa total (kg), L é o comprimento da haste (em metros), ρ(x) é a densidade conhecida (kg/m3) como função do comprimento x (em metros) e A é a área da seção
transversal da haste (m2).
Finalmente, as integrais são usadas para resolver equações diferenciais ou de taxa.
Suponha que a velocidade de uma partícula é uma função conhecida contínua do tempo v(t),
dy
= v(t)
dt
A distância total y percorrida por essa partícula até o instante t é dada por (Figura PT6.3b)
t
v(t) dt
y=
(PT6.5)
0
Essas são apenas algumas poucas aplicações da derivação e da integração com as quais
você pode se deparar regularmente no exercício de sua profissão. Quando as funções que
devem ser analisadas forem simples, você normalmente preferirá calculá-las analiticamente. Por exemplo, no problema do pára-quedista em queda livre, determinamos a
solução para a velocidade como uma função do tempo [Equação (1.10)]. Essa relação
poderia ser substituída na Equação (PT6.5), a qual poderia então ser facilmente integrada
para determinar quanto o pára-quedista cai até o instante t. Nesse caso, é simples calcular
a integral. Entretanto, isso é difícil ou impossível quando a função é complicada, como é
tipicamente o caso em exemplos mais realistas. Além disso, a função subjacente, em
geral, é desconhecida e é definida apenas por medidas em pontos discretos. Para ambos
os casos, você precisa ter a habilidade de obter valores aproximados para derivadas e integrais usando técnicas numéricas. Diversas dessas técnicas serão discutidas nesta parte
do livro.
PT6.2 FUNDAMENTOS MATEMÁTICOS
499
PT6.2 FUNDAMENTOS MATEMÁTICOS
No ensino médio ou durante seu primeiro ano na faculdade, você foi apresentado ao cálculo diferencial e integral. Lá você aprendeu técnicas para obter derivadas e integrais
analítica ou exatamente.
Quando diferenciamos uma função analiticamente, geramos uma segunda função que
pode ser usada para calcular a derivada para diferentes valores da variável independente.
Estão disponíveis regras gerais para esse propósito. Por exemplo, no caso de um monômio
y = xn
a seguinte regra simples se aplica (n = 0):
dy
= nx n−1
dx
que é a expressão da regra mais geral para
y = un
em que u é uma função de x. Para essa equação, a derivada é calculada por
dy
du
= nu n−1
dx
dx
Duas outras fórmulas úteis se aplicam ao produto e ao quociente de funções. Por exemplo, se o produto de duas funções de x (u e v) for representado por y = uv, então a derivada pode ser calculada por
dv
du
dy
=u
+v
dx
dx
dx
Para a divisão, y = u/v, a derivada pode ser calculada por
dy
=
dx
v
dv
du
−u
dx
dx
v2
Outras fórmulas úteis estão resumidas na Tabela PT6.1.
Fórmulas parecidas estão disponíveis para integração definida, que trata da determinação de uma integral entre extremos especificados, como em
b
f(x) dx
I =
(PT6.6)
a
De acordo com o teorema fundamental do cálculo integral, a Equação (PT6.6) é calculada por
b
b
f(x) dx = F(x)
a
a
em que F(x) é uma primitiva de f(x) — isto é, qualquer função tal que F ′(x) = f(x). A notação no lado direito significa
b
F(x)a = F(b) − F(a)
(PT6.7)
Um exemplo de uma integral definida é
0,8
(0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5 ) dx
I =
(PT6.8)
0
Para esse caso, a função é um simples polinômio que pode ser integrado analiticamente
pelo cálculo de cada termo de acordo com a regra
b
b
x n+1
x n dx =
(PT6.9)
n + 1 a
a
500
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
TABELA PT6.1 Algumas derivadas comumente usadas.
d
ᎏᎏ sen x = cos x
dx
d
ᎏᎏ cotg x = −cosec2 x
dx
d
ᎏᎏ cos x = −sen x
dx
d
ᎏᎏ sec x = sec x tg x
dx
d
ᎏᎏ tg x = sec2 x
dx
d
ᎏᎏ cossec x = −cossec x cotg x
dx
1
d
ᎏᎏ ln x = ᎏᎏ
dx
x
d
1
ᎏᎏ loga x = ᎏᎏ
dx
x In a
d
ᎏᎏ ex = ex
dx
d
ᎏᎏ ax = ax ln a
dx
em que n não pode ser igual a −1. Aplicando essa regra a cada termo na Equação (PT6.8),
obtemos
400 6 0,8
200 3
4
5
2
I = 0,2x + 12,5x −
x + 168,75x − 180x +
x
(PT6.10)
3
6
0
a qual pode ser calculada de acordo com a Equação (PT6.7) como sendo I = 1,6405333.
Esse valor é igual à área sob o polinômio original [Equação (PT6.8)] entre x = 0 e 0,8.
A integração anterior depende do conhecimento da regra expressa pela Equação
(PT6.9). Outras funções seguem regras diferentes. Essas “regras” são todas meros exemplos de primitivação, isto é, de encontrar F(x) tal que F ′(x) = f (x). Conseqüentemente, a
integração analítica depende do conhecimento anterior da resposta. Esse conhecimento é
adquirido por treinamento e experiência. Muitas das regras estão resumidas em manuais
e em tabelas de integrais. Listamos na Tabela PT6.2 algumas integrais comumente encontradas. Entretanto, muitas funções de importância prática são muito complicadas para
estarem contidas em tais tabelas. Uma razão pela qual as técnicas nesta parte do livro são
tão valiosas é que elas fornecem uma maneira de calcular relações tais como a Equação
(PT6.8) sem conhecimento das regras (knowledge of the rules).
TABELA PT6.2 Algumas integrais simples que são usadas na Parte Seis. Os a e b nesta
tabela são constantes e não devem ser confundidos com os extremos de
integração discutidos no texto.
冕u dv = uv − 冕v du
冕u
n
冕a
bx
u n+1
du = ᎏᎏ + C
n⫹1
abx
dx = ᎏᎏ + C
b In a
n ⫽ −1
a > 0, a ⫽ 1
冕ᎏdxᎏx = ln |x| + C
x⫽0
冕sen (ax + b) dx = −ᎏ1aᎏ cos (ax + b) + C
冕cos (ax + b) dx = ᎏ1aᎏ sen (ax + b) + C
冕 ln |x| dx = x ln |x| − x + C
冕 e dx = ᎏeaᎏ + C
ax
冕 xe
ax
dx
冕ᎏ
ᎏ
a ⫹ bx
2
ax
eax
dx = ᎏᎏ
(ax −1) + C
a2
1
兹ab
苶
= ᎏᎏ tg−1 ᎏᎏ x + C
兹ab
苶
a
PT6.3 ORIENTAÇÃO
501
PT6.3 ORIENTAÇÃO
Antes de prosseguir para os métodos numéricos para integração, um pouco mais de orientação pode ser útil. O material a seguir foi planejado como uma visão geral do que é
discutido na Parte Seis. Além disso, forram formulados alguns objetivos para ajudá-lo a
focalizar seus esforços quando estudar este material.
PT6.3.1 Escopo e Visão Geral
A Figura PT6.10 fornece uma visão geral da Parte Seis. O Capítulo 21 é dedicado às abordagens mais comuns da integração numérica — as fórmulas de Newton-Cotes. Essas relações são baseadas na substituição de uma função complicada ou de dados tabulados por
um polinômio simples que é fácil de integrar. Três das mais amplamente usadas fórmulas de
Newton-Cotes serão discutidas em detalhes: a regra do trapézio, a regra 1/3 de Simpson e
a regra 3/8 de Simpson. Todas essas fórmulas se destinam aos casos nos quais os dados a
serem integrados estão igualmente espaçados. Além disso, também incluímos a discussão
da integração numérica de dados desigualmente espaçados. Esse é um tópico muito importante, porque muitas aplicações do mundo real tratam de dados que têm essa forma.
FIGURA PT6.10
Esquema da organização do material na Parte Seis: Integração e Derivação Numéricas.
PT 6.1
Motivação
PT 6.2
Fundamentos
matemáticos
PT 6.3
Orientação
21.1
A regra do
trapézio
PARTE 6
Derivação
e Integração
Numéricas
PT 6.6
Métodos
avançados
PT 6.5
Fórmulas
importantes
21.2
Regras de
Simpson
21.3
Integração
com segmentos
desiguais
CAPÍTULO 21
Fórmulas de
Integração de
Newton-Cotes
EPÍLOGO
PT 6.4
Prós e contras
21.4
Fórmulas
de integração
abertas
21.5
Integrais
múltiplas
22.1
Newton-Cotes
para equações
24.4
Engenharia
mecânica
24.3
Engenharia
elétrica
24.2
Engenharia
civil
CAPÍTULO 24
Estudo de
Casos: Integração
e Derivação
Numéricas
24.1
Engenharia
química
23.5
Bibliotecas e
pacotes
23.4
Dados
com erros
CAPÍTULO 22
Integração
de
Equações
22.2
Integração de
Romberg
22.3
Quadratura de
Gauss
CAPÍTULO 23
Derivação
Numérica
23.3
Dados desigualmente
espaçados
23.1
Fórmulas de
alta precisão
23.2
Extrapolação de
Richardson
22.4
Integrais
impróprias
502
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
Todo o material citado diz respeito à integração fechada, na qual os valores da função
nos extremos de integração são conhecidos. No final do Capítulo 21, serão apresentadas
fórmulas de integração abertas, nas quais os extremos de integração se estendem para
além do intervalo de dados conhecidos. Embora não sejam comumente usadas para integração definida, as fórmulas de integração abertas estão apresentadas aqui porque são extensamente usadas na solução de equações diferenciais ordinárias na Parte Sete.
As formulações cobertas no Capítulo 21 podem ser usadas para analisar tanto dados
tabulados quanto equações. O Capítulo 22 trata de duas técnicas que foram projetadas especialmente pra integrar equações e funções: a integração de Romberg e a quadratura de
Gauss. São fornecidos algoritmos computacionais para ambos os métodos. Além disso,
são discutidos métodos para o cálculo de integrais impróprias.
No Capítulo 23, são apresentadas informações adicionais sobre derivação numérica
para suplementar o material introdutório do Capítulo 4. Os tópicos incluem fórmulas de
diferenças finitas de alta precisão, extrapolação de Richardson e derivação de dados desigualmente espaçados. Os efeitos dos erros na derivação e na integração numéricas são
discutidos. Finalmente, o capítulo é concluído com uma descrição da aplicação de diversos pacotes e bibliotecas de software para integração e derivação.
O Capítulo 24 mostra como os métodos podem ser aplicados na resolução de problemas. Como nas outras partes do livro, as aplicações são tiradas de todos os setores
da engenharia.
Uma seção de revisão ou epílogo é incluída no final da Parte Seis. Essa revisão inclui uma discussão dos prós e contras relevantes para a implementação na prática da engenharia. Além disso, são resumidas as fórmulas importantes. Finalmente, é apresentada
uma pequena revisão de métodos avançados e referências alternativas que facilitarão seus
estudos adicionais de integração e derivação numéricas.
PT6.3.2 Metas e Objetivos
Objetivos de Estudo. Depois de completar a Parte Seis, você deverá ser capaz de resolver
muitos problemas de integração e derivação numéricas e apreciar suas aplicações na resolução de problemas. Você deverá esforçar-se para dominar diversas técnicas e avaliar sua
confiabilidade. Você deveria entender os prós e contras envolvidos na escolha do “melhor”
método (ou métodos) para qualquer problema particular. Além desses objetivos gerais, os
conceitos específicos listados na Tabela PT6.3 devem ser assimilados e dominados.
TABELA PT6.3 Objetivos de estudo específicos para a Parte Seis.
1. Entender a dedução das fórmulas de Newton-Cotes; saber como deduzir a regra do trapézio e como
montar a dedução de ambas as regras de Simpson; reconhecer que as regras dos trapézios e 1/3 e
3/8 de Simpson representam as áreas sob polinômios de 1o, 2o e 3o graus, respectivamente.
2. Saber as fórmulas e equações de erro para (a) a regra do trapézio, (b) a aplicação múltipla da
regra do trapézio, (c) a regra 1/3 de Simpson, (d) a regra 3/8 de Simpson e (e) a aplicação
múltipla da regra de Simpson. Ser capaz de escolher a “melhor” entre essas fórmulas para qualquer
contexto particular de problema.
3. Reconhecer que a regra 1/3 de Simpson é de quarta ordem mesmo sendo baseada em apenas três
pontos; perceber que todas as fórmulas de Newton-Cotes com número par de segmentos e ímpar de
pontos têm precisão melhorada similar.
4. Saber como calcular a integral e a derivada de dados desigualmente espaçados.
5. Reconhecer a diferença entre fórmulas de integração abertas e fechadas.
6. Entender a base teórica da extrapolação de Richardson e como ela é aplicada ao algoritmo da
integração de Romberg e na derivação numérica.
7. Entender a diferença fundamental entre as fórmulas de Newton-Cotes e as de quadratura de Gauss.
8. Reconhecer por que tanto a integração de Romberg quanto a quadratura de Gauss são úteis para
integrar equações (em oposição a dados tabulados ou discretos).
9. Saber como as fórmulas de integração são usadas para calcular integrais impróprias.
10. Entender a aplicação de fórmulas de derivação numérica de alta precisão.
11. Saber como derivar dados desigualmente espaçados.
12. Reconhecer os diferentes efeitos dos erros nos dados nos processos de derivação e integração numéricas.
PT6.3 ORIENTAÇÃO
503
Objetivos Computacionais. Serão fornecidos software e algoritmos computacionais
simples para implementar as técnicas discutidas na Parte Seis. Todos são úteis como ferramentas educacionais.
São fornecidos algoritmos para a maioria dos outros métodos na Parte Seis. Essa informação vai permitir-lhe expandir sua biblioteca de softwares além da regra do trapézio.
Por exemplo, você pode achar útil, do ponto de vista profissional, ter softwares capazes
de implementar integração e derivação numéricas de dados desigualmente espaçados. E
pode querer também desenvolver seu próprio software para as regras de Simpson, integração de Romberg e quadratura de Gauss, as quais são usualmente mais eficientes e acuradas do que a regra do trapézio.
Finalmente, um de seus objetivos mais importantes deveria ser dominar diversos dos
pacotes de software de propósitos gerais que estão amplamente disponíveis. Em particular, você deve tornar-se adepto do uso dessas ferramentas para implementar métodos
numéricos na resolução de problemas de engenharia.
CAPÍTULO
21
Fórmulas de Integração de
Newton-Cotes
As fórmulas de Newton-Cotes são os esquemas mais comuns de integração numérica.
Elas são baseadas na estratégia de substituir uma função complicada ou dados tabulados
por uma função aproximadora simples que seja fácil de integrar:
b
b
∼
I =
f(x) dx =
f n (x) dx
(21.1)
a
a
em que fn(x) é um polinômio da forma
f n (x) = a0 + a1 x + · · · + an−1 x n−1 + an x n
em que n é o grau do polinômio. Por exemplo, na Figura 21.1a, um polinômio de primeiro
grau (uma reta) é usado como uma aproximação. Na Figura 21.1b, é usada uma parábola
para o mesmo propósito.
A integral também pode ser aproximada usando uma série de polinômios aplicados
por partes à função ou dados em segmentos de comprimento constante. Por exemplo, na
Figura 21.2, três segmentos de reta são usados para aproximar a integral. Polinômios de
grau mais alto podem ser usados para o mesmo propósito. Com esse cenário, reconhecemos que o “método das faixas” na Figura PT6.6 empregava uma série de polinômios de grau zero (isto é, constantes) para aproximar a integral.
Estão disponíveis formas abertas e fechadas das fórmulas de Newton-Cotes. As formas fechadas são aquelas nas quais os dados nos extremos inicial e final de integração são
conhecidos (Figura 21.3a). As fórmulas abertas têm extremos de integração que se estendem além do intervalo dos dados (Figura 21.3b). Nesse sentido, elas são parecidas
com a extrapolação discutida na Seção 18.5. As fórmulas abertas de Newton-Cotes, em
geral, não são usadas para integração definida. Entretanto, são utilizadas para calcular integrais impróprias e na solução de equações diferenciais ordinárias. Este capítulo enfatiza
as formas fechadas. No entanto, material sobre as fórmulas de Newton-Cotes abertas é introduzido brevemente no seu final.
FIGURA 21.1
A aproximação de uma integral
pela área sob (a) uma única
reta e (b) uma única parábola.
f (x)
f (x)
a
b
(a)
504
x
a
b
(b)
x
21.1 A REGRA DO TRAPÉZIO
505
f (x)
FIGURA 21.2
A aproximação de uma
integral pela área sob três
segmentos de reta.
a
b
f (x)
f (x)
FIGURA 21.3
A diferença entre fórmulas de
integração (a) fechadas e (b)
abertas.
21.1
x
a
b
x
(a)
a
b
x
(b)
A REGRA DO TRAPÉZIO
A regra do trapézio é a primeira fórmula de integração fechada de Newton-Cotes. Ela
corresponde ao caso no qual o polinômio na Equação (21.1) é de primeiro grau:
b
b
f(x) dx ∼
f 1 (x) dx
I =
=
a
a
Lembre-se, do Capítulo 18, de que uma reta pode ser representada por [Equação (18.2)]
f 1 (x) = f(a) +
f(b) − f(a)
(x − a)
b−a
(21.2)
A área sob essa reta é uma estimativa da integral de f (x) entre os extremos a e b:
b
f(b) − f(a)
f(a) +
(x − a) dx
I =
b−a
a
O resultado da integração (veja o Quadro 21.1 para detalhes) é
I = (b − a)
f(a) + f(b)
2
que é chamada regra do trapézio.
(21.3)
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
506
Quadro 21.1
Dedução da Regra do Trapézio
Antes da integração, a Equação (21.2) pode ser expressa como
f 1(x) =
f(b) − f(a)
a f(b) − a f(a)
x + f(a) −
b−a
b−a
I =
f(b) − f(a) (b2 − a 2 ) b f(a) − a f(b)
+
(b − a)
b−a
2
b−a
Agora, como b2 − a2 = (b − a)(b + a),
Agrupando os dois últimos termos, obtemos
f 1(x) =
Esse resultado pode ser calculado por
f(b) − f(a)
b f(a) − a f(a) − a f(b) + a f(a)
x+
b−a
b−a
I = [ f(b) − f(a)]
b+a
+ b f(a) − a f(b)
2
Fazendo a multiplicação e agrupando os termos, obtemos
ou
I = (b − a)
f(b) − f(a)
b f(a) − a f(b)
f 1(x) =
x+
b−a
b−a
f(a) + f(b)
2
que é a fórmula da regra dos trapézios.
que pode ser integrada entre x = a e x = b para fornecer
b
b f(a) − a f(b)
f(b) − f(a) x 2
+
x
I =
b−a
2
b−a
a
Geometricamente, a regra dos trapézios é equivalente a aproximar a integral pela
área do trapézio sob a reta ligando f (a) e f(b) na Figura 21.4. Lembre-se, da geometria,
que a fórmula para calcular a área de um trapézio é a altura vezes a média das bases
(Figura 21.5a). Em nosso caso, o conceito é o mesmo, mas o trapézio está sobre o seu
lado (Figura 21.5b). Portanto, a estimativa da integral pode ser representada por
I ∼
= largura × altura média
(21.4)
I ∼
= (b − a) × altura média
(21.5)
ou
em que, para a regra dos trapézios, a altura média é a média dos valores da função nas
extremidades, ou [ f(a) + f (b)]/2.
Todas as fórmulas de Newton-Cotes fechadas podem ser expressas na forma geral da
Equação (21.5). De fato, elas diferem somente com relação à formulação da altura média.
FIGURA 21.4
Descrição gráfica da regra do trapézio.
f (x)
f (b)
f (a)
a
b
x
21.1 A REGRA DO TRAPÉZIO
507
Altura
Altura
Altura
Base
Largura
Base
(a)
(b)
FIGURA 21.5
(a) A fórmula para calcular a área de um trapézio: altura vezes a média das bases.
(b) Para a regra dos trapézios, o conceito é o mesmo, mas o trapézio está sobre seu lado.
21.1.1 Erro na Regra do Trapézio
Quando empregamos a integral sob um segmento de reta para aproximar a integral sob a
curva, obviamente incorremos em um erro que pode ser substancial (Figura 21.6). Uma
estimativa para o erro de truncamento local de uma única aplicação da regra do trapézio
é (Quadro 21.2)
Et = −
1 ′′
f (ξ )(b − a)3
12
(21.6)
em que ξ está em algum ponto do intervalo entre a e b. A Equação (21.6) indica que, se a
função que está sendo integrada for linear, a regra dos trapézios será exata. Caso contrário, para funções com derivadas de segunda ordem e de ordem superior não-nulas (isto
é, com curvatura), pode ocorrer algum erro.
FIGURA 21.6
Descrição gráfica do uso de uma única aplicação da regra do trapézio para aproximar
a integral de f (x) = 0,2 + 25x − 200x2 + 675x3 − 900x 4 + 400x 5 de x = 0 a 0,8.
f (x)
2,0
Erro
Estimativa da integral
0
0,8
x
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
508
Quadro 21.2
Dedução e Estimativa de Erro da Regra do Trapézio
É possível uma dedução alternativa da regra do trapézio integrando
o polinômio interpolador progressivo de Newton-Gregory. Lembre-se de que, para a versão de primeiro grau com termo de erro, a
integral seria (Quadro 18.2)
b
f ′′ (ξ )
I =
f(a) + f(a)α +
α(α − 1)h 2 dx (Q21.2.1)
2
a
Para simplificar a análise, perceba que, como α = (x − a)/h,
dx = h dα
e calculada como
1 ′′
f(a)
−
I = h f(a) +
f (ξ )h 3
2
12
Como f (a) = f (b) − f (a), o resultado pode ser escrito como
Considerando que h = b − a (para a regra do trapézio com um
segmento), os extremos de integração a e b correspondem a 0 e 1,
respectivamente. Portanto, a Equação (Q21.2.1) pode ser expressa como
1
f ′′ (ξ )
I =h
f(a) + f(a)α +
α(α − 1)h 2 dα
2
0
EXEMPLO 21.1
Se for suposto que, para h pequeno, o termo f ′′( ξ) é aproximadamente constante, essa equação pode ser integrada:
1
3
α2
α2
α
f ′′ (ξ )h 2
I = h α f(a) +
f(a) +
−
2
6
4
0
I =h
1 ′′
f(a) + f(b)
−
f (ξ )h 3
2
12
Regra do trapézio Erro de truncamento
Logo, o primeiro termo é a regra do trapézio e o segundo é uma
aproximação para o erro.
Uma Única Aplicação da Regra dos Trapézios
Enunciado do Problema. Use a Equação (21.3) para integrar numericamente
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Lembre-se, da Seção PT6.2, que o valor exato da integral pode ser determinado analiticamente como sendo 1,640533.
Solução.
Os valores da função
f(0) = 0,2
f(0,8) = 0,232
podem ser substituídos na Equação (21.3) para fornecer
0,2 + 0,232
I ∼
= 0,1728
= 0,8
2
o que representa um erro de
E t = 1,640533 − 0,1728 = 1,467733
que corresponde a um erro relativo porcentual de εt = 89,5%. A razão para esse erro
grande é evidente na descrição gráfica na Figura 21.6. Observe que a área sob a reta
despreza uma parte significativa da integral, que fica acima da reta.
Em situações reais, não teríamos conhecimento prévio do valor verdadeiro. Portanto, é necessária uma estimativa de erro aproximada. Para obter essa estimativa, a
segunda derivada da função pode ser obtida derivando-se a função original duas vezes
para obter
f ′′(x) = −400 + 4.050x − 10.800x 2 + 8.000x 3
O valor médio da segunda derivada pode ser calculado usando-se a Equação (PT6.4):
0,8
(−400 + 4.050x − 10.800x 2 + 8.000x 3 ) dx
¯f ′′(x) = 0
= −60
0,8 − 0
21.1 A REGRA DO TRAPÉZIO
509
o qual pode ser substituído na Equação (21.6) para fornecer
Ea = −
1
(−60)(0,8)3 = 2,56
12
que é da mesma ordem de grandeza e do mesmo sinal que o erro verdadeiro. Entretanto,
existe uma discrepância por causa do fato que, para um intervalo desse tamanho, a média
da segunda derivada não é uma aproximação acurada de f ⬙(ξ). Logo, indicamos que o erro
é aproximado usando a notação Ea em vez de Et, que seria o erro exato.
21.1.2 A Aplicação Múltipla da Regra do Trapézio
Uma maneira de melhorar a acurácia da regra do trapézio é dividir o intervalo de integração de a a b em diversos segmentos e aplicar o método a cada segmento (Figura 21.7).
FIGURA 21.7
Ilustração da aplicação múltipla
da regra do trapézio.
(a) Dois segmentos, (b) três
segmentos, (c) quatro segmentos
e (d) cinco segmentos.
f (x)
x0
x1
x2
(a)
f (x)
x0
x1
x2
x3
(b)
f (x)
x0
x1
x2
x3
x4
(c)
f (x)
x0
x1
x2
x3
(d)
x4
x5
510
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
As áreas correspondentes aos segmentos individuais podem então ser somadas para
fornecer a integral para o intervalo inteiro. As equações resultantes são chamadas fórmulas de integração por aplicações múltiplas ou compostas.
A Figura 21.8 mostra a forma geral e a nomenclatura que será usada para caracterizar as integrais por aplicações múltiplas. Existem n + 1 pontos base igualmente espaçados (x0, x1, x2, . . . , xn). Conseqüentemente, existem n segmentos de largura igual:
h=
b−a
n
(21.7)
Se a e b forem designados por x0 e xn, respectivamente, a integral total pode ser representada como
x2
xn
x1
f(x) dx +
f(x) dx + · · · +
f(x) dx
I =
x0
x1
xn−1
Substituindo cada integral pela regra do trapézio, obtém-se
I =h
f(x0 ) + f(x1 )
f(x1 ) + f(x2 )
f(xn−1 ) + f(xn )
+h
+ ··· + h
2
2
2
(21.8)
ou, agrupando termos,
n−1
h
I =
2
f(x0 ) + 2
i=1
(21.9)
f(xi ) + f(xn )
ou, usando a Equação (21.7) para expressar a Equação (21.9) na forma geral da
Equação (21.5),
f(x0 ) + 2
I = (b − a)
i=1
f(xi ) + f(xn )
(21.10)
2n
Largura
FIGURA 21.8
A forma geral e a nomenclatura
para integrais por aplicação
múltipla.
n−1
Altura média
f (x)
f (x1)
f (x2)
f (x0)
f (xn – 3)
f (x3)
f (xn – 2)
f (xn – 1)
f (xn)
x0
x1
h=
x2
x3
xn – 3 xn – 2 xn – 1
xn
x
b–a
n
b
21.1 A REGRA DO TRAPÉZIO
511
Como a soma dos coeficientes de f (x) no numerador dividido por 2n é igual a 1, a
altura média representa uma média ponderada dos valores da função. De acordo com a
Equação (21.10), os pontos interiores têm um peso duas vezes maior do que as extremidades f (x0) e f (xn).
Um erro para a aplicação múltipla da regra do trapézio pode ser obtido pela soma dos
erros individuais em cada segmento, o que dá
Et = −
(b − a)3
12n 3
n
f ′′(ξi )
(21.11)
i=1
em que f ′′(ξi) é a segunda derivada em um ponto ξi localizado no segmento i. Esse resultado pode ser simplificado por uma estimativa do valor médio da segunda derivada no intervalo todo como [Equação (PT6.3)]
n
f ′′ (ξi )
f¯′′ ∼
=
(21.12)
i=1
n
= n f¯′′ e a Equação (21.11) podem ser reescritas como
Portanto, f ′′(ξi ) ∼
Ea = −
(b − a)3 ¯′′
f
12n 2
(21.13)
Logo, se o número de segmentos for dobrado, o erro de truncamento será dividido por
quatro. Observe que a Equação (21.13) é um erro aproximado por causa da natureza
aproximada da Equação (21.12).
EXEMPLO 21.2
Aplicação Múltipla da Regra dos Trapézios
Enunciado do Problema. Use a regra do trapézio com dois segmentos para obter uma
estimativa da integral de
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Empregue a Equação (21.13) para fazer uma estimativa do erro. Lembre-se que o valor correto da integral é 1,640533.
Solução.
n = 2 (h = 0,4):
f(0) = 0,2
I = 0,8
f(0,4) = 2,456
f(0,8) = 0,232
0,2 + 2(2,456) + 0,232
= 1,0688
4
E t = 1,640533 − 1,0688 = 0.57173
εt = 34,9%
3
Ea = −
0,8
(−60) = 0,64
12(2)2
em que −60 é a média da segunda derivada determinada anteriormente no Exemplo 21.1.
Os resultados do exemplo anterior, junto com os da aplicação da regra do trapézio para
3 a 10 segmentos, estão resumidos na Tabela 21.1. Observe como o erro diminui conforme o
número de segmentos aumenta. Entretanto, observe também que a taxa de diminuição é
gradual. Isso acontece porque o erro está inversamente relacionado com o quadrado de n
[Equação (21.13)]. Portanto, dobrar o número de segmentos faz que o erro fique quatro vezes
menor. Nas seções subseqüentes, serão desenvolvidas fórmulas de ordem superior que são
mais acuradas e que convergem mais rapidamente para a integral verdadeira conforme o
número de segmentos aumenta. Mas, antes de se investigar essas fórmulas, serão primeiro
discutidos algoritmos computacionais para implementar a regra do trapézio.
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
512
21.1.3 Algoritmos Computacionais para a Regra do Trapézio
Dois algoritmos simples para a regra do trapézio estão listados na Figura 21.9. O primeiro
(Figura 21.9a) é para a versão com um único segmento. O segundo (Figura 21.9b) é para
a versão com segmentos múltiplos, com um comprimento constante dos segmentos. Observe que ambos foram desenvolvidos para dados que estejam na forma tabular. Um programa geral deveria ser capaz de calcular funções conhecidas e também equações. Vamos
ilustrar como as funções são tratadas no Capítulo 22.
TABELA 21.1 Resultados da aplicação múltipla da regra do trapézio
para obter uma estimativa da integral de f(x) = 0,2 +
25x − 200x2 + 675x3 − 900x4 + 400x5 de x = 0 a
0,8. O valor exato é 1,640533.
n
h
2
3
4
5
6
7
8
9
10
0,4
0,2667
0,2
0,16
0,1333
0,1143
0,1
0,0889
0,08
I
t (%)
1,0688
1,3695
1,4848
1,5399
1,5703
1,5887
1,6008
1,6091
1,6150
34,9
16,5
9,5
6,1
4,3
3,2
2,4
1,9
1,6
(a) Um único segmento
(b) Múltiplos segmentos
FUNCTION Trap (h, fO, f1)
Trap ⫽ h * (fO ⫹ f1)兾2
END Trap
FUNCTION Trapm (h, n, f)
soma ⫽ fO
DOFOR i ⫽ 1, n ⫺ 1
soma ⫽ soma ⫹ 2 * fi
END DO
soma ⫽ soma ⫹ fn
Trapm ⫽ h * soma / 2
END Trapm
FIGURA 21.9
Algoritmos para a regra dos trapézios com (a) um único segmento e (b) segmentos múltiplos.
EXEMPLO 21.3
Calculando Integrais com o Computador
Enunciado do Problema. Use um software baseado na Figura 21.9b para resolver um
problema relacionado com nosso amigo, o pára-quedista em queda livre. Como você se
lembra, do Exemplo 1.1, a velocidade do pára-quedista é dada pela seguinte função do
tempo:
gm
v(t) =
1 − e−(c/m)t
(E21.3.1)
c
em que v é a velocidade (m/s), g ⫽ 9,8 m/s2 é a constante gravitacional, m ⫽ 68,1 kg é a
massa do pára-quedista e c ⫽ 12,5 kg/s é o coeficiente de arrasto. O modelo prevê a velocidade do pára-quedista como função do tempo como descrito no Exemplo 1.1.
Suponha que quiséssemos saber quanto o pára-quedista caiu depois de um certo intervalo de tempo t. A distância é dada por [Equação (PT6.5)}
t
d=
v(t) dt
0
21.2 AS REGRAS DE SIMPSON
513
em que d é a distância em metros. Substituindo a Equação (E21.3.1),
gm t
d=
1 − e−(c/m)t dt
c 0
Use seu software para determinar essa integral com a regra do trapézio com segmentos
múltiplos, utilizando diferentes números de segmentos. Observe que fazer a integral analiticamente e substituir os valores dados dos parâmetros resulta em um valor exato de
d = 289,43515 m.
Solução. No caso em que n = 10 segmentos, é obtida uma integral aproximada de
288,7491. Logo, obtivemos a integral com acurácia de três algarismos significativos. Resultados para outros números de segmentos podem facilmente ser gerados.
Segmentos
Tamanho do Segmento
Estimativa de d, m
t (%)
10
20
50
100
200
500
1.000
2.000
5.000
10.000
1,0
0,5
0,2
0,1
0,05
0,02
0,01
0,005
0,002
0,001
288,7491
289,2636
289,4076
289,4282
289,4336
289,4348
289,4360
289,4369
289,4337
289,4317
0,237
0,0593
9,5 × 10−3
2,4 × 10−3
5,4 × 10−4
1,2 × 10−4
−3,0 × 10−4
−5,9 × 10−4
5,2 × 10−4
1,2 × 10−3
Até cerca de 500 segmentos, a aplicação múltipla da regra do trapézio alcança uma
acurácia excelente. Entretanto, observe como o erro muda de sinal e começa a aumentar
em valor absoluto além do caso de 500 segmentos. O caso de 10.000 segmentos, na realidade, parece divergir do valor verdadeiro. Isso decorre da intrusão dos erros de
arredondamento, por causa do grande número de cálculos para essa quantidade de segmentos. Logo, o nível de precisão é limitado e nunca atingiríamos o resultado exato de
289,4351 obtido analiticamente. Essa limitação e formas de superá-la serão discutidas em
mais detalhes no Capítulo 22.
Três conclusões principais podem ser tiradas do Exemplo 21.3:
Para aplicações individuais em funções bem comportadas, a aplicação múltipla da
regra do trapézio é decididamente boa para obter o tipo de acurácia necessária em
muitas aplicações de engenharia.
Se for necessária uma alta acurácia, a regra do trapézio com segmentos múltiplos
exige um grande esforço computacional. Embora esse esforço possa ser desprezível
para uma única aplicação, pode ser muito importante quando (a) muitas integrais
estão sendo calculadas ou (b) a própria função leva muito tempo para ser calculada.
Para tais casos, abordagens mais eficientes (como aquelas no restante deste capítulo e
no próximo) podem ser necessárias.
Finalmente, os erros de arredondamento podem limitar nossa habilidade de
determinar integrais. Isso decorre tanto da precisão da máquina quanto da grande
quantidade de cálculos envolvida em técnicas simples como a regra do trapézio com
segmentos múltiplos.
Voltamo-nos agora para uma maneira pela qual a eficiência é melhorada. Ou seja, ao
uso de polinômio de grau mais alto para obter uma aproximação da integral.
21.2
REGRAS DE SIMPSON
Além de aplicar a regra do trapézio com segmentos menores, outra forma de obter uma estimativa mais acurada de uma integral é usar polinômios de grau mais alto para ligar os pon-
514
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
tos. Por exemplo, se existir um ponto extra no ponto médio entre f(a) e f(b), os três pontos
podem ser ligados por uma parábola (Figura 21.10a). Se existirem dois pontos igualmente
espaçados entre f(a) e f(b), os quatro pontos podem ser ligados por um polinômio de 3o grau
(Figura 21.10b). As fórmulas que resultam de tomar as integrais desses polinômios são
chamadas de regras de Simpson.
21.2.1 A Regra 1/3 de Simpson
A regra 1/3 de Simpson é obtida quando um polinômio interpolador de segundo grau é
substituído na Equação (21.1):
b
b
∼
f (x) dx =
f 2 (x) dx
I =
a
a
Se a e b forem designados por x0 e x2 e se f 2(x) for representado por um polinômio de
Lagrange de segundo grau [Equação (18.23)], a integral se torna
x2
(x − x1 )(x − x2 )
(x − x0 )(x − x2 )
I =
f (x0 ) +
f(x1 )
(x0 − x1 )(x0 − x2 )
(x1 − x0 )(x1 − x2 )
x0
(x − x0 )(x − x1 )
+
f (x2 ) dx
(x2 − x0 )(x2 − x1 )
Depois da integração e de manipulações algébricas, obtém-se a seguinte fórmula:
h
I ∼
= [ f(x0 ) + 4 f(x1 ) + f(x2 )]
3
(21.14)
em que, para esse caso, h = (b − a)/2. Essa equação é conhecida como a regra 1/3 de
Simpson. Ela é a segunda fórmula de integração fechada de Newton-Cotes. A designação
“1/3” vem do fato que h está dividido por 3 na Equação (21.14). Uma dedução alternativa é mostrada no Quadro 21.3, no qual o polinômio de Newton-Gregory é integrado
para se obter a mesma fórmula.
A regra 1/3 de Simpson também pode ser expressa usando o formato da Equação (21.5):
f(x0 ) + 4 f(x1 ) + f(x2 )
I ∼
= (b − a)
6
Largura
(21.15)
Altura média
em que a = x0, b = x2 e x1 é o ponto médio entre a e b, o qual é dado por (b + a)/2.
Observe que, de acordo com a Equação (21.15), o ponto médio tem peso de dois terços, e
os dois pontos extremos, de um sexto.
FIGURA 21.10
(a) Descrição gráfica da regra
1/3 de Simpson: ela consiste
em tomar a área sob uma
parábola ligando três pontos.
(b) Descrição gráfica da regra
3/8 de Simpson: ela consiste
em tomar a área sob uma
equação cúbica ligando
quatro pontos.
f (x)
f (x)
x
x
(a)
(b)
21.2 AS REGRAS DE SIMPSON
Quadro 21.3
Dedução e Estimativa de Erro da Regra 1/3 de Simpson
3
α
α2
α2
2 f(x0 )
f(x0 ) +
−
I = h α f(x0 ) +
2
6
4
4
α3
α2
α
3 f(x0 )
−
+
+
24
6
6
2
5
α4
11α 3
α2
α
f (4) (ξ )h 4
−
+
−
+
120 16
72
8
0
Como foi feito no Quadro 21.2 para a regra do trapézio, a regra 1/3
de Simpson pode ser deduzida pela integração do polinômio interpolador progressivo de Newton-Gregory (Quadro 18.2):
x2
2 f(x0 )
f(x0 ) + f(x0 )α +
I =
α(α − 1)
2
x0
+
3 f(x0 )
α(α − 1)(α − 2)
6
f (4) (ξ )
α(α − 1)(α − 2)(α − 3)h 4 dx
+
24
Observe que escrevemos o polinômio até o termo de quarto grau
em vez do de terceiro como seria esperado. A razão para isso ficará logo aparente. Observe também que os extremos de integração são de x0 a x2. Portanto, quando as substituições simplificadoras são feitas (lembre-se do Quadro 21.2), a integral vai de α = 0 a 2:
2
2 f(x0 )
I =h
f(x0 ) + f(x0 )α +
α(α − 1)
2
0
+
+
515
e, calculada nos extremos, dá
2 f(x0 )
I = h 2 f(x0 ) + 2 f(x0 ) +
3
1 (4)
3
+ (0) f(x0 ) −
f (ξ )h 4
(Q21.3.1)
90
Observe o resultado significativo de que o coeficiente da terceira diferença dividida é nulo. Como f(x0) = f (x1) − f (x0) e 2f (x0) =
f (x2) − 2f (x1) + f (x0), a Equação (Q21.3.1) pode ser reescrita como
I =
3 f(x0 )
α(α − 1)(α − 2)
6
1 (4)
h
f (ξ )h 5
[ f(x0 ) + 4 f(x1 ) + f(x2 )] −
3
90
Regra 1/3 de Simpson
f (4) (ξ )
α(α − 1)(α − 2)(α − 3)h 4 dα
24
Erro de truncamento
Logo, o primeiro termo é a regra 1/3 de Simpson e o segundo é o
erro de truncamento. Como a terceira diferença dividida desapareceu, obtemos o resultado significativo de que a fórmula é acurada
até terceira ordem.
que pode ser integrada para fornecer
É possível mostrar que a aplicação da regra 1/3 de Simpson para um único segmento
tem um erro de truncamento de (Quadro 21.3)
Et = −
1 5 (4)
h f (ξ )
90
ou, como h = (b − a)/2,
Et = −
(b − a)5 (4)
f (ξ )
2.880
(21.16)
em que ξ é algum ponto no intervalo entre a e b. Logo, a regra 1/3 de Simpson é mais acurada do que a regra do trapézio. A comparação com a Equação (21.6) indica que ela é mais
acurada do que o esperado. Em vez de ser proporcional à terceira derivada, o erro é proporcional à quarta derivada. Isso ocorre porque, como mostrado no Quadro 21.3, o coeficiente do termo de terceiro grau se anula durante a integração do polinômio interpolador.
Conseqüentemente, a regra 1/3 de Simpson é acurada até terceira ordem, mesmo sendo
baseada em apenas três pontos. Em outras palavras, ela fornece resultados exatos para
polinômios cúbicos, mesmo tendo sido deduzida a partir de uma parábola!
EXEMPLO 21.4
Uma Única Aplicação da Regra 1/3 de Simpson
Enunciado do Problema. Use a Equação (21.15) para integrar
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Lembre-se que a integral exata é 1,640533.
516
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
Solução.
f (0) = 0,2
f (0,4) = 2,456
f (0,8) = 0,232
Portanto, a Equação (21.15) pode ser usada para calcular
0,2 + 4(2,456) + 0,232
I ∼
= 1,367467
= 0,8
6
o que representa um erro exato de
E t = 1,640533 − 1,367467 = 0,2730667
εt = 16,6%
o que é aproximadamente 5 vezes mais acurado do que uma única aplicação da regra do
trapézio (Exemplo 21.1).
O erro estimado é [Equação 21.16)]
Ea = −
(0,8)5
(−2.400) = 0,2730667
2.880
em que −2.400 é o valor médio da quarta derivada para o intervalo, obtido usando a
Equação (PT6.4). Como foi o caso no Exemplo 21.1, o erro é aproximado (Ea) porque o
valor médio da quarta derivada não é uma estimativa exata de f (4)(ξ). Entretanto, como
esse caso trata de um polinômio de quinto grau, o resultado coincide.
21.2.2 Aplicações Múltiplas da Regra 1/3 de Simpson
Do mesmo modo como no caso da regra do trapézio, a regra de Simpson pode ser melhorada dividindo-se o intervalo de integração em diversos segmentos de mesmo comprimento (Figura 21.11):
h=
b−a
n
(21.17)
A integral total pode ser representada como
x4
x2
f(x) dx +
f(x) dx + · · · +
I =
x0
x2
xn
f(x) dx
xn−2
Substituindo cada integral individual pela regra 1/3 de Simpson, obtemos
f(x0 ) + 4 f(x1 ) + f(x2 )
f(x2 ) + 4 f(x3 ) + f(x4 )
I ∼
+ 2h
= 2h
6
6
+ · · · + 2h
FIGURA 21.11
Representação gráfica da
aplicação múltipla da regra
1/3 de Simpson. Observe que
o método pode ser usado
apenas se o número de
intervalos for par.
f(xn−2 ) + 4 f(xn−1 ) + f(xn )
6
f (x)
a
b
x
21.2 AS REGRAS DE SIMPSON
517
ou, combinando os termos e usando a Equação (21.17),
n−1
f(x0 ) + 4
I ∼
= (b − a)
n−2
f(xi ) + 2
i=1,3,5
Largura
f(x j ) + f(xn )
j=2,4,6
3n
(21.18)
Altura média
Observe que, como ilustrado na Figura 21.11, deve ser utilizado um número par de segmentos para implementar o método. Além disso, os coeficientes “4” e “2” na Equação
(21.18) poderiam, a princípio, parecer peculiares. Entretanto, eles seguem naturalmente
da regra 1/3 de Simpson. Os pontos ímpares representam o termo médio para cada aplicação e, portanto, levam o peso 4 da Equação (21.15). Os pontos pares são comuns a
aplicações adjacentes e, então, são contados duas vezes.
Uma estimativa de erro para a aplicação múltipla da regra de Simpson é obtida da
mesma maneira que para a regra trapezoidal, somando-se os erros individuais para os segmentos e fazendo a média da derivada, resultando em
Ea = −
(b − a)5 ¯(4)
f
180n 4
(21.19)
em que f¯(4) é o valor médio da quarta derivada no intervalo.
EXEMPLO 21.5
Versão com Aplicações Múltiplas da Regra 1/3 de Simpson
Enunciado do Problema. Use a Equação (21.18) com n = 4 para obter uma estimativa
da integral de
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Lembre que a integral exata é 1,640533.
n = 4 (h = 0,2):
Solução.
f(0) = 0,2
f(0,2) = 1,288
f(0,4) = 2,456
f(0,6) = 3,464
f(0,8) = 0,232
Da Equação (21.18),
0,2 + 4(1,288 + 3,464) + 2(2,456) + 0,232
= 1,623467
12
E t = 1,640533 − 1,623467 = 0,017067
εt = 1,04%
I = 0,8
O erro estimado [Equação (21.19)] é
Ea = −
(0,8)5
(−2.400) = 0,017067
180(4)4
O exemplo anterior ilustra que a versão com aplicações múltiplas da regra 1/3 de
Simpson fornece resultados muito acurados. Por essa razão, ela é considerada superior à
regra do trapézio na maioria das aplicações. Entretanto, como mencionado anteriormente,
ela é limitada aos casos nos quais os valores estão igualmente espaçados. Além disso, é
limitada a situações nas quais haja um número par de segmentos e um número ímpar de
pontos. Conseqüentemente, como discutido na próxima seção, uma fórmula para um
518
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
número ímpar de segmentos e par de pontos, conhecida como regra 3/8 de Simpson, é
usada em conjunto com a regra 1/3 para permitir o cálculo tanto para um número par
quanto para um número ímpar de segmentos.
21.2.3 Regra 3/8 de Simpson
De uma maneira parecida com a dedução da regra do trapézio e da regra 1/3 de Simpson,
um polinômio de Lagrange de ordem quatro pode ser ajustado a quatro pontos e integrado:
b
b
f(x) dx ∼
f 3 (x) dx
I =
=
a
a
para fornecer
3h
I ∼
[ f(x0 ) + 3 f(x1 ) + 3 f(x2 ) + f(x3 )]
=
8
em que h = (b − a)/3. Essa equação é chamada regra 3/8 de Simpson porque h é multiplicada por 3/8. Ela é a terceira fórmula de integração fechada de Newton-Cotes. A regra
3/8 pode também ser expressa na forma da Equação (21.5):
f(x0 ) + 3f(x1 ) + 3f(x2 ) + f(x3 )
I ∼
= (b − a)
8
Largura
(21.20)
Altura média
Assim, os dois pontos interiores têm pesos de três oitavos, enquanto as extremidades têm
peso de um oitavo. A regra 3/8 de Simpson tem um erro de
Et = −
3 5 (4)
h f (ξ )
80
ou, como h = (b − a)/3,
Et = −
FIGURA 21.12
Ilustração de como as regras
1/3 e 3/8 de Simpson podem
ser usadas em conjunto para
tratar aplicações múltiplas com
um número ímpar de intervalos.
(b − a)5 (4)
f (ξ )
6.480
(21.21)
f (x)
3
2
1
0
0
0,2
Regra 1/3
0,4
0,6
Regra 3/8
0,8
x
21.2 AS REGRAS DE SIMPSON
519
Como o denominador da Equação (21.21) é maior do que o da Equação (21.16), a
regra 3/8 é um pouco mais acurada do que a regra 1/3.
A regra 1/3 de Simpson é usualmente o método preferido, pois alcança uma acurácia
de terceira ordem com três pontos em vez dos quatro pontos necessários para a versão 3/8.
Entretanto, a regra 3/8 tem utilidade quando o número de segmentos é ímpar. No caso do
Exemplo 21.5, usamos a regra de Simpson para integrar a função com quatro segmentos.
Suponha que você quisesse uma estimativa usando cinco segmentos. Uma opção seria usar
a versão com aplicação múltipla da regra do trapézio, como foi feito nos Exemplos 21.2 e
21.3. Entretanto, isso pode não ser aconselhável por causa do grande erro de truncamento
associado com esse método. Uma alternativa seria aplicar a regra 1/3 de Simpson aos
primeiros dois segmentos e a regra 3/8 de Simpson aos últimos três (Figura 21.12). Dessa
maneira, você poderia obter uma estimativa acurada até ordem três em todo o intervalo.
EXEMPLO 21.6
A Regra 3/8 de Simpson
Enunciado do Problema.
(a) Use a regra 3/8 de Simpson para integrar
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8.
(b) Use-a em conjunto com a regra 1/3 de Simpson para integrar a mesma função
usando cinco segmentos.
Solução.
(a) Uma única aplicação da regra 3/8 de Simpson exige quatro pontos igualmente
espaçados:
f(0) = 0,2
f(0,5333) = 3,487177
Usando a Equação (21.20),
f(0,2667) = 1,432724
f(0,8) = 0,232
0,2 + 3(1,432724 + 3,487177) + 0,232
= 1,519170
I ∼
= 0,8
8
E t = 1,640533 − 1,519170 = 0,1213630
εt = 7,4%
(0,8)5
Ea = −
(−2.400) = 0,1213630
6.480
(b) Os dados necessários para uma aplicação com cinco segmentos (h = 0.16) são
f (0) = 0,2
f (0,16) = 1,296919
f (0,32) = 1,743393
f (0,48) = 3,186015
f(0,64) = 3,181929
f (0,80) = 0,232
A integral para os primeiros dois segmentos é obtida usando-se a regra 1/3 de
Simpson:
0,2 + 4(1,296919) + 1,743393
= 0,3803237
I ∼
= 0,32
6
Para os três últimos segmentos, a regra 3/8 pode ser usada para se obter
1,743393 + 3(3,186015 + 3,181929) + 0,232
= 1,264754
I ∼
= 0,48
8
A integral total é calculada pela soma destes dois resultados:
I = 0,3803237 + 1,264753 = 1,645077
E t = 1,640533 − 1,645077 = −0,00454383
εt = −0,28%
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
520
21.2.4 Algoritmos Computacionais para as Regras de Simpson
Pseudocódigos para diversas formas da regra de Simpson estão delineados na Figura 21.13.
Observe que todos são desenvolvidos para dados que estejam em uma forma tabulada.
Um programa geral deveria ser capaz de calcular funções conhecidas e equações. Ilustraremos como as funções são tratadas no Capítulo 22.
Observe que o programa na Figura 21.13d é apresentado de modo que tanto um
número par quanto um ímpar de segmentos possam ser usados. Para o caso par, a regra
1/3 de Simpson é aplicada para cada par de segmentos e os resultados são somados para
se calcular a integral total. Para o caso ímpar, a regra 3/8 de Simpson é aplicada aos três
últimos segmentos e a regra 1/3 é aplicada a todos os segmentos anteriores.
21.2.5 Fórmulas Fechadas de Newton-Cotes de Ordem Superior
Como observado previamente, a regra do trapézio e ambas as regras de Simpson são
membros de uma família de equações de integração conhecidas como fórmulas de integração fechadas de Newton-Cotes. Algumas das fórmulas estão resumidas na Tabela 21.2
junto com suas estimativas de erro.
(a)
FUNCTION Simp13 (h, f0, f1, f2)
Simp13 ⫽ 2*h* (f0⫹4*f1⫹f2) / 6
END Simp13
(d)
FUNCTION SimpInt(a,b,n,f)
h ⫽ (b ⫺ a) / n
IF n ⫽ 1 THEN
soma ⫽ Trap(h,fn⫺1,fn)
ELSE
m ⫽ n
ímpar ⫽ n / 2 ⫺ INT(n / 2)
IF ímpar ⬎ 0 AND n ⬎ 1 THEN
soma ⫽ soma⫹Simp38(h,fn⫺3,fn⫺2,fn⫺1,fn)
m ⫽ n ⫺3
END IF
IF m ⬎ 1 THEN
soma ⫽ soma ⫹ Simp13m(h,m,f)
END IF
END IF
SimpInt ⫽ soma
END SimpInt
(b)
FUNCTION Simp38 (h, f0, f1, f2, f3)
Simp38 ⫽ 3*h* (f0⫹3*(f1⫹f2)⫹f3) / 8
END Simp38
(c)
FUNCTION Simp13m (h, n, f)
soma ⫽ f(0)
DOFOR i ⫽ 1, n ⫺ 2, 2
soma ⫽ soma ⫹ 4 * fi ⫹ 2 * fi⫹1
END DO
soma ⫽ soma ⫹ 4 * fn⫺1 ⫹ fn
Simp13m ⫽ h * soma / 3
END Simp13m
FIGURA 21.13
Pseudocódigos para as regras de Simpson. (a) Uma única aplicação da regra 1/3 de Simpson, (b) uma única aplicação da
regra 3/8 de Simpson, (c) aplicação múltipla da regra 1/3 de Simpson e (d) aplicação múltipla da regra de Simpson tanto para
número par quanto ímpar de segmentos. Observe que, em todos os casos, n deve ser maior ou igual a 1.
TABELA 21.2 Fórmulas de integração fechadas de Newton-Cotes. As fórmulas são apresentadas no formato da Equação
(21.5) de modo que os pesos dos pontos dados na estimativa da altura média são aparentes. O tamanho do
passo é dado por h = (b − a)/n.
Segmentos
(n)
Pontos
Nome
Fórmula
Erro de Truncamento
1
2
Regra do trapézio
f (x0) ⫹ f(x1)
(b − a) ᎏᎏ
2
− (1/12)h3f ′′(ξ)
2
3
Regra 1/3 de Simpson
f(x0) ⫹ 4f(x1) ⫹ f (x2)
(b − a) ᎏᎏᎏ
6
− (1/90)h5f (4)(ξ)
3
4
Regra 3/8 de Simpson
f(x0) ⫹ 3f (x1) ⫹ 3f (x2) ⫹ f(x3)
(b − a) ᎏᎏᎏᎏ
8
− (3/80)h5f (4)(ξ)
4
5
Regra de Boole
7f(x0) ⫹ 32f (x1) ⫹ 12f (x2) ⫹ 32f (x3) ⫹ 7f(x4)
(b − a) ᎏᎏᎏᎏᎏ
90
− (8/945)h7f (6)(ξ)
5
6
19f (x0) ⫹ 75f (x1) ⫹ 50f (x2) ⫹ 50f (x3) ⫹ 75f (x4) ⫹ 19f (x5)
(b − a) ᎏᎏᎏᎏᎏᎏᎏ
− (275/12.096)h7f (6)(ξ)
288
21.3 INTEGRAÇÃO COM SEGMENTOS DESIGUAIS
521
Observe que, como aconteceu no caso das regras 1/3 e 3/8 de Simpson, as fórmulas
de cinco e seis pontos têm erros da mesma ordem. Essa característica geral vale para
fórmulas de mais pontos e leva ao resultado que fórmulas para um número par de segmentos e ímpar de pontos (por exemplo, a regra 1/3 e a regra de Boole) em geral são os
métodos preferidos.
Entretanto, deve também ser enfatizado que, na prática da engenharia, as fórmulas
de ordem superior (isto é, maior do que quatro pontos) raramente são usadas. As regras
de Simpson são suficientes para a maioria das aplicações. A acurácia pode ser melhorada
usando-se a versão com aplicações múltiplas. Além disso, quando a função for conhecida e for necessária alta acurácia, métodos como a integração de Romberg ou a quadratura de Gauss, descritas no Capítulo 22, oferecem alternativas viáveis e atrativas.
21.3
INTEGRAÇÃO COM SEGMENTOS DESIGUAIS
Até esse ponto, todas as fórmulas para integração numérica foram baseadas em dados
igualmente espaçados. Na prática, existem muitas situações nas quais essa hipótese não é
válida e precisamos lidar com segmentos de tamanhos distintos. Por exemplo, dados obtidos experimentalmente, muitas vezes, são desse tipo. Para tais casos, um método é aplicar
a regra do trapézio para cada segmento e somar os resultados:
I = h1
f(x0 ) + f(x1 )
f(x1 ) + f(x2 )
f(xn−1 ) + f(xn )
+ h2
+ · · · + hn
2
2
2
(21.22)
em que hi é a largura do segmento i. Observe que essa foi a mesma abordagem usada na
aplicação múltipla da regra do trapézio. A única diferença entre as Equações (21.8) e
(21.22) é que os h’s na primeira são constantes. Conseqüentemente, a Equação (21.8)
podia ser simplificada agrupando-se os termos para obter a Equação (21.9). Embora essa
simplificação não possa ser aplicada à Equação (21.22), é possível desenvolver facilmente um programa de computador para acomodar segmentos de tamanhos diferentes.
Antes de descrever tal algoritmo, vamos ilustrar no seguinte exemplo como a Equação
(21.22) é aplicada para calcular uma integral.
EXEMPLO 21.7
Regra do Trapézio com Segmentos Desiguais
Enunciado do Problema. A informação na Tabela 21.3 foi gerada usando o mesmo
polinômio utilizado no Exemplo 21.1. Use a Equação (21.22) para determinar a integral
a partir desses dados. Lembre que a resposta correta é 1,640533.
Solução. Aplicando a Equação (21.22) aos dados na Tabela 21.3, obtemos
1,305241 + 1,309729
0,232 + 2,363
1,309729 + 0,2
+ 0,10
+ · · · + 0,10
2
2
2
= 0,090584 + 0,130749 + · · · + 0,12975 = 1,594801
I = 0,12
o que representa um erro relativo porcentual absoluto de εt = 2.8%.
TABELA 21.3 Dados para f(x) = 0,2 + 25x − 200x2 + 675x3 − 900x4 + 400x5,
com valores de x desigualmente espaçados.
x
f(x)
x
f(x)
0,0
0,12
0,22
0,32
0,36
0,40
0,200000
1,309729
1,305241
1,743393
2,074903
2,456000
0,44
0,54
0,64
0,70
0,80
2,842985
3,507297
3,181929
2,363000
0,232000
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
522
Os dados do Exemplo 21.7 estão mostrados na Figura 21.14. Observe que alguns
segmentos adjacentes têm largura igual e, conseqüentemente, poderiam ter sido calculados usando as regras de Simpson. Isso usualmente leva a resultados mais precisos, como
ilustrado no exemplo a seguir.
f (x)
Regra 1/3
Regra 3/8
3
Regra 1/3
FIGURA 21.14
Uso da regra do trapézio para
determinar a integral de dados
desigualmente espaçados.
Observe como os segmentos
hachurados podem ser tratados
com a regra de Simpson para
se alcançar maior acurácia.
EXEMPLO 21.8
0
0
0,5
x
Inclusão das Regras de Simpson no Cálculo com Dados Desiguais
Enunciado do Problema. Recalcule a integral para os dados na Tabela 21.3, mas use as
regras de Simpson nos segmentos em que forem apropriadas.
Solução. A área correspondente ao primeiro segmento é calculada com a regra do
trapézio:
I = 0,12
1,309729 + 0,2
= 0,09058376
2
Como os próximos dois segmentos de x = 0,12 a 0,32 têm comprimentos iguais, sua integral pode ser calculada com a regra 1/3 de Simpson:
I = 0,2
1,743393 + 4(1,305241) + 1,309729
= 0,2758029
6
Os próximos três segmentos também são iguais e, desse modo, podem ser tratados pela
regra 3/8, o que fornece I = 0,2726863. Analogamente, a regra 1/3 pode ser aplicada aos
dois segmentos de x = 0,44 a 0,64 para fornecer I = 0,6684701. Finalmente, os dois últimos segmentos, cada um com um tamanho diferente, podem ser tratados com a regra do
trapézio para fornecer os valores 0,1663479 e 0,1297500, respectivamente. As áreas correspondentes a esses segmentos individuais podem ser somadas para fornecer uma integral total de 1,603641. Isso representa um erro de εt = 2,2%, o que é melhor do que o
resultado usando-se a regra do trapézio, no Exemplo 21.7.
Programas Computacionais para Dados Desigualmente Espaçados. É uma tarefa
muito simples programar a Equação (21.22). Tal algoritmo está listado na Figura 21.15a.
Entretanto, como ilustrado pelo Exemplo 21.8, a abordagem é melhorada se as regras de Simpson forem implementadas sempre que possível. Por essa razão, desenvolvemos um segundo algoritmo que incorpora esse recurso. Como descrito na Figura 21.15b,
21.3 INTEGRAÇÃO COM SEGMENTOS DESIGUAIS
523
o algoritmo verifica o comprimento de segmentos adjacentes. Se dois segmentos consecutivos tiverem comprimentos iguais, a regra 1/3 de Simpson é aplicada. Se três forem
iguais, a regra 3/8 é usada. Quando os segmentos adjacentes forem de comprimentos
diferentes, a regra do trapézio é implementada.
Logo, ele não apenas permite o tratamento de dados com segmentos desiguais, mas,
se informação igualmente espaçada for usada, ele se reduz ao uso das regras de Simpson.
Como tal, ele representa um algoritmo básico, de propósito geral, para a determinação da
integral de dados tabulados.
(a)
FUNCTION Trapun (x, y, n)
LOCAL i, soma
soma ⫽ 0
DOFOR i ⫽ 1, n
soma ⫽ soma ⫹ (xi ⫺ xi⫺1)*(yi⫺1 ⫹ yi)/2
END DO
Trapun ⫽ soma
END Trapun
(b)
FUNCTION Desigualmente (n,x,f)
h ⫽ x1 ⫺ x0
k ⫽1
soma ⫽ 0.
DOFOR j ⫽ 1, n
hf ⫽ xj⫹1 ⫺ xj
IF ABS (h ⫺ hf) ⬍ .000001 THEN
IF k ⫽ 3 THEN
soma ⫽ soma ⫹ Simp13 (h,fj⫺3,fj⫺2,fj⫺1)
k ⫽k ⫺1
ELSE
k ⫽k ⫹1
END IF
ELSE
IF k ⫽ 1 THEN
soma ⫽ soma ⫹ Trap (h,fj⫺1,fj)
ELSE
IF k ⫽ 2 THEN
soma ⫽ soma ⫹ Simp13 (h,fj⫺2,fj⫺1,fj)
ELSE
soma ⫽ soma ⫹ Simp38 (h,fj⫺3,fj⫺2,fj⫺1,fj)
END IF
k ⫽1
END IF
END IF
h ⫽ hf
END DO
Desigualmente ⫽ soma
END Desigualmente
FIGURA 21.15
Pseudocódigo para integrar dados desigualmente espaçados. (a) Regra do trapézio e
(b) combinação das regras de Simpson e do trapézio.
TABELA 21.4 Fórmulas de integração abertas de Newton-Cotes. As fórmulas são apresentadas no formato da Equação
(21.5) de modo que os pesos dos dados na estimativa da altura média sejam aparentes. O tamanho do
passo é h = (b − a)/n.
Segmentos
(n)
Pontos
Nome
Método do ponto médio
Fórmula
(b − a) f (x1)
Erro de
Truncamento
(1/3)h3f ′′(ξ)
2
1
3
2
f(x1) ⫹ f(x2)
(b − a) ᎏᎏ
2
(3/4)h3f ′′(ξ)
4
3
2f (x1) ⫺ f(x2) ⫹ 2f (x3)
(b − a) ᎏᎏᎏ
3
(14/45)h5f (4)(ξ)
5
4
11f (x1) ⫹ f (x2) ⫹ f (x3) ⫹ 11f (x4)
(b − a) ᎏᎏᎏᎏ
24
(95/144)h5f (4)(ξ)
6
5
11f (x1) ⫺ 14f (x2) ⫹ 26f (x3) ⫺ 14f (x4) ⫹ 11f (x5)
(b − a) ᎏᎏᎏᎏᎏᎏ
20
(41/140)h7f (6)(ξ)
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
524
21.4
FÓRMULAS DE INTEGRAÇÃO ABERTAS
Lembre-se, da Figura 21.3b, que as fórmulas de integração abertas têm extremos que se
estendem além do intervalo dos dados. A Tabela 21.4 resume as fórmulas de integração
abertas de Newton-Cotes. As fórmulas estão expressas no formato da Equação (21.5) de
modo que os fatores de peso são evidentes. Como com as versões fechadas, pares sucessivos de fórmulas têm erros de mesma ordem. As fórmulas para números pares de segmentos e ímpares de pontos são, em geral, os métodos preferidos, pois exigem menos
pontos para se obter a mesma acurácia do que as fórmulas para números ímpares de segmentos e pares de pontos.
As fórmulas abertas, em geral, não são usadas para o cálculo de integrais definidas.
Entretanto, como discutido no Capítulo 22, terão utilidade na análise de integrais impróprias. Além disso, serão relevantes na discussão de métodos de passos múltiplos para
a resolução de equações diferenciais ordinárias no Capítulo 26.
21.5
INTEGRAIS MÚLTIPLAS
As integrais múltiplas são amplamente usadas na engenharia. Por exemplo, uma equação
geral para calcular a média de uma função bidimensional pode ser escrita como (lembrese da Equação (PT6.4))
f¯ =
d
c
a
b
f(x, y) dx dy
(21.23)
(d − c)(b − a)
O numerador é chamado de integral múltipla.
As técnicas discutidas neste capítulo (e no capítulo seguinte) podem ser facilmente
usadas para calcular integrais múltiplas. Um exemplo simples seria tomar a integral dupla
de uma função sobre uma área retangular (Figura 21.16).
Lembre-se, do cálculo, que tais integrais podem ser calculadas como integrais iteradas
d
c
b
f(x, y) dx
a
dy =
b
a
d
(21.24)
f(x, y) dy dx
c
Logo, a integral em uma das dimensões é calculada primeiro. O resultado dessa primeira
integração é integrada na segunda dimensão. A Equação (21.24) afirma que a ordem
da integração não é importante.
FIGURA 21.16
Integral dupla de uma função
sobre uma área retangular.
f(x, y)
c
a
b
d
y
x
21.5 INTEGRAIS MÚLTIPLAS
525
Uma integral numérica dupla seria baseada na mesma idéia. Primeiro, métodos
como a regra do trapézio ou de Simpson para múltiplos segmentos seriam aplicados na
primeira dimensão para cada valor da segunda dimensão mantido constante. Então, o
método seria aplicado para integrar na segunda dimensão. A abordagem é ilustrada no
exemplo seguinte.
EXEMPLO 21.9
Usando uma Integral Dupla para Determinar a Temperatura Média
Enunciado do Problema. Suponha que a temperatura de uma placa retangular aquecida
seja descrita pela seguinte função:
T (x, y) = 2x y + 2x − x 2 − 2y 2 + 72
Se a placa tiver 8 m de comprimento (dimensão x) e 6 m de largura (dimensão y), calcule
a temperatura média.
y
0
40
48
54
70
54
72
64
24
x
(8 – 0)
0 + 2(40) + 48
4
256
(8 – 0)
54 + 2(70) + 54
4
496
(8 – 0)
72 + 2(64) + 24
4
448
(6 – 0)
256 + 2(496) + 448
= 2688
4
FIGURA 21.17
Cálculo numérico de uma integral dupla usando a regra do trapézio para dois segmentos.
Solução. Primeiro, vamos simplesmente usar aplicações da regra do trapézio com dois
segmentos em cada dimensão. As temperaturas nos valores necessário de x e y estão descritas na Figura 21.17. Observe que uma média simples desses valores é 47,33. A média
da função pode ser calculada analiticamente, fornecendo um resultado de 58,66667.
Para fazer o mesmo cálculo numericamente, a regra do trapézio é primeiro implementada ao longo da dimensão x para cada valor de y. Esses valores, então, são integrados ao longo da direção y para dar o resultado final de 2.688. Dividir isso pela área
fornece a temperatura média como sendo 2.688/(6 × 8) = 56.
Agora, podemos aplicar uma regra 1/3 de Simpson para um único segmento da
mesma maneira, obtendo uma integral de 2.816 e uma média de 58,66667, que é exata.
Por que isso ocorre? Lembre que a regra 1/3 de Simpson fornece resultados perfeitos para
polinômios cúbicos. Como o termo de grau mais alto na função é de segundo grau, o
mesmo resultado ocorre no caso presente.
Para funções algébricas de grau mais alto, bem como para funções transcendentais, seria necessário usar aplicações de segmentos múltiplos para alcançar uma estimativa acurada da integral. Além disso, o Capítulo 22 introduz técnicas que são mais
eficientes do que a fórmula de Newton-Cotes para calcular integrais de funções dadas.
Elas, em geral, fornecem uma forma superior para implementar integrações numéricas
de integrais múltiplas.
FÓRMULAS DE INTEGRAÇÃO DE NEWTON-COTES
526
PROBLEMAS
21.1 Calcule a seguinte integral:
4
1 − e−2x dx
0
(a) analiticamente; (b) por uma única aplicação da regra do
trapézio; (c) por aplicações múltiplas da regra do trapézio, com
n = 2 e 4; (d) uma única aplicação da regra 1/3 de Simpson; (e)
aplicação múltipla da regra 1/3 de Simpson, com n = 4; (f) uma
única aplicação da regra 3/8 de Simpson; e (g) aplicação múltipla
da regra de Simpson, com n = 5. Para cada estimativa numérica de
(b) a (g), determine o erro relativo porcentual com base em (a).
21.2 Calcule a seguinte integral:
π/2
(6 + 3 cos x) dx
0
(a) analiticamente; (b) por uma única aplicação da regra do
trapézio; (c) por aplicações múltiplas da regra do trapézio, com n =
2 e 4; (d) uma única aplicação da regra 1/3 de Simpson; (e) aplicação múltipla da regra 1/3 de Simpson, com n = 4; (f) uma única
aplicação da regra 3/8 de Simpson; e (g) aplicação múltipla da
regra de Simpson, com n = 5. Para cada estimativa numérica de (b)
a (g), determine o erro relativo porcentual com base em (a).
21.3 Calcule a seguinte integral:
4
(1 − x − 4x 3 + 2x 5 ) dx
−2
(a) analiticamente; (b) por uma única aplicação da regra do
trapézio; (c) por aplicações múltiplas da regra do trapézio, com n =
2 e 4; (d) uma única aplicação da regra 1/3 de Simpson; (e) regra
3/8 de Simpson; (f) regra de Boole. Para cada estimativa numérica
de (b) a (f), determine o erro relativo porcentual com base em (a).
21.4 Integre a seguinte função analiticamente e usando a regra do
trapézio, com n = 1, 2, 3 e 4:
2
(x + 2/x)2 dx
1
Use a solução analítica para calcular os erros relativos porcentuais
verdadeiros para avaliar a precisão das aproximações por trapézios.
21.5 Integre a seguinte função tanto analiticamente quanto usando
as regras de Simpson com n = 4 e 5. Discuta os resultados.
5
(4x − 3)3 dx
−3
21.6 Integre a seguinte função tanto analiticamente quanto numericamente. Use as regras do trapézio e 1/3 de Simpson para integrar numericamente a função. Em ambos os casos, use a versão
com aplicações múltiplas, com n = 4. Calcule os erros relativos
porcentuais para os resultados numéricos.
3
x 2 e x dx
0
21.7 Integre a seguinte função tanto analiticamente quanto numericamente. Para os cálculos numéricos, use (a) uma única aplicação da regra do trapézio, (b) a regra 1/3 de Simpson, (c) a regra
3/8 de Simpson, (d) a regra de Boole, (e) o método do ponto
médio, (f) a fórmula de integração aberta com três segmentos e
dois pontos e (g) a fórmula de integração aberta com quatro segmentos e três pontos. Calcule os erros relativos porcentuais para os
resultados numéricos.
1,5
142x dx
0,5
21.8 Integre a seguinte função tanto analiticamente quanto numericamente. Para os cálculos numéricos, use (a) uma única aplicação da regra do trapézio; (b) a regra 1/3 de Simpson; (c) a regra
3/8 de Simpson; (d) aplicação múltipla das regras de Simpson, com
n = 5; (e) a regra de Boole; (f) o método do ponto médio; (g) a fórmula de integração aberta com três segmentos e dois pontos e (h) a
fórmula de integração aberta com quatro segmentos e três pontos.
3
(5 + 3 cos x) dx
0
Calcule os erros relativos porcentuais para os resultados numéricos.
21.9 Suponha que uma força para cima de resistência do ar em um
objeto em queda livre seja proporcional ao quadrado da velocidade. Nesse caso, a velocidade pode ser calculada por
gm
gcd
v(t) =
tgh
t
cd
m
em que cd é o coeficiente de arrasto de segunda ordem. (a) Se g =
9,8 m/s2, m = 68,1 kg e cd = 0,25 kg/m, use integração analítica
para determinar quanto o objeto cai em 10 s. (b) Faça o mesmo cálculo, mas calcule a integral com a regra dos trapézios com segmentos múltiplos. Use um n suficientemente grande para que você
consiga uma acurácia de três algarismos significativos.
21.10 Calcule a integral dos seguintes dados tabulares com (a)
a regra do trapézio e (b) regras de Simpson:
x
0
0,1
0,2
0,3
0,4
0,5
f(x)
1
8
4
3,5
5
1
21.11 Calcule a integral dos seguintes dados tabulares com (a) a
regra do trapézio e (b) regras de Simpson:
x
−2
35
f(x)
0
2
4
6
8
10
5
−10
2
5
3
20
21.12 Determine o valor médio da função
f (x) = −46 + 45x − 14x 2 + 2x 3 − 0,075x 4
entre x = 2 e 10: (a) traçando o gráfico da função e estimando visualmente o valor médio, (b) usando a Equação (PT6.4) e o cálculo
analítico da integral e (c) usando a Equação (PT6.4) e uma versão
da regra de Simpson para cinco segmentos para fazer uma estimativa da integral. Calcule o erro porcentual relativo.
21.13 A função f(x) = 2e−1,5x pode ser usada para gerar a seguinte
tabela de dados desigualmente espaçados:
x
0
0,05
0,15
0,25
0,35
f(x)
2
1,8555
1,5970
1,3746
1,1831
0,475
0,6
0,9808 0,8131
Calcule a integral de a = 0 a b = 0,6 usando (a) métodos analíticos, (b) a regra do trapézio e (c) uma combinação das regras do
trapézio e de Simpson; empregue as regras de Simpson sempre que
possível para obter a máxima acurácia. Para (b) e (c), calcule o erro
relativo porcentual (εt).
21.14 Calcule a seguinte integral dupla:
1 2
(x 2 − 2y 2 + x y 3 ) dx dy
−1
0
PROBLEMAS
527
(a) analiticamente; (b) usando a aplicação múltipla da regra do
trapézio com n = 2, e (c) usando uma aplicação única da regra 1/3
de Simpson. Para (b) e (c), calcule o erro relativo porcentual (εt).
21.15 Calcule a seguinte integral tripla (a) analiticamente e (b)
usando uma única aplicação da regra 1/3 de Simpson. Para (b),
calcule o erro relativo porcentual (εt).
2 2 1
(x 3 − 3yz) dx dy dz
−2
0
−3
21.16 Desenvolva um programa de computador amigável ao usuário
para a aplicação múltipla da regra do trapézio com base na Figura
21.9. Teste seu programa reproduzindo os cálculos do Exemplo 21.2.
21.17 Desenvolva um programa de computador amigável ao
usuário para aplicação múltipla da regra de Simpson com base na
Figura 21.13c. Teste seu programa reproduzindo os cálculos do
Exemplo 21.5.
21.18 Desenvolva um programa de computador amigável ao usuário
para integrar dados desigualmente espaçados com base na Figura
21.15b. Teste-o reproduzindo os cálculos do Exemplo 21.8.
21.19 Uma viga de 11 m está sujeita a uma carga e a força de cisalhamento segue a equação
V (x) = 5 + 0,25x 2
em que V é a força de cisalhamento e x é a distância ao longo da
viga. Sabemos que V = dM/dx e M é o momento de deformação.
A integração fornece a relação
x
V dx
M = Mo +
0
Se Mo for 0 e x = 11, calcule M usando (a) integração analítica, (b)
aplicação múltipla da regra do trapézio e (c) aplicação múltipla das
regras de Simpson. Para (b) e (c), use incrementos de 1 m.
21.20 O trabalho produzido por um processo termodinâmico a
temperatura, constante pode ser calculado por
W =
p dV
em que W é o trabalho, p é a pressão e V é o volume. Com uma
combinação da regra do trapézio, regra 1/3 de Simpson e regra 3/8
de Simpson, use os seguintes dados para calcular o trabalho em kJ
(kJ = kN ⭈ m):
Pressão (kPa)
336 294,4 266,4 260,8 260,5 249,6 193,6 165,6
Volume (m3)
0,5
2
3
4
6
8
10
21.22 A massa total de uma haste de densidade variável é dada por
m=
L
0
ρ(x)Ac (x) dx
em que m é a massa, ρ (x) é a densidade, Ac(x) é a área da seção
transversal, x é a distância ao longo da haste e L é o comprimento
total da haste. Os seguintes dados foram medidos para uma haste
de 10 m. Determine a massa em quilogramas com a melhor precisão possível.
x, m
0
2
3
4
6
8
10
ρ, g/cm3
4,00
3,95
3,89
3,80
3,60
3,41
3,30
Ac, cm2
100
103
106
110
120
133
150
21.23 Um estudo em engenharia de transporte exige que você determine o número de carros que passa por uma intersecção durante
o horário de rush da manhã. Você fica em um lado da estrada e
conta o número de carros que passa a cada 4 minutos em diferentes
instantes, como tabulado a seguir. Use o melhor método numérico
para determinar (a) o número total de carros que passa entre 7:30 e
9:15 e (b) a taxa de carros passando pela intersecção por minuto.
(Sugestão: tenha cuidado com as unidades.)
Horário (h)
7:30
Taxa (carros em 4 min.)
7:45 8:00 8:15
18
24
14
24
8:45 9:15
21
9
21.24 Determine o valor médio para os dados na Figura P21.24.
Faça a integral necessária para a média na ordem mostrada na
seguinte equação:
I =
xn
x0
ym
y0
f (x, y)dy dx
Figura P21.24
y
4
–8
–8
–6
4
–4
–3
1
7
11
21.21 Determine a distância percorrida para os seguintes dados:
t, min
1
2
3,25
4,5
6
7
8
9
9,5
10
v, m/s
5
6
5,5
7
8,5
8
6
7
7
5
(a) Use a regra dos trapézios, (b) a melhor combinação das regras
do trapézio e de Simpson e (c) a integração analítica de polinômios
de segundo e terceiro graus determinados por regressão.
2
0
–2
0
–1
4
4
8
10
12
x
CAPÍTULO
22
Integração de Equações
Na introdução da Parte Seis, observamos que as funções a serem integradas numericamente terão tipicamente duas formas: uma tabela de valores ou uma equação. A forma dos
dados tem uma influência importante nas abordagens usadas para calcular a integral. Para
informações tabuladas, fica-se limitado pelo número de pontos dados. Em contraste, se
uma equação estiver disponível, é possível gerar tantos valores de f(x) quantos forem
necessários para alcançar a precisão aceitável (lembre-se da Figura PT6.7).
Este capítulo é dedicado a duas técnicas desenvolvidas especialmente para analisar
casos nos quais a função é dada. Ambas tiram vantagem da possibilidade de gerar valores
da função para desenvolver esquemas eficientes para integração numérica. A primeira é
baseada na extrapolação de Richardson, que é um método para combinar duas estimativas
numéricas para a integral para obter um terceiro valor, mais acurado. O algoritmo computacional para implementar a extrapolação de Richardson de uma maneira altamente eficiente é chamado integração de Romberg. Essa técnica é recursiva e pode ser usada para
gerar uma estimativa da integral dentro de uma tolerância de erro pré-especificada.
O segundo método é chamado quadratura de Gauss. Lembre que, no último capítulo, os valores de f (x) para as fórmulas de Newton-Cotes foram determinados em valores
especificados de x. Por exemplo, se usássemos a regra do trapézio para determinar uma
integral, estaríamos restritos a tomar a média ponderada de f(x) nas extremidades do intervalo. As fórmulas de quadratura de Gauss empregam valores de x que estão posicionados entre a e b de uma maneira que é produzida uma estimativa da integral muito mais
acurada.
Além dessas duas técnicas padrão, dedicamos uma seção final ao cálculo de integrais impróprias. Nessa discussão, nos concentraremos em integrais com extremos infinitos e mostraremos como uma mudança de variáveis e fórmulas de integração abertas
são úteis em tais casos.
22.1
ALGORITMO DE NEWTON-COTES PARA EQUAÇÕES
No Capítulo 21, apresentamos algoritmos para versões com aplicações múltiplas da regra
do trapézio e das regras de Simpson. Embora esses pseudocódigos possam certamente ser
usados para analisar equações, em nosso esforço para torná-los compatíveis tanto com
dados quanto com funções, eles não exploram a conveniência das últimas.
A Figura 22.1 mostra pseudocódigos que são desenvolvidos especialmente para os
casos nos quais a função é dada analiticamente. Em particular, observe que nem os valores da variável independente nem os da dependente são passados para a função no
código por meio de seus argumentos, como era o caso nos códigos do Capítulo 21. Para a
variável independente x, são passados o intervalo de integração (a, b) e o número de segmentos. Essa informação, então, é usada para gerar valores igualmente espaçados de x
para essa função. Para a variável dependente, os valores da função na Figura 22.1 são calculados usando chamadas da função f (x) que está sendo analisada.
Desenvolvemos programas em precisão simples baseados nesses pseudocódigos
para analisar o esforço envolvido e os erros cometidos conforme usamos progressivamente mais segmentos para fazer uma estimativa da integral de uma função simples. Para
uma função definida analiticamente, as equações de erro [Equações (21.13) e (21.19)]
indicam que, aumentando o número n de segmentos, obteremos estimativas mais acuradas da integral. Essa observação é evidenciada pela Figura 22.2, que é um gráfico do
528
22.1 ALGORITMO DE NEWTON-COTES PARA EQUAÇÕES
FIGURA 22.1
Algoritmos para a aplicação
múltipla das regras (a) do
trapézio e (b) 1/3 de
Simpson, quando a função
está disponível.
(a)Regra
(b)
FUNCTION TrapEq (n, a, b)
h ⫽ (b a) / n
x ⫽a
soma ⫽ f(x)
DOFOR i ⫽ 1, n 1
x ⫽ x ⫹h
soma ⫽ soma ⫹ 2 * f(x)
END DO
soma ⫽ soma ⫹ f(b)
TrapEq ⫽ (b a) * soma / (2 * n)
END TrapEq
FUNCTION SimpEq (n, a, b)
h ⫽ (b a) / n
x ⫽ a
soma ⫽ f(x)
DOFOR i ⫽ 1, n 2, 2
x ⫽x ⫹h
soma ⫽ soma ⫹ 4 * f(x)
x ⫽ x ⫹h
soma ⫽ soma ⫹ 2 * f(x)
END DO
x ⫽x ⫹ h
soma ⫽ soma ⫹ 4 * f(x)
soma ⫽ soma ⫹ f(b)
SimpEq ⫽ (b a) * soma/(3 * n)
END SimpEq
529
100
FIGURA 22.2
Valor absoluto do erro relativo
porcentual verdadeiro em
função do número de
segmentos para a
determinação da integral de
f(x) = 0,2 + 25x − 200x2 +
675x3 − 900x 4 + 400x5,
calculada de a = 0 a b = 0,8
usando aplicações múltiplas da
regra do trapézio e aplicações
múltiplas da regra 1/3 de
Simpson. Observe que ambos
os resultados indicam que,
para um grande número de
segmentos, os erros de
arredondamento limitam a
precisão.
Erro relativo porcentual verdadeiro
10
1
Regra do trapézio
10
–1
10 – 2
10 – 3
10 – 4
Limite de precisão
Regra 1/3
de Simpson
10 – 5
10 – 6
Limite de precisão
1
4
2
16
8
64
32
256 1024 4096 16384
512 2048 8192
128
Segmentos
erro verdadeiro em função de n para a integral de f (x) = 0,2 + 25x − 200x2 + 675x3
− 900x4 + 400x5. Observe como o erro cai conforme n aumenta. Entretanto, observe
também que, para valores grandes de n, o erro começa a aumentar à medida que os erros
de arredondamento começam a dominar. Observe ainda que valores muito grandes de cálculos de função (e, portanto, de esforço computacional) são necessários para se alcançar
altos níveis de acurácia. Como uma conseqüência desses defeitos, a aplicação múltipla da
regra do trapézio e das regras de Simpson algumas vezes é inadequada para contextos de
problemas nos quais alta eficiência e pequenos erros são necessários.
INTEGRAÇÃO DE EQUAÇÕES
530
22.2
INTEGRAÇÃO DE ROMBERG
A integração de Romberg é uma técnica desenvolvida para produzir integrais numéricas
eficientes de funções. É bastante parecida com as técnicas discutidas no Capítulo 21, no
sentido de que é baseada em aplicações sucessivas da regra dos trapézios. Entretanto, mediante manipulações matemáticas, são obtidos resultados superiores com menos esforço.
22.2.1 Extrapolação de Richardson
Lembre que, na Seção 10.3.3, usamos refinamento iterativo para melhorar a solução de
um conjunto de equações lineares simultâneas. Também estão disponíveis técnicas de
correções de erros para melhorar os resultados da integração numérica com base nas
próprias estimativas da integral. Chamados em geral de extrapolação de Richardson,
esses métodos usam duas estimativas de uma integral para calcular uma terceira aproximação mais acurada.
A estimativa e o erro associados com a aplicação múltipla da regra do trapézio
podem ser representados de modo geral por
I = I(h) + E(h)
em que I é o valor exato da integral, I(h) é a aproximação a partir da aplicação da regra do
trapézio com n segmentos com tamanho do passo h ⫽ (b a)/n e E(h) é o erro de truncamento. Se fizermos duas estimativas separadas usando tamanhos de passo h1 e h2 e
tivermos os valores exatos para o erro,
I(h 1 ) + E(h 1 ) = I(h 2 ) + E(h 2 )
(22.1)
Lembre-se agora de que o erro da aplicação múltipla da regra do trapézio pode ser representado aproximadamente pela Equação (21.13)[com n = (b − a)/ h] :
b − a 2 ¯′′
E∼
h f
=−
12
(22.2)
Supondo que f¯′′ é constante independentemente do tamanho do passo, a Equação (22.2)
pode ser usada para determinar que a razão entre os dois erros será
E(h 1 ) ∼ h 21
= 2
E(h 2 )
h2
(22.3)
Esse cálculo tem o efeito importante de remover o termo f¯′′ do cálculo. Fazendo isso,
tornamos possível a utilização da informação embutida na Equação (22.2) sem o conhecimento prévio da segunda derivada da função. Para fazer isso, reorganizamos a
Equação (22.3) para obter
2
h1
E(h 1 ) ∼
= E(h 2 )
h2
a qual pode ser substituída na Equação (22.1):
2
h1 ∼
I(h 1 ) + E(h 2 )
= I(h 2 ) + E(h 2 )
h2
a qual pode ser resolvida por
I(h 1 ) − I(h 2 )
E(h 2 ) ∼
=
1 − (h 1 / h 2 )2
Logo, obteremos uma estimativa para o erro de truncamento em termos das estimativas
da integral e seus tamanhos de passo. Essa estimativa pode então ser substituída em
I = I(h 2 ) + E(h 2 )
22.2 INTEGRAÇÃO DE ROMBERG
531
para fornecer uma estimativa melhorada da integral:
I ∼
= I(h 2 ) +
1
[I(h 2 ) − I(h 1 )]
(h 1 / h 2 )2 − 1
(22.4)
É possível mostrar (Ralston e Rabinowitz, 1978) que o erro nessa estimativa é O(h4).
Logo, combinamos as estimativas de duas regras de trapézio de O(h2) para obter uma
nova estimativa de O(h4). Para o caso especial em que o intervalo é dividido na metade
(h2 = h1/2), essa equação se torna
I ∼
= I(h 2 ) +
22
1
[I(h 2 ) − I(h 1 )]
−1
ou, agrupando os termos,
4
1
I ∼
= I(h 2 ) − I(h 1 )
3
3
EXEMPLO 22.1
(22.5)
Correções do Erro da Regra do Trapézio
Enunciado do Problema. No capítulo anterior (Exemplo 21.1 e Tabela 21.1), usamos
diversos métodos de integração numérica para calcular a integral de f(x) = 0,2 + 25x −
200x 2 + 675x 3 − 900x 4 + 400x 5 de a = 0 a b ⫽ 0,8. Por exemplo, aplicações única e
múltipla da regra do trapézio forneceram os seguintes resultados:
Segmentos
h
Integral
ε t, %
1
2
4
0,8
0,4
0,2
0,1728
1,0688
1,4848
89,5
34,9
9,5
Use essa informação junto com a Equação (22.5) para calcular estimativas melhoradas da
integral.
Solução. As estimativas para um e dois segmentos podem ser combinadas para fornecer
4
1
I ∼
= (1,0688) − (0,1728) = 1,367467
3
3
O erro da integral melhorada é E t = 1,640533 − 1,367467 = 0,273067 (εt = 16,6%),
que é superior às estimativas sobre as quais é baseado.
Da mesma maneira, as estimativas para dois e quatro segmentos podem ser combinadas para dar
4
1
I ∼
= (1,4848) − (1,0688) = 1,623467
3
3
o que representa um erro de E t = 1,640533 − 1,623467 = 0,017067 (εt = 1,0%).
A Equação (22.4) fornece uma forma de combinar duas aplicações da regra do
trapézio com erro O(h2) para calcular uma terceira estimativa com erro O(h4). Essa abordagem é um subconjunto de um método mais geral para combinar integrais e obter estimativas melhores. No caso do Exemplo 22.1, calculamos duas integrais melhoradas de
O(h4) com base em três estimativas pela regra do trapézio. Essas duas estimativas melhoradas podem, por sua vez, ser combinadas para fornecer um valor ainda melhor com
O(h6). Para o caso especial em que as estimativas originais pela regra do trapézio são
INTEGRAÇÃO DE EQUAÇÕES
532
baseadas em dividir o tamanho do passo sucessivamente por 2, a equação usada para uma
acurácia O(h6) é
16
1
I ∼
Im −
Il
=
15
15
(22.6)
em que Im e Il são as estimativas mais e menos acuradas, respectivamente. Analogamente, dois resultados O(h6) podem ser combinados para calcular uma integral que é
O(h8) usando
64
1
I ∼
Im −
Il
=
63
63
EXEMPLO 22.2
(22.7)
Correção do Erro de Ordem Superior das Estimativas da Integral
Enunciado do Problema. No Exemplo 22.1, usamos a extrapolação de Richardson para
calcular duas estimativas da integral de O(h4). Utilize a Equação (22.6) para combinar
essas estimativas para calcular uma integral com O(h6).
Solução. As duas estimativas da integral O(h4) obtidas no Exemplo 22.1 foram
1,367467 e 1,623467. Esses valores podem ser substituídos na Equação (22.6)
para fornecer
I =
16
1
(1,623467) − (1,367467) = 1,640533
15
15
que é a resposta correta até os sete algarismos significativos que são usados neste
exemplo.
22.2.2 O Algoritmo da Integração de Romberg
Observe que os coeficientes em cada uma das equações de extrapolação [Equações
(22.5), (22.6) e (22.7)] somam 1. Logo, eles representam fatores de peso que, conforme a
precisão aumenta, colocam peso relativamente maior na estimativa superior da integral.
Essas formulações podem ser expressas em uma forma geral que é adequada para a implementação computacional:
4k−1 I j+1,k−1 − I j,k−1
I j,k ∼
=
4k−1 − 1
(22.8)
onde I j+1,k−1 e I j,k−1 são as integrais mais e menos acuradas, respectivamente, e Ij, k é a
integral melhorada. O índice k significa o nível da integração, em que k = 1 corresponde
à estimativa original pela regra do trapézio, k = 2 corresponde a O(h4), k = 3 a O(h6), e
assim por diante. O índice j é usado para distinguir entre a estimativa mais acurada
( j + 1) e a menos acurada ( j). Por exemplo, para k = 2 e j = 1, a Equação (22.8) se torna
4I2,1 − I1,1
I1,2 ∼
=
3
que é equivalente à Equação (22.5).
A forma geral representada pela Equação (22.8) é atribuída a Romberg e sua aplicação sistemática para o cálculo de integrais é conhecida como integração de Romberg.
A Figura 22.3 é uma descrição gráfica de uma seqüência de estimativas da integral gerada
usando essa abordagem. Cada matriz corresponde a uma única iteração. A primeira coluna contém os cálculos da regra do trapézio designados por Ij,1, em que j = 1 é para uma
aplicação com um único segmento (o tamanho do passo é b − a), j = 2 é para
22.2 INTEGRAÇÃO DE ROMBERG
O (h2)
FIGURA 22.3
Descrição gráfica de uma
seqüência de estimativas da
integral gerada usando a
integração de Romberg. (a)
Primeira iteração. (b) Segunda
iteração. (c) Terceira iteração.
O (h4)
533
O (h6)
(a) 0,172800
1,068800
1,367467
(b) 0,172800
1,068800
1,484800
1,367467
1,623467
1,640533
(c) 0,172800
1,068800
1,484800
1,600800
1,367467
1,623467
1,639467
1,640533
1,640533
O(h8)
1,640533
uma aplicação com dois segmentos [o tamanho do passo é b − a)/2], j ⫽ 3 é para uma
aplicação com quatro segmentos [o tamanho do passo é (b − a)/4] e assim por diante. As
outras colunas da matriz são geradas pela aplicação sistemática da Equação (22.8) para se
obter estimativas sucessivamente melhores da integral.
Por exemplo, a primeira iteração (Figura 22.3a) envolve o cálculo de estimativas
pela regra do trapézio com um e dois segmentos (I1,1 e I2,1). A Equação (22.8) é então
usada para calcular o elemento I1,2 = 1,367467, o qual tem um erro de O(h4).
Agora, devemos determinar se esse resultado é adequado para as nossas necessidades. Como em outros métodos aproximadores deste livro, um critério de parada é
necessário para avaliar a acurácia dos resultados. Um método que pode ser empregado
para o propósito presente é [Equação (3.5)]
I1,k − I2,k−1
100%
|εa | =
I1,k
(22.9)
em que εa é uma estimativa do erro porcentual. Assim, como foi feito previamente em
outros processos iterativos, comparamos a nova estimativa com um valor anterior.
Quando a variação entre os valores antigo e novo, representados por εa , ficar abaixo de
um critério de erro pré-especificado εs, os cálculos são parados. Na Figura 22.3a, esse
cálculo indica uma variação porcentual de 21,8 durante a primeira iteração.
O objetivo da segunda iteração (Figura 22.3b) é obter a estimativa O(h6) — I1,3. Para
fazer isso, uma estimativa adicional da regra do trapézio, I3,1 = 1,4848, é determinada.
Então, ela é combinada com I2,1 usando a Equação (22.8) para gerar I2,2 = 1,623467. O
resultado é, por sua vez, combinado com I1,2 para fornecer I1,3 = 1,640533. A Equação
(22.9) pode ser aplicada para determinar que esse resultado representa uma variação de
1,0% quando comparado com o resultado anterior, I1,2.
A terceira iteração (Figura 22.3c) continua o processo da mesma forma. Nesse caso,
é adicionada uma estimativa pela regra do trapézio à primeira coluna e, então, a Equação
(22.8) é aplicada para calcular integrais sucessivamente mais acuradas ao longo da diagonal inferior. Depois de apenas três iterações, como estamos tratando um polinômio de
quinto grau, o resultado (I1,4 = 1,640533) é exato.
A integração de Romberg é mais eficiente do que a regra do trapézio e as regras de
Simpson discutidas no Capítulo 21. Por exemplo, para determinar a integral como
mostrado na Figura 22.1, a regra 1/3 de Simpson exigiria uma aplicação com 256 segmentos para fornecer uma estimativa de 1,640533. Aproximações mais finas não seriam
possíveis por causa dos erros de arredondamento. Em contraste, a integração de Romberg
fornece um resultado exato (até sete algarismos significativos) baseado na combinação
das regras do trapézio para um, dois, quatro e oito segmentos; isto é, com apenas 15 cálculos de função!
A Figura 22.4 apresenta um pseudocódigo para a integração de Romberg. Usando
laços, esse algoritmo implementa o método eficientemente. A integração de Romberg é
desenvolvida para os casos nos quais a função a ser integrada é conhecida, porque o conhecimento da função permite os cálculos necessários para as implementações iniciais da
INTEGRAÇÃO DE EQUAÇÕES
534
FUNCTION Rhomberg (a, b, maxit, es)
LOCAL I(10, 10)
n ⫽1
I1,1 ⫽ TrapEq(n, a, b)
iter ⫽ 0
DO
iter ⫽ iter ⫹ 1
n ⫽ 2iter
Iiter⫹1,1 ⫽ TrapEq(n, a, b)
DOFOR k ⫽ 2, iter ⫹ 1
j ⫽ 2 ⫹ iter k
FIGURA 22.4
Pseudocódigo para a
integração de Romberg que
usa a versão com segmentos
de tamanhos iguais da regra
do trapézio da Figura 22.1.
Ij,k ⫽ (4k1 * Ij⫹1,k1 Ij,k1) 兾 (4k1 1)
END DO
ea ⫽ ABS((I1,iter⫹1 I1,iter) 兾 I1,iter⫹1) * 100
IF (iter ⱖ maxit OR ea ⱕ es) EXIT
END DO
Rhomberg ⫽ I1,iter⫹1
END Rhomberg
regra do trapézio. Dados tabulados raramente estão na forma em que deveriam para se
fazer as sucessivas divisões por dois que são necessárias.
22.3
QUADRATURA DE GAUSS
No Capítulo 21, estudamos o grupo de fórmulas de integração numérica ou quadratura
conhecido como equações de Newton-Cotes. Uma característica dessas fórmulas (com a
exceção do caso especial da Seção 21.3) era que a estimativa da integral era baseada em
valores da função igualmente espaçados. Conseqüentemente, a posição dos pontos base
usados nessas equações era predeterminada ou fixa.
Por exemplo, como descrito na Figura 22.5a, a regra do trapézio é baseada em tomar
a área sob uma reta ligando os valores da função nas extremidades do intervalo de integração. A fórmula que é usada para calcular essa área é
f(a) + f(b)
I ∼
= (b − a)
2
(22.10)
em que a e b são os extremos de integração e b − a é a largura do intervalo de integração.
Como a regra do trapézio deve passar pelas extremidades, há casos como a Figura 22.5a
nos quais a fórmula resulta em um erro grande.
Agora, suponha que a restrição de pontos base fixos seja removida e que estivéssemos livres para calcular a área sob uma reta ligando quaisquer dois pontos da curva. Posicionando sabiamente esses pontos, poderíamos definir uma reta que balanceasse os erros
positivos e negativos. Assim, como na Figura 22.5b, chegaríamos a uma estimativa melhorada da integral.
Quadratura de Gauss é o nome de uma classe de técnicas para implementar tal
estratégia. As fórmulas de quadratura de Gauss descritas nessa seção são chamadas de
fórmulas de Gauss-Legendre. Antes de descrever essa abordagem, vamos mostrar como
as fórmulas de integração numérica tal como a regra do trapézio podem ser deduzidas
usando-se o método dos coeficientes indeterminados. Esse método será então empregado
para deduzir as fórmulas de Gauss-Legendre.
22.3.1 Método dos Coeficientes Indeterminados
No Capítulo 21, deduzimos a regra do trapézio integrando um polinômio interpolador linear e por argumentação geométrica. O método dos coeficientes indeterminados oferece
22.3 QUADRATURA DE GAUSS
535
f (x)
x
(a)
FIGURA 22.5
(a) Descrição gráfica da regra
do trapézio como a área sob a
reta ligando extremidades fixas.
(b) Uma estimativa melhorada
da integral obtida tomando-se
a área sob a reta passando
por dois pontos intermediários.
Posicionando sabiamente esses
pontos, os erros positivos e
negativos são balanceados e
uma estimativa melhorada da
integral é obtida.
f (x)
x
(b)
uma terceira abordagem que também tem utilidade na dedução de outras técnicas de integração, como a quadratura de Gauss.
Para ilustrar essa abordagem, a Equação (22.10) é expressa como
I ∼
= c0 f(a) + c1 f(b)
(22.11)
em que os c’s são constantes. Perceba, agora, que a regra do trapézio deveria fornecer resultados exatos quando a função sendo integrada é uma constante ou uma reta. Duas
equações simples que representam esses casos são y = 1 e y = x. Ambas estão ilustradas
na Figura 22.6. Logo, as seguintes igualdades devem ser válidas:
(b−a)/2
c0 + c1 =
1 dx
−(b−a)/2
e
b−a
b−a
−c0
+ c1
=
2
2
(b−a)/2
x dx
−(b−a)/2
ou, calculando as integrais,
c0 + c1 = b − a
e
−c0
b−a
b−a
+ c1
=0
2
2
Essas são duas equações com duas incógnitas que podem ser resolvidas por
c0 = c1 =
b−a
2
o que, quando se substitui de volta na Equação (22.11), dá
I =
b−a
b−a
f(a) +
f(b)
2
2
o que é equivalente à regra do trapézio.
536
INTEGRAÇÃO DE EQUAÇÕES
y
y=1
– (b – a)
2
b–a
2
x
(a)
y
y=x
– (b – a)
2
b–a
2
x
(b)
FIGURA 22.6
Duas integrais que devem ser calculadas exatamente pela regra do trapézio: (a) uma
constante e (b) uma reta.
22.3.2 Dedução da Fórmula de Gauss-Legendre de Dois Pontos
Do mesmo modo como no caso da dedução da regra dos trapézios, o objetivo da quadratura de Gauss é determinar os coeficientes de uma equação da forma
I ∼
= c0 f(x0 ) + c1 f(x1 )
(22.12)
em que os c’s são coeficientes desconhecidos. Entretanto, em contraste com a regra do
trapézio que usa extremidades fixas a e b, os argumentos da função x0 e x1 não são fixados nas extremidades, mas são incógnitas (Figura 22.7). Assim, agora temos um total de
quatro incógnitas que devem ser calculadas e necessitamos de quatro condições para determiná-las exatamente.
Do mesmo modo que no caso da regra dos trapézios, podemos obter duas dessas
condições, supondo que a Equação (22.12) calcula a integral de uma função constante e
de uma função linear exatamente. Então, para chegar a duas outras condições, simplesmente estendemos esse raciocínio supondo que ele também calculará a integral de uma
função parabólica ( y = x2) e de uma cúbica ( y = x3) exatamente. Fazendo isso, determinamos todas as quatro incógnitas e, de quebra, deduzimos uma fórmula de integração
linear de dois pontos que é exata para funções cúbicas. As quatro equações a serem resolvidas são
1
c0 f(x0 ) + c1 f(x1 ) =
1 dx = 2
(22.13)
−1
c0 f(x0 ) + c1 f(x1 ) =
1
−1
x dx = 0
(22.14)
22.3 QUADRATURA DE GAUSS
537
f (x)
f (x1)
f (x0)
–1
x1
x0
1
x
FIGURA 22.7
Descrição gráfica das variáveis desconhecidas x0 e x1 da integração por quadratura
de Gauss.
1
c0 f(x0 ) + c1 f(x1 ) =
1
c0 f(x0 ) + c1 f(x1 ) =
−1
−1
2
3
(22.15)
x 3 dx = 0
(22.16)
x 2 dx =
As Equações (22.13) até (22.16) podem ser resolvidas simultaneamente por
c0 = c1 = 1
1
x0 = − √ = −0,5773503 . . .
3
1
x1 = √ = 0,5773503 . . .
3
o que pode ser substituído na Equação (22.12) para fornecer a fórmula de Gauss-Legendre de dois pontos
−1
1
I ∼
+ f √
= f √
3
3
(22.17)
Logo, chegamos
ao√interessante resultado que uma simples adição de valores da função em
√
x = 1/ 3 e −1/ 3 fornece uma estimativa da integral que tem acurácia de terceira
ordem.
Observe que os extremos de integração nas Equações (22.13) até (22.16) são de −1
a 1. Isso foi feito para simplificar a matemática e tornar a formulação tão geral quanto
possível. Uma simples mudança de variável pode ser usada para transformar outros
extremos de integração para essa fórmula, o que se faz supondo que uma nova variável xd
está relacionada à variável original x de uma forma linear como em
x = a0 + a1 xd
(22.18)
Se o extremo inferior, x = a, corresponder a xd = −1, esses valores podem ser substituídos na Equação (22.18) para fornecer
a = a0 + a1 (−1)
(22.19)
Analogamente, o extremo superior, x = b, corresponde a xd = 1, e fornece
b = a0 + a1 (1)
(22.20)
INTEGRAÇÃO DE EQUAÇÕES
538
As Equações (22.19) e (22.20) podem ser resolvidas simultaneamente por
e
a0 =
b+a
2
(22.21)
a1 =
b−a
2
(22.22)
o que pode ser substituído na Equação (22.18) para fornecer
(b + a) + (b − a)xd
2
Essa equação pode ser derivada para dar
x=
dx =
b−a
dxd
2
(22.23)
(22.24)
Os valores de x e dx, nas Equações (22.23) e (22.24), respectivamente, podem ser substituídos na equação a ser integrada. Essas substituições transformam efetivamente o intervalo de integração sem mudar o valor da integral. O exemplo a seguir ilustra como isso é
feito na prática.
EXEMPLO 22.3
Fórmula de Gauss-Legendre de Dois Pontos
Enunciado do Problema. Use a Equação (22.17) para calcular a integral de
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
entre os extremos x = 0 a 0,8. Lembre-se de que esse é o mesmo problema que resolvemos no Capítulo 21 usando diversas formulações de Newton-Cotes. O valor exato da integral é 1,640533.
Solução. Antes de integrar a função, devemos fazer uma mudança de variáveis de forma
que os extremos sejam de −1 a +1. Para isso, substituímos a = 0 e b = 0,8 na Equação
(22.23) para obter
x = 0,4 + 0,4xd
A derivada dessa relação é [Equação (22.24)]
dx = 0,4 dxd
Ambas as equações podem ser substituídas na equação original para fornecer
0,8
(0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5 ) dx
0
1
=
0,2 + 25(0,4 + 0,4xd ) − 200(0,4 + 0,4xd )2 + 675(0,4 + 0,4xd )3
−1
− 900(0,4 + 0,4xd )4 + 400(0,4 + 0,4xd )5 0,4 dxd
Portanto, o lado direito está na forma adequada para o cálculo√usando a quadratura de
Gauss. A função √
transformada pode ser calculada em −1/ 3 como sendo igual a
0,516741 e em 1/ 3 como sendo igual a 1,305837. Portanto, de acordo com a Equação
(22.17), a integral é
I ∼
= 0,516741 + 1,305837 = 1,822578
o que representa um erro relativo porcentual de −11,1%. Esse resultado é comparável em
módulo à aplicação da regra do trapézio com quatro segmentos (Tabela 21.1) ou a uma
única aplicação das regras 1/3 e 3/8 de Simpson (Exemplos 21.4 e 21.6). O último resultado deve ser esperado, já que as regras de Simpson tem acurácia de terceira ordem. Contudo, por causa da escolha inteligente dos pontos base, a quadratura de Gauss alcança essa
acurácia com base em apenas dois cálculos da função.
22.3 QUADRATURA DE GAUSS
539
22.3.3 Fórmulas com Mais Pontos
Além da fórmula de dois pontos descrita na seção anterior, versões com mais pontos
podem ser desenvolvidas na forma geral
I ∼
= c0 f(x0 ) + c1 f(x1 ) + · · · + cn−1 f(xn−1 )
(22.25)
em que n é o número de pontos. Os valores para os c’s e os x’s para até (e incluindo) a fórmula de seis pontos estão resumidos na Tabela 22.1.
TABELA 22.1 Fatores de peso, c; e argumentos da função, x; nas fórmulas de
Gauss-Legendre.
Fatores
de Peso
Argumentos
da Função
Erro de
Truncamento
2
c0 ⫽ 1,0000000
c1 ⫽ 1,0000000
x0 ⫽ ⫺0,577350269
x1 ⫽ 0,577350269
⬵f (4)(ξ)
3
c0 ⫽ 0,5555556
c1 ⫽ 0,8888889
c2 ⫽ 0,5555556
x0 ⫽ ⫺0,774596669
x1 ⫽ 0,0
x2 ⫽ 0,774596669
⬵f (6)(ξ)
4
c0 ⫽ 0,3478548
c1 ⫽ 0,6521452
c2 ⫽ 0,6521452
c3 ⫽ 0,3478548
x0 ⫽ ⫺0,861136312
x1 ⫽ ⫺0,339981044
x2 ⫽ 0,339981044
x3 ⫽ 0,861136312
⬵f (8)(ξ)
5
c0 ⫽ 0,2369269
c1 ⫽ 0,4786287
c2 ⫽ 0,5688889
c3 ⫽ 0,4786287
c4 ⫽ 0,2369269
x0 ⫽ ⫺0,906179846
x1 ⫽ ⫺0,538469310
x2 ⫽ 0,0
x3 ⫽ 0,538469310
x4 ⫽ 0,906179846
⬵f (10)(ξ)
6
c0 ⫽ 0,1713245
c1 ⫽ 0,3607616
c2 ⫽ 0,4679139
c3 ⫽ 0,4679139
c4 ⫽ 0,3607616
c5 ⫽ 0,1713245
x0 ⫽ ⫺0,932469514
x1 ⫽ ⫺0,661209386
x2 ⫽ ⫺0,238619186
x3 ⫽ 0,238619186
x4 ⫽ 0,661209386
x5 ⫽ 0,932469514
⬵f (12)(ξ)
Pontos
EXEMPLO 22.4
Fórmula de Gauss-Legendre de Três Pontos
Enunciado do Problema. Use a fórmula de três pontos da Tabela 22.1 para fazer uma
estimativa da integral da mesma função do Exemplo 22.3.
Solução. De acordo com a Tabela 22.1, a fórmula de três pontos é
I = 0,5555556 f(−0,7745967) + 0,8888889 f(0) + 0,5555556 f(0,7745967)
o que é igual a
I = 0,2813013 + 0,8732444 + 0,4859876 = 1,640533
o que é exato.
Como a quadratura de Gauss exige cálculos da função em pontos que não são uniformemente espaçados dentro do intervalo de integração, não é apropriada para os casos
nos quais a função não é conhecida analiticamente. Logo, não é adequada para problemas
de engenharia que lidem com dados tabulados. Entretanto, quando a função for conhecida, sua eficiência pode ser uma vantagem decisiva. Isso é particularmente verdade
quando muitos cálculos de integrais devam ser feitos.
INTEGRAÇÃO DE EQUAÇÕES
540
EXEMPLO 22.5
Aplicando a Quadratura de Gauss ao Problema do Pára-quedista em Queda Livre
Enunciado do Problema. No Exemplo 21.3, usamos a aplicação múltipla da regra do
trapézio para calcular
gm
d=
c
0
10
1 − e−(c/m)t dt
em que g = 9,8, c = 12,5 e m = 68,1. O valor exato da integral foi determinado pelo cálculo como sendo 289,4351. Lembre-se de que a melhor estimativa obtida usando a regra
= 1,15 × 10−4 por cento.
do trapézio com 500 segmentos foi 289,4348 com um |εt | ∼
Repita esse cálculo usando a quadratura de Gauss.
Solução.
Depois de modificar a função, são obtidos os seguintes resultados:
Estimativa de dois pontos = 290,0145
Estimativa de três pontos = 289,4393
Estimativa de quatro pontos = 289,4352
Estimativa de cinco pontos = 289,4351
Estimativa de seis pontos = 289,4351
Logo, as estimativas de cinco e de seis pontos fornecem resultados que são exatos até sete
algarismos significativos.
22.3.4 Análise de Erro para a Quadratura de Gauss
O erro para as fórmulas de Gauss-Legendre é especificado em geral por (Carnahan et al., 1969)
Et =
22n+3 [(n + 1)!]4
f (2n+2) (ξ )
(2n + 3)[(2n + 2)!]3
(22.26)
em que n é o número de pontos menos um e f (2n+2)(ξ) é a (2n + 2)-ésima derivada
da função depois da mudança de variáveis com ξ localizado em algum ponto no
intervalo de −1 a 1. A comparação da Equação (22.26) com a Tabela 21.2 indica a
superioridade da quadratura de Gauss sobre as fórmulas de Newton-Cotes, desde que
as derivadas de ordem mais alta não cresçam substancialmente com o aumento de n.
O Problema 22.8 no final deste capítulo ilustra um caso no qual as fórmulas de
Gauss-Legendre têm um desempenho ruim. Nessas situações, a aplicação múltipla da
regra de Simpson ou a integração de Romberg seriam preferíveis. Entretanto, para
muitas funções confrontadas na prática da engenharia, a quadratura de Gauss fornece
uma maneira eficiente de calcular integrais.
22.4
INTEGRAIS IMPRÓPRIAS
Até este ponto, tratamos exclusivamente de integrais que tenham extremos finitos e integrandos limitados. Embora esses tipos sejam comuns na engenharia, algumas vezes
integrais impróprias devem ser calculadas. Nesta seção nos concentraremos em um
tipo de integral imprópria — ou seja, a que tem um extremo inferior −∞ ou um extremo superior +∞.
Tais integrais usualmente podem ser calculadas fazendo uma mudança de variáveis
que transforma o intervalo infinito em um que é finito. A seguinte identidade serve a esse
propósito e funciona para qualquer função que decresça a zero pelo menos tão rapidamente quanto l/x2 quando x tende a infinito:
22.4 INTEGRAIS IMPRÓPRIAS
b
f(x) dx =
a
1/a
1/b
541
1
1
dt
f
2
t
t
(22.27)
para ab > 0. Logo, pode ser usada apenas quando a for positivo e b for ∞ ou quando
a for −∞ e b for negativo. Nos casos em que os extremos forem de −∞ a um valor positivo ou de um valor negativo a ∞, a integral pode ser implementada em duas etapas. Por
exemplo.
b
f(x) dx =
−A
f(x) dx +
b
(22.28)
f(x) dx
−A
−∞
−∞
em que −A é escolhido como um valor negativo suficientemente grande para que a
função tenha começado a se aproximar assintoticamente de zero pelo menos tão rapidamente quanto l/x2. Depois de a integral ter sido dividida em duas partes, a primeira pode
ser calculada pela Equação (22.27) e a segunda com uma fórmula fechada de NewtonCotes, tal como a regra 1/3 de Simpson.
Um problema com o uso da Equação (22.27) para o cálculo da integral é que a
função transformada será singular em um dos extremos. As fórmulas de integração abertas podem ser usadas para contornar esse dilema, já que permitem o cálculo da integral
sem usar dados nas extremidades do intervalo de integração. Para permitir uma flexibilidade máxima, é necessária uma versão com aplicações múltiplas de uma das fórmulas da
Tabela 21.4.
Versões com aplicações múltiplas de fórmulas abertas podem ser obtidas usando-se
fórmulas fechadas para os segmentos interiores e fórmulas abertas para os das extremidades. Por exemplo, a regra do trapézio com segmentos múltiplos e a regra do ponto
médio podem ser combinadas para dar
xn
f(x) dx = h
x0
n−2
3
3
f(xi ) + f(xn−1 )
f(x1 ) +
2
2
i=2
Além disso, fórmulas semi-abertas podem ser desenvolvidas para os casos nos quais
uma ou outra extremidade do intervalo for fechada. Por exemplo, uma fórmula que é
aberta na extremidade inferior e fechada na superior é dada por
xn
f(x) dx = h
x0
n−1
1
3
f(xi ) + f(xn )
f(x1 ) +
2
2
i=2
Embora essas relações possam ser usadas, uma fórmula preferível é (Press et al., 1992)
xn
(22.29)
f(x) dx = h[ f(x1/2 ) + f(x3/2 ) + · · · + f(xn−3/2 ) + f(xn−1/2 )]
x0
que é chamada de regra do ponto médio estendida. Observe que essa fórmula é baseada
em extremos de integração que estão h/2 depois e antes do primeiro e último pontos
dados (Figura 22.8).
FIGURA 22.8
Disposição dos pontos dados
em relação aos extremos de
integração na regra do ponto
médio estendida.
x1/2
x0
x3/2
x5/2
xn – 5/2
xn – 3/2
xn – 1/2
xn
INTEGRAÇÃO DE EQUAÇÕES
542
EXEMPLO 22.6
Cálculo de uma Integral Imprópria
Enunciado do Problema. A distribuição normal cumulativa é uma fórmula importante
na estatística (veja a Figura 22.9):
x
1
2
N(x) =
√ e−x /2 dx
(E22.6.1)
2π
−∞
em que x = (y − ȳ)/s y é chamado de desvio normal padrão. Ele representa uma mudança de variáveis para mudar a escala da distribuição normal de modo que ela esteja
centrada no zero e que a distância ao longo da abscissa seja medida em múltiplos do
desvio padrão (Figura 22.9b).
A Equação (E22.6.1) representa a probabilidade de que um evento seja menor do que
x. Por exemplo, se x = 1, a Equação (E22.6.1) pode ser usada para determinar que a probabilidade de ocorrer um evento que seja menor do que um desvio padrão acima da média
é N(1) = 0,8413. Em outras palavras, se ocorrerem 100 eventos, aproximadamente 84
serão menores do que a média mais um desvio padrão. Como a Equação (E22.6.1) não
pode ser expressa em uma forma funcional simples, ela é resolvida numericamente e listada em tabelas de estatística. Use a Equação (22.28) em conjunto com a regra 1/3 de
Simpson e a regra do ponto médio estendida para determinar N(1) numericamente.
FIGURA 22.9
(a) A distribuição normal, (b) a abscissa transformada em termos do desvio normal
padrão e (c) a distribuição normal cumulativa. A área hachurada em (a) e o ponto em
(c) representam a probabilidade de que um evento aleatório seja menor do que a média
mais um desvio padrão.
N(x) =
(a)
(b)
–3
冕
1
1 – x2/2
e
dx
2
–⬁
–y – 2s
y
–y – s
y
–y
–y + s
y
–y + 2s
y
–2
–1
0
1
2
y
3
x
N(x)
1
0.5
(c)
–3
–2
–1
N(x) =
0
1
冕
1
1 – x2/2
e
dx
2
–⬁
2
3
x
PROBLEMAS
543
Solução. A Equação (E22.6.1) pode ser reescrita em termos da Equação (22.28) como
−2
1
1
2
2
N(x) = √
e−x /2 dx
e−x /2 dx +
2π −∞
−2
A primeira integral pode ser calculada pela aplicação da Equação (22.27), fornecendo
0
−2
1 −1/(2t 2 )
−x 2 /2
e
dt
e
dx =
2
−∞
−1/2 t
Então, a regra do ponto médio estendida com h = 1/8 pode ser usada para obter uma estimativa de
0
1 −1/(2t 2 ) ∼ 1
e
dt = [ f(x−7/16 ) + f(x−5/16 ) + f(x−3/16 ) + f(x−1/16 )]
2
t
8
−1/2
1
= [0,3833 + 0,0612 + 0 + 0] = 0,0556
8
A regra 1/3 de Simpson com h = 0,5 pode ser usada para obter uma estimativa da segunda integral
1
2
e−x /2 dx
−2
= [1 − (−2)]
0,1353 + 4(0,3247 + 0,8825 + 0,8825) + 2(0,6065 + 1) + 0,6065
3(6)
= 2,0523
Portanto, o resultado final pode ser calculado como sendo
1
N (1) ∼
= √ (0,0556 + 2,0523) = 0,8409
2π
o que representa um erro de εt = 0,046%.
Os cálculos anteriores podem ser melhorados de diversas formas. Primeiro, fórmulas de ordem superior poderiam ser usadas — por exemplo, empregar uma integração de
Romberg. Segundo, mais pontos poderiam ser usados. Press et al. (1986) exploraram
ambas as opções em profundidade.
Além de extremos infinitos, há muitas outras formas pelas quais uma integral pode ser
imprópria. Exemplos comuns incluem casos nos quais a integral é singular em ambos os extremos de integração ou em um ponto no interior do intervalo de integração. Press et al.
(1986) fornecem uma discussão interessante de maneiras de lidar com tais situações.
PROBLEMAS
22.1 Use a integração de Romberg para calcular
2
3 2
2x +
dx
I =
x
1
com uma acurácia de εs = 0,5%. Seus resultados devem ser apresentados na forma da Figura 22.3. Use a solução analítica da integral para determinar o erro relativo porcentual do resultado obtido
com a integração de Romberg. Verifique que εt é menor do que o
critério de parada εs .
22.2 Use a integração de Romberg da ordem de h8 para calcular
3
xe x dx
0
Compare εa e εt .
22.3 Use a integração de Romberg para calcular
2 x
e sen x
dx
2
0 1+x
com uma acurácia de εs = 0,5%. Seus resultados devem ser apresentados na forma da Figura 22.3.
22.4 Obtenha uma estimativa da integral do Problema 22.1 usando
as fórmulas de Gauss-Legendre com dois, três e quatro pontos. Calcule εt para cada caso, com base na solução analítica.
22.5 Obtenha uma estimativa da integral do Problema 22.2 usando
as fórmulas de Gauss-Legendre com dois, três e quatro pontos. Calcule εt para cada caso, com base na solução analítica.
22.6 Obtenha uma estimativa da integral do Problema 22.3 usando
a fórmula de Gauss-Legendre com cinco pontos.
INTEGRAÇÃO DE EQUAÇÕES
544
22.7 Faça os cálculos dos Exemplos 21.3 e 22.5 para o pára-quedista
em queda livre, mas use a integração de Romberg (εs = 0,05%).
22.8 Empregue as fórmulas de Gauss-Legendre com dois até seis
pontos para resolver
3
1
dx
2
−3 1 + x
Interprete seus resultados à luz da Equação (22.26).
22.9 Use integração numérica para calcular o seguinte:
∞
∞
dx
e−y sen 2 y dy
(a)
(b)
x(x + 2)
0
2
∞
∞
1
ye−y dy
dy
(c)
(d)
(1 + y 2 )(1 − y 2 /2)
−2
0
∞
1
2
√ e−x dx
(e)
2π
0
Observe que (e) é a distribuição normal (lembre-se da Figura 22.9).
22.10 Desenvolva um programa de computador amigável ao
usuário para a regra (a) do trapézio e (b) 1/3 de Simpson com segmentos múltiplos baseado na Figura 22.1. Teste-o integrando
1
x 0,1 (1,2 − x) 1 − e20(x−1) dx
0
Use o valor verdadeiro 0,602298 para calcular εt para n = 4.
22.11 Desenvolva um programa de computador amigável ao
usuário para a integração de Romberg baseado na Figura 22.4.
Teste-o reproduzindo os resultados dos Exemplos 22.3 e 22.4 e
fazendo a integral no Problema 22.10.
22.12 Desenvolva um programa de computador amigável ao usuário
para a quadratura de Gauss. Teste-o reproduzindo os resultados dos
Exemplos 22.3 e 22.4 e fazendo a integral no Problema 22.10.
22.13 Não existe uma expressão em forma fechada para a função
a
2
2
erf(a) = √
e−x dx
π 0
Use a abordagem da quadratura de Gauss de dois pontos para
obter uma estimativa de erf (1,5). Observe que o valor exato
é 0,966105.
22.14 A quantidade de massa que pode ser transportada por um
tubo durante um período de tempo pode ser calculada por
M=
t2
Q(t)c(t)dt
t1
em que M é a massa (mg), t1 é o instante inicial (min), t2 é o instante
final (min), Q(t) é a vazão (m3/min) e c(t) é a concentração
(mg/m3). As seguintes representações funcionais definem a variação temporal da vazão e da concentração:
Q(t) = 9 + 4 cos2 (0,4t)
c(t) = 5e−0,5t + 2e0,15t
Determine a massa transportada entre t1 = 2 e t2 = 8 min com a
integração de Romberg e uma tolerância de 0,1%.
22.15 As profundidades de um rio, H, foram medidas em distâncias igualmente espaçadas através de um canal como tabulado a
seguir. A área da seção transversal do rio pode ser determinada por
integração como em
Ac =
x
H (x) dx
0
Use a integração de Romberg para efetuar a integral com um
critério de parada de 1%.
x, m
0
2
4
6
8
10
12
14
16
H, m
0
1,9
2
2
2,4
2.6
2,25
1,12
0
CAPÍTULO
23
Derivação Numérica
Já introduzimos a noção de derivação numérica no Capítulo 4. Lembre-se de que usamos
a expansão em série de Taylor para deduzir as aproximações por diferenças divididas finitas de derivadas. No Capítulo 4, desenvolvemos aproximações por diferenças progressiva, regressiva e centrada para a primeira derivada e para derivadas de ordem superior.
Lembre-se de que, no melhor caso, essas estimativas tinham erros que eram O(h2) — isto
é, seus erros eram proporcionais ao quadrado do tamanho do passo. Esse nível de precisão
decorre do número de termos da série de Taylor que foram mantidos durante a dedução
dessas fórmulas. Vamos agora ilustrar como desenvolver fórmulas mais acuradas mantendo mais termos.
23.1
FÓRMULAS DE DERIVAÇÃO DE ALTA ACURÁCIA
Como observado, fórmulas de diferenças divididas de alta acurácia podem ser geradas incluindo termos adicionais na expansão em série de Taylor. Por exemplo, a expansão em
série de Taylor progressiva pode ser escrita como [Equação (4.21)]
f(xi+1 ) = f(xi ) + f ′(xi )h +
f ′′(xi ) 2
h + ···
2
(23.1)
o que pode ser resolvido por
f ′(xi ) =
f(xi+1 ) − f(xi )
f ′′(xi )
−
h + O(h 2 )
h
2
(23.2)
No Capítulo 4, truncamos esse resultado excluindo os termos da segunda derivada e
de derivadas de ordem superior e ficamos com o resultado final
f ′(xi ) =
f(xi+1 ) − f(xi )
+ O(h)
h
(23.3)
Em contraste a essa abordagem, agora manteremos o termo da segunda derivada
substituindo a seguinte aproximação da segunda derivada [lembre-se da Equação (4.24)]
f ′′(xi ) =
f(xi+2 ) − 2 f(xi+1 ) + f(xi )
+ O(h)
h2
(23.4)
na Equação (23.2) para obter
f ′(xi ) =
f(xi+1 ) − f(xi )
f(xi+2 ) − 2 f(xi+1 ) + f(xi )
h + O(h 2 )
−
h
2h 2
ou, agrupando os termos,
f ′(xi ) =
− f(xi+2 ) + 4 f(xi+1 ) − 3 f(xi )
+ O(h 2 )
2h
(23.5)
Observe que a inclusão do termo da segunda derivada melhorou a precisão para
O(h2). Versões melhoradas análogas podem ser desenvolvidas para as fórmulas regressiva
e centrada, bem como aproximações para as derivadas de ordem superior. As fórmulas
estão resumidas nas Figuras 23.1 a 23.3 junto com os resultados do Capítulo 4. O seguinte
exemplo ilustra a utilidade dessas fórmulas na estimativa de derivadas.
545
546
DERIVAÇÃO NUMÉRICA
Primeira Derivada
Erro
f (xi⫹1) ⫺ f (xi)
f ⬘(xi) ⫽ ᎏᎏ
h
O(h)
⫺f (xi⫹2) ⫹ 4f (xi⫹1) ⫺ 3f(xi)
f⬘(xi) ⫽ ᎏᎏᎏ
2h
O(h2)
Segunda Derivada
f (xi⫹2) ⫺ 2f (xi⫹1) ⫹ f(xi)
f ⬙(xi) ⫽ ᎏᎏᎏ
h2
O(h)
⫺f (xi⫹3) ⫹ 4f (xi⫹2) ⫺ 5f(xi⫹1) ⫹ 2f(xi)
f⬙(xi) ⫽ ᎏᎏᎏᎏ
h2
O(h2)
Terceira Derivada
f (xi⫹3) ⫺ 3f(xi⫹2) ⫹ 3f (xi⫹1) ⫺ f (xi)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏ
h3
O(h)
⫺3f (xi⫹4) ⫹ 14f (xi⫹3) ⫺ 24f (xi⫹2) ⫹ 18f (xi⫹1) ⫺ 5f(xi)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏᎏᎏ
2h3
O(h2)
Quarta derivada
f (xi⫹4) ⫺ 4f (xi⫹3) ⫹ 6f(xi⫹2) ⫺ 4f(xi⫹1) ⫹ f (xi)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏ
h4
O(h)
⫺2f(xi⫹5) ⫹ 11f (xi⫹4) ⫺ 24f (xi⫹3) ⫹ 26f (xi⫹2) ⫺ 14f (xi⫹1) ⫹ 3f(xi)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏᎏᎏ
h4
O(h2)
FIGURA 23.1
Fórmulas de diferença dividida finita progressiva: são apresentadas duas versões para cada
derivada. A segunda versão incorpora mais termos da expansão em série de Taylor e é,
conseqüentemente, mais acurada.
FIGURA 23.2
Fórmulas de diferença dividida finita regressiva: são apresentadas duas versões para cada
derivada. A segunda versão incorpora mais termos da expansão em série de Taylor e é,
conseqüentemente, mais acurada.
Primeira Derivada
f (xi) ⫺ f(xi⫺1)
f ⬘(xi) ⫽ ᎏᎏ
h
3f (xi) ⫺ 4f(xi⫺1) ⫹ f(xi⫺2)
f⬘(xi) ⫽ ᎏᎏᎏ
2h
Erro
O(h)
O(h2)
Segunda Derivada
f (xi) ⫺ 2f(xi⫺1) ⫹ f (xi⫺2)
f ⬙(xi) ⫽ ᎏᎏᎏ
h2
O(h)
2f(xi) ⫺ 5f(xi⫺1) ⫹ 4f(xi⫺2) ⫺ f (xi⫺3)
f ⬙(xi) ⫽ ᎏᎏᎏᎏ
h2
O(h2)
Terceira Derivada
f (xi) ⫺ 3f (xi⫺1) ⫹ 3f (xi⫺2) ⫺ f (xi⫺3)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏ
h3
O(h)
5f (xi) ⫺ 18f (xi⫺1) ⫹ 24f (xi⫺2) ⫺ 14f (xi⫺3) ⫹ 3f(xi⫺4)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏᎏᎏ
2h3
O(h2)
Quarta Derivada
f (xi) ⫺ 4f(xi⫺1) ⫹ 6f(xi⫺2) ⫺ 4f (xi⫺3) ⫹ f(xi⫺4)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏ
h4
O(h)
3f (xi) ⫺ 14f (xi⫺1) ⫹ 26f (xi⫺2) ⫺ 24f (xi⫺3) ⫹ 11f (xi⫺4) ⫺ 2f(xi⫺5)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏᎏᎏ
h4
O(h2)
23.1 FÓRMULAS DE DERIVAÇÃO DE ALTA PRECISÃO
547
Primeira Derivada
Erro
f(xi⫹1) ⫺ f (xi⫺1)
f ⬘(xi) ⫽ ᎏᎏ
2h
⫺f (xi⫹2) ⫹ 8f(xi⫹1) ⫺ 8f (xi⫺1) ⫹ f(xi⫺2)
f ⬘(xi) ⫽ ᎏᎏᎏᎏ
12h
O(h2)
O(h4)
Segunda Derivada
f (xi⫹1) ⫺ 2f(xi) ⫹ f (xi⫺1)
f ⬙(xi) ⫽ ᎏᎏᎏ
h2
O(h2)
⫺f (xi⫹2) ⫹ 16f (xi⫹1) ⫺ 30f (xi) ⫹16f (xi⫺1) ⫺ f(xi⫺2)
f ⬙(xi) ⫽ ᎏᎏᎏᎏᎏᎏ
12h2
O(h4)
Terceira Derivada
FIGURA 23.3
Fórmulas de diferença dividida
finita centrada: são
apresentadas duas versões
para cada derivada. A
segunda versão incorpora
mais termos da expansão
em série de Taylor e
é, conseqüentemente,
mais acurada.
EXEMPLO 23.1
f(xi⫹2) ⫺ 2f (xi⫹1) ⫹ 2f (xi⫺1) ⫺ f (xi⫺2)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏ
2h3
O(h2)
⫺f (xi⫹3) ⫹ 8f(xi⫹2) ⫺ 13f (xi⫹1) ⫹ 13f (xi⫺1) ⫺ 8f(xi⫺2) ⫹ f(xi⫺3)
f ⬙⬘(xi) ⫽ ᎏᎏᎏᎏᎏᎏᎏ
8h3
O(h4)
Quarta Derivada
f (xi⫹2) ⫺ 4f(xi⫹1) ⫹ 6f (xi) ⫺ 4f (xi⫺1) ⫹ f(xi⫺2)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏ
h4
O(h2)
⫺f (xi⫹3) ⫹ 12f (xi⫹2) ⫹ 39f (xi⫹1) ⫹ 56f (xi) ⫺ 39f (xi⫺1) ⫹ 12f (xi⫺2) ⫹ f (xi⫺3)
f ⬙⬙(xi) ⫽ ᎏᎏᎏᎏᎏᎏᎏᎏ
6h4
O(h4)
Fórmulas de Derivação de Alta Precisão
Enunciado do Problema. Lembre-se de que, no Exemplo 4.4, obtivemos estimativas da
derivada de
f(x) = −0,1x 4 − 0,15x 3 − 0,5x 2 − 0,25x + 1,2
em x = 0,5 usando diferença dividida finita e tamanho de passo de h = 0,25,
Progressiva
O (h)
Estimativa
εt (%)
⫺1,155
⫺26,5
Regressiva
O (h)
Centrada
O(h2)
⫺0,714
21,7
⫺0,934
⫺2,4
em que os erros foram calculados com base no valor verdadeiro de −0,9125. Repita esses
cálculos, mas use as fórmulas de alta precisão das Figuras 23.1 a 23.3.
Solução. Os dados necessários para esse exemplo são
xi−2 = 0
xi−1 = 0,25
xi = 0,5
xi+1 = 0,75
xi+2 = 1
f(xi−2 ) = 1,2
f(xi−1 ) = 1,103516
f(xi ) = 0,925
f(xi+1 ) = 0,6363281
f(xi+2 ) = 0,2
A diferença progressiva de acurácia O(h2) é calculada por (Figura 23.1)
f ′(0,5) =
−0,2 + 4(0,6363281) − 3(0,925)
= −0,859375
2(0,25)
εt = 5,82%
A diferença regressiva de acurácia O(h2) é calculada por (Figura 23.2)
f ′(0,5) =
3(0,925) − 4(1,035156) + 1,2
= −0,878125
2(0,25)
εt = 3,77%
DERIVAÇÃO NUMÉRICA
548
A diferença centrada de acurácia O(h4) é calculada por (Figura 23.3)
f ′(0,5) =
−0,2 + 8(0,6363281) − 8(1,035156) + 1,2
= −0,9125
12(0,25)
εt = 0%
Como esperado, os erros para as diferenças progressiva e regressiva são consideravelmente mais acurados do que os resultados do Exemplo 4.4. Entretanto, surpreendentemente, a diferença centrada fornece um resultado perfeito. Isso ocorre porque as fórmulas baseadas na série de Taylor são equivalentes a passar polinômios pelos pontos dados.
23.2
EXTRAPOLAÇÃO DE RICHARDSON
Até este ponto, vimos que existem duas maneiras de melhorar as estimativas da derivada
quando usando diferença dividida finita: (1) diminuir o tamanho do passo ou (2) usar
uma fórmula de ordem mais alta que utiliza mais pontos. Uma terceira abordagem,
baseada na extrapolação de Richardson, usa duas estimativas da derivada para calcular
uma terceira aproximação, mais acurada.
Lembre-se, da Seção 22.2.1, que a extrapolação de Richardson fornece uma maneira
de obter uma estimativa melhorada da integral I pela fórmula [Equação (22.4)]
I ∼
= I(h 2 ) +
1
[I(h 2 ) − I(h 1 )]
(h 1 / h 2 )2 − 1
(23.6)
em que I(h1) e I(h2) são estimativas da integral usando dois tamanhos de passos, h1 e h2.
Por causa de sua conveniência quando expressa como um algoritmo computacional, essa
fórmula geralmente é escrita para o caso em que h2 = h1/2, como
4
1
I ∼
= I(h 2 ) − I(h 1 )
3
3
(23.7)
De modo análogo, a Equação (23.7) pode ser escrita para derivadas como
4
1
D∼
= D(h 2 ) − D(h 1 )
3
3
(23.8)
Para aproximações por diferenças centradas com O(h2), a aplicação dessa fórmula produzirá uma nova estimativa da derivada de O(h4).
EXEMPLO 23.2
Extrapolação de Richardson
Enunciado do Problema. Usando a mesma função do Exemplo 23.1, obtenha uma estimativa da primeira derivada em x = 0,5 usando tamanhos de passo h1 = 0,5 e h2 = 0,25.
Então, utilize a Equação (23.8) para calcular uma estimativa melhorada com a extrapolação de Richardson. Lembre-se de que o valor verdadeiro é −0,9125.
Solução. A estimativa da primeira derivada pode ser calculada com diferença centrada por
D(0,5) =
0,2 − 1,2
= −1,0
1
εt = −9,6%
e
D(0,25) =
0,6363281 − 1,103516
= −0,934375
0,5
εt = −2,4%
A estimativa melhorada pode ser determinada aplicando a Equação (23.8) para obter
D=
1
4
(−0,934375) − (−1) = −0,9125
3
3
o que, no caso presente, é um resultado exato.
23.3 DERIVADAS DE DADOS DESIGUALMENTE ESPAÇADOS
549
O exemplo anterior fornece um resultado perfeito porque a função sendo analisada
era um polinômio de quarto grau. O resultado perfeito decorreu do fato de que a extrapolação de Richardson é, na realidade, equivalente a ajustar um polinômio de grau mais alto
aos dados e então calcular a derivada por diferenças divididas centradas. Assim, no caso
presente, ajustou a derivada do polinômio de quarto grau exatamente. É claro que, para a
maioria das outras funções, isso não ocorreria e nossa estimativa da derivada seria melhorada, mas não perfeita. Conseqüentemente, como foi o caso na aplicação da extrapolação de Richardson, a abordagem pode ser aplicada iterativamente usando um algoritmo
de Romberg até que o resultado caia abaixo de um critério de erro aceitável.
23.3
DERIVADAS DE DADOS DESIGUALMENTE ESPAÇADOS
As abordagens discutidas até agora foram desenvolvidas principalmente para determinar
a derivada de uma dada função. Para as aproximações por diferenças divididas finitas da
Seção 23.1, os dados precisavam estar igualmente espaçados. Para a técnica de extrapolação de Richardson da Seção 23.2, os dados precisavam estar igualmente espaçados e ser
gerados por divisões sucessivas na metade dos intervalos. Tal controle do espaçamento
dos dados, em geral, estará disponível apenas quando usarmos uma função para gerar
uma tabela de valores.
Em contraste, informações obtidas experimentalmente — isto é, dados de experiências ou estudos de campo — são, em geral, coletadas em intervalos desiguais. Tais informações não podem ser analisadas com as técnicas discutidas até este ponto.
Uma forma de tratar dados desigualmente espaçados é ajustar um polinômio interpolador de Lagrange de segundo grau [lembre-se da Equação (18.23)] para cada conjunto
de três pontos adjacentes. Lembre-se de que esse polinômio não exige que os pontos
sejam igualmente espaçados. O polinômio de segundo grau pode ser deduzido analiticamente, o que dá
2x − xi−1 − xi+1
2x − xi − xi+1
+ f(xi )
(xi−1 − xi )(xi−1 − xi+1 )
(xi − xi−1 )(xi − xi+1 )
2x − xi−1 − xi
+ f(xi+1 )
(xi+1 − xi−1 )(xi+1 − xi )
f ′(x) = f(xi−1 )
(23.9)
em que x é o valor no qual se quer estimar a derivada. Embora essa equação seja certamente mais complicada do que a aproximação da primeira derivada das Figuras 23.1 a
23.3, tem algumas vantagens importantes. Em primeiro lugar, pode ser usada para se
obter uma estimativa da derivada em qualquer lugar do intervalo prescrito por esses três
pontos. Em segundo lugar, os pontos propriamente ditos não precisam ser igualmente espaçados. Em terceiro, a estimativa da derivada tem a mesma ordem de acurácia que
a diferença centrada [Equação (4.22)]. Na realidade, para pontos igualmente espaçados, a
Equação (23.9) calculada em x ⫽ xi se reduz à Equação (4.22).
EXEMPLO 23.3
Derivando Dados Desigualmente Espaçados
Enunciado do Problema. Como na Figura 23.4, pode ser medido um gradiente de temperatura no solo. O fluxo de calor na interface solo-ar pode ser calculado pela lei de Fourier,
q(z = 0) = −kρC
dT
dz z=0
= 3,5 ×
em que q é o fluxo de calor (W/m2), k é o coeficiente de difusão térmica do solo ( ∼
= 1.800 kg/m3) e C é o calor específico do solo
10−7 m2/s), ρ é a densidade do solo ( ∼
= 840 J/(kg · ◦ C)). Observe que um valor positivo para o fluxo significa que é transferi(∼
do calor do ar para o solo. Use derivação numérica para calcular o gradiente na interface
soloar e empregue essa estimativa para determinar o fluxo de calor para dentro do solo.
DERIVAÇÃO NUMÉRICA
550
Ar
10
12
13,5 T(⬚C)
Solo
1,25
3,75
z, cm
FIGURA 23.4
Temperatura em função da profundidade do solo.
Solução. A Equação (23.9) pode ser usada para calcular a derivada como sendo
2(0) − 1,25 − 3,75
2(0) − 0 − 3,75
+ 12
(0 − 1,25)(0 − 3,75)
(1,25 − 0)(1,25 − 3,75)
2(0) − 0 − 1,25
+ 10
(3,75 − 0)(3,75 − 1,25)
f ′(x) = 13,5
= −14,4 + 14,4 − 1,333333 = −1,333333◦ C/cm
o que pode ser usado para calcular (observe que 1 W = 1 J/s),
2
−7 m
q(z = 0) = −3,5 × 10
= 70,56 W/m2
23.4
◦
kg
J
C
1.800 3 840
−133,3333
◦
s
m
kg · C
m
DERIVADAS E INTEGRAIS PARA DADOS COM ERROS
Além de espaçamento desigual, um outro problema relacionado com a derivação de
dados empíricos é que eles, em geral, incluem erros nas medidas. Uma deficiência da derivação numérica é que ela tende a amplificar os erros nos dados. A Figura 23.5a mostra
dados lisos, sem erros, que, quando derivados, fornecem um resultado liso (Figura 23.5c).
Em contraste, a Figura 23.5b usa os mesmos dados, mas com alguns pontos ligeiramente
levantados e alguns ligeiramente abaixados. Essa pequena modificação quase não é
percebida a partir da Figura 23.5b. Entretanto, o efeito resultante na Figura 23.5d é significativo, porque o processo de derivação amplifica erros.
Como poderia ser esperado, a abordagem principal para determinar derivadas para
dados imprecisos é usar a regressão por mínimos quadrados para ajustar uma função diferenciável (lisa) aos dados. Na ausência de outras informações, uma regressão polinomial de
grau baixo poderia ser uma boa primeira escolha. Obviamente, se a relação funcional verdadeira entre as variáveis independente e dependente for conhecida, deve formar a base
para o ajuste por mínimos quadrados.
23.4.1 Derivação versus Integração de Dados Incertos
Da mesma maneira como as técnicas de ajuste de curvas, como a regressão, podem ser
usadas para derivar dados incertos, um processo similar pode ser usado para a integração. Entretanto, por causa da diferença de estabilidade entre a diferenciação e a integração, isso raramente é feito.
23.5 INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS COM BIBLIOTECAS E PACOTES
y
y
t
t
(b)
Derve
(a)
Derve
FIGURA 23.5
Ilustração de como pequenos
erros nos dados são
amplificados pela derivação
numérica: (a) dados sem erros,
(b) dados ligeiramente
modificados, (c) a derivação
numérica resultante da curva
(a), e (d) a derivação resultante
da curva (b) manifestando um
aumento na variabilidade. Em
contraste, a operação inversa
de integração [movendo-se de
(d) para (b) tomando a área
sob (d)] tende a atenuar ou
alisar os erros nos dados.
551
dy
dt
dy
dt
t
(c)
t
(d)
23.5
INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS COM BIBLIOTECAS
E PACOTES
As bibliotecas e os pacotes de software têm grandes recursos para integração e derivação
numéricas. Nesta seção, será feita uma pequena apresentação dos mais úteis deles.
23.5.1 MATLAB
O software MATLAB tem diversas funções de biblioteca que permitem que funções e
dados sejam integrados e derivados. O exemplo a seguir ilustra como algumas delas
podem ser usadas.
EXEMPLO 23.4
Usando o MATLAB para Integração e Derivação
Enunciado do Problema. Explore como o MATLAB pode ser usado para integrar e derivar a função
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Lembre-se, dos Capítulos 21 e 22, que o valor verdadeiro da integral
pode ser determinado analiticamente e é 1,640533.
Solução. Primeiro, vamos usar a função quad do MATLAB para integrar a função. Para
usar o quad, antes é preciso desenvolver um M-file para armazenar a função. Usando um
editor de texto, podemos criar o seguinte arquivo:
SOFTWARE
Como descrito na Figura 23.5, a derivação tende a ser instável — ou seja, amplifica
os erros. Em contraste, o fato de a integração ser um processo de soma tende a torná-la
muito tolerante em relação à incerteza nos dados. Em essência, como os pontos, em geral,
são somados para formar uma integral, erros aleatórios positivos e negativos tendem a se
cancelar. Por outro lado, como a derivação envolve subtração, erros aleatórios positivos e
negativos tendem a se somar.
SOFTWARE
552
DERIVAÇÃO NUMÉRICA
function y=fx(x)
y=0.2+25*x–200*x.^2+675*x.^3–900*x.^4+400*x.^5;
Ele, então, pode ser armazenado no diretório MATLAB como fx.m.
Depois de entrar no MATLAB, podemos chamar o quad digitando
>> Q=quad('fx',0,.8)
em que as duas últimas entradas são os extremos de integração. O resultado é
Q=
1.6405
Assim, o MATLAB fornece uma estimativa acurada da integral.
A seguir, vamos investigar como o MATLAB trata integrais de dados tabulados.
Para fazê-lo, vamos repetir o Exemplo 21.7, em que calculamos a função em intervalos
desiguais (lembre-se da Tabela 21.3). Podemos gerar a mesma informação no MATLAB
primeiro definindo os valores da variável independente,
>> x=[0 .12 .22 .32 .36 .4 .44 .54 .64 .7 .8];
Então, geramos um vetor y contendo os valores correspondentes das variáveis dependentes chamando fx;
>> y=fx(x)
y =
Columns 1 through 7
0.2000
1.3097
1.3052
2.8430
Columns 8 through 11
3.5073
3.1819
2.3630
1.7434
2.0749
2.4560
0.2320
Podemos integrar esses valores chamando a função trapz,
>> integral=trapz(x,y)
integral =
1.5948
Assim, como o nome indica, a trapz usa a regra do trapézio em cada intervalo e soma os
resultados para obter a integral total.
Finalmente, podemos derivar os dados desigualmente espaçados em x e y. Para isso,
usamos a função diff, que simplesmente determina as diferenças entre os elementos adjacentes de um vetor, por exemplo,
>> diff(x)
ans =
Columns 1 through 7
0.1200
0.1000
0.1000
0.1000
Columns 8 through 10
0.1000
0.0600
0.1000
0.0400
0.0400
0.0400
O resultado representa a diferença entre cada par de elementos de x. Para calcular as
aproximações por diferenças divididas da derivada, simplesmente fazemos a divisão vetorial das diferenças de y pelas diferenças de x entrando
>> d=diff(y)./diff(x)
23.5 INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS COM BIBLIOTECAS E PACOTES
553
o que fornece
d =
Columns 1 through 7
9.2477
–0.0449
4.3815
8.2877
6.6431
Columns 8 through 10
–3.2537
–13.6488
–21.3100
9.5274
9.6746
Estes resultados representam estimativas grosseiras das derivadas em cada intervalo. Essa
abordagem poderia ser refinada usando um espaçamento mais fino.
23.5.2 IMSL
O IMSL tem diversas rotinas para a integração e derivação (Tabela 23.1). Na discussão
presente, nos concentraremos na rotina QDAG, que integra uma função usando um esquema adaptativo global baseado nas regras de Gauss-Kronrod.
TABELA 23.1 Rotinas IMSL para integrar e derivar.
Categoria
Rotinas
Recursos
QDAGS
QDAG
QDAGP
QDAGI
QDAWO
QDAWF
QDAWS
QDAWC
QDNG
Adaptativo de propósito geral, com singularidade nas extremidades
Adaptativo de propósito geral
Adaptativo de propósito geral com pontos de singularidade
Adaptativo de propósito geral, para intervalo infinito
Adaptativo oscilatório com pesos (trigonométrico)
Adaptativo de Fourier com pesos (trigonométrico)
Adaptativo algébrico com pesos e singularidades nas extremidades
Adaptativo com pesos para o valor principal de Cauchy
Não-adaptativo de caráter geral
TWODQ
QAND
Quadratura bidimensional (integral iterada)
Quadratura N-dimensional adaptativa em um hiper-retângulo
GQRUL
GQRCF
RECCF
RECQR
FQRUL
Regra de quadratura de Gauss para pesos clássicos
Regra de quadratura de Gauss a partir de coeficientes de recorrência
Coeficientes de recorrências para pesos clássicos
Coeficientes de recorrência a partir de regra de quadratura
Regra de quadratura de Fejer
DERIV
Aproximações para a primeira, segunda e terceira derivadas
Quadratura
unidimensional
Quadratura
multidimensional
Regras de Gauss
e recorrências
de três termos
Derivação
O QDAG é implementado pelo seguinte comando de chamada:
CALL QDAG (F, A, B, ERRABS, ERRREL, IRULE, RESULT, ERREST)
em que
F = FUNCTION fornecida pelo usuário a ser integrada. A forma é F(X), em que X
é a variável independente. Observe que F deve ser declarada EXTERNAL no
programa de chamada.
A = Extremo inferior de integração. (Entrada)
B = Extremo superior de integração. (Entrada)
DERIVAÇÃO NUMÉRICA
554
SOFTWARE
ERRABS = Acurácia absoluta desejada. (Entrada)
ERRREL = Acurácia relativa desejada. (Entrada)
IRULE = Escolha da regra de quadratura. (Entrada). IRULE = 2 é recomendado
para a maioria das funções. Se a função tiver uma singularidade em pico,
use IRULE =1. Se a função for oscilante, use IRULE = 6.
RESULT = Estimativa da integral de A a B de F. (Saída)
ERREST = Estimativa do valor absoluto do erro. (Saída)
EXEMPLO 23.5
Usando IMSL para Integrar uma Função
Enunciado do Problema. Use QDAG para determinar a integral de
f(x) = 0,2 + 25x − 200x 2 + 675x 3 − 900x 4 + 400x 5
de a = 0 a b = 0,8. Lembre-se, a partir dos Capítulos 21 e 22, de que o valor verdadeiro
da integral pode ser determinado analiticamente e é 1,640533.
Solução. Um exemplo de um programa principal em Fortran 90 e função usando QDAG
para resolver esse problema pode ser escrito como
PROGRAM Integrate
USE mimsl
IMPLICIT NONE
INTEGER::irule=1
REAL::a=0.,b=0.8,errabs=0.0.errrel=0.001
REAL::errest,res,f
EXTERNAL f
CALL QDAG (f,a,b,errabs,errrel,irule,res,errest)
PRINT '('' Calculado ='',F8.4)', res
PRINT '('' Estimativa do erro ='',1PE10.3)', errest
END PROGRAM
FUNCTION f(x)
IMPLICIT NONE
REAL::x,f
f=0.2+25.*X–200.*X**2+675.*X**3.–900.*X**4+400.*X**5
END FUNCTION
Saída:
Calculado = 1.6405
Estimativa do erro = 5.000E–05
PROBLEMAS
23.1 Calcule aproximações por diferenças progressivas e regressivas de O(h) e de O(h2) e aproximações por diferenças centradas de
O(h2) e de O(h4) para a primeira derivada de y = cos x em x = π/4
usando um valor de h = π/12. Faça uma estimativa do erro relativo
porcentual verdadeiro εt para cada aproximação.
23.2 Repita o Problema 23.1, mas para y = log x calculado em
x = 25 com h = 2.
23.3 Use aproximações por diferenças centradas para obter estimativas para a primeira e a segunda derivadas de y = ex em x = 2
com h = 0,1. Use ambas as fórmulas de O(h2) e O(h4) nas suas
estimativas.
23.4 Use a extrapolação de Richardson para obter uma estimativa
da primeira derivada de y = cos x em x = π/4 utilizando tamanhos
de passo de h1 = π/3 e h2 = π/6. Use diferenças centradas de
O(h2) para a estimativa inicial.
23.5 Repita o Problema 23.4, mas para a primeira derivada de ln x
em x = 5 usando h1 = 2 e h2 = 1.
PROBLEMAS
555
23.6 Utilize a Equação (23.9) para determinar a primeira derivada
de y = 2x4 − 6x3 − 12x − 8 em x = 0 com base nos valores em
x0 = −0,5, x1 = 1, e x2 = 2. Compare esse resultado com o valor
verdadeiro e com a estimativa obtida usando uma aproximação por
diferença centrada com base em h = 1.
23.7 Demonstre que, para pontos igualmente espaçados, a
Equação (23.9) se reduz à Equação (4.22) em x = xi.
23.8 Calcule as aproximações por diferença centrais de primeira
ordem de O(h4) para cada uma das seguintes funções nas posições
especificadas e para o tamanho de passo especificado:
(a) y = x3 + 4x − 15
em x = 0, h = 0,25
(b) y = x2 cos x
em x = 0,4, h = 0,1
(c) y = tg(x/3) √
em x = 3, h = 0,5
(d) y = sen(0,5 x)/x
em x = 1, h = 0,2
(e) y = ex + x
em x = 2, h = 0,2
Compare seus resultados com as soluções analíticas.
23.9 Foram coletados os seguintes dados para a distância percorrida em função do tempo para um foguete:
t, s
0
25
50
75
100
125
y, km
0
32
58
78
92
100
Use derivação numérica para obter estimativas da velocidade e da
aceleração em cada instante.
23.10 Desenvolva um programa amigável ao usuário para aplicar o
algoritmo de Romberg para obter uma estimativa da derivada de
uma dada função.
23.11 Desenvolva um programa amigável ao usuário para obter estimativas da primeira derivada para dados desigualmente espaçados. Teste seu programa com os seguintes dados:
x
f(x)
1
1,5
1,6
2,5
3,5
0,6767
0,3734
0,3261
0,08422
0,01596
em que f(x) = 5e−2xx. Compare seus resultados com as derivadas
verdadeiras.
23.12 Lembre-se de que, para o problema do pára-quedista em
queda livre, a velocidade é dada por
gm
v(t) =
1 − e−(c/m)t
(P23.12a)
c
e a distância percorrida pode ser obtida por
gm t
d(t) =
1 − e−(c/m)t dt
(P23.12b)
c 0
Dados g = 9,81, m = 70 e c = 12,
(a) Use o MATLAB para integrar a Equação (P23.12a) de t = 0 a 10.
(b) Integre analiticamente a Equação (P23.12b) com a condição
inicial que d = 0 em t = 0. Calcule o resultado em t = 10 para
confirmar (a).
(c) Use o MATLAB para derivar a Equação (P23.12a) em t = 10.
(d) Derive analiticamente a Equação (P23.12a) em t = 10 para
confirmar (c).
23.13 A distribuição normal é definida por
1
2
f(x) = √ e−x /2
2π
(a) Use o MATLAB para integrar essa função de x = −1 a 1 e de
−2 a 2.
(b) Use o MATLAB para determinar os pontos de inflexão dessa
função.
23.14 Os seguintes dados foram gerados a partir de uma distribuição normal:
x
f(x)
−2
0,05399
−1,5
0,12952
−1
0,24197
−0,5
0,35207
(a) Use o MATLAB para integrar esses dados de x = −1 a 1 e de
−2 a 2 com a função trap.
(b) Use o MATLAB para obter estimativas para os pontos de inflexão desses dados.
23.15 Use o IMSL para integrar a distribuição normal (veja Problema 23.13) de x = −1 a 1, de −2 a 2 e de −3 a 3.
23.16 Escreva um problema em MATLAB para integrar
π/2
cos(cos x) dx
0
23.17 Escreva um programa em MATLAB para integrar
2π
0
sen t
dt
t
usando as funções quad e quadL. Para saber mais sobre o
quadL, digite
help quadL
no prompt do MATLAB.
23.18 Use o comando diff(y) no MATLAB e calcule a aproximação por diferença finita para a primeira e a segunda derivadas
em cada valor de x na tabela a seguir, excluindo as duas extremidades. Use aproximações por diferenças finitas que sejam corretas
até segunda ordem, O(x 2 ).
x
0
1
2
3
4
5
6
7
8
9
10
y
1,4
2,1
3,3
4,8
6,8
6,6
8,6
7,5
8,9
10,9
10
23.19 O objetivo desse problema é comparar aproximações por
diferenças finitas progressiva, regressiva e centrada acuradas até
segunda ordem de uma função com o valor real da derivada. Isso
será feito para
f(x) = e−2x − x
(a) Use o cálculo para determinar o valor correto da derivada em
x = 2.
(b) Para calcular aproximações por diferenças finitas centradas,
comece com x = 0,5. Assim, para o primeiro cálculo, os valores de x para a aproximação por diferença centrada serão
x = 2 ± 0,5 ou x = 1,5 e 2,5. Então, diminua em incrementos
de 0,01 até o valor mínimo de x = 0,01.
(c) Repita a parte (b) para diferenças progressivas e regressivas de
segunda ordem. (Observe que isso pode ser feito ao mesmo
tempo em que a diferença centrada é calculada no laço.)
(d) Faça os gráficos dos resultados de (b) e (c) em função de x. Inclua o resultado exato no gráfico para comparação.
23.20 Use uma expansão em série de Taylor para deduzir uma
aproximação por diferença finita centrada para a segunda derivada
que seja acurada até segunda ordem. Para isso, você deve usar quatro expansões diferentes para os pontos xi−2, xi−1, xi+1 e xi+2. Em
cada caso, a expansão será em torno do ponto xi. O intervalo x
será usado no caso de i − 1 e i + 1 e 2x será usado no caso de
i − 2 e i + 2. As quatro equações devem ser combinadas de forma
a eliminar a primeira e a segunda derivadas. Mantenha termos suficientes em cada expansão para calcular o primeiro termo que será
truncado para determinar a ordem da aproximação.
0
0,5
1
1,5
2
0,39894
0,35207
0,24197
0,12952
0,05399
DERIVAÇÃO NUMÉRICA
556
23.21 Use os seguintes dados para determinar a velocidade e a
aceleração em t = 10 segundos:
no balde como uma função do tempo, como tabulado a seguir. Faça
uma estimativa da vazão em t = 7 s.
Tempo, t, s
0
2
4
6
8
10
12
14
16
Tempo, s
0
1
5
8
Posição, x, m
0
0,7
1,8
3,4
5,1
6,3
7,3
8,0
8,4
Volume, cm3
0
1
8
16,4
Use métodos de (a) diferença finita centrada, (b) diferença finita progressiva e (c) diferença finita regressiva corrigidos de segunda ordem.
23.22 Um avião está sendo monitorado por um radar e os dados
foram tomados a cada segundo em coordenadas polares θ e r.
t, s
200
θ , (rad)
r, m
202
204
206
208
23.26 A velocidade v (m/s) do ar escoando por uma superfície
plana é medida a diversas distâncias y (m) da superfície. Determine
a tensão de cisalhamento τ (N/m2) na superfície (y = 0),
210
0,75
0,72
0,70
0,68
0,67
0,66
5.120
5.370
5.560
5.800
6.030
6.240
Em 206 segundos, use diferença finita centrada (corrigida de segunda ordem) para determinar as expressões vetoriais da velocidade v e da aceleração a . A velocidade e a aceleração dadas em
coordenadas polares são:
v = ṙ er + r θ̇ eθ
a = (r̈ − r θ̇ 2 )er + (r θ̈ + 2ṙ θ̇)eθ
e
23.23 Desenvolva um programa macro VBA em Excel para ler em
colunas adjacentes os valores de x e y de uma planilha. Calcule as
derivadas em cada ponto usando a Equação (23.9) e mostre os resultados em uma terceira coluna adjacente aos valores de x e y na
planilha. Teste seu programa aplicando-o para calcular as velocidades para os valores de tempo e posição do Problema 23.21.
23.24 Use regressão para obter uma estimativa da aceleração para
cada instante de tempo para os seguintes dados com polinômios de
segundo, terceiro e quarto graus. Faça um gráfico de seus resultados.
t
1
2
3,25
4,5
6
7
8
8,5
9,3
10
v
10
12
11
14
17
16
12
14
14
10
23.25 Você deve medir a vazão de água através de um pequeno
tubo. Para isso, coloca um balde na saída do tubo e mede o volume
τ =μ
dv
dy
Suponha o valor μ = 1,8 × 10–5 N · s/m2 para a viscosidade
dinâmica.
y, m
0
0,002
0,006
0,012
0,018
0,024
v, m/s
0
0,287
0,899
1,915
3,048
4,299
23.27 As reações químicas freqüentemente seguem o modelo:
dc
= −kcn
dt
em que c é a concentração, t é o tempo, k é a taxa de reação e n é a
ordem da reação. Dados valores de c e dc/dt, k e n podem ser calculados por uma regressão linear do logaritmo desta equação:
dc
log −
= log k + n log c
dt
Use essa abordagem junto com os seguintes dados para obter estimativas de k e n:
t
10
20
30
40
50
60
c
3,52
2,48
1,75
1,23
0,87
0,61
CAPÍTULO
24
Estudo de Casos: Integração e
Derivação Numéricas
O propósito deste capítulo é aplicar os métodos de integração e derivação numéricas discutidos na Parte Seis a problemas práticos de engenharia. Duas situações são encontradas
mais freqüentemente. No primeiro caso, a função sob estudo pode ser expressa na forma
analítica, mas é muito complicada para ser calculada de modo simples usando os métodos
do cálculo. Os métodos numéricos são aplicados a situações desse tipo usando-se a expressão analítica para gerar uma tabela de argumentos e valores da função. No segundo
caso, a função a ser analisada é inerentemente tabular, por natureza. Esse tipo de função
usualmente representa uma série de medidas, observações ou alguma outra informação
empírica. Os dados em ambos os casos são diretamente compatíveis com diversos esquemas discutidos nesta parte do livro.
A Seção 24.1, que trata de cálculos de calor na engenharia química, envolve
equações. Nessa aplicação, uma função na forma analítica é integrada numericamente
para determinar o calor necessário para elevar a temperatura de um material.
As Seções 24.2 e 24.3 também envolvem funções que estão disponíveis na forma de
equação. A Seção 24.2, que é tirada da engenharia civil, usa integração numérica para determinar a força total do vento que age no mastro de um veleiro de corrida. A Seção 24.3
determina a corrente eficaz para um circuito elétrico. Esse exemplo é utilizado para
mostrar a utilidade da integração de Romberg e da quadratura de Gauss.
A Seção 24.4 se concentra na análise de informações tabuladas para determinar o
trabalho necessário para mover um bloco. Embora essa aplicação tenha uma ligação direta com a engenharia mecânica, é relevante para todas as outras áreas da engenharia.
Entre outras coisas, usamos esse exemplo para ilustrar a integração de dados desigualmente espaçados.
24.1
INTEGRAÇÃO PARA DETERMINAR A QUANTIDADE TOTAL DE
CALOR (ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Cálculos de calor são empregados rotineiramente na engenharia química
e na bioengenharia, bem como em muitos outros campos da engenharia. Essa aplicação
fornece um exemplo simples, mas útil, de tais cálculos.
Um problema freqüentemente encontrado é a determinação da quantidade de calor
necessária para aumentar a temperatura de um material. A característica necessária para
efetuar esses cálculos é a capacidade calorífica c. Esse parâmetro representa a quantidade
de calor necessária para elevar uma unidade de massa de uma unidade de temperatura. Se
c for constante no intervalo de temperaturas sendo examinado, o calor necessário H (em
calorias) pode ser calculado por
H = mc T
(24.1)
∘
em que c tem unidades de cal/(g · C), m é a massa e T é a variação de temperatura (∘C).
Por exemplo, a quantidade de calor necessária para elevar a temperatura de 20 g de água
de 5 para 10 ∘C é igual a
H = 20(1)(10 − 5) = 100 cal
557
558
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
em que a capacidade calorífica da água é aproximadamente 1 cal/(g · ∘C). Tal cálculo é
adequado quando T é pequeno. Entretanto, para grandes variações de temperatura, a capacidade calorífica não é constante e, de fato, varia como função da temperatura. Por
exemplo, a capacidade calorífica de um material poderia aumentar de acordo com uma
relação como
c(T ) = 0,132 + 1,56 × 10−4 T + 2,64 × 10−7 T 2
(24.2)
Nesse caso, deve-se calcular a quantidade de calor necessária para elevar a temperatura
de 1.000 g desse material de −100 a 200 ∘C.
Solução. A Equação (PT6.4) fornece uma maneira de calcular o valor médio de c(T):
T2
c(T ) dT
T1
c̄(T ) =
(24.3)
T2 − T1
o que pode ser substituído na Equação (24.1) para fornecer
H = m
T2
(24.4)
c(T ) dT
T1
em que T = T2 − T1 . Agora, como nesse caso c(T) é uma função quadrática simples, H
pode ser determinado analiticamente. A Equação (24.2) é substituída na Equação (24.4) e o
resultado integrado para fornecer um valor exato de H = 42.732 cal. É útil e instrutivo
comparar esse resultado com os métodos numéricos desenvolvidos no Capítulo 21. Para
isso, é necessário gerar uma tabela de valores de c para diversos valores de T:
T, ⴗC
100
50
0
50
100
150
200
c, cal/(g ⴢ ⴗC)
0,11904
0,12486
0,13200
0,14046
0,15024
0,16134
0,17376
Esses pontos podem ser usados em conjunto com a regra 1/3 de Simpson com seis segmentos para calcular uma estimativa da integral de 42.732. O resultado pode ser substituído na Equação (24.4) para fornecer um valor de H = 42.732, que coincide exatamente com a solução analítica. Tal coincidência exata ocorreria não importando o
número de segmentos usados. Isso deveria ser esperado, já que c é uma função
quadrática e a regra de Simpson é exata para polinômios de grau menor ou igual a três
(ver Seção 21.2.1).
TABELA 24.1 Resultados usando a regra do trapézio com diversos
tamanhos de passos.
Tamanho do Passo, ⴗC
300
150
100
50
25
10
5
1
0,05
⌬H
96.048
43.029
42.864
42.765
42.740
42.733,3
42.732,3
42.732,01
42.732,00003
t (%)
125
0,7
0,3
0,07
0,018
⬍0,01
⬍0,01
⬍0,01
⬍0,01
24.2 FORÇA EFETIVA NO MASTRO DE UM VELEIRO DE CORRIDA
559
Os resultados usando a regra do trapézio estão listados na Tabela 24.1. Vemos que
a regra do trapézio também é capaz de fornecer uma estimativa do calor total bem acurada. Entretanto, é necessário um tamanho de passo bem pequeno (⬍ 10 ∘C) para uma
precisão de cinco casas. Esse exemplo é uma boa ilustração de por que a regra de Simpson
é tão popular. Ela é fácil de aplicar tanto com uma calculadora manual quanto com um
computador pessoal. Além disso, usualmente é suficientemente acurada para tamanhos de
passo relativamente grandes e é exata para polinômios de grau menor ou igual a três.
24.2
FORÇA EFETIVA NO MASTRO DE UM VELEIRO DE CORRIDA
(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Uma seção transversal de um veleiro de corrida é mostrada na Figura 24.1a.
A força do vento ( f ) exercida por pé do mastro da vela varia como uma função da distância
acima do convés do barco (z), como na Figura 24.1b. Calcule a força de tensão T no cabo de
suporte esquerdo do mastro supondo que o cabo de suporte direito está completamente
frouxo e que o mastro está ligado ao convés de modo que transmite forças horizontais e verticais mas não transmite torques. Suponha que o mastro permaneça vertical.
Solução. Para prosseguir com esse problema, é necessário que a força distribuída f seja
convertida em uma força total equivalente F e que sua posição efetiva d acima do convés
seja calculada (Figura 24.2). Esse cálculo é complicado pelo fato de que a força exercida
por pé do mastro varia com a distância acima do mastro. A força total exercida no mastro
pode ser expressa como a integral de uma função contínua:
F=
0
30
z
e−2z/30 dz
200
5+z
(24.5)
Essa integral não-linear é difícil de calcular analiticamente. Portanto, é conveniente
empregar abordagens numéricas como a regra de Simpson e a regra do trapézio para
esse problema. Pode-se fazê-lo calculando f (z) para diversos valores de z e então usando
a Equação (21.10) ou (21.18). Por exemplo, a Tabela 24.2 tem valores de f (z) para um
tamanho de passo de 3 pés que fornece dados para a regra 1/3 de Simpson ou para a
regra do trapézio. Resultados para diversos tamanhos de passo são dados na Tabela 24.3.
Observa-se que ambos os métodos dão um valor de F = 1.480,6 lb quando o tamanho
do passo se torna pequeno. Nesse caso, tamanhos de passo de 0,05 pé para a regra do
trapézio e 0,5 pé para a regra de Simpson fornecem bons resultados.
FIGURA 24.1
(a) Seção transversal de um
veleiro de corrida. (b) Força do
vento f exercida por pé do
mastro como uma função da
distância z acima do convés
do barco.
z = 30 pés
Cabos de
suporte
Mastro
Vento
T
z=0
(b)
3 pés
(a)
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
560
TABELA 24.2 Valores de f (z) para um tamanho de passo de 3 pés que fornecem dados
para a regra do trapézio e a regra 1/3 de Simpson.
z, pés
0
3
f (z), lb/pés 0 61,40
= tg–1 (3/30)
= 0,0996687
6
9
12
73,13
70,56
63,43
18
21
55,18 47,14
24
27
30
39,83 33,42 27,89 23,20
TABELA 24.3 Valores de F calculados com base em diversas versões da regra do trapézio
e da regra 1/3 de Simpson.
F = 1480,6 lb
d = 13,05 pés
Técnica
Tamanho do Passo, pés
Regra do trapézio
15
10
6
3
1
0,5
0,25
0,1
0,05
Regra 1/3 de Simpson
15
5
3
1
0,5
T
0
15
H
3 pés
V
FIGURA 24.2
Diagrama de corpo livre das
forças exercidas no mastro de
um veleiro.
ou
Segmentos
F, lb
2
3
5
10
30
60
120
300
600
1.001,7
1.222,3
1.372,3
1.450,8
1.477,1
1.479,7
1.480,3
1.480,5
1.480,6
2
6
10
30
60
1.219,6
1.462,9
1.476,9
1.480,5
1.480,6
A posição de ação efetiva de F (Figura 24.2) pode ser obtida pelo cálculo da integral
30
z f(z) dz
d = 0 30
(24.6)
f(z) dz
0
d=
0
30
200z[z/(5 + z)]e−2z/30 dz
1.480,6
(24.7)
Essa integral pode ser calculada usando métodos similares aos usados acima. Por exemplo,
a regra 1/3 de Simpson com um tamanho de passo de 0,5 fornece d = 19.326,9/1.480,6 =
13,05 pés.
Com F e d determinados a partir de métodos numéricos, é usado um diagrama de corpo
livre para desenvolver as equações de balanço de força e balanço de torque. Esse diagrama de corpo livre é mostrado na Figura 24.2. Somando as forças na direção horizontal e na vertical e tomando os torques em relação ao ponto 0, obtemos
FH = 0 = F − T sen θ − H
FV = 0 = V − T cos θ
M0 = 0 = 3V − Fd
(24.8)
(24.9)
(24.10)
em que T é a tensão no cabo e H e V são as reações desconhecidas no mastro transmitidas
pelo convés. O sentido e o módulo de H e V são desconhecidos. A Equação (24.10) pode
ser resolvida diretamente para determinar V, pois F e d são conhecidos.
V =
Fd
(1.480,6)(13,05)
=
= 6.440,6 lb
3
3
24.3 CORRENTE EFICAZ POR INTEGRAÇÃO NUMÉRICA
561
Portanto, da Equação (24.9),
T =
V
6.440,6
=
= 6.473 lb
cos θ
0,995
e, da Equação (24.8),
H = F − T sen θ = 1.480,6 − (6.473)(0,0995) = 836,54 lb
Essas forças agora permitem prosseguir para outros aspectos do projeto estrutural do
barco, como os cabos e o sistema de suporte do mastro no convés. Esse problema ilustra
bem duas utilidades da integração numérica que podem ser encontradas durante o projeto
de estruturas em engenharia. Parece que a regra do trapézio e a regra 1/3 de Simpson são
fáceis de aplicar e que são ferramentas práticas para a resolução de problemas. A regra
1/3 de Simpson é mais acurada do que a regra do trapézio para o mesmo tamanho de
passo, e assim, em geral, é preferida.
24.3
CORRENTE EFICAZ POR INTEGRAÇÃO NUMÉRICA
(ENGENHARIA ELÉTRICA)
Fundamentos. O valor médio de uma corrente elétrica oscilante em um período pode ser
zero. Por exemplo, suponha que a corrente seja descrita por uma única função senoidal:
i(t) = sen(2π/T ), onde T é o período. O valor médio dessa função pode ser determinado
pela seguinte equação:
T
2πt
dt
sen
−cos (2π) + cos 0
T
0
=
=0
i=
T −0
T
Apesar de o resultado médio ser zero, tal corrente é capaz de realizar trabalho e produzir calor. Portanto, os engenheiro elétricos, em geral, caracterizam tal corrente por
1 T 2
IRMS =
i (t) dt
(24.11)
T 0
em que i(t) é a corrente instantânea. Calcule a corrente eficaz ou RMS (de root-meansquare, em inglês) da onda com a forma mostrada na Figura 24.3 usando a regra do trapézio,
a regra l/3 de Simpson, a integração de Romberg e a quadratura de Gauss para T = 1 s.
Solução. As estimativas da integral para diversas aplicações da regra do trapézio e da
regra 1/3 de Simpson estão listadas na Tabela 24.4. Observe que a regra de Simpson é
mais acurada que a regra do trapézio.
FIGURA 24.3
Uma corrente elétrica variando
periodicamente.
t
Para 0 ⱕ t ⱕ T/2, i(t) = 10e– t /T sen 冸2 冹
T
Para T/2 ⬍ t ⱕ T, i(t) = 0
i
0
T/4
T/2
t
562
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
O valor exato da integral é 15,41261. Esse resultado é obtido usando uma regra do
trapézio com 128 segmentos ou uma regra de Simpson com 32 segmentos. A mesma estimativa também é obtida usando a integração de Romberg (Figura 24.4).
Além disso, a quadratura de Gauss pode ser usada para fazer a mesma estimativa. A
determinação da corrente eficaz envolve o cálculo da integral (T = 1)
1/2
I =
(10e−t sen 2πt)2 dt
(24.12)
0
Inicialmente, é feita uma mudança de variáveis aplicando as Equações (22.23) e
(22.24) para obter
t=
1 1
+ td
4 4
dt =
1
dtd
4
Essas relações podem ser substituídas na Equação (24.12) para fornecer
2
1
1
1 1
10e−[1/4+(1/4)td ] sen 2π
I =
+ td
dtd
4 4
4
−1
(24.13)
Para √a fórmula
√ de Gauss-Legendre de dois pontos, essa função é calculada em
td = −1/ 3 e 1/ 3, com os resultados sendo 7,684096 e 4,313728, respectivamente.
Esses valores podem ser substituídos na Equação (22.17) para fornecer uma estimativa da
integral de 11,99782, o que representa um erro de εt = 22,1%.
A fórmula de três pontos é (Tabela 22.1)
I = 0,5555556(1,237449) + 0,8888889(15,16327) + 0,5555556(2,684915)
|εt | = 1,6%
= 15,65755
TABELA 24.4 Valores para a integral calculados usando diversos esquemas numéricos.
O erro relativo percentual εt é baseado no valor verdadeiro de 15,41261.
Técnica
Segmentos
Regra do trapézio
1
2
4
8
16
32
64
128
0,0
15,16327
15,40143
15,41196
15,41257
15,41261
15,41261
15,41261
100
1,62
0,0725
4,21 × 10−3
2,59 × 10−4
1,62 × 10−5
1,30 × 10−6
0
2
4
8
16
32
20,21769
15,48082
15,41547
15,41277
15,41261
−31,2
−0,443
−0,0186
1,06 × 10−3
0
Regra 1/3 de Simpson
FIGURA 24.4
Resultados da utilização da
integração de Romberg para
obter uma estimativa da
corrente eficaz.
O (h2)
0
15,16327
15,40143
15,41196
15,41257
15,41261
Integral
t (%)
O (h4)
O (h6)
O(h8)
O (h10)
20,21769
15,48082
15,41547
15,41277
15,41262
15,16503
15,41111
15,41225
15,41261
15,41502
15,41262
15,41261
15,41261
15,41261
O(h12)
15,41261
24.4 INTEGRAÇÃO NUMÉRICA PARA CALCULAR O TRABALHO
563
Os resultados da utilização de fórmulas com mais pontos estão resumidos na Tabela 24.5.
TABELA 24.5 Resultados da utilização de fórmulas de quadratura de
Gauss com diversos números de pontos para obter
aproximações da integral.
Pontos
Estimativa
2
3
4
5
6
11,9978243
15,6575502
15,4058023
15,4126391
15,4126109
t (%)
22.1
−1.59
4.42 × 10−2
−2.01 × 10−4
−1.82 × 10−5
A estimativa da integral de 15,41261 pode ser substituída na Equação (24.12) para
calcular uma IRMS de 3,925890 A. Esse resultado poderia ser utilizado para guiar outros
aspectos de projeto e operação do circuito.
24.4
INTEGRAÇÃO NUMÉRICA PARA CALCULAR O TRABALHO
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. Muitos problemas de engenharia envolvem o cálculo do trabalho. A fórmula geral é
Trabalho = força × distância
Quando esse conceito lhe foi apresentado na física do ensino médio, foram apresentadas
aplicações simples usando forças que permaneciam constantes ao longo do deslocamento. Por exemplo, se uma força de 10 lb era usada para puxar um bloco por uma distância de 15 pés, o trabalho seria calculado como 150 pés ⭈ lb.
Embora um cálculo tão simples seja útil para introduzir o conceito, problemas
em situações realísticas geralmente são muito mais complexos. Por exemplo, suponha
que a força varie no decorrer do movimento. Em tais casos, a equação do trabalho é
reescrita como
xn
F(x) dx
W =
(24.14)
x0
em que W é o trabalho (pés ⭈ lb), x0 e xn são as posições inicial e final, respectivamente, e
F(x) é uma força que varia como função da posição. Se F(x) for fácil de integrar, a
Equação (24.14) pode ser calculada analiticamente. Entretanto, em uma situação realística de problema, a força pode não ser expressa de tal forma. De fato, quando forem analisados dados medidos, a força poderá estar disponível apenas de forma tabular. Para
esses casos, a integração numérica é a única opção viável para os cálculos.
Mais complexidade é introduzida se o ângulo entre a força e a direção do movimento
também variar como uma função da posição (Figura 24.5). A equação do trabalho pode
ser ainda mais modificada para levar em conta esse efeito, como em
xn
W =
F(x) cos [θ(x)] dx
(24.15)
x0
Novamente, se F(x) e θ(x) forem funções simples, a Equação (24.15) poderá ser resolvida
analiticamente. No entanto, como na Figura 24.5, agora é mais provável que a relação
funcional seja complicada. Para essas situações, os métodos numéricos fornecem a única
alternativa para determinar a integral.
564
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
F(x)
F(x)
F(x), lb
x0
xn
10
0
0
30
(x), rad
x, pés
FIGURA 24,5
Uma força variável agindo em
um bloco. Nesse caso, o
ângulo e o valor absoluto da
força variam.
1
0
0
30
x, pés
TABELA 24.6 Dados para a força F(x) e os ângulos θ(x) como
uma função da posição x.
x, pés
0
5
10
15
20
25
30
F(x), lb
0,0
9,0
13,0
14,0
10,5
12,0
5,0
, rad
0,50
1,40
0,75
0,90
1,30
1,48
1,50
F(x) cos
0,0000
1,5297
9,5120
8,7025
2,8087
1,0881
0,3537
Suponha que você deva fazer os cálculos para a situação descrita na Figura 24.5.
Embora a figura mostre valores de F(x) e de θ(x) no contínuo, suponha que, por causa
de restrições experimentais, foram fornecidas apenas medidas discretas em intervalos de
x = 5 pés (Tabela 24.6). Use versões com uma única aplicação e com aplicações múltiplas da regra do trapézio e das regras 1/3 e 3/8 de Simpson para calcular o trabalho para
esses dados.
Solução. Os resultados da análise estão resumidos na Tabela 24.7. Foi calculado um erro
relativo porcentual εt com relação ao valor verdadeiro da integral de 129,52 que foi estimado com base nos valores tirados da Figura 24.5 em intervalos de 1 pé.
Os resultados são interessantes porque a saída mais acurada ocorre para a simples
regra do trapézio com dois segmentos. Estimativas mais refinadas usando mais segmentos, bem como as regras de Simpson, fornecem resultados menos acurados.
24.4 INTEGRAÇÃO NUMÉRICA PARA CALCULAR O TRABALHO
565
A razão para esse resultado aparentemente antiintuitivo é que o espaçamento grosseiro dos pontos não é adequado para capturar as variações da força e dos ângulos. Isso é
particularmente evidente na Figura 24.6, em que traçamos uma curva contínua para o produto de F(x) e cos [θ(x)]. Observe como o uso de sete pontos para caracterizar uma função
que varia no contínuo faz que os dois picos em x = 2,5 e 12,5 pés sejam perdidos. A omissão desses dois pontos efetivamente limita a acurácia das estimativas por integração
numérica na Tabela 24.7. O fato de a regra do trapézio com dois segmentos fornecer o resultado mais acurado decorre de um acaso nas posições dos pontos para esse problema
particular (Figura 24.7).
TABELA 24.7 Estimativa do trabalho calculada usando a regra do trapézio e as regras
de Simpson. O erro relativo percentual εt é calculado com relação a um
valor verdadeiro da integral (129,52 pés.lb) que foi obtida com base em
valores em intervalos de 1 pé.
Técnica
Segmentos
Trabalho
t, %
1
2
3
6
2
6
3
5,31
133,19
124,98
119,09
175,82
117,13
139,93
95,9
2,84
3,51
8,05
−35,75
9,57
−8,04
Trapézio
Regra 1/3 de Simpson
FIGURA 24.6
Um gráfico no contínuo de F(x)
cos [θ(x)] em função da posição
com os sete pontos discretos
usados para desenvolver
estimativas por integração
numérica na Tabela 24.7.
Observe como o uso desses
sete pontos para caracterizar
essa função variando no
contínuo perde os dois picos
em x = 2,5 e 12,5 pés.
F (x) cos [ (x)]
Regra 3/8 de Simpson
Trabalho
0
30
x, pés
Subestima
10
F (x) cos [ (x)]
FIGURA 24.7
Descrição gráfica de por que
a regra do trapézio com dois
segmentos fornece uma boa
estimativa da integral para
esse caso. Por acaso, o uso
de dois trapézios leva a um
balanceamento entre erros
positivos e negativos.
Sobreestima
0
30
0
x, pés
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
566
A conclusão a ser tirada da Figura 24.6 é que um número adequado de medidas deve
ser feito para calcular integrais de forma acurada. No caso presente, se os dados estivessem disponíveis em F(2,5) cos [θ(2,5)] = 4,3500 e F(12,5) cos [θ(12,5)] = 11,3600,
poderíamos determinar uma estimativa da integral usando o algoritmo para dados desigualmente espaçados descrito previamente na Seção 21.3. A Figura 24.8 ilustra a divisão em segmentos desiguais para esse caso. Incluindo esses dois pontos adicionais,
obtemos uma estimativa melhorada da integral de 126,9 (εt = 2,02%). Logo, a inclusão
de dados adicionais incorporaria os picos que estavam faltando anteriormente e, como
conseqüência, levaria a melhores resultados.
10
F (x) cos [ (x)]
30
x
3/8 de Simpson
1/3 de Simpson
0
1/3 de Simpson
0
Do trapézio
FIGURA 24.8
O esquema de divisão em
segmentos desiguais que resulta
da inclusão de dois pontos
adicionais em x = 2,5 e 12,5
aos dados na Tabela 24.6.
São indicadas as fórmulas de
integração numérica aplicadas
a cada conjunto de segmentos.
PROBLEMAS
Engenharia química/Bioengenharia
24.1 Faça os mesmos cálculos que na Seção 24.1, mas calcule a
quantidade de calor necessária para elevar a temperatura de 1.200 g
de material de −150 a 100 oC. Use a regra de Simpson para seu cálculo, com valores de T em incrementos de 50 oC.
24.2 Repita o Problema 24.1, mas use integração de Romberg até
um erro de εs = 0,01%.
24.3 Repita o Problema 24.1, mas use fórmulas de Gauss-Legendre para dois e três pontos. Interprete seus resultados.
24.4 A integração fornece um meio de calcular quanta massa entra
em ou deixa um reator em um período especificado de tempo, como em
t2
M=
Qc dt
t1
em que t1 e t2 são os instantes inicial e final, respectivamente. Essa
fórmula faz sentido do ponto de vista intuitivo se você lembrar
a analogia entre integral e soma. Logo, a integral representa a
somatória do produto da vazão vezes a concentração para fornecer
a massa total entrando ou saindo entre t1 e t2. Se a vazão for constante, Q pode ser movido para fora da integral:
t2
M=Q
c dt
(P24.4)
t1
Use integração numérica para calcular essa expressão para os dados
listados a seguir. Observe que Q = 4 m3/min.
t, min
c, mg/m3
0
10
20
30
35
40
45
50
10
35
55
52
40
37
32
34
24.5 A concentração química do fluxo de saída para um reator de
mistura completa é medida como
t, min
c, mg/m3
0
1
4
6
8
12
16
20
12
22
32
45
58
75
70
48
Para um fluxo de saída Q = 0,3 m3/s, obtenha uma estimativa da
massa de composto químico, em gramas, que sai do reator entre
t = 0 e 20 min.
24.6 A primeira lei de difusão de Flick afirma que
dc
Fluxo de massa = −D
(P24.6)
dx
em que o fluxo de massa é a quantidade de massa que passa por
unidade de área por unidade de tempo (g/cm2/s), D é o coeficiente
de difusão (cm2/s), c é a concentração e x é a distância (cm). Um engenheiro ambiental mede as seguintes concentrações de um poluente no sedimento no fundo de um lago (x = 0 na interface sedimento-água e aumentando para baixo):
PROBLEMAS
x, cm
c, 10
−6
g/cm
3
0
1
3
0,06
0,32
0,6
567
Use a melhor técnica de derivação disponível para obter uma estimativa da derivada em x = 0. Empregue essa estimativa em conjunto com a Equação (P24.6) para calcular o fluxo de massa do
poluente saindo do sedimento e indo para a água no fundo do lago
(D = 1,52 × 10−6 cm2/s). Para um lago com 3,6 × 106 m2 de sedimentos, quanto poluente seria transportado para o lago em um
período de um ano?
24.7 Os seguintes dados foram coletados quando um grande
tanque de óleo estava sendo carregado:
t, min
V, 106 barris
0
10
20
30
45
60
75
0,4
0,7
0,77
0,88
1,05
1,17
1,35
Calcule a vazão Q (isto é, dV/dt) para cada instante, com ordem
de h2.
24.8 Você está interessado em medir a velocidade de um fluido em
um canal retangular estreito e aberto carregando dejetos de petróleo
entre locais em uma refinaria de petróleo. Você sabe que, por causa
do atrito no fundo, a velocidade varia com a profundidade do canal.
Se os seus técnicos tiverem tempo de fazer apenas duas medidas de
velocidade, em que profundidades você diria que eles fizessem
essas medidas para obter a melhor estimativa da velocidade média?
Faça sua recomendação em termos da percentagem da profundidade total d medida da superfície do fluido. Por exemplo, medir na
superfície seria 0%d, enquanto no fundo seria 100%d.
24.9 O tecido mole segue um comportamento de deformação exponencial sob tensão uniaxial enquanto estiver no intervalo de
elongação fisiológico ou normal. Isso pode ser expresso como
σ =
E o aε
(e − 1)
A
em que σ é a tensão, ε é a deformação e Eo e a são constantes do
material que são determinadas experimentalmente. Para calcular as
duas constantes do material, a equação anterior é derivada com relação a ε, o que é uma relação fundamental para tecidos moles
dσ
= E o + aσ
dε
Para calcular Eo e a, são usados dados de tensão-deformação para
traçar o gráfico de dσ/dε em função de σ, e a inclinação e a intersecção com o eixo vertical desse gráfico são as duas constantes do
material. A tabela contém dados de tensão-deformação para o chordae tendineae do coração (pequenos tendões usados para manter as
válvulas do coração fechadas durante a contração do músculo
cardíaco). Esses dados são da aplicação de carga ao tecido, enquanto
curvas diferentes são produzidas quando as cargas são retiradas.
(a) Calcule a derivada dσ/dε usando diferenças finitas que sejam
acuradas até segunda ordem. Marque os dados e elimine os pontos próximos do zero que parecem não seguir a relação linear. O
erro nesses dados vem da inabilidade dos instrumentos de lerem
pequenos valores nessa região. Faça uma análise de regressão
dos dados remanescentes para determinar os valores de Eo e de
a. Trace os dados de tensão em função da deformação junto com
a curva analítica expressa pela primeira equação. Isso indicará
quão bem a curva analítica ajusta os dados.
σ × 103 N/m2
ε × 10−3 m/m
(b) Com freqüência, a análise anterior não funciona bem porque o
valor de Eo é difícil de calcular. Para resolver esse problema, Eo
não é usado. É escolhido um ponto dado (σ̄ , ε̄) que esteja no
meio do intervalo usado na análise de regressão. Esses valores
são substituídos na primeira equação e um valor de Eo /a é determinado e substituído na primeira equação:
σ̄
σ =
(eax − 1)
ea ε̄ − 1
Usando essa abordagem, dados experimentais que sejam bem
definidos produzirão uma boa concordância entre os dados e a
curva analítica. Use essa nova relação e trace novamente os pontos
dados de tensão em função dos pontos dados de deformação e a
nova curva analítica.
24.10 A técnica padrão para determinar a saída cardíaca é o método do indicador de diluição desenvolvido por Hamilton. Uma extremidade de um pequeno cateter é inserida em uma artéria radial e
a outra extremidade é conectada a um densitômetro, o qual registra
automaticamente a concentração do corante no sangue. Uma quantidade conhecida de corante, 5,6 mg, é injetada rapidamente e os
seguintes dados são obtidos:
Tempo,
s
Concentração,
mg/L
Tempo,
s
Concentração,
mg/L
0
0,1
0,11
0,4
4,1
9,1
8
4,2
21
23
25
27
29
31
33
35
2,3
1,1
0,9
1,75
2,06
2,25
2,32
2,43
5
7
9
11
13
15
17
19
Traçando esses dados, obtemos a curva de diluição do corante na
Figura P24.10a. A concentração atinge um valor máximo em cerca
de 15 segundos e a seguir decresce rapidamente e depois se eleva
por causa da recirculação do corante. A curva é redesenhada em um
gráfico semilog na Figura P24.10b. Observe que uma reta aproxima
o ramo descendente da curva de diluição. Para separar o efeito de
recirculação, os analistas estendem a parte reta. A saída cardíaca
pode então ser calculada a partir de
C=
M
× 60 s/min
A
em que C é a saída cardíaca [L/min], M é a quantidade de corante
injetado (mg) e A é a área sob a curva com a correção linear. Calcule a saída cardíaca desse paciente usando a regra do trapézio com
um tamanho de passo de 0,5 s.
24.11 Glaucoma é a segunda causa principal da perda de visão em
todo o mundo. Alta pressão intra-ocular (pressão dentro do olho)
quase sempre acompanha a perda de visão. É postulado que a alta
pressão danifica um subconjunto de células no olho que é responsável pela visão. Um pesquisador teorizou que a relação entre a
perda de visão e a pressão pode ser descrita por
t
VL = A exp k
(P − 13) dt
25
87,8
96,6
176
263
350
569
833 1.227 1.623 2.105 2.677 3.378 4.257
153
198
270
320
355
410
460
512
562
614
664
716
766
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
568
24.12 Uma de suas colegas inventou um emplastro transdérmico
para administrar insulina através da pele a pacientes diabéticos de
uma forma controlada, eliminando a necessidade de injeções dolorosas. Ela coletou os seguintes dados sobre o fluxo de massa de
insulina sendo liberado através do emplastro (e da pele) como uma
função do tempo:
10
c
8
6
Fluxo,
mg/cm2/h
4
2
0
0
10
20
30
Tempo após a injeção (s)
15
14
12
11
9
40
(a)
log(c)
1
0
10
20
30
Tempo após a injeção
Fluxo,
mg/cm2/h
0
1
2
3
4
8
5
2,5
2
1
Tempo, h
5
10
15
20
24
Lembre-se de que o fluxo de massa é a vazão por uma área ou
(1/A) dm/dt. Forneça a melhor estimativa que puder para a quantidade de droga liberada através da pele em 24 horas usando um
emplastro de 12 cm2.
24.13 A videoangiografia é usada para medir o escoamento do
sangue e determinar a situação da função circulatória. Para quantificar as videoangiografias, o diâmetro do vaso sanguíneo e a velocidade do sangue são necessários para que o escoamento total de
sangue seja determinado. A seguir se encontra um perfil densitométrico tomado de uma videoangiografia de um vaso sanguíneo.
Uma forma de determinar onde está a borda do vaso sanguíneo a
partir de um angiográfico é determinar onde a primeira derivada do
perfil é um valor extremo. Usando os dados fornecidos, encontre a
fronteira do vaso sanguíneo e faça uma estimativa do seu diâmetro.
Use fórmulas de diferenças centradas tanto de O(h2) quando de
O(h4) e compare os resultados.
10
0,1
Tempo, h
40
(b)
Figura P24.10
em que VL é a perda de visão porcentual, P é a pressão intra-ocular
(mm Hg), t é o tempo (em anos) e k e A são constantes. Usando os
dados a seguir de três pacientes, faça estimativas das constantes k e A.
Engenharia Civil/Ambiental
24.14 Faça os mesmos cálculos que na Seção 24.2, mas use integração de Romberg de O(h8) para calcular a integral.
Paciente
A
B
C
Idade na ocasião do diagnóstico
VL
65
60
43
40
80
30
Idade, anos
P, mm Hg
Idade, anos
P, mm Hg
Idade, anos
P, mm Hg
25
40
50
60
65
13
15
22
23
24
25
40
41
42
43
11
30
32
33
35
25
40
50
60
80
13
14
15
17
19
Distância
Densidade
Distância
Densidade
0
4
8
12
16
20
24
26,013
26,955
26,351
28,343
31,100
34,667
37,251
28
32
36
40
44
48
52
38,273
39,103
39,025
39,432
39,163
38,920
38,631
Distância
56
60
64
68
72
76
80
Densidade
Distância
Densidade
39,124
38,813
38,925
38,804
38,806
38,666
38,658
84
88
92
96
100
104
37,331
35,980
31,936
28,843
26,309
26,146
PROBLEMAS
569
Superfície da água
Profundidade, m
0
1,8
2
0
24.17 As áreas das seções transversais (A) são necessárias para diversas tarefas em engenharia de recursos hídricos, incluindo previsão de enchentes e projetos de represas. A menos que estejam
disponíveis aparelhos sonoros eletrônicos para obter perfis contínuos do fundo do canal, o engenheiro deve basear-se em medidas
de profundidade discretas para calcular A. Um exemplo de uma
seção transversal típica de um ribeirão é mostrado na Figura
P24.17. Os pontos dados representam posições nas quais um barco
era ancorado e a leitura da profundidade tomada. Use duas aplicações da regra do trapézio (h = 4 e 2 m) e a regra 1/3 de Simpson
(h = 2 m) para obter uma estimativa da área da seção transversal a
partir desses dados.
24.18 Como descrito no Problema 24.17, a área da seção transversal de um canal pode ser calculada por
Ac =
B
H (y) dy
0
em que B é a largura total do canal (m), H é a profundidade (m) e y
é a distância da margem (m). De uma forma parecida, a vazão
média Q (m3/s) pode ser calculada por
Q=
B
U (y)H (y) dy
0
em que U é a velocidade da água (m/s). Use essas relações e um
método numérico para determinar Ac e Q para os seguintes dados:
y, m
0
2
4
5
6
9
H, m
0,5
1,3
1,25
1,7
1
0,25
0,03
0,06
0,05
0,12
0,11
0,02
U, m/s
3,6
3,4
2,8
10
Distância a partir da margem esquerda, m
250z −z/10
dz
e
6+z
0
4
6
24.15 Faça os mesmos cálculos que na Seção 24.2, mas use quadratura de Gauss para calcular a integral.
24.16 Como na Seção 24.2, calcule F usando a regra do trapézio e
as regras 1/3 e 3/8 de Simpson, mas use a força a seguir. Divida o
mastro em intervalos de 5 pés.
30
6
4
A seção transversal de um
ribeirão.
4
2
Figura P24.17
F=
4
24.19 Durante um exame, foi pedido que você calculasse a área do
campo mostrado na Figura P24.19. Use as regras de Simpson para
determinar a área.
20
24.20 Um estudo em engenharia de transporte exige o cálculo do
número total de carros que passa por uma intersecção em um
período de 24 h. Um indivíduo visita a intersecção em diversos instantes durante o dia e conta o número de carros que passam pela intersecção em um minuto. Utilize os dados resumidos na Tabela
P24.20 para obter uma estimativa do número total de carros que
passam pela intersecção por dia. (Tome cuidado com as unidades.)
24.21 A força do vento distribuída contra o lado de um edifício é
medida como sendo
Altura,
l, m
0
30
60
90
120
150
180
210
240
Força,
0 340 1.2001.600 2.700 3.100 3.200 3.500 3.800
F(l ), N/m
Calcule a força líquida e a reta da ação que resulta dessa distribuição do vento.
24.22 A água exerce pressão na face a montante de um dique como
mostrado na Figura P24.22. A pressão pode ser caracterizada por
p(z) = ρg(D − z)
(P24.22)
em que p(z) é a pressão em pascais (ou N/m2) exercida a uma elevação de z metros acima do fundo da represa; ρ é a densidade da água,
a qual nesse problema supõe-se ser constante e igual a 103 kg/m3; g é
a aceleração da gravidade (9,8 m/s2); e D é a elevação (em m) da superfície da água acima do fundo da represa. De acordo com a Equação
(P24.22), a pressão aumenta linearmente com a profundidade, como
descrito na Figura P24.22a. Omitindo a pressão atmosférica (pois ela
age contra os dois lados do dique e essencialmente se cancela), a
força total ft pode ser determinada multiplicando-se a pressão pela
área do lado do dique (como mostrado na Figura P24.22b). Como
tanto a pressão quanto a área variam com o nível de profundidade, a
força total é obtida calculando
D
ft =
ρgw(z)(D − z) dz
0
em que w(z) é igual à largura do dique (m) na profundidade z
(Figura P24.22b). A reta de ação também pode ser determinada
pelo cálculo de
D
ρgzw(z)(D − z) dz
d = 0 D
ρgw(z)(D − z) dz
0
Use a regra de Simpson para determinar ft e d. Verifique seus resultados usando seu programa de computador para a regra do trapézio.
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
570
N
4.000
Ria
cho
Distância, pés
3.000
2.000
1.000
Lagoa
0
Estrada
Figura P24.19
1000
0
Um campo limitado por duas
estradas e um riacho.
2000
Distância, pés
3000
TABELA P24.20 Taxa de fluxo de tráfego (carros/min) em uma intersecção medida em
diversos instantes dentro de um período de 24 horas.
Tempo
Taxa
12:00 (meia-noite)
2:00 A.M.
4:00 A.M.
5:00 A.M.
6:00 A.M.
7:00 A.M.
8:00 A.M.
2
2
0
2
6
7
23
Tempo
9:00
10:30
11:30
12:30
2:00
4:00
5:00
A.M.
A.M.
A.M.
P.M.
P.M.
P.M.
P.M.
Taxa
11
4
11
12
8
7
26
Tempo
6:00
7:00
8:00
9:00
10:00
11:00
12:00
P.M.
P.M.
P.M.
P.M.
P.M.
P.M.
(meia-noite)
Taxa
20
10
8
10
8
7
3
Figura P24.22
Água exercendo pressão na face a montante de um dique: (a) visão lateral mostrando a força linearmente crescente com a profundidade;
(b) visão frontal mostrando a largura da represa em metros.
200
190
175
160
135
130
122
60
40
20
0
(a)
(b)
PROBLEMAS
571
24.23 Para obter uma estimativa do tamanho de uma nova represa,
você deve determinar o volume total de água (m3) que escoa por
um rio no período de um ano. Estão disponíveis os seguintes dados
médios a longo prazo para o rio:
Dados em
meados de Jan.
Fev.
3
Vazão, m /s 30
Mar. Abr.
38
82
125
Jun.
Set.
95
20
Out. Nov. Dez.
22
24
35
Determine o volume. Tome cuidado com as unidades e para fazer
estimativas corretas nas extremidades.
24.24 Os dados listados na tabela a seguir dão medidas horárias do
fluxo de calor q (cal/cm2/h) na superfície de um coletor solar. Como
um engenheiro arquitônico, você deve obter uma estimativa do
calor total absorvido por um painel coletor de 150.000 cm2 durante
um período de 14 horas. O painel tem uma eficiência de absorção
eab de 45%. O calor total absorvido é dado por
t
h = eab
q A dt
0
em que A é a área e q é o fluxo de calor.
t
0
2
4
6
8
10
12
14
q
0,10
5,32
7,80
8,00
8,03
6,27
3,54
0,20
24.25 O fluxo de calor q é a quantidade de calor fluindo por uma
unidade de área de um material por unidade de tempo. Ele pode ser
calculado com a lei de Fourier,
dT
J = −k
dx
em que J tem unidades de J/m2/s ou W/m2 e k é um coeficiente de
condutividade térmica que parametriza as propriedades de condução de calor do material e tem unidades de W/(°C · m). T é a
temperatura (°C) e x é a distância (m) ao longo da trajetória do fluxo
de calor. A lei de Fourier é usada rotineiramente pelos engenheiros
arquitetônicos para determinar o fluxo de calor através de paredes.
As seguintes temperaturas foram medidas a partir da superfície
(x = 0) de uma parede de pedra:
x, m
0
0,08
T, °C
20
17
0,16
15
2
Se o fluxo em x = 0 for 60 W/m , calcule k.
24.26 A área da superfície horizontal As (m2) de um lago a uma
profundidade particular pode ser calculada a partir do volume
por derivação,
dV
As (z) = −
(z)
dz
em que V é o volume (m3) e z é a profundidade (m) medida da
superfície até o fundo. A concentração média de uma substância que varia com a profundidade c̄ (g/m3) pode ser calculada
por integração
Z
c(z)As (z) dz
c̄ = 0 Z
As (z) dz
0
em que Z é a profundidade total (m). Calcule a concentração média
com base nos seguintes dados:
z, m
0
4
8
12
16
V, 10 m
9,8175
5,1051
1,9635
0,3927
0,0000
c, g/m3
10,2
8,5
7,4
5,2
4,1
6
3
Engenharia Elétrica
24.27 Faça os mesmos cálculos que na Seção 24.3, mas para a corrente especificada por
i(t) ⫽ 5e⫺1,25t sen 2 t
para 0 ≤ t ≤ T /2
i(t) = 0
para T /2 < t ≤ T
em que T = 1 s. Use a quadratura de Gauss com cinco pontos para
obter uma estimativa da integral.
24.28 Repita o Problema 24.27, mas use a regra 1/3 de Simpson
com cinco segmentos.
24.29 Repita o Problema 24.27, mas use integração de Romberg
até εs = 1%.
24.30 A lei de Faraday caracteriza a queda de voltagem através de
um indutor como
di
VL = L
dt
em que VL é a queda de voltagem(V), L é a indutância (em henrys;
1 H = 1 V · s/A), i é a corrente (A) e t é o tempo (s). Determine a
queda de voltagem como função do tempo a partir dos seguintes
dados para uma indutância de 4 H.
t
0
0,1
0,2
0,3
0,5
0,7
i
0
0,16
0,32
0,56
0,84
2,0
24.31 Com base na lei de Faraday (Problema 24.30), use os
seguintes dados de voltagem para obter uma estimativa da indutância em henrys se uma corrente de 2 A passar pelo indutor por um
período de 400 milissegundos.
t, ms
0
10
20
40
60
80
120
180
280
400
V, volts
0
18
29
44
49
46
35
26
15
7
24.32 Suponha que a corrente através de um resistor é descrita
pela função
√
i(t) = (60 − t)2 + (60 − t) sen( t)
e a resistência é uma função da corrente,
R = 12i + 2i 2/3
Calcule a voltagem média entre t = 0 e 60 usando a regra 1/3 de
Simpson para segmentos múltiplos.
24.33 Se um capacitor inicialmente não tem nenhuma carga, a
voltagem através dele como uma função do tempo pode ser calculada por
1 t
V (t) =
i(t) dt
C 0
Se C = 10−5 farad, use os seguintes dados de corrente para desenvolver um gráfico da voltagem em função do tempo:
t, s
0
–3
i, 10
0,2
0,4
0,6
0,8
1
1,2
A 0,2 0,3683 0,3819 0,2282 0,0486 0,0082 0,1441
Engenharia Mecânica/Aeroespacial
24.34 Faça os mesmos cálculos que na Seção 24.4, mas use a
seguinte equação:
F(x) = 1,6x − 0,045x 2
Use os valores de θ da Tabela 24.6.
24.35 Faça os mesmos cálculos que na Seção 24.4, mas use a
seguinte equação:
θ(x) = 0,8 + 0,125x − 0,009x 2 + 0,0002x 3
Use a equação do Problema 24.34 para F(x). Use regras do trapézio
com 4, 8 e 16 segmentos para calcular a integral.
24.36 Repita o Problema 24.35, mas use a regra 1/3 de Simpson.
24.37 Repita o Problema 24.35, mas use integração de Romberg
até εs = 0,5%.
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
572
24.38 Repita o Problema 24.35, mas use a quadratura de Gauss.
24.39 O trabalho feito em um objeto é igual à força vezes a distância percorrida na direção da força. A velocidade de um objeto na direção da força é dada por
0≤t ≤4
v = 4t
2
v = 16 + (4 − t) 4 ≤ t ≤ 14
em que v está em m/s. Use a regra de Simpson com aplicações
múltiplas para determinar o trabalho se uma força constante de
200 N for aplicada para todos os instantes t.
24.40 A taxa de resfriamento de um corpo (Figura P24.40) pode
ser expressa por
dT
= −k(T − Ta )
dt
Figura P24.40
0
T
em que r é a distância radial medida a partir do centro do tubo. Se
a distribuição de velocidade for dada por
Ta
em que T é a temperatura do corpo (°C), Ta é a temperatura do
meio ao redor (°C) e k é uma constante de proporcionalidade (por
minuto). Logo, essa equação (chamada de lei de resfriamento de
Newton) especifica que a taxa de resfriamento é proporcional à
diferença entre a temperatura do corpo e a do meio ao redor. Se uma
bola de metal aquecida a 80 °C for jogada na água à temperatura
mantida constante em Ta = 20 °C, a temperatura da bola muda
como em
Tempo, min
T, °C
Utilize derivação numérica para determinar dT/dt em cada instante
de tempo. Trace dT/dt em função de T − Ta e empregue regressão
linear para calcular k.
24.41 Uma haste sujeita a uma carga axial (Figura P24.41a) será
deformada, como mostrado na curva de tensão-deformação na
Figura P24.41b. A área sob a curva da tensão zero até o ponto de
ruptura é chamada de módulo de rigidez do material. Ele fornece
uma medida da energia por unidade de volume necessário para
causar a ruptura do material. Assim, ele é representativo da habilidade de suportar uma carga de impacto. Use integração numérica
para calcular o módulo de rigidez para a curva de tensão-deformação vista na Figura P24.41b.
24.42 Se a distribuição de um fluido escoando por um tubo for
conhecida (Figura P24.42), a vazão Q (isto é, o volume de água
passando
pelo tubo por unidade de tempo) pode ser calculada por
Q = v dA, em que v é a velocidade e A é a área da seção transversal do tubo. (Para perceber o significado dessa relação fisicamente,
lembre-se da conexão íntima entre soma e integração.) Para um
tubo circular, A = πr 2 e dA = 2πr dr. Portanto,
r
Q=
v(2πr) dr
0
5
10
15
20
25
80
44,5
30,0
24,1
21,7
20,7
r 1/6
v =2 1−
r0
em que r0 é o raio total (nesse caso, 3 cm), calcule Q usando a regra
do trapézio com aplicações múltiplas. Discuta o resultado.
24.43 Usando os seguintes dados, calcule o trabalho feito ao se
esticar uma mola que tem constante de mola k = 300 N/m até
x = 0,35 m:
F, 103N
0
0,01
0,028
0,046
0,063
0,082
0,11
0,13
x, m
0
0,05
0,10
0,15
0,20
0,25
0,30
0,35
Figura P24.41
(a) Uma haste sob carga axial e (b) a curva de tensão-deformação em que a tensão está em kips por polegada quadrada
(103 lb/pol2) e a deformação é adimensional.
e
0,02
0,05
0,10
0,15
0,20
0,25
s, ksi
60
Ruptura
40
Módulo de
rigidez
20
0
(a)
s
40,0
37,5
43,0
52,0
60,0
55,0
0,1
0,2
(b)
e
PROBLEMAS
573
r
24.49 O escoamento completamente desenvolvido de um fluido
plástico de Bingham se movendo em um tubo de 12 pol de diâmetro
tem o perfil de velocidade dado. O escoamento de um fluido de
Bingham não sofre cisalhamento no núcleo central, produzindo
escoamento plug na região em torno do eixo central.
A
Figura P24.42
24.44 A posição de ataque de um jato em uma pista de aterrissagem de aviões de transporte foi cronometrada durante a
aterrissagem:
t, s
0
0,52
1,04
1,75
2,37
3,25
3,83
x, m
153
185
210
249
261
271
273
em que x é a distância a partir da extremidade do avião de carga.
Estime (a) a velocidade (dx/dt) e (b) a aceleração (dv/dt) usando
derivação numérica.
24.45 Empregue a regra de Simpson com aplicação múltipla para
calcular a distância vertical percorrida por um foguete se a velocidade vertical for dada por
v = 11t 2 − 5t
v = 1100 − 5t
v = 50t + 2(t − 20)2
0 ≤ t ≤ 10
10 ≤ t ≤ 20
20 ≤ t ≤ 30
24.46 A velocidade para cima de um foguete pode ser calculada
seguindo a fórmula:
v = u ln
m0
m 0 − qt
Velocidade, v, m/s
0
1
Velocidade, v, pés/s 5,00 5,00
2
3
4,62 4,01
4
5
3,42
6
1,69 0,00
Encontre
a vazão em volume Q usando a relação
r
Q = r12 2πrv dr + vc Ac , em que r é a distância ao eixo axial do
tubo, R é o raio do tubo, v é a velocidade, vc é a velocidade no centro e Ac é a área da seção transversal do plug. Resolva o problema
usando duas abordagens diferentes.
(a) Ajuste uma curva polinomial aos dados fora do núcleo e integre analiticamente.
(b) Use a regra 1/3 de Simpson com aplicações múltiplas
para integrar.
(c) Encontre o erro porcentual usando a integral do ajuste polinomial como o valor mais correto.
24.50 A entalpia de um gás real é uma função da pressão como
descrito a seguir. Os dados foram tomados para um fluido real.
Faça uma estimativa da entalpia do fluido a 400 K e a 50 atm (calcule a integral de 0 atm a 50 atm).
P
∂V
H
V −T
dP
∂T P
0
− gt
V, L
em que v é a velocidade para cima, u é a velocidade relativa ao
foguete na qual o fluido é expelido, m0 é a massa inicial do foguete
no instante t = 0, q é a taxa de consumo de combustível e g é a aceleração para baixo da gravidade (suposta constante e igual a 9,8
m/s2). Se u = 1.800 m/s, m0 = 160.000 kg e q = 2.500 kg/s, use a
regra do trapézio com seis segmentos e a regra 1/3 de Simpson, a
quadratura de Gauss com seis pontos e métodos de Romberg de
O(h8) para determinar quão alto o foguete irá voar em 30 s.
24.47 Com relação aos dados do Problema 20.57, encontre a taxa
de tensão usando métodos de diferenças finitas. Use aproximações
de derivadas acuradas até primeira ordem e trace o gráfico de seus
resultados. Olhando para o gráfico, é fácil perceber que existe
algum erro experimental inicial. Encontre a média e o desviopadrão da taxa de tensão depois de eliminar os dados representando
o erro experimental inicial.
24.48 O escoamento completamente desenvolvido, movendo-se
por um tubo de 40 cm de diâmetro, tem um perfil de velocidade ilustrado na tabela
Rabaixo. Encontre a vazão em volume Q usando a
relação Q ⫽ 0 2πrv dr , em que r é a distância ao eixo axial do
tubo, R é o raio do tubo e v é a velocidade. Resolva o problema
usando duas abordagens diferentes.
(a) Ajuste uma curva polinomial aos dados de velocidade e integre analiticamente.
(b) Use a regra 1/3 de Simpson com aplicações múltiplas
para integrar.
(c) Encontre o erro percentual usando a integral do ajuste polinomial como o valor mais correto.
Raio, r, cm
Raio, r, pol
0,0
2,5
5,0
7,5
10,0
0,914
0,890
0,847
0,795
0,719
P, atm
T = 350 K
T = 400 K
T = 450 K
0,1
5
10
20
25
30
40
45
50
220
4,1
2,2
1,35
1,1
0,90
0,68
0,61
0,54
250
4,7
2,5
1,49
1,2
0,99
0,75
0,675
0,6
282,5
5,23
2,7
1,55
1,24
1,03
0,78
0,7
0,62
24.51 Fornecidos os dados a seguir, encontre o trabalho isotérmico
feito no gás quando
ele é comprimido de 23 L até 3 L (lembre-se de
V
que W = − V12 P d V ).
V, L
P, atm
3
8
13
18
23
12,5
3,5
1,8
1,4
1,2
(a) Calcule o trabalho feito sobre o gás numericamente, usando a
regra do trapézio com 1, 2 e 4 segmentos.
(b) Calcule as razões dos erros nessas estimativas e relacione-as à
análise de erro da regra do trapézio com aplicações múltiplas
discutida no Capítulo 21.
24.52 A Equação de Rosin-Rammler-Bennet (RRB) é usada para
descrever a distribuição de tamanho na poeira fina. F(x) representa
a massa acumulada das partículas de diâmetro inferior ou igual a x.
x ′ e n ′ são constantes iguais a 30 μm e 1,44, respectivamente. A
distribuição de densidade de massa f (x) ou a massa das partículas
12,5
15,0
0,543 0,427
17,5
20,0
0,204
0
ESTUDO DE CASOS: INTEGRAÇÃO E DERIVAÇÃO NUMÉRICAS
574
de poeira de diâmetro x é encontrada tomando-se a derivada da distribuição acumulada
′ n′
F(x) = 1 − e−(x/x )
f(x) =
dp
8μQ
=−
dx
πr 4
dF(x)
dx
(a) Calcule numericamente a distribuição de densidade de massa
f(x) e trace tanto f(x) quanto a distribuição acumulada F(x).
(b) Usando seus resultados da parte (a), calcule o tamanho modal
da distribuição de densidade de massa — isto é, o tamanho no
qual a derivada de f(x) é igual a zero.
(c) Encontre a área da superfície por massa de poeira Sm (cm2/g)
usando
Sm =
6
ρ
∞
dmin
f (x)
dx
x
A equação é válida apenas para partículas esféricas. Suponha uma
densidade ρ = 1 g cm−3 e um diâmetro mínimo de poeira incluído
na distribuição dmin de 1 μm.
24.53 Para o escoamento de fluido, o fluxo de calor para a superfície pode ser calculado por
J = −k
dT
dy
em que J é o fluxo de calor (W/m2), k é a condutividade térmica
(W/m · K), T é a temperatura (K) e y é a distância normal à superfície (m). As seguintes medidas foram feitas para ar escoando sobre
uma placa plana que tem 200 cm de comprimento e 50 cm de
largura:
y, cm
T, K
24.54 O gradiente de pressão para o escoamento laminar através
de um tubo de raio constante é dado por
0
1
3
5
900
480
270
200
Se k = 0,028 J/s · m · K, (a) determine o fluxo na superfície e (b) o
calor transferido em watts. Observe que 1 J = 1 W · s.
em que p é a pressão (N/m2), x é a distância ao longo do eixo central do tubo (m), μ é a viscosidade dinâmica (N · s/m2), Q é o
escoamento (m3/s) e r é o raio (m).
(a) Determine a queda de pressão para um tubo de 10 cm de comprimento para um líquido viscoso (μ = 0,005 N · s/m2, densidade
ρ = 1 × 103 kg/m3) com um escoamento de 10 × 10−6 m3/s e os
seguintes raios variáveis ao longo de seu comprimento:
x, cm
0
2
4
5
6
7
10
r, mm
2
1,35
1,34
1,6
1,58
1,42
2
(b) Compare seu resultado com a queda de pressão que teria ocorrido se o tubo tivesse um raio constante igual ao raio médio.
(c) Determine o número de Reynolds médio para o tubo para verificar que o escoamento é realmente laminar (Re = ρvD/μ <
2.100, em que v é a velocidade).
24.55 Dados de velocidade do ar foram coletados em diferentes
raios do eixo central de um tubo circular de 16 cm de diâmetro,
como tabulado a seguir:
r, cm
v, m/s
0
1,60
3,20
4,80
6,40
7,47
7,87
7,95
8
10
9,69
9,30
8,77
7,95
6,79
5,57
4,89
0
Use integração numérica para determinar a vazão em massa, que
pode ser calculada por
R
ρv2πr dr
0
em que ρ é a densidade (1,2 kg/m3). Expresse seu resultado em kg/s.
EPÍLOGO: PARTE SEIS
PT6.4 PRÓS E CONTRAS
A Tabela PT6.4 fornece um resumo dos prós e contras envolvidos na integração numérica
ou quadratura. A maioria desses métodos é baseada na interpretação física simples de que
uma integral é a área sob uma curva. Essas técnicas foram desenvolvidas para calcular a
integral em dois casos diferentes: (1) uma função matemática (dada analiticamente) ou
(2) dados discretos na forma tabular.
As fórmulas de Newton-Cotes são os métodos principais discutidos no Capítulo 21.
Elas são aplicáveis a funções definidas tanto no discreto quanto no contínuo. Estão
disponíveis as versões aberta e fechada dessas fórmulas. As formas abertas, que têm extremos de integração que se estendem além dos intervalos dos dados, raramente são
usadas para o cálculo de integrais definidas. Entretanto, elas são úteis na solução de
equações diferenciais ordinárias e no cálculo de integrais impróprias.
As fórmulas de Newton-Cotes fechadas são baseadas na substituição da função
definida analiticamente ou dos dados tabulados por um polinômio interpolador que é fácil
de integrar. A versão mais simples é a regra do trapézio, que é baseada em tomar a área
abaixo de uma reta ligando valores adjacentes da função. Uma forma de melhorar a precisão da regra do trapézio é dividir o intervalo de integração de a a b em diversos segmentos e aplicar o método a cada segmento.
Além de aplicar a regra do trapézio com uma divisão em segmentos menores, outra
forma de obter estimativas mais acuradas da integral é usar polinômios de grau mais alto
para ligar os pontos. Se for usada uma equação quadrática, o resultado será a regra 1/3 de
Simpson. Se for usada uma equação cúbica, o resultado será a regra 3/8 de Simpson.
Como elas são muito mais precisas que a regra do trapézio, em geral, essas fórmulas são
preferidas e estão disponíveis versões com aplicações múltiplas. Para situações com um
número par de segmentos, é recomendada a aplicação múltipla da regra 1/3. Para
um número ímpar de segmentos, a regra 3/8 pode ser aplicada aos últimos três segmentos e a regra 1/3 aos segmentos restantes.
TABELA PT6.4 Comparação das características dos métodos alternativos para integração numérica. As comparações são
baseadas na experiência geral e não representam o comportamento de funções especiais.
Método
Regra do trapézio
Regra 1/3 de Simpson
Regra de Simpson
(1/3 e 3/8)
Newton-Cotes de
ordem mais alta
Integração de Romberg
Quadratura de Gauss
Pontos Dados
Pontos Dados
Necessários para Necessários para
Erro de
uma Aplicação
n Aplicações
Truncamento
Aplicação
Esforço de
Programação
2
3
3 ou 4
n +1
2n + 1
ⱖ3
≃h3f ′′(ξ)
≃h5f (4)(ξ)
≃h5f (4)(ξ)
Ampla
Ampla
Ampla
Fácil
Fácil
Fácil
ⱖ5
N/A
≃h7f (6)(ξ)
Rara
Fácil
3
ⱖ2
N/A
Exige que f (x)
seja conhecida
Exige que f (x)
seja conhecida
Moderado
Fácil
Comentário
Inapropriado para
dados tabulares
Inapropriado para
dados tabulares
575
576
EPÍLOGO: PARTE SEIS
Estão disponíveis também fórmulas de Newton-Cotes de ordem superior. No entanto, elas raramente são usadas na prática. Quando for necessária uma acurácia alta,
estão disponíveis as fórmulas de integração de Romberg e de quadratura de Gauss. Deve
ser observado que tanto a integração de Romberg como a quadratura de Gauss têm utilidade prática apenas nos casos nos quais a função está disponível. Essas técnicas não são
apropriadas para dados tabulados.
PT6.5 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT6.5 resume informações importantes que foram apresentadas na Parte Seis.
Essa tabela pode ser consultada para acesso rápido às relações e às fórmulas importantes.
PT6.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Embora tenhamos revisado diversas técnicas de integração numérica, existem outros métodos que têm utilidade na prática da engenharia. Por exemplo, a integração de Simpson
adaptativa é baseada na divisão do intervalo de integração em uma série de subintervalos
de largura h. Então, a regra 1/3 de Simpson é utilizada para calcular a integral em cada
subintervalo dividindo o tamanho do passo por dois, de uma forma iterativa, isto é, com
tamanho de passo h, h/2, h/4, h/8, e assim por diante. Continuam-se as iterações em cada
subintervalo até que uma estimativa de erro aproximada caia abaixo de um critério de
parada pré-especificado εs . A seguir, a integral total é calculada como a somatória das estimativas da integral nos subintervalos. Essa técnica é especialmente útil para funções
complicadas que têm regiões exibindo tanto pequenas quanto grandes ordens de variação.
Discussões sobre integração adaptativa podem ser encontradas em Gerald e Wheatley
(1989) e em Rice (1983). Além disso, os esquemas adaptativos para a resolução de
equações diferenciais ordinárias podem ser usados para calcular integrais complicadas,
como mencionado em PT6.1 e como será discutido no Capítulo 25.
Outro método de obter integrais é ajustar um spline cúbico aos dados. As equações
cúbicas resultantes podem ser facilmente integradas (Forsythe et al., 1977). Uma abordagem parecida às vezes é usada também para a derivação. Finalmente, além das fórmulas de Gauss-Legendre, discutidas na Seção 22.3, existem também diversas outras
fórmulas de quadratura. Carnahan, Luther e Wilkes (1969) e Ralston e Rabinowitz (1978)
resumem muitas dessas abordagens.
Em síntese, a intenção do material anterior é lhe fornecer avenidas para a exploração
mais profunda do assunto. Além do mais, todas as referências anteriores descrevem as
técnicas básicas cobertas na Parte Seis. Sugerimos que você consulte essas fontes alternativas para ampliar seu entendimento dos métodos numéricos para integração.
PT6.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
577
TABELA PT6.5 Resumo das informações importantes apresentadas na Parte Seis.
Método
Formulação
Interpretação Gráfica
Erro
Regra do trapézio
f(a) ⫹ f (b)
l ≃ (b ⫺ a) ᎏᎏ
2
f (x)
(b ⫺ a)3
ᎏᎏf ′′(ξ)
12
a
n⫺1
f (x0) ⫹ 2冱 f (xi) ⫹ f (xn)
Aplicação múltipla
da regra do trapézio
b
f (x)
i⫽1
(b ⫺ a)3 ′′
f苶
⫺ᎏᎏ
12n2
l ≃ (b ⫺ a) ᎏᎏᎏ
2n
a = x0
Regra 1/3
de Simpson
x
f (x0) ⫹ 4f (x1) ⫹ f(x2)
l ≃ (b ⫺ a) ᎏᎏᎏ
6
b = xn
(b – a)5
⫺ᎏᎏ f (4)(ξ)
2.880
f (x)
a = x0
n⫺1
f (x0) ⫹ 4
冱
x
b = x2
x
n⫺2
f (xi) ⫹ 2
i⫽1,3
冱
f (xj) ⫹ f (xn)
j⫽2,4
f (x)
(b ⫺ a)5 (4)
f
⫺ᎏᎏ
180n4
Aplicação múltipla da l ≃ (b ⫺ a) ᎏᎏᎏᎏᎏ
3n
Regra 1/3 de Simpson
a = x0
Regra 3/8 de
Simpson
f (x0) ⫹ 3f(x1) ⫹ 3f (x2) ⫹ f(x3)
l ≃ (b ⫺ a) ᎏᎏᎏᎏ
8
b = xn
(b – a)5
⫺ᎏᎏ f (4)(ξ)
6.480
f (x)
a = x0
Integração de
Romberg
x
4k⫺1 lj⫹1,k⫺1 ⫺ lj,k⫺1
lj,k ⫽ ᎏᎏᎏ
4k⫺1 ⫺ 1
b = x3
lj,k1
x
O(h2k)
lj,k
lj⫹1,k1
Quadratura de
Gauss
l ≃ c0f (x0) ⫹ c1f (x1) ⫹ ⭈ ⭈ ⭈ ⫹ cn⫺1f(xn⫺1)
⯝f (2n⫹2)(ξ)
f (x)
x0
x1
x
PARTE SETE
EQUAÇÕES DIFERENCIAIS
ORDINÁRIAS
PT7.1 MOTIVAÇÃO
No primeiro capítulo deste livro, deduzimos a seguinte equação baseada na segunda lei de
Newton para calcular a velocidade v de um pára-quedista em queda livre como função do
tempo [lembre-se da Equação (1.9)]:
dv
c
=g− v
dt
m
(PT7.1)
em que g é a constante gravitacional, m é a massa e c é o coeficiente de arrasto. Tais
equações, que são compostas por uma função desconhecida e suas derivadas, são
chamadas equações diferenciais. A Equação (PT7.1) é, algumas vezes, denominada
equação de taxa, porque expressa a taxa de variação de uma variável como uma função
das variáveis e parâmetros. Essas equações desempenham papel fundamental na engenharia, já que muitos fenômenos físicos são mais bem formulados matematicamente em
termos de sua taxa de variação.
Na Equação (PT7.1), a quantidade que está sendo derivada, v, é chamada variável
dependente. A quantidade com relação à qual v é derivada, t, é denominada variável independente. Quando a função envolve uma única variável independente, a equação é conhecida como equação diferencial ordinária (ou EDO). Isso para diferenciá-la de uma
equação diferencial parcial (ou EDP), que envolve duas ou mais variáveis independentes.
As equações diferenciais também são classificadas em relação à sua ordem. Por
exemplo, a Equação (PT7.1) é denominada equação de primeira ordem, pois a derivada
mais alta é a primeira derivada. Uma equação de segunda ordem incluiria uma segunda
derivada. Por exemplo, a equação que descreve a posição x de um sistema massa-mola
com amortecimento é a equação de segunda ordem (lembre-se da Seção 8.4),
m
d2x
dx
+c
+ kx = 0
2
dt
dt
(PT7.2)
em que c é uma constante de amortecimento e k é a constante da mola. Analogamente,
uma equação de ordem n inclui uma derivada n-ésima.
Equações de ordem superior podem ser reduzidas a um sistema de equações de
primeira ordem. Para a Equação (PT7.2), isso é feito definindo-se uma nova variável
y, por
y=
dx
dt
(PT7.3)
a qual pode ser derivada para fornecer
dy
d2x
= 2
dt
dt
(PT7.4)
As Equações (PT7.3) e (PT7.4) podem, então, ser substituídas na Equação (PT7.2) para
fornecer
m
dy
+ cy + kx = 0
dt
(PT7.5)
579
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
580
ou
dy
cy + kx
=−
(PT7.6)
dt
m
Assim, as Equações (PT7.3) e (PT7.6) são um par de equações de primeira ordem que são
equivalentes à equação original de segunda ordem. Como as outras equações diferenciais
de ordem n podem ser reduzidas de forma análoga, esta parte do livro se concentra na
solução de equações de primeira ordem. Algumas das aplicações em engenharia do
Capítulo 28 tratam da solução de EDOs de segunda ordem por redução a um par de
equações de primeira ordem.
PT7.1.1 Métodos Não Computacionais para Resolução de EDOs
Sem os computadores, as EDOs, em geral, são resolvidas com técnicas de integração
analíticas. Por exemplo, a Equação (PT7.1) poderia ser multiplicada por dt e integrada
para fornecer
c
g − v dt
v=
(PT7.7)
m
O lado direito dessa equação é chamado integral indefinida, porque os extremos de integração não são especificados, em contraste com as integrais definidas discutidas anteriormente, na Parte Seis [compare a Equação (PT7.7) com a Equação (PT6.6)].
Uma solução analítica da Equação (PT7.7) será obtida se a integral indefinida puder
ser calculada exatamente na forma de uma equação. Por exemplo, lembre-se de que, para
o problema do pára-quedista em queda livre, a Equação (PT7.7) foi resolvida analiticamente pela Equação (1.10) (supondo v = 0 em t ⫽ 0):
gm
1 − e−(c/m)t
v(t) =
(1.10)
c
A mecânica de dedução de cada solução analítica será discutida na Seção PT7.2. Por enquanto, o fato importante é que soluções exatas para muitas EDOs de importância prática
não estão disponíveis. Como é verdade para a maioria das situações discutidas em outras
partes deste livro, os métodos numéricos fornecem a única alternativa viável nesses casos.
Como esses métodos numéricos, em geral, exigem computadores, os engenheiros na era
pré-computador estavam um pouco limitados no escopo de suas pesquisas.
Um método muito importante que os engenheiros e os matemáticos aplicados desenvolveram para superar esse dilema foi a linearização. Uma equação diferencial ordinária linear é uma equação que tem a forma geral
an (x)y (n) + · · · + a1 (x)y ′ + a0 (x)y = f(x)
(n)
l
FIGURA PT7.1
O pêndulo oscilante.
(PT7.8)
em que y é a n-ésima derivada de y em relação a x e os a’s e o f ’ são funções especificadas
de x. Essa equação é chamada linear, porque não há produtos ou funções não-lineares da
variável dependente y e de suas derivadas. A importância prática das EDOs lineares é que
elas pode ser resolvida de forma analítica.1 Em contraste, a maioria das equações nãolineares não pode ser resolvida exatamente. Assim, na era pré-computador, uma tática para
resolver equações não-lineares era linearizá-las.
Um exemplo simples é a aplicação das EDOs para prever o movimento de um pêndulo oscilante (Figura PT7.1). De maneira similar à dedução do problema do páraquedista em queda livre, a segunda lei de Newton pode ser usada para deduzir a seguinte
equação diferencial (ver Seção 28.4 para a dedução completa):
g
d 2θ
+ sen θ = 0
(PT7.9)
dt 2
l
em que é o ângulo de deslocamento do pêndulo, g é a constante gravitacional e l é o
comprimento do pêndulo. Essa equação é não-linear por causa do termo sen . Uma
forma de obter uma solução analítica é perceber que para pequenos deslocamentos do
pêndulo do equilíbrio (isto é, para pequenos valores de ),
sen θ ∼
=θ
(PT7.10)
1
N.R.T: Na verdade, mesmo estas só podem ser resolvidas exatamente em situações particulares.
PT7.1 MOTIVAÇÃO
581
Logo, se, por hipótese, estivermos interessados apenas no caso em que for pequeno, a
Equação (PT7.10) pode ser substituída na Equação (PT7.9) para fornecer
d 2θ
g
+ θ =0
2
dt
l
(PT7.11)
Portanto, transformamos a Equação (PT7.9) em uma forma linear que é fácil de resolver
analiticamente.
Embora a linearização continue sendo uma ferramenta muito valiosa na resolução de
problemas de engenharia, existem casos em que ela não pode ser usada. Por exemplo,
suponha que estejamos interessados no estudo do comportamento do pêndulo para
grandes deslocamentos do equilíbrio. Em tais casos, os métodos numéricos oferecem uma
opção viável para obter soluções. Atualmente, a grande disponibilidade de computadores
coloca essa opção ao alcance de todos os engenheiros praticantes.
PT7.1.2 EDOs e a Prática da Engenharia
As leis fundamentais da física, matemática, eletrônica e termodinâmica, em geral, são
baseadas em observações empíricas que explicam a variação das propriedades físicas e
dos estados dos sistemas. Em vez de descrever os estados de sistemas físicos diretamente,
as leis geralmente são dadas em termos de variações espaciais e temporais.
Diversos exemplos estão listados na Tabela PT7.1. Essas leis definem mecanismos
de variação. Quando combinadas com as leis de continuidade da energia, da massa e do
momento, produzem equações diferenciais. Integração subseqüente dessas equações diferenciais resulta em funções matemáticas que descrevem o estado espacial e temporal de
um sistema em termos da variação de energia, massa ou velocidade.
O problema do pára-quedista em queda livre introduzido no Capítulo 1 é um exemplo de dedução de uma equação diferencial ordinária a partir da lei fundamental. Lembrese de que a segunda lei de Newton era usada para deduzir uma EDO que descrevia a taxa
de variação da velocidade de um pára-quedista em queda livre. Integrando essa relação,
obtivemos uma equação para prever a velocidade de queda como uma função do tempo
(Figura PT7.2). Essa equação poderia ser utilizada de diversas maneiras, inclusive com o
propósito de projetar.
De fato, tais relações matemáticas são a base da solução para um grande número de
problemas de engenharia. Entretanto, como descrito na seção anterior, muitas das
equações diferenciais de significado prático não podem ser resolvidas usando os métodos
analíticos do cálculo. Logo, os métodos discutidos nos capítulos a seguir são extremamente importantes em todos os campos da engenharia.
TABELA PT7.1 Exemplos de leis fundamentais que são escritas em termos de taxas de
variação (t é o tempo e x, a posição).
Lei
Segunda lei de movimento
de Newton
Expressão Matemática
dv
F
ᎏᎏ ⫽ ᎏᎏ
dt
m
Lei de Fourier do calor
dT
q ⫽ ⫺k ′ ᎏᎏ
dx
Lei de difusão de Fick
dc
J ⫽ ⫺D ᎏᎏ
dx
Lei de Faraday (queda
de voltagem em um
indutor)
di
VL ⫽ L ᎏᎏ
dt
Variáveis e Parâmetros
Velocidade (v), força (F ) e
massa (m)
Fluxo de calor (q), condutividade
térmica (k ′) e
temperatura (T)
Fluxo de massa ( J ), coeficiente
de difusão (D) e
concentração (c)
Queda de voltagem (VL),
indutância (L)
e corrente (i)
582
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
F = ma
Lei física
dv = g – c v
m
dt
EDO
Analítica
gm
v = c (1 – e– (c/m)t)
Numérica
vi + 1 = vi + (g –
c
v )t
m i
Solução
FIGURA PT7.2
A seqüência de eventos na aplicação de EDOs na resolução de problemas de engenharia.
O exemplo mostrado é a velocidade de um pára-quedista em queda livre.
PT7.2 FUNDAMENTOS MATEMÁTICOS
Uma solução de uma equação diferencial ordinária é uma função específica da variável
independente e dos parâmetros que satisfaz a equação diferencial original. Para ilustrar
esse conceito, vamos começar com uma função dada
y = −0, 5x 4 + 4x 3 − 10x 2 + 8,5x + 1
(PT7.12)
que é um polinômio de quarto grau (Figura PT7.3a). Agora, se derivarmos a Equação
(PT7.12), obtemos uma EDO:
dy
= −2x 3 + 12x 2 − 20x + 8,5
(PT7.13)
dx
Essa equação também descreve o comportamento do polinômio, mas de modo diferente
da Equação (PT7.12). Em vez de descrever explicitamente os valores de y para cada valor
de x, a Equação (PT7.13) dá a taxa de variação de y com relação a x (isto é, a inclinação)
em todos os valores de x. A Figura PT7.3 mostra o gráfico da função e da derivada em
função de x. Observe como os valores nulos da derivada correspondem a pontos nos quais
a função original é horizontal — isto é, tem inclinação nula. Além disso, os valores absolutos máximos das derivadas estão nas extremidades do intervalo, em que as inclinações
da função são maiores.
Embora, como acabamos de ilustrar, possamos determinar uma equação diferencial
dada a função original, o objetivo aqui é determinar a função original dada a equação
diferencial. A função original, então, representa a solução. No caso presente, podemos determinar essa solução analiticamente integrando a Equação (PT7.13):
y = (−2x 3 + 12x 2 − 20x + 8,5) dx
Aplicando a regra de integração (lembre-se da Tabela PT6.2)
u n+1
+C
n = −1
u n du =
n+1
a cada termo da equação obtém-se a solução
y = −0,5x 4 + 4x 3 − 10x 2 + 8,5x + C
(PT7.14)
que é idêntica à função original, exceto por uma diferença importante. Durante a derivação
e a posterior integração, perdemos o valor constante 1 na equação original e ganhamos o
valor C. Esse C é chamado constante de integração. O fato de tal constante arbitrária apare-
PT7.2 FUNDAMENTOS MATEMÁTICOS
583
y
4
3
x
(a)
dy/dx
8
3
–8
x
(b)
FIGURA PT7.3
Gráficos de (a) y versus x e (b) dyⲐdx versus x para a função
y = −0,5x 4 + 4x 3 − 10x 2 + 8,5x + 1.
cer indica que a solução não é única. Na realidade, ela é apenas uma de um número infinito
de possíveis funções (correspondendo a um número infinito de possíveis valores de C) que
satisfazem a equação diferencial. Por exemplo, a Figura PT7.4 mostra seis funções possíveis que satisfazem a Equação (PT7.14).
Portanto, para especificar completamente a solução, uma equação diferencial está
normalmente acompanhada de condições auxiliares. Para EDOs de primeira ordem, é
necessário um tipo de condição auxiliar denominada valor inicial para determinar a constante e obter uma solução única. Por exemplo, a Equação (PT7.13) poderia estar acompanhada pela condição inicial que em x = 0, y = 1. Esses valores poderiam então ser
substituídos na Equação (PT7.14):
1 = −0,5(0)4 + 4(0)3 − 10(0)2 + 8,5(0) + C
(PT7.15)
y = −0,5x 4 + 4x 3 − 10x 2 + 8,5x + 1
(PT7.16)
para determinar que C = 1. Portanto, a única solução que satisfaz tanto a equação diferencial quanto a condição inicial especificada é obtida substituindo C = 1 na Equação
(PT7.14) para obter
Assim, “prendemos” a Equação (PT7.14) forçando-a a passar pela condição inicial e, ao
fazer isso, determinamos uma única solução da EDO e completamos o ciclo para a função
original [Equação (PT7.12)].
As condições iniciais, em geral, têm interpretação física tangível nas equações diferenciais provenientes de situações de problema físico. Por exemplo, no problema do páraquedista em queda livre, a condição inicial era um reflexo do fato físico de que, no instante
zero, a velocidade vertical era nula. Se o pára-quedista já estivesse em movimento vertical
no instante zero, a solução teria sido modificada para levar em conta essa velocidade inicial.
Quando estivermos lidando com uma equação diferencial de ordem n, serão necessárias n condições para obter uma solução única. Se todas as condições forem especificadas
584
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
y
C=3
C=2
C=1
C=0
C = –1
x
C = –2
FIGURA PT7.4
Seis soluções possíveis para a integral de −2x3 + 12x2 − 20x + 8,5. Cada uma
corresponde a um valor diferente da constante de integração C.
em um mesmo valor da variável independente (por exemplo, em x ⫽ 0 ou t ⫽ 0), então o
problema é chamado problema de valor inicial. Isso para diferenciá-lo dos problemas de
contorno, nos quais as especificações das condições ocorrem em valores diferentes da
variável independente. Os Capítulos 25 e 26 se concentrarão em problemas de valor inicial.
Os problemas de contorno serão estudados no Capítulo 27, juntamente com autovalores.
PT7.3 ORIENTAÇÃO
Antes de prosseguir para os métodos numéricos para a resolução de equações diferenciais
ordinárias, alguma orientação poderia ser útil. Nossa intenção, com o material
descrito a seguir, é lhe fornecer uma visão geral do material discutido na Parte Sete. Além
disso, formulamos objetivos para focalizar seus estudos do assunto.
PT7.3.1 Escopo e Visão Geral
A Figura PT7.5 fornece uma visão geral da Parte Sete. Duas categorias amplas de métodos numéricos para problemas de valor inicial serão discutidas nesta parte do livro. Os
métodos de passo único, que são cobertos no Capítulo 25, permitem o cálculo de yi+1,
dada a equação diferencial e yi. Os métodos de passo múltiplo, que são cobertos no Capítulo 26, exigem valores adicionais de y além de em i.
A não ser por uma pequena exceção, os métodos de passo único, descritos no
Capítulo 25, pertencem ao que se chama de técnicas de Runge-Kutta. Embora o capítulo
pudesse ter sido organizado em torno dessa noção teórica, optamos por uma abordagem
mais gráfica e intuitiva para introduzir os métodos. Assim, começamos o capítulo com o
método de Euler, o qual tem uma interpretação gráfica muito simples. Então, usamos
argumentos visualmente orientados para desenvolver duas versões melhoradas do
método de Euler — as técnicas de Heun e do ponto médio. Depois dessa introdução, deduziremos formalmente o conceito das abordagens de Runge-Kutta (ou RK) e mostraremos como as técnicas anteriores são de fato métodos de primeira e segunda ordens
de RK. Isso é seguido por uma discussão das formulações de alta ordem de RK que são
freqüentemente usadas na resolução de problemas de engenharia. Além disso, discutimos
as aplicações dos métodos de passo único aos sistemas de EDOs. Finalmente, o capítulo
termina com uma discussão dos métodos RK adaptativos, que automaticamente ajustam
o tamanho do passo em resposta ao erro de truncamento do cálculo.
O Capítulo 26 começa com a descrição de EDOs rígidas. Estas são tanto EDOs individuais quanto sistemas de EDOs que têm ambas componentes rápidas e lentas em suas
PT7.3 ORIENTAÇÃO
PT 7.1
Motivação
585
PT 7.2
Fundamentos
matemáticos
PT 7.3
Orientação
25.1
Método de
Euler
PARTE 7
Equações
Diferenciais
Ordinárias
PT 7.6
Métodos
avançados
PT 7.5
Fórmulas
importantes
25.2
Métodos de Heun
e do ponto
médio
25.3
Runge-Kutta
CAPÍTULO 25
Métodos
de Runge-Kutta
EPÍLOGO
PT 7.4
Prós e contras
25.4
Sistemas
de EDOs
25.5
Métodos RK
adaptativos
28.4
Engenharia
mecânica
28.3
Engenharia
elétrica
CAPÍTULO 26
Rigidez e
Métodos de
Passo
Múltiplo
CAPÍTULO 28
Estudo de Casos
CAPÍTULO 27
Problemas de
Contorno e
de Autovalores
28.2
Engenharia
civil
28.1
Engenharia
química
26.1
Rigidez
26.2
Métodos de
passo múltiplo
27.1
Problemas de
contorno
27.3
Bibliotecas e
pacotes
27.2
Autovalores
FIGURA PT7.3.1
Organização esquemática da Parte Sete: Equações Diferenciais Ordinárias.
soluções. Introduzimos a idéia de uma técnica de solução implícita como comumente
usada para remediar esse problema.
A seguir, discutiremos métodos de passo múltiplo. Esses algoritmos retêm informações dos passos anteriores para capturar de forma mais eficiente a trajetória da
solução. Eles também fornecem estimativas do erro de truncamento que podem ser usadas para implementar o controle do tamanho do passo. Nesta seção, tomamos, inicialmente, uma abordagem visual intuitiva por meio do uso de um método simples — o
método de Heun de início não automático — para introduzir todas as características
essenciais da abordagem de passo múltiplo.
No Capítulo 27, nos voltamos para os problemas de contorno e de autovalores. Para
os primeiros, introduziremos os métodos shooting e de diferenças finitas. Para os últimos,
discutiremos diversas abordagens, incluindo os métodos polinomial e de potência. Finalmente, o capítulo termina com uma descrição da aplicação de diversos pacotes e
bibliotecas de software para a solução de EDOs e autovalores.
586
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
O Capítulo 28 é dedicado a aplicações de todos os campos da engenharia. Finalmente, é incluída uma pequena seção de revisão no final da Parte Sete. Esse epílogo resume e compara fórmulas importantes e conceitos relacionados com as EDOs. A comparação inclui uma discussão dos prós e contras que são relevantes para sua
implementação na prática da engenharia. O epílogo também resume fórmulas importantes e inclui referências para tópicos avançados.
PT7.3.2 Metas e Objetivos
Objetivos de Estudo. Depois de completar a Parte Sete, o estudante deve ter aumentado
imensamente sua capacidade de confrontar e resolver equações diferenciais ordinárias e
problemas de autovalores. Metas gerais de estudo deveriam incluir o domínio das técnicas,
bem como a capacidade de avaliar a confiabilidade das respostas e ser capaz de escolher o
“melhor” método (ou métodos) para qualquer problema em particular. Além desses objetivos gerais, os objetivos de estudo específicos na Tabela PT7.2 deveriam ser dominados.
Objetivos Computacionais. São fornecidos algoritmos para muitos dos métodos na
Parte Sete. Essa informação lhe permitirá expandir sua biblioteca de software. Por exemplo, você pode achar útil, do ponto de vista profissional, ter um software que use o
método de Runge-Kutta de quarta ordem para mais que cinco equações e resolver EDOs
com uma abordagem adaptativa do tamanho do passo.
Além disso, uma das metas mais importantes deveria ser dominar os diversos pacotes de software de propósito geral que estão amplamente disponíveis. Em particular,
você deveria aderir ao uso dessas ferramentas para implementar métodos numéricos para
a resolução de problemas de engenharia.
TABELA PT7.2 Objetivos de estudo específicos para a Parte Sete.
1. Entender a representação visual dos métodos de Euler, Heun e do ponto médio.
2. Saber a relação do método de Euler com a expansão em série de Taylor e a percepção do que isso
fornece em relação ao erro do método.
3. Compreender a diferença entre os erros de truncamento local e global e como eles se relacionam com
o método numérico para um problema particular.
4. Saber a dependência com a ordem e o tamanho do passo com os erros de truncamento globais para
todos os métodos descritos na Parte Sete; entender como esses erros agem na acurácia das técnicas.
5. Entender as bases dos métodos preditor-corretor; em particular, perceber que a eficiência do corretor
depende altamente da acurácia do preditor.
6. Saber a forma geral dos métodos de Runge-Kutta; entender a dedução do método RK de segunda
ordem e como ele se relaciona com a expansão em série de Taylor; perceber que existe um número infinito de versões possíveis para os métodos RK de segunda ordem e de ordem superior.
7. Saber como aplicar qualquer dos métodos RK aos sistemas de equações; ser capaz de reduzir uma
EDO de ordem n a um sistema de n EDOs de primeira ordem.
8 Reconhecer o tipo de contexto do problema no qual o ajuste do tamanho do passo é importante.
9. Entender como o controle adaptativo do tamanho do passo é integrado ao método RK de quarta
ordem.
10. Perceber como a combinação das componentes lenta e rápida torna a equação ou um sistema de
equações rígidos.
11. Entender a distinção entre esquemas de soluções explícitas e implícitas para EDOs; em particular, perceber como os últimos (1) amenizam o problema da rigidez e (2) complicam a mecânica da solução.
12. Compreender a diferença entre problemas de valor inicial e problemas de contorno.
13. Saber a diferença entre métodos de passo múltiplo e de passo único; perceber que todos os métodos
de passo múltiplo são preditor-corretor, mas que nem todos os métodos preditor-corretor são de passo
múltiplo.
14. Entender a ligação entre fórmulas de integração e métodos preditor-corretor.
15 Reconhecer a diferença fundamental entre as fórmulas de integração de Newton-Cotes e Adams.
16. Saber o raciocínio por trás dos métodos polinomiais e de potência para determinar autovalores; em particular, perceber seus pontos fortes e suas limitações.
17. Entender como a deflação de Hoteller permite que o método de potência seja usado para calcular
autovalores intermediários.
18. Saber como usar pacotes e/ou bibliotecas de software para integrar EDOs e calcular autovalores.
CAPÍTULO
25
Métodos de Runge-Kutta
Este capítulo é dedicado à solução de equações diferenciais ordinárias da forma
dy
= f(x, y)
dx
No Capítulo 1, usamos um método numérico para resolver uma equação desse tipo para a
velocidade do pára-quedista em queda livre. Lembre-se de que o método tinha a forma geral
Valor novo ⫽ valor antigo ⫹ inclinação ⫻ tamanho do passo
ou, em termos matemáticos,
(25.1)
yi+1 = yi + φh
De acordo com essa equação, a estimativa da inclinação φ é usada para extrapolar de um
valor antigo yi para um valor novo yi+1 em uma distância h (Figura 25.1). Essa fórmula
pode ser aplicada passo a passo para cálculos no futuro e, portanto, para percorrer a trajetória da solução.
Todos os métodos de passo único podem ser expressos nessa forma geral, sendo
que a única diferença é a maneira como é feita a estimativa da inclinação. Como no
problema do pára-quedista em queda livre, a abordagem mais simples é usar a equação
diferencial para obter uma estimativa da inclinação na forma da primeira derivada em
xi. Em outras palavras, a inclinação no início do intervalo é tomada como uma aproximação da inclinação média em todo o intervalo. Essa abordagem, chamada de
método de Euler, é discutida na primeira parte deste capítulo. O assunto é seguido por
outros métodos de passo único que usam estimativas alternativas da inclinação que resultam em previsões mais acuradas. Todas essas técnicas são chamadas, em geral, de
métodos de Runge-Kutta.
FIGURA 25.1
Descrição gráfica de um
método de um passo.
y
yi + 1 = yi + h
Inclinação =
xi
xi + 1
x
Tamanho do passo = h
587
MÉTODOS DE RUNGE-KUTTA
588
y
Previsto
erro
Verdadeiro
h
xi
xi + 1
x
FIGURA 25.2
Método de Euler.
25.1
MÉTODO DE EULER
A primeira derivada fornece uma estimativa direta da inclinação em xi (Figura 25.2):
φ = f(xi , yi )
em que f(xi, yi) é a equação diferencial calculada em xi e yi. Essa estimativa pode ser substituída na Equação (25.1):
yi+1 = yi + f(xi , yi )h
(25.2)
Essa fórmula é conhecida como método de Euler (ou Euler-Cauchy ou pontoinclinação). Um novo valor de y é previsto usando a inclinação (igual à primeira
derivada no valor original de x) para extrapolar linearmente sobre um tamanho de passo
h (Figura 25.2).
EXEMPLO 25.1
Método de Euler
Enunciado do Problema. Use o método de Euler para integrar numericamente a
Equação (PT7.13):
dy
= −2x 3 + 12x 2 − 20x + 8,5
dx
de x = 0 a x = 4 com um tamanho de passo de 0,5. A condição inicial em x = 0 é y = 1.
Lembre-se de que a solução exata é dada pela Equação (PT7.16):
y = −0,5x 4 + 4x 3 − 10x 2 + 8,5x + 1
Solução. A Equação (25.2) pode ser usada para implementar o método de Euler:
y(0,5) = y(0) + f(0, 1)0,5
em que y(0) = 1 e a estimativa da inclinação em x = 0 é
f(0, 1) = −2(0)3 + 12(0)2 − 20(0) + 8,5 = 8,5
Portanto,
y(0,5) = 1,0 + 8,5(0,5) = 5,25
A solução verdadeira em x = 0,5 é
y = −0,5(0,5)4 + 4(0,5)3 − 10(0,5)2 + 8,5(0,5) + 1 = 3,21875
25.1 MÉTODO DE EULER
589
Logo, o erro é
E t = verdadeiro − aproximado = 3,21875 − 5,25 = −2,03125
ou, expresso como um erro relativo porcentual, εt = −63,1%. Para o segundo passo,
y(1) = y(0,5) + f(0,5, 5,25)0,5
= 5,25 + [−2(0,5)3 + 12(0,5)2 − 20(0,5) + 8,5]0,5
= 5,875
A solução verdadeira em x = 1,0 é 3,0 e, portanto, o erro relativo porcentual é ⫺95,8%.
O cálculo é repetido e os resultados estão resumidos na Tabela 25.1 e na Figura 25.3. Observe que, embora os cálculos capturem a tendência geral da solução verdadeira, o erro é
considerável. Como discutido na próxima seção, esse erro pode ser reduzido pelo uso de
um tamanho de passo menor.
TABELA 25.1 Comparação dos valores verdadeiro e aproximado da integral de
y ′ = −2x3 + 12x2 − 20x + 8,5, com a condição inicial de que y = 1
em x = 0. Os valores aproximados foram calculados usando o método
de Euler com um tamanho de passo 0,5. O erro local refere-se ao erro
provocado por um único passo. É calculado com a expansão em série
de Taylor como no Exemplo 25.2. O erro global é a discrepância global
por causa dos passos passados, bem como do passo atual.
Erro Porcentual Relativo
x
y verdadeiro
y Euler
0,0
0,5
1,0
1,5
2,0
2,5
3,0
3,5
4,0
1,00000
3,21875
3,00000
2,21875
2,00000
2,71875
4,00000
4,71875
3,00000
1,00000
5,25000
5,87500
5,12500
4,50000
4,75000
5,87500
7,12500
7,00000
Global
Local
−63,1
−95,8
131,0
−125,0
−74,7
46,9
−51,0
−133,3
−63,1
−28,0
−1,41
20,5
17,3
4,0
−11,3
−53,0
y
h = 0,5
4
Solução verdadeira
0
0
2
4
x
FIGURA 25.3
Comparação da solução verdadeira com a solução numérica usando o método de Euler para
a integral de y ⬘ ⫽ ⫺2x 3 ⫹ 12x2 ⫺ 20x ⫹ 8,5 de x ⫽ 0 a x ⫽ 4 com um tamanho de passo
de 0,5. A condição inicial em x ⫽ 0 é y ⫽ 1.
590
MÉTODOS DE RUNGE-KUTTA
O exemplo anterior usa um polinômio simples para a equação diferencial para facilitar a análise de erro a seguir. Logo,
dy
= f(x)
dx
Obviamente, um caso mais geral (e mais comum) envolveria EDOs que dependam de x e y,
dy
= f(x, y)
dx
Conforme progredirmos por esta parte do texto, nossos exemplos vão envolver cada vez
mais EDOs que dependem tanto das variáveis dependentes quanto das independentes.
25.1.1 Análise de Erro para o Método de Euler
A solução numérica de EDOs envolve dois tipos de erros (lembre-se dos Capítulos 3 e 4):
1.
2.
Erros de truncamento ou de discretização causados pela natureza das técnicas usadas
para aproximar os valores de y.
Erros de arredondamento causados pelo número limitado de algarismos significativos que podem ser representados por um computador.
Os erros de truncamento são compostos de duas partes. A primeira é o erro de truncamento local, que resulta da aplicação do método em questão em um único passo. A
segunda é o erro de truncamento propagado, que resulta das aproximações produzidas
durante os passos anteriores. A soma dos dois é o erro de truncamento global ou total.
Uma visão do valor absoluto e das propriedades do erro de truncamento pode ser
obtida deduzindo-se o método de Euler diretamente da expansão em série de Taylor. Para
fazê-lo, lembre-se de que a equação a ser integrada terá a forma geral
y ′ = f(x, y)
(25.3)
em que y ′ = dyⲐdx e x e y são as variáveis independente e dependente, respectivamente.
Se a solução — isto é, a função descrevendo o comportamento de y — tiver derivadas
contínuas, pode ser representada por uma expansão em série de Taylor em torno de um
valor inicial (xi, yi), como em [lembre-se da Equação (4.7)]
yi+1 = yi + yi′ h +
yi′′ 2
y (n)
h + · · · + i h n + Rn
2!
n!
(25.4)
em que h = xi+1 − xi e Rn é o resto, dado por
Rn =
y (n+1) (ξ ) n+1
h
(n + 1)!
(25.5)
em que ξ está em algum ponto do intervalo entre xi e xi+1. Uma forma alternativa pode ser
desenvolvida substituindo-se a Equação (25.3) nas Equações (25.4) e (25.5) para obter
yi+1 = yi + f(xi , yi )h +
f ′(xi , yi ) 2
f (n−1) (xi , yi ) n
h + ··· +
h + O(h n+1 )
2!
n!
(25.6)
em que O(h n+1) especifica que o erro de truncamento local é proporcional ao tamanho do
passo elevado à (n + 1)-ésima potência.
Comparando as equações (25.2) e (25.6), pode ser visto que o método de Euler corresponde à série de Taylor até e incluindo o termo f (xi, yi)h. Adicionalmente, a comparação indica que ocorre um erro de truncamento porque aproximamos a solução verdadeira
usando um número finito de termos da série de Taylor. Então, truncamos ou deixamos de
fora uma parte da solução verdadeira. Por exemplo, o erro de truncamento no método de
Euler é atribuído aos termos restantes na série de Taylor que não foram incluídos na
Equação (25.2). Subtraindo a Equação (25.2) da Equação (25.6), obtemos
f ′(xi , yi ) 2
Et =
h + · · · + O(h n+1 )
(25.7)
2!
em que Et é o erro de truncamento local verdadeiro. Para h suficientemente pequeno, os
erros nos termos da Equação (25.7) em geral diminuem conforme a ordem aumenta (lembre-se do Exemplo 4.2 e da discussão que o acompanhava) e o resultado freqüentemente
25.1 MÉTODO DE EULER
591
é representado por
Ea =
f ′(xi , yi ) 2
h
2!
(25.8)
ou
E a = O(h 2 )
(25.9)
em que Ea é o erro de truncamento local aproximado.
EXEMPLO 25.2
Estimativa por Série de Taylor para o Erro do Método de Euler
Enunciado do Problema. Use a Equação (25.7) para obter uma estimativa do erro do
primeiro passo do Exemplo 25.1. Use-a também para determinar o erro devido a cada
termo de ordem mais alta da expansão em série de Taylor.
Solução. Como estamos lidando com um polinômio, podemos usar a série de Taylor
para obter estimativas exatas dos erros no método de Euler. A Equação (25.7) pode ser escrita como
Et =
f ′(xi , yi ) 2
f ′′(xi , yi ) 3
f (3) (xi , yi ) 4
h +
h +
h
2!
3!
4!
(E25.2.1)
em que f ′(xi, yi) é a primeira derivada da equação diferencial (isto é, a segunda derivada
da solução). Para o caso presente, isso é
f ′(xi , yi ) = −6x 2 + 24x − 20
(E25.2.2)
e f ′′(xi, yi) é a segunda derivada da EDO
f ′′(xi , yi ) = −12x + 24
ef
(E25.2.3)
(3)
(xi, yi) é a terceira derivada da EDO
f (3) (xi , yi ) = −12
(E25.2.4)
Podemos omitir os termos adicionais (isto é, derivadas de quarta ordem ou de ordem superior) da Equação (E25.2.1) porque, nesse caso particular, eles são iguais a zero. Deve
ser observado que para outras funções (por exemplo, funções transcendentais tais como
funções senoidais ou exponenciais) isso não seria necessariamente verdade e os termos de
ordem mais alta teriam valores não-nulos. Entretanto, no caso presente, as Equações
(E25.2.1) a (E25.2.4) definem completamente o erro de truncamento para uma única aplicação do método de Euler.
Por exemplo, o erro devido ao truncamento do termo de segunda ordem pode ser calculado como
E t,2 =
−6(0,0)2 + 24(0,0) − 20
(0,5)2 = −2,5
2
(E25.2.5)
Para o termo de terceira ordem:
E t,3 =
−12(0,0) + 24
(0,5)3 = 0,5
6
e para o termo de quarta ordem:
E t,4 =
−12
(0,5)4 = −0,03125
24
Esses três resultados podem ser somados para fornecer o erro de truncamento total:
E t = E t,2 + E t,3 + E t,4 = −2,5 + 0,5 − 0,03125 = −2,03125
que é exatamente o erro que foi introduzido no passo inicial do Exemplo 25.1. Observe
como E t,2 > E t,3 > E t,4 , o que confirma a aproximação representada pela Equação (25.8).
MÉTODOS DE RUNGE-KUTTA
592
Como ilustrado no Exemplo 25.2, a série de Taylor fornece um meio de quantificar o erro no método de Euler. Mas existem limitações associadas com seu uso para
esse propósito:
1.
2.
A série de Taylor fornece apenas uma estimativa do erro de truncamento local — isto
é, o erro criado durante um único passo do método. Não fornece uma medida do erro
de truncamento propagado, e, portanto, global. Na Tabela 25.1, incluímos os erros de
truncamento local e global para o Exemplo 25.1. O erro local foi calculado para cada
passo no tempo com a Equação (25.2), mas usando o valor verdadeiro de yi (a segunda coluna da tabela) para calcular yi⫹1 em vez do valor aproximado (a terceira
coluna), como é feito no método de Euler. Como esperado, a média do valor absoluto do erro de truncamento local (25%) é menor do que a média do erro global
(90%). A única razão pela qual pudemos fazer esses cálculos exatos de erros é que
sabemos o valor verdadeiro a priori. Esse não seria o caso em um problema real.
Portanto, como discutido a seguir, em geral devemos aplicar técnicas como o
método de Euler usando tamanhos de passo diferentes para obter uma estimativa indireta dos erros envolvidos.
Como mencionado, em problemas reais usualmente lidamos com funções mais
complicadas do que simples polinômios. Por isso, as derivadas que são necessárias para calcular a expansão em série de Taylor nem sempre seriam fáceis
de obter.
Embora essas limitações impeçam a análise de erro exata na maioria dos problemas
práticos, a série de Taylor ainda fornece uma percepção valiosa do comportamento do
método de Euler. De acordo com a Equação (25.9), vemos que o erro local é proporcional
ao quadrado do tamanho do passo e à primeira derivada da equação diferencial. Pode ser
mostrado também que o erro de truncamento global é O(h), ou seja, proporcional ao
tamanho do passo (Carnahan et al., 1969). Essas observações levam a algumas conclusões úteis:
1.
2.
O erro pode ser reduzido diminuindo-se o tamanho do passo.
O método fornecerá previsões livres de erros se a função subjacente (isto é, a solução da equação diferencial) for linear, porque, para uma reta, a segunda derivada
seria nula.
A última conclusão faz sentido do ponto de vista intuitivo porque o método de Euler usa
segmentos de reta para aproximar a solução. Portanto, o método de Euler é conhecido
como um método de primeira ordem.
Deve ser observado também que esse padrão geral é válido para os métodos de passo
único de ordem superior descritos nas páginas seguintes. Isto é, um método de ordem n
fornecerá um resultado perfeito se a solução subjacente for um polinômio de grau n. Além
disso, o erro de truncamento local será O(hn+1), e o erro global, O(hn).
EXEMPLO 25.3
Efeito da Redução do Tamanho do Passo no Método de Euler
Enunciado do Problema. Repita os cálculos do Exemplo 25.1, mas use um tamanho de
passo de 0,25.
Solução. O cálculo é repetido e os resultados estão compilados na Figura 25.4a. A divisão do tamanho do passo por dois reduz o valor absoluto do erro médio global para
40% e o valor absoluto do erro local para 6,4%. Isso é comparado com os erros global
e local do Exemplo 25.1, de 90% e 24,8%, respectivamente. Assim, como esperado, o
erro local é dividido por quatro e o erro global, por dois.
Observe também como o erro local muda de sinal para valores intermediários ao
longo do intervalo. Isso decorre principalmente do fato de que a primeira derivada da
equação diferencial é uma parábola que muda de sinal [lembre-se da Equação (E25.2.2)
e veja a Figura 25.4b]. Como o erro local é proporcional a essa função, o efeito resultante da oscilação do sinal é impedir que o erro global continue crescendo conforme os
25.1 MÉTODO DE EULER
593
y
h = 0,5
h = 0,25
4
Solução verdadeira
0
0
2
4
x
4
x
(a)
y
0
2
Estimado
Verdadeiro
– 0,5
(b)
FIGURA 25.4
(a) Comparação de duas soluções numéricas com o método de Euler usando tamanhos de
passo de 0,5 e 0,25. (b) Comparação do erro de truncamento local verdadeiro e estimado
para o caso no qual o tamanho do passo é 0,5. Observe que o erro ”estimado” é baseado
na Equação (E25.2.5).
cálculos continuam. Logo, de x = 0 a x = 1,25, os erros locais são todos negativos e,
conseqüentemente, o erro global aumenta nesse intervalo. Na seção intermediária do intervalo, erros locais positivos começam a reduzir o erro global. Perto da extremidade, o
processo é revertido e o erro global aumenta de novo. Se o erro local mudar continuamente de sinal no intervalo de cálculo, o efeito resultante será usualmente reduzir o erro
global. Entretanto, se os erros locais forem do mesmo sinal, a solução numérica pode divergir para cada vez mais longe da solução verdadeira conforme os cálculos continuam.
Tais resultados são ditos instáveis.
O efeito de mais reduções no tamanho do passo no erro de truncamento global do
método de Euler é ilustrado na Figura 25.5. Esse gráfico mostra o valor absoluto do erro
relativo porcentual em x = 5 como uma função do tamanho do passo para o problema que
examinamos nos Exemplos 25.1.a 25.3. Observe que mesmo quando h é reduzido para
0,001, o erro ainda excede 0,1%. Como esse tamanho de passo corresponde a 5.000 passos para ir de x = 0 a x = 5, o gráfico sugere que uma técnica de primeira ordem como o
método de Euler demanda um grande esforço computacional para obter níveis de erro
aceitáveis. Mais tarde neste capítulo, apresentaremos técnicas de ordem superior que alcançam uma acurácia muito melhor para o mesmo esforço computacional. Contudo, deve
ser observado que, apesar de sua ineficiência, a simplicidade do método de Euler torna-o
uma opção extremamente atrativa para muitos problemas de engenharia. Como ele é
muito fácil de programar, a técnica é particularmente útil para análises rápidas. Na próxima seção, será desenvolvido um algoritmo computacional para o método de Euler.
MÉTODOS DE RUNGE-KUTTA
100
Erro relativo porcentual absoluto
594
5
50
Passos
500
5.000
10
1
0,1
1
0,01
0,1
Tamanho do passo
0,001
FIGURA 25.5
Efeito do tamanho do passo no erro de truncamento global do método de Euler para a
integral de y ⬘ ⫽ ⫺2x3 ⫹ 12x2 ⫺ 20x ⫹ 8,5. O gráfico mostra o valor absoluto do erro
global relativo porcentual em x ⫽ 5 como uma função do tamanho do passo.
25.1.2 Algoritmo para o Método de Euler
Os algoritmos para métodos de passo único são extremamente simples de programar. Como
especificado no início deste capítulo, todos os métodos de passo único têm a forma geral
Novo valor ⫽ valor antigo ⫹ inclinação ⫻ tamanho do passo
(25.10)
A única maneira pela qual os métodos diferem é no cálculo da inclinação.
Suponha que você queira fazer os cálculos simples descritos na Tabela 25.1. Ou seja,
você gostaria de usar o método de Euler para integrar y ′ = −2x 3 + 12x 2 − 20x + 8,5
com a condição inicial que y = 1 em x = 0. Você gostaria de integrar até x = 4, usando
um tamanho de passo 0,5 e mostrando todos os resultados. Um pseudocódigo simples
para completar essa tarefa poderia ser escrito como na Figura 25.6.
FIGURA 25.6
Pseudocódigo para uma versão “simplória” do método de Euler.
‘defina o inervalo de integração
xi ⫽ 0
xf ⫽ 4
‘inicialize as variáveis
x ⫽ xi
y ⫽1
‘defina o tamanho do passo e o
‘número de passos do cálculo
dx ⫽ 0.5
nc ⫽ (xf ⫺ xi)/dx
‘imprima as condições iniciais
PRINT x, y
‘laço para implementar o método de Euler
‘e mostrar os resultados
DOFOR i ⫽ 1, nc
dydx ⫽ ⫺2x3 ⫹12x2 ⫺ 20x ⫹ 8.5
y ⫽ y ⫹ dydx ⭈ dx
x ⫽ x ⫹ dx
PRINT x, y
END DO
25.1 MÉTODO DE EULER
595
Embora esse programa consiga duplicar os resultados da Tabela 25.1, ele não é
muito bem projetado. Primeiro, e principalmente, não é muito modular. Ainda que isso
não seja muito importante para um programa tão pequeno, seria crítico se quiséssemos
modificar e melhorar esse algoritmo.
Além disso, existem diversas questões relacionadas à maneira como implementamos
as iterações. Por exemplo, suponha que o tamanho do passo deva ser muito pequeno para
obter melhor acurácia. Em tais casos, como todo valor calculado é mostrado, o número de
valores de saída poderia ser muito grande. Além disso, o algoritmo pressupõe que o intervalo de cálculo é divisível pelo tamanho do passo. Finalmente, a distribuição de x na
reta x = x + dx pode estar sujeito a erros de quantificação do tipo discutido anteriormente
na Seção 3.4.1. Por exemplo, se dx for mudado para 0,01 e a representação IEEE padrão
em ponto flutuante fosse usada (cerca de sete algarismos significativos), o resultado no
final dos cálculos seria 3,999997 em vez de 4. Para dx = 0,001, seria 3,999892!
Um algoritmo muito mais modular que evita essas dificuldades está mostrado na
Figura 25.7. O algoritmo não mostra todos os valores calculados. Em vez disso, o usuário
especifica um intervalo de saída, xout, que determina o intervalo no qual os resultados
calculados estão armazenados em vetores, xpm e ypm. Esses valores são armazenados em
vetores de modo que possam ser exibidos de diversas formas depois que o cálculo for
completado (por exemplo, impresso, ou em um gráfico ou copiado em um arquivo).
O Programa Principal faz passos de saída maiores e chama uma rotina Integrator que
faz passos de cálculo menores. Observe que os laços que controlam os passos grandes e
pequenos param por condições lógicas. Logo, os intervalos não têm de ser exatamente divisíveis pelos tamanhos de passo.
A rotina Integrator então chama uma rotina de Euler que executa um único passo do
método de Euler. A rotina Euler chama uma rotina Derivative que calcula o valor da derivada.
Tal modulação pode parecer um exagero no caso presente, mas facilitará muito a
modificação do programa nas seções posteriores. Por exemplo, embora o programa na
Figura 25.7 tenha sido projetado especificamente para implementar o método de Euler, o
módulo de Euler é a única parte que é específica do método. Logo, tudo que é necessário
para aplicar esse algoritmo aos outros métodos de passo único é modificar essa rotina.
FIGURA 25.7
Pseudocódigo para uma versão modular “melhorada” do método de Euler.
(a) Programa Principal
(b) Rotina para Fazer um Passo de Saída
Designe valores para
y ⫽ valor inicial da variável dependente
xi ⫽ valor inicial da variável
independente
xf ⫽ valor final da variável
independente
dx ⫽ tamanho do passo de cálculo
xout ⫽ intervalo de saída
SUB Integrator (x, y, h, xend)
DO
IF (xend ⫺ x ⬍ h) THEN h ⫽ xend ⫺ x
CALL Euler (x, y, h, ynew)
y ⫽ ynew
IF (x ⱖ xend) EXIT
END DO
END SUB
x ⫽ xi
m ⫽0
xpm ⫽ x
ypm ⫽ y
DO
xend ⫽ x ⫹ xout
IF (xend ⬎ xf) THEN xend ⫽ xf
h ⫽ dx
CALL Integrator (x, y, h, xend)
m ⫽m ⫹1
xpm ⫽ x
ypm ⫽ y
IF (x ⱖ xf) EXIT
END DO
DISPLAY RESULTS
END
(c) Método de Euler para uma Única EDO
SUB Euler (x, y, h, ynew)
CALL Derivs(x, y, dydx)
ynew ⫽ y ⫹ dydx * h
x ⫽x ⫹h
END SUB
(d) Rotina para Determinar a Derivada
SUB Derivs (x, y, dydx)
dydx ⫽ ...
END SUB
MÉTODOS DE RUNGE-KUTTA
596
EXEMPLO 25.4
Resolvendo EDOs com o Computador
Enunciado do Problema. É possível desenvolver um programa de computador a partir
do pseudocódigo na Figura 25.7. Podemos usar esse software para resolver um outro problema associado ao pára-quedista em queda livre. Você se lembra, da Parte Um, de que
nosso modelo matemático para a velocidade era baseado na segunda lei de movimento de
Newton na forma
dv
c
=g− v
dt
m
(E25.4.1)
A equação diferencial era resolvida tanto analítica (Exemplo 1.1) quanto numericamente
usando o método de Euler (Exemplo 1.2). Essas soluções eram para o caso em que
g = 9,8, c = 12,5, m = 68,1, e v = 0 em t = 0.
O objetivo do exemplo presente é repetir esses cálculos numéricos usando um modelo mais complicado para a velocidade baseado em uma descrição matemática mais
completa da força de arrasto causada pela resistência do ar. O modelo é dado por
dv
c
v b
=g−
v+a
(E25.4.2)
dt
m
vmax
em que g, m e c são os mesmos que para a Equação (E25.4.1) e a, b e v max são constantes
empíricas, as quais, para esse caso, são iguais a 8,3, 2,2 e 46, respectivamente. Observe
que esse modelo é capaz de ajustar de modo mais acurado medidas empíricas da forças de
arrasto em função da velocidade do que o modelo linear simples do Exemplo 1.1. No entanto, esse aumento da flexibilidade é ganho à custa do cálculo de três coeficientes em vez
de um. Além disso, o modelo matemático resultante é mais difícil de se resolver analiticamente. Nesse caso, o método de Euler fornece uma alternativa conveniente para obter
uma solução numérica aproximada.
FIGURA 25.8
Resultado gráfico da solução da EDO não-linear [Equação (E25.4.2)]. Observe que o
gráfico também mostra a solução do modelo linear [Equação (E25.4.1)] para comparação.
y
60
Linear
40
Não-linear
20
0
0
5
10
15 t
Solução. Os resultados para os modelos linear e não-linear estão mostrados na Figura 25.8,
com um tamanho de passo de integração de 0,1 s. O gráfico na Figura 25.8 também mostra
uma superposição da solução do modelo linear com o propósito de comparação.
Os resultados das duas simulações indicam como o aumento na complexidade da
formulação do coeficiente de arrasto afeta a velocidade do pára-quedista. Nesse caso, a
velocidade terminal diminui por causa da resistência causada pelos termos de ordem
superior na Equação (E25.4.2).
25.2 MELHORIAS NO MÉTODO DE EULER
597
Modelos alternativos poderiam ser testados de maneira parecida. A combinação de
uma solução gerada por computador faz que isso seja uma tarefa fácil e eficiente. Tal conveniência permite que você dedique mais tempo à consideração de alternativas criativas
e aspectos holísticos do problema do que a cálculos manuais tediosos.
25.1.3 Métodos por Séries de Taylor de Ordem Superior
Uma forma de reduzir o erro no método de Euler é incluir termos de ordem superior da
expansão em série de Taylor na solução. Por exemplo, incluindo o termo de segunda
ordem da Equação (25.6), obteríamos
yi+1 = yi + f(xi , yi )h +
f ′(xi , yi ) 2
h
2!
(25.11)
com um erro de truncamento local de
Ea =
f ′′(xi , yi ) 3
h
6
Embora a incorporação de termos de ordem superior seja suficientemente simples de
implementar para polinômios, sua inclusão não é tão trivial quando a EDO é mais complicada. Em particular, EDOs que são uma função tanto da variável dependente quanto da
independente exigem a derivação pela regra da cadeia. Por exemplo, a primeira derivada
de f (x, y) é
f ′(xi , yi ) =
∂ f(x, y) ∂ f(x, y) dy
+
∂x
∂ y dx
A segunda derivada é
f ′′(xi , yi ) =
∂[∂ f /∂ x + (∂ f /∂y)(dy/dx)] ∂[∂ f /∂ x + (∂ f /∂y)(dy/dx)] dy
+
∂x
∂y
dx
As derivadas de ordem superior se tornam cada vez mais complicadas.
Conseqüentemente, como descrito nas próximas seções, foram desenvolvidos métodos de passo único alternativos. Esses esquemas são comparáveis quanto ao desempenho
às abordagens por séries de Taylor de ordem superior, mas exigem apenas o cálculo de derivadas de primeira ordem.
25.2
MELHORIAS NO MÉTODO DE EULER
Uma fonte fundamental de erro no método de Euler é que supomos que a derivada no início do intervalo pode ser usada no intervalo todo. Estão disponíveis duas modificações
simples para contornar essas deficiências. Como será demonstrado na Seção 25.3, ambas
as modificações na verdade pertencem a uma classe maior de técnicas de solução
chamadas métodos de Runge-Kutta. Entretanto, como elas têm uma interpretação gráfica muito simples, nós as apresentaremos antes de sua dedução formal como métodos
de Runge-Kutta.
25.2.1 Método de Heun
Um método de melhorar a estimativa da inclinação envolve a determinação de duas derivadas para o intervalo — uma no ponto inicial e outra no ponto final. Então, é feita a
média das duas derivadas para obter uma estimativa melhorada da inclinação no intervalo todo. Essa abordagem, chamada de método de Heun, é descrita graficamente na
Figura 25.9.
Lembre-se de que, no método de Euler, a inclinação no início de um intervalo
yi′ = f(xi , yi )
(25.12)
598
MÉTODOS DE RUNGE-KUTTA
y
Inclinação = f (xi + 1, y 0i + 1)
Inclinação =
f (xi, yi)
xi
x
xi + 1
(a)
y
Inclinação =
f (xi, yi) + f (xi + 1, y0i + 1)
2
xi
x
xi + 1
(b)
FIGURA 25.9
Descrição gráfica do método de Heun. (a) Preditor e (b) corretor.
é usada para extrapolar linearmente para yi+1 :
0
yi+1
= yi + f(xi , yi )h
(25.13)
No método de Euler padrão, pararíamos nesse ponto. No entanto, no método de Heun, o
0
yi+1
calculado na Equação (25.13) não é a resposta final, mas uma previsão intermediária.
É por isso que o distinguimos com o sobrescrito 0. A Equação (25.13) é chamada equação
preditora. Ela fornece uma estimativa de yi+1 que permite o cálculo de uma estimativa da
inclinação na extremidade final do intervalo:
′
0
yi+1
= f xi+1 , yi+1
(25.14)
Assim, as duas inclinações [Equações (25.12) e (25.14)] podem ser combinadas para
obter uma inclinação média no intervalo:
0
′
f(xi , yi ) + f xi+1 , yi+1
yi′ + yi+1
′
ȳ =
=
2
2
Essa inclinação média é então usada para extrapolar linearmente de yi a yi+l usando o
método de Euler:
0
f(xi , yi ) + f xi+1 , yi+1
yi+1 = yi +
h
2
que é chamada de equação corretora.
O método de Heun é uma abordagem do tipo preditor-corretor. Todos os métodos de
passo múltiplo que serão discutidos no Capítulo 26 são desse tipo. O método de Heun é o
único método de passo único preditor-corretor discutido neste livro. Como deduzimos anteriormente, ele pode ser representado sucintamente como
Preditor (Fig. 25.9a):
Corretor (Fig. 25.9b):
0
yi+1
= yi + f(xi , yi )h
yi+1 = yi +
f (xi , yi ) + f
2
(25.15)
0
xi+1 , yi+1
h
(25.16)
25.2 MELHORIAS NO MÉTODO DE EULER
yi + h
599
f (x ,
i
yi )
i+
+f
(
2 x
1
yi +
0 1)
, y i+
1
FIGURA 25.10
Representação gráfica da iteração do corretor do método de Heun para obter uma estimativa
melhorada.
Observe que, como a Equação (25.16) tem yi+l em ambos os lados do sinal de igual,
pode ser aplicada de uma forma iterativa. Isto é, uma estimativa antiga pode ser usada
repetidamente para fornecer uma estimativa melhorada de yi+l. O processo é descrito na
Figura 25.10. Deve ficar claro que esse processo iterativo não converge necessariamente
para a resposta verdadeira, mas convergirá para uma estimativa com um erro de truncamento finito, como ilustrado no próximo exemplo.
Como no caso dos métodos iterativos parecidos discutidos nas seções anteriores do
livro, um critério de parada para a convergência do corretor é fornecido por [lembre-se da
Equação (3.5)]
j
y − y j−1
i+1
i+1
|εa | =
(25.17)
100%
j
y
i+1
j−1
yi+1
j
yi+1
são os resultados da iteração anterior e da iteração presente do corree
em que
tor, respectivamente.
EXEMPLO 25.5
Método de Heun
Enunciado do Problema. Use o método de Heun para integrar y ′ = 4e0,8x − 0,5y de
x = 0 a x = 4 com tamanho do passo 1. A condição inicial em x = 0 é y = 2.
Solução. Antes de resolver o problema numericamente, podemos usar o cálculo para
determinar a seguinte solução analítica:
y=
4 0,8x
(e − e−0,5x ) + 2e−0,5x
1,3
(E25.5.1)
Essa fórmula pode ser usada para gerar os valores da solução verdadeira na Tabela 25.2.
Primeiro, a inclinação em (x0, y0) é calculada como
y0′ = 4e0 − 0,5(2) = 3
Esse resultado é bem diferente da inclinação média real no intervalo de 0 a 1,0, que é
igual a 4,1946, como calculada a partir da equação diferencial usando a Equação
(PT 6.4).
A solução numérica é obtida pelo uso do preditor [Equação (25.15)] para obter uma
estimativa de y em 1,0:
y10 = 2 + 3(1) = 5
600
MÉTODOS DE RUNGE-KUTTA
TABELA 25.2 Comparação dos valores verdadeiro e aproximado da integral de
y ′ = 4e0,8x − 0,5y, com a condição inicial de que y = 2 em x = 0.
Os valores aproximados foram calculados usando o método de Heun
com tamanho do passo 1. Dois casos, correspondentes a números
diferentes de iterações, são mostrados junto com o erro relativo
porcentual absoluto.
Iterações do Método de Heun
1
15
x
y verdadeiro
y Heun
|t | (%)
y Heun
0
1
2
3
4
2,0000000
6,1946314
14,8439219
33,6771718
75,3389626
2,0000000
6,7010819
16,3197819
37,1992489
83,3377674
0,00
8,18
9,94
10,46
10,62
2,0000000
6,3608655
15,3022367
34,7432761
77,7350962
|t| (%)
0,00
2,68
3,09
3,17
3,18
Observe que esse é o resultado que seria obtido pelo método de Euler padrão. O valor
verdadeiro na Tabela 25.2 mostra que ele corresponde a um erro relativo porcentual
de 19,3%.
Agora, para melhorar a estimativa para yi+1, usamos o valor y10 para prever a inclinação no final do intervalo
y1′ = f x1 , y10 = 4e0,8(1) − 0,5(5) = 6,402164
que pode ser combinado com a inclinação inicial para produzir uma inclinação média no
intervalo de x = 0 a 1
y′ =
3 + 6,402164
= 4,701082
2
que está mais próxima do valor verdadeiro 4,1946. Esse resultado pode então ser substituído no corretor [Equação (25.16)] para dar uma previsão em x = 1
y1 = 2 + 4,701082(1) = 6,701082
o que representa um erro relativo porcentual de ⫺8,18%. Logo, o método de Heun sem
iteração do corretor reduz o valor absoluto do erro por um fator 2,4 quando comparado ao
método de Euler.
Agora essa estimativa pode ser usada para refinar ou corrigir a previsão de y1 substituindo-se o novo resultado de volta no lado direito da Equação (25.16):
y1 = 2 +
3 + 4e0,8(1) − 0,5(6,701082)
1 = 6,275811
2
o que representa um erro relativo porcentual de 1,31%. Esse resultado, por sua vez, pode
ser substituído de volta na Equação (25.16) para posterior correção:
y1 = 2 +
3 + 4e0,8(1) − 0,5(6,275811)
1 = 6,382129
2
o que representa um |εt | de 3,03%. Observe como os erros às vezes crescem conforme a iteração continua. Tais aumentos podem ocorrer especialmente para tamanhos de passo
grandes e nos impedem de tirar a conclusão geral de que uma iteração adicional sempre irá
melhorar o resultado. Entretanto, para um tamanho de passo suficientemente pequeno, a iteração iria eventualmente convergir para um único valor. No nosso caso, 6,360865, o que
representa um erro relativo de 2,68%, obtido depois de 15 iterações. A Tabela 25.2 mostra
resultados para o restante dos cálculos usando o método com 1 e 15 iterações por passo.
25.2 MELHORIAS NO MÉTODO DE EULER
601
No exemplo anterior, a derivada é uma função tanto da variável dependente y quanto
da variável independente x. Para o caso de polinômios, nos quais a EDO é apenas uma
função da variável independente, o passo do preditor [Equação (25.16)] não é necessário
e o corretor é aplicado apenas uma vez para cada iteração. Em tais casos, a técnica é expressa concisamente como
yi+1 = yi +
f(xi ) + f(xi+1 )
h
2
(25.18)
Observe a semelhança entre o lado direito da Equação (25.18) e a regra do trapézio
[Equação (21.3)]. A ligação entre os dois métodos pode ser formalmente demonstrada
começando com a equação diferencial ordinária
dy
= f(x)
dx
Essa equação pode ser resolvida por integração:
yi+1
yi
xi+1
dy =
f(x) dx
(25.19)
xi
o que fornece
xi+1
yi+1 − yi =
f(x) dx
(25.20)
f(x) dx
(25.21)
xi
ou
xi+1
yi+1 = yi +
xi
Agora, lembre-se, do Capítulo 21, de que a regra do trapézio [Equação (21.3)] é definida por
xi+1
xi
f(xi ) + f(xi+1 )
f(x) dx ∼
h
=
2
(25.22)
em que h = xi+1 − xi . Substituindo a Equação (25.22) na Equação (25.21), obtemos
yi+1 = yi +
f(xi ) + f(xi+1 )
h
2
(25.23)
o que é equivalente à Equação (25.18).
Como a Equação (25.23) é uma expressão direta da regra do trapézio, o erro de truncamento local é dado por [lembre-se da Equação (21.6)]
Et = −
f ′′(ξ ) 3
h
12
(25.24)
em que ξ está entre xi e xi+l. Logo, o método é de segunda ordem porque a segunda derivada da EDO é zero quando a solução verdadeira é quadrática. Além disso, os erros
local e global são O(h3) e O(h2), respectivamente. Portanto, a diminuição do tamanho do
passo faz que o erro decresça a uma taxa mais rápida do que no caso do método de Euler.
A Figura 25.11, que mostra o resultado do uso do método de Heun para resolver o
polinômio do Exemplo 25.1, ilustra esse comportamento.
25.2.2 O Método do Ponto Médio (ou do Polígono Melhorado)
A Figura 25.12 ilustra uma outra modificação simples no método de Euler. Chamada de
método do ponto médio (ou do polígono melhorado ou de Euler modificado), essa técnica usa o método de Euler para prever um valor de y no ponto médio do intervalo
(Figura 25.12a):
yi+1/2 = yi + f(xi , yi )
h
2
(25.25)
602
MÉTODOS DE RUNGE-KUTTA
y
Método de Euler
5
Método de Heun
FIGURA 25.11
Comparação da solução
verdadeira com soluções
numéricas usando os
métodos de Euler e de Heun
para a integração de
y ⬘ ⫽ ⫺2x3 ⫹ 12x2 ⫺ 20x ⫹ 8,5.
Solução verdadeira
3
y
x
Inclinação = f(xi + 1/2, yi + 1/2)
xi
xi + 1/2
x
(a)
y
FIGURA 25.12
Descrição gráfica do método
do ponto médio. (a) Equação
(25.25) e (b) Equação (25.27).
Inclinação = f (xi + 1/2, yi + 1/2)
xi
xi + 1
x
(b)
Então, esse valor previsto é usado para calcular uma inclinação no ponto médio:
′
= f(xi+1/2 , yi+1/2 )
yi+1/2
(25.26)
a qual supomos representar uma aproximação válida da inclinação média para o intervalo todo. Essa inclinação é então usada para extrapolar linearmente de xi a xi+l
(Figura 25.12b):
yi+1 = yi + f(xi+1/2 , yi+1/2 )h
(25.27)
Observe que, como yi+l não aparece em ambos os lados, o corretor [Equação (25.27)] não
pode ser aplicado iterativamente para melhorar a solução.
25.2 MELHORIAS NO MÉTODO DE EULER
603
Como na seção anterior, essa abordagem também pode ser ligada às fórmulas de integração de Newton-Cotes. Lembre-se, da Tabela 21.4, de que a fórmula de integração
aberta de Newton-Cotes mais simples, a qual é chamada de método do ponto médio, pode
ser representada por
b
f(x) dx ∼
= (b − a) f(x1 )
a
em que x1 é o ponto médio do intervalo (a, b). Usando a nomenclatura do caso presente,
ela pode ser expressa como
xi+1
f(x) dx ∼
= h f(xi+1/2 )
xi
A substituição dessa fórmula na Equação (25.21) fornece a Equação (25.27). Logo, do
mesmo modo como o método de Heun pode ser chamado de regra do trapézio, o método
do ponto médio leva seu nome da fórmula de integração subjacente na qual é baseado.
O método do ponto médio é superior ao método de Euler porque utiliza uma estimativa da inclinação no ponto médio do intervalo de previsão. Lembre-se, de nossa discussão
de derivação numérica na Seção 4.1.3, de que diferenças divididas finitas centradas são
aproximações melhores das derivadas do que as versões tanto progressiva quanto regressiva. No mesmo sentido, uma aproximação centrada tal como a Equação (25.26) tem um
erro de truncamento local de O(h2) em comparação com a aproximação progressiva do
método de Euler, o qual tem um erro de O(h). Conseqüentemente, os erros local e global
do método do ponto médio são O(h3) e O(h2), respectivamente.
25.2.3 Algoritmos Computacionais para os Métodos de Heun
e do Ponto Médio
Tanto o método de Heun com um único corretor quanto o método do ponto médio podem
ser facilmente programados usando a estrutura geral descrita na Figura 25.7. Como nas
Figuras 25.13a e b, rotinas simples podem ser escritas para tomar o lugar da rotina de
Euler na Figura 25.7.
FIGURA 25.13
Pseudocódigo para implementar os métodos (a) de Heun, (b) do ponto médio e
(c) de Heun iterativo.
(a) Método de Heun Simples sem Corretor
(c) Método de Heun com Corretor
SUB Heun (x, y, h, ynew)
CALL Derivs (x, y, dy1dx)
ye ⫽ y ⫹ dy1dx ⭈ h
CALL Derivs(x ⫹ h, ye, dy2dx)
Slope ⫽ (dy1dx ⫹ dy2dx)兾2
ynew ⫽ y ⫹ Slope ⭈ h
x ⫽ x ⫹h
END SUB
SUB HeunIter (x, y, h, ynew)
es ⫽ 0.01
maxit ⫽ 20
CALL Derivs(x, y, dy1dx)
ye ⫽ y ⫹ dy1dx ⭈ h
iter ⫽ 0
DO
(b) Método do Ponto Médio
SUB Midpoint (x, y, h, ynew)
CALL Derivs(x, y, dydx)
ym ⫽ y ⫹ dydx ⭈ h兾2
CALL Derivs (x ⫹ h兾2, ym, dymdx)
ynew ⫽ y ⫹ dymdx ⭈ h
x ⫽x ⫹ h
END SUB
yeold ⫽ ye
CALL Derivs(x ⫹ h, ye, dy2dx)
slope ⫽ (dy1dx ⫹ dy2dx)兾2
ye ⫽ y ⫹ slope ⭈ h
iter ⫽ iter ⫹ 1
ea ⫽
冨
ye ⫺ yeold
ᎏᎏ
ye
冨 100%
IF (ea ⱕ es OR iter ⬎ maxit) EXIT
END DO
ynew ⫽ ye
x ⫽ x ⫹ h
END SUB
MÉTODOS DE RUNGE-KUTTA
604
Entretanto, quando a versão iterativa do método de Heun é implementada, as modificações são um pouco mais complicadas (embora elas ainda se localizem em um único
módulo). Desenvolvemos um pseudocódigo para esse propósito na Figura 25.13c. Esse
algoritmo pode ser combinado com a Figura 25.7 para desenvolver um software para o
método de Heun iterativo.
25.2.4 Resumo
Consertando o método de Euler, deduzimos duas novas técnicas de segunda ordem.
Mesmo que essas versões exijam mais esforço computacional para determinar a inclinação, a conseqüente redução no erro nos permitirá concluir em uma seção subseqüente
(Seção 25.3.4) que a melhora na acurácia em geral faz que o esforço valha a pena. Embora existam certos casos nos quais as técnicas de programação fáceis como o método de
Euler podem ser usadas com vantagem, os métodos de Heun e do ponto médio são
geralmente superiores e devem ser implementados se forem consistentes com os objetivos
do problema.
Como observado no início desta seção, o método de Heun (sem iterações), o método
do ponto médio e, na realidade, a própria técnica de Euler são versões de uma classe mais
ampla de abordagens de passo único, chamadas de métodos de Runge-Kutta. Agora nos
voltaremos para uma dedução formal dessas técnicas.
25.3
MÉTODOS DE RUNGE-KUTTA
Os métodos de Runge-Kutta (RK) alcançam a acurácia de uma abordagem por série de
Taylor sem exigir cálculos de derivadas de ordem superior. Há muitas variações, mas
todas podem ser postas na forma geral da Equação (25.1):
yi+1 = yi + φ(xi , yi , h)h
(25.28)
em que φ(xi, yi, h) é chamada função incremento, a qual pode ser interpretada como representativa da inclinação em um intervalo. A função incremento pode ser escrita na
forma geral
φ = a1 k 1 + a 2 k 2 + · · · + a n k n
(25.29)
em que os a’s são constantes e os k’s são
k1 =
k2 =
k3 =
.
.
.
kn =
f(xi , yi )
f(xi + p1 h, yi + q11 k1 h)
f(xi + p2 h, yi + q21 k1 h + q22 k2 h)
(25.29a)
f(xi + pn−1 h, yi + qn−1,1 k1 h + qn−1,2 k2 h + · · · + qn−1,n−1 kn−1 h)
(25.29d)
(25.29b)
(25.29c)
em que os p’s e os q’s são constantes. Observe que os k’s são relações de recorrência. Isto
é, k1 aparece na equação para k2, o qual aparece na equação para k3, e assim por diante.
Como cada k é um cálculo da função, essa recorrência torna os métodos RK eficientes
para cálculos computacionais.
Vários tipos de métodos de Runge-Kutta podem ser deduzidos usando-se um
número diferente de termos na função incremento, conforme especificado por n. Observe
que o método RK de primeira ordem com n = 1 é, na realidade, o método de Euler. Uma
vez que n seja escolhido, os valores para os a’s, os p’s e os q’s são calculados igualandose a Equação (25.28) a termos da expansão em série de Taylor (Quadro 25.1). Logo,
pelo menos para as versões de ordem mais baixa, o número de termos, n, usualmente
representa a ordem da abordagem. Por exemplo, na próxima seção, os métodos RK de
segunda ordem usam uma função incremento com dois termos (n = 2). Tais métodos
de segunda ordem serão exatos se a solução da equação diferencial for quadrática. Além
25.3 MÉTODOS DE RUNGE-KUTTA
605
disso, como os termos com h3 e com grau mais alto foram desprezados durante a dedução,
o erro de truncamento local é O(h3) e o erro global é O(h2). Nas seções subseqüentes, serão
desenvolvidos os métodos RK de terceira e quarta ordens (n = 3 e 4, respectivamente),
casos nos quais os erros de truncamento globais são O(h3) e O(h4), respectivamente.
25.3.1 Métodos de Runge-Kutta de Segunda Ordem
A versão de segunda ordem da Equação (25.28) é
(25.30)
yi+1 = yi + (a1 k1 + a2 k2 )h
em que
(25.30a)
k1 = f(xi , yi )
k2 = f(xi + p1 h, yi + q11 k1 h)
(25.30b)
Como descrito no Quadro 25.1, os valores al, a2, p1 e q11 são calculados igualando-se a Equação (25.30) à expansão em série de Taylor até os termos de 2o grau. Fazendo isso, deduzimos três equações para calcular as quatro constantes desconhecidas. As três equações são
a1 + a 2 = 1
1
a2 p1 =
2
1
a2 q11 =
2
Quadro 25.1
(25.31)
(25.32)
(25.33)
Dedução dos Métodos de Runge-Kutta de Segunda Ordem
A versão de segunda ordem da Equação (25.28) é
Aplicando esse método para expandir a Equação (Q25.1.3), obtemos
(Q25.1.1)
yi +1 = yi + (a1 k1 + a2 k2 )h
f(xi + p1 h, yi + q11 k1 h) = f(xi, yi ) + p1 h
em que
e
k2 = f(xi + p1 h, yi + q11 k1 h)
(Q25.1.3)
Para usar a Equação (Q25.1.1), temos de determinar valores
para as constantes a1, a2, p1 e q11. Para fazer isso, lembramos que
a série de Taylor de segundo grau para yi+1 em termos de yi e f(xi,
yi) é escrita como [Equação (25.11)]
yi +1 = yi + f(xi, yi )h +
+ q11 k1 h
(Q25.1.2)
k1 = f(xi, yi )
f ′(xi, yi ) 2
h
2!
(Q25.1.4)
′
em que f (xi, yi) deve ser determinada pela regra da cadeia (Seção
25.1.3):
∂ f(x, y) ∂ f(x, y) dy
+
f ′(xi, yi ) =
(Q25.1.5)
∂x
∂ y dx
Substituindo a Equação (Q25.1.5) na Equação (Q25.1.4), obtemos
∂f
∂ f dy h 2
yi +1 = yi + f(xi, yi )h +
+
(Q25.1.6)
∂x
∂ y dx 2!
A estratégia básica por trás dos métodos de Runge-Kutta é o uso de
manipulações algébricas para determinar os valores de a1, a2, p1 e
q11 que tornam as Equações (Q25.1.1) e (Q25.1.6) equivalentes.
Para fazer isso, primeiro usamos uma série de Taylor para expandir a Equação (Q25.1.3). A série de Taylor para uma função de
duas variáveis é definida por [lembre-se da Equação (4.26)]
g(x + r, y + s) = g(x, y) + r
∂g
∂g
+s
+ ···
∂x
∂y
∂f
∂x
∂f
+ O(h 2 )
∂y
Esse resultado pode ser substituído junto com a Equação
(Q25.1.2) na Equação (Q25.1.1) para fornecer
∂f
yi +1 = yi + a1 h f(xi, yi ) + a2 h f(xi, yi ) + a2 p1 h 2
∂x
∂
f
+ O(h 3 )
+ a2 q11 h 2 f(xi, yi )
∂y
ou, reagrupando os termos,
yi +1 = yi + [a1 f(xi , yi ) + a2 f(xi , yi )]h
+ a2 p1
∂f
∂f
h 2 + O(h 3 )
+ a2 q11 f(xi , yi )
∂x
∂y
(Q25.1.7)
Agora, comparando os termos semelhantes nas Equações (Q25.1.6)
e (Q25.1.7), determinamos que, para as duas equações serem equivalentes, deve valer o seguinte:
a1 + a2 = 1
1
a2 p1 =
2
1
a2 q11 =
2
Essas três equações simultâneas contêm as quatro constantes desconhecidas. Como há uma incógnita a mais do que o número de
equações, não existe um único conjunto de constantes que satisfaça
as equações. Entretanto, escolhendo um valor arbitrário para uma
dessas constantes, podemos determinar as outras três. Conseqüentemente, existe uma família de métodos de segunda ordem e não
uma única versão.
606
MÉTODOS DE RUNGE-KUTTA
Como temos três equações com quatro incógnitas, devemos escolher um valor para
uma das incógnitas para determinar as outras três. Suponha que especifiquemos um valor
para a2. Então, as Equações (25.31) a (25.33) podem ser resolvidas simultaneamente por
a1 = 1 − a2
p1 = q11 =
(25.34)
1
2a2
(25.35)
Como podemos escolher um número infinito de valores para a2, existe um número
infinito de métodos RK de segunda ordem. Cada versão forneceria exatamente o mesmo
resultado se a solução da EDO fosse quadrática, linear ou constante. Entretanto, elas
fornecem resultados diferentes quando (como é o caso típico) a solução é mais complicada. Apresentamos três das versões usadas mais freqüentemente e preferidas:
Método de Heun com um Único Corretor (a2 = 1/2). Se for suposto que a2 é 1/2, as
Equações (25.34) e (25.35) podem ser resolvidas por a1 = 1/2 e pl = q11 = 1. Esses
parâmetros, quando substituídos na Equação (25.30), fornecem
yi+1 = yi +
1
1
k1 + k2 h
2
2
(25.36)
em que
k1 = f(xi , yi )
k2 = f(xi + h, yi + k1 h)
(25.36a)
(25.36b)
Observe que k1 é a inclinação no início do intervalo e k2 é a inclinação no final do intervalo. Conseqüentemente, esse método de segunda ordem de Runge-Kutta é, na realidade,
a técnica de Heun sem iteração.
O Método do Ponto Médio (a2 = 1). Se for suposto que a2 é 1, então a1 = 0, p1 =
q11 = 1/2, e a Equação (25.30) se torna
yi+1 = yi + k2 h
(25.37)
em que
k1 = f(xi , yi )
1
1
k2 = f xi + h, yi + k1 h
2
2
(25.37a)
(25.37b)
Esse é o método do ponto médio.
Método de Ralston (a2 = 2/3). Ralston (1962) e Ralston e Rabinowitz (1978) determinaram que a escolha a2 = 2/3 fornece um limitante mínimo para o erro de truncamento
para os algoritmos RK de segunda ordem. Para essa versão, a1 = 1/3 e p1 = q11 = 3/4, e
obtém-se
2
1
yi+1 = yi +
k1 + k2 h
(25.38)
3
3
em que
k1 = f(xi , yi )
3
3
k2 = f xi + h, yi + k1 h
4
4
(25.38a)
(25.38b)
25.3 MÉTODOS DE RUNGE-KUTTA
EXEMPLO 25.6
607
Comparação de Diversos Esquemas RK de Segunda Ordem
Enunciado do Problema. Use o método do ponto médio [(Equação (25.37)] e o método
de Ralston [Equação (25.38)] para integrar numericamente a Equação (PT7.13)
f(x, y) = −2x 3 + 12x 2 − 20x + 8,5
de x = 0 a x = 4 usando um tamanho de passo de 0,5. A condição inicial em x = 0 é
y = 1. Compare os resultados com os valores obtidos usando um outro algoritmo RK de
segunda ordem, isto é, o método de Heun sem iteração do corretor (Tabela 25.3).
Solução. O primeiro passo no método do ponto médio é usar a Equação (25.37a) para
calcular
k1 = −2(0)3 + 12(0)2 − 20(0) + 8,5 = 8,5
Entretanto, como a EDO é uma função apenas de x, esse resultado não terá influência no
segundo passo — o uso da Equação (25.37b) para calcular
k2 = −2(0,25)3 + 12(0,25)2 − 20(0,25) + 8,5 = 4,21875
Observe que essa estimativa da inclinação está muito mais perto do valor médio no intervalo (4,4375) do que a inclinação no início do intervalo (8,5) que teria sido usada na abordagem de Euler. A inclinação no ponto médio pode ser substituída na Equação (25.37)
para prever
y(0,5) = 1 + 4,21875(0,5) = 3,109375
εt = 3,4%
O cálculo é repetido e os resultados estão resumidos na Figura 25.14 e na Tabela 25.3.
Para o método de Ralston, k1 para o primeiro intervalo também é igual a 8,5 e
[Equação (25.38b)]
k2 = −2(0,375)3 + 12(0,375)2 − 20(0,375) + 8,5 = 2,58203125
A inclinação média é calculada por
φ=
1
2
(8,5) + (2,58203125) = 4,5546875
3
3
FIGURA 25.14
Comparação da solução verdadeira com soluções numéricas usando três métodos RK de
segunda ordem e o método de Euler.
Analítica
Euler
Heun
Ponto médio
Ralston
y
4
0
0
2
4
x
608
MÉTODOS DE RUNGE-KUTTA
TABELA 25.3 Comparação dos valores verdadeiro e aproximados da integral de
y ′ = −2x3 + 12x2 − 20x + 8,5, com a condição inicial y = 1 em x = 0.
Os valores aproximados foram calculados usando três versões dos
métodos RK de segunda ordem, com um tamanho de passo de 0,5.
Heun
Ponto médio
RK de Segunda
Ordem de Ralston
x
y verdadeiro
y
|t | (%)
y
|t | (%)
y
0,0
0,5
1,0
1,5
2,0
2,5
3,0
3,5
4,0
1,00000
3,21875
3,00000
2,21875
2,00000
2,71875
4,00000
4,71875
3,00000
1,00000
3,43750
3,37500
2,68750
2,50000
3,18750
4,37500
4,93750
3,00000
0
6,8
12,5
21,1
25,0
17,2
9,4
4,6
0
1,00000
3,109375
2,81250
1,984375
1,75
2,484375
3,81250
4,609375
3
0
3,4
6,3
10,6
12,5
8,6
4,7
2,3
0
1,00000
3,277344
3,101563
2,347656
2,140625
2,855469
4,117188
4,800781
3,031250
|t | (%)
0
1,8
3,4
5,8
7,0
5,0
2,9
1,7
1,0
a qual pode ser usada para prever
y(0,5) = 1 + 4,5546875(0,5) = 3,27734375
εt = −1,82%
O cálculo é repetido e os resultados estão resumidos na Figura 25.14 e na Tabela 25.3.
Observe como todos os métodos RK de segunda ordem são superiores ao método
de Euler.
25.3.2 Métodos de Runge-Kutta de Terceira Ordem
Para n = 3, a dedução é parecida com a dos métodos de segunda ordem. O resultado dessa
dedução é um conjunto de seis equações com oito incógnitas. Portanto, devem ser
especificados valores a priori para duas das incógnitas para determinar os parâmetros
restantes. Uma versão comum que resulta é
yi+1 = yi +
1
(k1 + 4k2 + k3 )h
6
(25.39)
em que
k1 = f(xi , yi )
1
1
k2 = f xi + h, yi + k1 h
2
2
k3 = f(xi + h, yi − k1 h + 2k2 h)
(25.39a)
(25.39b)
(25.39c)
Observe que, se a derivada for uma função apenas de x, o método de terceira ordem
se reduz à regra 1/3 de Simpson. Ralston (1962) e Ralston e Rabinowitz (1978) desenvolveram uma versão alternativa que fornece um limitante mínimo para o erro de truncamento. De qualquer modo, os métodos RK de terceira ordem têm erros local e global de
O(h4) e O(h3), respectivamente, e fornecem resultados exatos se a solução for uma função
cúbica. Tratando-se de polinômios, a Equação (25.39) também será exata quando a
equação diferencial for uma função cúbica e a solução for de quarto grau, porque a regra
1/3 de Simpson fornece estimativas exatas da integral para funções cúbicas (lembre-se do
Quadro 21.3).
25.3 MÉTODOS DE RUNGE-KUTTA
609
y
k2
k3
k1
k2
k1
k3
k4
h
xi
xi+1/2
xi+1
x
FIGURA 25.15
Descrição gráfica das estimativas de inclinação envolvidas no método RK de quarta ordem.
25.3.3 Métodos de Runge-Kutta de Quarta Ordem
Os métodos RK mais populares são os de quarta ordem. Como no caso das abordagens de
segunda ordem, existe um número infinito de versões. A seguinte é a forma mais comumente usada e, assim, a chamamos método RK de quarta ordem clássico:
1
yi+1 = yi + (k1 + 2k2 + 2k3 + k4 )h
6
(25.40)
em que
k1 = f(xi , yi )
1
1
k2 = f xi + h, yi + k1 h
2
2
1
1
k3 = f xi + h, yi + k2 h
2
2
k4 = f(xi + h, yi + k3 h)
(25.40a)
(25.40b)
(25.40c)
(25.40d)
Observe que para EDOs que são uma função apenas de x, o método RK de quarta
ordem clássico é parecido com a regra 1/3 de Simpson. Além disso, o método RK de
quarta ordem é parecido com a abordagem de Heun no fato que são desenvolvidas
múltiplas estimativas da inclinação para se chegar a uma inclinação média melhorada
no intervalo. Como descrito na Figura 25.15, cada um dos k’s representa uma inclinação.
Então, a Equação (25.40) representa uma média ponderada delas para chegar a uma
inclinação melhorada.
EXEMPLO 25.7
Método RK de Quarta Ordem Clássico
Enunciado do Problema.
(a) Use o método RK de quarta ordem clássico [Equação (25.40)] para integrar
f(x, y) = −2x 3 + 12x 2 − 20x + 8,5
utilizando um tamanho de passo de h = 0,5 e uma condição inicial de y = 1 em x = 0.
(b) Analogamente, integre
f(x, y) = 4e0,8x − 0,5y
usando h = 0,5 com y(0) = 2 de x = 0 a 0,5.
610
MÉTODOS DE RUNGE-KUTTA
Solução.
(a) As Equações (25.40a) a (25.40d) são usadas para calcular k1 = 8,5, k2 = 4,21875,
k3 = 4,21875 e k4 = 1,25, que são substituídos na Equação (25.40) para fornecer
1
[8,5 + 2(4,21875) + 2(4,21875) + 1,25] 0,5
y(0,5) = 1 +
6
= 3,21875
o que é exato. Logo, como a solução verdadeira é de quarto grau [Equação (PT7.16)],
o método de quarta ordem dá resultados exatos.
(b) Nesse caso, a inclinação no início do intervalo é calculada como
k1 = f(0,2) = 4e0,8(0) − 0,5(2) = 3
Esse valor é usado para calcular um valor de y e uma inclinação no ponto médio,
y(0,25) = 2 + 3(0,25) = 2,75
k2 = f(0,25, 2,75) = 4e0,8(0,25) − 0,5(2,75) = 3,510611
Essa inclinação, por sua vez, é usada para calcular um outro valor de y e uma outra
inclinação no ponto médio,
y(0,25) = 2 + 3,510611(0,25) = 2,877653
k3 = f(0,25, 2,877653) = 4e0,8(0,25) − 0,5(2,877653) = 3,446785
A seguir, essa inclinação é usada para calcular um valor de y e uma inclinação no final
do intervalo,
y(0,5) = 2 + 3,071785(0,5) = 3,723392
k4 = f(0,5, 3,723392) = 4e0,8(0,5) − 0,5(3,723392) = 4,105603
Finalmente, as quatro estimativas de inclinação são combinadas para fornecer uma
inclinação média. Essa inclinação média é então usada para fazer a previsão final no
fim do intervalo,
φ=
1
[3 + 2(3,510611) + 2(3,446785) + 4,105603] = 3,503399
6
y(0,5) = 2 + 3,503399(0,5) = 3,751699
o que se compara favoravelmente com a solução verdadeira, de 3,751521.
25.3.4 Métodos de Runge-Kutta de Ordem Superior
Quando resultados mais acurados forem necessários, o método RK de quinta ordem de
Butcher (1964) é recomendado:
yi+1 = yi +
1
(7k1 + 32k3 + 12k4 + 32k5 + 7k6 )h
90
(25.41)
em que
k1 = f(xi , yi )
1
1
k2 = f xi + h, yi + k1 h
4
4
1
1
1
k3 = f xi + h, yi + k1 h + k2 h
4
8
8
(25.41a)
(25.41b)
(25.41c)
25.3 MÉTODOS DE RUNGE-KUTTA
611
1
1
k4 = f xi + h, yi − k2 h + k3 h
2
2
3
3
9
k5 = f xi + h, yi + k1 h + k4 h
4
16
16
3
2
12
12
8
k6 = f xi + h, yi − k1 h + k2 h + k3 h − k4 h + k5 h
7
7
7
7
7
(25.41d)
(25.41e)
(25.41f )
Observe a similaridade entre o método de Butcher e a regra de Boole na Tabela 21.2. Fórmulas RK de ordem superior como o método de Butcher estão disponíveis, mas, em
geral, além dos métodos de quarta ordem, o ganho em acurácia é contrabalançado pelo
esforço e pela complexidade computacionais adicionais.
Comparação dos Métodos de Runge-Kutta
Enunciado do Problema. Use métodos RK de primeira a quinta ordem para resolver
f(x, y) = 4e0,8x − 0,5y
com y(0) = 2 de x = 0 a x = 4 com diversos tamanhos de passo. Compare a acurácia dos
diversos métodos para o resultado em x = 4 com base na resposta exata y(4) = 75,33896.
Solução. Os cálculos são feitos usando os métodos de Euler, não-iterativo de Heun, RK
de terceira ordem [Equação (25.39)], RK de quarta ordem clássico e RK de quinta ordem
de Butcher. Os resultados estão apresentados na Figura 25.16, em que marcamos os valores absolutos do erro porcentual relativo em função do esforço computacional. Essa
última quantidade é equivalente ao número de cálculos de função necessário para obter o
resultado, como em
Esforço = n f
b−a
h
(E25.8.1)
FIGURA 25.16
Comparação do erro relativo porcentual versus o esforço computacional para os métodos RK
de primeira a quinta ordem.
100
1
Erro relativo percentual
EXEMPLO 25.8
Euler
10– 2
Heun
10– 4
RK de 3a ordem
RK de 4a ordem
10
–6
Butcher
Esforço
MÉTODOS DE RUNGE-KUTTA
612
em que nf é o número de cálculos de função envolvidos no cálculo RK particular. Para
ordens ≤ 4, nf é igual à ordem do método. Entretanto, observe que a técnica de quinta
ordem de Butcher exige seis cálculos de função [Equações (25.41a) a (25.41f)]. A quantidade (b − a)Ⲑh é o intervalo de integração total dividido pelo tamanho do passo — ou
seja, é o número de aplicações da técnica RK necessário para se obter o resultado. Logo,
como em geral os cálculos de função são os passos principais no gasto de tempo, a
Equação (E25.8.1) fornece uma medida grosseira do tempo de execução necessário para
se obter a resposta.
Uma inspeção da Figura 25.16 nos leva a diversas conclusões: primeiro, que os
métodos de ordem superior atingem uma acurácia melhor para o mesmo esforço computacional e, segundo, que o ganho em acurácia para o esforço adicional tende a diminuir
depois de um ponto. (Observe que as curvas caem rapidamente no início e depois tendem
a se nivelar.)
O Exemplo 25.8 e a Figura 25.16 poderiam levar-nos a concluir que as técnicas RK
de ordem superior são sempre os métodos preferidos. Contudo, outros fatores, como
custo de programação e exigências de acurácia do problema, também devem ser considerados na escolha de uma técnica de solução. Tais prós e contras serão explorados em
detalhe nas aplicações em engenharia no Capítulo 28 e no Epílogo da Parte Sete.
25.3.5 Algoritmos Computacionais para os Métodos
de Runge-Kutta
Como todos os métodos abordados neste capítulo, as técnicas RK se ajustam bem ao algoritmo geral expresso na Figura 25.7. A Figura 25.17 apresenta um pseudocódigo para
determinar a inclinação do método RK de quarta ordem clássico [Equação (25.40)]. Subrotinas para calcular as inclinações para todas as outras versões podem ser facilmente programadas de um modo parecido.
25.4
SISTEMAS DE EQUAÇÕES
Muitos problemas práticos em engenharia e em ciência exigem a solução de um sistema
simultâneo de equações diferenciais ordinárias em vez de uma única equação. Tais sistemas podem ser representados de forma geral por
FIGURA 25.17
Pseudocódigo para determinar um único passo do método RK de quarta ordem.
SUB RK4 (x, y, h, ynew)
CALL Derivs(x, y, k1)
ym ⫽ y ⫹ k1 ⭈ h兾2
CALL Derivs(x ⫹ h兾2, ym, k2)
ym ⫽ y ⫹ k2 ⭈ h兾2
CALL Derivs(x ⫹ h兾2, ym, k3)
ye ⫽ y ⫹ k3 ⭈ h
CALL Derivs(x ⫹ h, ye, k4)
slope ⫽ (k1 ⫹ 2(k2 ⫹ k3) ⫹ k4)兾6
ynew ⫽ y ⫹ slope ⭈ h
x ⫽ x ⫹ h
END SUB
25.4 SISTEMAS DE EQUAÇÕES
613
dy1
= f 1 (x, y1 , y2 , . . . , yn )
dx
dy2
= f 2 (x, y1 , y2 , . . . , yn )
dx
.
.
.
dyn
= f n (x, y1 , y2 , . . . , yn )
dx
(25.42)
A solução de tal sistema exige que sejam conhecidas n condições iniciais no valor inicial de x.
25.4.1 O Método de Euler
Todos os métodos discutidos neste capítulo para uma única equação podem ser estendidos ao sistema que acabamos de mostrar. As aplicações em engenharia podem envolver
milhares de equações simultâneas. Em cada caso, o procedimento para resolver um sistema de equações envolve simplesmente a aplicação da técnica de passo único em todas
as equações para cada passo, antes de prosseguir para o próximo passo. Isso é mais bem
ilustrado pelo próximo exemplo para o método de Euler, que é simples.
EXEMPLO 25.9
Resolvendo Sistemas de EDOs Usando o Método de Euler
Enunciado do Problema. Resolva o seguinte conjunto de equações diferenciais usando
o método de Euler, supondo que, em x = 0, y1 = 4 e y2 = 6. Integre até x = 2 com um
tamanho de passo de 0,5.
dy2
= 4 − 0,3y2 − 0,1y1
dx
dy1
= −0,5y1
dx
Solução. O método de Euler é implementado para cada variável como na Equação (25.2):
y1 (0,5) = 4 + [−0,5(4)]0,5 = 3
y2 (0,5) = 6 + [4 − 0,3(6) − 0,1(4)]0,5 = 6,9
Observe que y1(0) = 4 é usado na segunda equação em vez de y1(0,5) = 3 calculado na
primeira equação. Procedendo dessa maneira, obtemos
x
0
0,5
1,0
1,5
2,0
y1
y2
4
3
2,25
1,6875
1,265625
6
6,9
7,715
8,44525
9,094087
25.4.2 Métodos de Runge-Kutta
Observe que qualquer um dos métodos RK de ordem superior deste capítulo pode ser
aplicado para sistemas de equações — mas é preciso tomar cuidado na determinação das
inclinações. A Figura 25.15 ajuda na visualização da maneira adequada de fazer isso no
método de quarta ordem. Ou seja, primeiro desenvolvemos inclinações para todas as variáveis no valor inicial. Essas inclinações (um conjunto de k1’s) são então usadas para
MÉTODOS DE RUNGE-KUTTA
614
fazer previsões da variável independente no ponto médio do intervalo. Os valores no
ponto médio são, por sua vez, usados para calcular um conjunto de inclinações nos pontos médios (os k2’s). Essas novas inclinações são então levadas de volta para o ponto inicial para fazer um outro conjunto de previsões no ponto médio que leva a novas previsões
de inclinações nos pontos médios (os k3’s). Estes então são usados para fazer previsões no
ponto final do intervalo, que são utilizadas para desenvolver inclinações no final do intervalo (os k4’s). Finalmente, os k’s são combinados em um conjunto de funções incremento [como na Equação (25.40)] e trazidos de volta para o ponto inicial para fazer a previsão final. O exemplo a seguir ilustra a abordagem.
EXEMPLO 25.10
Resolvendo Sistemas de EDOs Usando o Método RK de Quarta Ordem
Enunciado do Problema. Use os métodos RK de quarta ordem para resolver as EDOs
do Exemplo 25.9.
Solução. Primeiro, precisamos determinar todas as inclinações no início do intervalo:
k1,1 = f 1(0, 4, 6) = −0,5(4) = −2
k1,2 = f 2(0, 4, 6) = 4 − 0,3(6) − 0,1(4) = 1,8
em que ki, j é o i-ésimo valor de k para a j-ésima variável dependente. A seguir, devemos
calcular os primeiros valores de y1 e y2 no ponto médio:
y1 + k1,1
h
0,5
= 4 + (−2)
= 3,5
2
2
y2 + k1,2
h
0,5
= 6 + (1,8)
= 6,45
2
2
o que pode ser usado para calcular o primeiro conjunto de inclinações no ponto médio,
k2,1 = f 1(0,25, 3,5, 6,45) = −1,75
k2,2 = f 2(0,25, 3,5, 6,45) = 1,715
Esses são usados para determinar o segundo conjunto de previsões para o ponto médio,
y1 + k2,1
h
0,5
= 4 + (−1,75)
= 3,5625
2
2
y2 + k2,2
h
0,5
= 6 + (1,715)
= 6,42875
2
2
que podem ser utilizados para calcular o segundo conjunto de inclinações no ponto médio,
k3,1 = f 1(0,25, 3,5625, 6,42875) = −1,78125
k3,2 = f 2(0,25, 3,5625, 6,42875) = 1,715125
Esses são usados para determinar as previsões no final do intervalo
y1 + k3,1 h = 4 + (−1,78125)(0,5) = 3,109375
y2 + k3,2 h = 6 + (1,715125)(0,5) = 6,857563
que podem ser utilizados para calcular as inclinações na extremidade final,
k4,1 = f 1(0,5, 3,109375, 6,857563) = −1,554688
k4,2 = f 2(0,5, 3,109375, 6,857563) = 1,631794
25.4 SISTEMAS DE EQUAÇÕES
615
Os valores de k podem então ser usados para calcular [Equação (25.40)]:
1
y1 (0,5) = 4 + [−2 + 2(−1,75 − 1,78125) − 1,554688]0,5 = 3,115234
6
1
y2 (0,5) = 6 + [1,8 + 2(1,715 + 1,715125) + 1,631794]0,5 = 6,857670
6
Procedendo de forma análoga nos próximos passos, obtemos
x
y1
y2
0
0,5
1,0
1,5
2,0
4
3,115234
2,426171
1,889523
1,471577
6
6,857670
7,632106
8,326886
8,946865
25.4.3 Algoritmos Computacionais para a Resolução de
Sistemas de EDOs
O código computacional para resolver uma única EDO pelo método de Euler (Figura 25.7)
pode ser facilmente estendido para sistemas de equações. As modificações incluem:
1.
2.
3.
4.
5.
Entrar o número de equações, n.
Entrar os valores iniciais de cada uma das n variáveis dependentes.
Modificar o algoritmo de modo que ele calcule inclinações para cada uma das
variáveis dependentes.
Incluir equações adicionais para calcular os valores da derivada para cada uma
das EDOs.
Incluir laços para calcular um novo valor para cada variável dependente.
Tal algoritmo está delineado na Figura 25.18 para o método RK de quarta ordem.
Observe quão parecido ele é na estrutura e organização com a Figura 25.7. A maior parte
das diferenças se relaciona ao fato de que
1.
2.
EXEMPLO 25.11
Existem n equações.
Há detalhes adicionais do método RK de quarta ordem.
Resolvendo um Sistema de EDOs com o Computador
Enunciado do Problema. Um programa de computador para implementar o método RK
de quarta ordem para sistemas pode ser desenvolvido facilmente com base na Figura 25.18.
Tal software torna conveniente a comparação de diferentes modelos para um sistema
físico. Por exemplo, um modelo linear para o pêndulo oscilante é dado por [lembre-se da
Equação (PT7.11)]
dy2
dy1
= y2
= −16,1y1
dx
dx
em que y1 e y2 são o deslocamento angular e a velocidade, respectivamente. Um modelo
não-linear para o mesmo sistema é [lembre-se da Equação (PT7.9)]
dy3
dy4
= y4
= −16,1 sen(y3 )
dx
dx
em que y3 e y4 são o deslocamento angular e a velocidade para o caso não-linear. Resolva
esses sistemas para dois casos: (a) um pequeno deslocamento inicial (y1 = y3 = 0,1
radianos; y2 = y4 = 0) e (b) um grande deslocamento (y1 = y3 = πⲐ4 = 0,785398 radianos; y2 = y4 = 0).
616
MÉTODOS DE RUNGE-KUTTA
(a) Programa Principal
(b) Rotina para Fazer um Passo de Saída
Atribua valores para
n ⫽ número de equações
yi ⫽ valores iniciais das n
variáveis dependentes
xi ⫽ valor inicial da variável
independente
xf ⫽ valor final da variável
independente
dx ⫽ tamanho do passo de cálculo
xout ⫽ intervalo de saída
SUB Integrator (x, y, n, h, xend)
DO
IF (xend ⫺ x ⬍ h) THEN h ⫽ xend ⫺ x
CALL RK4 (x, y, n, h)
IF (x ⱖ xend) EXIT
END DO
END SUB
(c) Método RK de Quarta Ordem para um
Sistema de EDOs
SUB RK4 (x, y, n, h)
CALL Derivs (x, y, k1)
DOFOR i ⫽ 1, n
ymi ⫽ yi ⫹ k1i * h / 2
END DO
CALL Derivs (x ⫹ h / 2, ym, k2)
DOFOR i ⫽ 1, n
ymi ⫽ yi ⫹ k2i * h / 2
END DO
CALL Derivs (x ⫹ h / 2, ym, k3)
DOFOR i ⫽ 1, n
yei ⫽ yi ⫹ k3i * h
END DO
CALL Derivs (x ⫹ h, ye, k4)
DOFOR i ⫽ 1, n
slopei ⫽ (k1i ⫹ 2*(k2i⫹k3i)⫹k4i)/6
yi ⫽ yi ⫹ slopei * h
END DO
x⫽x⫹h
END SUB
x ⫽ xi
m⫽0
xpm ⫽ x
DOFOR i ⫽ 1, n
ypi,m ⫽ yii
END DO
DO
xend ⫽ x ⫹ xout
IF (xend ⬎ xf) THEN xend ⫽ xf
h ⫽ dx
CALL Integrator (x, y, n, h, xend)
m⫽m⫹1
xpm ⫽ x
DOFOR i ⫽ 1, n
ypi,m ⫽ yi
END DO
IF (x ⱖ xf) EXIT
LOOP
DISPLAY RESULTS
END
(d) Rotina para Determinar Derivadas
SUB Derivs (x, y, dy)
dy1 ⫽ ...
dy2 ⫽ ...
END SUB
FIGURA 25.18
Pseudocódigo para o método RK de quarta ordem para sistemas.
4
4
2
2
y1
y3
y1, y3
y
0
y
0
y2, y4
–2
–2
y2
–4
0
1
2
x
(a)
3
4
–4
0
1
y4
2
x
3
4
(b)
FIGURA 25.19
Soluções obtidas com um programa computacional para o método RK de quarta ordem.
Os gráficos representam soluções tanto para o pêndulo linear quanto para o não-linear com
deslocamentos (a) pequenos e (b) grandes.
25.5 MÉTODOS DE RUNGE-KUTTA ADAPTATIVOS
617
Solução.
(a) Os resultados calculados para os modelos linear e não-linear são quase idênticos
(Figura 25.19a). Isso é como esperado, pois, quando o deslocamento inicial é
= θ.
pequeno, sen (θ) ∼
(b) Quando o deslocamento inicial é πⲐ4 = 0,785398, as soluções são muito diferentes
e a diferença aumenta conforme o tempo se torna cada vez maior (Figura 25.19b).
Isso é esperado porque a hipótese de que sen (θ) = θ é ruim quando theta é grande.
25.5
MÉTODOS DE RUNGE-KUTTA ADAPTATIVOS
Até este ponto, apresentamos métodos para resolver EDOs que empregam um
tamanho de passo constante. Para um número significativo de problemas, isso pode
representar uma limitação séria. Por exemplo, suponha que estejamos integrando uma
EDO com uma solução do tipo descrito na Figura 25.20. Para a maior parte do intervalo, a solução varia gradualmente. Tal comportamento sugere que um tamanho de
passo razoavelmente grande poderia ser utilizado para obter resultados adequados.
Entretanto, para uma região localizada de x = 1,75 a x = 2,25, a solução passa por
uma variação abrupta. A conseqüência prática de lidar com tais funções é que seria
necessário um tamanho de passo muito pequeno para capturar adequadamente o comportamento impulsivo. Se fosse utilizado um algoritmo com tamanho de passo constante, o pequeno tamanho de passo necessário para a região de variação abrupta teria
de ser aplicado em todo o cálculo. Como conseqüência, um tamanho de passo muito
menor do que o necessário — e, portanto, muito mais cálculos — seria desperdiçado
na região de variação gradual.
Os algoritmos que ajustam automaticamente o tamanho do passo podem evitar tais
exageros e, portanto, apresentam grande vantagem. Como eles se “adaptam” à trajetória
da solução, dizemos que têm controle adaptativo do tamanho do passo. A implementação
dessas abordagens exige que uma estimativa do erro de truncamento local seja obtida em
cada passo. Então, essa estimativa de erro pode servir de base ou para aumentar ou para
diminuir o tamanho do passo.
FIGURA 25.20
Um exemplo de uma solução de uma EDO que exibe uma variação abrupta. Ajuste
automático no tamanho do passo tem grandes vantagens nesses casos.
y
1
0
1
2
3
x
MÉTODOS DE RUNGE-KUTTA
618
Antes de continuar, devemos mencionar que, além de resolver EDOs, os métodos
descritos neste capítulo também podem ser usados para calcular integrais definidas.
Como mencionado anteriormente na introdução da Parte Seis, o cálculo da integral
b
I =
f(x) dx
a
é equivalente à resolução da equação diferencial
dy
= f(x)
dx
para determinar y(b) dada a condição inicial y(a) = 0. Logo, as técnicas a seguir podem
ser usadas para calcular eficientemente integrais definidas envolvendo funções que são
lisas em geral, mas que exibem regiões de variação abrupta.
Há duas abordagens principais para incorporar controle adaptativo do tamanho do
passo em métodos de passo único. Na primeira, a estimativa do erro é feita como a diferença entre duas previsões usando um método RK de mesma ordem, mas com tamanho
de passo diferente. Na segunda, a estimativa do erro de truncamento local é feita como a
diferença entre duas previsões usando métodos RK de ordens diferentes.
25.5.1 Método RK Adaptativo ou de Divisão do Passo na Metade
A divisão do passo na metade (também chamado RK adaptativo) envolve fazer cada
passo duas vezes, uma como um passo completo, e independentemente, como dois meio
passos. A diferença nos dois resultados representa uma estimativa do erro de truncamento
local. Se y1 designar a previsão por um único passo e y2 designar a previsão usando dois
meio passos, o erro pode ser representado por
= y2 − y1
(25.43)
Além de fornecer um critério para o controle do tamanho do passo, a Equação (25.43)
também pode ser usada para corrigir a previsão y2. Para a versão RK de quarta ordem, a
correção é
y2 ← y2 +
15
(25.44)
Essa estimativa é acurada até a quinta ordem.
EXEMPLO 25.12
Método RK de Quarta Ordem Adaptativo
Enunciado do Problema. Use o método RK de quarta ordem adaptativo para integrar
y ′ = 4e0,8x − 0,5y de x = 0 a 2 usando h = 2 e uma condição inicial y(0) = 2. Esta é a
mesma equação diferencial que foi resolvida anteriormente no Exemplo 25.5. Lembre-se
de que a solução verdadeira é y(2) = 14,84392.
Solução.
A previsão única com um passo h é calculada como
1
y(2) = 2 + [3 + 2(6,40216 + 4,70108) + 14,11105]2 = 15,10584
6
As duas previsões de meio passo são
1
y(1) = 2 + [3 + 2(4,21730 + 3,91297) + 5,945681]1 = 6,20104
6
e
1
y(2) = 6,20104 + [5,80164 + 2(8,72954 + 7,99756) + 12,71283]1 = 14,86249
6
Portanto, o erro aproximado é
Ea =
14,86249 − 15,10584
= −0,01622
15
25.5 MÉTODOS DE RUNGE-KUTTA ADAPTATIVOS
619
que se compara favoravelmente com o erro verdadeiro de
E t = 14,84392 − 14,86249 = −0,01857
A estimativa de erro também pode ser usada para corrigir a previsão
y(2) = 14,86249 − 0,01622 = 14,84627
a qual tem um Et = −0,00235.
25.5.2 Runge-Kutta Fehlberg
Além de dividir o passo na metade como estratégia para ajustar o tamanho do passo, uma
abordagem alternativa para obter uma estimativa do erro envolve o cálculo de duas previsões RK de ordens diferentes. Os resultados podem então ser subtraídos para se obter
uma estimativa do erro de truncamento local. Uma desvantagem dessa abordagem é que
ela aumenta muito o gasto computacional. Por exemplo, previsões de quarta e quinta
ordens equivalem a um cálculo de dez valores de função no total por passo. O método de
Runge-Kutta Fehlberg ou RK embutido contorna esse problema de forma inteligente pelo
uso de um método RK de quinta ordem que utiliza os cálculos de função do método RK
de quarta ordem que o acompanha. Assim, a abordagem fornece uma estimativa de erro
com base em apenas seis cálculos de função!
No caso presente, usamos a seguinte estimativa de quarta ordem
37
250
125
512
yi+1 = yi +
k1 +
k3 +
k4 +
k6 h
(25.45)
378
621
594
1.771
junto com a fórmula de quinta ordem:
18.575
13.525
277
1
2.825
yi+1 = yi +
k1 +
k3 +
k4 +
k5 + k6 h
27.648
48.384
55.296
14.336
4
(25.46)
em que
k1 = f(xi , yi )
1
1
k2 = f xi + h, yi + k1 h
5
5
3
3
9
k3 = f xi + h, yi + k1 h + k2 h
10
40
40
3
3
9
6
k4 = f xi + h, yi + k1 h − k2 h + k3 h
5
10
10
5
5
70
35
11
k5 = f xi + h, yi − k1 h + k2 h − k3 h + k4 h
54
2
27
27
7
1.631
175
575
44.275
k1 h +
k2 h +
k3 h +
k4 h
k6 = f xi + h, yi +
8
55.296
512
13.824
110.592
253
+
k5 h
4.096
Assim, a EDO pode ser resolvida com a Equação (25.46) e a estimativa de erro obtida,
como a diferença das estimativas de quinta e quarta ordens. Deve ser observado que os
coeficientes particulares usados foram desenvolvidos por Cash e Karp (1990). Portanto,
esse método é algumas vezes chamado de RK de Cash-Karp.
EXEMPLO 25.13
Método de Runge-Kutta Fehlberg
Enunciado do Problema. Use a versão Cash-Karp da abordagem de Runge-Kutta
Fehlberg para fazer os mesmos cálculos que no Exemplo 25.12 de x = 0 a 2 usando h = 2.
620
MÉTODOS DE RUNGE-KUTTA
Solução. O cálculo dos k’s pode ser resumido na seguinte tabela:
k1
k2
k3
k4
k5
k6
x
y
f (x, y)
0
0,4
0,6
1,2
2
1,75
2
3,2
4,20883
7,228398
15,42765
12,17686
3
3,908511
4,359883
6,832587
12,09831
10,13237
Eles podem ser usados para calcular a previsão de quarta ordem
37
250
125
512
y1 = 2 +
3+
4,359883 +
6,832587 +
10,13237 2 = 14,83192
378
621
594
1.771
junto com a fórmula de quinta ordem:
2.825
18.575
13.525
3+
4,359883 +
6,832587
y1 = 2 +
27.648
48.384
55.296
277
1
+
12,09831 + 10,13237 2 = 14,83677
14.336
4
A estimativa de erro é obtida subtraindo-se essas duas equações para obter
E a = 14,83677 − 14,83192 = 0,004842
25.5.3 Controle do Tamanho do Passo
Agora que desenvolvemos maneiras de obter estimativas do erro de truncamento local,
elas podem ser usadas para ajustar o tamanho do passo. Em geral, a estratégia é aumentar
o tamanho do passo se o erro for muito pequeno e diminuir se o erro for muito grande.
Press et al. (1992) sugeriram o seguinte critério para conseguir isso:
novo α
h novo = h atual
(25.47)
atual
em que hatual e hnovo são os tamanhos de passo atual e novo, respectivamente, atual é a
acurácia atual calculada, novo é a acurácia desejada e α é uma potência constante que
é igual a 0,2 quando o tamanho do passo é aumentado (isto é, quando atual ≤ novo) e a
0,25 quando o tamanho do passo é diminuído (atual > novo).
O parâmetro chave na Equação (25.47) é obviamente novo, pois é o seu veículo para
especificar a acurácia desejada. Uma maneira de fazer isso seria relacionar novo a um
nível de erro relativo. Embora isso funcione bem quando ocorrem apenas valores positivos, pode causar problemas para soluções que passem pelo zero. Por exemplo, você
poderia estar simulando uma função oscilante que passe repetidamente pelo zero, mas
que seja limitada por valores absolutos máximos. Para tal caso, você poderia querer
incluir esses valores máximos na acurácia desejada.
Uma forma mais geral de lidar com tais casos é determinar novo como
novo = εyescala
em que é um nível de tolerância geral. Sua escolha de yescala determinará, então, como é
a escala do erro. Por exemplo, se yescala = y, a precisão será formulada em termos de erros
relativos fracionários. Se você estiver tratando um caso no qual queira erros constantes
em relação a um limitante máximo prescrito, iguale yescala a esse limitante. Um truque
sugerido por Press et al. (1992) para obter erros relativos constantes, exceto muito próximo a cruzamentos com o zero, é
dy
yescala = |y| + h
dx
Essa é a versão que usaremos em nosso algoritmo.
25.5 MÉTODOS DE RUNGE-KUTTA ADAPTATIVOS
621
25.5.4 Algoritmo Computacional
As Figuras 25.21 e 25.22 esboçam pseudocódigos para implementar a versão Cash-Karp
do algoritmo de Runge-Kutta Fehlberg. Esse algoritmo usou como modelo, uma implementação mais detalhada por Press et al. (1992) para sistemas de EDOs.
A Figura 25.21 implementa um único passo da rotina de Cash-Karp [isto é, as
equações (25.45) e (25.46)]. A Figura 25.22 delineia um programa principal geral junto
com uma sub-rotina que de fato adapta o tamanho do passo.
FIGURA 25.21
Pseudocódigo para um único passo do método RK de Cash-Karp.
SUBROUTINE RKkc (y,dy,x,h,yout,yerr)
PARAMETER (a2⫽0.2,a3⫽0.3,a4⫽0.6,a5⫽1.,a6⫽0.875,
b21⫽0.2,b31⫽3.兾40.,b32⫽9.兾40.,b41⫽0.3,b42⫽⫺0.9,
b43⫽1.2,b51⫽⫺11.兾54.,b52⫽2.5,b53⫽⫺70.兾27.,
b54⫽35.兾27.,b61⫽1631.兾55296.,b62⫽175.兾512.,
b63⫽575.兾13824.,b64⫽44275.兾110592.,b65⫽253.兾4096.,
c1⫽37.兾378.,c3⫽250.兾621.,c4⫽125.兾594.,
c6⫽512.兾1771.,dc1⫽c1⫺2825.兾27648.,
dc3⫽c3⫺18575.兾48384.,dc4⫽c4⫺13525.兾55296.,
dc5⫽⫺277.兾14336.,dc6⫽c6⫺0.25)
ytemp⫽y⫹b21*h* dy
CALL Derivs (x⫹a2*h,ytemp,k2)
ytemp⫽y⫹h*(b31*dy⫹b32*k2)
CALL Derivs(x⫹a3*h,ytemp,k3)
ytemp⫽y⫹h*(b41*dy⫹b42*k2⫹b43*k3)
CALL Derivs(x⫹a4*h,ytemp,k4)
ytemp⫽y⫹h*(b51*dy⫹b52*k2⫹b53*k3⫹b54*k4)
CALL Derivs(x⫹a5*h,ytemp,k5)
ytemp⫽y⫹h*(b61*dy⫹b62*k2⫹b63*k3⫹b64*k4⫹b65*k5)
CALL Derivs(x⫹a6*h,ytemp,k6)
yout⫽y⫹h*(c1*dy⫹c3*k3⫹c4*k4⫹c6*k6)
yerr⫽h*(dc1*dy⫹dc3*k3⫹dc4*k4⫹dc5*k5⫹dc6*k6)
END RKkc
FIGURA 25.22
Pseudocódigo para um (a) programa principal e (b) rotina adaptativa do passo para resolver
uma única EDO.
(a) Programa Principal
(b) Rotina Adaptativa do Passo
INPUT xi, xf, yi
maxstep⫽100
hi⫽.5; tiny ⫽ 1. ⫻ 10⫺30
eps⫽0.00005
print *, xi,yi
x⫽xi
y⫽yi
h⫽hi
istep⫽0
DO
IF (istep ⬎ maxstep AND x ⱕ xf) EXIT
istep⫽istep⫹1
CALL Derivs(x,y,dy)
yscal⫽ABS(y)⫹ABS(h*dy)⫹tiny
IF (x⫹h⬎xf) THEN h⫽xf⫺x
CALL Adapt (x,y,dy,h,yscal,eps,hnxt)
PRINT x,y
h⫽hnxt
END DO
END
SUB Adapt (x,y,dy,htry,yscal,eps,hnxt)
PARAMETER (safety⫽0.9,econ⫽1.89e⫺4)
h⫽htry
DO
CALL RKkc(y,dy,x,h,ytemp,yerr)
emax⫽abs(yerr/yscal/eps)
IF emax ⱕ 1 EXIT
htemp⫽safety*h*emax⫺0.25
h⫽max(abs(htemp),0.25*abs(h))
xnew⫽x⫹h
IF xnew ⫽ x THEN pause
END DO
IF emax ⬎ econ THEN
hnxt⫽safety*emax ⫺.2*h
ELSE
hnxt⫽4.*h
END IF
x⫽x⫹h
y⫽ytemp
END Adapt
MÉTODOS DE RUNGE-KUTTA
622
EXEMPLO 25.14
Aplicação Computacional de um Esquema RK de Quarta Ordem Adaptativo
Enunciado do Problema. O método RK adaptativo é adequado para a seguinte equação
diferencial ordinária
dy
2
2
+ 0,6y = 10e−(x−2) /[2(0,075) ]
(E25.14.1)
dx
Observe que, para a condição inicial y(0) = 0,5, a solução da equação homogênea associada é
y = 0,5e−0,6x
(E25.14.2)
que é uma curva lisa que gradualmente se aproxima de zero conforme x aumenta. Em
contraste, a solução da equação não-homogênea passa por uma transição abrupta na vizinhança de x = 2 por causa da natureza do termo forçante (Figura 25.23a). Use um esquema RK de quarta ordem padrão para resolver a Equação (E25.14.1) de x = 0 a 4. A
seguir, use o esquema adaptativo descrito nesta seção para fazer o mesmo cálculo.
Solução. Primeiro, é utilizado o esquema de quarta ordem clássico para calcular a curva
sólida na Figura 25.23b. Para esse cálculo, foi usado um tamanho de passo de 0,1 de
modo que foram feitas 4/(0,1) = 40 aplicações da técnica. Então, os cálculos foram
repetidos com um tamanho de passo de 0,05, para um total de 80 aplicações. A maior discrepância entre os dois resultados ocorre na região entre 1,8 e 2,0. O valor absoluto da
discrepância é de cerca de 0,1% a 0,2%.
A seguir, o algoritmo nas Figuras 25.21 e 25.22 é desenvolvido em um programa
computacional e usado para resolver o mesmo problema. Foram escolhidos um tamanho de
passo inicial de 0,5 e um ε = 0,00005. Os resultados foram sobrepostos na Figura 25.23b.
Observe quão grandes são os passos tomados na região de variação gradual. Então, na
vizinhança de x = 2, os passos são diminuídos para acomodar a natureza abrupta da
função forçante.
FIGURA 25.23
(a) Função forçante em forma de sino que induz uma variação abrupta na solução de uma
EDO [Equação (E25.14.1)]. (b) A solução. Os pontos indicam a previsão de uma rotina
adaptativa para o tamanho do passo.
10
5
0
0
2
4
x
4
x
(a)
2
1
0
0
2
(b)
PROBLEMAS
623
A utilidade de um esquema de integração adaptativo obviamente depende da natureza
da função que está sendo modelada. Ele é particularmente vantajoso para aquelas soluções
com longas extensões lisas e regiões curtas de variação abrupta. Além disso, tem utilidade
nas situações nas quais o tamanho do passo correto não é conhecido a priori. Nesses casos,
uma rotina adaptativa irá “tatear” seu caminho pela solução enquanto mantém os resultados dentro da tolerância desejada. Logo, vai “andar na ponta dos pés” nas regiões de variação abrupta e caminhar rapidamente quando a variação se tornar mais gradual.
PROBLEMAS
25.1 Resolva o seguinte problema de valor inicial analiticamente
no intervalo de x = 0 a 2:
dy
= yx 2 − 1,1y
dx
em que y(0) = 1. Faça o gráfico da solução.
25.2 Use o método de Euler com h = 0,5 e 0,25 para resolver o
Problema 25.1. Trace seus resultados no mesmo gráfico para comparar visualmente a acurácia para os dois tamanhos de passo.
25.3 Use o método de Heun com h = 0,5 para resolver o Problema
25.1. Faça iterações no corretor até εs = 1%.
25.4 Use o método do ponto médio com h = 0,5 e 0,25 para resolver o Problema 25.1.
25.5 Use o método RK de quarta ordem clássico com h = 0,5 para
resolver o Problema 25.1.
25.6 Repita os Problemas 25.1 a 25.5, mas para o seguinte problema de valor inicial no intervalo de x = 0 a 1:
dy
√
= (1 + 2x) y
dx
y(0) = 1
25.7 Use os métodos de (a) Euler e (b) Heun (sem iteração) para
resolver
d2 y
− 0,5t + y = 0
dt 2
em que y(0) = 2 e y⬘(0) = 0. Resolva de x = 0 a 4 usando h = 0,1.
Compare os métodos fazendo os gráficos da solução.
25.8 Resolva o seguinte problema com o método RK de quarta
ordem:
d2 y
dy
+ 0,6
+ 8y = 0
2
dx
dx
em que y(0) = 4 e y⬘(0) = 0. Resolva de x = 0 a 5 com h = 0,5.
Represente os resultados graficamente.
25.9 Resolva de t = 0 a 3 com h = 0,1 usando o método de (a)
Heun (sem iteração) e (b) RK de segunda ordem de Ralston:
dy
= y sen3 (t)
dt
y(0) = 1
25.10 Resolva o seguinte problema numericamente de t ⫽ 0 a 3.
dy
= −y + t 2
dt
no intervalo de x = 0 a 1 usando um tamanho de passo de 0,2, com
y(0) = 2 e z(0) = 4.
25.12 Calcule o primeiro passo do Exemplo 25.14 usando o
método RK de quarta ordem adaptativo com h = 0,5. Verifique se
o ajuste no tamanho do passo está bom.
25.13 Se ε = 0,001, determine se é necessário ajuste no tamanho
do passo no Exemplo 25.12.
25.14 Use a abordagem de RK-Fehlberg para fazer os mesmos cálculos que no Exemplo 25.12 de x = 0 a 1 com h = 1.
25.15 Escreva um programa computacional baseado na Figura
25.7. Entre outras coisas, faça comentários em todo o programa
para identificar o que cada seção deve fazer.
25.16 Teste o programa que você desenvolveu no Problema 25.15
para duplicar os cálculos dos Exemplos 25.1 e 25.4.
25.17 Desenvolva um programa amigável ao usuário para o
método de Heun com um corretor iterativo. Teste seu programa duplicando os resultados na Tabela 25.2.
25.18 Desenvolva um programa amigável ao usuário para o
método RK de quarta ordem clássico. Teste seu programa duplicando o Exemplo 25.7.
25.19 Desenvolva um programa amigável ao usuário para sistemas
de equações usando o método RK de quarta ordem. Use esse programa para duplicar os cálculos no Exemplo 25.10.
25.20 O movimento de um sistema massa-mola amortecido (Figura
P25.20) é descrito pela seguinte equação diferencial ordinária:
m
d2x
dx
+c
+ kx = 0
dt 2
dt
em que x é o deslocamento a partir da posição de equilíbrio (m), t é
o tempo (s), m = 20 kg é a massa e c é o coeficiente de amortecimento (N · s/m). O coeficiente de amortecimento c toma os três
valores de 5 (subamortecido), 40 (criticamente amortecido) e 200
(superamortecido). A constante da mola é k = 20 N/m. A velocidade inicial é zero e o deslocamento inicial é x = 1 m. Resolva essa
equação usando um método numérico no período de tempo
0 ≤ t ≤ 15 s. Faça um gráfico do deslocamento em função do
tempo para cada um dos três valores de coeficiente de amortecimento na mesma curva.
Figura P25.20
y(0) = 1
Use o método RK de terceira ordem com tamanho de passo de 0,5.
25.11 Use o método (a) de Euler e (b) RK de quarta ordem para
resolver
dy
= −2y + 4e−x
dx
dz
yz 2
=−
dx
3
x
k
m
MÉTODOS DE RUNGE-KUTTA
624
25.21 Se água for drenada de um tanque cilíndrico vertical abrindo-se
uma válvula na base, ela escoará rapidamente quando o tanque
estiver cheio e mais lentamente conforme ele continuar a ser drenado.
Como pode ser mostrado, a taxa pela qual o nível de água abaixa é:
r
dy
√
= −k y
dt
em que k é uma constante dependente da forma do orifício, da área
da seção transversal do tanque e do orifício de drenagem. A profundidade da água y é medida em metros e o tempo t, em minutos.
Se k = 0,06, determine quanto tempo levará para que o tanque fique
vazio se o nível de fluido for inicialmente 3 m. Resolva aplicando a
equação de Euler e escrevendo um programa computacional ou
usando o Excel. Use um passo de 0,5 minuto.
25.22 A seguir está uma equação diferencial de segunda ordem,
com condição inicial:
d2x
dx
+ (5x)
+ (x + 7) sen(ωt) = 0
2
dt
dt
em que
dx
(0) = 1,5 e
dt
x(0) = 6
Observe que ω = 1. Decomponha a equação em duas equações
diferenciais de primeira ordem. Depois da decomposição, resolva o
sistema de t = 0 a 15 e faça o gráfico dos resultados.
25.23 Supondo que o arrasto seja proporcional ao quadrado da velocidade, podemos modelar a velocidade de um objeto em queda
livre como o pára-quedista com a seguinte equação diferencial:
cd
dv
= g − v2
dt
m
em que v é a velocidade (m/s), t é o tempo (s), g é a aceleração da
gravidade (9,81 m/s2), cd é um coeficiente de arrasto de segunda
ordem (kg/m) e m é a massa (kg). Resolva para determinar a velocidade e a distância percorrida na queda por um objeto de 90 kg
com um coeficiente de arrasto de 0,225 kg/m. Se a altura inicial for
1 km, determine quando ele atinge o chão. Obtenha sua solução
com (a) o método de Euler e (b) o método RK de quarta ordem.
25.24 Um tanque esférico tem um orifício circular no fundo pelo
qual o líquido escoa para fora (Figura P25.24). A vazão pelo buraco
pode ser estimada por
Q out = CA 2gh
em que Qout é o escoamento para fora (m3/s), C é um coeficiente
obtido empiricamente, A é a área do orifício (m2), g é a constante
gravitacional (= 9,81 m/s2) e h é a profundidade do líquido no
tanque. Use um dos métodos numéricos descritos neste capítulo
para determinar quanto tempo levará para que a água escoe para fora
de um tanque de 3 m de diâmetro com uma altura inicial de 2,75 m.
Observe que o orifício tem um diâmetro de 3 cm e C = 0,55.
H
Figura P25.24
Um tanque esférico.
25.25 O modelo logístico é usado para simular a população por
dp
= k gm (1 − p/ pmax ) p
dt
em que p é a população, kgm é a taxa de crescimento máxima sob
condições ilimitadas e pmáx é a capacidade de suporte. Simule a
população mundial de 1950 a 2000 usando um dos métodos
numéricos descritos neste capítulo. Use as seguintes condições iniciais e valores de parâmetros para sua simulação: p0 (em 1950) ⫽
2,555 milhões de pessoas, kgm = 0,026/ano, e pmáx = 12,000 milhões de pessoas. Faça a função gerar saídas correspondentes às
datas para os seguintes dados populacionais medidos. Desenvolva
um gráfico de sua simulação junto com os dados.
t
1950
1960
1970
1980
1990
p
2,555
3,040
3,708
4,454
5,276
2000
6,079
25.26 Suponha que um projétil seja lançado da superfície da Terra.
Suponha que a única força agindo no objeto seja a força gravitacional para baixo. Nessas condições, o balanço de forças pode ser
usado para deduzir que
dv
R2
= −g(0)
dt
(R + x)2
em que v é a velocidade para cima (m/s), t é o tempo (s), x é a altitude (m) medida para cima a partir da superfície da Terra, g(0) é a
= 9,81 m/s2) e R é
aceleração gravitacional na superfície da Terra (∼
= 6,37 × 106 m). Percebendo que dx/dt = v, use o
o raio da Terra (∼
método de Euler para determinar a altura máxima que seria atingida
se v(t = 0) = 1.400 m/s.
25.27 A seguinte função exibe tanto regiões achatadas quanto íngremes em uma região relativamente curta de x:
f (x) =
1
1
+
−6
(x − 0,3)2 + 0,01 (x − 0,9)2 + 0,04
Determine o valor da integral definida dessa função entre x = 0 e 1
usando um método RK adaptativo.
CAPÍTULO
26
Rigidez e Métodos de Passo
Múltiplo
Este capítulo abrange duas áreas. Primeiro, descrevemos EDOs rígidas. Elas são tanto
EDOs individuais quanto sistemas de EDOs que têm ambas as componentes rápida e
lenta em sua solução. Introduzimos a idéia de uma técnica de solução implícita como um
recurso comumente usado para tratar esse problema. A seguir, discutiremos métodos de
passo múltiplo. Esses algoritmos retêm informações de passos anteriores para capturar
mais eficientemente a trajetória da solução. Também fornecem estimativas do erro de
truncamento que podem ser usadas para implementar um controle adaptativo do tamanho
do passo.
26.1
RIGIDEZ
A rigidez é um problema especial que pode aparecer na solução de equações diferenciais
ordinárias. Um sistema rígido é aquele que envolve componentes variando rapidamente
junto com componentes variando lentamente. Em muitos casos, as componentes que
variam rapidamente são transientes efêmeros que desaparecem rapidamente, depois do
que a solução passa a ser dominada pelas componentes que variam lentamente. Embora
os fenômenos transientes existam apenas para uma pequena parte do intervalo de integração, podem determinar o passo no tempo para toda a solução.
Tanto as EDOs individuais quanto os sistemas de EDO podem ser rígidos. Um
exemplo de uma única EDO rígida é
dy
= −1.000y + 3.000 − 2.000e−t
dt
(26.1)
Se y(0) = 0, a solução analítica pode ser escrita como
y = 3 − 0,998e−1000t − 2,002e−t
(26.2)
Como na Figura 26.1, a solução é inicialmente dominada pelo termo exponencial
rápido (e−1000t ). Depois de um curto período (t < 0,005), esse transiente desaparece e a
solução passa a ser dominada pela exponencial lenta (e−t ).
Podemos ganhar uma percepção do tamanho do passo necessário para a estabilidade
de tal solução examinando a parte homogênea da Equação (26.1),
dy
= −ay
dt
(26.3)
Se y(0) = y0, o cálculo pode ser usado para determinar a solução como
y = y0 e−at
Logo, a solução começa em y0 e se aproxima assintoticamente de zero.
O método de Euler pode ser usado para resolver o mesmo problema numericamente:
yi+1 = yi +
dyi
h
dt
625
626
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
y
3
2
1
1
0
0
0
0
0,01
2
0,02
4 t
FIGURA 26.1
Gráfico de uma solução rígida de uma única EDO. Embora a solução pareça começar em
1, na realidade existe um transiente rápido de y ⫽ 0 a 1, que ocorre em menos do que
0,005 unidade de tempo. Esse transiente é perceptível apenas quando a resposta é vista na
inserção em uma escala de tempo mais fina.
Substituindo a Equação (26.3) obtemos
ou
yi+1 = yi − ayi h
yi+1 = yi (1 − ah)
(26.4)
A estabilidade dessa fórmula depende claramente do tamanho do passo h. Isto é, |1 − ah|
deve ser menor do que 1. Logo, se h > 2/a, |yi | → ∞ quando i → ∞.
Para a parte transiente rápida da Equação (26.2), esse critério pode ser usado para
mostrar que o tamanho do passo para manter a estabilidade deve ser < 2/1.000 = 0,002.
Além disso, deve ser observado que, embora esse critério mantenha a estabilidade (ou
seja, uma solução limitada), seria necessário um tamanho de passo ainda menor para
obter uma solução acurada. Logo, embora o transiente ocorra apenas para uma pequena
fração do intervalo de integração, ele controla o tamanho máximo permissível do passo.
Superficialmente, você poderia supor que as rotinas adaptativas do tamanho do
passo descritas no final do último capítulo poderiam oferecer uma solução para esse
dilema. Poderia pensar que elas usariam pequenos passos durante os transientes rápidos e
passos grandes caso contrário. Entretanto, esse não é o caso, porque as exigências de estabilidade ainda fariam que fosse necessário usar tamanhos de passo muito pequenos ao
longo de toda a solução.
Em vez de usar abordagens explícitas, os métodos implícitos oferecem um recurso
alternativo. Tais representações são chamadas implícitas porque a incógnita aparece em
ambos os lados da equação. Uma forma implícita do método de Euler pode ser desenvolvida pelo cálculo da derivada em um instante futuro,
yi+1 = yi +
dyi+1
h
dt
Isso é chamado de método de Euler regressivo ou implícito. A substituição da Equação
(26.3) fornece
yi+1 = yi − ayi+1 h
que pode ser resolvida por
yi
yi+1 =
1 + ah
(26.5)
Nesse caso, independentemente do tamanho do passo, |yi | → 0 quando i → ∞. Assim,
a abordagem é chamada incondicionalmente estável.
26.1 RIGIDEZ
EXEMPLO 26.1
627
Euler Explícito e Implícito
Enunciado do Problema. Use os métodos de Euler implícito e explícito para resolver
dy
= −1.000y + 3.000 − 2.000e−t
dt
em que y(0) = 0. (a) Use Euler explícito com tamanhos de passo de 0,0005 e 0,0015 para
determinar y entre t = 0 e 0,006. (b) Use Euler implícito com tamanho de passo de 0,05
para determinar y entre 0 e 0,4.
Solução.
(a) Para esse problema, o método de Euler explícito é
yi+1 = yi + (−1000yi + 3000 − 2000e−ti )h
O resultado para h = 0,0005 está mostrado na Figura 26.2a junto com a solução
analítica. Embora ela apresente algum erro de truncamento, o resultado captura a
forma geral da solução analítica. Em contraste, quando o tamanho do passo é aumentado para um valor um pouco abaixo do limite de estabilidade (h = 0,0015), a
solução apresenta oscilações. Usar h > 0,002 resultaria em uma solução totalmente
instável, isto é, que iria para infinito conforme a solução prosseguisse.
(b) O método de Euler implícito é
yi+1 = yi + (−1000yi+1 + 3000 − 2000e−ti+1 )h
Agora, como a EDO é linear, podemos reescrever essa equação de modo que yi+1
fique isolado no lado esquerdo,
yi+1 =
yi + 3000h − 2000he−ti+1
1 + 1000h
O resultado para h = 0,05 está mostrado na Figura 26.2b junto com a solução
analítica. Observe que, embora tenhamos usado um tamanho de passo muito maior
do que aquele que induziu estabilidade no Euler explícito, a solução numérica segue
de perto o resultado analítico.
FIGURA 26.2
Solução de uma EDO rígida com os métodos de Euler (a) explícito e (b) implícito.
y
1,5
h = 0,0015
1
Exata
h = 0,0005
0,5
0
0
0,002
0,004
0,006 t
(a)
y
2
Exata
1
h = 0,05
0
0
0,1
0,2
(b)
0,3
0,4
t
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
628
Os sistemas de EDOs também podem ser rígidos. Um exemplo é
dy1
= −5y1 + 3y2
dt
dy2
= 100y1 − 301y2
dt
(26.6a)
(26.6b)
Para condições iniciais y1(0) = 52,29 e y2(0) = 83,82, a solução exata é
y1 = 52,96e−3,9899t − 0,67e−302,0101t
y2 = 17,83e
−3,9899t
+ 65,99e
−302,0101t
(26.7a)
(26.7b)
Observe que os expoentes são negativos e diferem em cerca de duas ordens de grandeza.
Como no caso de uma única equação, são os expoentes grandes que respondem rapidamente e são o cerne da rigidez do problema.
Um método de Euler implícito para sistemas pode ser formulado para o caso presente como
y1,i+1 = y1,i + (−5y1,i+1 + 3y2,i+1 )h
(26.8a)
y2,i+1 = y2,i + (100y1,i+1 − 301y2,i+1 )h
(26.8b)
(1 + 5h)y1,i+1 − 3hy2,i+1 = y1,i
(26.9a)
Agrupando os termos, obtemos
−100hy1,i+1 + (1 + 301h)y2,i+1 = y2,i
(26.9b)
Logo, podemos ver que o problema consiste em resolver um conjunto de equações
simultâneas para cada passo no tempo.
Para EDOs não-lineares, a solução se torna ainda mais difícil, já que envolve a resolução de um sistema de equações simultâneas não-lineares (lembre-se da Seção 6.5).
Assim, embora se ganhe estabilidade com as abordagens implícitas, é pago um preço na
forma de um aumento da complexidade da solução.
O método de Euler implícito é incondicionalmente estável e acurado apenas em
primeira ordem. Também é possível desenvolver de forma parecida um esquema de integração usando a regra do trapézio implícita, acurada até segunda ordem, para sistemas
rígidos. Em geral é desejável obter métodos de ordem superior. As fórmulas de AdamsMoulton descritas depois neste capítulo também podem ser usadas para obter métodos
implícitos de ordem superior. Entretanto, os limites de estabilidade de tais abordagens são
muito severos quando aplicados a sistemas rígidos. Gear (1971) desenvolveu uma série
especial de esquemas implícitos que têm limites de estabilidade muito maiores baseados
em fórmulas de diferença regressiva. Esforços consideráveis têm sido feitos para desenvolver softwares que implementem eficientemente os métodos de Gear. Como resultado,
esse provavelmente é o método mais amplamente usado para resolver sistemas rígidos.
Além disso, Rosenbrock e outros (ver Press et al., 1992) propuseram algoritmos de
Runge-Kutta implícitos em que k termos apareciam implicitamente. Esses métodos têm
boas características de estabilidade e são bastante adequados para a solução de sistemas
de equações diferenciais rígidos.
26.2
MÉTODOS DE PASSO MÚLTIPLO
Os métodos de passo único descritos nas seções anteriores utilizam informações em um
único ponto xi para prever um valor da variável dependente yi+1 em um ponto futuro xi+1
(Figura 26.3a). Abordagens alternativas chamadas métodos de passo múltiplo (Figura
26.3b) são baseadas na percepção de que, uma vez que o cálculo tenha começado, informação valiosa de pontos anteriores está a nossa disposição. A curvatura das linhas ligando
esses valores anteriores fornece informação com relação à trajetória da solução. Os métodos de passo múltiplo explorados neste capítulo usam essa informação para resolver
EDOs. Antes de descrever as versões de ordem superior, apresentaremos um método simples de segunda ordem que serve para ilustrar as características gerais das abordagens de
passo múltiplo.
26.2 MÉTODOS DE PASSO MÚLTIPLO
y
629
y
FIGURA 26.3
Descrição gráfica da diferença
fundamental entre os métodos
(a) de passo único e
(b) de passo múltiplo para
resolver EDOs.
xi
xi + 1 x
xi – 2
xi – 1
xi
xi + 1 x
(b)
(a)
26.2.1 O Método de Heun de Início Não-automático
Lembre-se de que a abordagem de Heun usa o método de Euler como um preditor
[Equação (25.15)]:
0
yi+1
= yi + f(xi , yi )h
(26.10)
e a regra do trapézio como um corretor [Equação (25.16)]:
0
f(xi, yi ) + f xi+1, yi+1
yi+1 = yi +
h
2
(26.11)
Logo, o preditor e o corretor têm erros de truncamento locais de O(h2) e O(h3), respectivamente. Isso sugere que o preditor é o elo fraco no método, já que tem o erro maior.
Essa fraqueza é significativa, pois a eficiência do passo iterativo de correção depende da
acurácia da previsão inicial. Conseqüentemente, uma forma de melhorar o método de
Heun é desenvolver um preditor que tenha um erro local de O(h3). Pode-se conseguir isso
usando o método de Euler e a inclinação em yi e informação extra de um ponto anterior
yi−1, como em
0
yi+1
= yi−1 + f(xi, yi )2h
(26.12)
Observe que a Equação (26.12) alcança O(h3) usando um tamanho de passo maior, 2h.
Além disso, observe que a Equação (26.12) não é de início automático, pois
envolve um valor anterior da variável dependente yi−1. Tal valor não estaria disponível em
um problema de valor inicial típico. Por causa desse fato, as Equações (26.11) e (26.12)
são chamadas de método de Heun de início não-automático.
Como descrito na Figura 26.4, a estimativa da derivada na Equação (26.12) está
agora localizada no ponto médio em vez de no início do intervalo no qual a previsão é
feita. Como será mostrado a seguir, a centralização melhora o erro do preditor para O(h3).
Entretanto, antes de prosseguir para uma dedução formal do Heun de início nãoautomático, vamos resumir o método e expressá-lo usando uma nomenclatura ligeiramente modificada:
Preditor:
0
m
yi+1
= yi−1
+ f xi, yim 2h
Corretor:
j
yi+1
j−1
f xi, yim + f xi+1, yi+1
=
+
h
2
(para j = 1, 2, . . . , m)
yim
(25.13)
(25.14)
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
630
0
Inclinação = f (xi+1, yi+1
)
y
xi–1
xi
xi+1
x
(a)
y
Inclinação =
0
f (xi, yi) + f (xi+1, yi+1
)
2
xi
xi+1
x
(b)
FIGURA 26.4
Uma descrição gráfica do método de Heun de início não-automático. (a) O método do ponto
médio, que é usado como um preditor. (b) A regra do trapézio que é usada como um corretor.
em que os sobrescritos foram adicionados para denotar que o corretor é aplicado iteratim
vamente de j = 1 a m para obter soluções refinadas. Observe que yim e yi−1
são o resultado final das iterações do corretor nos passos anteriores no tempo. Param-se as iterações
em qualquer passo no tempo com base no seguinte critério de parada
j
y − y j−1
i+1
i+1
|εa | =
(26.15)
100%
j
y
i+1
Quando εa for menor do que uma tolerância de erro pré-especificada, param-se as
iterações. Nesse ponto, j = m. O uso das Equações (26.13) a (26.15) para resolver uma
EDO está ilustrado no seguinte exemplo.
EXEMPLO 26.2
Método de Heun com Início Não-automático
Enunciado do Problema. Use o método de Heun de início não-automático para fazer os
mesmos cálculos feitos anteriormente no Exemplo 25.5 com o método de Heun. Isto é, integre y ′ = 4e0,8x − 0,5y de x = 0 a x = 4 usando um tamanho de passo de 1,0. Como no
Exemplo 25.5, a condição inicial em x = 0 é y = 2. Entretanto, como agora estamos lidando com um método de passo múltiplo, precisamos da informação adicional de que y é
igual a −0,3929953 em x = −1.
Solução. O preditor [Equação (26.13)] é usado para extrapolar linearmente de x = −1 a
x = 1.
y10 = −0,3929953 + 4e0,8(0) − 0,5(2) 2 = 5,607005
26.2 MÉTODOS DE PASSO MÚLTIPLO
631
O corretor [Equação (26.14)] é então usado para calcular o valor:
y11 = 2 +
4e0,8(0) − 0,5(2) + 4e0,8(1) − 0,5(5,607005)
1 = 6,549331
2
o qual representa um erro relativo porcentual de 5,73% (valor verdadeiro ⫽ 6,194631).
Esse erro é um pouco menor que o valor de 8,18% que ocorreu no método de Heun de início automático.
Agora, a Equação (26.14) pode ser aplicada iterativamente para melhorar a solução:
y12 = 2 +
3 + 4e0,8(1) − 0,5(6,549331)
1 = 6,313749
2
o que representa um εt de −1,92%. Uma estimativa aproximada do erro também pode ser
determinada usando a Equação (26.15):
6,313749 − 6,549331
100% = 3,7%
|εa | =
6,313749
A Equação (26.14) pode ser aplicada iterativamente até que εa cai abaixo de um valor préespecificado εs . Como no caso do método de Heun (lembre-se do Exemplo 25.5), as iterações convergem para um valor de 6,360865 (εt = −2,68%). No entanto, como o valor
inicial do preditor é mais acurado, o método de passo múltiplo converge a uma taxa um
pouco mais rápida.
Para o segundo passo, o preditor é
y20 = 2 + 4e0,8(1) − 0,5(6,360865) 2 = 13,44346
εt = 9,43%
o qual é superior à previsão de 12,08260 (εt = 18%) que foi calculada com o método de
Heun original. O primeiro corretor fornece 15,76693 (εt = 6,8%) e as iterações subseqüentes convergem para o mesmo resultado obtido com o método de Heun de início automático: 15,30224 (εt = −3,1%). Como no passo anterior, a taxa de convergência do
corretor é um pouco melhor por causa da previsão inicial melhor.
Dedução e Análise de Erro das Fórmulas Preditor-Corretor. Acabamos de usar conceitos gráficos para deduzir o método de Heun de início não-automático. Agora mostraremos como as mesmas equações podem ser deduzidas matematicamente. Essa dedução
pode ser particularmente interessante porque liga idéias de ajustes de curvas, integração
numérica e EDOs. O exercício também é útil porque fornece um procedimento simples
para deduzir métodos de passo múltiplo de ordem superior e estimativas para seus erros.
A dedução é baseada na solução da EDO geral
dy
= f(x, y)
dx
Essa equação pode ser resolvida multiplicando-se ambos os lados por dx e integrando
entre os extremos em i e i + 1:
yi+1
yi
dy =
xi+1
f(x, y) dx
xi
O lado esquerdo pode ser integrado com o uso do teorema fundamental [lembre-se da
Equação (25.21)]:
xi+1
yi+1 = yi +
f(x, y) dx
(26.16)
xi
A Equação (26.16) representa uma solução da EDO se a integral puder ser calculada,
ou seja, ela fornece um meio de calcular um novo valor da variável dependente yi+1 com
base no valor anterior yi e na equação diferencial.
632
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
As fórmulas de integração numéricas como as que desenvolvemos no Capítulo 21
fornecem uma maneira de fazer esse cálculo. Por exemplo, a regra do trapézio [Equação
(21.13)] pode ser usada para calcular a integral, como em
xi+1
f(xi , yi ) + f(xi+1 , yi+1 )
f(x, y) dx =
h
(26.17)
2
xi
em que h = xi+1 − xi é o tamanho do passo. Substituindo a Equação (26.17) na Equação
(26.16), obtemos
yi+1 = yi +
f(xi , yi ) + f(xi+1 , yi+1 )
h
2
que é a equação do corretor para o método de Heun. Como essa equação é baseada na
regra do trapézio, o erro de truncamento pode ser obtido diretamente da Tabela 21.2,
Ec = −
1 3 (3)
1
h y (ξc ) = − h 3 f ′′(ξc )
12
12
(26.18)
em que o subscrito c indica que esse é o erro do corretor.
Uma abordagem parecida pode ser usada para deduzir o preditor. Nesse caso, os limites de integração são de i − 1 a i + 1:
yi+1
xi+1
dy =
f(x, y) dx
yi−1
xi−1
o que pode ser integrado e reorganizado para fornecer
xi+1
yi+1 = yi−1 +
f(x, y) dx
(26.19)
xi−1
Agora, em vez de usar uma fórmula fechada da Tabela 21.2, a primeira fórmula de integração aberta de Newton-Cotes (veja a Tabela 21.4) pode ser utilizada para calcular a
integral, como em
xi+1
f(x, y) dx = 2h f(xi, yi )
(26.20)
xi−1
o que é chamado método do ponto médio. A substituição da Equação (26.20) na Equação
(26.19) fornece
yi+1 = yi−1 + 2h f(xi, yi )
que é o preditor para o método de Heun de início não-automático. Como no caso do corretor, o erro de truncamento local pode ser tomado diretamente da Tabela 21.4:
Ep =
1
1 3 (3)
h y (ξ p ) = h 3 f ′′(ξ p )
3
3
(26.21)
em que o subscrito p indica que esse é o erro do preditor.
Assim, o preditor e o corretor para o método de Heun de início não-automático têm
erros de mesma ordem. Além de melhorar a acurácia do preditor, esse fato tem as vantagens adicionais relacionadas com a análise de erro, como elaborado na próxima seção.
Estimativas de Erro. Se o preditor e o corretor de um método de passo múltiplo forem
ambos da mesma ordem, pode ser obtida uma estimativa para o erro de truncamento local
durante o transcorrer de um cálculo. Essa é uma tremenda vantagem, pois ela estabelece
um critério para ajustes do tamanho do passo.
A estimativa para o erro de truncamento local é dada pela Equação (26.21). Essa estimativa de erro pode ser combinada com a estimativa de yi+l do passo do preditor para
fornecer [lembre-se da nossa definição básica na Equação (3.1)]
1
0
Valor verdadeiro = yi+1
+ h 3 y (3) (ξ p )
3
(26.22)
26.2 MÉTODOS DE PASSO MÚLTIPLO
633
Usando uma abordagem parecida, a estimativa de erro para o corretor [Equação (26.18)]
pode ser combinada com o resultado do corretor yi+l para fornecer
m
Valor verdadeiro = yi+1
−
1 3 (3)
h y (ξc )
12
(26.23)
A Equação (26.22) pode ser subtraída da Equação (26.23) para fornecer
m
0
0 = yi+1
− yi+1
−
5 3 (3)
h y (ξ )
12
(26.24)
onde ξ agora está entre xi−l e xi+l. Agora, dividindo a Equação (26.24) por 5 e reorganizando o resultado, obtemos
m
0
yi+1
− yi+1
1
= − h 3 y (3) (ξ )
5
12
(26.25)
Observe que os lados direitos das Equações (26.18) e (26.25) são idênticos, com
exceção do argumento na terceira derivada. Se a terceira derivada não variar muito no intervalo em questão, podemos supor que os lados direitos são iguais e, portanto, os lados
esquerdos também deveriam ser iguais, como em
Ec = −
m
0
yi+1
− yi+1
5
(26.26)
Assim, chegamos a uma relação que pode ser usada para obter uma estimativa do erro de
0
truncamento em cada passo com base em duas quantidades — o preditor (yi+1
) e o corretor
m
(yi+1 ) — que são subprodutos rotineiros dos cálculos.
EXEMPLO 26.3
Estimativa do Erro de Truncamento em cada Passo
Enunciado do Problema. Use a Equação (26.26) para obter uma estimativa do erro de
truncamento em cada passo do Exemplo 26.2. Observe que os valores verdadeiros em
x = 1 e 2 são 6,194631 e 14,84392, respectivamente.
Solução. Em xi+l = 1, o preditor dá 5,607005 e o corretor fornece 6,360865. Esses valores podem ser substituídos na Equação (26.26) para dar
Ec = −
6,360865 − 5,607005
= −0,1507722
5
o qual se compara bem com o erro exato,
E t = 6,194631 − 6,360865 = −0,1662341
Em xi+l = 2, o preditor dá 13,44346 e o corretor fornece 15,30224, que podem ser
usados para calcular
Ec = −
15,30224 − 13,44346
= −0,3717550
5
que também se compara favoravelmente com o erro exato, Et = 14,84392 − 15,30224 =
−0,4583148.
A facilidade com a qual a estimativa de erro pode ser obtida usando-se a Equação
(26.26) fornece uma base racional para ajustes no tamanho do passo durante o decorrer de
um cálculo. Por exemplo, se a Equação (26.26) indicar que o erro é maior do que o nível
aceitável, o tamanho do passo poderia ser diminuído.
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
634
Modificadores. Antes de discutir os algoritmos computacionais, devemos observar
duas outras formas pelas quais o método de Heun de início não-automático pode ser tornado mais acurado e eficiente. Primeiro, você deveria perceber que, além de fornecer um
critério para o ajuste do tamanho do passo, a Equação (26.26) representa uma estimativa
numérica da discrepância entre o valor corrigido final em cada passo yi+1 e o valor
verdadeiro. Assim, ela pode ser adicionada diretamente a yi+1 para refinar a estimativa
ainda mais:
m
m
yi+1
← yi+1
−
m
0
yi+1
− yi+1
5
(26.27)
A Equação (26.27) é chamada de modificador do corretor. (O símbolo ← é lido “é subsm
tituído por”.) O lado esquerdo é o valor modificado de yi+1
.
Uma segunda melhoria, que se relaciona mais com a eficiência do programa, é um
modificador do preditor, cujo objetivo é ajustar o resultado do preditor de modo que ele
esteja mais próximo do valor final para o qual o corretor converge. Isso é vantajoso
porque, como observado no início da seção, o número de iterações do corretor depende
muito da acurácia da previsão inicial. Conseqüentemente, se o preditor for modificado
adequadamente, poderemos reduzir o número de iterações necessárias para convergir
para o valor final do corretor.
Tal modificador pode ser deduzido simplesmente supondo que a terceira derivada é
relativamente constante de passo a passo. Portanto, usando o resultado do passo anterior
em i, a Equação (26.25) pode ser escrita como
12 0
yi − yim
(26.28)
5
= y (3) (ξ p ) , pode ser substituída na Equação (26.21) para
a qual, supondo que y (3) (ξ ) ∼
fornecer
h 3 y (3) (ξ ) = −
Ep =
4 m
yi − yi0
5
(26.29)
a qual pode então ser usada para modificar o resultado do preditor:
0
0
yi+1
← yi+1
+
EXEMPLO 26.4
4 m
yi − yi0
5
(26.30)
Efeito dos Modificadores nos Resultados do Preditor-Corretor
Enunciado do Problema. Recalcule o Exemplo 26.3 usando ambos os modificadores.
Solução. Como no Exemplo 26.3, o resultado inicial do preditor é 5,607005. Como o
modificador do preditor [Equação (26.30)] usa valores de uma iteração anterior, ele não
pode ser usado para melhorar o resultado inicial. Entretanto, a Equação (26.27) pode ser
usada para modificar o valor corrigido de 6,360865 (εt = −2,684%), como em
y1m = 6,360865 −
6,360865 − 5,607005
= 6,210093
5
o que representa um εt = −0,25%. Assim, o erro é reduzido em mais de uma ordem de
grandeza.
Para a próxima iteração, o preditor [Equação (26.13)] é usado para calcular
εt = 8,42%
y20 = 2 + 4e0,8(0) − 0,5(6,210093) 2 = 13,59423
o que é cerca da metade do erro do preditor para a segunda iteração do Exemplo 26.3, que
era de εt = 18,6%. Essa melhora ocorre porque estamos usando uma estimativa superior
de y (6,210093 em vez de 6,360865) no preditor. Em outras palavras, os erros propagado
e global são reduzidos pela inclusão do modificador do corretor.
26.2 MÉTODOS DE PASSO MÚLTIPLO
635
Agora, como temos informação da iteração anterior, a Equação (26.30) pode ser
usada para modificar o preditor, como em
4
y20 = 13,59423 + (6,360865 − 5,607005) = 14,19732
5
εt = −4,36%
o que, novamente, reduz o erro à metade.
Essa modificação não tem efeito na saída final do passo subseqüente do corretor. Independentemente de serem usados preditores modificados ou não, o corretor, no final das
contas, convergirá para a mesma resposta. Mas, como a taxa ou eficiência da convergência depende da acurácia da previsão inicial, a modificação pode reduzir o número de iterações necessárias para a convergência.
Implementando o corretor, obtemos um resultado de 15,21178 (εt = −2,48%), o
que representa uma melhora em relação ao Exemplo 26.3, por causa da redução no erro
global. Finalmente, o resultado pode ser modificado usando-se a Equação (26.27):
y2m = 15,21178 −
15,21178 − 13,59423
= 14,88827
5
εt = −0,30%
Novamente, o erro foi reduzido de uma ordem de grandeza.
Como no exemplo anterior, a adição de modificadores aumenta tanto a eficiência
quanto a acurácia dos métodos de passo múltiplo. Em particular, o modificador do corretor aumenta efetivamente a ordem da técnica. Assim, o método de Heun de início nãoautomático com modificadores é de ordem três em vez de ordem dois, como era o caso
para a versão sem modificadores. Contudo, deve ser observado que existem situações nas
quais o modificador do corretor irá afetar a estabilidade do processo de iteração do corretor. Como conseqüência, o modificador não é incluído no algoritmo de Heun de início
não-automático delineado na Figura 26.5. Apesar disso, o modificador do corretor ainda
pode ter utilidade no controle do tamanho do passo, como discutido a seguir.
FIGURA 26.5
A seqüência de fórmulas
usadas para implementar o
método de Heun de início nãoautomático. Observe que as
estimativas de erro para o
corretor podem ser usadas
para modificar o corretor.
Entretanto, como isso pode
afetar a estabilidade do
corretor, o modificador não é
incluído nesse algoritmo. A
estimativa de erro para o
corretor é incluída por causa
de sua utilidade para o ajuste
do tamanho do passo.
Preditor:
y0i+1 = y mi−1 + f (xi, y mi)2h
(Armazene esse resultado como y 0i+1,u = y 0i+1, em que o subscrito u indica que a variável não foi
modificada.)
Modificador do Preditor:
4
y0i+1 ← y0i+1,u + ᎏᎏ (y mi,u − y 0i,u)
5
Corretor:
f (xi, y mi) + f (xi+1, y j−1
i+1)
j
y i+1
= y mi + ᎏᎏᎏ h
2
(para j = 1 a um máximo m de iterações)
Verificação do Erro:
冨
冨
y ji+1 − y j−1
i+1
100%
|εa| = ᎏᎏ
y ji+1
(Se |εa| > critério de erro, faça j = j +1 e repita o corretor; se εa ≤ critério de erro, armazene o resultado
como y mi+1,u = y mi+1.)
Estimativa de Erro do Corretor:
1
Ec = −ᎏᎏ(y mi+1,u − y 0i+1,u)
5
(Se os cálculos forem continuar, faça i = i + 1 e volte ao preditor.)
636
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
26.2.2 Controle do Tamanho do Passo e Programas
Computacionais
Tamanho de Passo Constante. É relativamente simples desenvolver uma versão com
tamanho de passo constante do método de Heun com início não-automático. Uma das
únicas complicações é que é necessário um método de passo único para gerar um ponto
extra para iniciar os cálculos.
Além disso, como é usado um tamanho de passo constante, deve ser escolhido um
valor para h antes dos cálculos. Em geral, a experiência indica que um tamanho de passo
ótimo deveria ser suficientemente pequeno para garantir a convergência com duas iterações do corretor (Hull e Creemer, 1963). Além disso, ele deveria ser pequeno o bastante
para fornecer um erro de truncamento suficientemente pequeno. Ao mesmo tempo, o
tamanho do passo deveria ser tão grande quanto possível para minimizar o custo do
tempo de execução e os erros de arredondamento. Como com os outros métodos para
EDOs, a única maneira prática de avaliar o módulo do erro global é comparar os resultados para o mesmo problema, mas com o tamanho do passo dividido por 2.
Tamanho de Passo Variável. São usados tipicamente dois critérios para decidir se uma
mudança no tamanho do passo é necessária. Primeiro, se a Equação (26.26) for maior do
que algum critério de erro pré-especificado, o tamanho do passo é diminuído. Segundo, o
tamanho do passo é escolhido de modo que o critério de convergência do corretor seja satisfeito em duas iterações. Esse critério tem por objetivo levar em conta os prós e contras
entre a taxa de convergência e o número total de passos nos cálculos. Para valores pequenos de h, a convergência será mais rápida, porém, serão necessários mais passos. Para
h maiores, a convergência é mais lenta, mas existirão menos passos. A experiência (Hull
e Creemer, 1963) sugere que os passos totais serão minimizados se h for escolhido de
modo que o corretor convirja dentro de duas iterações. Portanto, se forem necessárias
mais de duas iterações, o tamanho do passo é diminuído, e se forem necessárias menos de
duas iterações, o tamanho do passo é aumentado.
Embora essa estratégia especifique quando as modificações do passo devem ser
feitas, ela não indica como eles devem ser modificados. Essa é uma questão crítica,
porque os métodos de passo múltiplo exigem, por definição, diversos pontos para calcular um novo ponto. Uma vez que o tamanho do passo seja mudado, deve ser determinado
um novo conjunto de pontos. Uma abordagem é recomeçar e usar o método de passo
único para gerar um novo conjunto de pontos iniciais.
Uma estratégia mais eficiente que faz uso da informação existente é aumentar e
diminuir o tamanho do passo dobrando-o ou dividindo-o por 2. Como descrito na
Figura 26.6b, se um número suficiente de valores anteriores tiver sido gerado, o aumento
do tamanho do passo dobrando-o é uma tarefa relativamente simples (Figura 26.6c). Tudo
que é necessário é não perder de vista os subscritos, de modo que os valores antigos de x
e y se tornem valores novos apropriados. Dividir o tamanho do passo por 2 é um pouco
mais complicado, porque alguns dos novos valores não estarão disponíveis (Figura 26.6a).
Entretanto, polinômios interpoladores desenvolvidos no Capítulo 18 podem ser usados
para determinar esses valores intermediários.
De qualquer modo, a decisão de incorporar controle do tamanho do passo representa
o balanço de prós e contras entre o investimento inicial na complexidade do programa e o
retorno a longo prazo, por causa do aumento da eficiência. Obviamente, o tamanho
e a importância do próprio problema terão uma grande influência nesse balanço. Felizmente, diversos pacotes e bibliotecas de software têm rotinas de passo múltiplo que você
pode usar para obter soluções sem ter de programá-las a partir do zero. Mencionaremos
algumas delas quando revisarmos os pacotes e bibliotecas no final do Capítulo 27.
26.2.3 Fórmulas de Integração
O método de Heun de início não-automático é característico da maioria dos métodos de
passo múltiplo. Ele usa uma fórmula de integração aberta (o método do ponto médio) para
fazer uma estimativa inicial. Esse passo do preditor exige um ponto dado anterior.
A seguir, uma fórmula de integração fechada (regra do trapézio) é aplicada iterativamente
para melhorar a solução.
26.2 MÉTODOS DE PASSO MÚLTIPLO
637
y
Interpolação
x
(a)
y
x
(b)
y
x
(c)
FIGURA 26.6
Um gráfico indicando como a estratégia de dividir por 2 e dobrar permite o uso de (b)
valores calculados previamente para um método de passo múltiplo de terceira ordem. (a)
Dividir por 2; (c) dobrar.
Deveria ser óbvio que uma estratégia para melhorar métodos de passo múltiplo seria
usar fórmulas de integração de ordem superior como preditores e corretores. Por exemplo, as fórmulas de Newton-Cotes de ordem superior desenvolvidas no Capítulo 21 poderiam ser usadas para esse propósito.
Antes de descrever esses métodos de ordem superior, vamos revisar as fórmulas de
integração mais comuns nas quais eles se baseiam. Como mencionado, as primeiras
delas são as fórmulas de Newton-Cotes. Mas existe uma segunda classe chamada de fórmulas de Adams, que também revisaremos e que, muitas vezes, são preferidas. Como
descrito na Figura 26.7, a diferença fundamental entre as fórmulas de Newton-Cotes e de
Adams se relaciona com a maneira pela qual a integral é aplicada para se obter a solução.
Como descrito na Figura 26.7a, as fórmulas de Newton-Cotes fazem uma estimativa da
integral em um intervalo gerando diversos pontos. Essa integral então é usada para projetar do início do intervalo para o final. Em contraste, as fórmulas de Adams (Figura 26.7b)
usam um conjunto de pontos de um intervalo para obter uma estimativa da integral somente para o último segmento do intervalo. Essa integral então é usada para projetar
através do último segmento.
Fórmulas de Newton-Cotes. Algumas das fórmulas mais comuns para resolver
equações diferenciais ordinárias baseiam-se em ajustar um polinômio interpolador de
grau n a n + 1 valores conhecidos de y e então usar essa equação para calcular a integral.
Como discutido no Capítulo 21, as fórmulas de integração de Newton-Cotes são baseadas
nessa abordagem. Essas fórmulas são de dois tipos: abertas e fechadas.
638
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
y
FIGURA 26.7
Ilustração da diferença
fundamental entre as fórmulas
de integração de Newton-Cotes
e de Adams. (a) As fórmulas de
Newton-Cotes usam uma série
de pontos para obter uma
estimativa da integral em
diversos segmentos. A
estimativa é então usada para
projetar através de todo o
intervalo. (b) As fórmulas de
Adams usam uma série de
pontos para obter uma
estimativa da integral em um
único segmento. A estimativa é
então usada para projetar
através do segmento.
yi + 1 = yi – 2 +
xi – 2
冕
xi + 1
f (x, y) dx
xi – 2
xi – 1
xi
xi + 1
x
(a)
y
yi + 1 = yi +
xi – 2
xi – 1
冕
xi + 1
f (x, y) dx
xi
xi
xi + 1
x
(b)
Fórmulas Abertas. Para n pontos dados igualmente espaçados, as fórmulas abertas
podem ser expressas na forma de uma solução de uma EDO, como feito anteriormente
para a Equação (26.19). A equação geral para esse propósito é
yi+1 = yi−n +
xi+1
f n (x) dx
(26.31)
xi−n
onde fn(x) é um polinômio interpolador de grau n. O cálculo da integral usa a fórmula de
integração aberta de Newton-Cotes de ordem n (Tabela 21.4). Por exemplo, se n = 1,
yi+1 = yi−1 + 2h f i
(26.32)
onde fi é uma abreviação de f(xi, yi) — ou seja, a equação diferencial calculada em xi e yi.
A Equação (26.32) é conhecida como o método do ponto médio e foi usada anteriormente
como preditor no método de Heun com início não-automático. Para n = 2,
yi+1 = yi−2 +
3h
( f i + f i−1 )
2
e para n = 3,
yi+1 = yi−3 +
4h
(2 f i − f i−1 + 2 f i−2 )
3
A Equação (26.33) é descrita graficamente na Figura 26.8a.
(26.33)
26.2 MÉTODOS DE PASSO MÚLTIPLO
639
Fórmulas Fechadas. A fórmula fechada, em geral, pode ser expressa como
xi+1
yi+1 = yi−n+1 +
f n (x) dx
(26.34)
xi−n+1
onde a integral é aproximada por uma fórmula de integração fechada de Newton-Cotes de
ordem n (Tabela 21.2). Por exemplo, para n = 1,
yi+1 = yi +
h
( f i + f i+1 )
2
que é equivalente à regra do trapézio. Para n = 2,
yi+1 = yi−1 +
h
( f i−1 + 4 f i + f i+1 )
3
(26.35)
que é equivalente à regra 1/3 de Simpson. A Equação (26.35) é descrita na Figura 26.8b.
Fórmulas de Adams. O outro tipo de integração que pode ser usada para resolver EDOs
são as fórmulas de Adams. Muitos algoritmos computacionais populares para solução de
EDOs são baseados nesses métodos.
Fórmulas Abertas (Adams-Bashforth). As fórmulas de Adams podem ser deduzidas de
diversas maneiras. Uma técnica é escrever uma expansão em série de Taylor progressiva
em torno de xi:
yi+1 = yi + f i h +
f ′′
f i′ 2
h + i h3 + · · ·
2
6
FIGURA 26.8
Descrição gráfica de fórmulas de integração de Newton-Cotes abertas e fechadas. (a) A
terceira fórmula aberta [Equação (26.33)] e (b) regra 1/3 de Simpson [Equação (26.35)].
y
xi – 3
xi – 2
xi – 1
xi
xi + 1
x
xi
xi + 1
x
(a)
y
xi – 1
(b)
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
640
a qual também pode ser escrita como
h
h 2 ′′
f + ···
yi+1 = yi + h f i + f i′ +
2
3! i
(26.36)
Lembre-se (Seção 4.1.3) de que uma diferença regressiva pode aproximar a derivada:
f i′ =
f ′′
f i − f i−1
+ i h + O(h 2 )
h
2
a qual pode ser substituída na Equação (26.36),
yi+1 = yi + h f i +
h
2
f ′′
f i − f i−1
h 2 ′′
+ i h + O(h 2 ) +
f + ···
h
2
6 i
ou, agrupando os termos,
5
3
1
f i − f i−1 + h 3 f i′′ + O(h 4 )
yi+1 = yi + h
2
2
12
(26.37)
Essa fórmula é chamada de fórmula de Adams aberta de segunda ordem. As fórmulas
de Adams abertas também são conhecidas como fórmulas de Adams-Bashforth. Conseqüentemente, a Equação (26.37) algumas vezes é chamada de segunda fórmula
de Adams-Bashforth.
Fórmulas de Adams-Bashforth de ordem superior podem ser deduzidas substituindose aproximações por diferenças de ordem superior na Equação (26.36). A fórmula de
Adams aberta de ordem n pode ser representada, em geral, por
yi+1 = yi + h
n−1
βk f i−k + O(h n+1 )
(26.38)
k=0
Os coeficientes βk são compilados na Figura 26.1. A versão de quarta ordem é descrita na
Figura 26.9a. Observe que a versão de primeira ordem é o método de Euler.
TABELA 26.1 Coeficientes e erro de truncamento para os preditores de Adams-Bashforth.
Ordem
β0
1
1
2
3/2
−1/2
3
23/12
−16/12
5/12
4
55/24
−59/24
37/24
−9/24
5
1901/720
−2774/720
2616/720
−1274/720
251/720
6
4277/720
−7923/720
9982/720
−7298/720
2877/720
β1
β2
β3
β4
β5
Erro de
Truncamento
Local
1 2′
ᎏᎏh f (ξ)
2
5
′′
ᎏᎏh3f (ξ)
12
9
ᎏᎏh4f (3)(ξ)
24
251 5 (4)
ᎏᎏh f (ξ)
720
475
ᎏᎏ h6f (5)(ξ)
1440
−475/720
19,087 7 (6)
ᎏᎏh f (ξ)
60,480
26.2 MÉTODOS DE PASSO MÚLTIPLO
641
Fórmulas Fechadas (Adams-Moulton). Uma série de Taylor regressiva em torno de xi+l
pode ser escrita como
yi = yi+1 − f i+1 h +
′
f ′′
f i+1
h 2 − i+1 h 3 + · · ·
2
3!
Isolando yi+l, obtemos
h ′
h 2 ′′
+
f + ···
yi+1 = yi + h f i+1 − f i+1
2
6 i+1
(26.39)
Uma diferença pode ser usada para aproximar a primeira derivada:
′
f i+1
=
f ′′
f i+1 − f i
+ i+1 h + O(h 2 )
h
2
que pode ser substituída na Equação (26.39) e agrupando os termos obtemos
1
1
1
′′
yi+1 = yi + h
− O(h 4 )
f i+1 + f i − h 3 f i+1
2
2
12
Essa fórmula é conhecida como fórmula de Adams fechada de segunda ordem ou segunda
fórmula de Adams-Moulton. Além disso, observe que ela é a regra do trapézio.
A fórmula de Adams fechada de ordem n pode ser escrita em geral como
yi+1 = yi + h
n−1
βk f i+1−k + O(h n+1 )
k=0
Os coeficientes βk são listados na Tabela 26.2. O método de quarta ordem é descrito na
Figura 26.9b.
FIGURA 26.9
Descrição gráfica das fórmulas
de integração de Adams
abertas e fechadas. (a)
A quarta fórmula aberta de
Adams-Bashforth e (b)
a quarta fórmula fechada
de Adams-Moulton.
y
xi – 3
xi – 2
xi – 1
xi
xi + 1
x
xi
xi + 1
x
(a)
y
xi – 2
xi – 1
(b)
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
642
Quadro 26.1
Dedução das Relações Gerais para os Modificadores
A relação entre o valor verdadeiro, a aproximação e o erro de um
preditor pode ser representada, em geral, por
0
Valor verdadeiro = yi+1
+
η p n+1 (n+1)
h y
(ξ p )
δp
(Q26.1.1)
em que ηp e δp são o numerador e o denominador, respectivamente,
da constante do erro de truncamento ou para um preditor de Newton-Cotes aberto (Tabela 21.4) ou um de Adams-Bashforth (Tabela
26.1), e n é a ordem.
Uma relação parecida pode ser desenvolvida para o corretor:
m
Valor verdadeiro = yi+1
−
ηc n+1 (n+1)
h y
(ξc )
δc
(Q26.1.2)
em que ηc e δc são o numerador e o denominador, respectivamente,
da constante do erro de truncamento ou para um corretor de NewtonCotes fechado (Tabela 21.2) ou um de Adams-Moulton (Tabela 26.2).
Como foi feito na dedução da Equação (26.24), a Equação (Q26.1.1)
pode ser subtraída da Equação (Q26.1.2) para fornecer
0 = yim+1 − yi0+1 −
ηc + η p δc /δ p n+1 (n+1)
h y
(ξ )
δc
(Q26.1.3)
Agora, dividindo a equação por ηc + ηpδc/δp, multiplicando o último termo por δp/δp e reorganizando, obtemos uma estimativa do
erro de truncamento local do corretor:
m
ηc δ p
Ec ∼
y − yi0+1
=−
(Q26.1.4)
ηc δ p + η p δc i +1
Para o modificador do preditor, a Equação (Q26.1.3) pode ser
reescrita no passo anterior como
0
δc δ p
h n y (n+1) (ξ ) = −
yi − yim
ηc δ p + η p δc
a qual pode ser substituída no termo de erro da Equação (Q26.1.1)
para fornecer
m
η p δc
Ep =
yi − yi0
(Q26.1.5)
ηc δ p + η p δc
As Equações (Q26.1.4) e (Q26.1.5) são versões gerais de modificadores que podem ser usados para melhorar os algoritmos de
passo múltiplo. Por exemplo, o método de Milne tem ηp = 14,
δp = 45, ηc = 1, δc = 90. Substituindo esses valores nas Equações
(Q26.1.4) e (Q26.1.5), obtemos as Equações (26.43) e (26.42),
respectivamente. Modificadores parecidos podem ser desenvolvidos para outros pares de fórmulas abertas e fechadas que tenham
erros de truncamento locais de mesma ordem.
TABELA 26.2 Coeficientes e erros de truncamento para os corretores de Adams-Moulton.
Ordem
β0
β1
2
1/2
1/2
3
5/12
8/12
−1/12
4
9/24
19/24
−5/24
1/24
5
251/720
646/720
−264/720
106/720
−19/720
6
475/1440
1427/1440
−798/1440
482/1440
−173/1440
β2
β3
β4
β5
Erro de
Truncamento
Local
1
−ᎏᎏh3f ′′(ξ)
12
1
−ᎏᎏh4f (3)(ξ)
24
19
−ᎏᎏh5f (4)(ξ)
720
27
−ᎏᎏ h6f (5)(ξ)
1440
27/1440
863
−ᎏᎏh7f (6)(ξ)
60,480
26.2.4 Métodos de Passo Múltiplo de Ordem Superior
Agora que desenvolvemos formalmente fórmulas de integração de Newton-Cotes e de
Adams, podemos usá-las para deduzir métodos de passo múltiplo de ordem superior.
Como foi o caso no método de Euler de início não-automático, as fórmulas de integração
são aplicadas em conjunto como métodos preditor-corretor. Além disso, se as fórmulas
abertas e fechadas tiverem erro de truncamento local da mesma ordem, modificadores do
tipo listado na Figura 26.5 podem ser incorporados para melhorar a acurácia e permitir
controle do tamanho do passo. O Quadro 26.1 fornece equações gerais para esses modificadores. Na próxima seção, apresentamos duas das abordagens mais comuns de passo
múltiplo de ordem superior: o método de Milne e o método de Adams de quarta ordem.
26.2 MÉTODOS DE PASSO MÚLTIPLO
643
Método de Milne. O método de Milne é o método de passo múltiplo mais comum
baseado em fórmulas de integração de Newton-Cotes. Ele usa a fórmula aberta de Newton-Cotes de três pontos com um preditor:
4h m
m
m
0
m
yi+1
+ 2 f i−2
= yi−3
+
2 f i − f i−1
(26.40)
3
e a fórmula fechada de Newton-Cotes de três pontos (regra 1/3 de Simpson) como
um corretor:
h m
j
j−1
m
yi+1 = yi−1
+
f i−1 + 4 f im + f i+1
(26.41)
3
onde j é um índice representando o número de iterações do modificador. Os modificadores
do preditor e do corretor para o método de Milne podem ser deduzidos das fórmulas no
Quadro 26.1 e dos coeficientes de erro nas Tabelas 21.2 e 21.4:
28 m
Ep =
y − yi0
(26.42)
29 i
1 m
0
Ec ∼
y − yi+1
=−
(26.43)
29 i+1
EXEMPLO 26.5
Método de Milne
Enunciado do Problema. Use o método de Milne para integrar y ′ = 4e0,8x − 0,5y de
x = 0 a x = 4 utilizando um tamanho de passo de 1. A condição inicial em x = 0 é y = 2.
Como estamos lidando com um método de passo múltiplo, são necessários pontos anteriores. Em uma aplicação real, um método de passo único tal como RK de quarta ordem
seria usado para calcular os pontos necessários. No exemplo presente, vamos usar a
solução analítica [lembre-se da Equação (E25.5.1) do Exemplo 25.5] para calcular valores exatos em xi−3 = −3, xi−2 = −2, e xi−1 = −1 de yi−3 = −4,547302, yi−2 =
−2,306160, e yi−1 = −0,3929953, respectivamente.
Solução. O preditor [Equação (26.40)] é usado para calcular um valor em x = 1:
y10 = −4,54730 +
4(1)
[2(3) − 1,99381 + 2(1,96067)] = 6,02272
3
εt = 2,8%
O corretor [Equação (26.41) é então usado para calcular
1
y11 = −0,3929953 + [1,99381 + 4(3) + 5,890802] = 6,235210
3
εt = −0,66%
Esse resultado pode ser substituído de volta na Equação (26.41) para corrigir iterativamente a estimativa. Esse processo converge para um valor final corrigido de 6,204855
(εt = −0,17%).
Esse valor é mais acurado do que a estimativa comparável de 6,360865
(εt = −2,68%) obtida anteriormente com o método de Heun de início não-automático
(Exemplos 26.2 a 26.4). Os resultados dos passos restantes são y(2) = 14,86031
(εt = −0,11%), y(3) = 33,72426 (εt = −0,14%), e y(4) = 75,43295 (εt = −0,12%).
Como no exemplo anterior, o método de Milne em geral fornece resultados de alta
acurácia. Entretanto, há certos casos nos quais ele tem um desempenho fraco (ver Ralston
e Rabinowitz, 1978). Antes de analisar esses casos, vamos descrever outra abordagem de
passo múltiplo de ordem superior — o método de Adams de quarta ordem.
Método de Adams de Quarta Ordem. Um método de passo múltiplo popular baseado
nas fórmulas de integração de Adams usa a fórmula de Adams-Bashforth de quarta ordem
(Tabela 26.1) como o preditor:
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
644
0
yi+1
=
yim
+h
37 m
9 m
55 m 59 m
fi −
f i−1 +
f i−2 −
f
24
24
24
24 i−3
(26.44)
e a fórmula de Adams-Moulton de quarta ordem (Tabela 26.2) como o corretor:
j
yi+1
=
yim
+h
9 j−1 19 m
5 m
1 m
+
f
f −
f +
f
24 i+1
24 i
24 i−1 24 i−2
(26.45)
Os modificadores para o preditor e para o corretor no método de Adams de quarta
ordem podem ser desenvolvidos das fórmulas no Quadro 26.1 e dos coeficientes dos erros
nas Tabelas 26.1 e 26.2 como
251 m
yi − yi0
270
19 m
0
Ec = −
yi+1 − yi+1
270
Ep =
EXEMPLO 26.6
(26.46)
(26.47)
Método de Adams de Quarta Ordem
Enunciado do Problema. Use o método de Adams de quarta ordem para resolver o
mesmo problema que do Exemplo 26.5.
Solução. O preditor [Equação (26.44)] é usado para calcular um valor em x = 1.
55
59
37
9
y10 = 2 + 1
3 − 1,993814 + 1,960667 − 2,6365228 = 6,007539
24
24
24
24
εt = 3,1%
o qual é comparável ao resultado usando o método de Milne, mas um pouco menos acurado. O corretor [Equação (26.45)] é então usado para calcular
9
19
5
1
=2+1
5,898394 + 3 − 1,993814 + 1,960666 = 6,253214
24
24
24
24
εt = −0,96%
y11
que novamente é comparável ao resultado usando o método de Milne, mas menos acurado.
Esse resultado pode ser substituído de volta na Equação (26.45) para corrigir iterativamente
a estimativa. O processo converge para um valor final corrigido de 6,214424 (εt = 0,32%),
que é um resultado acurado, mas novamente um pouco inferior ao obtido com o método
de Milne.
Estabilidade dos Métodos de Passo Múltiplo. A acurácia superior do método de
Milne exibida nos Exemplos 26.5 e 26.6 poderia ter sido antecipada com base nos termos de erro para os preditores [Equações (26.42) e (26.46)] e os corretores [Equações
(26.43) e (26.47)]. Os coeficientes para o método de Milne, 14/45 e 1/90, são menores
do que aqueles para o método de Adams de quarta ordem, 251/720 e 19/720. Além
disso, o método de Milne emprega menos cálculos de funções para atingir essas acurácias superiores. À primeira vista, tais resultados poderiam levar à conclusão de que o
método de Milne é superior e, portanto, preferível ao método de Adams de quarta
ordem. Embora essa conclusão seja válida em muitos casos, existem situações nas
quais o desempenho do método de Milne é inaceitável. Tal comportamento é exibido
no seguinte exemplo.
26.2 MÉTODOS DE PASSO MÚLTIPLO
EXEMPLO 26.7
645
Estabilidade dos Métodos de Milne e de Adams de Quarta Ordem
Enunciado do Problema. Use os métodos de Milne e de Adams de quarta ordem para
resolver
dy
= −y
dx
com a condição inicial de que y = 1 em x = 0. Resolva essa equação de x = 0 a x = 10,
usando um tamanho de passo de h = 0,5. Observe que a solução analítica é y = e−x.
Solução. Os resultados, como resumidos na Figura 26.10, indicam problemas com o
método de Milne. Pouco depois do início dos cálculos, os erros começam a crescer, e seu
sinal, oscilar. Em x = 10, o erro relativo cresceu para 2.831% e o sinal do próprio valor
previsto começa a oscilar.
FIGURA 26.10
Descrição gráfica da instabilidade do método de Milne.
y
0,005
Método de Milne
Solução verdadeira
0
5
10
x
Em contraste, os resultados do método de Adams seriam muito mais aceitáveis. Embora o erro também cresça, ele faria isso a uma taxa menor. Além disso, as discrepâncias
não exibiriam as grandes oscilações de sinal exibidas pelo método de Milne.
O comportamento inaceitável manifestado no exemplo anterior pelo método de
Milne é conhecido como instabilidade. Embora ela não ocorra sempre, sua possibilidade
leva à conclusão de que a abordagem de Milne deveria ser evitada. Logo, o método de
Adams de quarta ordem é normalmente preferido.
A instabilidade no método de Milne decorre do corretor. Conseqüentemente, foram
feitas tentativas de corrigir esse defeito, desenvolvendo-se corretores estáveis. Uma alternativa que é usada comumente e que utiliza essa abordagem é o método de Hamming, que
usa o preditor de Milne e um corretor estável:
j−1
m
m
9yim − yi−2
+ 3h yi+1 + 2 f im − f i−1
j
yi+1 =
8
RIGIDEZ E MÉTODOS DE PASSO MÚLTIPLO
646
que tem o erro de truncamento local:
Ec =
1 5 (4)
h y (ξc )
40
O método de Hamming também inclui modificadores da forma
Ep =
9 m
yi − yi0
121
Ec = −
112 m
0
yi+1 − yi+1
121
O leitor pode obter informações adicionais sobre esse e outros métodos de passo múltiplo
em outras referências (Hamming, 1973; Lapidus e Seinfield, 1971).
PROBLEMAS
26.1 É dada
dy
= −200,000y + 200,000e−x − e−x
dx
(a) Faça uma estimativa do tamanho do passo necessário para
manter a estabilidade usando o método de Euler explícito.
(b) Se y(0) = 0, use o método de Euler implícito para obter uma
solução de x = 0 a 2 usando um tamanho de passo de 0,1.
26.2 É dada
dy
= 30(cos t − y) + 3sen t
dt
Se y(0) = 1, use Euler implícito para obter uma solução de t = 0 a
4 usando um tamanho de passo de 0,4.
26.3 É dado o sistema
dx1
= 1999x1 + 2999x2
dt
dx2
= −2000x1 − 3000x2
dt
Se x1(0) = x2(0) = 1, obtenha uma solução de t = 0 a 0,2 usando
um tamanho de passo de 0,05 com os métodos de Euler (a) explícito e (b) implícito.
26.4 Resolva o seguinte problema de valor inicial no intervalo de
t = 2 a t = 3:
dy
= −0,4y + e−2t
dt
Use o método de Heun de início não-automático com um tamanho
de passo de 0,5 e condições iniciais de y(l,5) = 5,800007 e
y(2,0) = 4,762673. Itere o corretor até εs = 0,1%. Calcule os erros
relativos porcentuais verdadeiros εt para seus resultados com base
na solução analítica.
26.5 Repita o Problema 26.4, mas use o método de Adams de
quarta ordem. [Observação: y(0,5) = 8,46909 e y(1,0) = 7,037566.]
Itere o corretor até εs = 0,01%.
26.6 Resolva o seguinte problema de valor inicial de t = 4 a 5:
dy
2y
=−
dt
t
Use um tamanho de passo de 0,5 e valores iniciais de y(2,5) = 0,48,
y(3) = 0,333333, y(3,5) = 0,244898 e y(4) = 0,1875. Obtenha sua
solução usando as seguintes técnicas: (a) o método de Heun de iní-
cio não-automático (εs = 1%) e (b) o método de Adams de quarta
ordem (εs = 0,01%). [Observação: as respostas exatas obtidas analiticamente são y(4,5) = 0,148148 e y(5) = 0,12.] Calcule os erros
relativos porcentuais verdadeiros εt para seus resultados.
26.7 Resolva o seguinte problema de valor inicial de x = 0 a
x = 0,75:
dy
= yx 2 − y
dx
Use o método de Heun de início não-automático com um tamanho
de passo de 0,25. Se y(0) = 1, empregue um método RK de quarta
ordem com um tamanho de passo de 0,25 para prever o valor inicial
em y(0,25).
26.8 Resolva o seguinte problema de valor inicial de t = 1,5 a
t = 2,5
dy
−2y
=
dt
1+t
Use o método de Adams de quarta ordem. Utilize um tamanho de
passo de 0,5 e o método de RK de quarta ordem para prever os valores iniciais se y(0) = 2.
26.9 Desenvolva um programa para o método de Euler implícito
para uma única EDO linear. Teste-o duplicando o Problema 26.1b.
26.10 Desenvolva um programa para o método de Euler implícito
para um par de EDOs lineares. Teste-o resolvendo a Equação (26.6).
26.11 Desenvolva um programa amigável ao usuário para o método
de Heun de início não-automático com um modificador para o preditor. Empregue um método RK de quarta ordem para calcular os
valores iniciais. Teste o programa duplicando o Exemplo 26.4.
26.12 Use o programa desenvolvido no Problema 26.11 para resolver o Problema 26.7.
26.13 Considere uma haste fina de comprimento l se movendo no
plano xy como mostrado na Figura P26.13. A haste está fixada por
um pino em uma extremidade e existe uma massa na outra. Observe que g = 9,81 m/s2 e l = 0,5 m. Esse sistema pode ser resolvido usando
θ̈ −
g
θ =0
l
Seja θ(0) = 0 e θ̇(0) = 0,25 rad/s. Resolva usando qualquer
método estudado neste capítulo. Faça um gráfico do ângulo em
função do tempo e da velocidade angular em função do tempo.
(Sugestão: decomponha a EDO de segunda ordem.)
PROBLEMAS
m
l
Figura P26.13
26.14 É dada a EDO de primeira ordem
dx
= −700x − 1000e−t
dt
x(t = 0) = 4
Resolva essa equação diferencial rígida usando um método
numérico no período de tempo 0 ≤ t ≤ 5. Resolva também analiti-
647
camente e trace a solução analítica e a numérica para o transiente
rápido e a fase de transição lenta da escala de tempo.
26.15 A seguinte EDO de segunda ordem é considerada rígida
d2 y
dy
= −1001
− 1000y
dx 2
dx
Resolva essa equação diferencial (a) analiticamente e (b) numericamente para x = 0 a 5. Para (b), use uma abordagem implícita com
h = 0,5. Observe que as condições iniciais são y(0) = 1 e y(0) = 0.
Mostre ambos os resultados graficamente.
26.16 Resolva a seguinte equação diferencial de t = 0 a 1
dy
= −10y
dt
com a condição inicial y(0) = 1. Use as seguintes técnicas para
obter sua solução: (a) analiticamente, (b) método de Euler explícito
e (c) método de Euler implícito. Para (b) e (c), use h = 0,1 e 0,2.
Faça um gráfico de seus resultados.
CAPÍTULO
27
Problemas de Contorno e
de Autovalores
Lembre-se de nossa discussão no início da Parte Sete em que uma equação diferencial ordinária é acompanhada por condições auxiliares. Essas condições são usadas para calcular as constantes de integração que aparecem durante a solução da equação. Para uma
equação de ordem n, são necessárias n condições. Se todas as condições forem especificadas no mesmo valor da variável independente, então, estamos lidando com um
problema de valor inicial (Figura 27.1a). Até esse ponto, o material da Parte Sete foi dedicado a esse tipo de problema.
Em contraste, existe outra aplicação para a qual as condições não são conhecidas em
um único ponto, mas, em vez disso, são conhecidas em valores diferentes da variável independente. Como esses valores normalmente são especificados nas extremidades ou
fronteiras do sistema, eles, em geral, são conhecidos como problemas de contorno
(Figura 27.1b). Uma variedade de aplicações significativas na engenharia cai nessa
classe. Neste capítulo, discutimos duas abordagens gerais para obter sua solução: o método shooting e a abordagem por diferença finita. Adicionalmente, apresentamos técnicas
para abordar um tipo especial de problema de contorno: a determinação de autovalores. É
claro que os autovalores também têm muitas aplicações além daquelas envolvidas nos
problemas de contorno.
FIGURA 27.1
Problemas de valor inicial
versus problemas de contorno.
(a) Um problema de valor
inicial no qual todas as
condições são especificadas
no mesmo valor da variável
independente. (b) Um problema
de contorno em que as
condições são especificadas
em valores diferentes da
variável independente.
dy1
= f1(t, y1, y2)
dt
dy2
= f2(t, y1, y2)
dt
em que t = 0, y1 = y1, 0 e y2 = y2, 0
y
y1
y1, 0
Condições iniciais
y2
y2, 0
0
d 2y
dx2
y
Condição de
contorno
t
(a)
= f (x, y)
em que x = 0, y = y0
x = L, y = yL
Condição de
contorno
yL
y0
0
L
(b)
648
x
27.1 MÉTODOS GERAIS PARA PROBLEMAS DE CONTORNO
27.1
649
MÉTODOS GERAIS PARA PROBLEMAS DE CONTORNO
A conservação do calor pode ser usada para desenvolver um balanço de calor para uma
haste longa e fina (Figura 27.2). Se a haste não estiver isolada ao longo de seu comprimento e se o sistema estiver em um estado estacionário, a equação resultante será
d2T
+ h ′ (Ta − T ) = 0
dx 2
(27.1)
onde h ′ é o coeficiente de transferência de calor (m−2) que parametriza as taxas de
dissipação de calor para o ar em torno e Ta é a temperatura do ar em torno (ºC).
Para obter uma solução da Equação (27.1), devem existir condições de contorno
adequadas. Um caso simples é quando as temperaturas nas extremidades da barra são
mantidas em valores fixos. Estas podem ser expressas matematicamente por
T (0) = T1
T (L) = T2
Com essas condições, a Equação (27.1) pode ser resolvida analiticamente usando-se o cálculo. Para uma haste de 10 m com Ta = 20, T1 = 40, T2 = 200 e h′ = 0,01, a solução é
T = 73,4523e0,1x − 53,4523e−0,1x + 20
(27.2)
Nas seções seguintes, o mesmo problema será resolvido usando-se abordagens numéricas.
FIGURA 27.2
Uma haste uniforme não isolada posicionada entre dois corpos de temperatura constante, mas
diferente. Nesse caso, T1 > T2 e T2 > Ta.
Ta
T1
T2
Ta
x=0
x=L
27.1.1 O Método Shooting
O método shooting (de atirar, em inglês) é baseado na conversão de um problema de contorno em um problema de valor inicial equivalente. Uma abordagem de tentativa e erro é,
então, implementada para resolver a versão de valor inicial. Essa abordagem pode ser
ilustrada por um exemplo.
EXEMPLO 27.1
O Método Shooting
Enunciado do Problema. Use o método shooting para resolver a Equação (27.1) para
uma haste de 10 m com h ′ = 0,01 m−2, Ta = 20 e condições de contorno
T (0) = 40
T (10) = 200
Solução. Utilizando a mesma abordagem que foi usada para transformar a Equação
(PT7.2) nas Equações (PT7.3) a (PT7.6), a equação de segunda ordem pode ser expressa
como duas EDOs de primeira ordem:
650
PROBLEMAS DE CONTORNO E DE AUTOVALORES
dT
=z
dx
(E27.1.1)
dz
= h ′ (T − Ta )
dx
(E27.1.2)
Para resolver essas equações, precisamos de um valor inicial para z. Para o método
shooting, tentamos um valor — digamos, z(0) = 10. A solução é então obtida por integração das Equações (E27.1.1) e (E27.1.2) simultaneamente. Por exemplo, usando um
método RK de quarta ordem com um tamanho de passo 2, obtemos um valor na extremidade do intervalo de T(10) = 168,3797 (Figura 27.3a), o que difere da condição de contorno de T(10) = 200. Portanto, fazemos outra tentativa, z(0) = 20, e fazemos os cálculos
novamente. Desta vez, é obtido o resultado T(10) = 285,8980 (Figura 27.3b).
Agora, como a EDO original é linear, os valores
z(0) = 10
T (10) = 168,3797
e
z(0) = 20
T (10) = 285,8980
estão relacionados de forma linear. Como tal, eles podem ser usados para calcular o valor
de z(0) que fornece T(10) = 200. Uma fórmula de interpolação linear [lembre-se da
Equação (18.2)] pode ser empregada para esse propósito:
FIGURA 27.3
O método shooting: (a) o primeiro “tiro”, (b) o segundo “tiro” e (c) a “boa pontaria” final exata.
200
100
0
(a)
200
100
0
(b)
200
100
0
0
2
4
6
(c)
8
10
27.1 MÉTODOS GERAIS PARA PROBLEMAS DE CONTORNO
z(0) = 10 +
651
20 − 10
(200 − 168,3797) = 12,6907
285,8980 − 168,3797
Esse valor pode então ser usado para determinar a solução correta, como descrito na
Figura 27.3c.
Problemas Não-lineares de Dois Pontos. Para problemas de contorno não-lineares, a
interpolação ou extrapolação linear pelos dois pontos das soluções não resultará necessariamente em uma estimativa acurada da condição de contorno exigida para alcançar
uma solução exata. Uma alternativa é fazer três aplicações do método shooting e usar um
polinômio interpolador quadrático para obter uma estimativa da condição de contorno
adequada. Entretanto, não é provável que tal abordagem forneça a resposta exata e iterações adicionais seriam necessárias para obter a solução.
Outra abordagem para um problema não-linear envolve reformulá-lo como um problema de raízes. Lembre-se de que a forma geral de um problema de raízes é encontrar o
valor de x que torne a função f(x) = 0. Agora, vamos usar o Exemplo 27.1 para entender
como o método shooting pode ser reformulado dessa forma.
Primeiro, perceba que a solução do par de equações diferenciais também é uma
“função” no sentido de que tentamos uma condição na extremidade esquerda da barra, z0,
e a integração fornece uma previsão da temperatura na extremidade direita, T10. Logo,
podemos pensar na integração como
T10 = f(z 0 )
Isto é, ela representa um processo pelo qual uma tentativa de z0 fornece uma previsão de
T10. Visto dessa forma, podemos perceber que queremos o valor de z0 que forneça um
valor específico de T10. Se, como no exemplo, quisermos T10 = 200, o problema pode ser
enunciado como
200 = f(z 0 )
Trazendo a meta de 200 para o lado direito da equação, geramos uma nova função, g(z0),
que representa a diferença entre o que temos, f(x0), e o que queremos, 200.
g(z 0 ) = f(z 0 ) − 200
Se fizermos que essa nova função se anule, teremos obtido a solução. O próximo exemplo ilustra essa abordagem.
EXEMPLO 27.2
O Método Shooting para Problemas Não-lineares
Enunciado do Problema. Embora tenha servido aos nossos propósitos para resolver um
problema de contorno simples, nosso modelo para a barra na Equação (27.1) não foi
muito realista. Para começar, essa barra perderia calor por mecanismos tais como radiação,
que são não-lineares.
Suponha que a seguinte EDO não-linear seja usada para simular a temperatura da
barra aquecida:
d2T
+ h ′′ (Ta − T )4 = 0
dx 2
onde h′′ = 5 × 10−8. Agora, embora ainda não seja uma representação muito boa da transferência de calor, essa equação é simples o suficiente para nos permitir ilustrar como o
método shooting pode ser usado para resolver um problema de contorno não-linear de dois
pontos. As condições remanescentes do problema são como especificado no Exemplo 27.1.
652
PROBLEMAS DE CONTORNO E DE AUTOVALORES
T, ⬚C
200
Linear
100
Não-linear
0
0
5
10 z
FIGURA 27.4
O resultado de usar o método shooting para resolver um problema não-linear.
Solução. A equação de segunda ordem pode ser expressa como duas EDOs:
dT
=z
dx
dz
= h ′′ (T − Ta )4
dx
Agora, essas equações podem ser integradas usando qualquer um dos métodos descritos
nos Capítulos 25 e 26. Usamos uma versão com tamanho do passo constante da abordagem RK de quarta ordem descrita no Capítulo 25. Implementamos essa abordagem
como uma função macro do Excel escrita em Visual BASIC. A função integrou a equação
com base em uma tentativa inicial para z(0) e retornou a temperatura em x = 10. A diferença entre esse valor e o objetivo de 200 foi então colocada em uma célula de planilha.
O Excel Solver foi então chamado para ajustar o valor de z(0) até que a diferença ficasse
próxima a zero.
O resultado é mostrado na Figura 27.4 juntamente com o caso linear. Como poderia
ser esperado, o caso não-linear é mais curvado que o modelo linear. Isso é devido ao
termo de potência quatro na relação de transferência de calor.
O método shooting pode tornar-se trabalhoso para equações de ordem superior nas
quais a necessidade de supor duas ou mais condições torna essa abordagem um pouco
mais difícil. Por essas razões, estão disponíveis métodos alternativos, como descrito
a seguir.
27.1.2 Métodos de Diferenças Finitas
As alternativas mais comuns ao método shooting são as abordagens por diferenças finitas. Nessas técnicas, as diferenças divididas finitas substituem as derivadas na equação
original. Assim, uma equação diferencial linear é transformada em um conjunto de
equações algébricas simultâneas que podem ser resolvidas usando os métodos da Parte
Três.
Para o caso da Figura 27.2, a aproximação por diferenças divididas finitas para a segunda derivada é (lembre-se da Figura 23.3)
Ti+1 − 2Ti + Ti−1
d2T
=
2
dx
x 2
Essa aproximação pode ser substituída na Equação (27.1) para fornecer
Ti+1 − 2Ti + Ti−1
− h ′ (Ti − Ta ) = 0
x 2
27.1 MÉTODOS GERAIS PARA PROBLEMAS DE CONTORNO
653
Agrupando os termos obtemos
−Ti−1 + (2 + h ′ x 2 )Ti − Ti+1 = h ′ x 2 Ta
(27.3)
Essa equação se aplica para cada nó interior da haste. O primeiro e o último nós interiores,
Ti−1 e Ti+1, respectivamente, são especificados pelas condições de contorno. Portanto, o
conjunto resultante de equações algébricas lineares será tridiagonal. Como tal, pode ser resolvido com os algoritmos eficientes que estão disponíveis para tais sistemas (Seção 11.1).
EXEMPLO 27.3
Aproximação por Diferença Finita de Problemas de Contorno
Enunciado do Problema. Use a abordagem por diferenças finitas para resolver o
mesmo problema que no Exemplo 27.1.
Solução. Usando os parâmetros do Exemplo 27.1, podemos escrever a Equação (27.3)
para a haste da Figura 27.2. Usando quatro nós interiores com um segmento de comprimento x = 2 m resulta nas seguintes equações:
⎫
⎤⎧ ⎫ ⎧
T1 ⎪
2,04 −1
0
0
40,8 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎨ ⎬ ⎨
⎬
⎢ −1 2,04 −1
0 ⎥
0,8
⎥ T2 =
⎢
⎣ 0
−1 2,04 −1 ⎦⎪
T ⎪ ⎪
0,8 ⎪
⎪
⎪
⎩ 3⎪
⎭ ⎪
⎩
⎭
0
0
−1 2,04
T4
200,8
⎡
as quais pode ser resolvida por
{T }T = ⌊ 65,9698 93,7785 124,5382 159,4795 ⌋
A Tabela 27.1 fornece uma comparação entre a solução analítica [Equação (27.2)]
e as soluções numéricas obtidas nos Exemplos 27.1 a 27.3. Observe que há alguma
discrepância entre as abordagens. Para ambos os métodos numéricos, esses erros
podem ser atenuados diminuindo-se seus respectivos tamanhos de passo. Embora
ambas as técnicas tenham bom desempenho no caso presente, a abordagem por diferenças finitas é preferida por causa da facilidade com que pode ser estendida a casos
mais complexos.
Além dos métodos shooting e de diferenças finitas, existem outras técnicas disponíveis para resolver problemas de contorno. Algumas delas serão descritas na Parte
Oito. Estas incluem a solução estacionária (Capítulo 29) e transiente (Capítulo 30)
de problemas de contorno bidimensionais usando diferenças finitas e soluções
estacionárias de problema unidimensionais com abordagem por elementos finitos
(Capítulo 31).
TABELA 27.1 Comparação da solução analítica exata com os métodos shooting e de
diferenças finitas.
x
0
2
4
6
8
10
Verdadeiro
40
65,9518
93,7478
124,5036
159,4534
200
Método Shooting
40
65,9520
93,7481
124,5039
159,4538
200
Diferença Finita
40
65,9698
93,7785
124,5382
159,4795
200
PROBLEMAS DE CONTORNO E DE AUTOVALORES
654
27.2
PROBLEMAS DE AUTOVALORES
Problemas de autovalores ou de valores característicos são uma classe especial de problemas
de contorno que são comuns em contextos de problemas em engenharia envolvendo
vibrações, elasticidade e outros sistemas oscilantes. Além disso, eles são usados em uma
ampla variedade de contextos de engenharia, além dos problemas de contorno. Antes de
descrever os métodos numéricos para resolver esses problemas, vamos apresentar alguma
informação geral básica. Isso inclui a discussão dos significados matemático e na engenharia dos autovalores.
27.2.1 Fundamentos Matemáticos
A Parte Três trata de métodos para resolver conjuntos de equações algébricas lineares da
forma geral
[A]{X} = {B}
Tais sistemas são chamados não homogêneos por causa da presença do vetor {B} no lado
direito da igualdade. Se as equações que fazem parte de tal sistema forem linearmente
independentes (isto é, tiverem um determinante não-nulo), elas terão uma única solução.
Em outras palavras, existe um único conjunto de valores de x que balanceará as equações.
Em contraste, um sistema algébrico linear homogêneo tem a forma geral
[A]{X} = 0
Embora soluções não-triviais (isto é, soluções distintas de todos os x’s iguais a zero) de
tais sistemas sejam possíveis, elas, geralmente, não são únicas. Em vez disso, as equações
simultâneas estabelecem relações entre os x’s que podem ser satisfeitas por diversas combinações de valores.
Os problemas de autovalores associados com a engenharia são tipicamente da
forma geral
a12 x2 + · · · +
a1n xn = 0
(a11 − λ)x1 +
a21 x1 + (a22 − λ)x2 + · · · +
a2n xn = 0
.
.
.
.
.
.
.
.
.
.
.
.
an1 x1 +
an2 x2 + · · · + (ann − λ)xn = 0
onde λ é um parâmetro desconhecido chamado autovalor ou valor característico. Uma
solução {X} para tal sistema é conhecida como um autovetor. O conjunto de equações anteriores pode ser expresso de forma concisa como
[A] − λ[I ] {X} = 0
(27.4)
A solução da Equação (27.4) depende da determinação de λ. Uma maneira de conseguir isso é baseada no fato de que o determinante da matriz [[A] − λ[I ]] deve ser igual
a zero para que soluções não-triviais sejam possíveis. Expandindo o determinante, obtemos um polinômio em λ. As raízes desse polinômio são as soluções para os autovalores.
Um exemplo dessa abordagem será fornecido na próxima seção.
27.2.2 Fundamentos Físicos
O sistema massa-mola na Figura 27.5a é um contexto simples que ilustra como os autovalores ocorrem em um problema físico. Ele também vai ajudar a ilustrar alguns dos conceitos matemáticos introduzidos na seção anterior.
Para simplificar a análise, suponha que cada massa não esteja sobre a ação de forças
externas ou de amortecimento. Além disso, suponha que cada mola tenha o mesmo comprimento natural l e a mesma constante da mola k. Finalmente, suponha que o deslocamento de cada mola seja medido em relação ao seu próprio sistema de coordenada local
com a origem na posição de equilíbrio da mola (Figura 27.5a). Sob essas hipóteses, a
27.2 PROBLEMAS DE AUTOVALORES
655
m1
m2
(a)
0
x
m1
m2
(b)
0
x
0
x1
0
x2
FIGURA 27.5
A colocação das massas fora do equilíbrio cria forças nas molas, que, depois de soltas,
levam a oscilações das massas. As posições das massas podem ser dadas em relação a
coordenadas locais com origens em suas respectivas posições de equilíbrio.
segunda lei de Newton pode ser usada para desenvolver um balanço de força para cada
massa (lembre-se da Seção 12.4),
m1
d 2 x1
= −kx1 + k(x2 − x1 )
dt 2
m2
d 2 x2
= −k(x2 − x1 ) − kx2
dt 2
e
onde xi é o deslocamento da massa i de sua posição de equilíbrio (Figura 27.5b). Essas
equações podem ser expressas como
m1
d 2 x1
− k(−2x1 + x2 ) = 0
dt 2
(27.5a)
m2
d 2 x2
− k(x1 − 2x2 ) = 0
dt 2
(27.5b)
Da teoria da vibração, é conhecido que algumas das soluções da Equação (27.5) tem
a forma
xi = Ai sen(ωt)
(27.6)
onde Ai é a amplitude da vibração da massa i e ω é a freqüência de vibração que é
igual a
ω=
2π
Tp
(27.7)
na qual Tp é o período. Da Equação (27.6), segue que
xi′′ = −Ai ω2 sen (ωt)
(27.8)
As Equações (27.6) e (27.8) podem ser substituídas na Equação (27.5), a qual, depois de
agruparmos os termos, pode ser expressa como
2k
k
2
− ω A1 −
A2 = 0
(27.9a)
m1
m1
2k
k
2
A1 +
− ω A2 = 0
−
(27.9b)
m2
m2
A comparação da Equação (27.9) com a Equação (27.4) indica que, nesse ponto, a
solução foi reduzida a um problema de autovalor.
PROBLEMAS DE CONTORNO E DE AUTOVALORES
656
EXEMPLO 27.4
Autovalores e Autovetores para um Sistema Massa-Mola
Enunciado do Problema. Calcule os autovalores e os autovetores da Equação (27.9)
para o caso em que ml = m2 = 40 kg e k = 200 N/m.
Solução. Substituindo-se os valores dos parâmetros na Equação (27.9), obtemos
(10 − ω2 )A1 − 5A2 = 0
−5A1 + (10 − ω2 )A2 = 0
O determinante desse sistema é [lembre-se da Equação (9.3)]
(ω2 )2 − 20ω2 + 75 = 0
o qual pode ser resolvido pela fórmula quadrática como ω2 = 15 e 5 s−2. Portanto, as freqüências para as vibrações das massas são ω = 3,873 s−1 e 2,236 s−1, respectivamente.
Esses valores podem ser usados para determinar os períodos para as vibrações com a
Equação (27.7). Para o primeiro modo, Tp = 1,62 s, e, para o segundo modo, Tp = 2,81 s.
Como afirmado na Seção 27.2.1, não pode ser obtido um único conjunto de valores
para as incógnitas. Entretanto, suas razões podem ser especificadas pela substituição dos
autovalores de volta nas equações. Por exemplo, para o primeiro modo (ω2 = 15 s−2),
Al = −A2. Para o segundo modo (ω2 = 5 s−2), A1 = A2.
Esse exemplo fornece informação valiosa com relação ao comportamento do sistema na Figura 27.5. Além de seu período, sabemos que, se o sistema estiver vibrando no
primeiro modo, a amplitude da segunda massa será igual, mas de sinal oposto à amplitude
da primeira. Como na Figura 27.6a, as massas vibram se afastando e depois se aproximando, indefinidamente.
No segundo modo, as duas massas têm amplitudes iguais em todos os instantes.
Logo, como na Figura 27.6b, elas vibram para a frente e para trás juntas. Deve ser observado que a configuração das amplitudes fornece uma diretriz de como escolher os seus
valores iniciais para alcançar movimentos puros em qualquer um dos dois modos. Qualquer outra configuração levará à superposição dos modos (lembre-se do Capítulo 19).
FIGURA 27.6
Os modos principais de vibração de duas massas iguais ligadas por três molas idênticas,
entre paredes fixas.
TF =
1,625
TF =
2,815
t
(a) Primeiro modo
(b) Segundo modo
27.2 PROBLEMAS DE AUTOVALORES
657
27.2.3 Um Problema de Contorno
Agora que você já conheceu os autovalores, voltaremo-nos para o tipo de problema que é
o assunto do capítulo presente: problemas de contorno para equações diferenciais ordinárias. A Figura 27.7 mostra um sistema físico que pode servir como contexto para o
exame desse tipo de problema.
A curvatura de uma coluna delgada sujeita a uma carga axial P pode ser modelada por
d2 y
M
=
dx 2
EI
(27.10)
onde d 2 y/dx 2 especifica a curvatura, M é o momento fletor, E é o modo de elasticidade
e I é o momento de inércia da secção transversal em torno de seu eixo neutro. Considerando o corpo livre na Figura 27.7b, é claro que o momento fletor em x é M = −Py.
Substituindo esse valor na Equação (27.10), temos
d2 y
+ p2 y = 0
dx 2
(27.11)
P
EI
(27.12)
onde
p2 =
Para o sistema na Figura 27.7, sujeito às condições de contorno
y(0) = 0
(27.13a)
y(L) = 0
(27.13b)
a solução geral da Equação (27.11) é
y = A sen( px) + B cos( px)
(27.14)
onde A e B são constantes arbitrárias que devem ser calculadas por meio das condições de
contorno. De acordo com a primeira condição [Equação (27.13a)],
0 = A sen(0) + B cos(0)
Portanto, concluímos que B = 0.
De acordo com a segunda condição [Equação (27.13b)],
0 = A sen ( pL) + B cos ( pL)
Mas, como B = 0, A sen ( pL) = 0. Como A = 0 representaria uma solução trivial, concluímos que sen ( pL) = 0. Para essa igualdade ser válida,
pL = nπ
FIGURA 27.7
(a) Uma haste delgada.
(b) Um diagrama de corpo
livre da haste.
para n = 1, 2, 3, . . .
P
P
y
(0, 0)
y
x
M
P⬘
(L, 0)
P⬘
x
(a)
(b)
(27.15)
PROBLEMAS DE CONTORNO E DE AUTOVALORES
658
P = EI
L2
2
2
P = 4 2EI
L
2
P = 9 2EI
L
P = 162 EI
L
2
(a) n = 1
(b) n = 2
(c) n = 3
(d) n = 4
FIGURA 27.8
Os primeiros quatro autovalores para a haste delgada da Figura 27.7.
Logo, existe um número infinito de valores que satisfazem as condições de contorno. A
Equação (27.15) pode ser resolvida por
p=
nπ
L
para n = 1, 2, 3, . . .
(27.16)
que são os autovalores para a coluna.
A Figura 27.8, que mostra a solução para os primeiros quatro autovalores, pode
fornecer uma percepção do significado físico dos resultados. Cada autovalor corresponde
a uma maneira pela qual a coluna se deforma. Combinando as Equações (27.12) e
(27.16), obtemos
P=
n2π 2 E I
L2
para n = 1, 2, 3, . . .
(27.17)
Isso pode ser pensado como cargas de deformação, pois elas representam o nível no qual
a coluna se move em cada configuração sucessiva de deformação. No sentido prático, em
geral, é o primeiro valor que tem interesse, porque a falha geralmente acontecerá quando
a coluna se deformar inicialmente. Assim, uma carga crítica pode ser definida como
P=
π2E I
L2
a qual é formalmente conhecida como fórmula de Euler.
EXEMPLO 27.5
Análise de Autovalores de uma Coluna com Carga Axial
Enunciado do Problema. Uma coluna de madeira sob carga axial tem as seguintes características: E = 10 × 109 Pa, I = 1,25 × 10−5 m4, e L = 3 m. Determine os primeiros
oito autovalores e as correspondentes cargas de deformação.
Solução. As Equações (27.16) e (27.17) podem ser usadas para calcular
27.2 PROBLEMAS DE AUTOVALORES
n
1
2
3
4
5
6
7
8
p, mⴚ2
1,0472
2,0944
3,1416
4,1888
5,2360
6,2832
7,3304
8,3776
659
P, kN
137,078
548,311
1.233,701
2.193,245
3.426,946
4.934,802
6.716,814
8.772,982
A carga de deformação crítica é, portanto, 137,078 kN.
Embora as soluções analíticas do tipo que se obteve anteriormente sejam úteis, elas,
em geral, são difíceis ou impossíveis de obter. Isso normalmente é verdade quando se
trata de sistemas complicados ou daqueles com propriedades heterogêneas. Em tais casos,
os métodos numéricos do tipo descrito a seguir são a única alternativa prática.
27.2.4 Método Polinomial
A Equação (27.11) pode ser resolvida numericamente substituindo a segunda derivada
por uma aproximação por diferença finita dividida centrada (Figura 23.3). Dessa forma,
yi+1 − 2yi + yi−1
+ p2 yi = 0
h2
o que pode ser expresso por
yi−1 − (2 − h 2 p2 )yi + yi+1 = 0
(27.18)
Escrevendo essa equação para uma série de nós ao longo do eixo da coluna, obtemos um
sistema homogêneo de equações. Por exemplo, se a coluna for dividida em cinco segmentos (isto é, quatro nós interiores), o resultado é
⎤⎧ ⎫
⎡
(2 − h 2 p2 )
−1
0
0
⎪
⎪ y1 ⎪
⎪
2 2
⎥⎨ y2 ⎬
⎢
−1
(2
−
h
p
)
−1
0
⎥
⎢
(27.19)
⎦⎪ y3 ⎪ = 0
⎣
0
−1
(2 − h 2 p2 )
−1
⎪
⎩ ⎪
⎭
2 2
0
0
−1
(2 − h p )
y4
A expansão do determinante do sistema fornece um polinômio, cujas raízes são os autovalores. Essa abordagem, chamada método polinomial, é adotada no seguinte exemplo.
EXEMPLO 27.6
Método Polinomial
Enunciado do Problema. Use o método polinomial para determinar os autovalores para
a coluna com carga axial do Exemplo 27.5, usando (a) um, (b) dois, (c) três e (d) quatro
nós interiores.
Solução.
(a) Escrevendo a Equação (27.18) para um nó interior, obtemos (h = 3/2)
−(2 − 2,25 p 2 )y1 = 0
Logo, nesse caso simples, o autovalor é analisado igualando-se o determinante
a zero
2 − 2,25 p2 = 0
e resolvendo por p = ±0,9428, o que é cerca de 10% menor que o valor exato de
1,0472 obtido no Exemplo 27.4.
660
PROBLEMAS DE CONTORNO E DE AUTOVALORES
(b) Para dois nós interiores (h = 3/3), a Equação (27.18) é escrita como
(2 − p2 )
−1
y1
=0
−1
(2 − p2 ) y2
A expansão do determinante fornece
(2 − p2 )2 − 1 = 0
que pode ser resolvido por p = ±1 e ±1,73205. Logo, o primeiro autovalor é agora
baixo por aproximadamente 4,5% e é obtido um segundo autovalor que é baixo por
cerca de 17%.
(c) Para três pontos interiores (h = 3/4), a Equação (27.18) fornece
⎡
⎤⎧ ⎫
−1
0
2 − 0,5625 p2
⎨ y1 ⎬
⎣
⎦ y2 = 0
−1
2 − 0,5625 p2
−1
(E27.6.1)
⎩ ⎭
0
−1
2 − 0,5625 p2
y3
O determinante pode ser igualado a zero e expandido para fornecer
(2 − 0,5625 p2 )3 − 2(2 − 0,5625 p2 ) = 0
Para essa equação ser válida, 2 − 0,5625p2 = 0 ou 2 − 0,5625p2 =
podemos determinar que os três primeiros autovalores são
p = ±1,0205
p = ±1,8856
p = ±2,4637
√
2. Portanto,
|εt | = 2,5%
|εt | = 10%
|εt | = 22%
(d) Para quatro pontos interiores (h = 3/5), o resultado é a Equação (27.19) com
2 − 0,36p2 na diagonal. Igualando-se o determinante a zero e expandindo, obtemos
(2 − 0,36 p 2 )4 − 3(2 − 0,36 p2 )2 + 1 = 0
que pode ser resolvido para determinar os primeiros quatro autovalores
p
p
p
p
= ±1,0301
= ±1,9593
= ±2,6967
= ±3,1702
|εt | = 1,6%
|εt | = 6,5%
|εt | = 14%
|εt | = 24%
TABELA 27.2 Os resultados da aplicação do método polinomial a uma coluna com
carga axial. Os números entre parênteses representam o valor absoluto
do erro relativo porcentual verdadeiro.
Método Polinomial
Autovalor
Verdadeiro
h ⴝ 3/2
h ⴝ 3/3
h ⴝ 3/4
h ⴝ 3/5
1
1,0472
0,9428
(10%)
2
2,0944
1,0000
(4,5%)
1,7321
(21%)
3
3,1416
1,0205
(2,5%)
1,8856
(10%)
2,4637
(22%)
4
4,1888
1,0301
(1,6%)
1,9593
(65%)
2,6967
(14%)
3,1702
(24%)
A Tabela 27.2, que resume os resultados desse exemplo, ilustra alguns aspectos fundamentais do método polinomial. Conforme a divisão em segmentos se torna mais fina,
são determinados autovalores adicionais e os valores estabelecidos anteriormente se tornam progressivamente mais acurados. Assim, essa abordagem é mais adequada para os
casos nos quais são necessários os autovalores mais baixos.
27.2 PROBLEMAS DE AUTOVALORES
661
27.2.5 O Método da Potência
O método da potência é uma abordagem iterativa que pode ser usada para determinar o
maior autovalor. Com pequenas modificações, também pode ser usado para determinar
o menor valor e valores intermediários. Ele tem a vantagem adicional de que o autovetor
correspondente é obtido como um subproduto do método.
Determinação do Maior Autovalor. Para implementar o método da potência, o sistema
que está sendo analisado deve ser expresso na forma
[A]{X} = λ{X}
(27.20)
Como ilustrado no exemplo seguinte, a Equação (27.20) forma a base para uma técnica de
solução iterativa que eventualmente fornece o maior autovalor e o seu autovetor associado.
EXEMPLO 27.7
Método da Potência para o Maior Autovalor
Enunciado do Problema. Use o método da potência para determinar o maior autovalor
para a parte (c) do Exemplo 27.6.
Solução. O sistema, primeiro, é escrito na forma da Equação (27.20),
= λx1
3,556x1 − 1,778x2
−1,778x1 + 3,556x2 − 1,778x3 = λx2
−1,778x2 + 3,556x3 = λx3
Então, supondo que os x’s no lado esquerdo da equação são iguais a 1,
3,556(1) − 1,778(1)
= 1,778
−1,778(1) + 3,556(1) − 1,778(1) = 0
−1,778(1) + 3,556(1) = 1,778
A seguir, o lado direito é normalizado por 1,778 para tornar o maior elemento igual a
⎫
⎧ ⎫
⎧
⎨1⎬
⎨1,778⎬
= 1,778 0
0
⎭
⎩ ⎭
⎩
1
1,778
Desse modo, a primeira estimativa do autovalor é 1,778. Essa iteração pode ser expressa
concisamente na forma matricial como
⎫
⎧ ⎫
⎤⎧ ⎫ ⎧
⎡
3,556 −1,778
0
⎨1⎬ ⎨1,778⎬
⎨1⎬
⎣ −1,778 3,556 −1,778 ⎦ 1 =
= 1,778 0
0
⎭
⎩ ⎭ ⎩
⎩ ⎭
1,778
1
0
−1,778 3,556
1
A próxima iteração consiste em multiplicar [A] por ⌊1 0 1⌋T para obter
⎫
⎧ ⎫
⎡
⎤⎧ ⎫ ⎧
3,556 −1,778
0
⎨1⎬
⎨1⎬ ⎨ 3,556 ⎬
⎣ −1,778 3,556 −1,778 ⎦ 0 = −3,556 = 3,556 −1
⎭
⎩ ⎭
⎩ ⎭ ⎩
1
3,556
1
0
−1,778 3,556
Portanto, a estimativa do autovalor na segunda iteração é 3,556, que pode ser usada para
determinar a estimativa de erro
3,556 − 1,778
100% = 50%
|εa | =
3,556
O processo pode, então, ser repetido.
PROBLEMAS DE CONTORNO E DE AUTOVALORES
662
Terceira iteração:
⎫
⎫
⎧
⎡
⎤⎧ ⎫ ⎧
3,556 −1,778
0
⎨−0,75⎬
⎨ 1 ⎬ ⎨ 5,334 ⎬
⎣ −1,778 3,556 −1,778 ⎦ −1 = −7,112 = −7,112
1
⎭
⎭
⎩
⎩ ⎭ ⎩
−0,75
5,334
1
0
−1,778 3,556
em que |εa | = 150% (que é alto por causa da mudança de sinal).
Quarta iteração:
⎫
⎧
⎫
⎫ ⎧
⎤⎧
⎡
⎪
⎪
3,556 −1,778
0
⎬
⎨−0,714⎪
⎬
⎨−4,445⎪
⎬ ⎪
⎨−0,75⎪
⎥
⎢
= 6,223 = 6,223
1
1
⎣ −1,778 3,556 −1,778 ⎦
⎪
⎪
⎪ ⎪
⎪
⎭
⎩−0,714⎪
0
−1,778 3,556 ⎩−0,75⎭ ⎩−4,445⎭
em que |εa | = 214% (novamente aumentado por causa da mudança de sinal).
Quinta iteração:
⎫
⎫
⎧
⎫ ⎧
⎡
⎤⎧
3,556 −1,778
0
⎨−0,708⎬
⎨−0,714⎬ ⎨−4,317⎬
⎣ −1,778 3,556 −1,778 ⎦
= 6,095 = 6,095
1
1
⎭
⎭
⎩
⎭ ⎩
⎩
−0,708
−4,317
−0,714
0
−1,778 3,556
Assim, o fator normalizador está convergindo para o valor 6,070 (= 2,46372) obtido
na parte (c) do Exemplo 27.6.
Observe que existem alguns casos nos quais o método da potência convergirá para
o segundo maior autovalor em vez do maior. James, Smith e Wolford (1985) forneceram uma ilustração de tal caso. Outros casos especiais são discutidos em Fadeev e
Fadeeva (1963).
Determinação do Menor Autovalor. Freqüentemente, existem casos em engenharia
nos quais estamos interessados na determinação do menor autovalor. Esse era o caso para
a haste na Figura 27.7, em que o menor autovalor podia ser usado para identificar uma
carga fletora crítica. Isso pode ser feito aplicando-se o método da potência à matriz inversa de [A]. Nesse caso, o método da potência convergirá para o maior valor de 1/λ —
em outras palavras, para o menor valor de λ.
EXEMPLO 27.8
Método da Potência para o Menor Autovalor
Enunciado do Problema. Utilize o método da potência para determinar o menor autovalor para a parte (c) do Exemplo 27.6.
Solução. Depois de dividir a Equação (E27.6.1) por h2 ( 0,5625), sua matriz inversa
pode ser calculada como
⎤
⎡
0,422 0,281 0.141
[A]−1 = ⎣ 0,281 0,562 0,281 ⎦
0,141 0,281 0,422
Usando a mesma forma que no Exemplo 27.7, o método da potência pode ser aplicado
à matriz.
Primeira iteração:
⎫
⎫
⎧
⎤⎧ ⎫ ⎧
0,422 0,281 0,141 ⎨1⎬ ⎨0,884⎬
⎨0,751⎬
⎣ 0,281 0,562 0,281 ⎦ 1 = 1,124 = 1,124
1
⎭
⎭
⎩ ⎭ ⎩
⎩
1
0,884
0,751
0,141 0,281 0,422
⎡
27.2 PROBLEMAS DE AUTOVALORES
663
Segunda iteração:
⎫
⎫
⎧
⎫ ⎧
⎡
⎤⎧
0,422 0,281 0,141 ⎨0,751⎬ ⎨0,704⎬
⎨0,715⎬
⎣ 0,281 0,562 0,281 ⎦
= 0,984 = 0,984
1
1
⎭
⎭
⎩
⎭ ⎩
⎩
0,715
0,704
0,751
0,141 0,281 0,422
onde |εa | = 14,6%.
Terceira iteração:
⎫
⎫
⎧
⎫ ⎧
⎡
⎤⎧
0,422 0,281 0,141 ⎨0,715⎬ ⎨0,684⎬
⎨0,709⎬
⎣ 0,281 0,562 0,281 ⎦
= 0,964 = 0,964
1
1
⎭
⎭
⎩
⎭ ⎩
⎩
0,709
0,684
0,715
0,141 0,281 0,422
onde |εa | = 4%.
Dessa maneira, depois de apenas três iterações, o resultado√está convergindo para
o valor 0,9602, que é o inverso do menor autovalor, 1,0205(= 1/0,9602), obtido no
Exemplo 27.6c.
Determinação de Autovalores Intermediários. Depois de encontrar o maior autovalor,
é possível determinar o próximo mais alto substituindo a matriz original por uma que inclua apenas os autovalores restantes. O processo de remover o maior autovalor conhecido
é chamado deflação. A técnica delineada aqui, o método de Hotelling, foi desenvolvida
para matrizes simétricas. Isso ocorre porque ele explora a ortogonalidade dos autovetores
de tais matrizes, o que pode ser expresso por
0
para i = j
{X}iT {X} j =
(27.21)
1
para i = j
onde as componentes do autovetor {X} foram normalizadas de modo que {X}T {X} = 1,
isto é, de forma que a soma dos quadrados das componentes seja igual a 1. Isso pode ser
alcançado dividindo cada elemento pelo fator de normalização
n
xk2
k=1
Agora, uma nova matriz [A]2 pode ser calculada por
[A]2 = [A]1 − λ1 {X}1 {X}1T
(27.22)
onde [A]1 é a matriz original e λ1 é o maior autovalor. Se o método da potência for aplicado a essa matriz, o processo iterativo convergirá para o segundo maior autovalor, λ2.
Para mostrar isso, inicialmente, multiplique à direita a Equação (27.22) por {X}1 ,
[A]2 {X}1 = [A]1 {X}1 − λ1 {X}1 {X}1T {X}1
O uso do princípio da ortogonalidade transforma essa equação em
[A]2 {X}1 = [A]1 {X}1 − λ1 {X}1
onde o lado direito é igual a zero pela Equação (27.20). Logo, [A]2 {X}1 = 0. Conseqüentemente, λ = 0 e {X} = {X}1 é uma solução de [A]2 {X} = λ{X}. Em outras
palavras, [A]2 tem autovalores 0, λ2, λ3, . . . , λn. O maior autovalor, λ1, foi substituído por
um 0 e, portanto, o método da potência convergirá para o próximo maior λ2.
O processo anterior pode ser repetido gerando-se uma nova matriz [A]3 etc. Ainda
que em teoria esse processo possa ser continuado para determinar os autovalores
restantes, ele é limitado pelo fato de que os erros nos autovetores são propagados ao longo
de cada passo. Assim, ele só é útil na determinação de alguns dos maiores autovalores.
Embora algumas vezes isso seja um defeito, tal informação é precisamente o que é
necessário em muitos problemas de engenharia.
PROBLEMAS DE CONTORNO E DE AUTOVALORES
664
27.2.6 Outros Métodos
SOFTWARE
Uma grande variedade de métodos adicionais está disponível para a resolução de problemas de autovalores. A maioria é baseada em processos de dois passos. O primeiro passo
envolve a transformação da matriz original em uma forma mais simples (por exemplo,
tridiagonal) que retém todos os autovalores originais. A seguir, métodos iterativos são
usados para determinar esses autovalores.
Muitas dessas abordagens foram desenvolvidas para tipos especiais de matrizes. Em
particular, diversas técnicas são dedicadas a sistemas simétricos. Por exemplo, o método
de Jacobi transforma uma matriz simétrica em uma matriz diagonal eliminando os termos
fora da diagonal de forma sistemática. Infelizmente, o método exige um número infinito
de operações, porque a remoção de cada elemento não-nulo, em geral, cria um novo valor
não-nulo em um elemento anteriormente nulo. Embora seja necessário um tempo infinito
para eliminar todos os elementos não-nulos fora da diagonal, a matriz tenderá, eventualmente, a uma forma diagonal. Logo, a abordagem é iterativa, já que é repetida até que os
termos fora da diagonal sejam “suficientemente” pequenos.
O método de Given também envolve a transformação de uma matriz simétrica em
uma forma mais simples. Entretanto, em contraste com o método de Jacobi, a forma mais
simples é tridiagonal. Além disso, ele difere no fato de que os zeros que são criados
nas posições fora da diagonal são mantidos. Conseqüentemente, ele é finito e, portanto,
mais eficiente que o método de Jacobi.
O método de Householder também transforma uma matriz simétrica em uma forma
tridiagonal. Trata-se de um método finito e é mais eficiente que a abordagem de Given,
pois reduz a zero linhas e colunas completas de elementos fora da diagonal.
Uma vez que um sistema tridiagonal seja obtido pelo método de Given ou de Householder, os passos remanescentes envolvem a determinação dos autovalores. Uma maneira
direta de fazer isso é expandir o determinante. O resultado é uma seqüência de polinômios
que podem ser calculados iterativamente para determinar os autovalores.
Além das matrizes simétricas, existem também técnicas que estão disponíveis
quando todos os autovalores de uma matriz geral forem necessários. Estas incluem o
método LR de Rutishauser e o método QR de Francis. Embora o método QR seja menos
eficiente, em geral, ele é a abordagem preferida, porque é mais estável. Como tal, ele é
considerado o melhor método de solução de propósito geral.
Finalmente, deveria ser mencionado que as técnicas descritas anteriormente são
geralmente usadas em conjunto para aproveitar seus respectivos pontos fortes. Por exemplo, os métodos de Given e Householder podem ser aplicados a sistemas não-simétricos.
O resultado não será tridiagonal, mas, em vez disso, um tipo especial chamado forma de
Hessenberg. Uma abordagem é explorar a velocidade do método de Householder, empregando-a para transformar a matriz para essa forma e, então, usando o algoritmo estável
QR para determinar os autovalores. Informação sobre estas e outras questões relacionadas
a autovalores podem ser encontradas em Ralston e Rabinowitz (1978), Wilkinson (1965)
Fadeev e Fadeeva (1963) e Householder (1953, 1964). Códigos computacionais podem
ser enconrados em diversas fontes, incluindo Press at al. (1992). Rice (1983) discute pacotes de software disponíveis.
27.3
EDOS E AUTOVALORES COM BIBLIOTECAS E PACOTES
As bibliotecas e os pacotes de software têm grandes recursos para a resolução de EDOs e
a determinação de autovalores. Esta seção esboça algumas formas nas quais eles podem
ser aplicados para esse propósito.
27.3.1 Excel
Os recursos diretos do Excel para a resolução de problemas de autovalores e EDOs são
limitados. Entretanto, se for feita alguma programação, por exemplo, eles podem ser
combinados com ferramentas de visualização e otimização do Excel para implementar algumas aplicações interessantes. A Seção 28.1 fornece um exemplo de como o Excel
Solver pode ser usado para estimativas de parâmetros de uma EDO.
27.3 EDOS E AUTOVALORES COM BIBLIOTECAS E PACOTES
665
27.3.2 MATLAB
Como poderia ser esperado, o pacote padrão do software MATLAB tem recursos excelentes para a determinação de autovalores e autovetores. Entretanto, ele também tem
funções de biblioteca para a resolução de EDOs. As rotinas padrão de resolução de EDOs
incluem duas funções que implementam o método de Runge-Kutta Fehlberg adaptativo
no tamanho do passo (lembre-se da Seção 25.5.2). Elas são a ODE23, a qual usa fórmulas de segunda e terceira ordens para alcançar acurácia média, e a ODE45, a qual usa fórmulas de quarta e quinta ordens para alcançar alta acurácia. O seguinte exemplo ilustra
como elas podem ser usadas para resolver um sistema de EDOs.
EXEMPLO 27.9
Usando MATLAB para Autovalores e EDOs
Enunciado do Problema. Explore como o MATLAB pode ser usado para resolver o
seguinte conjunto de EDOs não-lineares de t = 0 a 20:
dx
= 1,2x − 0,6x y
dt
dy
= −0,8y + 0,3x y
dt
onde x = 2 e y = 1 em t = 0. Como veremos no próximo capítulo (Seção 28.2), tais
equações são conhecidas como equações predador-presa.
Solução. Antes de obter uma solução com o MATLAB, você deve usar um processador
de texto para criar um M-file contendo o lado direito das EDOs. Esse M-file será então
acessado pela rotina para a resolução de EDOs [em que x = y(1) e y = y(2)]:
function yp = predprey(t,y)
yp = [1.2*y(1)–0.6*y(1)*y(2);–0.8*y(2)+0.3*y(1)*y(2)];
Armazenamos esse M-file sob o nome: predprey.m.
A seguir, iniciamos o MATLAB e inserimos os seguintes comandos para especificar
o intervalo de integração e as condições iniciais:
>> tspan = [0,20];
>> y0=[2,1];
A rotina pode ser chamada por
>> [t,y]=ode23('predprey',tspan,y0);
Esse comando, então, resolverá as equações diferenciais em predprey.m no intervalo
definido por tspan usando as condições iniciais encontradas em y0. Os resultados podem
ser exibidos simplesmente digitando
>> plot(t,y)
o que produz a Figura 27.9.
FIGURA 27.9
Solução do modelo predador-presa com o MATLAB.
PROBLEMAS DE CONTORNO E DE AUTOVALORES
SOFTWARE
666
FIGURA 27.10
Gráfico no espaço de estados do modelo predador-presa com o MATLAB.
Além disso, também é instrutivo gerar um gráfico no espaço de estados, isto é, um
gráfico das variáveis dependentes uma em função da outra por
>> plot(y(:,1),y(:,2))
o que produz a Figura 27.10.
O MATLAB também tem diversas funções projetadas para sistemas rígidos. Estas
incluem a ODE15S e a ODE23S. Como no seguinte exemplo, elas são bem-sucedidas
quando as funções padrão falham.
EXEMPLO 27.10
MATLAB para EDOs Rígidas
Enunciado do Problema. A equação de Van der Pol pode ser escrita como
dy1
= y2
dt
dy2
= μ(1 − y12 )y2 − y1
dt
Conforme o parâmetro μ se torna grande, o sistema se torna progressivamente mais
rígido. Dadas as condições iniciais, y1 (0) = y2 (0) = 1, use o MATLAB para resolver os
seguintes casos.
(a) Para μ = 1, use ODE45 para resolver de t = 0 a 20.
(b) Para μ = 1000, use ODE23S para resolver de t = 0 a 3000.
Solução.
(a) Um M-file pode ser criado para armazenar as equações diferenciais,
function yp = vanderpol(t,y)
yp=[y(2);1*(1–y(1)^2)*y(2)–y(1)];
Então, como no Exemplo 27.9, ODE45 pode ser chamada e o resultado mostrado em
um gráfico (Figura 27.11),
>>
>>
>>
>>
tspan=[0,20];
y0=[1,1];
[t,y]=ode45('vanderpol',tspan,y0);
plot(t,y(:,1))
27.3 EDOS E AUTOVALORES COM BIBLIOTECAS E PACOTES
667
FIGURA 27.11
Forma não rígida da equação de Van der Pol resolvida com a função ODE45 do MATLAB.
(b) Se uma rotina-padrão como a ODE45 for usada para o caso rígido (μ = 1.000), ela
falhará miseravelmente (tente, se quiser). Entretanto, a ODE23S funciona de modo
eficiente. Depois de revisar o M-file para refletir o novo valor de μ, a solução pode
ser obtida e representada graficamente (Figura 27.12),
>>
>>
>>
>>
tspan=[0,3000];
y0=[1,1];
[t,y]=ode23S('vanderpol',tspan,y0);
plot(t,y(:,1))
Observe como essa solução tem quinas muito mais bruscas que no caso (a). Essa é
uma manifestação visual da “rigidez” da solução.
FIGURA 27.12
Forma rígida da equação de Van der Pol resolvida com a função ODE23S do MATLAB.
Para autovalores, os recursos também são muito fáceis de aplicar. Lembre-se de que,
em nossa discussão de sistemas rígidos no Capítulo 26, em que apresentamos o sistema
rígido definido pela Equação (26.6), tais EDOs lineares podem ser escritas como um
problema de alto valor da forma
e1
5−λ
−3
= {0}
−100 301 − λ e2
onde λ e {e} são o autovalor e o autovetor, respectivamente.
O MATLAB pode então ser empregado para calcular tanto os autovalores (d) quanto
os autovetores (v) com os seguintes comandos simples:
668
PROBLEMAS DE CONTORNO E DE AUTOVALORES
SOFTWARE
>> a=[5 –3;–100 301];
>> [v,d]=eig(a)
v =
–0.9477
–0.3191
0.0101
–0.9999
d =
3.9899
0
0
302.0101
Assim, vemos que os autovalores são bastante diferentes em módulo, o que é típico de um
sistema rígido.
Os autovalores podem ser interpretados reconhecendo que a solução geral de um sistema de EDOs pode ser representada como uma soma de exponenciais. Por exemplo, a
solução para o caso presente seria da forma
y1 = c11 e−3,9899t + c12 e−302,0101t
y2 = c21 e−3,9899t + c22 e−302,0101t
onde cij é a parte da condição inicial para yi que está associada com o j-ésimo autovalor.
Deve ser observado que os c’s podem ser calculados a partir das condições iniciais e dos
autovetores. Qualquer bom livro de equações diferenciais, por exemplo, Boyce e DiPrima
(1992), fornecerá uma explicação de como isso pode ser feito.
Como no caso presente todos os autovalores são positivos (e, portanto, negativos na
função exponencial), a solução consiste em uma série de exponenciais decrescentes. A
que tem o maior autovalor (nesse caso, 302,0101) ditaria o tamanho do passo se uma técnica de solução explícita fosse usada.
27.3.3 IMSL
O IMSL tem diversas rotinas para a resolução de EDOs e determinação de autovalores
(Tabela 27.3). Na presente discussão, nos concentraremos na rotina IVPRK. Essa rotina
integra um sistema de EDOs usando o método de Runge-Kutta.
TABELA 27.3 Rotinas IMSL para resolver EDOs e determinar autovalores.
Categoria
Rotinas
Recursos
IVPRK
IVPAG
Método de Runge-Kutta
Método de Adams ou Gear
BVPFD
BVPMS
Método de diferenças finitas
Método shooting múltiplo
EVLRG
EVCRG
EPIRG
Todos os autovalores
Todos os autovalores e autovetores
Índice de desempenho
Equações Diferenciais Ordinárias de Primeira Ordem
Solução de Problemas de Valor Inicial para EDOs
Solução de Problemas de Contorno para EDOs
Solução de Sistemas Diferenciais Algébricos
Autovalores e (Opcionalmente) Autovetores de Ax ⴝ x
Problema geral real Ax = λx
Problema geral complexo Ax = λx
Problema simétrico real Ax = λx
Matrizes simétricas de banda reais no modo de armazenagem por banda
Matrizes hermitianas complexas
Matrizes de Hessenberg superiores reais
Matrizes de Hessenberg superiores complexas
Autovalores e (opcionalmente) autovetores de Ax = λBx
Problema geral real Ax = λBx
Problema geral complexo Ax = λBx
Problema simétrico real Ax = λBx
27.3 EDOS E AUTOVALORES COM BIBLIOTECAS E PACOTES
669
A IVPRK é implementada pelo seguinte comando CALL:
CALL IVPRK (IDO, N, FCN, T, TEND, TOL, PARAM, Y)
onde
IDO Flag indicando o estado do cálculo. Normalmente, a chamada inicial é feita
com IDO 1. A rotina então faz IDO 2 e esse valor é usado para todas as
chamadas, exceto a última que é feita quando IDO 3. Essa chamada final
é feita para liberar espaço de trabalho, que foi automaticamente alocado pela
chamada inicial IDO 1. Nenhuma integração é feita nessa chamada final.
N Número de equações diferenciais. (Entrada)
FCN Sub-rotina fornecida pelo usuário para calcular funções.
T Variável independente. (Entrada/Saída) Na entrada, T contém o valor inicial.
Na saída, T é substituído por TEND, a menos que condições de erro tenham
ocorrido.
TEND Valor de t em que a solução é necessária. (Entrada) O valor TEND pode ser
menor que o valor inicial de t.
TOL Tolerância para o controle de erro. (Entrada) É feita uma tentativa para controlar a norma do erro local de modo que o erro global seja proporcional a TOL.
PARAM Um vetor em ponto flutuante de tamanho 50, contendo parâmetros
opcionais.
Y Vetor de tamanho N das variáveis dependentes. (Entrada/Saída). Na entrada, Y
contém os valores iniciais. Na saída, Y possui a solução aproximada.
A sub-rotina FCN deve ser escrita para armazenar as equações diferenciais. Ela deve
ter a forma geral,
subroutine fcn (n, t, y, yprime)
integer
n
real
t, y(n), yprime(n)
yprime(1) = . . .
yprime(2) = . . .
return
end
sendo “yprime(i) ...” o local onde a i-ésima EDO é escrita. A FCN deve ser declarada
externa no programa que a chama.
EXEMPLO 27.11
Usando IMCL para Resolver EDOs
Enunciado do Problema. Use IVPRK para resolver as mesmas EDOs predador-presa
que no Exemplo 27.9.
Solução. Um exemplo de um programa principal em Fortran 90 e de função usando
IVPRK para esse problema pode ser escrito como
Program PredPrey
USE msimsl
INTEGER :: mxparm, n
PARAMETER (mxparm=50, n=2)
INTEGER :: ido, istep, nout
REAL :: param(mxparm), t, tend, tol, y(n)
EXTERNAL fcn
CALL UMACH (2, nout)
t = 0.0
y(1) = 2.0
y(2) = 1.0
tol = 0.0005
CALL SSET (mxparm, 0.0, param, 1)
PROBLEMAS DE CONTORNO E DE AUTOVALORES
670
SOFTWARE
param(10) = 1.0
PRINT '(4X, "istep", 5X, "Time", 9X, "Y1", 11X, "Y2")'
ido = 1
istep = 0
WRITE (nout,'(I6,3F12.3)') istep, t, y
DO
istep = istep + 1
tend = istep
CALL IVPRK (ido, n, fcn, t, tend, tol, param, y)
IF (istep .GT. 10) EXIT
WRITE (nout,'(I6,3F12.3)') istep, t, y
IF (istep .EQ. 10) ido = 3
END DO
END PROGRAM
SUBROUTINE fcn (n, t, y, yprime)
IMPLICIT NONE
INTEGER :: n
REAL :: t, y(n), yprime(n)
yprime(1) = 1.2*y(1) – 0.6*y(1)*y(2)
yprime(2) = –0.8*y(2) + 0.3*y(1)*y(2)
END SUBROUTINE
Um exemplo de execução é
istep
0
1
2
3
4
5
6
7
8
9
10
time
.000
1.000
2.000
3.000
4.000
5.000
6.000
7.000
8.000
9.000
10.000
y1
2.000
3.703
5.433
3.390
1.407
1.048
1.367
2.393
4.344
5.287
2.561
y2
1.000
1.031
1.905
3.533
3.073
1.951
1.241
.959
1.161
2.421
3.624
PROBLEMAS
27.1 Um balanço de calor estacionário para uma haste pode ser
representado por
d2T
− 0,15T = 0
dx 2
Obtenha uma solução analítica para uma haste de 10 m com T(0) =
240 e T(10) = 150.
27.2 Use o método shooting para resolver o Problema 27.1.
27.3 Use a abordagem por diferenças finitas com x = 1 para resolver o Problema 27.1.
27.4 Use o método shooting para resolver
7
d2 y
dy
−2
−y+x =0
dx 2
dx
com condições de contorno y(0) = 5 e y(20) = 8.
27.5 Resolva o Problema 27.4 com a abordagem por diferenças
finitas, usando x = 2.
27.6 Use o método shooting para resolver
d2T
− 1 × 10−7 (T + 273)4 + 4(150 − T ) = 0
dx 2
(P27.6)
Obtenha uma solução para as condições de contorno: T(0) = 200 e
T(0,5) = 100.
27.7 As equações diferenciais como aquela que resolvemos no
Problema 27.6 podem ser simplificadas linearizando seus termos
não-lineares. Por exemplo, uma expansão em série de Taylor de
primeira ordem pode ser usada para linearizar o termo de quarto
grau na Equação (P27.6) como
1 × 10−7 (T + 273)4 = 1 × 10−7 (Tb + 273)4 + 4
× 10−7 (Tb + 273)3 (T − Tb )
em que Tb é a temperatura base em torno da qual o termo é linearizado. Substitua essa relação na Equação (P27.6) e então resolva a
equação linear resultante com a abordagem por diferenças finitas.
Utilize Tb = 150 e x = 0,01 para obter sua solução.
PROBLEMAS
27.8 Repita o Exemplo 27.4, mas para três massas. Produza um
gráfico como o da Figura 27.6 para identificar os modos principais
de vibração. Mude todos os k’s para 240.
27.9 Repita o Exemplo 27.6, mas para cinco pontos interiores
(h = 3/6).
27.10 Use menores para expandir o determinante de
⎡
⎤
2−λ
8
10
⎣ 8
4−λ
5 ⎦
10
5
7−λ
27.11 Use o método da potência para determinar o maior autovalor
e o autovetor correspondente para o Problema 27.10.
27.12 Utilize o método da potência para determinar o menor autovalor e o autovetor correspondente para o Problema 27.10.
27.13 Desenvolva um programa computacional amigável ao
usuário para implementar o método shooting para uma EDO linear
de segunda ordem. Teste seu programa duplicando o Exemplo 27.1.
27.14 Use o programa desenvolvido no Problema 27.13 para resolver os Problemas 27.2 e 27.4.
27.15 Desenvolva um programa computacional amigável ao
usuário para implementar a abordagem por diferenças finitas para
resolver uma EDO linear de segunda ordem. Teste-o, duplicando o
Exemplo 27.3.
27.16 Utilize o programa desenvolvido no Problema 27.15 para resolver os Problemas 27.3 e 27.5.
27.17 Desenvolva um programa amigável ao usuário para determinar o maior autovalor com o método da potência. Teste-o, duplicando o Exemplo 27.7.
27.18 Desenvolva um programa amigável ao usuário para determinar o menor autovalor com o método da potência. Teste-o, duplicando o Exemplo 27.8.
27.19 Use o Excel Solver para resolver diretamente (isto é, sem
linearizar) o Problema 27.6, usando a abordagem por diferenças
finitas. Utilize x = 0,1 para obter sua solução.
27.20 Use o MATLAB para integrar o seguinte par de EDOs de
t = 0 a 100:
dy1
= 0,35y1 − 1,6y1 y2
dt
dy2
= 0,04y1 y2 − 0,15y2
dt
671
(b)
em que σ = 10, b = 2,666667 e r = 28. Empregue condições iniciais x = y = z = 5 e integre de t 0 a 20.
27.23 Use diferenças finitas para resolver o problema de contorno
da equação diferencial ordinária
d 2u
du
+6
−u =2
2
dx
dx
com condições de contorno u(0) = 10 e u(2) = 1. Trace seus resultados para u em função de x. Utilize x = 0,1.
27.24 Resolva, usando o método de diferenças finitas, a EDO adimensional que descreve a distribuição de temperaturas em uma
haste circular com uma fonte de calor interna S
d2T
1 dT
+
+S=0
2
dr
r dr
no intervalo 0 ≤ r ≤ 1, com condições de contorno
dT
=0
T (r = 1) = 1
dr r=0
para S 1, 10 e 20 K/m2. Trace a temperatura em função do raio.
27.25 Deduza o conjunto de equações diferenciais para o sistema
de três massas e quatro molas (Figura P27.25) que descreve seu
movimento no tempo. Escreva as três equações diferenciais na
forma matricial.
[Vetor aceleração]+ matriz[k/m][vetor deslocamento x] 0
Observe que cada equação foi dividida pela massa. Determine os
autovalores e as freqüências naturais para os seguintes valores das
massas e das constantes das molas: k1 = k4 = 15 N/m, k2 = k3 = 35
N/m e m1 = m2 = m3 = 1,5 kg.
em que y1 = 1 e y2 = 0,05 em t = 0. Desenvolva um gráfico no espaço de estados ( y1 em função de y2) para seus resultados.
27.21 A seguinte equação diferencial foi usada na Seção 8.4 para
analisar as vibrações do amortecedor de um automóvel:
1,25 × 106
dx
d2x
+ 1 × 107
+ 1,5 × 109 x = 0
dt 2
dt
Transforme essa equação em um par de EDOs. (a) Use o MATLAB
para resolver essas equações de t 0 a 0,4 para o caso em que
x = 0,5 e dx/dt = 0 em t = 0. (b) Use o MATLAB para determinar
os autovalores e os autovetores do sistema.
27.22 Utilize o IMSL para integrar
(a)
dx
= ax − bx y
dt
dy
= −cy + dx y
dt
em que a = 1,5, b = 0,7, c = 0,9 e d = 0,4. Empregue condições
iniciais x = 2 e y = 1 e integre de t = 0 a 30.
dx
= −σ x + σ y
dt
dy
= rx − y − xz
dt
dz
= −bz + x y
dt
x1
k1
x2
k2
m1
x3
k3
m2
k4
m3
Figura P27.25
27.26 Considere o sistema massa-mola na Figura P27.26. As freqüências para as vibrações das massas podem ser determinadas por
meio dos autovalores e aplicando M ẍ + kx = 0, o que produz
⎡
⎤⎧ ⎫ ⎡
⎤⎧ ⎫ ⎧ ⎫
0 ⎨ ẍ1 ⎬
m1 0
2k −k −k ⎨ x1 ⎬ ⎨ 0 ⎬
⎣ 0 m 2 0 ⎦ ẍ2 + ⎣ −k 2k −k ⎦ x2 = 0
⎩ ⎭
⎩ ⎭ ⎩ ⎭
0
x3
ẍ3
0
0 m3
−k −k 2k
Tentando x = x0 ei ωt como solução, obtemos a seguinte matriz:
2k − m 1 ω2
⎣
−k
−k
⎡
−k
2k − m 2 ω2
−k
⎧ ⎫
⎫
⎤⎧
−k
⎨0⎬
⎨ x01 ⎬
⎦ x02 eiωt = 0
−k
⎩ ⎭
⎩
⎭
0
x03
2k − m 3 ω2
PROBLEMAS DE CONTORNO E DE AUTOVALORES
672
Utilize o comando eig do MATLAB para determinar os autovalores da matriz k − mω2 anterior. A seguir, use esses autovalores
para determinar as freqüências (ω). Faça m1 = m2 = m3 = 1 kg e
k = 2 N/m.
x1
m1
x2
k
m2
k
x3
m3
k
Se a condição inicial for y1(0) = 0,08, obtenha a solução de t 0 a 5:
(a) Analiticamente.
(b) Empregando o método RK de quarta ordem com um passo
constante de 0,03125.
(c) Usando a função ODE45 do MATLAB.
(d) Utilizando a função ODE23S do MATLAB.
(e) Usando a função ODE23TB do MATLAB.
Apresente seus resultados na forma gráfica.
27.28 Uma haste aquecida com uma fonte de calor uniforme pode
ser modelada pela equação de Poisson:
d2T
= − f(x)
dx 2
Figura P27.26
27.27 A seguinte EDO não-linear parasítica foi sugerida por Hornbeck (1975):
dy1
= 5(y1 − t 2 )
dt
Dada uma fonte de calor f (x) = 25 e as condições de contorno
T(x = 0) = 40 e T(x = 10) = 200, determine a distribuição de temperatura com (a) o método shooting e (b) o método de diferenças
finitas (x = 2).
27.29 Repita o Problema 27.28, mas com a seguinte fonte de calor:
f(x) = 0,12x3 − 2,4x2 + 12x.
CAPÍTULO
28
Estudo de Casos: Equações
Diferenciais Ordinárias
O propósito deste capítulo é resolver algumas equações diferenciais ordinárias usando os
métodos numéricos apresentados na Parte Sete. As equações originam-se em aplicações
práticas da engenharia. Muitas dessas aplicações resultam em equações diferenciais nãolineares que não podem ser resolvidas através de técnicas analíticas. Portanto, os métodos
numéricos em geral são necessários. Logo, as técnicas para a solução numérica de
equações diferenciais ordinárias são recursos fundamentais que caracterizam a boa
prática da engenharia. Os problemas neste capítulo ilustram alguns prós e contras associados com os diversos métodos desenvolvidos na Parte Sete.
A Seção 28.1 vem de um contexto de problema da engenharia química. Ele ilustra
como o comportamento transiente de reatores químicos pode ser simulado. Também
mostra como a otimização pode ser usada para obter estimativa de parâmetros para EDOs.
As Seções 28.2 e 28.3, as quais vêm das engenharias civil e elétrica, respectivamente, tratam da solução de sistemas de equações. Em ambos os casos, é necessária alta
acurácia e, como conseqüência, é utilizado um esquema RK de quarta ordem. Além disso,
a aplicação em engenharia elétrica também trata da determinação de autovalores.
A Seção 28.4 usa diversas abordagens diferentes para investigar o comportamento de
um pêndulo oscilante. Esse problema também utiliza duas equações simultâneas. Um aspecto importante desse problema é que ele ilustra como os métodos numéricos permitem
que os efeitos não-lineares sejam incorporados facilmente na análise da engenharia.
28.1
USANDO EDOS PARA ANALISAR A RESPOSTA TRANSIENTE DE
UM REATOR (ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Na Seção 12.1, analisamos o estado estacionário de uma série de
reatores. Além dos cálculos estacionários, poderíamos também nos interessar pela resposta transiente de um reator de mistura. Para fazer isso, temos de desenvolver uma expressão matemática para o termo de acumulação na Equação (12.1).
A acumulação representa a variação na massa contida no reator pela variação no tempo.
Para um sistema com volume constante, ela pode ser formulada de modo simples como
Acumulação = V
dc
dt
(28.1)
em que V é o volume e c, a concentração. Logo, uma formulação matemática para a acumulação é o volume vezes a derivada de c com relação a t.
Nessa aplicação, vamos incorporar o termo de acumulação no esquema geral de balanço de massa que desenvolvemos na Seção 12.1. Vamos, então, usá-lo para simular a
dinâmica de um único reator e de um sistema de reatores. No último caso, vamos mostrar
como os autovalores do sistema podem ser determinados e fornecer uma visão geral de
sua dinâmica. Finalmente, vamos ilustrar como a otimização pode ser usada para obter estimativas dos parâmetros nos modelos de balanço de massa.
Solução. As Equações (28.1) e (12.1) podem ser usadas para representar o balanço de
massa para um único reator, como mostrado na Figura 28.1:
673
674
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
Qcin
Qc
FIGURA 28.1
Um único reator de mistura, com escoamento de entrada e outro de saída.
dc
= Qcin − Qc
dt
Acumulação ⫽ entradas saídas
(28.2)
V
A Equação (28.2) pode ser utilizada para determinar soluções transientes ou dependentes do tempo para o reator. Por exemplo, se c = c0 em t = 0, o cálculo pode ser empregado para resolver analiticamente a Equação (28.2) por
c = cin 1 − e−(Q/V )t + c0 e−(Q/V )t
Se cin = 50 mg/m3, Q = 5 m3/min, V = 100 m3 e c0 = 10 mg/m3, a equação é
c = 50(1 − e−0,05t ) + 10e−0,05t
A Figura 28.2 mostra esta solução analítica exata.
O método de Euler fornece uma abordagem alternativa para a solução da Equação
(28.2). A Figura 28.2 inclui duas soluções com diferentes tamanhos de passo. Conforme
o tamanho do passo diminui, a solução numérica converge para a solução analítica. Nesse
caso, o método numérico pode ser usado para verificar o resultado analítico.
Além de verificar os resultados de uma solução analítica, a solução numérica acrescentou valores nas situações em que as soluções analíticas são impossíveis ou são tão difíceis que não são práticas. Por exemplo, além de um único reator, os métodos numéricos
têm utilidade para simular a dinâmica de um sistema de reatores. Como uma ilustração,
podem ser escritas EDOs para os cinco reatores acoplados na Figura 12.3. O balanço de
massa para o primeiro reator pode ser escrito como
dc1
= Q 01 c01 + Q 31 c3 − Q 12 c1 − Q 15 c1
V1
dt
Euler, tamanho do passo = 10
tamanho do passo = 5
50
40
c, mg/m3
FIGURA 28.2
Gráfico das soluções analítica
e numérica da Equação (28.2).
As soluções numéricas foram
obtidas pelo método de Euler
usando diferentes tamanhos
de passo.
Exata
30
20
10
0
0
10
20
30
t, min
40
50
28.1 USANDO EDOS PARA ANALISAR A RESPOSTA TRANSIENTE DE UM REATOR
c1
675
c–1
10
0
t
t90
c2
–c
2
10
0
t
t90
c3
–c
3
10
0
t
t90
c4
–c
4
10
0
t
t90
c5
–c
5
10
0
0
50
t90
t
FIGURA 28.3
Gráficos da resposta transiente ou dinâmica da rede de reatores da Figura 12.3. Observe
que todos os reatores eventualmente se aproximam de suas concentrações estacionárias
calculadas previamente na Seção 12.1. Além disso, o tempo até o estado estacionário é
parametrizado pela resposta no tempo de 90%, t 90.
ou, substituindo parâmetros (observe que Q01c01 = 50 mg/min, Q03c03 = 160 mg/min,
V1 = 50 m3, V2 = 20 m3, V3 = 40 m3, V4 = 80 m3 e V5 = 100 m3),
dc1
= −0,12c1 + 0,02c3 + 1
dt
De forma análoga, os balanços para os outros reatores podem ser escritos como
dc2
= 0,15c1 − 0,15c2
dt
dc3
= 0,025c2 − 0,225c3 + 4
dt
676
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
dc4
= 0,1c3 − 0,1375c4 + 0,025c5
dt
dc5
= 0,03c1 + 0,01c2 − 0,04c5
dt
Suponha que, em t = 0, todas as concentrações nos reatores sejam nulas. Calcule
como suas concentrações aumentarão na próxima hora.
As equações podem ser integradas com o método RK de quarta ordem para sistemas
de equação e os resultados estão descritos na Figura 28.3. Observe que cada um dos reatores
mostra uma resposta transiente diferente à introdução do composto químico. Essas respostas podem ser parametrizadas por uma resposta no tempo de 90%, t90, que mede o tempo
necessário para cada reator atingir 90% do seu nível final estacionário. Os tempos variam
de cerca de 10 min para o reator 3 até cerca de 70 min para o reator 5. Os tempos de resposta
dos reatores 4 e 5 apresentam interesse particular, pois as duas correntes de escoamento de
saída ocorrem a partir desses tanques. Logo, um engenheiro químico projetando o sistema
pode mudar os escoamentos ou os volumes dos reatores para acelerar a resposta desses tanques, enquanto ainda mantém as saídas desejadas. Os métodos numéricos do tipo descrito
nesta parte do livro podem ser úteis nesses cálculos de projeto.
Uma percepção melhor das características da resposta do sistema pode ser desenvolvida pelo cálculo de seus autovalores. Primeiro, o sistema de EDOs pode ser escrito
como um problema de autovalores como
⎤⎧ ⎫
⎡
0,12 − λ
0
−0,02
0
0
⎪
⎪
⎪e1 ⎪
⎥⎪
⎢ −0,15 0,15 − λ
⎪
⎪ ⎪
0
0
0
⎥⎨e2 ⎬
⎢
⎥ e3 = {0}
⎢
0
−0,025
0,225
−
λ
0
0
⎥⎪ ⎪
⎢
⎣
0
0
−0,1
0,1375 − λ −0,025 ⎦⎪
e⎪
⎪
⎪
⎪
⎭
⎩ 4⎪
−0,03
−0,01
0
0
0,04 − λ
e5
em que λ e {e} são o autovalor e o autovetor, respectivamente.
Um pacote como o software MATLAB pode ser utilizado para gerar de forma muito
conveniente os autovalores e os autovetores,
>> a=[0.12 0.0 –0.02 0.0 0.0;–.15 0.15 0.0 0.0 0.0;0.0
–0.025 0.225 0.0 0.0; 0.0 0.0 –.1 0.1375 –0.025;–0.03
–0.01 0.0 0.0 0.04];
>> [e,l]=eig(a)
e =
0
0
0
0
0
0
1.0000
0.2484
0
0.9687
–0.1228
0.2983
0.5637
–0.7604
0.0041
–0.1059
0.5784
0.3041
–0.7493
–0.0190
0.2490
0.8444
0.1771
0.3675
–0.2419
0
0
0.2118
0
0
0
0
0
0.1775
0
0
0
0
0
0.1058
l =
0.1375
0
0
0
0
0
0.0400
0
0
0
Os autovalores podem ser interpretados reconhecendo que a solução geral para um
sistema de EDOs pode ser representado como a soma de exponenciais. Por exemplo, para
o reator 1, a solução geral seria da forma
c1 = c11 e−λ1 t + c12 e−λ2 t + c13 e−λ3 t + c14 e−λ4 t + c15 e−λ5 t
onde cij é a parte da condição inicial para o reator i que é associada com o autovalor j.
Assim, como no caso presente todos os autovalores são positivos (e, portanto, negativos
na função exponencial), a solução consiste em uma série de exponenciais decrescentes. A
que tem o menor autovalor (em nosso caso, 0,04) será a mais lenta. Em alguns casos, o
28.1 USANDO EDOS PARA ANALISAR A RESPOSTA TRANSIENTE DE UM REATOR
677
engenheiro fazendo essa análise poderia ser capaz de relacionar esse autovalor aos
parâmetros do sistema. Por exemplo, a razão do escoamento de saída do reator 5 por seu
volume é (Q55 + Q54)/V5 = 4/100 = 0,04. Tal informação pode então ser usada para
modificar o desempenho dinâmico do sistema.
O tópico final que gostaríamos de revisar no presente contexto é a estimativa de
parâmetro. Uma área em que isso ocorre frequentemente é na cinética de reações, isto é,
na quantificação das taxas de reações químicas.
Um exemplo simples é descrito na Figura 28.4. Uma série de béqueres é montada
contendo um composto químico que decai com o tempo. Em certos intervalos de tempo,
a concentração em um dos béqueres é medida e anotada. Assim, o resultado é uma tabela
de tempos e concentrações.
Um modelo que é comumente usado para descrever tais dados é
dc
= −kcn
dt
(28.3)
onde k é a taxa de reação e n é a ordem da reação. Os engenheiros químicos usam os dados
de tempo-concentração do tipo descrito na Figura 28.4 para obter estimativas de k e n.
Uma forma de fazer isso é escolher arbitrariamente valores para os parâmetros e então resolver a Equação (28.3) numericamente. Os valores previstos da concentração podem ser
comparados com as concentrações medidas e pode ser feita uma avaliação do ajuste. Se o
ajuste for considerado inadequado (por exemplo, pelo exame do gráfico ou de uma medida estatística como a soma do quadrado dos resíduos), os valores são então ajustados e
o procedimento repetido até que seja atingido um ajuste decente.
Os seguintes dados podem ser ajustados dessa forma:
t, d
0
1
3
5
10
15
20
c, mg/L
12
10,7
9
7,1
4,6
2,5
1,8
A solução desse problema é mostrada na Figura 28.5. A planilha do Excel foi usada para
fazer os cálculos.
Tentativas iniciais para a taxa de reação e para a ordem foram inseridas nas células
B3 e B4, respectivamente, e o tamanho do passo para os cálculos numéricos foi digitado
na célula B5. Nesse caso, uma coluna para os instantes dos cálculos foi inserida na coluna
A, começando em 0 (célula A7) e terminando em 20 (célula A27). Os coeficientes de k1 a
k4 do método RK de quarta ordem são então calculados no bloco B7 a E27. Estes, então,
são usados para determinar as concentrações previstas (os valores de cp) na coluna F.
FIGURA 28.4
Uma experiência simples para coletar dados sobre a taxa de decaimento de um composto
químico que decai com o tempo (reimpresso de Chapra, 1997).
c0
c1
c2
c3
t=0
t=1
t=2
t=3
Tempo
Concentração
0
c0
1
c1
2
c2
c
t
3
c3
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
678
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
A
B
C
Ajuste dos dados de taxa de reação com a
abordagem integral/mínimos quadrados
k
0,091528
n
1,044425
dt
1
t
k1
k2
0
−1,22653
−1,16114
1
−1,10261
−1,04409
2
−0,99169
−0,93929
3
−0,89235
−0,84541
4
−0,80334
−0,76127
5
−0,72354
−0,68582
6
−0,65198
−0,61814
7
−0,58776
−0,55739
8
−0,53011
−0,50283
9
−0,47833
−0,45383
10
−0,4318
−0,40978
11
−0,38997
−0,37016
12
−0,35234
−0,33453
13
−0,31849
−0,30246
14
−0,28801
−0,27357
15
−0,26056
−0,24756
16
−0,23583
−0,22411
17
−0,21354
−0,20297
18
−0,19343
−0,18389
19
−0,17529
−0,16668
20
−0,15891
−0,15115
D
k3
−1,16462
−1,04719
−0,94206
−0,84788
−0,76347
−0,68779
−0,61989
−0,55895
−0,50424
−0,45508
−0,4109
−0,37117
−0,33543
−0,30326
−0,2743
−0,24821
−0,22469
−0,20349
−0,18436
−0,16711
−0,15153
E
F
k4
−1,10248
−0,99157
−0,89225
−0,80325
−0,72346
−0,65191
−0,5877
−0,53005
−0,47828
−0,43175
−0,38993
−0,35231
−0,31846
−0,28798
−0,26054
−0,23581
−0,21352
−0,19341
−0,17527
−0,1589
−0,14412
cp
12
10,83658
9,790448
8,849344
8,002317
7,239604
6,552494
5,933207
5,374791
4,871037
4,416389
4,005877
3,635053
3,299934
2,996949
2,7229
2,474917
2,250426
2,047117
1,862914
1,695953
G
H
cm
(cp-cm)^2
12
10,7
0
0,018653
9
0,022697
7,1
0,019489
4,6
0,033713
2,5
0,049684
1,8
0,010826
SSR =
0,155062
FIGURA 28.5
A aplicação de uma planilha e de métodos numéricos para determinar a ordem e o coeficiente de reação a partir de dados de
reação. Essa aplicação foi feita com a planilha Excel.
Os valores medidos (cm) são inseridos na coluna G ao lado do valor previsto correspondente. Estes são então usados em conjunto com os valores previstos para calcular os
resíduos quadráticos na coluna H. Esses valores são então somados na célula H29.
Neste ponto, o Excel Solver pode ser usado para determinar os melhores valores dos
parâmetros. Uma vez que você tenha acessado o Solver, este lhe pedirá uma célula alvo
ou solução (H29), perguntará se você quer maximizar ou minimizar a célula alvo (minimizar) e perguntará quais as células devem ser variadas (B3 a B4). Você então ativa o algoritmo [s(olve)] e os resultados serão como na Figura 28.5. Como mostrado, os valores
nas células B3 a B4 (k = 0,0915 e n = 1,044) minimizam a soma dos quadrados dos resíduos (SSR = 0,155) entre os dados previstos e medidos. Um gráfico do ajuste juntamente
com os dados é mostrado na Figura 28.6.
FIGURA 28.6
Gráfico do ajuste gerado com
a abordagem
integração/mínimos
quadrados.
c
10
5
0
0
10
20 t
28.2 MODELOS PREPARADOR-PRESA E CAOS
28.2
679
MODELOS PREDADOR-PRESA E CAOS
(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Os engenheiros ambientais tratam diversos problemas envolvendo sistemas de equações diferenciais ordinárias não-lineares. Nesta seção, nos concentraremos
em duas dessas aplicações. A primeira está relacionada com os assim chamados modelos
predador-presa que são usados para estudar a variação cíclica de nutrientes e poluentes
tóxicos na cadeia alimentar aquática e nos sistemas de tratamento biológicos. A segunda
são equações que derivam da dinâmica dos fluidos e que são utilizadas para simular a atmosfera. Além de sua aplicação óbvia à previsão do tempo, tais equações também têm
sido usadas para estudar a poluição do ar e a variação global do clima.
Os modelos predador-presa foram desenvolvidos independentemente no começo do
século XX pelo matemático italiano Vito Volterra e pelo biólogo norte-americano Alfred
J. Lotka. Essas equações são, em geral, denominadas equações de Lotka-Volterra. O
exemplo mais simples é o seguinte par de EDOs:
dx
= ax − bx y
dt
dy
= −cy + dx y
dt
(28.4)
(28.5)
onde x e y são os números de presas e predadores, respectivamente, a é a taxa de crescimento da presa, c é a taxa de morte do predador e b e d são taxas caracterizando o efeito
da interação predador-presa na morte da presa e no crescimento do predador, respectivamente. Os termos multiplicativos (isto é, aqueles envolvendo xy ) são os que tornam tais
equações não-lineares.
Um exemplo de modelo simples baseado na dinâmica dos fluidos atmosféricos são
as equações de Lorenz, desenvolvidas pelo meteorologista norte-americano Edward
Lorenz,
dx
= −σ x + σ y
dt
dy
= rx − y − xz
dt
dz
= −bz + x y
dt
(28.6)
(28.7)
(28.8)
Lorenz desenvolveu essas equações para relacionar a intensidade de movimento do fluido
atmosférico, x, as variações de temperatura y e z nas direções horizontal e vertical, respectivamente. Como no modelo predador-presa, vemos que a não-linearidade está localizada em termos multiplicativos simples (xz e xy).
Use métodos numéricos para obter soluções para essas equações. Faça gráficos dos
seus resultados para visualizar como as variáveis dependentes variam no tempo. Além
disso, faça um gráfico das variáveis dependentes uma em função da outra para ver se
emergem quaisquer padrões interessantes.
Solução. Use os seguintes valores dos parâmetros para a simulação pedador-presa:
a = 1,2, b = 0,6, c = 0,8 e d = 0,3. Use condições iniciais x = 2 e y = 1 e integre de
t = 0 a 30. Utilizaremos o método RK de quarta ordem com dupla precisão para obter as
soluções.
Os resultados usando um tamanho de passo de 0,1 estão mostrados na Figura 28.7.
Observe que emerge um padrão cíclico. Assim, como a população de predadores é inicialmente pequena, a presa cresce exponencialmente. Em certo ponto, a presa se torna tão
numerosa que a população de predadores começa a crescer. Eventualmente, o crescimento dos predadores faz que a presa diminua. Essa diminuição, por sua vez, leva a uma
diminuição dos predadores. Eventualmente, o processo se repete. Observe que, como esperado, o pico dos predadores ocorre um pouco depois do da presa. Além disso, note que
o processo tem um período fixo, isto é, ele se repete em um mesmo intervalo de tempo.
680
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
8
FIGURA 28.7
Representação no domínio do
tempo do número de presas e
de predadores no modelo de
Lotka-Volterra.
x, presa
y, predador
4
0
0
10
20
30 t
Agora, se os parâmetros usados para simular a Figura 28.7 forem mudados, embora
o padrão geral permaneça o mesmo, a intensidade dos picos, atrasos e períodos iriam
mudar. Assim, existe um número infinito de ciclos que poderiam ocorrer.
Uma representação em espaço de estados é útil para discernir a estrutura subjacente
do modelo. Em vez de traçar o gráfico de x e y em função de t, podemos traçar x versus
y. Como tal gráfico ilustra a maneira pela qual as variáveis de estado x e y interagem, e
este é conhecido como representação no espaço de estados.
A Figura 28.8 mostra a representação no espaço de estados para o caso que estamos
estudando. Assim, a interação entre o predador e a presa definiu uma órbita fechada percorrida no sentido anti-horário. Observe que existe um ponto crítico ou de repouso no centro da órbita. A localização exata desse ponto pode ser determinada igualando-se as
Equações (28.4) e (28.5) ao estado estacionário (dy/dt = dx/dt = 0) e encontrando (x, y) =
(0, 0) e (c/d, a/b). O primeiro é o resultado trivial, em que, se começarmos sem nenhum
predador e nenhuma presa, nada acontecerá. O último é a saída mais interessante, em que,
se as condições inicias forem escolhidas como x = c/d e y = a/b, as derivadas serão
nulas e as populações permanecerão constantes.
Agora, vamos usar a mesma abordagem para investigar as trajetórias das equações
de Lorenz com os seguintes valores de parâmetro: σ = 10, b = 2,666667 e r = 28. Use
condições iniciais x = y = z = 5 e integre de t = 0 a 20. Novamente, vamos usar o método
RK de quarta ordem de dupla precisão para obter soluções.
Os resultados mostrados na Figura 28.9 são bastante diferentes das equações de LotkaVolterra. A variável x parece estar seguindo um padrão quase aleatório de oscilações, variando de valores negativos para valores positivos. Entretanto, mesmo que os padrões pareçam aleatórios, a freqüência de oscilação e as amplitudes parecem bastante consistentes.
Outra característica interessante pode ser ilustrada variando ligeiramente a condição
inicial para x (de 5 para 5,001). Os resultados estão superpostos como a linha tracejada na
Figura 28.9. Embora as soluções permaneçam juntas por certo tempo, depois de cerca de
t = 12,5, elas divergem significativamente. Dessa forma, podemos ver que as equações
de Lorenz são bastante sensíveis às condições iniciais. No estudo inicial, isso levou
Lorenz à conclusão de que previsão de tempo de longo alcance poderia ser impossível!
FIGURA 28.8
Representação no espaço de
estados do modelo de
Lotka-Volterra.
y
4
Ponto
crítico
2
0
0
2
4
6 x
28.2 MODELOS PREPARADOR-PRESA E CAOS
FIGURA 28.9
Representação no domínio do
tempo de x em função de t
para as equações de Lorenz.
A linha sólida é para as
condições iniciais (5, 5, 5).
A linha pontilhada é para o
caso da condição inicial para
x ser ligeiramente perturbada
[(5,001, 5, 5)].
681
x
20
10
0
5
10
15
20 t
– 10
– 20
Finalmente, vamos analisar os gráficos no espaço de estados. Como se trata de três
variáveis independentes, estamos limitados a projeções. A Figura 28.10 mostra projeções
nos planos xy e xz. Observe como é aparente uma estrutura quando observada da perspectiva do espaço de estados. A solução forma órbitas em torno do que parecem ser pontos críticos. Esses pontos são chamados atratores estranhos no jargão dos matemáticos
que estudam tais sistemas não-lineares.
Soluções do tipo das que exploramos para as equações de Lorenz são conhecidas
como soluções caóticas. O estudo do caos e de sistemas não-lineares atualmente representa uma área excitante de análise que tem implicações tanto na matemática quanto na
ciência e na engenharia.
De uma perspectiva numérica, o ponto principal é a sensibilidade de tais soluções às
condições iniciais. Assim, algoritmos numéricos diferentes, precisão do computador e
tamanho de passos de integração podem todos ter um impacto grande na solução
numérica resultante.
FIGURA 28.10
Representação no espaço de
estados das equações de
Lorenz. (a) Projeção xy e (b)
projeção xz.
y
25
(a)
– 20
0
20 x
– 25
z
50
(b)
– 20
0
20 x
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
682
28.3
SIMULANDO CORRENTES TRANSIENTES PARA UM CIRCUITO
ELÉTRICO (ENGENHARIA ELÉTRICA)
Fundamentos. Os circuitos elétricos nos quais a corrente varia no tempo, em vez de
serem constantes, são comuns. Uma corrente transiente é estabelecida no laço à direita do
circuito mostrado na Figura 28.11 quando a chave é fechada repentinamente.
As equações que descrevem o comportamento transiente do circuito na Figura 28.11
são baseadas na lei Kirchhoff, que afirma que a soma algébrica das quedas de voltagem
em um laço fechado é nula (lembre-se da Seção 8.3). Logo,
L
di
q
+ Ri + − E(t) = 0
dt
C
(28.9)
em que L(di/dt) é a queda de voltagem no indutor, L é a indutância (H), R é a resistência
(), q é a carga no capacitor (C), C é a capacitância (F), E(t) é a fonte de voltagem dependente do tempo (V) e
dq
dt
i=
(28.10)
As Equações (28.9) e (28.10) são um par de equações diferenciais lineares de primeira
ordem que podem ser resolvidas analiticamente. Por exemplo, se E(t) = E0 sen ωt e R = 0,
q(t) =
−E 0
ω
E0
sen pt +
sen ωt
L( p2 − ω2 ) p
L( p2 − ω2 )
(28.11)
√
onde p = 1/ LC . Os valores de q e dq/dt são nulos para t = 0. Use uma abordagem
numérica para resolver as Equações (28.9) e (28.10) e compare os resultados com a
Equação (28.11).
FIGURA 28.11
Um circuito elétrico no qual a
corrente varia com o tempo.
E(t)
Chave
Bateria
–
–
+
V0
+
Capacitor
Indutor
Resistor
Capacitor
FIGURA 28.12
Tela do computador
mostrando um gráfico da
função representada pela
Equação (28.11).
6,0
Corrente
4,0
2,0
0
– 2,0
– 4,0
– 6,0
0
20
60
40
Tempo
80
100
28.3 SIMULANDO CORRENTES TRANSIENTES PARA UM CIRCUITO ELÉTRICO
683
Solução. Esse problema envolve um intervalo de integração bastante grande e exige o
uso de um esquema altamente acurado para resolver a equação diferencial se forem esperados bons resultados. Vamos supor que L = 1 H, E0 = 1 V, C = 0,25 C, e ω2 = 3,5 s2.
Isso resulta em p = 2 e a Equação (28.11) se torna
q(t) = −1,8708 sen (2t) + 2 sen (1,8708t)
para a solução analítica. O gráfico dessa função está ilustrado na Figura 28.12. A natureza
de variação rápida da função coloca uma exigência severa em qualquer procedimento
numérico para encontrar q(t). Além disso, como a função exibe uma natureza periódica
que varia lentamente, bem como uma componente que varia rapidamente, são necessários
intervalos longos de integração para retratar a solução. Assim, esperamos que um método
de alta ordem seja preferido para esse problema.
Entretanto, podemos tentar tanto os métodos de Euler e de RK de quarta ordem e
comparar os resultados. Usando um tamanho de passo de 0,1 s, obtemos um valor de q em
t = 10 s de 6,638 com o método de Euler e um valor de 1,9897 com o método RK de
quarta ordem. Podemos comparar esses resultados com uma solução exata de 1,996C.
A Figura 28.13 mostra os resultados da integração de Euler a cada 1,0 s comparados
com a solução exata. Observe que apenas um em cada dez pontos de saída está no gráfico.
Parece que o erro global aumenta conforme t aumenta. Esse comportamento divergente se
intensifica se t tende a infinito.
Além disso, para simular diretamente a resposta transiente de uma rede, os métodos
numéricos também podem ser usados para determinar seus autovalores. Por exemplo, a
Figura 28.14 exibe uma rede RC para a qual a lei da voltagem de Kirchhoff pode ser utilizada para deduzir o seguinte sistema de EDOs:
di 1
1
−
dt
C1
di 2
1
−L 2
−
dt
C2
t
di 3
1
−
dt
C3
t
−L 1
−L 3
t
−∞
(i 1 − i 2 ) dt = 0
1
(i 2 − i 3 ) dt +
C1
−∞
−∞
i 3 dt +
1
C2
t
−∞
(i 1 − i 2 ) dt = 0
t
−∞
(i 2 − i 3 ) dt = 0
FIGURA 28.13
Resultados da integração de Euler versus a solução exata. Observe que apenas um em cada
dez pontos de saída está no gráfico.
Carga
4
Método de Euler
2
0
–2
–4
–6
10 t, s
684
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
Observe porque representamos a queda de voltagem no capacitor
1 t
VC =
i dt
C −∞
Esta é uma expressão alternativa equivalente da relação usada na Equação (28.9) e introduzida na Seção 8.3.
O sistema de EDOs pode ser derivado e reorganizado para fornecer
L1
d 2i1
1
+
(i 1 − i 2 ) = 0
2
dt
C1
L2
1
d 2i2
1
+
(i 2 − i 3 ) −
(i 1 − i 2 ) = 0
2
dt
C2
C1
L3
d 2i3
1
1
+
i3 −
(i 2 − i 3 ) = 0
2
dt
C3
C2
A comparação desse sistema com o sistema da Equação (27.5) indica uma analogia
entre o sistema massa-mola e um circuito LC. Como feito na Equação (27.5), podemos
supor que a solução tenha a forma
i j = A j sen (ωt)
Essa solução juntamente com sua segunda derivada pode ser substituída nas EDOs simultâneas. Depois de simplificações, o resultado é
1
2
− L 1 ω A1
C1
−
1
A1
C1
−
+
1
A2
C2
=0
1
1
+
− L 2 ω2 A2
C1
C2
−
1
A2
C2
−
+
1
A3
C2
=0
1
1
+
− L 3 ω2 A3 = 0
C2
C3
Assim, formulamos um problema de autovalores. Mais simplificações ocorrem no caso
em que os C’s e os L’s são constantes. Para essa situação, o sistema pode ser expresso na
forma matricial como
⎤⎧ ⎫
⎡
1 − λ −1
0
⎨ A1 ⎬
⎣ −1 2 − λ −1 ⎦ A2 = {0}
(28.12)
⎩ ⎭
0
−1 2 − λ
A3
onde
λ = LCω2
(28.13)
Podem ser utilizados métodos numéricos para determinar os autovalores e autovetores. O MATLAB é particularmente conveniente nesse caso. A seguinte seção MATLAB
foi desenvolvida para fazer isso:
FIGURA 28.14
Uma rede LC.
L1
+
–
L2
C1
i1
L3
C2
i2
C3
i3
28.3 SIMULANDO CORRENTES TRANSIENTES PARA UM CIRCUITO ELÉTRICO
685
>>a=[1 –1 0; –1 2 –1; 0 –1 2]
a =
1
–1
–1
2
0
–1
>>[v,d]=eig(a)
0
–1
2
v =
0.7370
0.5910
0.3280
0.5910
–0.3280
–0.7370
0.3280
–0.7370
0.5910
0.1981
0
0
0
1.5550
0
0
0
3.2470
d =
A matriz v consiste nos três autovetores do sistema (dispostos como colunas) e d é a
matriz com os autovalores correspondentes na diagonal. Assim, o pacote calcula que
os autovalores são λ = 0,1981, 1,555 e 3,247. Esses valores, por sua vez, podem ser substituídos na Equação (28.13) para determinar as freqüências naturais do sistema
⎧
0,4450
⎪
⎪
⎪
√
⎪
⎪
LC
⎪
⎪
⎨ 1,2470
√
ω=
⎪
LC
⎪
⎪
⎪
⎪
1,8019
⎪
⎪
⎩ √
LC
Além de fornecer as freqüências naturais, os autovalores podem ser substituídos na
Equação (28.12) para fornecerem uma percepção maior do comportamento físico do sistema. Por exemplo, a substituição de λ = 0,1981 fornece
⎡
⎤⎧ ⎫
⎨ i1 ⎬
0,8019
−1
0
⎣ −1
1,8019
−1 ⎦ i 2 = {0}
⎩i ⎭
3
0
−1
1,8019
Embora esse sistema não tenha uma única solução, ele será satisfeito se as correntes obedecerem a razões fixas, como em
0,8019i 1 = i 2 = 1,8019i 3
(28.14)
FIGURA 25.15
Uma representação visual dos modos naturais de oscilação da rede LC da Figura 28.14. Observe que os diâmetros das setas
circulares são proporcionais à intensidade da corrente em cada laço.
(a) = 0,4451
LC
(b) = 1,2470
LC
(c)
= 1,8019
LC
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
686
Dessa forma, como descrito pela Figura 28.15a, elas oscilam na mesma direção com intensidades diferentes. Observe que, se supusermos i1 = 0,737, podemos usar a Equação
(28.14) para calcular as outras correntes com o resultado
0,737
{i} = 0,591
0,328
que é a primeira coluna da matriz v, calculada com o MATLAB.
De forma análoga, o segundo autovalor λ = 1,555 pode ser substituído, fornecendo
o resultado
−1,8018i 1 = i 2 = 2,247i 3
Como descrito na Figura 28.15b, o primeiro laço oscila no sentido oposto do segundo e
do terceiro. Finalmente, o terceiro modo pode ser determinado como
−0,445i 1 = i 2 = −0,8718i 3
Conseqüentemente, como na Figura 28.15c, os primeiro e terceiro laços oscilam no sentido oposto do segundo.
28.4
O PÊNDULO OSCILANTE (ENGENHARIA
MECÂNICA/AEROESPACIAL)
Fundamentos. Os engenheiros mecânicos (assim como todos os outros engenheiros) são
freqüentemente confrontados por problemas relacionados com o movimento periódico de
corpos livres. A abordagem da engenharia para tais problemas acaba exigindo que a
posição e a velocidade do corpo sejam conhecidas como função do tempo. Essas funções
do tempo invariavelmente são soluções de equações diferenciais ordinárias. As equações
diferenciais são geralmente baseadas nas leis de movimento de Newton.
Como um exemplo, considere o pêndulo simples mostrado anteriormente na Figura
PT7.1. A partícula de peso W está presa a uma haste sem peso de comprimento l. As únicas forças agindo na partícula são seu peso e a tensão R na haste. A posição da partícula
em qualquer instante de tempo é especificada completamente em termos do ângulo θ e l.
O diagrama de corpo livre na Figura 28.16 mostra as forças na partícula e a aceleração. É conveniente aplicar as leis de movimento de Newton na direção x tangente à trajetória da partícula:
F = −W sen θ =
W
a
g
onde g é a constante gravitacional (32,2 pés/s2 ) e a é a aceleração na direção x. A aceleração angular da partícula (α) se torna
FIGURA 28.16
Um diagrama de corpo livre do
pêndulo oscilante mostrando as
forças na partícula e a
aceleração.
α=
a
l
Portanto, em coordenadas polares (α = d 2θ/dt 2),
−W sen θ =
Wl
W l d 2θ
α=
g
g dt 2
ou
R
x
a
y
W
d 2θ
g
+ sen θ = 0
2
dt
l
(28.15)
Essa equação aparentemente simples é uma equação diferencial não-linear de segunda
ordem. Em geral, tais equações são difíceis ou impossíveis de resolver analiticamente.
Você tem duas escolhas relativas de como prosseguir. Primeiro, a equação diferencial
poderia ser reduzida a uma forma que pudesse ser resolvida analiticamente (lembre-se da
28.4 O PÊNDULO OSCILANTE
687
Seção PT7.1.1), ou, segundo, uma técnica de aproximação numérica poderia ser usada
para resolver diretamente a equação diferencial. Examinaremos ambas as alternativas
neste exemplo.
Solução. Prosseguindo com a primeira abordagem, observamos que uma expansão em
série para sen θ é dada por
sen θ = θ −
θ3
θ5
θ7
+
−
+ ···
3!
5!
7!
(28.16)
Para pequenos deslocamentos angulares, sen θ é aproximadamente igual a θ quando
expresso em radianos. Portanto, para pequenos deslocamentos, a Equação (28.15) se torna
d 2θ
g
+ θ =0
dt 2
l
(28.17)
que é uma equação diferencial linear de segunda ordem. Essa aproximação é muito importante porque a Equação (28.17) é muito fácil de resolver analiticamente. A solução,
baseada na teoria das equações diferenciais, é dada por
g
θ(t) = θ0 cos
t
(28.18)
l
onde θ0 é o deslocamento em t = 0 e na qual é suposto que a velocidade (v = dθ/dt) seja
zero em t = 0. O tempo necessário para que o pêndulo complete um ciclo de oscilação é
chamado período e é dado por
l
T = 2π
(28.19)
g
A Figura 28.17 apresenta um gráfico do deslocamento θ e da velocidade dθ/dt como
uma função do tempo, como calculado a partir da Equação (28.18) com θ0 = π/4 e l = 2
pés. O período, calculado a partir da Equação (28.19), é 1,5659 s.
Os cálculos anteriores são essencialmente uma solução completa do movimento do
pêndulo. Entretanto, você deve considerar a acurácia de seus resultados por causa da
hipótese inerente na Equação (28.17). Para avaliar a acurácia, é necessário obter uma
solução numérica para a Equação (28.15), que é uma representação física mais completa
do movimento. Qualquer um dos métodos discutidos nos Capítulos 25 e 26 poderia ser
FIGURA 28.17
Gráfico do deslocamento θ e da velocidade d θ/dt como uma função do tempo t, como
calculado a partir da Equação (28.18). θ0 é π/4 e o comprimento é 2 pés.
d
dt
0,8
2
0
t
0
–2
– 0,8
t
688
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
usado com esse propósito — por exemplo, os métodos de Euler e RK de quarta ordem. A
Equação (28.15) deve ser transformada em duas equações de primeira ordem para ser
compatível com os métodos descritos. Isso pode ser obtido como segue. A velocidade v é
definida por
dθ
=v
dt
(28.20)
e, portanto, a Equação (28.15) pode ser expressa por
dv
g
= − sen θ
dt
l
(28.21)
As Equações (28.20) e (28.21) são um sistema acoplado de duas equações diferenciais ordinárias. As soluções numéricas pelo método de Euler e pelo método RK de quarta ordem
dão os resultados mostrados na Tabela 28.1, que compara a solução analítica para a
equação linear de movimento [Equação (28.18)] na coluna (a) com as soluções numéricas nas colunas (b), (c) e (d).
Os métodos de Euler e RK de quarta ordem fornecem resultados diferentes e ambos
são diferentes da solução analítica, embora o método RK de quarta ordem para o caso nãolinear esteja mais próximo da solução analítica que o método de Euler. Para avaliar adequadamente a diferença entre os modelos linear e não-linear, é importante determinar a
acurácia dos resultados numéricos. Pode-se conseguir isso de três maneiras. Primeira,
a solução numérica de Euler é facilmente reconhecida como inadequada, pois ela supera a
condição inicial em t = 0,8 s. Isso claramente viola a conservação da energia. Segunda, as
colunas (c) e (d) na Tabela 28.1 mostram a solução pelo método RK de quarta ordem para
tamanhos de passo de 0,05 e 0,01. Como elas diferem na quarta casa decimal, é razoável
supor que a solução com tamanho de passo de 0,01 também apresente esta ordem de
acurácia. Terceira, para o caso do tamanho do passo de 0,01, θ atinge um valor máximo
local de 0,785385 em t = 1,63 s (não mostrado na Tabela 28.1). Isso indica que o pêndulo
volta à sua posição inicial com quatro casas de acurácia com um período de 1,63 s. Essas
considerações nos permitem supor com segurança que a diferença entre as colunas (a) e (d)
na Tabela 28.1 representa verdadeiramente a diferença entre o modelo linear e não-linear.
Outra forma de caracterizar a diferença entre os modelos linear e não-linear é com
base no período. A Tabela 28.2 mostra o período de oscilação como calculado pelo modelo linear e pelo modelo não-linear para três deslocamentos iniciais diferentes. Podemos
ver que os períodos calculados ficam próximos quando θ é pequeno, pois θ é uma boa
aproximação para sen θ na Equação (28.16). Essa aproximação se deteriora conforme θ se
torna grande.
Essas análises são típicas dos casos que vamos encontrar rotineiramente como enTABELA 28.1 Comparação de uma solução analítica linear do problema do pêndulo
oscilante com três soluções numéricas não-lineares.
Soluções Numéricas Não-lineares
Tempo,
s
0,0
0,2
0,4
0,6
0,8
1,0
1,2
1,4
1,6
Solução
Analítica
Linear
(a)
Euler
(h ⴝ 0,05)
(b)
RK de Quarta Ordem
(h ⴝ 0,05)
(c)
RK de Quarta Ordem
(h ⴝ 0,01)
(d )
0,785398
0,545784
−0,026852
−0,583104
−0,783562
−0,505912
0,080431
0,617698
0,778062
0,785398
0,615453
0,050228
−0,639652
−1,050679
−0,940622
−0,299819
0,621700
1,316795
0,785398
0,566582
0,021895
−0,535802
−0,784236
−0,595598
−0,065611
0,503352
0,780762
0,785398
0,566579
0,021882
−0,535820
−0,784242
−0,595583
−0,065575
0,503392
0,780777
PROBLEMAS
689
TABELA 28.2 Comparação do período de um corpo oscilante calculado a partir dos
modelos linear e não-linear.
Período, s
Deslocamento
Modelo Linear
Modelo Não-linear
Inicial, θ 0
(T ⴝ 2π
π 兹苶)
I/g
[Solução Numérica da Eq. (28.15)]
π/16
π/4
π/2
1,5659
1,5659
1,5659
1,57
1,63
1,85
genheiros. A utilidade das técnicas numéricas se torna particularmente significativa nos
problemas não-lineares e, em muitos casos, os problemas do mundo real são não-lineares.
PROBLEMAS
Engenharia Química/Bioengenharia
28.1 Faça o primeiro cálculo da Seção 28.1, mas para o caso em
que h = 10. Use os métodos de Heun (sem iteração) e o RK de
quarta ordem para obter soluções.
28.2 Faça o segundo cálculo da Seção 28.1, mas para o sistema
descrito no Problema 12.4.
28.3 Um balanço de massa para um composto químico em um
reator de mistura pode ser escrito como
V
dc
= F − Qc − kV c2
dt
onde V é o volume (12 m3), c é a concentração (g/m3), F é a taxa
de alimentação (175 g/min), Q é a vazão (1 m3/min) e k é uma
taxa de reação de segunda ordem (0,15 m3/g/min). Se c(0) = 0, resolva a EDO até que a concentração atinja um nível estável. Use o
método do ponto médio (h = 0,5) e faça o gráfico de seus resultados.
Questão desafio: se ignorarmos o fato de que as concentrações devem ser positivas, encontre um intervalo de condições
iniciais tal que você obteria uma trajetória muito diferente da que
foi obtida com c(0) = 0. Relacione seus resultados com as soluções
estacionárias.
28.4 Se cin = cb(1 − e−0,12t ), calcule a concentração no escoamento de saída de uma substância conservativa (sem reações) para
um único reator de mistura como uma função do tempo. Use o
método de Heun (sem iteração) para fazer os cálculos. Use valores
de cb = 40 mg/m3, Q = 6 m3/min, V = 100 m3 e c0 = 20 mg/m3.
Faça os cálculos de t = 0 a 100 min usando h = 2. Trace seus resultados com a concentração no escoamento de entrada em função
do tempo.
28.5 A água do mar com uma concentração de 8000 g/m3 é
bombeada para um tanque bem misturado a uma vazão de 0,6
m3/hr. Por causa de um defeito no trabalho do projeto, a água está
evaporando do tanque a uma vazão de 0,025 m3/hr. A solução salina
deixa o tanque a uma vazão de 0,6 m3/hr.
(a) Se o tanque continha originalmente 1 m3 da solução de entrada,
quanto tempo depois de ligar a bomba de saída o tanque secará?
(b) Use métodos numéricos para determinar a concentração de sal
no tanque como uma função do tempo.
28.6 Uma esfera de gelo que tem 6 cm de diâmetro é removida de
um congelador a 0° C e é colocada em uma tela de rede à temperatura ambiente Ta = 20°C. Qual será o diâmetro da esfera de gelo
como uma função do tempo fora do congelador (supondo que toda
a água que derreteu caia imediatamente pela tela)? O coeficiente de
transferência de calor h para uma esfera em um quarto sem vento é
cerca de 3 W/(m2 · K). O fluxo de calor da esfera de gelo para o ar
é dado por
q
Fluxo =
= h(Ta − T )
A
onde q é o calor e A é a área da superfície da esfera. Use um método
numérico para fazer seus cálculos. Observe que o calor latente de
fusão é 333 kJ/kg e que a densidade do gelo é aproximadamente
0,917 kg/m3.
28.7 As seguintes equações definem a concentração de três
reagentes:
dca
= −10ca cc + cb
dt
dcb
= 10ca cc − cb
dt
dcc
= −10ca cc + cb − 2cc
dt
Se as condições iniciais forem ca = 50, cb = 0 e cc = 40, encontre
as concentrações para instantes entre 0 e 3 s.
28.8 O composto A difunde por meio de um tubo de 4 cm de comprimento e reage conforme ele difunde. A equação que rege a difusão com reação é
D
d2 A
− kA = 0
dx 2
Em uma extremidade do tubo, existe uma grande fonte de A a uma
concentração de 0,1 M. Na outra extremidade do tubo, existe um
material absorvente que absorve rapidamente qualquer A, tornando
a concentração 0 M. Se D = 1,5 × 10−6 cm2/s e k = 5 × 10−6 s−1,
qual é a concentração de A como função da distância no tubo?
28.9 Na investigação de homicídio ou de morte acidental, em
geral, é importante determinar o momento da morte. De observações experimentais, sabe-se que a temperatura da superfície de
um objeto varia a uma taxa proporcional à diferença entre a
temperatura do objeto e a do meio que o cerca ou a temperatura
ambiente. Isso é conhecido como a lei de resfriamento de Newton.
Assim, se T(t) for a temperatura do objeto no instante t e Ta for a
temperatura constante do ambiente:
ESTUDO DE CASOS: EQUAÇÕES ORDINÁRIAS
690
dT
= −K (T − Ta )
dt
onde K > 0 é uma constante de proporcionalidade. Suponha que, no
instante t = 0, um corpo seja descoberto e que sua temperatura medida seja T0. Supomos que no instante da morte a temperatura do
corpo, Td, tinha o valor normal de 37º C. Suponha que a temperatura do corpo, quando foi descoberto, era de 29,5º C e que duas
horas depois era de 23,5° C. A temperatura ambiente é 20° C.
(a) Determine K e o momento da morte.
(b) Resolva a EDO numericamente e trace seus resultados.
28.10 A reação A → B ocorre em dois reatores em série. Os
reatores estão bem misturados, mas não estão no estado estacionário. O balanço de massa para cada reator de tanque agitado é
mostrado a seguir:
dCA1
dt
dCB1
dt
dCA2
dt
dCB2
dt
1
(CA0 − CA1 ) − kCA1
τ
1
= − CB1 + kCA1
τ
1
= (CA1 − CA2 ) − kCA2
τ
1
= (CB1 − CB2 ) + kCA2
τ
=
onde CA0 é a concentração de A na entrada do primeiro reator, CA1
é a concentração de A na saída do primeiro reator (e na entrada do
segundo), CA2 é a concentração de A na saída do segundo reator,
CB1 é a concentração de B na saída do primeiro reator (e na entrada
do segundo), CB2 é a concentração de B no segundo reator, τ é o
tempo de residência para cada reator e k é a taxa constante para a
reação de A produzir B. Se CA0 for igual a 20, encontre as concentrações de A e B em ambos os reatores durante os primeiros 10 minutos de operação. Use k = 0,12/min e τ = 5 min e suponha que as
condições iniciais de todas as variáveis dependentes sejam zero.
28.11 Um reator de batelada pode ser descrito pelas seguintes
equações:
dC
= −e(−10/(T +273)) C
dt
dT
= 1000e(−10/(T +273)) C − 10(T − 20)
dt
onde C é a concentração do reagente e T, a temperatura do reator.
Inicialmente, o reator está a 15 ºC e tem uma concentração do
reagente C de 1,0 gmol/L. Encontre a concentração e a temperatura
do reator como uma função do tempo.
28.12 O seguinte sistema é um exemplo clássico de EDOs rígidas
que podem ocorrer na cinética de reações químicas.
dc1
= −0,013c1 − 1000c1 c3
dt
dc2
= −2500c2 c3
dt
dc3
= −0,013c1 − 1000c1 c3 − 2500c2 c3
dt
Resolva essas reações de t = 0 a 50 com condições iniciais c1(0) =
c2(0) = 1 e c3(0) = 0. Se você tiver acesso ao software MATLAB,
use ambas as funções padrão (por exemplo, ode45) e rígida (por
exemplo, ode23s) para obter suas soluções.
Engenharia Civil/Ambiental
28.13 Faça os mesmos cálculos efetuados para o sistema LotkaVolterra na Seção 28.2, mas use (a) o método de Euler, (b) o
método de Heun (sem iteragir o corretor), (c) o método RK de
quarta ordem e (d) a função ode45 do MATLAB. Em todos os
casos, use precisão simples das variáveis, um tamanho de passo de
0,1 e simulação de t = 0 a 20. Desenvolva gráficos no espaço de estados para todos os casos.
28.14 Faça os mesmos cálculos para as equações de Lorenz na
Seção 28.2, mas use (a) o método de Euler, (b) o método de Heun
(sem iteragir o corretor), (c) o método RK de quarta ordem e (d) a
função ode45 do MATLAB. Em todos os casos, utilize variáveis
de precisão simples e tamanho de passo de 0,1 e simulação de t = 0
a 20. Desenvolva gráficos no espaço de estados para todos os casos.
28.15 A seguinte equação pode ser usada para modelar a deflexão
do mastro da vela de um barco sujeita à força do vento:
d2 y
f
=
(L − z)2
dz 2
2EI
onde f é a força do vento, E é o módulo de elasticidade, L é o comprimento do mastro e I é o momento de inércia. Calcule a deflexão
se y = 0 e dy/dz = 0 em z = 0. Use valores de parâmetros de
f = 60, L = 30, E = 1,25 × 108, e I = 0,05 para seus cálculos.
28.16 Faça os mesmos cálculos efetuados no Problema 28.15, mas,
em vez de usar a força do vento constante, empregue uma força que
varie com a altura de acordo com (lembre-se da Seção 24.2)
f(z) =
200z −2z/30
e
5+z
28.17 Um engenheiro ambiental está interessado em obter uma estimativa da mistura que ocorre entre um lago estratificado e a baía
adjacente (Figura P28.17). Um rastreador conservativo é misturado
instantaneamente com a água da baía e, a seguir, a concentração do
rastreador é monitorada no período seguinte em todos os três segmentos. Os valores são
0
0
0
100
t
c1
c2
c3
2
15
3
48
4
11
5
26
Baía
(3)
6
7
7
16
8
6
7
10
12
3
6
4
16
2
4
3
20
1
2
2
Camada
superior
(1)
Camada
inferior
(2)
Figura P28.17
Usando balanços de massa, o sistema pode ser modelado pelas
seguintes EDOs simultâneas:
dc1
= −Qc1 + E 12 (c2 − c1 ) + E 13 (c3 − c1 )
dt
dc2
V2
= E 12 (c1 − c2 )
dt
dc3
V3
= E 13 (c1 − c3 )
dt
V1
PROBLEMAS
691
onde Vi é o volume do segmento i, Q é o escoamento e Eij é a taxa de
mistura difusiva entre os segmentos i e j. Use os dados e as equações
diferenciais para obter uma estimativa dos E’s se V1 = 1 × 107, V2 =
8 × 106, V3 = 5 × 106 e Q = 4 × 106. Empregue o método de Euler
com um tamanho de passo de 0,1 para a sua análise.
28.18 As dinâmicas de crescimento populacionais são importantes
em diversos estudos de planejamento para áreas tais como de engenharia de transporte e de recursos hídricos. Um dos modelos
mais simples para tal crescimento incorpora a hipótese de que a
taxa de variação da população é proporcional à população existente
em qualquer instante t:
dp
= Gp
dt
(P28.18)
onde G é a taxa de crescimento (por ano). Esse modelo faz sentido
do ponto de vista intuitivo, pois, quanto maior a população, maior
o número de pais potenciais. No instante t = 0, uma ilha tem a
população de 6.000 pessoas. Se G = 0,075 por ano, use o método
de Heun (sem iteração) para prever a população em t = 20 anos,
usando um tamanho de passo de 0,5 ano. Faça o gráfico de p em
função de t em papel de gráfico padrão e semilog. Determine a inclinação da reta no gráfico do papel semilog. Discuta os resultados.
28.19 Embora o modelo no Problema 28.18 funcione adequadamente quando o crescimento populacional é ilimitado, ele não funciona quando fatores tais como escassez de alimentos, poluição e
falta de espaço inibem o crescimento. Em tais casos, a própria taxa
de crescimento pode ser pensada como inversamente proporcional
à população. Um modelo para essa relação é
G = G ′( pmax − p)
(P28.19)
onde G ′ é uma taxa de crescimento dependente da população (por
pessoa-ano) e pmax é o máximo de população sustentável. Logo,
quando a população for pequena ( p ≪ pmax), a taxa de crescimento será a taxa constante mais alta G ′ pmax . Para tais casos, o
crescimento é ilimitado e a Equação (P28.19) é essencialmente
idêntica à Equação (P28.18). Entretanto, conforme a população
cresce (isto é, p se aproxima de pmax), G decresce até que em p = pmax
ele seja zero. Portanto, o modelo prevê que, quando a população
atingir o máximo nível sustentável, o crescimento será não existente e o sistema estará em um estado estacionário. A substituição
da Equação (P28.19) na Equação (P28.18) fornece
dp
= G ′( pmax − p) p
dt
Para a mesma ilha estudada no Problema 28.18, empregue o
método de Heun (sem iteração) para prever a população em t = 20
anos, usando um tamanho de passo de 0,5 ano. Use valores de G =
10−5 por pessoa-ano e pmax = 20.000 pessoas. No instante t = 0, a
ilha tem população de 6.000 pessoas. Faça o gráfico de p em função
de t e interprete a forma da curva.
28.20 O Isle Royale National Park é um arquipélago de 210 milhas quadradas composto por uma única ilha grande e por muitas
ilhas pequenas no Lago Superior. Os alces chegaram em torno de
1900 e, por volta de 1930, sua população se aproximou de 3.000,
destruindo a vegetação. Em 1949, lobos cruzaram uma ponte de
gelo a partir de Ontário. A partir do final da década de 50, o
número de alces e de lobos foi monitorado. (Um traço indica que
não há dados.)
Ano
Alces
Lobos
Ano
Alces
Lobos
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
700
—
—
—
—
—
881
—
1000
1150
966
674
22
22
23
20
25
28
24
22
22
17
18
20
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
836
802
815
778
641
507
543
675
577
570
590
811
23
24
30
41
43
33
40
42
50
30
13
23
(a) Integre as equações de Lotka-Volterra de 1960 até 2020. Determine os valores dos coeficientes que fornecem um ajuste
ótimo. Compare sua simulação com os dados usando uma
abordagem por série temporal e comente seus resultados.
(b) Trace a simulação da parte (a), mas use uma abordagem no
espaço de estados.
(c) Depois de 1993, suponha que os administradores da vida selvagem consigam capturar um lobo por ano e transporte-o para
fora da ilha. Faça uma previsão de como a população de lobos e
alces iria evoluir até 2020. Apresente seus resultados tanto em
gráfico de séries temporais quanto no espaço de estados. Para
esse caso, bem como para (d), use os seguintes coeficientes:
a = 0,3, b = 0,01111, c = 0,2106, d = 0,0002632.
(d) Suponha que em 1993, algum caçador conseguiu entrar na ilha
e matou 50% dos alces. Faça uma previsão de como a população tanto dos lobos quanto dos alces iria evoluir até o ano de
2020. Apresente seus resultados tanto em gráfico de séries temporais quanto no espaço de estados.
28.21 Um cabo está pendurado por dois suportes em A e B
(Figura P28.21). O cabo está com carga, com uma distribuição de
carga cujo módulo varia com x como
πx
w = wo 1 + sen
2l A
onde wo = 1000 lbs/pés. A inclinação do cabo (dy/dx) = 0 em
x = 0, que é o ponto mais baixo do cabo. Ele também é o ponto no
qual a tensão no cabo está em um mínimo de To. A equação diferencial que governa o cabo é
πx
d2 y
wo
1
+
sen
=
dx 2
To
2l A
Figura P28.21
A
y
hA = 50 pés
B
w = wo[1 + sen (x/2la)]
x
lA = 200 pés
ESTUDO DE CASOS: EQUAÇÕES ORDINÁRIAS
692
Resolva essa equação usando um método numérico e trace a forma
do cabo (y em função de x). Para a solução numérica, o valor de To
é desconhecido, de modo que a solução deva usar uma técnica iterativa, análoga ao método shooting, para convergir para um valor
correto de hA para diversos valores de To.
28.22 A equação diferencial básica de uma curva elástica para uma
viga em balanço (Figura P28.22) é dada por
EI
d2 y
= −P(L − x)
dx 2
h, m
onde E é o módulo de elasticidade e I é o momento de inércia. Determine a deflexão da barra usando um método numérico. Os
seguintes valores dos parâmetros se aplicam: E = 30.000 ksi, I =
800 in4, P = 1 kip, L = 10 pés. Compare seus resultados numéricos
com a solução analítica,
y=−
onde h é a profundidade (m), t é o tempo (s), d é o diâmetro do
tubo (m), A(h) é a área da superfície do reservatório como uma
função da profundidade (m2), g é a constante gravitacional (= 9,81
m/s2), e e é a profundidade da saída do tubo abaixo do fundo do
reservatório (m). Com base na seguinte tabela de área-profundidade, resolva essa equação diferencial para determinar quanto
tempo leva para o reservatório se esvaziar, dado que h(0) = 6 m,
d = 0,25 m, e = 1 m.
4
2
A(h), 10 m
6
5
4
3
2
1
0
1,17
0,97
0,67
0,45
0,32
0,18
0
A(h)
PL x 2
Px3
+
2EI
6EI
h
e
y
L
P
d
0
x
Figura P28.22
28.23 A equação diferencial básica de uma curva elástica para uma
viga em balanço (Figura P28.23) é dada por
onde E é o módulo de elasticidade e I é o momento de inércia. Determine a deflexão da barra usando (a) a abordagem por diferenças
finitas ( x = 2 pés) e (b) o método shooting. Os seguintes valores
dos parâmetros se aplicam: E = 30.000 ksi, I = 800 in4, w = 1
kip/pés, L = 10 pés. Compare seus resultados numéricos com a
solução analítica,
y=
12EI
4
−
28.25 Engenheiros e cientistas usam modelos massa-mola para
desenvolver uma percepção da dinâmica de estruturas sob a influência de distúrbios, tais como terremotos. A Figura P28.25
mostra tal representação para um edifício de três andares. Para esse
caso, a análise é limitada ao movimento horizontal das estruturas.
Os balanços de força podem ser escritos para esse modelo como
wL x
wx 2
d2 y
−
EI 2 =
dx
2
2
wL x 3
Figura P28.24
k1 + k2
− ω2 X 1
m1
−
k2
m2
−
X1 +
k2
m1
X2
=0
k2 + k3
k3
− ω2 X 2 −
X3 = 0
m2
m2
k3
k3
X2 +
− ω2 X 3 = 0
−
m3
m3
m3 = 8.000 kg
3
wx
wL x
−
24EI
24EI
k3 = 1800 kN/m
m2 = 10.000 kg
y
k2 = 2400 kN/m
w
m1 = 12.000 kg
0
x
k1 = 3000 kN/m
L
Figura P28.23
28.24 Um reservatório de água é drenado por um tubo, como
mostrado na Figura P28.24. Sob diversas hipóteses simplificadoras, a seguinte equação diferencial descreve como a profundidade
varia com o tempo:
dh
πd 2
2g(h + e)
=
dt
4A(h)
Figura P28.25
Determine os autovalores e os autovetores e a representação gráfica
dos modos de vibração para a estrutura mostrando as amplitudes
em função da altura para cada um dos autovetores. Normalize as
amplitudes de modo que o deslocamento no terceiro piso seja um.
Engenharia Elétrica
28.26 Faça os mesmos cálculos realizados na primeira parte da
Seção 28.3, mas com R ⫽ 0,025 .
PROBLEMAS
28.27 Resolva a EDO da primeira parte da Seção 8.3 de t = 0 a 0,5,
usando técnicas numéricas se q = 0,1 e i = −3,281515 em t = 0. Use
R = 50 com os outros parâmetros da Seção 8.3.
28.28 Para um circuito RL simples, a lei da voltagem de Kirchhoff
exige que (se a lei de Ohm for válida)
L
di
+ Ri = 0
dt
onde i é a corrente, L é a indutância e R é a resistência. Resolva para
determinar i, se L = 1, R = 1,5, e i(0) = 0,5. Resolva esse problema
analiticamente e com um método numérico. Apresente seus resultados graficamente.
28.29 Em contraste com o Problema 28.28, os resistores reais nem
sempre obedecem à lei de Ohm. Por exemplo, a queda de voltagem
pode não ser linear e a dinâmica do circuito poderia ser descrita por
uma relação tal como
3
di
i
i
L
=0
+R
−
dt
I
I
onde todos os outros parâmetros são como definidos no Problema 28.28
e I é uma corrente de referência conhecida igual a 1. Resolva para
determinar i como uma função do tempo sob as mesmas condições
especificadas no Problema 28.28.
28.30 Desenvolva um problema de autovalor para uma rede LC
parecida com a da Figura 28.14, mas com apenas dois laços. Isto é,
omita o laço i3. Desenhe a rede, ilustrando como a corrente oscila
em seus modos primários.
693
onde L é o comprimento do cilindro. Combine essas duas equações
e calcule o fluxo de calor de t = 0 a 25 s. A condição inicial é Q(0) e
os parâmetros são λ = 0,5 cal · cm/s, A = 12 cm2, L = 20 cm e
x = 2,5 cm. Faça o gráfico de seus resultados.
28.35 Repita o problema do pára-quedista em queda livre (Exemplo 1.2), porém com a força para cima em virtude do arrasto como
de segunda ordem:
Fu = −cv 2
onde c = 0,225 kg/m. Resolva de t = 0 a 30, faça um gráfico de
seus resultados e compare com aqueles do Exemplo 1.2.
28.36 Suponha que, depois de cair por 13 s, o pára-quedista dos
Exemplos 1.1 e 1.2 puxa a corda de abertura. Nesse ponto, suponha
que o coeficiente de arrasto aumente instantaneamente para um
valor constante de 55 kg/s. Calcule a velocidade do pára-quedista
de t = 0 a 30 s com o método de Heun (sem iteração para o corretor), usando um tamanho de passo de 2 s. Trace v em função de t de
t = 0 a 30s.
28.37 A seguinte equação diferencial ordinária descreve o movimento de um sistema massa-mola amortecido (Figura P8.37):
dx dx
d2x
m 2 + a
+ bx 3 = 0
dt
dt dt
onde x é o deslocamento a partir da posição de equilíbrio, t é o
tempo, m = 1 kg é a massa e a = 5 N/(m/s)2. O termo de amortecimento é não-linear e representa o amortecimento do ar.
x
Engenharia Mecânica/Aeroespacial
28.31 Faça os mesmos cálculos realizados na Seção 28.4, mas para
um pêndulo de 1 m de comprimento.
28.32 A Seção 8.4 apresenta uma equação diferencial de segunda
ordem que pode ser usada para analisar as oscilações não forçadas
do amortecedor de um automóvel. Dados m = 1,2 × 106 g, c = 1 ×
107 g/s e k = 1,25 × 109 g/s2, use um método numérico para resolver no caso em que x(0) = 0,4 e dx(0)/dt = 0,0. Determine
ambos o deslocamento e a velocidade de t = 0 a 0,5 s.
28.33 A taxa de resfriamento de um corpo pode ser expressa como
dT
= −k(T − Ta )
dt
onde T é a temperatura do corpo (°C), Ta é a temperatura do meio
circundante (°C) e k é a constante de proporcionalidade (min−1).
Logo, essa equação especifica que a taxa de resfriamento é proporcional à diferença de temperatura entre o corpo e o meio circundante. Se uma bola de metal aquecida a 90° C for jogada em água
mantida a um valor constante de Ta = 20° C, use um método
numérico para calcular quanto tempo levará para que a bola seja
resfriada para 40° C se k = 0,25 min−1.
28.34 A taxa de fluxo de calor (condução) entre dois pontos em um
cilindro aquecido em uma extremidade é dada por
dQ
dT
= λA
dt
dx
onde λ é uma constante, A é a área da secção transversal do cilindro, Q é o fluxo de calor, T é a temperatura, t é o tempo e x é a distância da extremidade aquecida. Como a equação envolve duas
derivadas, vamos simplificar essa equação, tomando
dT
100(L − x)(20 − t)
=
dx
100 − xt
Mola cúbica
m
Figura P28.37
A mola é cúbica, também não-linear, com b = 5 N/m3.
As condições iniciais são
dx
= 0,5 m/s
Velocidade inicial
dt
Deslocamento inicial
x=1m
Resolva essa equação usando um método numérico no período
0 ≤ t ≤ 8 s. Faça o gráfico do deslocamento e da velocidade
em função do tempo e trace o retrato no plano de fase (velocidade versus deslocamento) para todos os casos a seguir:
(a) Uma equação linear análoga
m
d2x
dx
+2
+ 5x = 0
dt 2
dt
(b) A equação não-linear apenas com o termo não-linear na mola
d2x
dx
+2
+ bx 3 = 0
dt 2
dt
(c) A equação não-linear apenas com o termo de amortecimento
não-linear
dx dx
d2x
+ 5x = 0
m 2 + a
dt
dt dt
ESTUDO DE CASOS: EQUAÇÕES ORDINÁRIAS
694
(d) A equação não-linear completa, em que tanto o termo de
amortecimento quanto o termo da mola são não-lineares
dx dx
d2x
+ bx 3 = 0
m 2 + a
dt
dt dt
28.38 Um sistema massa-mola amortecido forçado (Figura P28.38)
tem a seguinte equação diferencial ordinária de movimento:
dx dx
d2x
+ kx = Fo sen(ωt)
m 2 + a
dt
dt dt
onde x é o deslocamento a partir da posição de equilíbrio, t é o tempo,
m = 2 kg é a massa, a = 5 N/(m/s)2, e k = 6 N/(m/s)2. O termo de
amortecimento é não-linear e representa o amortecimento do ar. O
termo forçante Fo sen(ωt) tem valores de Fo = 2,5 N e ω = 0,5 rad/s.
As condições iniciais são
dx
= 0 m/s
Velocidade inicial
dt
Deslocamento inicial
x=1m
Resolva essa equação utilizando um método numérico no período
0 ≤ t ≤ 15 s. Trace o deslocamento e a velocidade em função
do tempo, bem como o termo forçante no mesmo gráfico. Além disso,
faça um gráfico separado da velocidade versus o deslocamento.
onde u é a temperatura (0 ≤ u ≤ 1), x é a distância radial
(0 ≤ x ≤ 1) e p é um parâmetro adimensional que descreve a transferência de calor e a geometria
p=
28.39 A distribuição de temperaturas em um apêndice de resfriamento cônico em forma de aleta (Figura P29.39) é descrito pela
seguinte equação
diferencial,
que foi adimensionalizada
du
d 2u
2
+
pu = 0
dx 2
x
dx
1+
4
2m 2
onde h é o coeficiente de transferência de calor, k é a condutividade
térmica, L é o comprimento ou a altura do cone e m é a inclinação
da parede do cone. A equação tem as condições de contorno
u(x = 0) = 0
u(x = 1) = 1
Resolva essa equação para a distribuição de temperatura usando
métodos de diferenças finitas. Use para derivadas diferenças finitas
acuradas até segunda ordem. Escreva um programa computacional
para obter a solução e trace a temperatura versus a distância axial
para os diversos valores de p = 10, 20, 50 e 100.
28.40 A dinâmica de um sistema massa-mola amortecido forçado
pode ser representada pela seguinte EDO de segunda ordem:
m
Figura P28.38
hL
k
d2x
dx
+c
+ k1 x + k3 x 3 = P cos(ωt)
2
dt
dt
onde m = 1 kg, c = 0,4 N · s/m, P = 0,5 N, e ω = 0,5/s. Use um
método numérico para determinar o deslocamento (x) e a velocidade (v = dx/dt) como uma função do tempo com as condições iniciais x = v = 0. Expresse seus resultados graficamente como gráficos de séries temporais (x e v em função de t) e com um gráfico no
plano de fase (v versus x). Faça simulações para ambas as molas (a)
linear (k1 = 1; k3 = 0) e (b) não-linear (k1 = 1; k3 = 0,5).
28.41 A equação diferencial para a velocidade de um bungee
jumper é diferente, dependendo se o saltador já caiu até uma distância na qual a corda está completamente estendida e começa a
esticar. Logo, se a distância de queda for menor que o comprimento
da corda, o saltador estará sujeito apenas às forças gravitacional e
de arrasto. Uma vez que a corda começa a esticar, as forças elástica
e de amortecimento da corda também devem ser incluídas. Essas
duas condições podem ser expressas pelas seguintes equações:
x
x
u(x = 1) = 1
Figura P28.39
=1
u(x = 0) = 0
dv
cd
= g − sign(v) v 2
dt
m
k
dv
cd 2
γ
= g − sign(v) v − (x − L) − v
dt
m
m
m
x≤L
x>L
onde v é a velocidade (m/s), t é o tempo (s), g é a constante gravitacional (= 9,81 m/s2), sign(x) é a função que retorna 1, 0 e
1 para valores de x negativos, nulo e positivos, respectivamente, cd
é o coeficiente de arrasto de segunda ordem (kg/m), m é a massa
(kg), k é a constante de mola da corda (N/m), γ é o coeficiente de
amortecimento da corda (N · s/m) e L é o comprimento da corda
(m). Determine a posição e a velocidade do saltador, dados os
seguintes parâmetros: L = 30 m, m = 68,1 kg, cd = 0,25 kg/m, k =
40 N/m e γ = 8 kg/s. Faça os cálculos de t = 0 a 50s e suponha que
as condições iniciais sejam x(0) = v(0) = 0.
PT7.4
PRÓS E CONTRAS
695
EPÍLOGO: PARTE SETE
PT7.4 PRÓS E CONTRAS
A Tabela PT7.3 contém os prós e contras associados aos métodos numéricos para a
solução de equações diferenciais ordinárias com condições iniciais. Os fatores nessa
tabela devem ser avaliados pelo engenheiro quando ele estiver escolhendo um método
para cada problema aplicado particular.
Técnicas de início automático simples, tal como o método de Euler, podem ser usadas se o problema envolver um pequeno intervalo de integração. Nesse caso, a acurácia
adequada pode ser obtida usando-se pequenos tamanhos de passos para evitar grandes
erros de truncamento e os erros de arredondamento podem ser aceitáveis. O método de
Euler também pode ser apropriado para os casos nos quais o modelo matemático tenha
alto nível de incerteza inerente ou possua coeficientes ou termos forçantes com erros significativos, como poderia ocorrer durante um processo de medida. Portanto, a acurácia do
próprio modelo simplesmente não justifica o esforço envolvido na utilização de métodos
numéricos mais complicados. Finalmente, as técnicas mais simples podem ser melhores
quando o problema ou a simulação precisarem ser feitos poucas vezes. Nessas aplicações,
provavelmente é melhor usar um método simples que seja fácil de programar e entender
apesar do fato de o método ser computacionalmente ineficiente e de consumir tempo de
execução relativamente alto no computador.
TABELA PT7.3 Comparação das características dos métodos alternativos para a resolução numérica de EDOs.
As comparações são baseadas em experiências gerais e não levam em conta o comportamento de
funções especiais.
Método
Passo único
de Euler
1
Não
O (h)
Fácil
Fácil
de Heun
do ponto médio
de Ralston de segunda
ordem
1
1
1
Sim
Não
Não
O (h2)
O (h2)
O (h2)
Fácil
Fácil
Fácil
Moderado
Moderado
Moderado
RK de quarta ordem
RK adaptativo de quarta
ordem ou RK Fehlberg
1
Não
O (h4)
Fácil
Moderado
1
Não
O (h5)*
Fácil
Moderado a
difícil
A estimativa de erro
permite o ajuste no
tamanho do passo
2
Sim
O (h3)*
Difícil
4
Sim
O (h5)*
Difícil
Método de passo
múltiplo simples
Algumas vezes é instável
4
Sim
O (h5)*
Difícil
Moderado a
difícil†
Moderado a
difícil†
Moderado a
difícil†
Passo múltiplo
Heun de início
não-automático
de Milne
Adams de quarta ordem
Necessidade
de Iterações
Erro
Global
Facilidade na
Mudança do
Tamanho do Passo
Valores
Iniciais
Esforço de
Programação
Comentários
Bom para estimativas
rápidas
—
—
O método RK de segunda
ordem que minimiza o
erro de truncamento
Amplamente usado
*Desde que a estimativa de erro seja usada para modificar a solução.
†
Com tamanho de passo variável.
695
696
EPÍLOGO: PARTE SETE
Se o intervalo de integração do problema for suficientemente longo para envolver um
grande número de passos, então pode ser necessário e apropriado usar uma técnica mais
acurada que o método de Euler. O método RK de quarta ordem é popular e confiável para
muitos problemas de engenharia. Nesses casos, também pode ser aconselhável fazer uma
estimativa do erro de truncamento para cada passo como um guia na escolha do melhor
tamanho do passo. Pode-se conseguir isso com as abordagens RK adaptativas ou Adams
de quarta ordem. Se os erros de truncamento forem extremamente pequenos, pode ser prudente aumentar o tamanho do passo para economizar tempo de computador. Por outro
lado, se o erro de truncamento for grande, o tamanho do passo deveria ser diminuído para
evitar o acúmulo de erros. O método de Milne deve ser evitado se forem esperados problemas significativos de estabilidade. O método de Runge-Kutta é simples de programar e
conveniente para usar, mas pode ser menos eficiente que métodos de passo múltiplo.
Um grande número de problemas de engenharia pode cair em uma região intermediária de intervalo de integração e de exigências de acurácia. Assim, os métodos RK
de segunda ordem e Heun de início não-automático são simples de usar e são relativamente eficientes e acurados.
Os sistemas rígidos envolvem equações com componentes variando rapidamente e
outras, lentamente. Técnicas especiais em geral são necessárias para uma resolução
adequada de equações rígidas. Por exemplo, as abordagens implícitas são usadas freqüentemente. Você pode consultar Enright et al. (1975), Gear (1971) e Shampine e Gear
(1979) para informações adicionais relativas a essas técnicas.
Diversas técnicas estão disponíveis para a resolução de problemas de autovalor. Para
pequenos sistemas ou quando apenas uns poucos dos menores ou dos maiores autovalores
forem necessários, abordagens simples como o método polinomial ou de potências estão
disponíveis. Para sistemas simétricos, os métodos de Jacobi, Given ou Householder
podem ser empregados. Finalmente, o método QR representa uma abordagem geral para
determinar os autovalores de matrizes simétricas ou não simétricas.
PT7.5 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT7.4 resume informações importantes que foram apresentadas na Parte Sete.
Essa tabela pode ser consultada para acesso rápido às relações e às fórmulas importantes.
PT7.6 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Embora tenhamos revisado diversas técnicas para a solução de equações diferenciais ordinárias, existe informação adicional que é importante na prática da engenharia. A
questão da estabilidade foi introduzida na Seção 26.2.4. Esse tópico tem relevância geral
em todos os métodos para resolver EDOs. Mais discussão sobre esse tópico pode ser encontrada em Carnahan, Luther e Wilkes (1969), Gear (1971) e Hildebrand (1974).
No Capítulo 27, introduzimos métodos para a resolução de problemas de contorno.
Isaacson e Keller (1966), Keller (1968), Na (1979) e Scott e Watts (1976) podem ser consultados para informação adicional sobre problemas de contorno padrão. Material adicional sobre autovalores pode ser encontrado em Ralston e Rabinowitz (1978), Wilkinson
(1965), Fadeev e Fadeeva (1963) e Householder (1953, 1964).
Em síntese, o propósito do material anterior é lhe fornecer avenidas para uma exploração mais profunda do assunto. Além disso, todas as referências anteriores fornecem
descrições das técnicas básicas cobertas na Parte Sete. Recomendamos que você consulte
essas fontes alternativas para ampliar seu entendimento dos métodos numéricos para a
resolução de equações diferenciais.
TABELA PT7.4 Resumo de informações importantes apresentada na Parte Sete.
Método
Interpretação
Gráfica
Formulação
Erros
y
Euler (RK de
primeira ordem)
yi⫹1 ⫽ yi ⫹ hk1
k1 ⫽ f (xi, yi)
Erro local ≃ O (h2)
Erro global ≃ O (h)
i–3
ordem de Ralston
i+1 x
Erro local ≃ O (h3)
Erro global ≃ O (h2)
i–3
1
ᎏᎏ
3
1
ᎏᎏ
6
yi⫹1 ⫽ yi ⫹ h( k1 ⫹ k2 ⫹ k3 ⫹ k4)
k1 ⫽ f (xi, yi)
k2 ⫽ f (xi ⫹ ᎏ21ᎏh, yi ⫹ ᎏ21ᎏhk1)
k3 ⫽ f (xi ⫹ ᎏ21ᎏh, yi ⫹ ᎏ21ᎏhk2)
k4 ⫽ f (xi ⫹ h, yi ⫹ hk3)
i–2
i–1
i
i+1 x
Erro local ≃ O (h5)
Erro global ≃ O (h4)
y
i–3
i–2
i–1
i
i+1 x
y
Heun de início
não-automático
Preditor: (método do ponto médio)
y 0i⫹1 ⫽ y mi⫺1 ⫹ 2hf (xi, y mi )
Modificador do preditor:
4
Ep ≃ ᎏ5ᎏ (y mi,u ⫹ y 0i,u)
i–3
i–2
i–1
i
i+1 x
y
Corretor: (regra do trapézio)
f (xi, y mi ) ⫹ f (xi⫹1, y j⫺1
)
i⫹1
y ji⫹1 ⫽ y mi ⫹ h ᎏᎏᎏ
2
i–3
i–2
i–1
i
i+1 x
Modificador do corretor:
ymi⫹1,u⫺ y0i⫹1,u
Ec ≃ ⫺ ᎏ
ᎏ
5
y
Adams de quarta
ordem
Preditor: (Adams-Bashforth de quarta ordem)
y 0i⫹1 ⫽ y mi ⫹ h(ᎏ25ᎏ45 f mi ⫺
59
ᎏᎏ
24
f mi⫺1 ⫹
37
ᎏᎏ
24
f mi⫺2 ⫺
9
ᎏᎏ
24
Modificador do preditor:
251
m
0
Ep ≃ ᎏ2ᎏ
70 (y i,u ⫺ y i,u)
f mi⫺3)
i–3
i–2
i–1
i
MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
RK clássico de
quarta ordem
1
ᎏᎏ
3
i
y
yi⫹1 ⫽ yi ⫹ h(ᎏ31ᎏk1⫹ ᎏ32ᎏk2)
k1 ⫽ f (xi, yi)
k2 ⫽ f (xi ⫹ ᎏ43ᎏh, yi ⫹ ᎏ43ᎏhk1)
1
ᎏᎏ
6
i–1
PT7.6
RK de segunda
i–2
i+1 x
y
Modificador do corretor:
19
m
0
Ec ≃ ⫺ᎏ2ᎏ
70 (y i⫹1,u ⫺ y i⫹1,u )
Corretor: (Adams-Moulton de quarta ordem)
y ji⫹1 ⫽ y mi ⫹ h(ᎏ29ᎏ4 f j⫺1
⫹
i⫹1
19
ᎏᎏ
24
f mi ⫺
5
ᎏᎏ
24
f mi⫺1 ⫹
1
ᎏᎏ
24
f mi⫺2)
i–3
i–2
i–1
i
i+1 x
697
PARTE OITO
EQUAÇÕES DIFERENCIAIS
PARCIAIS
PT 8.1 MOTIVAÇÃO
Dada uma função u que dependa tanto de x quanto de y, a derivada parcial de u com relação a x em um ponto arbitrário (x, y) é definida por
u(x + x, y) − u(x, y)
∂u
= lim
x→0
∂x
x
(PT8.1)
Analogamente, a derivada parcial com relação a y é definida por
u(x, y + y) − u(x, y)
∂u
= lim
y→0
∂y
y
(PT8.2)
Uma equação envolvendo as derivadas parciais de uma função desconhecida de duas ou
mais variáveis independentes é chamada equação diferencial parcial ou EDP. Por exemplo,
∂ 2u
∂ 2u
+ 2x y 2 + u = 1
2
∂x
∂y
∂ 3u
∂ 2u
+ 8u = 5y
+
x
∂ x 2∂ y
∂ y2
2 3
∂ u
∂ 3u
+
6
=x
∂x2
∂ x∂ y 2
∂ 2u
∂u
+ xu
=x
∂x2
∂y
(PT8.3)
(PT8.4)
(PT8.5)
(PT8.6)
A ordem de uma EDP é aquela da derivada parcial de maior ordem que aparece na
equação. Por exemplo, as Equações (PT8.3) e (PT8.4) são de segunda e terceira ordens,
respectivamente.
Uma equação diferencial parcial é dita linear se ela for linear na função desconhecida e em todas as suas derivadas, com coeficientes dependendo apenas das variáveis independentes. Por exemplo, as Equações (PT8.3) e (PT8.4) são lineares, enquanto as
Equações (PT8.5) e (PT8.6) não são.
Por causa de sua ampla gama de aplicações na engenharia, nosso tratamento das
EDPs se concentrará nas equações diferenciais de segunda ordem. Para duas variáveis independentes, tais equações podem ser expressas na seguinte forma geral:
A
∂ 2u
∂ 2u
∂ 2u
+
B
+D=0
+
C
∂x2
∂ x∂ y
∂ y2
(PT8.7)
onde A, B e C são funções de x e y e D é uma função de x, y, u, ∂u/∂ x , e ∂u/∂ y. Dependendo dos valores dos coeficientes dos termos de segunda ordem — A, B , C —, a
Equação PT8.7 pode ser classificada em uma de três categorias (Tabela PT8.1). Essa classificação, que é baseada no método das características (veja, por exemplo, Vichnevetsky,
1981, ou Lapidus e Pinder, 1981), é útil porque cada categoria está relacionada com contexto de problemas de engenharia específicos e distintos que exigem técnicas de solução
699
EQUAÇÕES DIFERENCIAIS PARCIAIS
700
TABELA PT8.1 Categorias nas quais as equações diferenciais parciais lineares de
segunda ordem em duas variáveis podem ser classificadas.
B2 ⴚ 4AC
<0
Categoria
Exemplo
Elíptica
Equação de Laplace (estado estacionário com duas dimensões
espaciais)
∂2T
∂2T
ᎏ2 + ᎏ2 = 0
∂x
∂y
=0
Parabólica
Equação de condução de calor (variável no tempo com uma
dimensão espacial)
∂2T
∂T
ᎏ = k ′ ᎏ2
∂t
∂x
>0
Hiperbólica
Equação da onda (variável no tempo com uma dimensão espacial)
∂2y
1 ∂2y
ᎏ2 = ᎏ2 ᎏ
∂x
c ∂t 2
especiais. Deve ser observado que, para os casos nos quais A, B e C dependam de x e y,
na realidade, a equação pode cair em categorias diferentes, dependendo da posição do
domínio para o qual a equação é válida. Por simplicidade, limitaremos a discussão
seguinte às EDPs que permanecem exclusivamente em uma das categorias.
PT 8.1.1 EDPs e a Prática da Engenharia
Cada uma das categorias de equações diferenciais parciais na Tabela PT8.1 se adequa a
tipos específicos de problemas de engenharia. As sessões iniciais dos próximos capítulos
serão dedicadas à dedução de cada tipo de equação para um contexto de problema de engenharia particular. Por enquanto, discutiremos suas propriedades e aplicações gerais e
mostraremos como elas podem ser empregadas em diferentes contextos físicos.
As equações elípticas são tipicamente usadas para caracterizar sistemas estacionários. Como na equação de Laplace na Tabela PT 8.1, isso é indicado pela ausência
de uma derivada no tempo. Assim, essas equações são usadas tipicamente para determinar distribuições estacionárias de uma incógnita em duas dimensões espaciais.
FIGURA PT 8.1
Três problemas de distribuições estacionários que podem ser caracterizados por EDPs elípticas. (a) Distribuição de temperatura em
uma placa aquecida, (b) infiltração de água sob uma barragem e (c) o campo elétrico perto da ponta de um condutor.
Quente
Barragem
Quente
Fria
Linha de
escoamento
tor
ndu
Co
Linha
equipotencial
Fria
Rocha impermeável
(a)
(b)
(c)
PT8.1 MOTIVAÇÃO
701
Um exemplo simples é a chapa aquecida na Figura PT8.1a. Nesse caso, as bordas da
placa são mantidas a temperaturas diferentes. Como o calor flui de regiões de alta para baixa
temperatura, as condições de contorno provocam um potencial que leva a um fluxo de calor
das bordas quentes para as frias. Se passar tempo suficiente, tal sistema eventualmente atingirá a distribuição estável ou estacionária de temperatura descrita na Figura PT8.1a. A
equação de Laplace, com as condições de contorno apropriadas, fornecem meios para determinar essa distribuição. Por analogia, a mesma abordagem pode ser empregada para atacar outros problemas envolvendo potenciais, tal como a infiltração de água sob uma barragem (Figura PT8.1b) ou a distribuição de um campo elétrico (Figura PT8.1c).
Em contraste à categoria elíptica, as equações parabólicas determinam como uma
incógnita varia tanto no espaço quanto no tempo. Isso se manifesta pela presença tanto de
derivadas espaciais quanto temporais na equação de condução de calor na Tabela PT 8.1.
Tais casos são conhecidos como problemas de propagação porque a solução se “propaga”
ou varia no tempo.
Um exemplo simples é uma haste longa e fina que seja isolada em toda a parte, exceto em suas extremidades (Figura PT8.2a). O isolamento é usado para evitar complicações em razão da perda de calor ao longo do comprimento da barra. Como no caso para
a barra aquecida na Figura PT8.1a, as extremidades da barra são mantidas a temperaturas
fixas. Entretanto, em contraste à Figura PT8.1a, o fato de a barra ser fina nos permite
supor que o calor esteja distribuído uniformemente sobre sua seção transversal — isto é,
lateralmente. Como conseqüência, fluxo lateral de calor não é uma questão e o problema
se reduz ao estudo da condução de calor ao longo do eixo longitudinal da barra. Em vez
de nos concentrarmos na distribuição estacionária em duas dimensões, o problema é determinar como a distribuição espacial unidimensional varia como uma função do tempo
(Figura PT8.2b). Assim, a solução consiste em uma série de distribuições espaciais correspondentes aos estados da barra em vários instantes. Fazendo uma analogia da fotografia, o caso elíptico fornece um retrato de um estado estável de um sistema, enquanto
o caso parabólico fornece um filme em movimento de como ele varia de um estado para
outro. Como com outros tipos de EDPs descritas aqui, as equações parabólicas podem ser
usadas para caracterizar outros contextos de engenharia por analogia.
A classe final de EDPs, a categoria hiperbólica, também trata de problemas de
propagação. Entretanto, uma diferença importante manifestada pela equação de onda na
Tabela PT 8.1 é que a incógnita é caracterizada pela segunda derivada com relação ao
tempo. Como conseqüência, a solução oscila.
FIGURA PT 8.2
(a) Uma haste longa e fina é isolada em toda a parte, exceto nas extremidades. A dinâmica
da distribuição unidimensional da temperatura ao longo do comprimento da haste pode ser
descrita por uma EDP parabólica. (b) A solução, que consiste nas distribuições
correspondentes ao estado da haste em vários instantes.
Quente
Fria
(a)
T
t = 3 t
(b)
t=2
t = t
t
t=
0
x
EQUAÇÕES DIFERENCIAIS PARCIAIS
702
FIGURA PT 8.3
Uma corda tensionada vibrando
com pequena amplitude é um
sistema físico simples que pode
ser caracterizado por uma EDP
hiperbólica.
A corda vibrante na Figura PT 8.3 é um modelo físico simples que pode ser descrito
com uma equação de onda. A solução consiste em diversos estados característicos nos
quais a corda oscila. Diversos sistemas em engenharia, tais como as vibrações de hastes e
vigas, movimentos de ondas de fluido e transmissão do som e de sinais elétricos podem
ser caracterizados por esse modelo.
PT 8.1.2 Métodos Pré-computacionais para Resolver EDPs
Antes do aparecimento dos computadores digitais, os engenheiros se baseavam em
soluções analíticas ou exatas de equações diferenciais parciais. Além dos casos mais
simples, essas soluções freqüentemente exigiam um grande esforço e sofisticação matemática. Além disso, muitos sistemas físicos não podiam ser resolvidos diretamente, mas
tinham de ser simplificados usando-se linearizações, representações geométricas simples e outras idealizações. Embora essas soluções sejam elegantes e forneçam uma
solução geral, elas são limitadas em relação a quão fielmente elas representam os sistemas reais — especificamente aqueles que são altamente não-lineares e de forma irregular.
PT 8.2 ORIENTAÇÃO
Antes de prosseguir para os métodos numéricos para resolver equações diferenciais parciais, alguma orientação pode ser útil. O propósito de o material a seguir é fornecer a você
uma visão geral da abordagem que será discutida na Parte Oito. Além do mais, formulamos objetivos para concentrar seus estudos no assunto.
PT 8.2.1 Escopo e Visão Geral
A Figura PT 8.4 fornece uma visão geral da Parte Oito. Duas amplas categorias de métodos numéricos serão discutidas nesta parte do livro. As abordagens por diferenças finitas,
as quais são cobertas nos Capítulos 29 e 30, são baseadas na aproximação da solução em
um número finito de pontos. Em contraste, os métodos de elementos finitos, os quais são
cobertos no Capítulo 31, aproximam a solução em partes ou “elementos”. Diversos
parâmetros são ajustados até essas aproximações ficarem de acordo com a equação diferencial subjacente em um sentido ótimo.
O Capítulo 29 é dedicado às soluções por diferenças finitas de equações elípticas.
Antes de nos lançarmos aos métodos, deduziremos a equação de Laplace para o contexto
de problema físico da distribuição de temperatura em uma placa aquecida. A seguir, uma
abordagem-padrão de solução, o método de Liebmann, é descrita. Ilustraremos como essa
abordagem é usada para calcular a distribuição de uma variável escalar primária, a temperatura, bem como de uma variável vetorial secundária, o fluxo de calor. A seção final
deste capítulo trata das condições de contorno. Esse material inclui procedimentos para
manipular diferentes tipos de condições, assim como fronteiras irregulares.
No Capítulo 30, nos voltaremos para as soluções por diferenças finitas de equações
parabólicas. Como na discussão para as equações elípticas, forneceremos, inicialmente,
uma introdução a um contexto de problema físico, a equação de condução de calor para
uma barra unidimensional. A seguir, introduziremos algoritmos tanto explícitos quanto
implícitos para resolver essa equação. Isso é seguido por um método implícito eficiente e
confiável — a técnica de Crank-Nicholson. Finalmente, descreveremos uma abordagem
efetiva particular para resolver equações parabólicas bidimensionais — o método implícito de direção alternada ou ADI.
PT8.2 ORIENTAÇÃO
703
Observe que, como elas estão um pouco além do escopo deste livro, preferimos omitir as equações hiperbólicas. O epílogo desta parte contém referências relativas a esse tipo
de EDPs.
No Capítulo 31, nos voltamos para a outra abordagem principal para a resolução de
EDPs — o método de elementos finitos. Como ele é tão fundamentalmente diferente da
abordagem por diferenças finitas, nos dedicaremos à seção inicial do capítulo a uma visão
geral. Então, mostraremos como o método de elementos finitos é usado para calcular a
distribuição de temperatura estacionária de uma barra aquecida. Por fim, forneceremos
uma introdução a algumas das questões envolvidas na extensão de tal análise a contextos
de problemas tridimensionais.
O Capítulo 32 é dedicado a aplicações em todos os campos da engenharia. Finalmente, uma pequena seção de revisão será incluída no final da Parte Oito. Esse epílogo
resume informações importantes relacionadas com as EDPs. Este material inclui uma discussão dos prós e contras que são relevantes em suas implementações na prática da
engenharia. Esse epílogo também inclui referências para tópicos avançados.
FIGURA PT 8.4
Representação esquemática da organização do material na Parte Oito: Equações Diferenciais Parciais.
PT 8.1
Motivação
PT 8.2
Orientação
29.1
A equação
de Laplace
PARTE OITO
Equações
Diferenciais
Parciais
PT 8.5
Métodos
avançados
PT 8.4
Fórmulas
importantes
29.2
Soluções por
diferenças finitas
29.3
Condições
de contorno
CAPÍTULO 29
Diferenças Finitas:
Equações
Elípticas
EPÍLOGO
PT 8.3
Prós e contras
29.4
A abordagem por
volume de controle
29.5
Algoritmos
computacionais
32.4
Engenharia
mecânica
32.3
Engenharia
elétrica
CAPÍTULO 30
Diferenças Finitas:
Equações
Parabólicas
CAPÍTULO 32
Estudo
de Casos
32.2
Engenharia
civil
31.4
Bibliotecas e
pacotes
31.3
Análise
bidimensional
30.2
Métodos
explícitos
30.3
Métodos implícitos
simples
CAPÍTULO 31
Métodos de
Elementos
Finitos
32.1
Engenharia
química
30.1
A equação de
condução do
calor
30.5
ADI
31.1
A Abordagem
geral
31.2
Análise
unidimensional
30.4
CrankNicolson
704
EQUAÇÕES DIFERENCIAIS PARCIAIS
PT 8.2.2 Metas e Objetivos
Objetivos de estudo. Depois de completar a Parte Oito, você deve ter aumentado muito
seus recursos para confrontar e resolver equações diferenciais parciais. As metas de estudo gerais devem incluir o domínio das técnicas tendo a capacidade de avaliar a confiabilidade das respostas e sendo capaz de escolher o “melhor” método (ou métodos) para
qualquer problema particular. Além desses objetivos gerais, os objetivos de estudo específicos na Tabela PT 8.2 devem ser dominados.
Objetivos computacionais. Podem ser desenvolvidos algoritmos computacionais para
muitos dos métodos na Parte Oito. Por exemplo, você pode achar instrutivo desenvolver
um programa geral para simular a distribuição estacionária de temperatura em uma placa
aquecida. Além disso, você pode querer desenvolver programas para implementar ambos
os métodos explícitos simples e de Crank-Nicholson para resolver EDPs parabólicas em
uma dimensão espacial.
TABELA PT8.2 Objetivos de estudo específicos para a Parte Oito.
1. Reconhecer a diferença entre EDPs elípticas, parabólicas e hiperbólicas.
2. Entender a diferença fundamental entre as abordagens por diferenças finitas e por elementos finitos.
3. Reconhecer que o método de Liebmann é equivalente à abordagem de Gauss-Seidel para a solução
de equações algébricas lineares simultâneas.
4. Saber como determinar variáveis secundárias para problemas de campo bidimensionais.
5. Reconhecer a distinção entre as condições de Dirichlet e as condições de contorno.
6. Entender como usar fatores de peso para incorporar fronteiras irregulares nos esquemas por diferenças
finitas para EDPs.
7. Entender como implementar a abordagem por volume de controle para implementar soluções numéricas de EDPs.
8. Saber a diferença entre convergência e estabilidade de uma EDP parabólica.
9. Compreender a diferença entre os esquemas explícitos e implícitos para resolver EDPs parabólicas.
10. Reconhecer como o critério de estabilidade para métodos explícitos diminuem sua utilidade para resolver EDPs parabólicas.
11. Saber como interpretar moléculas computacionais.
12. Reconhecer como a abordagem ADI atinge alta eficiência na resolução de equações parabólicas em
duas dimensões espaciais.
13. Entender a diferença entre o método direto e o método de resíduos com peso na dedução das
equações de elementos.
14. Saber como implementar o método de Galerkin.
15. Entender os benefícios da integração por partes durante a dedução das equações de elementos; em
particular, reconhecer as implicações de abaixar a derivada mais alta de uma segunda para uma
primeira derivada.
Por fim, uma de nossas metas mais importantes deveria ser dominar diversos dos pacotes de software de propósito geral que estão amplamente disponíveis. Em particular,
você deveria se tornar adepto do uso de tais ferramentas para implementar os métodos
numéricos na resolução de problemas de engenharia.
CAPÍTULO
29
Diferenças Finitas: Equações
Elípticas
As equações elípticas na engenharia são usadas tipicamente para caracterizar problemas
de contorno estacionários. Antes de mostrar como eles podem ser resolvidos, ilustraremos como um caso simples — a equação de Laplace — é deduzido de um contexto
de problema físico.
29.1
A EQUAÇÃO DE LAPLACE
Como mencionado na introdução desta parte do livro, a equação de Laplace pode ser
usada para modelar diversos problemas envolvendo o potencial de uma variável desconhecida. Por causa de sua simplicidade e da relevância geral para a maioria das áreas da
engenharia, vamos usar uma placa aquecida como nosso contexto fundamental na dedução e resolução dessa EDP elíptica. Lições de casa e aplicações na engenharia (Capítulo 32) serão utilizadas para ilustrar a aplicabilidade do modelo a outros contextos de
problemas de engenharia.
A Figura 29.1 mostra um elemento na face de uma placa retangular fina de espessura
z. A placa é isolada em toda parte, exceto nas bordas, onde a temperatura pode ser fixada
em um nível prescrito. O isolamento e o fato de a placa ser fina significam que a transferência de calor é limitada às direções x e y. No estado estacionário, o fluxo de calor para
dentro do elemento em um período unitário t deve ser igual ao fluxo para fora, como em
q(x) y z t + q(y) x z t = q(x + x) y z t
(29.1)
+ q(y + y)x z t
FIGURA 29.1
Uma placa fina de espessura z. É mostrado um elemento no qual é feito o balanço de calor.
y
q(y + ⌬y)
q(x + ⌬x)
q(x)
⌬y
q(y)
⌬z
x
⌬x
705
706
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
onde q(x) e q(y) são os fluxos de calor nas direções x e y, respectivamente [cal/(cm2 · s)].
Dividindo por z e t e agrupando os termos, obtemos
[q(x) − q(x + x)]y + [q(y) − q(y + y)]x = 0
Multiplicando o primeiro termo por x/x e o segundo por y/y, obtemos
q(x) − q(x + x)
q(y) − q(y + y)
x y +
y x = 0
x
y
(29.2)
Dividindo por x y e tomando o limite, resulta em
−
∂q
∂q
−
=0
∂x
∂y
(29.3)
onde as derivadas parciais vêm da definição nas Equações (PT7.1) e (PT7.2).
A Equação (29.3) é uma equação diferencial parcial que é uma expressão da conservação da energia na placa. Entretanto, a menos que os fluxos de calor sejam especificados
nas bordas da placa, ela não pode ser resolvida. Como as condições de contorno para a
temperatura são dadas, a Equação (29.3) deve ser reformulada em termos da temperatura.
A ligação entre o fluxo e a temperatura é fornecida pela lei de condução de calor de
Fourier, que pode ser representada por:
qi = −kρC
∂T
∂i
(29.4)
onde qi é o fluxo de calor na direção da dimensão i [cal/(cm2 · s)], k é o coeficiente de
difusividade térmica (cm2/s), ρ é a densidade do material (g/cm3), C é a capacidade
calorífica do material [cal/(g · ∘C)] e T é a temperatura, que é definida por
T =
H
ρC V
onde H é o calor (cal) e V é o volume (cm3). Às vezes, o termo na frente da derivada na
Equação (29.3) é tratado como um único termo,
k ′ = kρC
(29.5)
onde k ′ é conhecido como coeficiente de condutividade térmica [cal/(s · cm · ∘C)]. Em
ambos os casos, k e k ′ são parâmetros que refletem quão bem o material conduz o calor.
FIGURA 29.2
Descrição gráfica de um gradiente de temperatura. Como o calor se move “para baixo” de
altas a baixas temperaturas, o fluxo em (a) é da esquerda para a direita na direção i positiva.
Entretanto, em virtude da orientação das coordenadas cartesianas, a inclinação é negativa
nesse caso. Logo, um gradiente negativo leva a um fluxo positivo. Essa é a origem do sinal de
menos na lei de condução de calor de Fourier. O caso inverso é descrito em (b), no qual um
gradiente positivo leva a um fluxo de calor negativo da direita para a esquerda.
T
T
Direção do fluxo
de calor
Direção do fluxo
de calor
⭸T
⬎0
⭸i
⭸T
⬍0
⭸i
i
(a)
i
(b)
29.2 TÉCNICAS DE SOLUÇÕES
707
A lei de Fourier é chamada algumas vezes equação constitutiva. Ela recebe essa designação porque fornece um mecanismo que define as interações internas do sistema. A
inspeção da Equação (29.4) indica que a lei de Fourier especifica que o fluxo de calor perpendicular ao eixo i é proporcional ao gradiente ou inclinação da temperatura na direção
i. O sinal negativo garante que um fluxo positivo na direção i resulta de uma inclinação
negativa de alta para baixa temperatura (Figura 29.2). A substituição da Equação (29.4)
na Equação (29.3) resulta em
∂2T
∂2T
+
=0
∂x2
∂ y2
(29.6)
que é a equação de Laplace. Observe que para o caso no qual existem fontes ou sumidouros de calor no domínio bidimensional, a equação pode ser representada por
∂2T
∂2T
+ 2 = f(x, y)
2
∂x
∂y
(29.7)
onde f (x, y) é a função descrevendo as fontes ou sumidouros de calor. A Equação (29.7) é
conhecida como equação de Poisson.
29.2
TÉCNICAS DE SOLUÇÕES
A solução numérica de EDPs elípticas, tais como a equação de Laplace, ocorre de maneira
inversa à dedução da Equação (29.6) da seção anterior. Lembre-se de que a dedução da
Equação (29.6) usou um balanço em um elemento discreto para produzir uma equação de
diferença algébrica que caracterizasse o fluxo de calor em uma placa. Tomar limites transformou essa equação de diferença em uma equação diferencial [Equação (29.3)].
Para a solução numérica, representações por diferenças finitas, baseadas no tratamento da placa como uma grade de pontos discretos (Figura 29.3), substituem as derivadas parciais na Equação (29.6). Como descrito a seguir, a EDP é transformada em
uma equação de diferença algébrica.
29.2.1 A Equação de Diferença de Laplace
As diferenças centradas baseadas no esquema de grade da Figura 29.3 são (lembre-se da
Figura 23.3)
Ti+1, j − 2Ti, j + Ti−1, j
∂2T
=
∂x2
x 2
e
Ti, j+1 − 2Ti, j + Ti, j−1
∂2T
=
2
∂y
y 2
que têm erros de O[(x)2] e O[(y)2], respectivamente. Substituindo essas expressões na
Equação (29.6), obtemos
Ti, j+1 − 2Ti, j + Ti, j−1
Ti+1, j − 2Ti, j + Ti−1, j
+
=0
x 2
y 2
Para a grade quadrada da Figura 29.3, x = y, e, agrupando os termos, a equação se torna
Ti+1, j + Ti−1, j + Ti, j+1 + Ti, j−1 − 4Ti, j = 0
(29.8)
Essa relação, que é válida para todos os pontos interiores da placa, é conhecida como
equação de diferença de Laplace.
708
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
y
m + 1, n + 1
0, n + 1
i, j + 1
i, j
i – 1, j
i + 1, j
i, j – 1
0, 0
m + 1, 0
x
FIGURA 29.3
Uma grade usada para a solução por diferenças finitas de EDPs elípticas em duas variáveis
independentes, como a equação de Laplace.
Além disso, devem ser especificadas condições de contorno ao longo das bordas da
placa para se obter uma única solução. O caso mais simples é quando a temperatura nas
bordas é mantida em valores fixos. Isso é chamado condição de contorno de Dirichlet.
Esse é o caso na Figura 29.4, na qual as bordas são mantidas a temperaturas constantes.
Para o caso ilustrado na Figura 29.4, um balanço para o nó (1, 1) é, de acordo com a
Equação (29.8),
T21 + T01 + T12 + T10 − 4T11 = 0
(29.9)
Entretanto, T01 = 75 e T10 = 0, e, portanto, a Equação (29.9) pode ser expressa como
−4T11 + T12 + T21 = −75
FIGURA 29.4
Uma placa aquecida na qual as temperaturas nas bordas são mantidas em níveis constantes.
Esse caso é chamado condição de contorno de Dirichlet.
100 ⬚C
75 ⬚C
(1, 3)
(2, 3)
(3, 3)
(1, 2)
(2, 2)
(3, 2)
(1, 1)
(2, 1)
(3, 1)
0 ⬚C
50 ⬚C
29.2 TÉCNICAS DE SOLUÇÕES
709
Equações análogas podem ser deduzidas para os outros pontos interiores. O resultado é o seguinte conjunto de nove equações simultâneas com nove incógnitas:
−T12
= 75
4T11 −T21
−T11 +4T21 −T31
−T22
= 0
−T21 +4T31
−T32
= 50
−T11
+4T12 −T22
−T13
= 75
−T21
−T12 +4T22 −T32
−T23
= 0
−T31
−T22 +4T32
−T33 = 50
−T12
+4T13 −T23
= 175
−T22
−T13 +4T23 −T33 = 100
−T32
−T23 +4T33 = 150
(29.10)
29.2.2 O método de Liebmann
A maioria das soluções numéricas da equação de Laplace envolve sistemas que são muito
maiores do que o da Equação (29.10). Por exemplo, uma grade 10 por 10 envolve 100
equações algébricas lineares. Técnicas de solução para esse tipo de equações foram discutidas na Parte Três.
Observe que existe um máximo de cinco termos desconhecidos por linha na Equação
(29.10). Para grades de tamanho maior, isso quer dizer que um número significativo de
termos será zero. Quando aplicados a tais sistemas esparsos, métodos de eliminação para
a matriz toda desperdiçam uma grande quantidade de memória computacional armazenando esses zeros. Por essa razão, os métodos aproximados fornecem uma abordagem viável para obter soluções de equações elípticas. A abordagem mais comumente
usada é a do método de Gauss-Seidel, que, quando aplicado a EDPs, também é conhecido
como método de Liebmann. Nessa técnica, a Equação (29.8) é expressa por
Ti+1, j + Ti−1, j + Ti, j+1 + Ti, j−1
Ti, j =
(29.11)
4
e resolvida iterativamente de j = 1 a n e de i = 1 a m. Como a Equação (29.8) é diagonal
dominante, esse procedimento eventualmente convergirá para uma solução estável (lembre-se da Seção 11.2.1). A sobre-relaxação algumas vezes é usada para acelerar a taxa de
convergência por meio da aplicação da seguinte fórmula, depois de cada iteração:
= λTi,novo
+ (1 − λ)Ti,velho
Ti,novo
j
j
j
EXEMPLO 29.1
(29.12)
são os valores de Ti, j da iteração atual e da anterior, respectivamente
e Ti,velho
onde Ti,novo
j
j
e λ é um fator de peso que é fixado entre 1 e 2.
Como no método de Gauss-Seidel convencional, as iterações são repetidas até que
os valores absolutos de todos os erros relativos porcentuais (εa )i, j caiam abaixo de um
critério de parada pré-especificado εs . São obtidas estimativas para esses erros relativos
porcentuais por
T novo − T velho
i, j
i, j
|(εa )i, j | =
(29.13)
100%
Ti,novo
j
Temperatura de uma Placa Aquecida com Condição de Contorno Fixa
Enunciado do Problema. Use o método de Liebmann (Gauss-Seidel) para determinar a
temperatura da placa aquecida na Figura 29.4. Use sobre-relaxação com um valor de 1,5
para o fator de peso e itere até εs = 1%.
Solução. A Equação (29.11) em i = 1, j = 1 é
T11 =
0 + 75 + 0 + 0
= 18,75
4
710
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
e aplicando sobre-relaxação, obtemos
T11 = 1,5(18,75) + (1 − 1,5)0 = 28,125
Para i = 2, j = 1,
0 + 28,125 + 0 + 0
= 7,03125
4
T21 = 1,5(7,03125) + (1 − 1,5)0 = 10,54688
T21 =
Para i = 3, j = 1,
T31 =
50 + 10,54688 + 0 + 0
= 15,13672
4
T31 = 1,5(15,13672) + (1 − 1,5)0 = 22,70508
Os cálculos são repetidos para as outras linhas, o que resulta em
T12 = 38,67188
T13 = 80,12696
T22 = 18,45703
T23 = 74,46900
T32 = 34,18579
T33 = 96,99554
Como todos os Ti, j’s são inicialmente nulos, todos os εa ’s para a primeira iteração serão
100%.
Para a segunda iteração os resultados são
T11 = 32,51953
T12 = 57,95288
T13 = 75,21973
T21 = 22,35718
T22 = 61,63333
T23 = 87,95872
T31 = 28,60108
T32 = 71,86833
T33 = 67,68736
A estimativa do erro para T1,1 pode ser obtida de [Equação (29.13)]
32,51953 − 28,12500
100% = 13,5%
|(εa )1,1 | =
32,51953
Como esse valor está acima do critério de parada de 1%, continua-se com os cálculos. A
nona iteração dá os resultados
T11 = 43,00061
T12 = 63,21152
T13 = 78,58718
T21 = 33,29755
T22 = 56,11238
T23 = 76,06402
T31 = 33,88506
T32 = 52,33999
T33 = 69,71050
nos quais o erro máximo é 0,71%.
A Figura 29.5 mostra os resultados. Como esperado, é estabelecido um gradiente de
calor das temperaturas altas para as baixas.
FIGURA 29.5
Distribuição de temperatura em uma placa aquecida sujeita a condições de contorno fixas.
100 ⬚C
75 ⬚C
78,59
76,06
69,71
63,21
56,11
52,34
43,00
33,30
33,89
0 ⬚C
50 ⬚C
29.2 TÉCNICAS DE SOLUÇÕES
711
29.2.3 Variáveis Secundárias
Como sua distribuição é descrita pela equação de Laplace, a temperatura é considerada a
variável primária no problema da placa aquecida. Nesse caso, bem como para outros
problemas envolvendo EDPs, variáveis secundárias também podem ter interesse. Na realidade, em certos contextos de engenharia, as variáveis secundárias podem de fato ser
mais importantes.
Para a placa aquecida, uma variável secundária é a taxa de fluxo de calor através
da superfície da placa. Essa quantidade pode ser calculada a partir da lei de Fourier.
Aproximações por diferenças finitas centrais para as primeiras derivadas (lembre-se da
Figura 23.3) podem ser substituídas na Equação (29.4) para fornecer os seguintes valores
para o fluxo de calor nas dimensões x e y:
qx = −k ′
Ti+1, j − Ti−1, j
2 x
(29.14)
q y = −k ′
Ti, j+1 − Ti, j−1
2 y
(29.15)
e
O fluxo de calor resultante pode ser calculado a partir dessas duas quantidades por
qn = qx2 + q y2
(29.16)
onde a direção de qn é dada por
−1 q y
θ = tg
qx
(29.17)
para qx > 0 e
−1
θ = tg
qy
qx
+π
(29.18)
para qx < 0. Lembre-se de que o ângulo pode ser expresso em graus multiplicando-o por
180 ◦/π. Se qx = 0, θ é π/2 (90∘) ou 3π/2 (270∘), dependendo de qy ser positivo ou negativo, respectivamente.
EXEMPLO 29.2
Distribuição do Fluxo para uma Placa Aquecida
Enunciado do Problema. Use os resultados do Exemplo 29.1 para determinar a distribuição de fluxo de calor na placa aquecida da Figura 29.4. Suponha que a placa tenha
40 × 40 cm e seja feita de alumínio [k ′ = 0,49 cal/(s · cm · ◦C)].
Solução. Para i = j = 1, a Equação (29.14) pode ser usada para calcular
qx = −0,49
cal
(33,29755 − 75)◦ C
= 1,022 cal/(cm2 · s)
s · cm · ◦ C
2(10 cm)
e [Eq. (29.15)]
q y = −0,49
cal
(63,21152 − 0)◦ C
= −1,549 cal/(cm2 · s)
s · cm · ◦ C
2(10 cm)
O fluxo resultante pode ser calculado com a Equação (29.16):
qn =
(1,022)2 + (−1,549)2 = 1,856 cal/(cm2 ·s)
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
712
100 ⬚C
75 ⬚C
50 ⬚C
0 ⬚C
FIGURA 29.6
Fluxo de calor de uma placa sujeita a temperaturas fixas na borda. Observe que os
comprimentos das setas são proporcionais ao módulo do campo.
e o ângulo de sua trajetória com a Equação (29.17)
180◦
−1 −1,549
= −0,98758 ×
= −56,584◦
θ = tg
1,022
π
Assim, nesse ponto, o fluxo de calor aponta para baixo e para a direita. Os valores nos outros pontos da grade podem ser calculados; os resultados estão mostrados na Figura 29.6.
29.3
CONDIÇÕES DE CONTORNO
Como os fatores complicadores estão ausentes, a placa retangular com condições de contorno fixas foi um contexto ideal para mostrar como as EDPs elípticas podem ser resolvidas numericamente. Agora, consideraremos outras questões que vão expandir nossos recursos para tratar problemas mais realísticos. Estes envolvem bordas nas quais as
derivadas são especificadas e bordas que têm forma irregular.
29.3.1 Condições de Contorno na Derivada
FIGURA 29.7
Um nó (0, j) na borda, na
aresta esquerda da placa
aquecida. Para obter uma
aproximação da derivada
normal à aresta (isto é, a
derivada na direção x), um
ponto imaginário (−1, j) é
posicionado a uma distância
x além da aresta.
T0, j + 1
A condição de contorno de Dirichlet ou fixa, discutida até este ponto, é apenas uma dentre os diversos tipos que são utilizados em equações diferenciais parciais. Uma alternativa
comum é o caso em que a derivada é dada. Isso em geral é conhecido como condição de
contorno de Neumann. Para o problema da placa aquecida, isso quer dizer especificar o
fluxo de calor em vez da temperatura na borda. Um exemplo é a situação na qual a borda
é isolada. Nesse caso, o qual é conhecido como uma condição de contorno natural, a derivada é nula. Essa conclusão é tirada diretamente da Equação (29.4), pois isolar a fronteira significa que o fluxo de calor (e, conseqüentemente, o gradiente) deve ser nulo.
Outro exemplo seria quando se perde calor pela aresta por mecanismos previsíveis tais
como radiação e condução.
A Figura 29.7 descreve um nó (0, j) na aresta esquerda da placa aquecida. Aplicando-se a Equação (29.8) a esse ponto, obtemos
T1, j + T−1, j + T0, j+1 + T0, j−1 − 4T0, j = 0
T–1, j
T0, j
T0, j – 1
T1, j
(29.19)
Observe que um ponto imaginário (−1, j), localizado fora da placa, é necessário nessa
equação. Embora esse ponto exterior fictício possa parecer representar um problema, na
realidade, serve como veículo para incorporar a condição de contorno na derivada ao
problema. Isso é feito representando-se a primeira derivada na dimensão x em (0, j) por
uma diferença dividida finita
29.3 CONDIÇÕES DE CONTORNO
713
∂ T ∼ T1, j − T−1, j
=
∂x
2 x
que pode ser reescrita como
T−1, j = T1, j − 2 x
∂T
∂x
Agora, temos uma relação para T−l, j que realmente inclui a derivada. Ela pode ser substituída na Equação (29.19) para fornecer
2T1, j − 2 x
∂T
+ T0, j+1 + T0, j−1 − 4T0, j = 0
∂x
(29.20)
Assim, incorporamos a derivada no balanço.
Relações análogas podem ser desenvolvidas para condições de contorno na derivada
nas outras arestas. O seguinte exemplo mostra como isso é feito para a placa aquecida.
EXEMPLO 29.3
Placa Aquecida com uma Aresta Isolada
Enunciado do Problema. Repita o mesmo problema que no Exemplo 29.1, mas com a
aresta inferior isolada.
Solução. A equação geral para caracterizar a derivada na aresta inferior (isto é, em
j = 0) da placa aquecida é
Ti+1,0 + Ti−1,0 + 2Ti,1 − 2 y
∂T
− 4Ti,0 = 0
∂y
Para uma aresta isolada, a derivada é nula e a equação se torna
Ti+1,0 + Ti−1,0 + 2Ti,1 − 4Ti,0 = 0
As equações simultâneas para a distribuição de temperaturas na placa da Figura 29.4
com a aresta inferior isolada podem ser escritas na forma matricial como
⎤⎧ ⎫ ⎧ ⎫
4 −1
−2
75 ⎪
⎪
⎪
⎪
⎪
⎪
⎪T10 ⎪
⎪
⎪
⎪
⎢ −1 4 −1
⎪
⎥⎪
⎪
⎪
T
−2
0 ⎪
⎪
⎪
⎪
⎪
20 ⎪
⎢
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎪
⎥
⎪
⎪
⎪
⎪
⎪
⎪
⎪
T
−1
4
−2
50
30 ⎪
⎢
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢ −1
⎪
⎥
⎪
⎪
⎪
⎪
⎪
⎪
⎪
T
4
−1
−1
75
11 ⎪
⎢
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎪
⎥
⎪
⎪
⎪
⎪
⎪
⎪
T
−1
−1 4 −1
−1
0
⎢
⎪
⎥⎪
⎪
21
⎪
⎪
⎪
⎪
⎪
⎢
⎥⎨ ⎬ ⎨ ⎪
⎬
−1
−1 4
−1
50
⎢
⎥ T31
=
⎢
⎥
T ⎪ ⎪
−1
4 −1
−1
75 ⎪
⎢
⎥⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪ 12 ⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
T
−1
−1 4 −1
−1
0 ⎪
22
⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
T
−1
−1
4
−1
50
32
⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
T
−1
4
−1
175
⎪
⎪
⎪
⎪
13
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎣
T
−1
−1 4 −1 ⎦⎪
100
⎪
⎪
⎪
⎪
23
⎪
⎪
⎪
⎩ ⎭ ⎩ ⎪
⎭
T33
−1
−1 4
150
⎡
Observe que, por causa da condição de contorno na derivada, a matriz foi aumentada para
12 × 12 em contraste com o sistema 9 × 9 na Equação (29.10) para levar em conta as três
temperaturas desconhecidas ao longo da aresta inferior da placa. Essas equações podem
ser resolvidas por
T10
T11
T12
T13
= 71,91
= 72,81
= 76,01
= 83,41
T20
T21
T22
T23
= 67,01
= 68,31
= 72,84
= 82,63
T30
T31
T32
T33
= 59,54
= 60,57
= 64,42
= 74,26
714
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
100
100
100
75
83,4
82,6
74,3
50
75
76,0
72,8
64,4
50
75
72,8
68,3
60,6
50
75
71,9
67,0
59,5
50
Isolada
FIGURA 29.8
Distribuição de temperatura e de fluxo para uma placa aquecida sujeita a condições de
contorno fixas, exceto por uma aresta inferior isolada.
Esses resultados e o fluxo calculado (para os mesmos parâmetros que no Exemplo 29.2)
estão mostrados na Figura 29.8. Observe que, como a aresta inferior está isolada, a temperatura da placa é maior que na Figura 29.5, na qual a temperatura da aresta de baixo é fixada
em zero. Além disso, o fluxo de calor (em contraste com a Figura 29.6) é agora dirigido
para a direita e se move em paralelo à parede isolada.
29.3.2 Fronteiras Irregulares
Embora a placa retangular da Figura 29.4 tenha servido bem para ilustrar os aspectos fundamentais na resolução de EDPs elípticas, muitos problemas de engenharia não exibem
tal geometria idealizada. Por exemplo, um grande número de sistemas tem fronteiras
irregulares (Figura 29.9).
A Figura 29.9 é um sistema que serve para ilustrar como bordas não-retangulares
podem ser tratadas. Como descrito, a borda esquerda inferior da placa é circular. Observe
que associamos parâmetros — α1, α2, β1, β2 — a cada um dos comprimentos em torno do
nó. É claro que, para a placa descrita na Figura 29.9, α2 = β2 = 1. Entretanto, vamos
manter esses parâmetros por toda a dedução a seguir, de modo que a equação resultante
seja aplicável em geral, para qualquer borda irregular — e não apenas para o canto esquerdo inferior de uma placa aquecida. As primeiras derivadas na dimensão x podem ser
aproximadas por
Ti, j − Ti−1, j
∂T
∼
=
(29.21)
∂ x i−1,i
α1 x
e
∂T
∂x
i,i+1
Ti+1, j − Ti, j
∼
=
α2 x
(29.22)
As segundas derivadas podem ser desenvolvidas a partir dessas primeiras derivadas. Para
a dimensão x, a segunda derivada é
∂T
∂T
−
2
∂
x
∂ x i−1,i
∂ T
∂ ∂T
i,i+1
=
=
(29.23)
α1 x + α2 x
∂x2
∂x ∂x
2
29.3 CONDIÇÕES DE CONTORNO
␣1 ⌬x
715
2 ⌬y
␣2 ⌬x
1 ⌬y
FIGURA 29.9
Uma grade para uma placa aquecida com a borda com formato irregular. Observe como os
coeficientes de peso são usados para levar em conta o espaçamento não-uniforme na
vizinhança da borda não-retangular.
Substituindo as Equações (29.21) e (29.22) na Equação (29.23), obtemos
∂2T
=2
∂x2
Ti−1, j − Ti, j
Ti+1, j − Ti, j
−
α1 x
α2 x
α1 x + α2 x
Agrupando os termos vem
Ti+1, j − Ti, j
Ti−1, j − Ti, j
∂2T
2
=
+
∂x2
x 2 α1 (α1 + α2 )
α2 (α1 + α2 )
Uma equação análoga pode ser desenvolvida para a dimensão y:
Ti, j+1 − Ti, j
Ti, j−1 − Ti, j
∂2T
2
=
+
∂ y2
y 2 β1 (β1 + β2 )
β2 (β1 + β2 )
Substituindo essas equações na Equação (29.6), temos
Ti+1, j − Ti, j
Ti−1, j − Ti, j
2
+
x 2 α1 (α1 + α2 )
α2 (α1 + α2 )
Ti, j+1 − Ti, j
Ti, j−1 − Ti, j
2
+
=0
+
y 2 β1 (β1 + β2 )
β2 (β1 + β2 )
(29.24)
Como ilustrado no exemplo a seguir, a Equação (29.24) pode ser aplicada a qualquer nó
que seja adjacente a uma fronteira irregular, do tipo Dirichlet.
EXEMPLO 29.4
Placa Aquecida com Fronteira Irregular
Enunciado do Problema. Repita o mesmo problema que no Exemplo 29.1, mas com a
borda inferior como descrito na Figura 29.9.
Solução. Para o caso na Figura 29.9, x = y, α1 = β1 = 0,732 e α2 = β2 = 1. Substituindo-se esses valores na Equação (29.24), obtemos o seguinte balanço para o nó (1, 1):
0,788675(T01 − T11 ) + 0,57735(T21 − T11 )
+ 0,788675(T10 − T11 ) + 0,57735(T12 − T11 ) = 0
Agrupando os termos, podemos expressar essa equação como
−4T11 + 0,8453T21 + 0,8453T12 = −1,1547T01 − 1,1547T10
716
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
As equações simultâneas para a distribuição de temperaturas na placa na Figura 29.9 com
a temperatura na borda inferior de 75 podem ser escritas na forma matricial como
⎫
⎤⎧ ⎫ ⎧
4 −0,845
−0,845
T11 ⎪
173,2⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢ −1
⎪
⎥⎪
⎪T21 ⎪
⎪
4
−1
−1
75 ⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎥⎪
⎪
T31 ⎪
−1
4
−1
125 ⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢ −1
⎪ ⎪
⎥⎪
⎪
4
−1
−1
⎢
⎥⎨T12 ⎬ ⎨ 75 ⎬
⎢
⎥ T22 =
−1
−1
4
−1
−1
0
⎢
⎥⎪ ⎪ ⎪
⎪
⎢
⎪T32 ⎪
⎪
−1
−1 4
−1 ⎥
50 ⎪
⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎢
⎥⎪
T13 ⎪
−1
4 −1
175 ⎪
⎪ ⎪
⎪
⎪
⎢
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎣
T23 ⎪
−1
−1 4 −1 ⎦⎪
100 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩ ⎭ ⎩
⎭
T33
−1
−1 −4
150
⎡
As soluções dessas equações são
T11 = 74,98
T12 = 77,23
T13 = 83,93
T21 = 72,76
T31 = 66,07
T22 = 75,00
T32 = 66,52
T23 = 83,48
T33 = 75,00
Esses resultados, juntamente com os fluxos calculados, estão mostrados na
Figura 29.10. Observe que os fluxos foram calculados da mesma forma que na Seção
29.2.3, com a exceção de que (α1 + α2) e (β1 + β2) substituíram os 2’s no denominador
das Equações (29.14) e (29.15), respectivamente. A Seção 32.3 ilustra como isso é feito.
FIGURA 29.10
Distribuição de temperatura e fluxo em uma placa aquecida com uma borda circular.
100 ⬚C
75 ⬚C
83,93
83,48
75,00
77,23
75,00
66,52
74,98
72,76
50 ⬚C
66,07
75 ⬚C
Condições nas derivadas em bordas com formato irregular são mais difíceis de formular. A Figura 29.11 mostra um ponto próximo a uma borda irregular em que a derivada
normal é especificada.
A derivada normal no nó 3 pode ser aproximada pelo gradiente entre os nós 1 e 7,
T1 − T7
∂ T
=
(29.25)
∂η 3
L 17
Quando θ for menor que 45∘, como mostrado, a distância do nó 7 ao 8 é x tg θ, e
podemos obter uma estimativa usando interpolação linear
T7 = T8 + (T6 − T8 )
x tg θ
y
29.4 A ABORDAGEM POR VOLUME DE CONTROLE
717
2
3
1
8
⌬y
4
7
6
5
⌬x
FIGURA 29.11
Uma borda curva na qual o gradiente normal é especificado.
O comprimento L17 é igual a x/cos θ. Esse comprimento, junto com a aproximação para
T7, pode ser substituído na Equação (29.25) para fornecer
∂ T
x tg θ
x tg θ
x
1
−
+
T
+
T
T1 =
(29.26)
8
6
cos θ ∂η 3
y
y
Tal equação fornece uma forma de incorporar o gradiente normal na abordagem por
diferença finita. Para casos em que for maior que 45o uma equação diferente deveria ser
usada. A determinação dessa fórmula será deixada como exercício.
29.4
A ABORDAGEM POR VOLUME DE CONTROLE
Para resumir, a abordagem por diferenças finitas ou por série de Taylor divide um meio
contínuo em nós (Figura 29.12a). A equação diferencial parcial subjacente é escrita para
cada um desses nós. Aproximações por diferenças finitas substituem, então, as derivadas
para converter as equações para uma forma algébrica.
Tal abordagem é bastante simples e direta para grades ortogonais (isto é, retangulares) e coeficientes constantes. Entretanto, a abordagem se torna uma tarefa mais difícil
para condições nas derivadas em contornos com formato irregular.
FIGURA 29.12
Duas perspectivas diferentes para desenvolver soluções aproximadas de EDPs: (a) diferenças
finitas e (b) volume de controle.
(a) Abordagem por diferenças
(b) Abordagem por
finitas, ponto a ponto
volume de controle
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
A Figura 29.13 é um exemplo de um sistema no qual aparecem dificuldades adicionais. Essa placa é feita de dois materiais diferentes e tem o espaçamento da grade desigual. Além disso, a metade de sua aresta superior está sujeita a transferência de calor por
convecção, enquanto metade é isolada. Desenvolver equações para o nó (4, 2) exigiria
algumas deduções adicionais além das abordagens desenvolvidas até este ponto.
A abordagem por volume de controle (também chamada de abordagem por integral
no volume) oferece uma maneira alternativa de obter aproximações numéricas para EDPs
que é especialmente útil nos casos como o da Figura 29.13. Como na Figura 29.12b, a
abordagem se parece com a abordagem ponto a ponto pelo fato de que são determinados
pontos em todo o domínio. No entanto, em vez de obter uma aproximação da EDP em um
ponto, a aproximação é aplicada a um volume que circunda o ponto. Para uma grade ortogonal, o volume é formado por retas perpendiculares passando pelos pontos médios de
cada segmento ligando dois nós adjacentes. Um balanço de calor pode então ser desenvolvido para cada volume de forma análoga à Equação (29.1).
Como um exemplo, aplicaremos a abordagem de controle de volume ao nó (4, 2).
Primeiro, o volume é definido bissectando os segmentos ligando os nós. Como na
Figura 29.14, o volume tem transferência de calor por condução por suas bordas esquerda,
direita e inferior e transferência de calor por convecção através de metade de sua borda superior. Observe que a transferência pela borda inferior envolve ambos os materiais.
FIGURA 29.13
Uma placa aquecida com espaçamento da rede desigual, dois materiais e condições de
contorno mistas.
Convecção
Isolado
⌬z
(4, 2)
h
h
h/2
Isolado
718
(1, 1)
Material B
Material A
FIGURA 29.14
Um volume de controle para o nó (4, 2) com setas indicando a transferência de calor nas
bordas.
4, 1
4, 2
h/2
h/2
3, 2
h/4
4, 3
29.4 A ABORDAGEM POR VOLUME DE CONTROLE
719
Um balanço de calor estacionário para o volume pode ser escrito em termos qualitativos como
condução na parte
condução no
condução no
+
−
0=
inferior do material “a”
lado direito
lado esquerdo
convecção na
condução na parte
−
+
parte superior
inferior do material “b”
(29.27)
Agora, a taxa do fluxo por condução pode ser representada pela versão em diferença finita
ou pela lei de Fourier. Por exemplo, para o ganho por condução no lado esquerdo, ela seria
q = −ka′
T42 − T41
h
onde q tem unidades de cal/cm2/s. Essa taxa de fluxo deve então ser multiplicada pela
área pela qual ela entra (z × h/2) para dar a taxa de calor entrando no volume por
unidade de tempo:
Q = −ka′
T42 − T41 h
z
h
2
onde Q tem unidades de cal/s.
O fluxo de calor devido à convecção pode ser formulado como
q = h c (Ta − T42 )
onde hc é uma constante de convecção de calor [cal/(s · cm2 · ∘C)] e Ta é a temperatura do
ar (ºC). Novamente, multiplicando pela área adequada, obtemos a taxa de fluxo de calor
por unidade de tempo,
h
Q = h c (Ta − T42 ) z
4
As outras transferências podem ser desenvolvidas de forma análoga e substituídas na
Equação (29.27), resultando em
0 = −ka′
T42 − T41 h
z
h
2
⫹
kb′
T43 − T42 h
z
h
2
(condução no lado esquerdo) (condução no lado direito)
T42 − T32 h
T42 − T32 h
h
z ⫺ kb′
z ⫹ h c (Ta − T42 ) z
h
2
h
4
4
condução na parte
condução na parte
(convecção acima)
inferior do material “b”
inferior do material “a”
−ka′
Os valores dos parâmetros podem ser substituídos para produzir a equação de balanço de
calor final. Por exemplo, se z = 0,5 cm, h = 10 cm, ka′ = 0,3 cal/(s · cm · ∘C), kb′ = 0,5
cal/(s · cm · ∘C) e hc = 0,1 cal/(s · cm2 · ∘C), a equação se torna
0,5875T42 − 0,075T41 − 0,25T43 − 0,1375T32 = 2,5
Para tornar essa equação comparável com o laplaciano padrão, a equação pode ser multiplicada por 4/0,5875, de modo que o coeficiente do nó-base seja 4,
4T42 − 0,510638T41 − 1,702128T43 − 0,93617T32 = 17,02128
DIFERENÇAS FINITAS: EQUAÇÕES ELÍPTICAS
720
Nos casos padrão cobertos até este ponto, as abordagens por volume de controle e
ponto a ponto por diferenças finitas fornecem resultados idênticos. Por exemplo, para o
nó (1, 1) na Figura 29.13, o balanço seria
0 = −ka′
T11 − T01
T21 − T11
T11 − T10
T12 − T11
h z + ka′
h z − ka′
h z + ka′
h z
h
h
h
h
o que se simplifica para o laplaciano padrão,
0 = 4T11 − T01 − T21 − T12 − T10
Olharemos para outros casos padrão (por exemplo, condição de contorno na derivada) e
exploraremos a abordagem por volume de controle com detalhes adicionais nos problemas no final deste capítulo.
29.5
SOFTWARE PARA RESOLVER EQUAÇÕES ELÍPTICAS
Modificar um programa computacional para incluir condição de contorno na derivada
para sistemas retangulares é uma tarefa relativamente simples. Envolve simplesmente
garantir que sejam geradas equações adicionais para caracterizar os nós na borda, nos
quais as derivadas são especificadas. Além disso, o código precisa ser modificado de
modo que essas equações incorporem a derivada como foi visto na Equação (29.20).
Desenvolver um software geral para caracterizar sistemas com bordas irregulares é
uma tarefa muito mais difícil. Por exemplo, um algoritmo bastante complicado seria
necessário para modelar a junta de vedação simples descrita na Figura 29.15. Isso envolveria duas grandes modificações. Primeira, teria de ser desenvolvido um esquema para
entrar de forma conveniente a configuração dos nós e identificar quais estão na borda. Segunda, seria necessário um algoritmo para gerar equações simultâneas adequadas com
base na informação de entrada. O resultado final é que um software geral para resolver
EDPs elípticas é relativamente complicado.
Um método usado para simplificar tais esforços é exigir uma grade muito fina. Em
tais casos, é freqüentemente suposto que um nó mais próximo sirva como ponto de borda.
Dessa forma, a análise não tem de considerar os parâmetros de peso da Seção 29.3.2. Embora isso introduza algum erro, o uso de uma grade suficientemente fina pode tornar a discrepância final desprezível. Entretanto, isso envolve prós e contras em virtude da carga
computacional introduzida pelo aumento no número de equações simultâneas.
Como conseqüência dessas considerações, os analistas numéricos desenvolveram
abordagens alternativas que diferem radicalmente dos métodos por diferenças finitas.
Ainda que esses métodos por elementos finitos sejam conceitualmente difíceis, podem
acomodar de forma muito mais fácil fronteiras irregulares. Voltaremo-nos para esses métodos no Capítulo 31. Antes de fazer isso, entretanto, primeiro vamos descrever as abordagens por diferenças finitas para outra categoria de EDPs — as equações parabólicas.
FIGURA 29.15
Uma grade de diferenças finitas
superposta a uma junta de
vedação com formato irregular.
w
PROBLEMAS
721
PROBLEMAS
Figura P29.7
0
25
50
75
100
Isolada
75
50
25
0
Isolada
29.8 Escreva equações para os nós escurecidos na grade na Figura
P29.8. Observe que todas as unidades são do sistema cgs. O coeficiente de condutividade térmica para a placa é 0,75 cal/(s · cm · °C),
o coeficiente de convecção é hc = 0,015 cal/(cm2 · C · s) e a espessura da placa é 0,5 cm.
Figura P29.8
Convecção, qy = –hc(Ta – T); Ta = 10 ⬚C
⌬y = 30
2
⌬x = 40
Isolado
Dirichlet, T = 50 ⬚C
⌬x = 20
j=3
⌬y = 15
1
0
i=0
1
2
3
Dirichlet, T = 100 ⬚C
4
5
Fonte de calor, qz = 10 cal/cm2/s
29.9 Escreva equações para os nós escurecidos na grade na Figura
P29.9. Observe que todas as unidades são do sistema cgs. O coeficiente de convecção é hc = 0,015 cal/(cm2 · C · s) e a espessura da
placa é 1,5 cm.
k' = 0,7
k' = 0,5
⌬x = 20
qz = 10 cal/cm2/s
j=2
⌬x = 40
⌬y = 15 ⌬y = 30
Convecção qx = hc(Ta – T); Ta = 20 ⬚C
29.1 Use o método de Liebmann para determinar a temperatura da
placa aquecida na Figura 29.4, mas com a condição de contorno superior aumentada para 120 ºC e a esquerda diminuída para 60 ºC.
Use um fator de relaxação de 1,2 e itere até εs = 1%.
29.2 Calcule os fluxos para o Problema 29.1 usando os parâmetros
do Exemplo 29.3.
29.3 Repita o Exemplo 29.1, mas use 49 nós interiores (isto é,
x = y = 5 cm).
29.4 Repita o Problema 29.3, mas para o caso em que a aresta
inferior seja isolada.
29.5 Repita os Exemplos 29.1 e 29.3, mas para o caso em que o
fluxo na aresta inferior está sendo dirigido para baixo, com um
valor de 1 cal/cm2 · s.
29.6 Repita o Exemplo 29.4 para o caso em que os cantos inferior
esquerdo e superior direito são arredondados da mesma forma que
o canto inferior esquerdo na Figura 29.9. Observe que todas as temperaturas de contorno nos lados superior e direito estão fixas em
100 ºC e todas nos lados inferior e esquerdo estão fixadas
em 50 ºC.
29.7 Com exceção das condições de contorno, a placa na Figura
P29.7 tem exatamente as mesmas características que a placa usada
nos Exemplos 29.1 a 29.4. Simule tanto as temperaturas quanto os
fluxos para a placa.
1
0
i=0
1
2
Isolado
3
4
Figura P29.9
29.10 Aplique a abordagem por volume de controle para desenvolver a equação para o nó (0, j) na Figura 29.7.
29.11 Deduza uma equação como a Equação (29.26) para o caso
em que θ seja maior que 45° na Figura 29.11.
29.12 Desenvolva um programa computacional amigável ao
usuário para implementar o método de Liebmann para uma placa
retangular com condições de contorno de Dirichlet. Projete o programa de modo que ele possa calcular tanto a temperatura quanto o
fluxo. Teste o programa duplicando os resultados dos Exemplos
29.1 e 29.2.
29.13 Use o programa do Problema 29.12 para resolver os Problemas 29.1 e 29.2.
29.14 Use o programa do Problema 29.12 para resolver o Problemas 29.3.
29.15 Use a abordagem por volume de controle e deduza a
equação de nó para o nó (2, 2) na Figura 29.13 e inclua uma fonte
de calor nesse ponto. Utilize os seguintes valores para as constantes: z = 0,25 cm, h = 10 cm, kA = 0,25 W/cm · C e kB = 0,45
W/cm · C. A fonte de calor vem apenas do material A a uma taxa de
6 W/cm3.
29.16 Calcule o fluxo de calor (W/cm2) para o nó (2, 2) na Figura
29.13, usando aproximações por diferenças finitas para os gradientes de temperatura nesse nó. Calcule o fluxo na direção horizontal nos materiais A e B e determine se esses dois fluxos deveriam ser iguais. Calcule também o fluxo vertical nos materiais A e
B. Esses dois fluxos devem ser iguais? Use os seguintes valores
para as constantes: z = 0,5 cm, h = 10 cm, kA = 0,25 W/cm · C,
kB = 0,45 W/cm · C e as temperaturas nodais: T22 = 51,6 °C, T21 =
74,2 °C, T23 = 45,3 °C, T32 = 38,6 °C e T12 = 87,4 °C.
CAPÍTULO
30
Diferenças Finitas: Equações
Parabólicas
O capítulo anterior tratava de EDPs estacionárias. Agora, voltamos-nos para as equações
parabólicas, que são empregadas para caracterizar problemas que variam no tempo. Na
parte final deste capítulo, ilustraremos como isso é feito em duas dimensões espaciais
para a placa aquecida. Antes de fazer isso, mostraremos, primeiro, como o caso unidimensional mais simples é abordado.
30.1
A EQUAÇÃO DE CONDUÇÃO DE CALOR
De maneira parecida com a dedução da equação de Laplace [Equação (29.6)], a
conservação de calor pode ser usada para desenvolver um balanço de calor para um elemento infinitesimal na barra (ou haste) isolada longa e fina mostrada na Figura 30.1.
Entretanto, em vez de examinar o caso estacionário, o balanço presente também considerará as quantidades de calor armazenadas no elemento em um período t. Logo, o balanço
é da seguinte forma, entradas ⫺ saídas = armazenado, ou
q(x) y z t − q(x + x) y z t = x y zρC T
Dividindo pelo volume do elemento (= x y z) e t, obtemos
q(x) − q(x + x)
T
= ρC
x
t
Tomando o limite, temos
−
∂T
∂q
= ρC
∂x
∂t
Substituindo a lei de condução de calor de Fourier [Equação (29.4)], obtemos
k
∂T
∂2T
=
2
∂x
∂t
(30.1)
que é a equação de condução de calor.
Do mesmo modo que com as EDPs elípticas, as equações parabólicas podem ser resolvidas substituindo-se as derivadas parciais por diferenças divididas finitas. Entretanto,
em contraste com as EDPs elípticas, devemos agora considerar variações no tempo, bem
como no espaço. Enquanto as equações elípticas eram limitadas em todas as dimensões
FIGURA 30.1
Uma barra fina, isolada em todos os pontos, exceto nas extremidades.
Quente
722
Fria
30.2 MÉTODOS EXPLÍCITOS
723
t
i, l + 1
i – 1, l
i, l
i + 1, l
i, l – 1
0, 0
m + 1, 0
x
FIGURA 30.2
Uma grade usada para a solução por diferenças finitas de EDPs parabólicas em duas
variáveis independentes, tal como a equação de condução de calor. Observe como, em
contraste com a Figura 29.3, essa grade tem uma extremidade aberta na dimensão temporal.
relevantes, as EDPs parabólicas têm uma extremidade aberta no tempo (Figura 30.2). Por
causa de sua natureza variável no tempo, a solução dessas equações envolve diversas
questões novas, em particular, a estabilidade. Isso, assim como outros aspectos das EDPs
parabólicas, será examinado nas seções seguintes, enquanto apresentamos duas abordagens de solução fundamentais — esquemas explícito e implícito.
30.2
MÉTODOS EXPLÍCITOS
A equação de condução de calor exige aproximações para a segunda derivada no espaço
e para a primeira derivada no tempo. A primeira é representada da mesma maneira que na
equação de Laplace, por uma diferença dividida finita centrada:
l
l
Ti+1
− 2Til + Ti−1
∂2T
=
∂x2
x 2
(30.2)
que tem um erro (lembre-se da Figura 23.3) de O[(x)2]. Observe a pequena variação na
notação dos sobrescritos, que é usada para denotar o tempo. Isso é feito para que um segundo subscrito possa ser usado para designar uma segunda dimensão espacial quando a
abordagem for expandida para duas dimensões espaciais.
Uma diferença finita dividida progressiva é usada para obter uma aproximação da
derivada no tempo
T l+1 − Til
∂T
= i
∂t
t
(30.3)
que tem um erro (lembre-se da Figura 23.1) de O(t).
Substituindo as Equações (30.2) e (30.3) na Equação (30.1), temos
k
l
l
− 2Til + Ti−1
Ti+1
Til+1 − Til
=
(x)2
t
que pode ser reescrita como
l
l
− 2Til + Ti−1
Til+1 = Til + λ Ti+1
(30.4)
(30.5)
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
724
Ponto da grade envolvido na diferença no tempo
Ponto da grade envolvido na diferença no espaço
tl + 1
tl
xi – 1
xi
xi + 1
FIGURA 30.3
Uma molécula computacional para a forma explícita.
onde λ = k t/(x)2.
Essa equação pode ser escrita para todos os nós interiores da barra. Ela então fornece
um meio explícito de calcular valores em cada nó para um instante futuro baseado nos
valores atuais no nó e em seus vizinhos. Observe que essa abordagem é, na realidade, uma
manifestação do método de Euler para resolver um sistema de EDOs. Isto é, se soubermos
a distribuição de temperatura como uma função da posição em um instante inicial,
podemos calcular a distribuição em um instante futuro com base na Equação (30.5).
Uma molécula computacional para o método explícito é descrita na Figura 30.3,
mostrando os nós que constituem as aproximações espacial e temporal. Essa molécula pode
ser contrastada com outras neste capítulo, para ilustrar as diferenças entre as abordagens.
EXEMPLO 30.1
Solução Explícita da Condução de Calor Unidimensional
Enunciado do Problema. Use o método explícito para determinar a distribuição de temperatura de uma barra longa e fina, com um comprimento de 10 cm e com os seguintes
valores: k ′ = 0,49 cal/(s · cm · ∘C), x = 2 cm e t = 0,1 s. Em t = 0, a temperatura da
barra é zero e as condições de contorno são fixas em todos os tempos em T(0) = 100 ∘C
e T(10) = 50 ∘C. Observe que a barra é de alumínio com C = 0,2174 cal/(g· ∘C) e ρ = 2,7
g/cm3. Portanto, k = 0,49/(2,7 · 0,2174) = 0,835 cm2/s e λ = 0,835(0,1)/(2)2 = 0,020875.
Solução. Aplicando a Equação (30.5), obtemos o seguinte valor em t = 0,1 s para o nó
em x = 2 cm:
T 11 = 0 + 0,020875[0 − 2(0) + 100] = 2,0875
Nos outros pontos interiores, x = 4, 6 e 8 cm, os resultados são
T 12 = 0 + 0,020875[0 − 2(0) + 0] = 0
T 13 = 0 + 0,020875[0 − 2(0) + 0] = 0
T 14 = 0 + 0,020875[50 − 2(0) + 0] = 1,0438
Em t = 0,2 s, os valores nos quatro nós interiores são calculados como
T 21
T 22
T 23
T 24
= 2,0875 + 0,020875[0 − 2(2,0875) + 100] = 4,0878
= 0 + 0,020875[0 − 2(0) + 2,0875] = 0,043577
= 0 + 0,020875[1,0438 − 2(0) + 0] = 0,021788
= 1,0438 + 0,020875[50 − 2(1,0438) + 0] = 2,0439
Os cálculos continuam e os resultados com intervalos de 3 s são descritos na Figura 30.4.
O aumento geral na temperatura com o tempo indica que o cálculo captura a difusão de
calor das fronteiras para o interior da barra.
30.2 MÉTODOS EXPLÍCITOS
725
t = 0,1
x = 2
k = 0,835
T
80
t=9
40
t = 12
t=
t= 6
3
0
4
8
x
FIGURA 30.4
Distribuição de temperatura em uma barra longa e fina calculada com o método explícito
descrito na Seção 30.2.
30.2.1 Convergência e Estabilidade
A convergência significa que, quando x e t tendem a zero, os resultados da técnica por
diferenças finitas se aproximam da solução verdadeira. A estabilidade significa que erros
em qualquer estágio do cálculo não são amplificados, mas, sim, atenuados conforme os
cálculos progridem. Pode ser mostrado (Carnahan et al., 1969) que o método explícito é
tanto convergente quanto estável se λ ≤ 1/2, ou
t ≤
1 x 2
2 k
(30.6)
Além disso, deve ser observado que tomar λ ≤ 1/2 poderia resultar em uma solução na
qual os erros não crescem, mas oscilam. Tomar λ ≤ 1/4 garante que a solução não oscilará. Também é conhecido que tomar λ = 1/6 tende a minimizar o erro de truncamento
(Carnahan et al., 1969).
A Figura 30.5 é um exemplo da instabilidade causada pela violação da Equação
(30.6). Esse gráfico é para o mesmo caso que no Exemplo 30.1, mas com λ = 0,735, o
que é consideravelmente maior que 0,5. Como na Figura 30.5, a solução sofre oscilações
progressivamente crescentes. Essa situação continuará a se deteriorar conforme os cálculos continuam.
Embora o fato de a Equação (30.6) ser satisfeita aliviar as instabilidades do tipo
manifestado na Figura 30.5, ela também coloca uma forte limitação no método explícito.
Por exemplo, suponha que x seja dividido na metade para melhorar a aproximação na
segunda derivada espacial. De acordo com a Equação (30.6), o passo no tempo deve ser
dividido por 4 para manter a convergência e a estabilidade. Logo, para fazer cálculos
comparáveis, o número de passos no tempo deve ser aumentado por um fator 4. Além
disso, o cálculo para cada um desses passos no tempo levará duas vezes mais tempo, já
que dividir x por 2 dobra o número total de nós para os quais as equações precisam ser
escritas. Conseqüentemente, para o caso unidimensional, dividir x por 2 resulta em um
aumento de oito vezes no número de cálculos. Assim, a carga computacional pode ser
grande para atingir uma acucária aceitável. Como será descrito em breve, estão disponíveis outras técnicas que não sofrem limitações tão severas.
30.2.2 Condições de Contorno na Derivada
Como foi o caso para as EDPs elípticas (lembre-se da Seção 29.3.1), as condições de contorno na derivada podem ser prontamente incorporadas nas equações parabólicas. Para
uma barra unidimensional, isso exige a adição de duas equações para caracterizar o balanço de calor nos nós nas extremidades. Por exemplo, o nó na extremidade esquerda
(i = 0) seria representado por
l
T0l+1 = T0l + λ T1l − 2T0l + T−1
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
726
t=6
T
100
0
x
t = 12
T
100
0
x
t = 18
T
100
0
x
t = 24
T
100
0
x
t = 30
T
100
0
0
4
8
x
FIGURA 30.5
Uma ilustração da instabilidade. Solução do Exemplo 30.1, mas com λ = 0,735.
Portanto, um ponto imaginário é introduzido em i = −1 (lembre-se da Figura 29.7). Entretanto, como no caso elíptico, esse ponto fornece um veículo para incorporar a condição de
contorno da derivada na análise. O Problema 30.2 no final do capítulo trata desse exercício.
30.2.3 Aproximações Temporais de Ordem Superior
A idéia geral de reexpressar a EDP como um sistema de EDOs algumas vezes é denominada método das linhas. Obviamente, uma maneira de melhorar a abordagem usada anteriormente seria empregar um esquema de integração mais acurado para resolver as EDOs.
Por exemplo, o método de Heun pode ser empregado para obter acurácia temporal de
segunda ordem. Um exemplo dessa abordagem é chamado método de MacCormack. Este
e outros métodos explícitos melhorados são discutidos em outras referências (por exemplo, Hoffman, 1992).
30.3
UM MÉTODO IMPLÍCITO SIMPLES
Como observado anteriormente, formulações por diferenças finitas explícitas têm problemas relacionados com a estabilidade. Além disso, como descrito na Figura 30.6, eles excluem informações que têm influência na solução. Os métodos implícitos superam ambas
as dificuldades ao custo de algoritmos um pouco mais complicados.
30.3 UM MÉTODO IMPLÍCITO SIMPLES
t
727
(i, l)
FIGURA 30.6
Representação do efeito de
outros nós na aproximação por
diferença finita no nó (i, I),
usando um esquema explícito
por diferença finita. Os nós
escuros têm uma influência no
nó (i, I), enquanto os não
escurecidos, os quais, na
realidade, afetam (i, I),
são excluídos.
Condição de contorno
x
Condição inicial
Pontos da grade envolvidos em diferenças no tempo
Pontos da grade envolvidos em diferenças no espaço
FIGURA 30.7
Molécula fundamental
ilustrando as diferenças entre
os métodos: (a) explícitos
e (b) implícitos.
l+1
l+1
l
l
i–1
i
i+1
i–1
(a) Explícito
i
i+1
(b) Implícito
A diferença fundamental entre as aproximações explícita e implícita está descrita na
Figura 30.7. Para a forma explícita, aproximamos a derivada espacial no nível l de tempo
(Figura 30.7a). Lembre-se de que, quando substituímos essa aproximação na equação
diferencial parcial, obtemos uma equação de diferenças (30.4) com uma única incógnita
Til+1 . Logo, podemos escrever “explicitamente” a solução para essa incógnita como na
Equação (30.5).
Nos métodos implícitos, a derivada espacial é aproximada em um nível de tempo
avançado, l + 1. Por exemplo, a segunda derivada seria aproximada por (Figura 30.7b)
l+1
l+1
− 2Til+1 + Ti−1
∂ 2 T ∼ Ti+1
=
∂x2
(x)2
(30.7)
tem acurácia de segunda ordem. Quando essa relação é substituída na EDP original, a
equação de diferenças resultante contém diversas incógnitas. Portanto, ela não pode ser
resolvida explicitamente por uma reorganização algébrica simples como foi feito na passagem da Equação (30.4) para a Equação (30.5). Em vez disso, o sistema de equações
todo deve ser resolvido simultaneamente. Isso é possível porque, juntamente com as
condições de contorno, as formulações implícitas resultam em um conjunto de equações
lineares algébricas com o mesmo número de incógnitas. Logo, o método se reduz à
solução de um conjunto de equações simultâneas em cada ponto no tempo.
Para ilustrar como isso é feito, substitua as Equações (30.3) e (30.7) na Equação
(30.1) para obter
k
l+1
l+1
Ti+1
− 2Til+1 + Ti−1
Til+1 − Til
=
(x)2
t
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
728
que pode ser expresso como
l+1
l+1
−λTi−1
+ (1 + 2λ)Til+1 − λTi+1
= Til
(30.8)
onde λ = k t/(x)2. Essa equação se aplica a todos, exceto o primeiro e o último nós interiores, nos quais precisa ser modificada para refletir as condições de contorno. Para o
caso no qual as temperaturas nas extremidades da barra são dadas, a condição de contorno
na extremidade esquerda da barra (i = 0) pode ser expressa como
T0l+1 = f 0 (t l+1 )
(30.9)
onde f 0 (t l+1 ) é uma função descrevendo como a temperatura de contorno varia com o
tempo. Substituindo a Equação (30.9) na Equação (30.8), temos a equação de diferença
para o primeiro nó interior (i = 1):
(1 + 2λ)T1l+1 − λT2l+1 = T1l + λ f 0 (t l+1 )
(30.10)
De forma análoga, para o último nó interior (i = m),
l+1
−λTm−1
+ (1 + 2λ)Tml+1 = Tml + λ f m+1 (t l+1 )
(30.11)
onde f m+1 (t l+1 ) descreve a variação de temperatura especificada na extremidade direita
da barra (i = m + 1).
Quando as Equações (30.8), (30.10) e (30.11) são escritas para todos os nós interiores,
o conjunto resultante de m equações algébricas lineares tem m incógnitas. Além disso, o
método tem a vantagem adicional do sistema ser tridiagonal. Assim, podemos utilizar
os algoritmos de solução extremamente eficientes (lembre-se da Seção 11.1) que estão
disponíveis para sistemas tridiagonais.
EXEMPLO 30.2
Solução Implícita Simples da Equação de Condução de Calor
Enunciado do Problema. Use a aproximação implícita simples por diferenças finitas
para resolver o mesmo problema que no Exemplo 30.1.
Solução. Para a barra do Exemplo 30.1, λ = 0,020875. Portanto, em t = 0, a Equação
(30.10) pode ser escrita para o primeiro nó interior como
1,04175T 11 − 0,020875T 12 = 0 + 0,020875(100)
ou
1,04175T 11 − 0,020875T 12 = 2,0875
De modo parecido, as equações (30.8) e (30.11) podem ser aplicadas aos outros nós interiores. Isso nos leva ao seguinte conjunto de equações simultâneas:
⎫
⎤⎧ 1 ⎫ ⎧
⎡
1,04175
−0,020875
T 1⎪
2,0875 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎨T 1 ⎬ ⎨ 0 ⎪
⎢ −0,020875
⎬
1,04175
−0,020875
⎥ 2
⎢
⎥ 1 =
⎢
⎣
−0,020875
1,04175
−0,020875 ⎦⎪
T 3⎪
⎪ ⎪
⎪
⎪
⎪ 0 ⎪
⎪
⎪
⎭ ⎪
⎩ 1⎪
⎭
⎩
−0,020875
1,04175
T4
1,04375
que pode ser resolvido para determinar a temperatura em t = 0,1 s:
T 11 = 2,0047
T 12 = 0,0406
T 13 = 0,0209
T 14 = 1,0023
Observe como, em contraste com o Exemplo 30.1, todos os pontos se tornaram diferentes
da condição inicial durante o primeiro passo.
30.3 UM MÉTODO IMPLÍCITO SIMPLES
729
Para determinar as temperaturas em t = 0,2, o vetor à direita deve ser modificado
para levar em conta os resultados do primeiro passo, como em
⎫
⎧
⎪
4,09215⎪
⎪
⎪
⎬
⎨
0,04059
⎪
⎪
⎪0,02090⎪
⎭
⎩
2,04069
As equações simultâneas podem, então, ser resolvidas para determinar as temperaturas
em t = 0,2 s:
T 21 = 3,9305
T 22 = 0,1190
T 23 = 0,0618
T 24 = 1,9653
Embora o método implícito descrito seja estável e convergente, seu defeito é que a
aproximação temporal por diferença tem acurácia de primeira ordem, ao passo que a aproximação espacial por diferença tem acurácia de segunda ordem (Figura 30.8). Na próxima
seção, apresentaremos um método implícito alternativo que remedia essa situação.
Antes de prosseguir, deve ser mencionado que, embora o método implícito simples
seja incondicionalmente estável, existe um limite na acurácia quando se usar passos
grandes no tempo. Como conseqüência, ele não é muito mais eficiente que as abordagens
explícitas para a maioria dos problemas que variam no tempo.
Onde ele realmente se sobressai é nos problemas estacionários. Lembre-se, do
Capítulo 29, que pode ser usada uma forma do Gauss-Seidel (método de Liebmann) para
obter soluções estacionárias para equações elípticas. Uma abordagem alternativa seria
executar uma solução dependente do tempo até que ela atinja o estado estacionário. Nesse
caso, como os resultados intermediários inexatos não causam problemas, os métodos
implícitos permitem que você empregue passos maiores no tempo e, assim, possa gerar
resultados estacionários de maneira eficiente.
FIGURA 30.8
Uma molécula computacional
para o método
implícito simples.
Pontos da grade envolvidos em diferenças no tempo
Pontos da grade envolvidos em diferenças no espaço
tl + 1
tl
xi – 1
FIGURA 30.9
Uma molécula computacional
para o método de
Crank-Nicolson.
xi
xi + 1
Pontos da grade envolvidos em diferenças no tempo
Pontos da grade envolvidos em diferenças no espaço
tl + 1
t l + 1/2
tl
xi – 1
xi
xi + 1
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
730
30.4
O MÉTODO DE CRANK-NICOLSON
O método de Crank-Nicolson fornece um esquema implícito alternativo que tem acurácia de segunda ordem, tanto no espaço quanto no tempo. Para fornecer essa acurácia, são
desenvolvidas aproximações por diferença no ponto médio do incremento no tempo
(Figura 30.9). Para fazer isso, a primeira derivada no tempo pode ser aproximada em
t l+1/2 por
∂ T ∼ Til+1 − Til
=
∂t
t
(30.12)
A segunda derivada no espaço pode ser determinada no ponto médio tomando-se a média
da aproximação por diferenças no início (tl) e no final (tl⫹1) do incremento de tempo:
l+1
l+1
l
l
Ti+1
− 2Til+1 + Ti−1
− 2Til + Ti−1
∂ 2 T ∼ 1 Ti+1
+
(30.13)
=
∂x2
2
(x)2
(x)2
Substituindo as Equações (30.12) e (30.13) na Equação (30.1) e agrupando os termos, obtemos
l+1
l+1
l
l
−λTi−1
+ 2(1 + λ)Til+1 − λTi+1
= λTi−1
+ 2(1 − λ)Til + λTi+1
(30.14)
onde λ = k t/(x)2. Como acontecia com a abordagem implícita simples, as
l+1
= f m+1 (t l+1 ) podem ser impostas
condições de contorno de T0l+1 = f 0 (t l+1 ) e Tm+1
para deduzir versões da Equação (30.14) para o primeiro e o último nó interior. Para o
primeiro nó interior
2(1 + λ)T1l+1 − λT2l+1 = λ f 0 (t l ) + 2(1 − λ)T1l + λT2l + λ f 0 (t l+1 )
(30.15)
e para o último nó interior,
l+1
l
−λTm−1
+ 2(1 + λ)Tml+1 = λ f m+1 (t l ) + 2(1 − λ)Tml + λTm−1
+ λ f m+1 (t l+1 )
(30.16)
Embora as Equações (30.14) a (30.16) sejam ligeiramente mais complicadas que as
Equações (30.8), (30.10) e (30.11), elas também são tridiagonais e, portanto, podem ser
resolvidas eficientemente.
EXEMPLO 30.3
A Solução de Crank-Nicolson para a Equação de Condução de Calor
Enunciado do Problema. Use o método de Crank-Nicolson para resolver o mesmo
problema que nos Exemplos 30.1 e 30.2.
Solução. As Equações (30.14) a (30.16) podem ser usadas para gerar o seguinte conjunto de equações tridiagonais:
⎫
⎤⎧ 1 ⎫ ⎧
2,04175
−0,020875
4,175 ⎪
T 1⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎨T 1 ⎬ ⎨ 0 ⎪
⎢ −0,020875
⎬
2,04175
−0,020875
⎥ 2
⎢
⎥ 1 =
⎢
⎣
T 3⎪
−0,020875
2,04175
−0,020875 ⎦⎪
⎪ ⎪
⎪
⎪ 0 ⎪
⎪
⎪
⎪
⎭ ⎪
⎭
⎩
⎩ 1⎪
−0,020875
2,04175
T4
2,0875
⎡
o qual pode ser resolvido para determinar as temperaturas em t = 0,1 s:
T 11 = 2,0450
T 12 = 0,0210
T 13 = 0,0107
T 14 = 1,0225
30.4 O MÉTODO DE CRANK-NICOLSON
731
Para estabelecer as temperaturas em t = 0,2 s, o vetor à direita deve ser modificado para
⎫
⎧
8,1801⎪
⎪
⎪
⎪
⎪
⎬
⎨0,0841⎪
⎪
⎪0,0427⎪
⎪
⎪
⎪
⎭
⎩
4,0901
As equações simultâneas podem então ser resolvidas por
T 21 = 4,0073
T 22 = 0,0826
T 23 = 0,0422
T 24 = 2,0036
30.4.1 Comparação dos Métodos Unidimensionais
A Equação (30.1) pode ser resolvida analiticamente. Por exemplo, está disponível uma
solução para o caso no qual a temperatura da barra é, inicialmente, nula. Em t = 0, a
condição de contorno em x = L é instantaneamente aumentada para um nível constante
T , enquanto T(0) é mantido no 0. Nesse caso, a temperatura pode ser calculada por
2 2
∞
nπ x
2
x
−n π kt
n
+
(−1) sen
exp
T =T
(30.17)
L n=0 nπ
L
L2
onde L é o comprimento total da barra. Essa equação pode ser utilizada para calcular a
evolução da distribuição da temperatura para cada condição de contorno. Então, a solução
total pode ser determinada por superposição.
EXEMPLO 30.4
Comparação das Soluções Analítica e Numéricas
Enunciado do Problema. Compare a solução analítica da Equação (30.17) com os resultados numéricos obtidos com as técnicas explícitas, implícita simples e de CrankNicolson. Faça a comparação para a barra empregada nos Exemplos 30.1, 30.2 e 30.3.
Solução. Lembre-se, a partir dos exemplos anteriores, de que k = 0,835 cm2/s, L = 10 cm
e x = 2 cm. Nesse caso, a Equação (30.17) pode ser usada para prever que a temperatura
em x = 2 cm e t = 10 s seria igual a 64,8018. A Tabela 30.1 apresenta as previsões numéricas de T(2, 10). Observe que diversos passos no tempo são empregados. Esses resultados
indicam várias propriedades dos métodos numéricos. Primeiro, podemos ver que o método
explícito é instável para valores altos de λ. Essa instabilidade não é manifestada por nenhuma das abordagens implícitas. Segundo, o método de Crank-Nicolson converge mais rapidamente, conforme λ diminui, e fornece resultados moderadamente acurados mesmo
quando λ é relativamente alto. Essas saídas são como se espera porque o método de CrankTABELA 30.1 Comparação de três métodos para resolver uma EDP parabólica: a barra
aquecida. Os resultados são para temperaturas em t = 10 s em x = 2 cm,
para a barra dos Exemplos 30.1 a 30.3. Observe que a solução
analítica é T(2, 10) = 64,8018.
⌬t
Explícita
Implícita
10
5
2
1
0,5
0,2
2,0875
1,04375
0,4175
0,20875
0,104375
0,04175
208,75
−9,13
67,12
65,91
65,33
64,97
53,01
58,49
62,22
63,49
64,12
64,49
Crank-Nicolson
79,77
64,79
64,87
64,77
64,74
64,73
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
732
Nicolson tem acurácia de segunda ordem com relação a ambas as variáveis independentes.
Finalmente, observe que, conforme λ diminui, os métodos parecem estar convergindo para
um valor de 64,73, que é diferente do resultado analítico de 64,80. Isso não deveria surpreender, já que foi usado um valor fixo x = 2 para caracterizar a dimensão x. Se tanto x
quanto t diminuírem, conforme λ diminui (isto é, se forem usados mais segmentos espaciais), a solução numérica estaria mais próxima do resultado analítico.
O método de Crank-Nicolson é freqüentemente usado para resolver EDPs parabólicas lineares em uma dimensão espacial. Sua vantagem se torna ainda mais pronunciada
para aplicações mais complicadas, como aquelas envolvendo grades desigualmente
espaçadas. Tal espaçamento não uniforme é, às vezes, vantajoso, quando temos conhecimento prévio de que a solução varia rapidamente em partes localizadas do sistema. Uma
discussão mais profunda dessas aplicações e do método de Crank-Nicolson pode ser encontrada em outras referências (Ferziger, 1981; Lapidus e Pinder, 1981; Hoffman, 1992).
30.5
EQUAÇÕES PARABÓLICAS EM DUAS DIMENSÕES ESPACIAIS
A equação de condução de calor pode ser aplicada a mais de uma dimensão espacial. Para
duas dimensões, ela tem a forma
2
∂2T
∂ T
∂T
+ 2
=k
(30.18)
∂t
∂x2
∂y
Uma aplicação dessa equação é modelar a distribuição de temperatura em uma placa
aquecida. Entretanto, em vez de caracterizar sua distribuição estacionária, como foi feito
no Capítulo 29, a Equação (30.18) fornece um meio de calcular a distribuição de temperatura na placa, conforme ela varia com o tempo.
30.5.1 Esquemas padrão Explícito e Implícito
Uma solução explícita pode ser obtida substituindo aproximações por diferenças finitas
da forma das Equações (30.2) e (30.3) na Equação (30.18). Entretanto, como no caso unidimensional, essa abordagem é limitada por um critério de estabilidade restritivo. Para o
caso bidimensional, o critério é
t ≤
1 (x)2 + (y)2
8
k
Logo, para uma grade uniforme (x = y), λ = k t/(x)2 deve ser menor ou igual a
1/4. Conseqüentemente, dividir o tamanho do passo por dois resulta em um aumento de
quatro vezes no número de nós e aumento de 16 vezes no esforço computacional.
Como no caso dos sistemas unidimensionais, as técnicas implícitas fornecem alternativas que garantem a estabilidade. Entretanto, a aplicação direta de métodos implícitos,
tais como a técnica de Crank-Nicolson, leva à solução de m × n equações simultâneas.
Além disso, quando escrita para duas ou três dimensões espaciais, essas equações perdem
a propriedade valiosa de serem tridiagonais. Logo, o armazenamento da matriz e o esforço computacional podem ser exorbitantemente grandes. O método descrito na próxima
seção oferece uma solução para esse dilema.
30.5.2 O Esquema ADI
O esquema implícito de direção alternada ou ADI fornece um meio para resolver
equações parabólicas em duas dimensões espaciais, usando matrizes tridiagonais. Para
fazer isso, cada incremento no tempo é executado em dois passos (Figura 30.10). Para o
primeiro passo, a Equação (30.18) é aproximada por
l
l+1/2
l+1/2
l+1/2
l+1/2
l
Ti, j+1 − 2Ti, j + Ti, j−1
Ti+1, j − 2Ti,l j + Ti−1,
Ti, j − Ti,l j
j
+
=k
(30.19)
t/2
(x)2
(y)2
30.5 EQUAÇÕES PARABÓLICAS EM DUAS DIMENSÕES ESPACIAIS
733
Explícito
Implícito
tl + 1
yj + 1
yj
FIGURA 30.10
Os dois meios-passos usados
na implementação do esquema
implícito de direção alternada
para resolver as equações
parabólicas em duas
dimensões espaciais.
t l + 1/2
yj – 1
xi – 1
yj + 1
xi
xi + 1
yj
tl
yj – 1
xi – 1
xi
xi + 1
(a) Primeiro meio-passo
(b) Segundo meio-passo
Assim, a aproximação de ∂ 2 T /∂ x 2 é escrita explicitamente — isto é, no ponto base t l, no
qual os valores da temperatura são conhecidos. Por conseguinte, apenas os três termos de
temperatura na aproximação de ∂ 2 T /∂ y 2 são desconhecidos. No caso de uma grade
quadrada (y = x), essa equação pode ser expressa como
l+1/2
l+1/2
−λTi, j−1 + 2(1 + λ)Ti, j
l+1/2
l
l
l
− λTi, j+1 = λTi−1,
j + 2(1 − λ)Ti, j + λTi+1, j
(30.20)
a qual, quando escrita para o sistema, resulta em um conjunto tridiagonal de equações
simultâneas.
Para o segundo passo de t l+1/2 a t l+1 , a Equação (30.18) é aproximada por
l+1
l+1/2
l+1/2
l+1/2
l+1/2
l+1
Ti, j+1 − 2Ti, j + Ti, j−1
Ti+1, j − 2Ti,l+1
Ti,l+1
j + Ti−1, j
j − Ti, j
+
=k
t/2
(x)2
(y)2
(30.21)
Em contraste com a Equação (30.19), a aproximação de ∂ 2 T /∂ x 2 agora é implícita. Portanto, o viés introduzido pela Equação (30.19) será parcialmente corrigido. Para uma
grade quadrada, a Equação (30.21) pode ser escrita como
l+1/2
l+1/2
l+1
l+1
l+1
−λTi−1,
j + 2(1 + λ)Ti, j − λTi+1, j = λTi, j−1 + 2(1 − λ)Ti, j
l+1/2
+ λTi, j+1
(30.22)
Novamente, quando escrita para uma grade bidimensional, a equação resulta em um sistema tridiagonal (Figura 30.11). Como no exemplo a seguir, isso leva a uma solução
numérica eficiente.
FIGURA 30.11
O método ADI resulta em
equações tridimensionais
apenas se for aplicado na
dimensão em que é implícita.
Logo, no primeiro passo (a),
ele é aplicado na dimensão y
e, no segundo passo (b), na
dimensão x. Essas “direções
alternadas” são a raiz do nome
do método.
i=1 i=2 i=3
i=1 i=2 i=3
(a) Primeira direção
(b) Segunda direção
j=3
j=2
j=1
y
x
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
734
EXEMPLO 30.5
O método ADI
Enunciado do Problema. Use o método ADI para determinar a temperatura da placa
nos Exemplos 29.1 e 29.2. Em t = 0, suponha que a temperatura da placa seja 0 e que as
temperaturas de contorno sejam levadas instantaneamente para os níveis mostrados na
Figura 29.4. Use um passo no tempo de 10 s. Lembre-se, do Exemplo 30.1, de que o coeficiente de difusividade térmica do alumínio é k = 0,835 cm2/s.
Solução. Um valor de x = 10 cm foi usado para caracterizar a placa 40 × 40 cm dos
Exemplos 29.1 e 29.2. Portanto, λ = 0,835(10)/(10)2 = 0,0835. Para o primeiro passo
para t = 5 (Figura 30.11a), a Equação (30.20) é aplicada aos nós (1, 1), (1, 2), e (1, 3) para
fornecer as seguintes equações tridiagonais:
⎫
⎫ ⎧
⎡
⎤⎧
2,167 −0,0835
⎨ T1,1 ⎬ ⎨ 6,2625⎬
⎣ −0,0835
6,2625
2,167 −0,0835 ⎦ T1,2 =
⎭
⎩
⎭ ⎩
14,6125
−0,0835
2,167
T1,3
as quais podem ser resolvidas por
T1,1 = 3,01060
T1,2 = 3,2708
T1,3 = 6,8692
De maneira análoga, podem ser desenvolvidas e resolvidas equações tridiagonais para
e
T2,1 = 0,1274
T2,2 = 0,2900
T2,3 = 4,1291
T3,1 = 2,0181
T3,2 = 2,2477
T3,3 = 6,0256
Para o segundo passo para t = 10 (Figura 30.11b), a Equação (30.22) é aplicada aos
nós (1, 1), (2, 1), e (3, 1) para fornecer
⎫
⎫ ⎧
⎡
⎤⎧
2,167 −0,0835
⎨T1,1 ⎬ ⎨13,0639⎬
⎣ −0,0835
0,2577
2,167 −0,0835 ⎦ T2,1 =
⎭
⎩
⎭ ⎩
8,0619
T3,1
−0,0835
2,167
a qual pode ser resolvida por
T1,1 = 5,5855
T2,1 = 0,4782
T3,1 = 3,7388
T1,2 = 6,1683
T2,2 = 0,8238
T3,2 = 4,2359
Equações tridiagonais para as outras linhas podem ser desenvolvidas e resolvidas por
e
T1,3 = 13,1120
T2,3 = 8,3207
T3,3 = 11,3606
O cálculo pode ser repetido e resultados para t = 100, 200, e 300 s são descritos nas
Figuras 30.12a a c, respectivamente. Como esperado, a temperatura da placa aumenta.
Depois de passar tempo suficiente a temperatura se aproximará da distribuição estacionária na Figura 29.5.
FIGURA 30.12
Solução para placa aquecida do Exemplo 30.5 em (a) t = 100 s, (b) t = 200 s, e
(c) t = 300 s.
60,76 52,57 53,02
72,82 68,17 64,12
76,54 73,29 67,68
41,09 27,20 31,94
55,26 45,32 44,86
60,30 52,25 49,67
28,56 14,57 20,73
37,40 25,72 28,69
40,82 30,43 31,96
(a) t = 100 s
(b) t = 200 s
(c) t = 300 s
PROBLEMAS
735
O método ADI é apenas um de um grupo de técnicas chamadas métodos splitting.
Alguns deles representam esforços para contornar defeitos do ADI. Discussão de outros
métodos splitting, bem como mais informação sobre o ADI pode ser encontrada em
outras referências (Ferziger, 1981; Lapidus e Pinder, 1981).
PROBLEMAS
30.1 Repita o Exemplo 30.1, mas use o método do ponto médio
para gerar sua solução.
30.2 Repita o Exemplo 30.1, mas para o caso em que a barra está
inicialmente a 25 °C e a derivada em x = 0 é igual a 1 e em x = 10
é igual a 0. Interprete seus resultados.
30.3 (a) Repita o Exemplo 30.1, mas para um passo no tempo de
t = 0,05 s. Calcule resultados até t = 0,2. (b) Além disso, faça os
mesmos cálculos com o método de Heun (sem iteração do corretor)
com um tamanho de passo muito menor, de t = 0,001 s. Supondo
que os resultados de (b) sejam aproximações válidas da solução
verdadeira, determine erros relativos porcentuais para os resultados
obtidos no Exemplo 30.1, bem como na parte (a).
30.4 Repita o Exemplo 30.2, mas para o caso em que a derivada
em x = 10 seja igual a zero.
30.5 Repita o Exemplo 30.3, mas para x = 1 cm.
30.6 Repita o Exemplo 30.5, mas para a placa descrita no Problema 29.1.
30.7 A equação de advecção-difusão é usada para calcular a distribuição de concentração ao longo do comprimento de um reator
químico retangular (ver a Seção 32.1),
∂c
∂c
∂ 2c
= D 2 −U
− kc
∂t
∂x
∂x
onde c é a concentração (mg/m3), t é o tempo (min), D é um coeficiente de difusão (m2/min), x é a distância ao longo do eixo longitudinal do tanque (m) em que x = 0 na entrada do tanque, U é a velocidade na direção x (m/min) e k é uma taxa de reação (min−1) pela
qual a substância química decai para outra forma. Desenvolva um
esquema explícito para resolver essa equação numericamente.
Teste-o para k = 0,15, D = 100 e U = 1 para um tanque de comprimento 10 m. Use x = 1 e um tamanho de passo t = 0,005.
Suponha que a concentração de entrada seja 100 e que a concentração inicial no tanque seja zero. Faça a simulação de t = 0 a 100
e trace as concentrações resultantes finais em função de x.
30.8 Desenvolva um programa computacional amigável ao usuário
para o método explícito simples da Seção 30.2. Teste-o duplicando
o Exemplo 30.1.
30.9 Modifique o programa no Problema 30.8 de modo que ele
empregue tanto condições de contorno Dirichlet quanto condições
de contorno na derivada. Teste-o resolvendo o Problema 30.2.
30.10 Desenvolva um programa computacional amigável ao usuário para implementar o esquema implícito simples da Seção 30.3.
Teste-o duplicando o Exemplo 30.2.
30.11 Desenvolva um programa computacional amigável ao
usuário para implementar o método de Crank-Nicolson da Seção
30.4. Teste-o duplicando o Exemplo 30.3.
30.12 Desenvolva um programa computacional amigável ao
usuário para o método ADI descrito na Seção 30.5. Teste-o duplicando o Exemplo 30.5.
30.13 A forma adimensional para a condução de calor transiente
em uma barra isolada (Equação 30.1) pode ser descrita como
∂ 2u
∂u
=
∂ x̄ 2
∂ t¯
onde o espaço, tempo e temperatura adimensionais são definidos por
x
T − To
T
x̄ =
u=
t¯ =
L
(ρC L 2 /k)
TL − To
onde L é o comprimento da barra, k é a condutividade térmica do
material da barra, ρ é a densidade, C é o calor específico, To é a
temperatura em x = 0 e TL é a temperatura em x = L. Isso se transforma nas seguintes condições de contorno e iniciais:
Condições de contorno
Condições iniciais
u(0, t苶 ) ⫽ 0
u(x苶, 0) ⫽ 0
u (1, t苶 ) ⫽ 0
0 ⱕ x苶 ⱕ 1
Resolva essa equação adimensional para determinar a distribuição
de temperatura, usando métodos de diferenças finitas e uma formulação de Crank-Nicolson com acurácia de segunda ordem para integrar no tempo. Escreva um programa computacional para obter a
solução. Aumente o valor de t¯ em 10% para cada passo no tempo
para obter mais rapidamente a solução estacionária e escolha valores de x̄ e t¯ para uma boa acurácia. Trace a temperatura adimensional em função dos comprimentos adimensionais para diversos valores do tempo adimensional.
30.14 O problema com o fluxo de calor radial transiente em uma
barra circular na forma adimensional é descrito por
∂ 2u
1 ∂u
∂u
+
=
∂ r̄ 2
r̄ ∂ r̄
∂ t¯
Condições de contorno
u(1, t苶 ) ⫽ 1
∂u
ᎏ (0, t苶 ) ⫽ 0
∂t苶
Condições iniciais
u(x苶, 0) ⫽ 0
0 ⱕ x苶 ⱕ 1
Resolva a equação de condução de calor radial transiente adimensional em uma barra circular para a distribuição de temperatura em
diversos instantes de tempo, conforme a temperatura da barra se
aproxima do estado estacionário. Use análogos por diferenças finitas com acurácia de segunda ordem para as derivadas com uma formulação de Crank-Nicolson. Escreva um programa computacional
para a solução. Escolha valores de r̄ e t¯ para uma boa acurácia.
Trace a temperatura u em função do raio r̄ para diversos instantes t¯.
30.15 Resolva a seguinte EDP:
∂ 2u
∂u
∂u
+b
=
∂x2
∂x
∂t
Condições de contorno
Condições iniciais
u(0, t) ⫽ 0
u(x, 0) ⫽ 0
u (1, t) ⫽ 0
0ⱕxⱕ1
Use análogos por diferenças finitas com acurácia de segunda ordem
para as derivadas com uma formulação de Crank-Nicolson para integrar no tempo. Escreva um programa computacional para a
solução. Aumente o valor de t em 10% para cada passo no tempo
para obter mais rapidamente a solução estacionária e escolha valores
DIFERENÇAS FINITAS: EQUAÇÕES PARABÓLICAS
736
de x e t para uma boa acurácia. Trace u em função de x para diversos valores de t. Resolva para valores de b = 4, 2, 0, −2, −4.
30.16 Determine a temperatura ao longo de uma barra horizontal
de 1 m descrita pela equação de condução de calor (Equação 30.1).
Suponha que a extremidade direita seja isolada e que a condição de
contorno na extremidade esquerda (x = 0) seja representada por
∂ T
−k ′
= h (Ta − T0 )
∂x
x=0
onde k ′ é o coeficiente de condutividade térmica (W/m · °C), h é o
coeficiente de transferência de calor convectivo ((W/m2 · °C), Ta é a
temperatura ambiente (ºC) e T0 é a temperatura da barra em
x = 0 (°C). Determine a temperatura como uma função do tempo,
usando um passo espacial de x = 1 cm e os seguintes valores dos
parâmetros: k = 2 × 10–5 m2/s, k ′ = 10 W/m · °C, h = 25 W/m2 · °C
e Ta = 50 °C. Suponha que a temperatura inicial na barra seja zero.
31
CAPÍTULO
Método dos Elementos Finitos
Até este momento, utilizamos métodos de diferenças finitas para resolver equações diferenciais parciais. Nesses métodos, o domínio da solução é dividido em uma grade de pontos discretos ou nós (Figura 31.1b). A EDP é então escrita para cada nó e suas derivadas
substituídas por diferença divididas finitas. Embora tal aproximação “ponto a ponto” seja
conceitualmente fácil de entender, ela tem várias desvantagens. Em particular, ela se
torna mais difícil de aplicar para sistemas de geometria irregular, condições de contorno
não usuais ou composição heterogênica.
O método dos elementos finitos fornece uma alternativa que é mais adequada para
tais sistemas. Em contraste com as técnicas de diferenças finitas, o método dos elementos
finitos divide o domínio da solução em regiões de forma simples ou “elementos” (Figura
31.1c). Uma solução aproximada para a EDP pode então ser desenvolvida para cada um
desses elementos. A solução total é gerada juntando ou “montando” as soluções individuais, tomando cuidado para garantir a continuidade nas fronteiras entre os elementos.
Logo, a EDP é satisfeita em cada parte.
Como na Figura 31.1c, o uso de elementos em vez de uma grade retangular fornece
uma aproximação muito melhor para sistemas com formas irregulares. Além disso, os
valores das incógnitas podem ser gerados continuamente por todo o domínio da solução
em vez de em pontos isolados.
Como uma discrição abrangente está além do escopo deste livro, este capítulo
fornece uma introdução geral do método dos elementos finitos. Nosso objetivo principal
é fazer que você se sinta confortável com a abordagem e que conhece seus recursos.
Nesse espírito, a seção a seguir é dedicada a uma visão geral dos passos envolvidos na
solução típica por elementos finitos de um problema. A seguir, apresentamos um exemplo
FIGURA 31.1
(a) Uma junta de vedação com geometria irregular e composição não homogênica. (b) Tal sistema é muito difícil de modelar com
a abordagem de diferenças finitas. Isso se deve ao fato de que são necessárias aproximações complicadas nas bordas do sistema
e nas fronteiras entre regiões de composição diferente. (c) Uma discretização por elementos finitos é muito mais adequada.
Material A
Material B
Material C
(a)
(b)
(c)
737
MÉTODOS DOS ELEMENTOS FINITOS
738
simples: uma barra aquecida unidimensional estacionária. Embora esse exemplo não
envolva EDPs, ele nos permite desenvolver e ilustrar os aspectos principais da abordagem
por elementos finitos sem a presença de fatores complicadores. Podemos então discutir
algumas questões envolvidas no uso do método de elementos finitos para EDPs.
31.1
A ABORDAGEM GERAL
Embora as particularidades variem, a implementação da abordagem por elementos finitos, em geral, segue um procedimento padrão passo a passo. O material a seguir fornece
uma breve visão geral de cada um desses passos. A aplicação desses passos a contexto de
problemas de engenharia será desenvolvida nas seções subseqüentes.
31.1.1 Discretização
Este passo envolve a divisão do domínio da solução em elementos finitos. A Figura 31.2
fornece exemplos dos elementos usados em uma, duas e três dimensões. Os pontos de interseção das retas que delimitam os lados dos elementos são conhecidos como nós e os
lados propriamente ditos são chamados retas ou planos nodais.
31.1.2 Equações dos Elementos
O próximo passo é desenvolver equações para aproximar as soluções para cada elemento.
Isso envolve dois passos. Primeiro, devemos escolher uma função apropriada com coeficientes desconhecidos que será usada para aproximar a solução. Segundo, calculamos os
coeficientes de modo que a função aproxime a solução de uma forma ótima.
Escolha das Funções de Aproximação. Como são fáceis de manipular matematicamente, os polinômios são empregados para esse propósito. Para o caso unidimensional, a
alternativa mais simples é um polinômio do primeiro grau ou uma reta,
(31.1)
u(x) = a0 + a1 x
FIGURA 31.2
Exemplos dos elementos empregados em (a) uma, (b) duas e (c) três dimensões.
Elemento linear
(a) Unidimensional
Nó
Reta nodal
Elemento
quadrilateral
Elemento
triangular
(b) Bidimensional
Elemento
hexaédrico
Plano nodal
(c) Tridimensional
31.1 A ABORDAGEM GERAL
Nó 1
Nó 2
(a)
onde u(x) é a variável dependente a0 e a1 são constantes e x é a variável independente.
Essa função deve passar pelos valores de u(x) nas extremidades do elemento em x1 e x2.
Portanto,
u 1 = a0 + a 1 x 1
u 2 = a0 + a 1 x 2
u
u1
u2
onde u1 = u(x1 ) e u 2 = u(x2 ). Essas equações podem ser resolvidas usando a regra
de Cramer por
(b)
1
739
a0 =
N1
u 1 x2 − u 2 x1
x2 − x1
a1 =
u2 − u1
x2 − x1
Esses resultados podem então ser substituídos na Equação (31.1), o que, depois de agrupar os termos, pode ser escrita como
(c)
N2
x1
1
onde
x2
(d)
FIGURA 31.3
(b) Uma aproximação linear ou
função de forma para (a) um
elemento linear. As funções
interpoladoras correspondentes
são mostradas em (c) e (d).
(31.2)
u = N1 u 1 + N2 u 2
N1 =
x2 − x
x2 − x1
(31.3)
N2 =
x − x1
x2 − x1
(31.4)
e
A Equação (31.2) é chamada função de aproximações ou de forma e N1 e N2 são denominadas funções interpoladoras. Uma inspeção cuidadosa revela que a Equação (31.2) é,
na realidade, o polinômio interpolador de Lagrange de primeiro grau. Ele fornece um
meio de prever os valores intermediários (isto é, interpolar) entre os valores dados de u1
e u2 entre os nós.
A Figura 31.3 mostra a função de forma juntamente com as funções interpoladoras
correspondentes. Observe que a soma das funções interpoladoras é igual a 1.
Além disso, o fato de estarmos lidando com equações lineares facilita operações, tais
como diferenciação e integração. Tais manipulações serão importantes em seções posteriores. A derivada da Equação (31.2) é
dN2
du
dN1
=
u1 +
u2
dx
dx
dx
(31.5)
De acordo com as Equações (31.3) e (31.4), as derivadas dos N’s podem ser calculadas como
dN1
1
=−
dx
x2 − x1
dN2
1
=
dx
x2 − x1
(31.6)
e, portanto, a derivada de u é
du
1
(−u 1 + u 2 )
=
dx
x2 − x1
(31.7)
Em outras palavras, ela é uma diferença dividida representando a inclinação da reta ligando os nós.
A integral pode ser expressa como
x2
x1
u dx =
x2
x1
N1 u 1 + N2 u 2 dx
740
MÉTODOS DOS ELEMENTOS FINITOS
Cada termo do lado direito é simplesmente a integral de um triângulo retângulo com base
x2 – x1 e altura u. Isto é,
x2
1
Nu dx = (x2 − x1 )u
2
x1
Logo, a integral toda é
x2
u1 + u2
u dx =
(x2 − x1 )
2
x1
(31.8)
Em outras palavras, ela é simplesmente a regra do trapézio.
Obtendo um Ajuste Ótimo da Função à Solução. Uma vez que a função interpoladora seja escolhida, a equação que controla o comportamento do elemento deve ser
desenvolvida. Essa equação representa um ajuste da função à solução da equação diferencial subjacente. Diversos métodos estão disponíveis para esse propósito. Entre os mais
comuns estão a abordagem direta, o método dos resíduos ponderados e a abordagem
variacional. A saída de todos esses métodos é análoga ao ajuste de curvas. Entretanto, em
vez de ajustar funções aos dados, esses métodos especificam relações entre as incógnitas
na Equação (31.2) que satisfazem a EDP subjacente de uma forma ótima.
Matematicamente, as equações dos elementos resultantes freqüentemente consistirão
em um conjunto de equações algébricas lineares que podem ser expressas na forma matricial,
[k]{u} = {F}
(31.9)
onde [k] é uma propriedade do elemento ou a matriz de rigidez, {u} é um vetor coluna
de incógnitas no nó e {F} é um vetor coluna que reflete o efeito de qualquer influência
externa aplicada aos nós. Observe que, em alguns casos, as equações podem ser não-lineares.
Entretanto, para os exemplos elementares descritos a seguir e para muitos problemas
práticos, os sistemas são lineares.
31.1.3 Montagem
Depois que as equações dos elementos individuais são deduzidas, elas podem ser agrupadas
ou montadas para caracterizar o comportamento unificado do sistema inteiro. O processo de
montagem é governado pelo conceito de continuidade. Isto é, as soluções para elementos
vizinhos são equiparadas, de modo que os valores das incógnitas (e, algumas vezes, das derivadas) nos seus nós comuns sejam iguais. Assim, a solução total será contínua.
Quando todas as versões individuais da Equação (31.9) forem finalmente montadas,
o sistema inteiro será expresso na forma matricial como
[K ]{u ′ } = {F ′ }
(31.10)
onde [K ] é a matriz de propriedade de montagem e {u ′ } e {F ′ } são vetores coluna para as
incógnitas e as forças externa que são marcados com linhas para denotar que eles são uma
montagem dos vetores {u} e {F} dos elementos individuais.
31.1.4 Condições de Contorno
Antes da Equação (31.10) poder ser resolvida, ela deve ser modificada para levar em
conta as condições de contorno do sistema. Esses ajustes resultam em
[k̄]{u ′ } = { F̄ ′ }
(31.11)
em que as barras significam que as condições de contorno foram incorporadas.
31.1.5 Solução
As soluções da Equação (31.11) podem ser obtidas com as técnicas descritas anteriormente na Parte Três, como a decomposição LU. Em muitos casos, os elementos podem
ser configurados de modo que as equações resultantes sejam de banda. Assim, esquemas
de solução altamente eficientes disponíveis para tais sistemas podem ser empregados.
31.1 A ABORDAGEM GERAL
741
f(x)
T(0, t)
T(L, t)
x=0
x
x=L
(a)
1
2
1
3
2
4
3
5
4
(b)
FIGURA 31.4
(a) Uma barra longa e fina sujeita a condições de contorno fixas e a uma fonte de calor
contínua ao longo do seu eixo. (b) A representação em elementos finitos que consiste em
quatro elementos de comprimentos iguais e a cinco nós.
31.1.6 Pós-processamento
Após obter-se a solução, ela pode ser exibida em uma forma de tabela ou graficamente.
Além disso, variáveis secundárias podem ser determinadas e exibidas.
Embora os passo anteriores sejam muito gerais, são comuns à maioria das implementações da abordagem por elementos finitos. Na seção seguinte, ilustramos como
podem ser aplicados para obter resultados numéricos para um sistema físico simples —
uma barra aquecida.
31.2
APLICAÇÃO DE ELEMENTOS FINITOS EM UMA DIMENSÃO
A Figura 31.4 mostra um sistema que pode ser modelado por uma forma unidimensional
da equação de Poisson
d2T
= − f(x)
dx 2
(31.12)
onde f(x) é uma função que define uma fonte de calor ao longo da barra e em que as extremidades da barra estão mantidas a temperaturas fixas,
e
T(0, t) = T1
T(L , t) = T2
Observe que essa não é uma equação diferencial parcial, mas sim uma EDO com
condição de contorno. Esse modelo simples é usado porque ele nos permitirá introduzir a
abordagem por elementos finitos sem algumas das complicações envolvidas em, por
exemplo, uma EDP bidimensional.
EXEMPLO 31.1
Solução Analítica para Barra Aquecida
Enunciado do Problema. Resolva a Equação (31.12) para uma barra de 10 cm com
condições de contorno de T(0, t) = 40 e T(10, t) = 200 e uma fonte de calor uniforme
f(x) = 10.
Solução. A equação a ser resolvida é
d2T
= −10
dx 2
742
MÉTODOS DOS ELEMENTOS FINITOS
T
200
100
0
5
10
x
FIGURA 31.5
A distribuição de temperatura ao longo de uma barra aquecida sujeita a uma fonte de calor
uniforme e mantida a temperaturas fixas nas extremidades.
Suponha que a solução tenha a forma
T = ax 2 + bx + c
a qual pode ser diferenciada duas vezes para fornecer T ′′ = 2a. Substituindo esse resultado na equação diferencial, obtemos a = −5. As condições de contorno podem ser usadas para calcular os coeficientes remanescentes. Para a primeira condição em x = 0,
40 = −5(0)2 + b(0) + c
ou c = 40. Analogamente, para a segunda condição,
200 = −5(10)2 + b(10) + 40
que pode ser usada para determinar que b = 66. Portanto, a solução final é
T = −5x 2 + 66x + 40
Os resultados estão traçados na Figura 31.5.
31.2.1 Discretização
Uma configuração simples para modelar o sistema é uma série de elementos de comprimentos iguais (Figura 31.4b). Assim o sistema é tratado como quatro elementos de comprimentos iguais e cinco nós.
31.2.2 Equações dos Elementos
Um elemento individual é mostrado na Figura 31.6a. A distribuição de temperatura para
o elemento pode ser representado pela função de aproximação
T̃ = N1 T1 + N2 T2
(31.13)
onde N1 e N2 são funções interpoladoras lineares especificadas pelas Equações (31.3) e
(31.4), respectivamente. Assim, como descrito na Figura 31.6b, a função de aproximação
resulta em uma interpolação linear entre as temperaturas dos dois nós.
31.1 A ABORDAGEM GERAL
Nó 1
Nó 2
(a)
~
T
T2
T1
x1
x2
(b)
FIGURA 31.6
(a) Elemento individual. (b) A
função de aproximação usada
para caracterizar a distribuição
de temperatura ao longo do
elemento.
743
Como observado na Seção 31.1, existem diversas abordagens para o desenvolvimento das equações dos elementos. Nesta seção, empregaremos duas delas. Em primeiro
lugar, a abordagem direta será usada para o caso simples no qual f(x) = 0. A seguir, por
causa de sua aplicabilidade para o caso geral de engenharia, dedicaremos a maior parte da
seção ao método dos resíduos ponderados.
Abordagem Direta. Para o caso no qual f (x) = 0, pode ser empregado o método direto
para gerar as equações dos elementos. A relação entre fluxo de calor e gradiente de temperatura pode ser representada pela lei de Fourier:
q = −k ′
dT
dx
onde q é o fluxo [cal/(cm2 · s)] e k ′ é o coeficiente de condutividade térmica [cal/(s · cm · ∘
C)]. Se uma função de aproximação linear for utilizada para caracterizar a temperatura do
elemento, o fluxo de calor entrando no elemento pelo nó 1 pode ser representado por
q1 = k ′
T1 − T2
x2 − x1
onde q1 é o fluxo de calor no nó 1. De forma análoga, para o nó 2,
q2 = k ′
T2 − T1
x2 − x1
Essas duas equações expressam a relação da distribuição da temperatura interna do elemento (como refletido nas temperaturas nodais) com o fluxo de calor em suas extremidades. Dessa forma, elas constituem nossas equações dos elementos desejadas. E podem
ser ainda mais simplificadas reconhecendo-se que a lei de Fourier pode ser usada para expressar os próprios fluxos nas extremidades em termos dos gradientes das temperaturas
nas bordas. Isto é,
q1 = −k ′
dT(x1 )
dx
q2 = k ′
dT(x2 )
dx
as quais podem ser substituídas na equações dos elementos para fornecer
⎧
⎫
dT(x1 ) ⎪
⎪
⎪
⎪
−
⎨
⎬
1
dx
1 −1
T1
=
dT(x2 ) ⎪
T2
⎪
x2 − x1 −1 1
⎪
⎪
⎩
⎭
dx
(31.14)
Observe que a Equação (31.14) foi colocada na forma da Equação (31.9). Portanto,
conseguimos gerar uma equação matricial que descreve o comportamento de um elemento típico em nosso sistema.
A abordagem direta tem grande apelo intuitivo. Além disso, em áreas como a
mecânica, ela pode ser empregada para resolver problemas significativos. Em outros contextos, em geral é difícil ou impossível deduzir equações dos elementos finitos diretamente. Conseqüentemente, como descreveremos a seguir, técnicas matemáticas mais
gerais estão disponíveis.
Método dos Resíduos Ponderados. A equação diferencial (31.12) pode ser reescrita como
0=
d2T
+ f(x)
dx 2
A solução aproximada [Equação (31.13)] pode ser substituída nessa equação. Como a
Equação (31.13) não é a solução exata, o lado direito da equação resultante não será zero,
mas sim igual a um resíduo,
R=
d 2 T̃
+ f(x)
dx 2
(31.15)
O método dos resíduos ponderados (MRP) consiste em encontrar o mínimo para o
MÉTODOS DOS ELEMENTOS FINITOS
744
resíduo de acordo com a fórmula geral
RWi dD = 0
i = 1, 2, . . . , m
(31.16)
D
onde D é domínio da solução e Wi são as funções peso linearmente independentes.
Neste ponto, existem diversas escolhas que poderiam ser feita para as funções peso
(Quadro 31.1). A abordagem mais comum para o método dos elementos finitos é empregar as funções interpoladoras Ni como funções peso. Quando estas são substituídas na
Equação (31.16), o resultado é conhecido com método de Galerkin,
R Ni dD = 0
i = 1, 2, . . . , m
D
Para barra unidimensional, a Equação (31.15) pode ser substituída nessa equação para
fornecer
x2 2
d T̃
+
f(x)
Ni dx
i = 1, 2
dx 2
x1
a qual pode ser reescrita como
x2 2
x2
d T̃
N
(x)
dx
=
−
f(x)Ni (x) dx
2 i
x1
x1 dx
i = 1, 2
(31.17)
Neste ponto, diversas manipulações matemáticas serão aplicadas para simplificar e
calcular a Equação (31.17). Entre as mais importantes está a simplificação do lado esquerdo usando integração por partes. Lembre-se do cálculo que essa operação pode ser
expressa, em geral, como
b
b
b
u dv = uv|a −
v du
a
a
Se u e v forem escolhidas apropriadamente, a nova integral no lado direito será mais
Quadro 31.1
Esquemas de Resíduos Alternativos para o MRP
Diversas escolhas podem ser feitas para funções peso na Equação
(31.16). Cada uma representa uma abordagem alternativa para o MRP.
Na abordagem da colocação, escolhemos tantas posições
quantos coeficientes desconhecidos existentes. Então, os coeficientes são ajustados até que os resíduos se anulem em cada uma
dessas posições. Por conseguinte, a função de aproximação produzirá resultados perfeitos nas posições escolhidas, mas terá resíduos não-nulos nos outros pontos. Assim, ela é parecida com os
métodos de interpolação do Capítulo 18. Observe que a colocação
se resume a usar as funções peso
W = δ(x − xi )
para i = 1, 2, . . . , n
em que n é o número de coeficientes desconhecidos e δ(x − xi) é a
função delta de Dirac que se anula em todos os pontos, exceto em
x = xi, em que é igual a infinito.
No método do subdomínio, o intervalo é subdividido em tantos segmentos, ou “subdomínios”, quantos os coeficientes desconhecidos existentes. Então, os coeficientes são ajustados até que o
valor médio do resíduo seja nulo em cada subdomínio. Logo, para
cada subdomínio, a função peso é igual a 1 e a Equação (31.16) é
xi
R dx = 0
para i = 1, 2, . . . , n
xi−1
onde xi−1 e xi são as extremidades do subdomínio.
No caso dos mínimos quadrados, os coeficientes são ajustados de modo a minimizar a integral dos quadrados dos resíduos.
Assim, as funções peso são
∂R
Wi =
∂ai
que podem ser substituídas na Equação (31.16) para fornecer
∂R
R
dD = 0
i = 1, 2, . . . , n
∂ai
D
ou
∂
∂ai
D
R 2 dD = 0
i = 1, 2, . . . , n
A comparação dessa formulação com aquelas do Capítulo 17
mostra que isso é a forma contínua da regressão.
O método de Galerkin emprega as funções interpoladoras Ni
como funções peso. Lembre-se de que a soma dessas funções é sempre 1 em qualquer posição de um elemento. Para muitos contextos
de problemas, o método de Galerkin produz os mesmos resultados
obtidos por métodos variacionais. Conseqüentemente, ele é a versão
mais comumente usada do MRP na análise de elementos finitos.
31.1 A ABORDAGEM GERAL
745
fácil de calcular que a original no lado esquerdo. Isso pode ser feito para o termo no
lado esquerdo da Equação (31.17) escolhendo Ni (x) como u e (d 2 T /dx 2 ) dx como
dv para produzir
x2
Ni (x)
x1
x2
d T̃ d Ni
d T̃ x2
d 2 T̃
dx
=
N
(x)
−
dx
i
dx 2
dx x1
x1 dx dx
i = 1, 2
(31.18)
Logo, demos um passo significativo em baixar a ordem do termo de maior ordem na formulação de uma segunda para uma primeira derivada.
A seguir, podemos calcular os termos individuais que criamos na Equação (31.18).
Para i = 1, o primeiro termo no lado direito da Equação (31.18) pode ser calculado como
d T̃(x2 )
d T̃ x2
d T̃(x1 )
= N1 (x2 )
N1 (x)
− N1 (x1 )
dx x1
dx
dx
Entretanto, lembre-se, a partir da Figura 31.3, de que N1(x2) = 0 e N1(x1) = 1, e, portanto,
N1 (x)
d T̃ x2
d T̃ (x1 )
=−
dx x1
dx
(31.19)
De modo similar, para i = 2,
d T̃ x2
d T̃ (x2 )
N2 (x)
=
dx x1
dx
(31.20)
Portanto, o primeiro termo no lado direito da Equação (31.18) representa as condições de
contorno naturais nas extremidades dos elementos.
Agora, antes de prosseguir, vamos substituir nossos resultados de volta na equação
original. Substituindo-se as Equações (31.18) a (31.20) na Equação (31.17) e reorganizando, obtemos, para i = 1,
x2
x1
d T̃ d N1
d T̃(x1 )
dx = −
+
dx dx
dx
x2
f(x)N1 (x) dx
(31.21)
x1
e, para i = 2,
x2
x2
d T̃ d N2
d T̃(x2 )
f(x)N2 (x) dx
dx =
+
dx
x1
x1 dx dx
(31.22)
Observe que a integração por partes levou a dois resultados importantes. Primeiro,
ela incorporou as condições de contorno diretamente nas equações dos elementos. Segundo, ela abaixou o cálculo de ordem mais alto de uma segunda para uma primeira derivada. Esse último resultado produz a conseqüência significativa que as funções de
aproximação precisam preservar a continuidade do valor, mas não da inclinação nos nós.
Observe também que, agora, podemos começar a associar algum significado físico
aos termos individuais que deduzimos. No lado direito de cada equação, o primeiro termo
representa uma das condições de contorno do elemento do termo e o segundo é o efeito
— forçante do sistema — no caso presente, a fonte de calor f(x). Como se tornará evidente,
o lado esquerdo engloba mecanismos internos que regem a distribuição de temperaturas no
elemento. Isto é, em termos do método de elementos finitos, o lado esquerdo se tornará a
matriz de propriedades do elemento.
Para ver isso, vamos nos concentrar nos termos no lado esquerdo. Para i = 1, o
termo é
x2
d T̃ d N1
dx
(31.23)
x1 dx dx
MÉTODOS DOS ELEMENTOS FINITOS
746
Lembre-se, a partir da Seção 31.1.2, de que a natureza linear da função de forma torna a
derivação e a integração simples. Substituindo-se as Equações (31.6) e (31.7) na Equação
(31.23), temos
x1
T1 − T2
1
(T1 − T2 )
dx =
(31.24)
2
x1 − x2
x2 (x 2 − x 1 )
Substituições análogas para i = 2 [Equação (31.22)] fornece
x1
−T1 + T2
1
(−T1 + T2 )
dx =
2
x1 − x2
x2 (x 2 − x 1 )
(31.25)
A comparação com a Equação (31.14) mostra que essas relações são parecidas com as
que foram desenvolvidas com o método direto, usando a lei de Fourier. Isso pode ser tornado ainda mais claro reescrevendo as Equações (31.24) e (31.25) na forma matricial como
1
1 −1 T1
T2
x2 − x1 −1 1
Substituindo esse resultado nas Equações (31.21) e (31.22) e expressando o resultado na forma matricial, obtemos a versão final das equações dos elementos
⎫
⎫ ⎧ x
⎧
2
⎪
⎪
⎪
dT(x1 ) ⎪
⎪
⎪
⎪
⎪
⎪
⎪
f(x)N1 (x) dx ⎪
⎬
⎬ ⎪
⎨−
⎨
1
dx
1 −1
x1
{T } =
+ x2
(31.26)
⎪
⎪ dT(x2 ) ⎪
⎪
x − x1 −1 1
⎪
⎪
⎪
⎪
⎪
⎪
⎪
2
⎪
f(x)N
(x)
dx
⎭
⎭ ⎩
⎩ dx
2
Matriz de rigidez do elemento
x1
Condição
de contorno
Efeitos externos
Observe que, além dos métodos direto e dos resíduos ponderados, as equações dos
elementos também podem ser deduzidas usando-se o cálculo variacional (por exemplo,
ver Allaire, 1985). Para o caso presente, essa abordagem produz equações que são idênticas às deduzidas acima.
EXEMPLO 31.2
Equação de Elemento para a Barra Aquecida
Enunciado do Problema. Empregue a Equação (31.26) para desenvolver as equações
dos elementos para uma barra de 10 cm com condições de contorno T(0, t) = 40 e T(10,
t) = 200 e uma fonte de calor uniforme f (x) = 10. Use quatro elementos de comprimentos iguais a 2,5 cm.
Solução. O termo de fonte de calor na primeira linha da Equação (31.26) pode ser calculado utilizando a Equação (31.3) e integrando para obter
2,5
2,5 − x
10
dx = 12,5
2,5
0
Analogamente, a Equação (31.4) pode ser substituída no termo de fonte de calor da segunda linha da Equação (31.26), que também pode ser integrado para fornecer
2,5
x −0
10
dx = 12,5
2,5
0
Esses resultados juntamente com os outros valores dos parâmetros podem ser substituídos na Equação (31.26) para fornecer
dT
(x1 ) + 12,5
0,4T1 − 0,4T2 = −
dx
e
−0,4T1 + 0,4T2 =
dT
(x2 ) + 12,5
dx
31.1 A ABORDAGEM GERAL
747
31.2.3 Montagem
Antes das equações dos elementos serem montados, deve ser estabelecido um sistema de
enumeração global para especificar a topologia ou a distribuição espacial do sistema. Na
Tabela 31.1, isso define a conectividade dos elementos da grade. Como o caso presente é
unidimensional, o esquema de enumeração pode parecer tão previsível que se torna trivial. Entretanto, para problemas bi e tridimensionais, ele oferece a única maneira de especificar quais nós pertencem a quais elementos.
Uma vez que a topologia seja especificada, a equação de elemento (31.26) pode ser
escrita para cada elemento usando-se coordenadas globais. Então, elas podem ser adicionadas uma de cada vez para montar a matriz do sistema total (observe que esse
processo é explorado mais na Seção 32.4). O processo é descrito na Figura 31.7.
TABELA 31.1 A topologia do sistema para o esquema de segmentação por elementos
finitos da Figura 31.4b.
Números de nós
Elemento
Local
Global
1
1
2
1
2
1
2
1
2
1
2
2
3
3
4
4
5
2
3
4
FIGURA 31.7
A montagem das equações para o sistema total.
0,4
−0,4
(a)
0
0
0
−0,4
0,4
0
0
0
0,4
−0,4
(b)
0
0
0
−0,4
0,4
0,4
−0,4
(c)
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,4 + 0,4
− 0,4
0
0
0
−0,4
0,4
0
0,4
−0,4
(d)
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,4 + 0,4
− 0,4
0
0
0
−0,4
0,4
0,4
−0,4
(e)
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,8
−0,4
0
0
0
−0,4
0,4
冋
冋
冋
冋
冋
0
0
0
0
0
0
0
+ 0,4
− 0,4
0
−0,4
0,4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
T1
T2
0
0
0
=
−dT (x1)兾dx + 12,5
dT (x2)兾dx + 12,5
0
0
0
=
−dT (x1)兾dx + 12,5
12.5 + 12,5
dT (x3)兾dx + 12,5
0
0
=
−dT (x1)兾dx + 12,5
25
12,5 + 12,5
dT (x4)兾dx + 12,5
0
=
−dT (x1)兾dx + 12,5
25
25
12,5 + 12,5
dT (x5)兾dx + 12,5
=
−dT (x1)兾dx + 12,5
25
25
25
dT(x5)兾dx + 12,5
册再 冎 再
册再 冎 再
册再 冎 再
册再 冎 再
册再 冎 再
T1
T2
T3
0
0
T1
T2
T3
T4
0
T1
T2
T3
T4
T5
T1
T2
T3
T4
T5
冎
冎
冎
冎
冎
748
MÉTODOS DOS ELEMENTOS FINITOS
31.2.4 Condições de Contorno
Observe que, conforme as equações são montadas, as condições de contorno internas se
cancelam. Logo, o resultado final para {F} na Figura 31.7e tem condições de contorno
apenas para o primeiro e o último nó. Como T1 e T5 são dados, essas condições de contorno naturais nas extremidades da barra, dT (x1 )/dx e dT (x5 )/dx , representam incógnitas. Portanto, as equações podem ser representadas como
dT
(x1 ) −0,4T2
dx
0,8T2
−0,4T2
−0,4T3
+0,8T3
−0,4T3
−0,4T4
+0,8T4
−0,4T4
−
=
−3,5
=
=
=
41
25
105
(31.27)
dT
(x5 ) = −67,5
dx
31.2.5 Solução
A Equação (31.17) pode ser resolvida por
dT
(x1 ) = 66
dx
T2 = 173,75
T4 = 253,75
dT
(x5 ) = −34
dx
T3 = 245
31.2.6 Pós-processamento
Os resultados podem ser mostrados graficamente. A Figura 31.8 mostra os resultados por
elementos finitos juntamente com a solução exata. Observe que os cálculos por elementos
finitos capturam a tendência geral da solução exata e, na realidade, fornecem uma coincidência exata nos nós. Entretanto, existe uma discrepância nos pontos interiores de cada
elemento em virtude da natureza linear das funções de forma.
FIGURA 31.8
Resultados da aplicação da abordagem por elementos finitos na barra aquecida. A solução
exata também é mostrada.
Analítica
T
200
Elementos finitos
100
0
5
10
x
31.1 A ABORDAGEM GERAL
31.3
749
PROBLEMAS BIDIMENSIONAIS
Embora a “contabilidade” matemática aumente acentuadamente, a extensão da abordagem por elementos finitos para duas dimensões é conceitualmente parecida com as
aplicações unidimensionais discutidas até este ponto. Portanto, ela segue os mesmos passos que foram delineados na Seção 31.1.
31.3.1 Discretização
Diversos elementos simples, tais como triângulos e quadriláteros, são geralmente empregados para a grade de elementos finitos em duas dimensões. Na discussão presente,
vamos nos limitar a elementos triangulares do tipo descrito na Figura 31.9.
31.3.2 Equações dos Elementos
Exatamente como no caso unidimensional, o próximo passo é desenvolver uma equação
para aproximar a solução para o elemento. Para um elemento triangular, a abordagem
mais simples é o polinômio linear [compare com a Equação (31.1)]
(31.28)
u(x, y) = a0 + a1,1 x + a1,2 y
onde u(x, y) é a variável dependente, os a’s são os coeficientes e x e y são as variáveis independentes. Essa função deve passar pelos valores de u(x, y) nos nós do triângulo
(x1, y1), (x2, y2) e (x3, y3). Portanto,
u 1 (x, y) = a0 + a1,1 x1 + a1,2 y1
u 2 (x, y) = a0 + a1,1 x2 + a1,2 y2
u 3 (x, y) = a0 + a1,1 x3 + a1,2 y3
ou, na forma matricial,
⎡
⎤⎧ ⎫ ⎧ ⎫
1 x1 y1 ⎨ a0 ⎬ ⎨u 1 ⎬
⎣ 1 x2 y2 ⎦ a1,1 = u 2
⎩ ⎭ ⎩ ⎭
1 x3 y3
a1,2
u3
a qual pode ser resolvida por
1
[u 1 (x2 y3 − x3 y2 ) + u 2 (x3 y1 − x1 y3 ) + u 3 (x1 y2 − x2 y1 )]
2Ae
1
[u 1 (y2 − y3 ) + u 2 (y3 − y1 ) + u 3 (y1 − y2 )]
=
2Ae
1
[u 1 (x3 − x2 ) + u 2 (x1 − x3 ) + u 3 (x2 − x1 )]
=
2Ae
a0 =
(31.29)
a1,1
(31.30)
a1,2
FIGURA 31.9
Um elemento triangular.
y
2
3
1
x
(31.31)
750
MÉTODOS DOS ELEMENTOS FINITOS
onde Ae é a área do elemento triangular,
1
Ae = [(x2 y3 − x3 y2 ) + (x3 y1 − x1 y3 ) + (x1 y2 − x2 y1 )]
2
As Equações (31.29) a (31.31) podem ser substituídas na Equação (31.28). Depois
de agrupar as termos, o resultado pode ser expresso como
(31.32)
u = N1 u 1 + N2 u 2 + N3 u 3
onde
1
[(x2 y3 − x3 y2 ) + (y2 − y3 )x + (x3 − x2 )y]
2Ae
1
[(x3 y1 − x1 y3 ) + (y3 − y1 )x + (x1 − x3 )y]
N2 =
2Ae
1
[(x1 y2 − x2 y1 ) + (y1 − y2 )x + (x2 − x1 )y]
N3 =
2Ae
N1 =
A Equação (31.32) fornece um meio de prever valores intermediários para o elemento com base nos valores em seus nós. A Figura 31.10 mostra a função de forma juntamente com as funções interpoladoras correspondentes. Observe que a soma das funções
interpoladoras é sempre igual a 1.
FIGURA 31.10
(a) Uma função de aproximação linear para um elemento triangular. As funções interpoladoras
correspondentes são mostradas em (b) a (d).
u
u1
(a)
x
u3
u2
y
N1
1
(b)
x
0
y
0
N2
(c)
0
x
1
0
y
N3
(d)
0
x
1
y
0
31.1 A ABORDAGEM GERAL
751
Como no caso unidimensional, diversos métodos estão disponíveis para desenvolver
as equações dos elementos com base na EDP subjacente e nas funções de aproximação.
As equações resultantes são consideravelmente mais complicadas que a Equação (31.26).
Entretanto, como as funções de aproximação em geral são polinômios de grau baixo
como a Equação (31.28), os termos da matriz de elementos final consistirá em polinômios
de baixo grau e de constantes.
31.3.3 Condições de Contorno e Montagem
A incorporação das condições de contorno e da montagem da matriz do sistema também
se torna muito mais complicadas quando a técnica de elementos finitos é aplicada a problemas bi e tridimensionais. Entretanto, como na dedução da matriz de elementos, a dificuldade se relaciona com a mecânica do processo em vez da complexidade conceitual.
FIGURA 31.11
Um esquema de enumeração para os nós e os elementos de uma aproximação por elementos
finitos da placa aquecida que foi anteriormente caracterizada por diferenças finitas no
Capítulo 29.
21
22
26
16
28
25
17
18
11
17
12
18
19
13
2
8
4
1
19
21
14
20
23
15
16
13
9
15
10
8
5
3
31
24
6
3
2
29
14
11
7
32
22
12
9
1
27
25
24
30
20
10
6
23
7
4
5
FIGURA 31.12
A distribuição de temperaturas de uma placa aquecida quando calculada com o método de
elementos finitos.
100
100
100
100
100
75
50
75
50
75
50
0
0
0
0
0
MÉTODOS DOS ELEMENTOS FINITOS
752
Por exemplo, o estabelecimento da topologia do sistema, que era trivial para o caso unidimensional, se torna uma questão de grande importância em duas e três dimensões. Em
particular, a escolha do esquema de enumeração determinará se a matriz do sistema resultante será ou não de banda e, portanto, a eficiência com a qual pode ser resolvida. A
Figura 31.11 mostra um esquema que foi desenvolvido para a placa aquecida anteriormente resolvida pelos métodos de diferenças finitas no Capítulo 29.
31.3.4 Solução e Pós-processamento
SOFTWARE
Embora a mecânica seja complicada, a matriz do sistema é simplesmente um conjunto de
n equações simultâneas que podem ser usadas para determinar os valores da variável
dependente nos n nós. A Figura 31.12 traz uma solução que corresponde à solução por
diferenças finitas da Figura 29.5.
31.4
RESOLVENDO EDPS COM BIBLIOTECAS E PACOTES
As bibliotecas e pacotes de software têm alguns recursos para resolver diretamente EDPs.
Entretanto, como descrito nas seções seguintes, muitas das soluções são limitadas a problemas simples. Isso é particularmente verdade nos casos bi e tridimensionais. Para essas
situações, pacotes genéricos (isto é, os que não são expressamente desenvolvidos para resolver EDPs, tais como os pacotes de elementos finitos), são freqüentemente limitados a
domínios retangulares simples.
Ainda que isso possa parecer uma limitação, as aplicações simples podem ser de
grande utilidade em um sentido pedagógico. Isso é particularmente verdade quando as
ferramentas de visualização dos pacotes são usadas para exibir o resultado dos cálculos.
31.4.1 Excel
Embora o Excel não tenha um recurso direto para resolver EDPs, é um bom ambiente
para desenvolver soluções de EDPs elípticas simples. Por exemplo, a disposição ortogonal das células da planilha (Figura 31.13b) é diretamente análoga à grade no Capítulo 29
para modelar a placa aquecida (Figura 31.13a).
Como na Figura 31.13b, as condições de contorno de Dirichlet podem ser inseridas
inicialmente na periferia do bloco de células. A fórmula para o método de Liebman pode
ser implementada inserindo a Equação (29.11) em uma das células no interior (como a
célula B2 na Figura 31.13b). Logo, o valor para a célula pode ser calculado como uma
função de suas células adjacentes. Então, a célula pode ser copiada para as outras células
interiores. Por causa da natureza relativa do comando de cópia do Excel, todas as outras
células serão apropriadamente dependentes de suas células adjacentes.
Uma vez que tenha copiado a fórmula, você vai obter uma mensagem de erro: Cannot resolve circular references. Você pode resolver isso indo para o menu T(ools) e escolhendo O(ptions). A seguir, escolha a Calculation tab e clique no quadro de Iteration.
FIGURA 31.13
A analogia entre (a) uma grade
retangular e (b) as células da
planilha.
87,5
100
100
1
2
3
4
5
75
A
B
C
D
87,5 100
100
100
75 78,57 76,12 69,64
75 63,17 56,25 52,46
75 42,86 33,26 33,93
37,5
0
0
0
75
T13 =
100 + T23 + T12 + 75
4
(a) Grade
B2 =
B1 + C2 + B3 + A2
4
(b) Planilha
E
75
50
50
50
25
31.1 A ABORDAGEM GERAL
753
Isso permitirá que a planilha recalcule (o padrão é cem iterações) e resolva o método de
Liebman iterativamente. Após isso ocorrer, aperte a tecla F9 para recalcular manualmente
a planilha até que as respostas não variem. Isso significa que a solução convergiu.
Uma vez que o problema tenha sido resolvido, as ferramentas gráficas do Excel
podem ser utilizadas para visualizar os resultados. Um exemplo é mostrado na Figura
31.14a. Para esse caso,
Usamos uma grade mais fina.
Mantivemos a borda inferior isolada.
Adicionamos uma fonte de calor de 150 ao meio da placa (célula E5).
Os resultados numéricos da Figura 31.14a podem então ser exibidos com o Chart
Wizard do Excel. A Figura 31.14b e c exibem os gráficos da superfície 3D. A orientação
entre y destes são em geral o inverso da planilha. Assim, a aresta de cima com alta temperatura (100) seria normalmente mostrada na parte de baixo do gráfico. Invertemos os
valores de y na nossa planilha antes de traçar os gráficos de forma que eles fossem consistentes com a planilha.
Observe como os gráficos ajudam você a visualizar o que está acontecendo. O calor
flui para baixo a partir da fonte de calor em direção às bordas formando a figura de uma
montanha. O calor também flui das bordas de alta temperatura para as duas arestas laterais. Observe como o calor flui preferencialmente em direção à aresta de temperatura
mais baixa (50). Finalmente, observe como o gradiente de temperatura na dimensão y vai
a zero na aresta inferior isolada (∂ T /∂ y → 0).
31.4.2 MATLAB
Embora o pacote de software MATLAB padrão não tenha atualmente grandes recursos
para resolver EDPs, certamente podem ser desenvolvidos M-files e funções para esse
propósito. Além disso, seus recursos de visualização são muito bons, particularmente
para a visualização de problemas em duas dimensões espaciais.
FIGURA 31.14
(a) Solução do Excel para a
equação de Poisson para uma
placa com a aresta inferior
isolada e uma fonte de calor.
(b) Um “mapa topográfico”
e (c) um gráfico 3D das
temperaturas.
A
B
C
D
E
F
G
H
87,5 100,0 100,0 100,0 100,0 100,0 100,0 100,0
75,0 89,2 95,8 99,1 99,7 96,6 89,9 77,6
75,0 86,2 94,7 100,9 103,1 96,7 85,5 70,3
75,0 85,7 96,1 106,7 115,3 101,4 85,2 68,2
75,0 85,5 97,4 114,3 150,0 108,6 85,6 67,3
75,0 84,0 93,4 103,4 111,6 97,4 81,3 65,6
75,0 82,2 88,9 94,2 95,6 88,1 76,6 63,6
75,0 80,9 85,9 88,9 88,4 82,8 73,5 62,2
75,0 80,4 84,9 87,3 86,3 81,1 72,4 61,7
1
2
3
4
5
6
7
8
9
I
75,0
50,0
50,0
50,0
50,0
50,0
50,0
50,0
50,0
(a)
S9
S8
S7
160
S6
140
S5
120
S4
100
S3
S2
1
2
3
4
5
(b)
6
7
8
9
S1
S9
S7
80
S5
60
S3
40
S1
1 2 3
4 5 6
7 8 9
(c)
SOFTWARE
754
MÉTODOS DOS ELEMENTOS FINITOS
Para ilustrar esse recurso, vamos inicialmente montar um planilha Excel na Figura
31.14a. Esses resultados podem ser salvos como um arquivo de texto (delimitado por
Tab) com um nome como plate.txt. Esse arquivo pode então ser movido para o diretório
do MATLAB.
Uma vez no MATLAB, o arquivo pode ser carregado digitando-se
>> load plate.txt
A seguir, os gradientes podem ser calculados de forma simples por
>> [px,py]=gradient(plate);
Observe que isso é o método mais simples de calcular gradientes, usando valores padrão
de dx = dy = 1. Portanto, as direções e os módulos relativos estarão corretos.
Finalmente, pode ser usada uma série de comandos para desenvolver um gráfico. O
comando contour desenvolve um gráfico de contorno dos dados. O comando clabel adiciona legendas nos contornos do gráfico. Por fim, o comando quiver toma os dados do
gradiente e os adiciona ao gráfico como setas,
>> cs=contour(plate);clabel(cs);hold on
>> quiver(–px,–py);hold off
Observe que os sinais de menos são adicionados por causa do sinal de menos na lei de
Fourier [Equação (29.4)]. Como visto na Figura 31.15, o gráfico resultante fornece uma
representação excelente da solução.
Observe que qualquer arquivo em formato adequado pode ser inserido no MATLAB
e exibido dessa forma. Por exemplo, os cálculos IMSL, descritos a seguir, poderiam ser
programados para gerar um arquivo para exibição no MATLAB (ou mesmo no Excel).
Esse compartilhamento de arquivos entre as ferramentas está se tornando comum. Além
disso, podem ser criados arquivos em uma posição em uma ferramenta, transmitidos pela
Internet para outra posição, na qual o arquivo possa ser exibido com outra ferramenta.
Este é um dos aspectos excitantes das aplicações numéricas modernas.
FIGURA 31.15
Gráficos de contorno gerados pelo MATLAB para a placa aquecida calculada com o Excel
(Figura 31.14).
100
+
9
+ 60
90+
8
7
+
70
6
+ 80
5
120
+
110
+
+ 80
140
++
100
+
4
3
2
1
1
2
3
4
5
6
7
8
9
31.1 A ABORDAGEM GERAL
755
TABELA 31.2 Rotinas IMSL para resolver EDPs.
Categoria
Solução de sistemas de EDPs em
uma dimensão
Solução de uma EDP em duas e
três dimensões
Rotinas
Recursos
MOLCH
Método das linhas com uma base cúbica
de Hermite
Ferramenta para a solução rápida de
Poisson bidimensional
Ferramenta para a solução rápida de
Poisson tridimensional
FPS2H
FPS3H
31.4.3 IMSL
O IMSL tem algumas poucas rotinas para a resolução de EDPs (Tabela 31.2). Na discussão presente, nos concentraremos na rotina fps2h. Essa rotina resolve a equação de
Poisson ou de Helmholtz em um retângulo bidimensional, utilizando uma ferramenta
de resolução rápida de Poisson em uma grade uniforme.
A sub-rotina fps2h é implementada pelo seguinte comando CALL:
CALL FPS2H(PRH,BRH,COEF,NX,NY,AX,BX,AY,BY,IBCT,IORD,U,LDU)
onde
PRH = FUNCTION fornecida pelo usuário para calcular o lado direito da equação
diferencial parcial. A forma é PRH(X, Y), em que
X ⫽ valor da coordena X. (Entrada)
Y ⫽ valor da coordena Y. (Entrada)
PRH deve ser declarada EXTERNAL no programa principal.
BRH = FUNCTION fornecida pelo usuário para calcular o lado direito das
condições de contorno.
A forma é BRHS(ISIDE, X, Y), em que
ISIDE = Número de lados. (Entrada) Ver IBCTY a seguir para a definição
de números de lados.
X = valor da coordena X. (Entrada)
Y = valor da coordena Y. (Entrada)
BRH deve ser declarada EXTERNAL no programa principal.
COEF = Valor do coeficiente de U na equação diferencial. (Entrada)
NX = Número de retas na grade na direção X. (Entrada) NX deve ser pelo menos 4.
Ver Comentário 2 para mais restrições em NX.
NY = Número de retas na grade na direção Y. (Entrada) NY deve ser pelo menos 4.
Ver Comentário 2 para mais restrições em NY.
AX = O valor de X ao longo do lado esquerdo do domínio. (Entrada)
BX = O valor de X ao longo do lado direito do domínio. (Entrada)
AY = O valor de Y ao longo do lado de baixo do domínio. (Entrada)
BY = O valor de Y ao longo do lado de cima do domínio. (Entrada)
IBCT = Vetor de tamanho 4 indicando o tipo de condição de contorno em cada lado
do domínio ou que a solução é periódica. (Entrada) Os lados são numerados
de 1 a 4 como segue:
Lado
Posição
1—Direito
(X = BX)
2—De baixo
(Y = AY)
3—Esquerdo
(X = AX)
4—De cima
(Y = BY)
Existem três tipos de condição de contorno.
MÉTODOS DOS ELEMENTOS FINITOS
756
Condição de contorno
São dados os valores de U. (Dirichlet)
São dados os valores de dU/dX (lados 1 e/ou 3).
(Neumann)
São dados os valores de dU/dY (lados 2 e/ou 4).
3
Periódica.
IORD = Ordem de acurácia da aproximação por diferenças finitas. (Entrada) Pode
ser 2 ou 4. Geralmente, é utilizado IORD = 4.
U = Matriz de tamanho NX por NY contendo a solução nos pontos da grade. (Saída)
LDU = Dimensão dominante de U exatamente como especificado na declaração de
dimensão no programa principal. (Entrada)
SOFTWARE
IBCTY
1
2
EXEMPLO 31.3
Usando o IMSL para Determinar a Temperatura de uma Placa Aquecida
Enunciado do Problema. Use fps2h para determinar as temperaturas da placa quadrada
com condições de contorno fixas do Exemplo 29.1.
Solução. Um exemplo de um programa principal em Fortran 90 e de uma função usando
o fps2h para resolver esse problema pode ser escrito como
Program Plate
USE msimsl
IMPLICIT NONE
INTEGER ::ncval, nx, nxtabl, ny, nytabl
PARAMETER (ncval=11, nx=33, nxtabl=5, ny=33, nytabl=5)
INTEGER :: i, ibcty(4), iorder, j, nout
REAL :: QD2VL,ax,ay,brhs,bx,by,coefu,prhs,u(nx,ny),utabl,x,xdata(nx),y,ydata(ny)
EXTERNAL brhs, prhs
ax = 0.0
bx = 40.
ay = 0.0
by = 40.
ibcty(1) = 1
ibcty(2) = 1
ibcty(3) = 1
ibcty(4) = 1
coefu = 0.0
iorder = 4
CALL FPS2H(prhs,brhs,coefu,nx,ny,ax,bx,ay,by,ibcty,iorder,u,nx)
DO i=1, nx
xdata(i) = ax + (bx–ax)*FLOAT(i–1)/FLOAT(nx–1)
END DO
DO j=1, ny
ydata(j) = ay + (by-ay)*FLOAT(j–1)/FLOAT(ny–1)
END DO
CALL UMACH (2, nout)
WRITE (nout,'(8X,A,11X,A,11X,A)') 'X', 'Y', 'U'
DO j=1, nytabl
DO i=1, nxtabl
x
= ax + (bx–ax)*FLOAT(i–1)/FLOAT(nxtabl–1)
y
= ay + (by–ay)*FLOAT(j–1)/FLOAT(nytabl–1)
utabl = QD2VL(x,y,nx,xdata,ny,ydata,u,nx,.FALSE.)
WRITE (nout,'(4F12.4)') x, y, utabl
END DO
END DO
END PROGRAM
31.1 A ABORDAGEM GERAL
757
FUNCTION prhs (x, y)
IMPLICIT NONE
REAL :: prhs, x, y
prhs = 0.0
END FUNCTION
REAL FUNCTION brhs (iside, x, y)
IMPLICIT NONE
INTEGER :: iside
REAL :: x, y
IF (iside == 1) then
brhs = 50.
ELSEIF (iside == 2) THEN
brhs = 0.
ELSEIF (iside == 3) THEN
brhs = 75.
ELSE
brhs = 100.
END IF
END FUNCTION
Um exemplo de execução produz a seguinte saída:
x
.0000
10.0000
20.0000
30.0000
40.0000
.0000
10.0000
20.0000
30.0000
40.0000
.0000
10.0000
20.0000
y
u
.0000
.0000
.0000
.0000
.0000
10.0000
10.0000
10.0000
10.0000
10.0000
20.0000
20.0000
20.0000
x
37.5000
.0000
.0000
.0000
25.0000
75.0000
42.5976
32.2945
33.4962
50.0000
75.0000
63.5128
56.2493
y
30.0000
40.0000
.0000
10.0000
20.0000
30.0000
40.0000
.0000
10.0000
20.0000
30.0000
40.0000
u
20.0000
20.0000
30.0000
30.0000
30.0000
30.0000
30.0000
40.0000
40.0000
40.0000
40.0000
40.0000
52.3849
50.0000
75.0000
79.0032
76.8058
69.9017
50.0000
87.5000
100.0000
100.0000
100.0000
75.0000
PROBLEMAS
31.1 Repita o Exemplo 31.1, mas para T(0, t) = 75 e T(10, t) = 150
e uma fonte de calor uniforme de 15.
31.2 Repita o Exemplo 31.2, porém para condições de contorno de
T(0, t) = 75 e T(10, t) = 150 e uma fonte de calor de 15.
31.3 Aplique os resultados do Problema 31.2 para calcular a distribuição de temperaturas para a barra toda, usando a abordagem
por elementos finitos.
31.4 Use o método de Galerkin para desenvolver uma equação de
elemento para uma versão estacionária da equação de advecçãodifusão descrita no Problema 30.7. Expresse o resultado final no
formato da Equação (31.26) de modo que cada termo tenha uma interpretação física.
31.5 Uma versão da equação de Poisson que ocorre na mecânica é
o seguinte modelo para a deflexão vertical de uma barra com uma
carga distribuída P(x):
∂ 2u
Ac E 2 = P(x)
∂x
em que Ac é a área da secção transversal, E é o módulo de Young, u
é a deflexão e x é a distância ao longo do comprimento da barra. Se
a barra for rigidamente fixa (u = 0) em ambas as extremidades, use
o método dos elementos finitos para modelar sua deflexão para
Ac = 0,1 m2, E = 200 × 109 N/m2, L = 10 m, e P(x) = 1000 N/m.
Use o valor de x = 2 m.
31.6 Desenvolva um programa amigável ao usuário para modelar
a distribuição estacionária de temperaturas em uma barra com uma
fonte de calor constante, utilizando o método dos elementos finitos.
Faça o programa de modo que nós desigualmente espaçados possam ser usados.
31.7 Use o Excel para fazer os mesmos cálculos que na Figura
31.14, mas com a extremidade à direita isolada e adicione um sumidouro de calor de 150 na célula C7.
31.8 Use o MATLAB para desenvolver um gráfico de contorno
com setas de fluxo para a solução do Excel para o Problema 31.7.
MÉTODOS DOS ELEMENTOS FINITOS
758
31.9 Use o Excel para modelar a distribuição de temperatura da
laje mostrada na Figura P31.9. A laje tem 0,02 m de espessura e
possui uma condutividade térmica de 3 W/(m · ° C).
kA = 100 W/m ·⬚ C
50 cm
100⬚ C
2m
75⬚ C 1 m
x
–100 W/m2
0,4 m
25⬚ C
50⬚ C
Figura P31.9
31.10 Use o MATLAB para desenvolver um gráfico de contorno
com setas de fluxo para a solução do Excel para o Problema 31.9.
31.11 Use o IMSL para fazer os mesmos cálculos que no Exemplo
31.3, mas isole a aresta inferior da placa.
31.12 Encontre a distribuição de temperatura em uma barra
(Figura P31.12) com geração de calor interna usando o método de
elementos finitos. Deduza as equações nodais dos elementos usando a condução de calor de Fourier
dT
∂x
e a relação de conservação de calor
T
x=50 =
100⬚ C
Figura P31.12
0,6 m
qk = −k A
f(x) = 30 W/cm
dT
––
= 0,25⬚ C/m
dx x=0
[qk + f(x)] = 0
onde qk é o fluxo de calor (W), k é a condutividade térmica
(W/(m · o C) A é a área da secção transversal (m2) e f(x) é a fonte
de calor (W/cm). A barra tem um valor de kA = 100 W m/o C. A
barra tem 50 cm de comprimento, a coordenada x é zero na
extremidade esquerda e positiva para a direita. Divida a barra em
cinco elementos (seis nós, cada um com 10 cm de comprimento).
A extremidade esquerda da barra tem gradiente de temperatura
fixo e a temperatura é variável. A extremidade direita tem uma
temperatura fixa e o gradiente é uma variável. A fonte de calor
f(x) tem um valor constante. Logo, as condições são
dT
= 0,25◦ C/m
T |x=50 = 100◦ C f(x) = 30 W/cm
∂ x x=0
Desenvolva as equações nodais que precisam ser resolvidas para as
temperaturas e os gradientes de temperatura em cada um dos seis
nós. Monte as equações, insira as condições de contorno e resolva
o conjunto resultante para determinar as incógnitas.
31.13 Encontre a distribuição de temperatura para uma barra
(Figura P31.13) com geração de calor interno, usando o método dos
elementos finitos. Deduza as equações nodais dos elementos, utilizando a condição de calor de Fourier
dT
qk = −k A
∂x
e as relações de conservação de calor
[qk + f(x)] = 0
onde qk é o fluxo de calor (W), k é a condutividade térmica (W/(m · o C),
A é a área da secção transversal (m2) e f(x) é a fonte de calor
(W/cm). A barra tem 50 cm de comprimento, a coordenada x é zero
na extremidade esquerda e positiva na direita. A barra também é
linearmente afunilada com um valor de kA = 100 e 50 W m/o C em
x = 0 e em x = 50, respectivamente. Divida a barra em cinco elementos (seis nós, cada um com 10 cm de comprimento). Ambas as
extremidades da barra têm temperatura fixas. A fonte de calor f(x)
tem um valor constante. Logo, as condições são
T |x=0 = 100◦ C
T |x=50 = 50◦ C
f(x) = 30 W/cm
As áreas afuniladas devem ser tratadas como se fossem constantes no
comprimento de um elemento. Portanto, calcule a média dos valores
de kA em cada extremidade do elemento e tome a média como o
valor constante no elemento. Desenvolva as equações nodais que
devem ser resolvidas para determinar a temperatura e o gradiente
de temperatura em cada um dos seis nós. Monte as equações, insira
as condições de contorno e resolva o conjunto resultante para determinar as icógnitas.
Figura P31.13
kA = 100 W·m/⬚ C
f(x) = 30 W/cm
kA = 50 W·m/⬚ C
x
Tx=50 = 50⬚ C
50 cm
Tx=0 = 100⬚ C
CAPÍTULO
32
Estudo de Casos: Equações
Diferenciais Parciais
O propósito deste capítulo é aplicar os métodos da Parte Oito em problemas da engenharia prática. Na Seção 32.1, uma EDP parabólica é usada para calcular a distribuição
variável no tempo de um composto químico ao longo de eixo longitudinal de um reator
retangular. Esse exemplo ilustra como a instabilidade de uma solução pode ser devida a
natureza da EDP, em vez das propriedades do método numérico.
As Seções 32.2 e 32.3 envolvem aplicações das equações de Poisson e de Laplace a
problemas de engenharia civil e elétrica, respectivamente. Entre outras coisas, isso vai lhe
permitir perceber as semelhanças bem como as diferenças entre problemas de campo nessas áreas da engenharia. Além disso, eles podem ser contrastados com o problema da
placa aquecida que serviu como nosso sistema protótipo nesta parte do livre. A Seção 32.2
trata da deflexão de uma placa quadrada, enquanto a Seção 32.3 é dedicada ao cálculo da
distribuição de voltagem e fluxo de carga em uma superfície bidimensional com bordas
curvas.
A Seção 32.4 apresenta uma análise por elementos finitos aplicada a uma série de
molas. Essa aplicação está mais próxima em espírito das aplicações de elementos finitos
em mecânicas e estruturas do que do problema do campo de temperaturas usado para ilustrar a abordagem no Capítulo 31.
32.1
BALANÇO DE MASSA UNIDIMENSIONAL DE UM REATOR
(ENGENHARIA QUÍMICA/BIOENGENHARIA)
Fundamentos. Os engenheiros químicos fazem uso extensivo de reatores idealizados em
seus trabalhos de projetos. Nas Seções 12.1 e 28.1 nos concentramos em um único reator
ou em diversos reatores de mistura acoplados. Estes são exemplos de sistemas de
parâmetro distribuído (lembre-se da Seção PT 3.1.2).
A Figura 32.1 descreve um reator alongado com um único ponto de entrada e de
saída. Esse reator pode ser caracterizado como um sistema de parâmetro distribuído. Se
for suposto que o composto químico modelado está sujeito a decaimento de primeira
ordem1 e que o tanque seja bem misturado vertical e horizontalmente, pode ser feito uma
balanço de massa em um segmento finito de comprimento x, como em
FIGURA 32.1
Um reator alongado com um
único ponto de entrada e de
saída. Um balanço de massa é
desenvolvido em torno de um
segmento finito ao longo do eixo
longitudinal do tanque para
deduzir uma equação diferencial
para a concentração.
x=0
x=L
⌬x
1
N.R.T.: Isto é, o composto químico decai com uma taxa que é linearmente proporcional à quantidade de composto químico presente.
759
760
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
c
V
=
t
∂c(x)
− Q c(x) +
Qc(x)
x −
∂x
Escoamento de entrada
Escoamento de saída
+ DAc
∂c(x)
DAc
∂x
Dispersão para dentro
∂c(x)
∂ ∂c(x)
kV c
+
x −
∂x
∂x ∂x
Reação de decaimento
(32.1)
Dispersão para fora
onde V é o volume (m3), Q é a vazão (m3/h), c é a concentração (mols/m3), D é coeficiente
de dispersão (m2/h), Ac é área da secção transversal do tanque (m2) e k é o coeficiente de decaimento de primeira ordem (h−1). Observe que os termos de dispersão são
baseados na primeira lei de Fick,
Escoamento = −D
∂c
∂x
(32.2)
que é diretamente análoga à lei de condução de calor de Fourier [lembre-se da Equação
(29.4)]. Ela especifica que a mistura turbulenta tende a mover massa das regiões de alta
para baixa concentração. O parâmetro D, portanto, reflete o módulo da mistura turbulenta.
Se for permitido que x e t tendam a zero, a Equação (32.1) se torna
∂c
∂c
∂ 2c
= D 2 −U
− kc
∂t
∂x
∂x
(32.3)
onde U = Q/Ac é a velocidade da água escoando através do tanque. O balanço de massa
para a Figura 32.1 é, portanto, expresso agora como uma equação diferencial parcial
parabólica. A Equação (32.3), algumas vezes, é chamada equação de advecção-dispersão
com reação de primeira ordem. No estado estacionário, ela se reduz a uma EDO de
segunda ordem,
0=D
d 2c
d 2c
−
U
− kc
dx 2
dx
(32.4)
Antes de t = 0, o tanque está cheio de água livre de compostos químicos. Em t = 0,
o composto químico é injetado no escoamento de entrada do reator a um nível constante
de cin. Assim, as seguintes condições de contorno são válidas:
Qcin = Qc0 − DAc
∂c0
∂x
e
c′ (L , t) = 0
A segunda condição especifica que o composto químico deixa o reator exclusivamente
como uma função do escoamento através do tubo de saída. Isto é, supõe-se que a dispersão no reator não afete a taxa de saída. Sob essas condições use métodos numéricos para
resolver a Equação (32.4) para os níveis estacionários de um reator. Observe que este é
um problema de contorno para uma EDO. A seguir, resolva a Equação (32.3) para caracterizar a resposta transiente — isto é, como os níveis variam com o tempo, conforme o
sistema tende ao estado estacionário. Essa aplicação envolve uma EDP.
Solução. Uma solução estacionária pode ser desenvolvida substituindo-se a primeira e
segunda derivadas na Equação (32.4) por diferenças finitas centradas para obter
0=D
ci+1 − ci−1
ci+1 − 2ci + ci−1
−U
− kci
2
x
2x
Agrupando os termos, temos
D
2D
D
1
k x
1
ci−1 +
c0 −
ci+1 = 0
−
+
+
−
U x
2
U x
U
U x
2
(32.5)
32.1 BALANÇO DE MASSA UNIDIMENSIONAL DE UM REATOR
761
Essa equação pode ser escrita para cada nó do sistema. Nas extremidades do reator,
esse processo introduz os nós que estão fora do sistema. Por exemplo, no nó de entrada
(i = 0),
D
2D
D
1
k x
1
c−1 +
c0 −
c1 = 0
−
+
+
−
(32.6)
U x
2
U x
U
U x
2
O c−1 pode ser removido através da primeira condição de contorno. Na entrada, o
seguinte balanço de massa deve ser satisfeito:
Qcin = Qc0 − DAc
∂c0
∂x
onde c0 é a concentração em x = 0. Logo, essa condição de contorno especifica que a
quantidade de composto químico carregado para dentro do tanque pela advecção através
do tubo deve ser igual à quantidade carregada para longe de entrada, tanto por advecção
quanto por dispersão turbulenta no tanque. A derivada pode ser substituída por uma diferença dividida finita.
Qcin = Qc0 − D Ac
c1 − c−1
2x
a qual pode ser resolvida por
c−1 = c1 +
2xU
2xU
cin −
c0
D
D
que pode ser substituída na Equação (32.6) para fornecer
D
xU
2D
k x
xU
c0 −
c1 = 2 +
cin
+
+2+
U x
U
D
U x
D
(32.7)
Um exercício parecido pode ser feito na saída, na qual a equação de diferença original é
2D
D
1
k x
1
D
cn−1 +
cn −
cn+1 = 0
+
+
−
−
(32.8)
U x
2
U x
U
U x
2
A condição de contorno na saída é
Qcn − DAc
dcn
= Qcn
dx
Como na entrada, podemos usar uma diferença dividida para aproximar a derivada.
Qcn − DAc
cn+1 − cn−1
= Qcn
2x
(32.9)
Uma inspeção dessa equação nos leva a concluir que cn+1 = cn−1. Em outras palavras, a
inclinação na saída deve ser nula para que a Equação (32.9) seja válida. A substituição
desse resultado na Equação (32.8) e sua simplificação fornece
2D
k x
D
cn−1 +
cn = 0
+
−
(32.10)
U x
U x
U
As Equações (32.5), (32.7) e (32.10) agora formam um sistema tridiagonal de n
equações com n incógnitas. Por exemplo, se D = 2, U = 1, x = 2,5, k = 0,2 e
cin = 100, o sistema é
⎤⎧ ⎫ ⎧ ⎫
⎡
5,35 −1,6
325⎪
⎪
⎪
⎪
⎪c0 ⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎢ −1,3 2,1 −0,3
⎪
⎪
⎪
c
0 ⎪
⎬
⎨
⎨
⎬
1
⎥
⎢
⎥
⎢
=
c
−1,3
2,1
−0,3
0
2
⎥⎪ ⎪ ⎪ ⎪
⎢
⎪ ⎪
⎪
⎣
−1,3 2,1 −0,3 ⎦⎪
⎪
⎪ ⎪
⎪c3 ⎪
⎪ 0 ⎪
⎪
⎭
⎩
⎩
⎭
−1,6 2,1
c4
0
762
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
c
100
D=2
80
60
FIGURA 32.2
Concentração em função da
distância ao longo do eixo
longitudinal de um reator
retangular para um composto
químico que decai com cinética
de primeira ordem.
D=4
40
20
0
2,5
5
7,5
10
x
o qual pode ser resolvido por
c0 = 76,44
c3 = 25,05
c1 = 52,47
c4 = 19,09
c2 = 36,06
Esses resultados estão traçados na Figura 32.2. Como esperado, a concentração decresce
em virtude da reação de decaimento, conforme o composto químico escoa através do
tanque. Além dos cálculos anteriores, a Figura 32.2 mostra outro caso com D = 4. Observe como o aumento da mistura turbulenta tende a achatar a curva.
Em contraste, se a dispersão diminuir, a curva se tornaria mais íngreme conforme a
mistura se tornasse menos importante em relação à advecção e ao decaimento. Deve ser
observado que se a dispersão diminuir muito, os cálculos se tornarão sujeitos a erros
numéricos. Esse tipo de erro é conhecido como instabilidade estática, para diferenciar da
instabilidade dinâmica devida a um passo no tempo muito grande durante o cálculo da
dinâmica. O critério para evitar essa instabilidade estática é
2D
U
Logo, o critério se torna mais restritivo (menor x) para os casos nos quais a advecção
domina a dispersão.
Além dos cálculos de estado estacionário, os métodos numéricos podem ser usados
para gerar soluções dependentes do tempo da Equação (32.3). A Figura 32.3 mostra resultados para D = 2, U = 1, x = 2.5, k = 0,2 e cin = 100, em que a concentração no
tanque é 0 no instante zero. Como esperado, o impacto imediato está próximo da entrada.
Com o passar do tempo, a solução eventualmente tenderá ao nível estacionário.
Deve ser observado que, em tais cálculos da dinâmica, o passo no tempo é restrito
por um critério de estabilidade expresso por (Chapra, 1997)
x ≤
t ≤
(x)2
2D + k(x)2
Assim, o termo de reação age para tornar o passo no tempo menor.
FIGURA 32.3
Concentração em função da
distância em diferentes instantes
durante o crescimento de um
composto químico em um
reator.
c
100
t=
t = 0,8
0
t = ,4
0,
2
0
Estado estacionário
t=
1,6
t = 3,
2
10
x
32.2 DEFLEXÕES EM UMA PLACA
32.2
763
DEFLEXÕES EM UMA PLACA (ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Uma placa quadrada com as arestas apoiadas está sujeita a uma carga de
superfície q (Figura 32.4). A deflexão na dimensão z pode ser determinada resolvendo-se
a EDP elíptica (ver Carnahan, Luther e Wilkes, 1969)
∂4z
∂4z
∂4z
q
+
2
+
=
4
2
2
4
∂x
∂x ∂y
∂y
D
(32.11)
sujeita a condições de contorno que, nas arestas, a deflexão e a inclinação normal à borda
são nulas. O parâmetro D é a rigidez de flexão,
D=
E z 3
12(1 − σ 2 )
(32.12)
onde E é o módulo de elasticidade, z é a espessura da placa e σ é a razão de Poisson,
Se for definida uma nova variável como
u=
∂2z
∂2z
+ 2
2
∂x
∂y
a Equação (32.11) pode ser reescrita como
∂ 2u
∂ 2u
q
+
=
2
2
∂x
∂y
D
(32.13)
Portanto, o problema se reduz a resolver sucessivamente duas equações de Poisson. Primeiro,
a Equação (32.13) pode ser resolvida para determinar u sujeito às condições de contorno que
u = 0 nas bordas. Então, os resultados podem ser empregados em conjunto com
∂2z
∂2z
+
=u
∂x 2
∂y 2
(32.14)
para determinar z sujeito à condição que z = 0 nas bordas.
Desenvolva um programa computacional para determinar a deflexão de uma placa
quadrada sujeita a uma carga de superfície constante. Teste seu programa para uma placa com bordas de 2 m de comprimento, q = 33,6 kN/m2, σ = 0,3, z = 10−2 m, e
E = 2 × 1011 Pa. Use x = y = 0,5 m para seu teste de execução.
Solução. Diferenças divididas finitas podem ser substituídas na Equação (32.13) para
produzir
u i, j+1 − 2u i, j + u i, j−1
u i+1, j − 2u i, j + u i−1, j
q
+
=
x 2
y 2
D
(32.15)
A Equação (32.12) pode ser usada para calcular D = 1,832 × 104 N/m. Esse resultado,
juntamente com os outros parâmetros do sistema, pode ser substituído na Equação
(32.15) para fornecer
u i+1, j + u i−1, j + u i, j+1 + u i, j−1 − 4u i, j = 0,458
FIGURA 32.4
Uma placa quadrada apoiada
sujeita a uma carga de
superfície.
y
⌬z
x
z
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
764
Essa equação pode ser escrita para todos os nós
equações resultantes são
⎡
−4 1
1
⎢ 1 −4 1
1
⎢
⎢
1 −4
1
⎢
⎢ 1
−4 1
1
⎢
⎢
1
1 −4 1
1
⎢
⎢
1
1 −4
⎢
⎢
1
−4 1
⎢
⎣
1
1 −4
1
1
as quais podem ser resolvidas por
u 1,1 = −0,315
u 2,1 = −0,401
u 3,1 = −0,315
u 1,2 = −0,401
u 2,2 = −0,515
u 3,2 = −0,401
com as bordas fixas em u = 0. As
⎫ ⎧
⎫
⎤⎧
0,458⎪
u 1,1 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎪
⎪u 2,1 ⎪
0,458⎪
⎪
⎪
⎪
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
0,458⎪
⎪ ⎪
⎪
⎪u 3,1 ⎪
⎪
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎥⎪
⎪
⎥⎨u 1,2 ⎬ ⎨0,458⎬
⎥ u 2,2 = 0,458
⎥⎪
⎪ ⎪
⎪
⎪
1 ⎥
0,458⎪
⎪ ⎪
⎪
⎪u 3,2 ⎪
⎪
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎥⎪
⎪
0,458⎪
⎪
⎪
⎪u 1,3 ⎪
⎪
⎪
⎥⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
u 2,3 ⎪
1 ⎦⎪
0,458⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭ ⎩
⎩
⎭
u 3,3
−4
0,458
u 1,3 = −0,315
u 2,3 = −0,401
u 3,3 = −0,315
Esses resultados podem, por sua vez, ser substituídos na Equação (32.14), a qual pode ser
escrita na forma de diferenças finitas e resolvida por
z 1,1 = 0,063
z 2,1 = 0,086
z 3,1 = 0,063
32.3
z 1,2 = 0,086
z 2,2 = 0,118
z 3,2 = 0,086
z 1,3 = 0,063
z 2,3 = 0,086
z 3,3 = 0,063
PROBLEMAS DE CAMPOS ELETROSTÁTICOS BIDIMENSIONAIS
(ENGENHARIA ELÉTRICA)
Fundamentos. Do mesmo modo como a lei de Fourier e o balanço de calor podem
ser usados para caracterizar distribuições de temperaturas, relações análogas estão
disponíveis para modelar problemas de campo em outras áreas da engenharia. Por exemplo, os engenheiros elétricos usam uma abordagem parecida quando modelam campos
eletrostáticos.
Sob diversas hipóteses simplificadoras, um análogo da lei de Fourier pode ser representado na forma unidimensional por
D = −ε
dV
dx
onde D é chamado vetor densidade de fluxo eletrostático, ε é a permissividade do material e V é o potencial eletrostático.
De maneira semelhante, a equação de Poisson para campos eletrostáticos pode ser
representada em duas dimensões por
∂2V
∂2V
ρv
+
=−
2
2
∂x
∂y
ε
(32.16)
onde ρv é a densidade de carga volumétrica.
Finalmente, para regiões que não contenham cargas livres (isto é, ρv = 0), a
Equação (32.16) se reduz à equação de Laplace,
∂2V
∂2V
+
=0
2
∂x
∂y 2
(32.17)
Empregue métodos numéricos para resolver a Equação (32.17) para a situação descrita
na Figura 32.5. Calcule ambos os valores de V e de D se ε = 2.
32.3 PROBLEMAS DE CAMPOS ELETROSTÁTICOS BIDIMENSIONAIS
765
1000
1000
6
2
3
0
0
(a)
2,3
1,3
0,2
0,1
3,3
1,2
2,2
3,2
1,1
2,1
3,1
1,0
2,0
4,2
4,1
3,0
(b)
FIGURA 32.5
(a) Um sistema bidimensional com uma voltagem de 1000 ao longo da fronteira circular e
uma voltagem de 0 ao longo da base. (b) O esquema de enumeração dos nós.
Solução. Usando a abordagem delineada na Seção 29.3.2, a Equação (29.24) pode ser
escrita para o nó (1, 1) como
2
V1,1 − V0,1
V1,1 − V0,1
2
V1,1 − V2,1
V1,1 − V2,1
+
=0
+
+
x 2 α1 (α1 + α2 ) α2 (α1 + α2 )
y 2 β1 (β1 + β2 ) β2 (β1 + β2 )
De acordo com a geometria descrita na Figura 32.5, x = 3, y = 2, β1 = β2 = α2 = 1
e α1 = 0,94281. Substituindo esses valores, obtemos
0,12132V1,1 − 121,32 + 0,11438V1,1 − 0,11438V2,1 + 0,25V1,1
+ 0,25V1,1 − 0,25V1,2 = 0
Agrupando os termos, resulta
0,73570V1,1 − 0,11438V2,1 − 0,25V1,2 = 121,32
Uma abordagem parecida pode ser aplicada aos nós interiores remanescentes. As
equações simultâneas resultantes podem se expressar na forma matricial como
⎡
⎤
0,73570 −0,11438
−0,25000
⎢ −0,11111 0,72222 −0,11111
⎥
−0,25000
⎢
⎥
⎢
⎥
−0,11438
0,73570
−0,25000
⎢
⎥
⎢ −0,31288
⎥
1,28888
−0,14907
⎢
⎥
⎣
−0,25000
−0,11111 0,72222 −0,11111 ⎦
−0,31288
−0,14907 1,28888
⎫ ⎧
⎧
⎫
V1,1 ⎪
121,32⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
V ⎪
⎪ ⎪
⎪
⎪ 0 ⎪
⎪
⎪
⎪
⎬ ⎪
⎨ 2,1 ⎪
⎨
⎬
V3,1
121,32
×
=
V1,2 ⎪
⎪
⎪826,92⎪
⎪
⎪
⎪
⎪ ⎪
⎪
⎪
⎪
⎪
⎪
V2,2 ⎪
250 ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭ ⎩
⎩
⎭
V3,2
826,92
766
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
1000
1000
1000
1000
1000
855
755
855
521
422
521
0
0
0
1000
1000
(a)
FIGURA 32.6
Os resultados da solução da
equação de Laplace com
fatores de correção para as
fronteiras irregulares. (a)
Potencial e (b) fluxo.
(b)
que pode ser resolvida por
V1,1 = 521,19
V1,2 = 855,47
V2,1 = 421,85
V2,2 = 755,40
V3,1 = 521,19
V3,2 = 855,47
Esses resultados estão descritos na Figura 32.6a.
Para calcular o fluxo (lembre-se da Seção 29.2.3), as equações (29.14) e (29.15)
podem ser modificadas para levar em conta as fronteiras irregulares. No presente exemplo, as modificações resultam em
Dx = −ε
Vi+1, j − Vi−1, j
(α1 + α2 ) x
D y = −ε
Vi, j+1 − Vi, j−1
(β1 + β2 )y
e
Para o nó (1, 1), essas fórmulas podem ser usadas para calcular as componentes x e y
do fluxo
Dx = −2
421,85 − 1000
= 198,4
(0,94281 + 1)3
D y = −2
855,47 − 0
= −427,7
(1 + 1)2
e
as quais, por sua vez, podem ser usadas para calcular o vetor de densidade do fluxo elétrico
D=
198,42 + (−427,7)2 = 471,5
com a direção de
−427,7
θ = tg−1
198,4
= −65,1◦
32.4 SOLUÇÃO POR ELEMENTOS FINITOS DE UMA SÉRIE DE MOLAS
767
Os resultados para os outros nós são
Nó
2,
3,
1,
2,
3,
Dx
1
1
2
2
2
Dy
0,0
−198,4
109,4
0,0
−109,4
−377,7
−427,7
−299,6
−289,1
−299,6
D
377,7
471,5
281,9
289,1
318,6
−90
245,1
−69,1
−90,1
249,9
Os fluxos estão mostrados na Figura 32.6b.
32.4
SOLUÇÃO POR ELEMENTOS FINITOS DE UMA SÉRIE DE MOLAS
(ENGENHARIA MECÂNICA/AEROESPACIAL)
Fundamentos. A Figura 32.7 mostra uma série de molas conectadas. Uma extremidade é
fixa a uma parede, enquanto a outra está sujeita a uma força constante F. Usando o procedimento passo a passo delineado no Capítulo 31, pode ser empregada uma abordagem
por elementos finitos para determinar os deslocamentos das molas.
Solução.
Discretização. A maneira de decompor esse sistema é, obviamente, tratar cada mola
como um elemento. Assim, o sistema consiste em quatro elementos e cinco nós
(Figura 32.7b).
Equações dos elementos. Como esse sistema é tão simples, suas equações dos elementos podem ser escritas diretamente sem recorrer a aproximações matemáticas. Este é um
exemplo da abordagem direta para a dedução dos elementos.
A Figura 32.8 mostra um elemento individual. A relação entre a força F e o deslocamento x pode ser representada matematicamente pela lei de Hooke:
F = kx
FIGURA 32.7
(a) Uma série de molas
conectadas. Uma extremidade
está fixa em uma parede, ao
passo que a outra está sujeita a
uma força constante F. (b) A
representação por elementos
finitos. Cada mola representa
um elemento. Portanto, o
sistema consiste em quatro
elementos e cinco nós.
Força
(a)
Nó
1
2
1
3
4
2
5
3
4
Elemento
(b)
FIGURA 32.8
Um diagrama de corpo livre
para uma mola do sistema.
F2
F1
Nó 1
0
x1
Nó 2
x2
x
768
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
onde k é a constante da mola, que pode ser interpretada como a força necessária para produzir um deslocamento unitário. Se a força F1 for aplicada no nó 1, o seguinte balanço de
forças deve ser válido:
F = k(x1 − x2 )
onde x1 é o deslocamento do nó 1 de sua posição de equilíbrio e x2 é o deslocamento do
nó 2 de sua posição de equilíbrio. Logo, x2 − x1 representa quanto a mola está esticada ou
comprimida em relação ao equilíbrio (Figura 32.8).
Essa equação também pode ser escrita como
F1 = kx1 − kx2
Para um sistema estacionário, um balanço de forças também exige que F1 = −F2 e,
portanto,
F2 = −kx1 + kx2
Essas duas equações simultâneas especificam o comportamento do elemento em resposta
às forças prescritas. Elas podem ser escritas na forma matricial como
k −k x1
F1
=
−k
k x2
F2
ou
[k]{x} = {F}
(32.18)
onde a matriz [k] é a matriz de propriedades do elemento. Observe que a Equação (32.18)
foi colocada na forma da Equação (31.9). Assim, conseguimos gerar uma equação matricial que descreve o comportamento de um elemento típico em nosso sistema.
Antes de prosseguir para o próximo passo — a montagem da solução total — vamos
introduzir alguma notação. Os elementos de [k] e {F} convencionalmente são escritos
com sobrescritos e subscritos, como em
(e)
(e)
(e)
k11
F1
−k12
x1
=
(e)
(e)
x2
−k21
k22
F2(e)
onde o sobrescrito (e) designa que estas são equações dos elementos. Os k’s também tem
subscritos como em kij para denotar sua posição na i-ésima linha e j-ésima coluna da matriz. Para o caso presente, eles também podem ser fisicamente interpretados como re-presentando a força necessária no nó i para induzir um deslocamento unitário no nó j.
Montagem. Antes das equações dos elementos serem montadas, todos os elementos e
nós devem ser numerados. Esse esquema de enumeração global especifica uma configuração ou topologia do sistema (observe que o caso presente usa um esquema idêntico ao
apresentado na Tabela 31.2). Isto é, ela documenta quais nós pertencem a quais elementos.
Uma vez que a topologia seja especificada, as equações para cada elemento podem ser escritas em relação a coordenadas globais.
As equações dos elementos podem ser adicionadas uma a uma para montar o sistema
total. O resultado final pode ser expresso na forma matricial como [lembre-se da
Equação (31.10)]
[k]{x ′ } = {F ′ }
onde
⎡
(1)
k11
⎢ (1)
⎢ −k
⎢ 21
⎢
[k] = ⎢
⎢
⎢
⎢
⎣
⎤
(1)
−k12
(1)
(2)
k22
+ k11
(2)
−k12
(2)
−k21
(2)
(3)
k22
+ k11
(3)
−k21
(3)
−k12
(3)
k22
(4)
+ k11
(4)
−k21
⎥
⎥
⎥
⎥
⎥
⎥
(4) ⎥
−k12 ⎥
(4) ⎦
k22
(32.19)
32.4 SOLUÇÃO POR ELEMENTOS FINITOS DE UMA SÉRIE DE MOLAS
769
e
⎧
⎫
⎪
F1(1) ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎨ 0 ⎪
⎬
′
0
{F } =
⎪
⎪
⎪
⎪ 0 ⎪
⎪
⎪
⎪
⎪
(4)
⎩ F2 ⎪
⎭
e {x ′ } e {F ′ } são deslocamentos expandidos e vetores de força, respectivamente. Observe
que, conforme as equações foram montadas, as forças internas se cancelaram. Assim, o
resultado final para {F ′ } tem zeros em todos, exceto o primeiro e o último nó.
Antes de prosseguir para o próximo passo, devemos comentar sobre a estrutura da
matriz de propriedades de montagem [Equação (32.19)]. Observe que a matriz é tridiagonal. Este é um resultado direto do esquema de enumeração global particular que foi escolhido (Tabela 31.1) antes da montagem. Embora não seja muito importante no presente
contexto, atingir tal sistema esparso, de banda, pode ser uma vantagem decisiva para
problemas mais complicados. Isso se deve aos esquemas eficientes disponíveis para resolver tais sistemas.
Condições de Contorno. O presente sistema está sujeito a uma única condição de contorno, x1 = 0. A introdução dessa condição e a aplicação do esquema de enumeração
global reduz o sistema para (k ′ s = 1)
⎤⎧ ⎫ ⎧ ⎫
⎡
2 −1
⎪
⎪x2 ⎪
⎪ ⎪
⎪
⎪0⎪
⎥⎨x3 ⎬ ⎨ 0 ⎬
⎢ −1 2 −1
⎥
⎢
=
⎣
−1 2 −1 ⎦⎪
x ⎪ ⎪
0⎪
⎪
⎩ 4⎪
⎭ ⎪
⎭
⎩ ⎪
−1 1
x5
F
O sistema está agora na forma da Equação (31.11) e está pronto para ser resolvido.
Embora a redução das equações seja certamente uma abordagem válida para incorporar as condições de contorno, em geral é preferível deixar o número de equações
intacto quando a solução for obtida pelo computador. Qualquer que seja o método, uma
vez que as condições de contorno sejam incorporadas, podemos prosseguir para o próximo passo — a solução.
Solução Geral. Usando uma das abordagens da Parte Três, tal como a eficiente técnica
de solução tridiagonal delineada no Capítulo 11, o sistema pode ser resolvido por (com
todos os k ′ s = 1 e F = 1)
x2 = 1
x3 = 2
x4 = 3
x5 = 4
Pós-processamento. Os resultados podem agora ser mostrados graficamente. Como
na Figura 32.9, os resultados são os esperados. Cada mola está esticada por um deslocamento unitário.
FIGURA 32.9
(a) O sistema de molas original. (b) O sistema depois da aplicação da força constante.
Os deslocamentos estão indicados no espaço entre os dois sistemas.
(a)
x=4
x=3
x=1
(b)
x=2
F
ESTUDO DE CASOS: EQUAÇÕES DIFERENCIAIS PARCIAIS
770
PROBLEMAS
Engenharia Química/Bioengenharia
32.1 Faça os mesmos cálculos que na Seção 32.1, mas use x = 1,25.
32.2 Desenvolva uma solução por elementos finitos para o sistema
estacionário da Seção 32.1.
32.3 Calcule os fluxos de massa para a solução estacionária da
Seção 32.1 usando a primeira lei de Fick.
32.4 Calcule a distribuição estacionária da concentração para o
tanque mostrado na Figura P32.4. A EDP que rege esse sistema é
2
∂ c
∂ 2c
D
+ 2 − kc = 0
2
∂x
∂y
onde h é a carga. Use métodos numéricos para determinar a distribuição de carga para o sistema mostrado na Figura P32.7.
⭸h
=0
⭸y
h = 20
⭸h
=1
⭸x
2
⭸h
=0
⭸n
⭸h
=0
⭸y
e as condições de contorno são como mostradas. Use um valor de
0,5 para D e 0,1 para k.
30
10
c = 100
Parede
10
Figura P32.4
32.5 Duas placas estão separadas por 10 cm, como mostrado na
Figura P32.5. Inicialmente, ambas as placas e o fluido estão parados.
Em t = 0, a placa de cima começa a se mover a uma velocidade constante de 8 cm/s. As equações que regem o movimento dos fluidos são
∂vóleo
∂ 2 vóleo
= µóleo
∂t
∂x2
e
1
Figura P32.7
c = 40
Fronteira
aberta
2
32.8 A velocidade do escoamento de água por um meio poroso
pode ser relacionada com a carga pela lei de D’Arcy
qn = −K
dh
dn
onde K é a condutividade hidráulica e qn é a velocidade de descarga
na direção n. Se K = 5 × 10−4 cm/s, calcule a velocidade da água
no Problema 32.7.
Engenharia Elétrica
32.9 Faça os mesmos cálculos que na Seção 32.3, mas para o sistema descrito na Figura P32.9.
V = 40
∂vágua
∂ 2 vágua
= µágua
∂t
∂x2
V = 20
e as seguintes relações são válidas na interface óleo-água:
vóleo = vágua
∂vágua
∂vóleo
e µóleo
= µágua
∂x
∂x
V = 10
V = 10
a
Óleo
6
4
2
V=0
Figura P32.9
10
8
a
V=5
Qual é a velocidade das duas camadas de fluidos em t = 0,5, 1, e
1,5 s nas distâncias de x = 2, 4, 6 e 8 cm da placa inferior? Observe
que µágua e µóleo são iguais a 1 e 3, respectivamente.
32.10 Faça aos mesmos cálculos que na Seção 32.3, mas para o
sistema descrito na Figura P32.10.
Água
⭸V
=0
⭸y
x=0
Figura P32.5
Engenharia Civil/Ambiental
32.6 Faça os mesmos cálculos que na Seção 32.2, mas use x =
y = 0,4 m.
32.7 O escoamento através de um meio poroso pode ser descrito
pela equação de Laplace
∂ 2h
∂ 2h
+ 2 =0
2
∂x
∂y
V = 70
⭸V
=0
⭸x
V = 100
⭸V
=0
⭸y
1
Figura P32.10
1
1
2
PROBLEMAS
771
Engenharia Mecânica/Aeroespacial
32.11 Faça os mesmos cálculos que na Seção 32.4, mas mude a
força para 1,5 e as constantes das molas para
Mola
k
1
2
3
4
0,75
1,5
0,5
2
32.12 Faça os mesmos cálculos que na Seção 32.4, mas mude a
força para 2 e use cinco molas com
Mola
k
1
2
3
4
5
0,25
0,5
1,5
0,75
1
32.13 Uma barra composta isolada é formada por duas partes
encostadas nas extremidades e ambas as partes têm comprimentos
iguais. A parte a possui condutividade térmica ka, para 0 ≤ x ≤ 1/2,
e a parte b tem condutividade térmica kb, para 1/2 ≤ x ≤ 1. As
equações de condução de calor transientes adimensionais que descrevem a temperatura u ao longo do comprimento x da barra composta são
∂ 2u
∂u
=
0 ≤ x ≤ 1/2
∂x2
∂t
∂ 2u
∂u
r 2 =
1/2 ≤ x ≤ 1
∂x
∂t
onde u é a temperatura, x é a coordenada axial, t é o tempo e
r = ka/kb. As condições de contorno e iniciais são
Condições de contorno
u(0, t) = 1
Condições iniciais
u(1, t) = 1
冢 冣 冢 冣
x = 1/2
u(x, 0) = 0
0<x<1
∂u
ᎏ
∂x
∂u
= ᎏ
a
∂x
b
Resolva esse conjunto de equações para a distribuição de temperaturas como função do tempo. Use diferenças finitas com acurácia
de segunda ordem para as derivadas com uma formulação de
Crank-Nicolson para integrar no tempo. Escreva um programa
computacional para a solução e escolha valores de x e t para
uma boa acurácia. Trace a temperatura u versus o comprimento x
para diversos valores de tempo t. Gere uma curva separada para
cada um dos seguintes valores do parâmetro r = 1, 0,1, 0,01, 0,001
e 0.
32.14 Resolva a equação de condução de calor transiente adimensional em duas dimensões que representa a distribuição de temperaturas transiente em uma placa isolada. A equação é
∂ 2u
∂ 2u
∂u
+
=
∂x2
∂ y2
∂t
onde u é a temperatura, x e y são as coordenadas espaciais e t é o
tempo. As condições de contorno e iniciais são
Condições de contorno u(x, 0, t) = 0
u(x, 1, t ) = 1
u(0, y, t ) = 0
u (1, y, t ) = 1
u(x, y, 0) = 0
0≤x<1
Condições iniciais
0≤y<1
Resolva usando a técnica implícita de direções alternadas. Trace os
resultados usando uma rotina tridimensional de gráficos em que o
plano horizontal contenha os eixos x e y e o eixo z é a variável independente u. Construa diversos gráficos em diversos instantes de
tempo, incluindo o seguinte: (a) as condições iniciais; (b) um instante intermediário, aproximadamente na metade do caminho para
o estado estacionário e (c) a condição estacionária.
EPÍLOGO: PARTE OITO
PT8.3 PRÓS E CONTRAS
Os prós e contras principais associados aos métodos numéricos para a solução de
equações diferenciais parciais envolvem a escolha entre abordagens por diferenças finitas
e por elementos finitos. Os métodos de diferenças finitas são conceitualmente mais fáceis
de entender. Além disso, são fáceis de programar para sistemas que possam ser aproximados por grades uniformes. Entretanto, são difíceis de aplicar a sistemas com geometrias complicadas.
As abordagens por diferenças finitas podem ser divididas em categorias, dependendo do tipo de EDP que está sendo resolvida. As EDPs elípticas podem ser aproximadas por um conjunto de equações algébricas lineares. Conseqüentemente, o método de
Liebmann (que, na realidade, é Gauss-Seidel) pode ser empregado para obter a solução
iterativamente.
As EDPs parabólicas unidimensionais podem ser resolvidas de duas maneira fundamentalmente diferentes: abordagens explícitas ou implícitas. O método explícito
avança no tempo de uma forma parecida com a técnica de Euler para resolver EDOs. Possui a vantagem de ser simples de programar, mas tem a desvantagem de um critério de estabilidade muito restritivo. Em contraste, estão disponíveis métodos implícitos estáveis.
Uma dessas abordagens, o método de Crank-Nicolson, é tanto acurada quanto estável e,
portanto, amplamente usada para problemas parabólicos lineares unidimensionais.
As EDPs parabólicas bidimensionais também podem ser modeladas explicitamente.
Contudo, suas restrições de estabilidade são ainda mais severas do que para o caso unidimensional. Abordagens implícitas especiais, que são conhecidas em geral como métodos
de decomposição, têm sido desenvolvidas para contornar esse problema. Essas abordagens são tanto eficientes quanto estáveis. Uma das mais comuns é o método ADI ou implícito de direções alternadas.
Todas as abordagens por diferenças finitas anteriores se tornam incômodas
quando aplicadas a sistemas envolvendo formas não uniformes e condições heterogêneas. Os métodos de elementos finitos estão disponíveis para tratar tais sistemas
de um modo superior.
Embora o método dos elementos finitos seja baseado em algumas idéias bastante
simples, a mecânica de gerar um bom código de elementos finitos para problemas bi e
tridimensionais não é um exercício trivial. Além disso, pode ser computacionalmente
caro para problemas grandes. Entretanto, é amplamente superior às abordagens por diferenças finitas para sistemas envolvendo formas complicadas. Como conseqüência, seu
custo e complicação conceitual adicionais são, em geral, justificados pelos detalhes da
solução final.
PT8.4 RELAÇÕES E FÓRMULAS IMPORTANTES
A Tabela PT8.3 resume informações importantes que foram apresentadas com relação aos
métodos de diferenças finitas na Parte Oito. Essa tabela pode ser consultada para ter
acesso rapidamente a relações e fórmulas importantes.
772
PT8.5 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
773
TABELA PT8.3 Resumo dos métodos de diferenças finitas.
Molécula Computacional
Equação
i, j + 1
EDPs elípticas
Método de
Liebmann
i – 1, j
i + 1, j
i, j
Ti +1,j + Ti −1,j + Ti,j +1 + Ti,j −1
Ti,j = ᎏᎏᎏᎏ
4
i, j – 1
i, l + 1
EDPs parabólicas
(unidimensional)
Método
explícito
Til+1 = Til + λ(T li+1 − 2Til + T li−1)
i – 1, l
i + 1, l
i, l
i, l + 1
i – 1, l + 1
i + 1, l + 1
Método
implícito
l+1
l+1
+ (1 + 2λ)Til+1 − λTi+1
= Til
−λTi−1
i, l
i, l + 1
i – 1, l + 1
i + 1, l + 1
i, l + 1
Método de
Crank-Nicolson
2
l+1
l+1
+ 2(1 + λ)Til+1 − λTi+1
−λTi−1
l
= λT li−1 + 2(1 − λ)Til + λTi+1
i – 1, l
i, l
i + 1, l
PT8.5 MÉTODOS AVANÇADOS E REFERÊNCIAS ADICIONAIS
Carnahan, Luther e Wilkes (1969), Rice (1983), Ferziger (1981) e Lapidus e Pinder
(1982) fornecem uma análise geral dos métodos e dos softwares para resolver EDPs. Você
pode consultar também Ames (1977), Gladwell e Wait (1979), Vichnevetsky (1981, 1982)
e Zienkiewicz (1971) para tratamentos com mais profundidade. Informações adicionais
sobre os métodos de elementos finitos podem ser encontradas em Allaire (1985), Huebner e Thornton (1982), Stasa (1985) e Baker (1983). Além das EDPs elípticas e parabólicas, também estão disponíveis os métodos numéricos para a resolução de EDPs hiperbólicas. Tais introduções e resumos desses métodos podem ser encontrados em Lapidus e
Pinder (1981), Ferziger (1981), Forsythe e Wasow (1960) e Hoffman (1992).
A
APÊNDICE
A Série de Fourier
A série de Fourier pode ser expressa em diversas formas
diferentes. Duas expressões trigonométricas equivalentes são
f(t) = a0 +
ou
f(t) = a0 +
∞
[ak cos (kω0 t) + bk sen (k0t)]
[ck cos (kω0 t + θk )]
k=1
onde os coeficientes estão relacionados por (ver a Figura A.1)
ck = ak2 + bk2
e
bk
θk = ⫺tg⫺1
ak
Além das formas trigonométricas, a série também pode
ser expressa em termos da função exponencial como
f(t) = c̃0 +
∞
[c̃k eikω0 t + c̃−k e−ikω0 t ]
c̃0 = a0
1
(ak − ibk ) = |c̃k | eiφ k
2
1
c̃−k = (ak + ibk ) = |c̃k | e−iφ k
2
onde |c̃0 | = a0 e
1 2
ck
|c̃k | =
ak + bk2 =
2
2
e
⫺1 −bk
k ⫽ tg
ak
c̃k =
k=1
∞
onde (ver a Figura A.2)
(A.1)
k=1
FIGURA A.1
Relações entre as formas cartesiana e polar dos coeficientes da
série de Fourier.
Observe que o til significa que o coeficiente é um número
complexo.
Cada termo na Equação (A.1) pode ser visualizado
como um phasor em rotação (as setas na Figura A.2). Termos com um subscrito positivo giram no sentido antihorário, enquanto aqueles com um subscrito negativo giram
no sentido horário. Os coeficientes de c̃k e c̃−k especificam a
posição do phasor em t = 0. A soma infinita dos phasors em
rotação, os quais podem girar em t = 0, é então igual a f(t).
FIGURA A.2
Relações entre a exponencial complexa e os coeficientes reais
da série de Fourier.
⬃
c– k
2
2
ak+
⬃
bk
ⱍ ck ⱍ
– k
bk
–k
k
ak
–
bk
2
⬃
ⱍ ck ⱍ
ak
2
774
⬃
ck
APÊNDICE
B
Iniciação ao MATLAB
O software MATLAB é um programa computacional que fornece ao usuário um ambiente
conveniente para muitos tipos de cálculos — em particular, aqueles relacionados com a
manipulação de matrizes. O MATLAB opera interativamente, executando os comandos
do usuário um a um, conforme eles sejam inseridos. Uma série de comandos pode ser
salva como um roteiro e executada como um programa interpretativo. O MATLAB tem
um grande número de funções de biblioteca; entretanto, os usuários podem construir suas
próprias funções com os comandos e funções do MATLAB. As características principais
do MATLAB cálculos de vetores e matrizes, incluindo:
Aritmética de vetores e matrizes.
Inversão de matrizes e análise de autovalores/autovetores.
Operações aritméticas e polinomiais complexas.
Cálculos estatísticos.
Exibição gráfica.
Projeto de sistemas de controle.
Ajuste de modelos de processos aos dados de teste.
O MATLAB tem diversas ferramentas (toolboxes) adicionais que fornecem funções especializadas. Essas incluem: processamento de sinais, sistemas de controle, identificação
de sistemas, otimização e estatística.
O MATLAB está disponível em versões executáveis em PCs, Macs e estações de trabalho. A versão moderna executável em PCs o faz no ambiente do Windows. O propósito
dos sete exercícios a seguir é lhe dar uma idéia de como calcular com o MATLAB; eles
não constituem um tutorial abrangente. Existem materiais tutoriais adicionais nos manuais do MATLAB. Diversos livros texto apresentam exercícios em MATLAB. Além
disso, estão disponíveis informações on-line para qualquer comando ou função digitando:
help name, em que name identifica o comando. Não dê apenas uma olhada nestes
exercícios; tente-os todos e tente as variações que lhe ocorram. Verifique as respostas que
o MATLAB lhe fornece e certifique-se de que você as entendeu e de que elas estejam corretas. Esta é a forma efetiva de aprender MATLAB.
1. Atribuição de Valores a Nomes de Variáveis
A atribuição de valores a variáveis escalares é parecida com outras linguagens computacionais. Tente digitar
a = 4
e
A = 6
Observe como a atribuição é respondida para confirmar o que você fez. Isso é característico do MATLAB. A resposta pode ser suprimida, terminando-se a linha de comando com
um ponto-e-vírgula (;). Tente digitar
b = -3;
775
776
APÊNDICE B INICIAÇÃO AO MATLAB
O MATLAB trata os nomes de modo sensível a maiúsculas e minúsculas, isto é, o nome
a não é o mesmo que o nome A. Para ilustrar, insira
a
e
A
Veja como seus valores são distintos. Eles são nomes distintos.
Os nomes de variáveis no MATLAB, em geral, representam quantidades matriciais.
Um vetor linha pode ser atribuído como segue:
a = [ 1 2 3 4 5 ]
A resposta confirma a atribuição novamente. Observe como a nova atribuição de a domina. Um vetor coluna pode ser inserido de diversas formas. Tente-as.
b = [ 1 ; 2 ; 3 ; 4 ; 5 ]
ou
b = [ 1;
2;
3;
4;
5 ]
ou transpondo um vetor linha com o operador '.
b = [ 1 2 3 4 5 ]'
Uma matriz bidimensional de valores pode ser atribuída como segue:
A = [ 1 2 3 ; 4 5 6 ; 7 8 8 ]
ou
A = [ 1 2 3 ;
4 5 6 ;
7 8 8 ]
Os valores armazenados por uma variável podem ser examinados a qualquer momento,
digitando-se só o nome, por exemplo
b
ou
A
Além disso, uma lista de todas as variáveis atuais pode ser obtida, inserindo-se o comando
who
ou, com mais detalhe, insira
whos
Existem diversas variáveis predefinidas, como o pi.
Também é possível atribuir valores complexos às variáveis, já que o MATLAB trata
a aritmética complexa automaticamente. Para fazer isso, é conveniente atribuir a raiz
quadrada de −1 ao nome de uma variável, geralmente i ou j.
i = sqrt(–1)
Então, um valor complexo pode ser atribuído como
x = 2 + i*4
APÊNDICE B INICIAÇÃO AO MATLAB
777
2. Operações Matemáticas
As operações com quantidades escalares são manipuladas de forma direta, análoga às linguagens computacionais. Os operadores comuns, em ordem de prioridade são
^
* /
\
+ –
Exponenciação
Multiplicação e divisão
Divisão à esquerda (se aplica a matrizes)
Adição e subtração
Esses operadores funcionarão como em uma calculadora. Tente
2 * pi
Além disso, variáveis reais escalares podem ser incluídas:
y = pi / 4
y ^ 2.45
Resultados de cálculos podem ser atribuídos a uma variável, como no penúltimo exemplo, ou simplesmente exibidos, como no último exemplo.
Os cálculos também podem envolver quantidades complexas. Usando x definido
anteriormente, tente
3
1
x
x
*
/
^
+
x
x
2
y
O poder real do MATLAB é ilustrado por sua habilidade de efetuar cálculos matriciais. O
produto interno de dois vetores (produto escalar) pode ser calculado usando-se o operador *,
a * b
e, do mesmo modo, o produto exterior
b * a
Para ilustrar a multiplicação de vetores e matrizes, primeiro redefina a e b,
a = [ 1 2 3 ]
e
b = [ 4 5 6 ]'
Agora, tente
a * A
ou
A * b
O que acontece quando as dimensões não são as exigidas pelas operações? Tente
A * a
A multiplicação de matriz por matriz é feita de modo parecido:
A * A
Operações mistas com escalares também são possíveis:
A / pi
É importante lembrar sempre que o MATLAB aplicará os operadores aritméticos simples na forma vetor matriz sempre que possível. Às vezes, você pode querer fazer os
778
APÊNDICE B INICIAÇÃO AO MATLAB
cálculos item a item em uma matriz ou vetor. O MATLAB permite isso também. Por
exemplo,
A ^ 2
resulta na multiplicação de A por si mesma. E se você quiser elevar cada elemento de A
ao quadrado? Isso pode ser feito com
A .^ 2
O . precedendo o operador ^ significa que a operação deve ser feita item a item. O manual do MATLAB chama esse tipo de operações arrays operations.
Quando o operador divisão (/) é utilizado com matrizes, está implícito o uso de uma
matriz inversa. Portanto, se A for uma matriz quadrada não singular, então B/A corresponde à multiplicação à direita de B pela inversa de A. Uma forma mais longa de fazer
isso é usar a função inv, isto é B*inv(A); entretanto, o uso do operador divisão é mais
eficiente já que X = B/A é, na realidade, resolvido como um conjunto de equações
X*A=B, usando-se um esquema de decomposição/eliminação.
O operador de “divisão à esquerda” (\ , o caractere contrabarra) também é usado nas
operações com matrizes. Como descrito anteriormente, A\B corresponde à multiplicação
à esquerda de B pela inversa de A. Isso é, na verdade, resolvido como um conjunto de
equações A*X=B, um cálculo comum na engenharia.
Por exemplo, se c for um vetor coluna com valores 0,1,1,0 e 10, a solução de
A * x = c , em que A foi definida anteriormente, pode ser obtida digitando-se
c = [ 0.1 1.0 10 ]'
x = A \ c
Tente fazer isso.
3. O Uso de Funções de Biblioteca
O MATLAB e suas Toolboxes têm uma rica coleção de funções de biblioteca. Podemos
usar ajuda on-line para descobrir mais sobre elas. Uma de suas propriedades importantes é
que elas operarão diretamente em quantidades vetoriais ou matriciais. Por exemplo, tente
log(A)
e você verá que a função logaritmo natural é aplicada no estilo array, elemento a elemento, à matriz A. A maioria das funções, como sqrt, abs, sin, acostanh, exp, opera na
forma de array. Certas funções, como a exponencial e a raiz quadrada, também têm
definições matriciais. O MATLAB calculará a versão matricial quando a letra m for acrescentada ao nome da função. Tente
sqrtm(A)
Um uso comum das funções é calcular uma fórmula para uma série de argumentos. Crie
um vetor coluna t que contém valores de 0 a 100, em passos de 5,
t = [ 0 : 5 : 100 ]'
Verifique o número de itens no vetor t com a função Lenght,
length(t)
Agora, digamos que você queira calcular y = f(t), em que a fórmula é calculada para
cada valor de t no vetor, e atribuir o resultado à posição correspondente no vetor y. Por
exemplo,
y = t .^ 0.34 – log10(t) + 1 ./ t
Feito! [Observe o uso dos operadores array adjacentes aos pontos decimais.] Isso é análogo a criar uma coluna de valores de t em uma planilha e copiar uma fórmula em uma
coluna adjacente para calcular os valores de y.
APÊNDICE B INICIAÇÃO AO MATLAB
779
4. Gráficos
Os recursos gráficos do MATLAB são parecidos com aqueles de um programa de
planilha. Os gráficos podem ser criados rápida e convenientemente; entretanto, não há
muita flexibilidade para mudá-los.
Por exemplo, para criar um gráfico dos vetores t,y dos dados anteriores, insira
plot(t, y)
Está pronto! Você pode modificar o gráfico um pouco com comandos como os seguintes:
title('Grafico de y versus t')
xlabel('Valores de t')
ylabel('Valores de y')
grid
O gráfico aparece em uma janela diferente e pode ser impresso ou transferido pelo teclado
(PCs com Windows ou Macs) para outros programas.
Existem outras características dos gráficos que são úteis, por exemplo, traçar objetos
em vez de retas, gráficos de famílias de curvas, gráficos no plano complexo, janelas
múltiplas de gráficos, gráficos log-log ou semilog, gráficos de grades tridimensionais e
gráficos de contorno.
5 Polinômios
No MATLAB existem muitas funções que lhe permitem operar em vetores como se suas
entradas fossem coeficientes ou raízes de equações polinomiais. Por exemplo, entre
c = [ 1 1 1 1 ]
e então
r = roots(c)
e as raízes do polinômio x3 + x2 + x + 1 = 0 seriam impressas e também armazenadas
no vetor r. Os coeficientes dos polinômio podem ser calculados a partir das raízes com a
função poly,
poly(r)
e um polinômio pode ser calculado em dado valor de x. Por exemplo,
polyval(c, 1.32)
Se outro polinômio, 2x2 − 0,4x − 1, for representado pelo vetor d,
d = [ 2 -0.4 -1 ]
os dois polinômios podem ser multiplicados simbolicamente com a função de convolução, conv, para produzir os coeficientes do produto dos polinômios,
cd = conv(c,d)
A função deconvolução, deconv, pode ser usada para dividir um polinômio por outro, por
exemplo,
[ q,r ] = deconv(c,d)
O resultado q é o quociente e o resultado r é o resto.
Existem outras funções polinomiais que podem ser úteis para você, tal como a função
resíduo para a expansão em frações parciais.
6. Análise Estatística
A Statistics Toolbox (caixa de ferramentas estatísticas) contém muitos recursos para a
análise estatística; entretanto, cálculos estatísticos comuns podem ser feitos com o conjunto das funções básicas do MATLAB. Você pode gerar uma série de números (pseudo)
780
APÊNDICE B INICIAÇÃO AO MATLAB
aleatórios com a função rand. Estão disponíveis tanto a distribuição uniforme quanto a
normal:
rand('normal')
n = 0 : 5 : 1000 ;
(Você esqueceu o ; !!!)
num = rand(size(n)) ;
Você provavelmente entendeu por que o uso do ponto-e-vírgula no final dos comandos
dados anteriormente é importante, especialmente se esqueceu de fazê-lo.
Se quiser ver um gráfico do ruído, tente
plot(num)
Esses números são normalmente distribuídos por hipótese com média zero e variância (e
desvio padrão) de 1. Verifique com
mean(num)
e
std(num)
Ninguém é perfeito! Você pode encontrar os valores máximo e mínimo,
min(num)
max(num)
Há uma função conveniente para traçar um histograma dos dados:
hist(num,20)
onde 20 é o número de degraus.
Se quiser ajustar um polinômio a alguns dados por mínimos quadrados, você pode
usar a função polyfit. Tente o seguinte exemplo:
t = 0 : 5
y = [ –0.45 0.56 2.34 5.6 9.45 24.59 ]
coef = polyfit( t, y, 3 )
Os valores em coef são os coeficientes do polinômio ajustado. Para gerar o valor calculado de y,
yc = polyval( coef,t )
e para traçar os dados junto com a curva ajustada,
plot ( t,yc,t,y,'o' )
O gráfico da curva contínua é linear por partes; portanto, ela não parece muito lisa. Melhore isso como segue:
t1 = [ 0 : 0.05 : 5 ] ;
yc = polyval(coef, t1)
plot(t1, yc, t, y, 'o')
7. Isto e Aquilo
Existem muitos outros recursos do MATLAB. Alguns deles você vai achar úteis; outros,
talvez nunca use. Nós o encorajamos a explorar e experimentar.
Para salvar uma cópia de sua seção, o MATLAB tem um recurso útil chamado diary.
Você digita o comando
diary problem1
APÊNDICE B INICIAÇÃO AO MATLAB
781
e o MATLAB abre um arquivo no disco que armazena todos os comandos subseqüentes
e os resultados (não os gráficos) de sua seção. Você pode desativar esse recurso com:
diary off
e ativá-lo novamente com o mesmo arquivo:
diary on
Depois de deixar o MATLAB, o arquivo diary estará disponível para você. É comum usar
um editor ou processador de texto para limpar esse arquivo (livrando-se de todos os erros
que você fez antes que alguém possa vê-los!) e então imprimi-lo para obter uma cópia
rígida das partes importantes da sua seção de trabalho, por exemplo, resultados numéricos chave.
Saia do MATLAB com os comandos quit ou exit. É possível salvar o estado
atual de sua seção com o comando save. Também é possível recarregar esse estado com
o comando load.
BIBLIOGRAFIA
AL-KHAFAJI, A. W.; TOOLEY, J. R. Numerical methods in engineering practice. Nova York: Holt, Rinehart and
Winston, 1986.
ALLAIRE, P. E. Basics of the finite element method. Dubuque, IA: William C. Brown, 1985.
AMES, W. F. Numerical methods for partial differential equations. Nova York: Academic Press, 1977.
ANG, A. H-S.; TANG, W. H. Probability concepts in engineering planning and design, Vol. 1: Basic Principles, Nova York:
Wiley, 1975.
APHA (American Public Health Association), 1992. Standard Methods for the Examination of Water and Wastewater, 18.
ed. Washington, DC.
ATKINSON, K. E. An introduction to numerical analysis. Nova York: Wiley, 1978.
ATKINSON, L. V.; HARLEY, P. J. An Introduction to numerical methods with pascal. Reading, MA: AddisonWesley, 1983.
BAKER, A. J. Finite element computational fluid mechanics. Nova York: McGraw-Hill, 1983.
BATHE, K. J.; WILSON, E. L. Numerical methods in finite element analysis. Englewood Cliffs, NJ: Prentice-Hall, 1976.
BOOTH, G. W.; PETERSON, T. L. Nonlinear Estimation. I.B.M. Share Program Pa. n. 687 WLNL1, 1958.
BOYCE, W. E.; DIPRIMA, R. C. Elementary differential equations and boundary value problems. 5. ed. Nova York:
Wiley, 1992.
BRANSCOMB, L. M. Electronics and Computers: An Overview. Science. v. 215, p. 755, 1982.
BRIGHAM, E. O. The fast fourier transform. Englewood Cliffs, NJ: Prentice-Hall, 1974.
BURDEN, R. L.; FAIRES, J. D. Numerical analysis. 5. ed. Boston: PWS Publishing, 1993.
BUTCHER, J. C. On Runge-Kutta Processes of Higher Order. J. Austral. Math. Soc., v. 4, p. 179, 1964.
CARNAHAN, B. H. et al. Applied numerical methods. Nova York: Wiley, 1969.
CASH, J. R.; KARP, A. H. ACM Transactions on mathematical software. v. 16, p. 201–222, 1990.
CHAPRA, S. C. Surface water-quality modeling. Nova York: McGraw-Hill, 1997.
CHAPRA, S. C.; CANALE, R. P. Introduction to computing for engineers. 2. ed. Nova York: McGraw-Hill, 1994.
______. Numerical methods for engineers with personal computers. Nova York: McGraw-Hill, 1985.
CHENEY, W.; KINCAID, D. Numerical mathematics and computing. 2. ed. Monterey, CA: Brooks/Cole, 1994.
CHIRLIAN, P. M. Basic network theory. Nova York: McGraw-Hill, 1969.
COOLEY, J. W. et al. Historical notes on the fast fourier transform. IEEE trans. Audio Electroacoust. AU, v. 15, n. 2, p.
76–79, 1977.
DANTZIG, G. B. Linear programming and extensions. Princeton, NJ: Princeton University Press, 1963.
DAVIS, H. T. Introduction to nonlinear differential and integral equations. Nova York: Dover, 1962.
DAVIS, L. Handbook of genetic algorithms. Nova York: Van Nostrand Reinhold, 1991.
DAVIS, P. J.; RABINOWITZ, P. Methods of numerical integration. Nova York: Academic Press, 1975.
DENNIS, J. E.; SCHNABEL, R. B. Numerical methods for unconstrained optimization and nonlinear equations. Filadélfia, PA: Society for Industrial and Applied Mathematics (SIAM), 1996.
DIJKSTRA, E. W. Go to statement considered harmful. Commun. ACM. v. 11, n. 3, p. 147–148, 1968.
782
BIBLIOGRAFIA
783
DRAPER, N. R.; APPLIED, H. Smith. Regression analysis. 2. ed. Nova York: Wiley, 1981.
ENRIGHT, W. H. et al. Comparing numerical methods for stiff systems of ODE’s. BIT, v.15, p. 10, 1975.
FADEEV, D. K.; FADEEVA, V. N. Computational methods of linear algebra. São Francisco: Freeman, 1963.
FERZIGER, J. H. Numerical methods for engineering application. Nova York: Wiley, 1981.
FLETCHER, R. Practical methods of optimization: 1: unconstrained optimization. Chichester, UK: Wiley, 1980.
______. Practical methods of optimization: 2: constrained optimization. Chichester: Wiley, 1981.
FORSYTHE, G. E.; WASOW, W. R. Finite-difference methods for partial differential equations. Nova York: Wiley, 1960.
FORSYTHE, G. E. et al. Computer methods for mathematical computation. Englewood Cliffs, NJ: Prentice-Hall, 1977.
FYLSTRA, D. et al. Design and use of the Microsoft Excel Solver. Interfaces, v. 28, n. 5, p. 29–55, 1998.
GABEL, R. A.; ROBERTS, R. A. Signals and linear systems. Nova York Wiley: 1987.
GEAR, C. W. Numerical initial-value problems in ordinary differential equations. Englewood Cliffs, NJ: Prentice-Hall,
1971.
GERALD, C. F.; WHEATLEY, P. O. Applied numerical analysis. 3. ed. Reading, MA: Addison-Wesley, 1989.
GILL, P. E. et al, Practical optimization, Londres: Academic Press, 1981.
GLADWELL, J.; WAIT, R. A survey of numerical methods of partial differential equations. Nova York: Oxford University
Press, 1979.
GOLDBERG, D. E. Genetic algorithms in search, optimization and machine learning. Reading, MA: Addison-Wesley,
1989.
GUEST, P. G. Numerical methods of curve fitting. Nova York: Cambridge University Press, 1961.
HAMMING, R. W. Numerical methods for scientists and engineers. 2. ed. Nova York: McGraw-Hill, 1973.
HARTLEY, H. O. The modified Gauss-Newton Method for fitting non-linear regression functions by least squares.
Technometrics v. 3, p. 269–280, 1961.
HAYT, W. H.; KEMMERLY, J. E. Engineering circuit analysis. Nova York: McGraw-Hill, 1986.
HEIDEMAN, M. T. et al. Gauss and the history of the fast Fourier transform. IEEE ASSP Mag, v. 1, n. 4, p. 14–21, 1984.
HENRICI, P. H. Elements of numerical analysis. Nova York: Wiley, 1964.
HILDEBRAND, F. B. Introduction to numerical analysis. 2. ed. Nova York: McGraw-Hill, 1974.
HOFFMAN, J. Numerical methods for engineers and scientists. Nova York: McGraw-Hill, 1992.
HOLLAND, J. H. Adaptation in natural and artificial systems. Ann Arbor, MI: University of Michigan Press, 1975.
HORNBECK, R. W. Numerical methods, Nova York: Quantum, 1975.
HOUSEHOLDER, A. S. Principles of numerical analysis. Nova York: McGraw-Hill, 1953.
______. The theory of matrices in numerical analysis, Nova York: Blaisdell, 1964.
HUEBNER, K. H.; THORNTON, E. A. The finite element method for engineers. Nova York: Wiley, 1982.
HULL, T. E.; CREEMER, A. L. The Efficiency of predictor-corrector procedures. J. Assoc. Comput. Mach. v. 10, p. 291,
1963.
ISAACSON, E.; KELLER, H. B. Analysis of numerical methods. Nova York: Wiley, 1966.
JACOBS, D. (Ed.). The state of the art in numerical analysis. Londres: Academic Press, 1977.
JAMES, M. L. et al. Applied numerical methods for digital computations with FORTRAN and CSMP. 3. ed. Nova York:
Harper & Row, 1985.
KELLER, H. B. Numerical methods for two-point boundary-value problems. Nova York: Wiley, 1968.
LAPIDUS, L.; PINDER, G. F. Numerical solution of partial differential equations in science and engineering. Nova York:
Wiley, 1981.
LAPIDUS, L.; SEINFIELD, J. H. Numerical solution of ordinary differential equations. Nova York: Academic Press, 1971.
LAPIN, L. L. Probability and statistics for modern engineering. Monterey, CA: Brooks/Cole, 1983.
784
BIBLIOGRAFIA
LASDON, L. S.; SMITH, S. Solving large nonlinear programs using GRG. ORSA Journal on computing, v. 4, n. 1, p. 2–15,
1992.
LASDON, L. S. et al. Design and testing of a generalized reduced gradient code for nNonlinear programming. ACM transactions on mathematical software. v. 4, n. 1, p. 34–50, 1978.
LAWSON, C. L.; HANSON, R. J. Solving least squares Problems. Englewood Cliffs, NJ: Prentice-Hall. 1974.
LUENBERGER, D. G. Introduction to linear and nonlinear programming. Reading, MA: Addison-Wesley, 1984.
LYNESS, J. M. Notes on the adaptive Simpson quadrature routine. J. Assoc. Comput. Mach. v.16, p. 483, 1969.
MALCOLM, M. A.; SIMPSON, R. B. Local versus global strategies for adaptive quadrature. ACM trans. math. software,
v.1, p.129, 1975.
MARON, M. J. Numerical analysis, a practical approach. Nova York: Macmillan, 1982.
MILTON, J. S.; ARNOLD, J. C. Introduction to probability and statistics: principles and applications for engineering and
the computing sciences. 3. ed. Nova York: McGraw-Hill, 1995.
MULLER, D. E. A Method for solving algebraic equations using a digital computer. Math. tables aids comput. v. 10, p. 205,
1956.
NA, T. Y. Computational methods in engineering boundary value problems. Nova York: Academic Press, 1979.
NOYCE, R. N. Microelectronics. Sci. Am. v. 237, p. 62, 1977.
OPPENHEIM, A. V.; SCHAFER, R. Digital signal processing. Englewood Cliffs, NJ: Prentice-Hall, 1975.
ORTEGA, J. RHEINBOLDT, W. Iterative solution of nonlinear equations in several variables. Nova York: Academic Press,
1970.
ORTEGA, J. M. Numerical analysis — A second course. Nova York: Academic Press, 1972.
PRENTER, P. M. Splices and variational methods. Nova York: Wiley, 1975.
PRESS, W. H. et al. Numerical recipes: the art of scientific computing. Cambridge: Cambridge University Press, 1992.
RABINOWITZ, P. Applications of linear programming to numerical analysis. SIAM Rev, v. 10, p. 121–159, 1968.
RALSTON, A. Runge-Kutta methods with minimum error bounds. Match. Comp., v. 16, p. 431, 1962.
RALSTON, A.; RABINOWITZ, P. A first course in numerical analysis. 2. ed. Nova York: McGraw-Hill, 1978.
RAMIREZ, R. W. The FFT, fundamentals and concepts. Englewood Cliffs, NJ: Prentice-Hall, 1985.
RAO, S. S. Engineering optimization: theory and practice. 3. ed. Nova York: Wiley-Interscience, 1996.
REVELLE, C. S. et al. Civil and environmental systems engineering. Englewood Cliffs, NJ: Prentice-Hall, 1997.
RICE, J. R. Numerical methods, software and analysis. Nova York: McGraw-Hill, 1983.
RUCKDESCHEL, F. R. BASIC scientific subroutine, v. 2, Peterborough, NH: Byte/McGraw-Hill, 1981.
SCARBOROUGH, J. B. Numerical mathematical analysis. 6. ed. Baltimore, MD: Johns Hopkins Press, 1966.
SCOTT, M. R.; WATTS, H. A. A Systematized collection of codes for solving two-point boundary-value problems. In:
LAPIDUS, L.; SCHIESSER, W. E. (Eds.). Numerical methods for differential equations. Nova York: Academic Press,
1976.
SHAMPINE, L. F.; ALLEN, JR., R. C. Numerical computing: An introduction. Filadélfia: Saunders, 1973.
SHAMPINE, L. F.; GEAR, C. W. A User’s view of solving stiff ordinary differential equations. SIAM Review, v. 21, p. 1,
1979.
SIMMONS, E. F. Calculus with analytical geometry. Nova York: McGraw-Hill, 1985.
STARK, P. A. Introduction to numerical methods, Nova York: Macmillan. 1970.
STASA, F. L. Applied finite element analysis for engineers. Nova York: Holt, Rinehart and Winston, 1985.
STEWART, G. W. Introduction to matrix computations. Nova York: Academic Press, 1973.
SWOKOWSKI, E. W. Calculus with analytical geometry. 2. ed. Boston: Prindle, Weber and Schmidt, 1979.
TAYLOR, J. R. An introduction to error analysis. Mill Valley, CA: University Science Books, 1982.
TEWARSON, R. P. Sparse matrices. Nova York: Academic Press. 1973.
BIBLIOGRAFIA
785
THOMAS, JR., G. B.; FINNEY, R. L. Calculus and analytical geometry. 5. ed. Reading, MA: Addison-Wesley, 1979.
VAN VALKENBURG, M. E. Network analysis. Englewood Cliffs, NJ: Prentice-Hall, 1974.
VARGA, R. Matrix iterative analysis. Englewood Cliffs, NJ: Prentice-Hall, 1962.
VICHNEVETSKY, R. Computer Methods for partial differential equations. V. 1: elliptical equations and the finite element
method. Englewood Cliffs, NJ: Prentice-Hall, 1981.
______. Computer methods for partial differential eauations. Vol. 2: initial value problems. Englewood Cliffs, NJ: PrenticeHall, 1982.
WILKINSON, J. H. The algebraic eigenvalue problem. Oxford Fair Lawn, NJ: University Press, 1965.
WILKINSON, J. H.. REINSCH, C. Linear algebra: handbook for automatic computation. Berlim: Springer-Verlag, v. 11,
1971.
WOLD, S. Spline functions in data analysis. Technometrics, v. 16, n. 1, p. 1–11, 1974.
YAKOWITZ, S.; SZIDAROVSKY, F. An introduction to numerical computation. Nova York: Macmillan, 1986.
YOUNG, D. M. Iterative solution of large linear systems. Nova York: Academic Press, 1971.
ZIENKIEWICZ, O. C. The finite element method in engineering science. Londres: McGraw-Hill, 1971.
ÍNDICE REMISSIVO
787
ÍNDICE REMISSIVO
regressão linear. Ver Regressão linear
A
regressão não linear, 403-406
Abordagem por volume de controle, equações elípticas,
720-721
regressão polinomial. Ver Regressão Polinomial
regressão. Ver Regressão
Abordagem preditor-corretor, 598
resumo de fórmulas, 487-488
Abordagens/métodos diretos
splines, 465
equações de elementos, método dos elementos
finitos em uma dimensão, 741-742
otimização multidimensional, 306-310
Ajuste ótimo de funções a solução, método dos
elementos finitos, equações dos elementos, 739
Algarismos significativos, 44-45, 372
Agoritmo FFT de Sande-Dukey, 454-458
critério de parada, 48-49
Água de dejeto, otimização do custo mínimo no
eliminação de Gauss e, 215
tratamento de, 349-353
Ajuste
no computador, 56
Algoritmo da diferença do quociente (QD), 185
de uma função sinosoidal, aproximação de Fourier,
442-444
de uma linha reta, 382-383
Ajuste de curvas, 4, 366. Ver também Interpolação
aproximação de Fourier. Ver Aproximação de
Fourier
como bibliotecas e pacotes, 460-467
Algoritmo de Davidon-Fletcher-Powell (DFP),
otimização, 321
Algoritmo de Thomas, sistema tri-diagonal com,
247-248
Algoritmo FFT de Cooley-Tukey, 454, 458-459
Algoritmo genético, 308
Algoritmo(s). Ver também Fluxogramas; Pseudocódigo
dados experimentais, análise de, 476-477
Bairstow, 151
estudo de casos em, 470-477
controle do tamanho do passo e métodos de passos
Exel para, 460-463
múltiplos, EDOs, 637
IMSL, para, 465-467
FFT Cooley-Tukey, 454, 458-459
interpolação por splines, 426-436
FFT Sande-Tukkey, 454, 458
MATLAB para, 463-465
otimização de busca aleatória, 307
métodos avançados, 489
para a aplicação múltipla da regra dos trapézios,
polinômio interpolador de Newton. Ver Polinômios
511-512, 529
interpoladores por diferenças divididas de
para a busca da razão áurea, 296-297
Newton
para a decomposição LU, 234
prós e contras, 486-487
para a iteração de um ponto (ponto fixo), 120
regressão dos mínimos quadrados. Ver Mínimos
para a regressão linear, 386-389
quadrados
para bissecção, 106-107
787
788
ÍNDICE REMISSIVO
para eliminação de Gauss, 220
ajuste de curvas, 439-444
para o método da secante, 127
ajuste por mínimos quadrados de uma função
para o método de Euler, 594-595
para o método de Gauss-Newton, 498
para o método de Gauss-Seidel, 254-255
para o método de Heun, 603
para o método do ponto médio, 603
sinosoidal, 442-444
domínio de freqüência versus domínio de tempo,
447-451
domínio de tempo versus domínio de freqüência,
447-451
para o polinômio interpolador de Newton, 417-418
e regressão, 442-444
para os métodos de Newton-Raphson, 124-125
espectro de potência, 458-459
para os métodos de Runge-Kuta, 617-620
FFT. Ver Transformada rápida de Fourier
para raízes de quadráticas, 27-30, 151
forma complexa, 447
para regressão polinomial, 395-396
funções sinoidais, 439-444
para splines cúbicos, 436
série de Fourier contínua, 444-450
para transformação de Fourier discreta, 452
pra o polinômio de Lagrange, 421
regras de Simpson, 520
sistemas de EDOs, 615-616
Allaire, P.E., 772
Allen, R.C., Jr., 489
Ames, W.F., 772
Amplitude, 440-441
fator de aumento para, 173
Análise de erro e sistema condicionado, 239-247
Análise de Fourier, estudo de casos em, 475-476
Análise de sensibilidade, 17
Análise de vibração,
harmônica, 444
raízes de equações, 170-175
Análise estatística, MATLAB, 778-779
Analysis Tollpack, Exel, 461
Ang, A.H-S., 911
série de Fourier, 444-450, 773-774
TFD. Ver Transformada de Fourier discreta
transformada e integral de Fourier, 450-452
Aproximação de ordem zero, 63
Aproximação de primeira ordem, 63
Aproximação funcional, 489
Aproximação por diferença centrada, da primeira
derivada, 75
Aproximação regressiva por diferenças, 73-74
Aproximações temporais de ordem superior, equações
parabólicas, 725-726
Aproximações\pontos iniciais, 87
Arnold, J.C., 373, 401
Arredondamento, 54
Atkinson, K.E., 234
Atratores estranhos, 681
Autovalores, 139, 585, 654-670
Ângulo de fase de retardamento, 440
bibliotecas e pacotes para, 662-668
Ângulo de fase, 440-441
definição de, 654
Aplicação única da regra do trapézio, 507
estudo de casos em, 676-678, 683-686
comparação com a quadratura de Gauss, 535
Excel para, 662
relação com as EDOs, 696
IMSL para, 665-667, 685
Aplicações múltiplas da regra do trapézio, 509-511, 529
MATLAB para, 663-667
algoritmos para, 512
método da potência, 661-663
extrapolação de Richardson, 530-531
método polinomial, 660-661
Aproximação de Fourier, 438-467
Auto-vetores, 657
ÍNDICE REMISSIVO
789
Buscas de padrão e de uma única variável, otimização,
B
306-310
Baker, A.J., 772
Buscas incrementais, 113
Balanço de forças, 17, 85
pára-quedista caindo, 11
Balanços. Ver Leis de conservação
Bashforth. Ver Fórmulas de integração aberta de
Adams-Bashforth
C
C++, 38
Cálculos de resposta a estímulos, 238-239
BASIC, 89. Ver também Algoritmo(s); VBA
Cálculos dependentes do tempo, 15
Bernoulli, J., 286
Cálculos estacionários, 15-16, 264-266
BFGS. Ver Algoritmo de Bryoden-Fletcher-Goldfarb-
Campo eletrostático bidimensional, 763-764
Shanno
Bibliotecas e pacotes, 21-22, 152-154, 256-261
Canale, R.B., 89
Cancelamento na subtração, 59-60
Excel, 152-155
Caos, estudo de casos em, 679-680
IMSL, 158-160
Carga, conservação da, 17
MATLAB, 155-158
Carnahan, B., 89, 381, 489, 592, 696, 900
para ajuste de curvas, 460-467
CASE, 25
para análise de Fourier, 475-476
Exel, 33
para autovalores, 684-685
MATLAB, 36
para derivação e integração numérica, 551-553
Cash, J.R., 619
para equações diferenciais ordinárias, 677-678
Caso criticamente anortecido, 40, 172
para equações diferenciais parciais, 751-756
Caso sub-amortecido, 140
para localização de raízes, 152-160
Casos superamortecido, 140, 171
para matrizes especiais, 256-261
Cauchy. Ver Método de Euler-Cauchy
para o método de Gauss-Seidel, 256-261
Chapra, S.C., 89, 677, 761
para otimização, 333-343
Charnes , 287
para sistemas de equações algébricas lineares,
Chart Wizard, Excel, 34
256-261
programação, 21-22
Cheney, W., 89, 433, 489
Chirlian, P.M., 460
Bits (dígitos binários), 49, 457
Cinética da reação, 305-308, 544, 786, 884-888
Booth, G.W., 406
Circuito de resistores, 269-271
Boyce, W.E., 140
Circuitos
Branscomb, L.M., 911
corrente elétrica em, 269-270, 682-686
Bringham, E.O., 460
projeto de circuito elétrico, 168-170
Bryoden-Fletcher-Goldfarb-Shanno (BFGS)
transferência de potência máxima para, 353-355
algoritmo de, 321, 333
Coeficiente(s)
B-splines, 489
de amortecimento crítico, 172
“Buraco” no zero, 54
de arrasto, 11
Burden, R.L., 78, 81
de condutividade térmica, 706
Busca da razão áurea, 296-300
de correlação (r), 385, 388, 393
ÍNDICE REMISSIVO
790
de determinação (r’’), 385, 393, 395
do método de Gauss-Seidel, critério para, 252-254
de difusividade térmica, 706
dos métodos de Newton-Raphson, 122-124
de um polinômio interpolador, 423
e estabilidade, equações parabólicas, 725
de variação, 369
taxa de, 79
método dos indeterminados, 534-535
Convergência quadrática, 122
Coeficientes indeterminados, método dos, 534-535
Cooley, J.W., 454, 458
Colocação, 743. Ver também Interpolação
Corrente eficaz, 561-563
Colunas carregadas axialmente
Corrente elétrica em circuitos
autovalores, 660-661
Computador(es)
aritmética em, 56-62
representação de números, 49-56
software. Ver Software
resistores e, 269-271
simulação de, EDOs e, 679-684
Corrente, simulação em um circuito elétrico, estudo de
casos em, 682-686
Cotes. Ver Fórmulas de integração de Newton-Cotes
Condição de contorno de Neumann, 712
Covariância, 401
Condição de contorno natural, 712
Creemer, A.L., 912
Condições auxiliares, 583
Critério de parada. Ver Critério de parada
Condições de contorno fixas, placa aquecida, 709-710
Critério do melhor ajuste, regressão linear, 380-381
Condições de contorno nas derivadas
Custo do pára-quedas, otimização do, 287-290
equações elípticas, 712-714
métodos de diferença finita, equações parabólicas,
D
725
Condições de contorno
Dados
derivada, diferença finita, parabólica, 725
distribuição de, 370
equações elípticas, 712-716
incerteza nos, 82
fixada, temperatura de uma placa aquecida com,
709-710
Condições de Dirichlet, 444
contorno, 780, 712
Condutividade térmica, coeficiente de, 706
Dados desigualmente espaçados, 549-550
com bibliotecas e pacotes, 551-553
derivação, 549-550
estudo de casos em, 557-574
integração, 521-523
Constante de meia saturação, 470
Dados experimentais, análise de, 476-417
Constantes, de integração, 582
Danielson, 454
Contando operações. Ver Operações em ponto flutuante
Dantzig, G.B., 287
Controle do tamanho do passo, 620
Davis, L., 308
adaptativo, 620
Davis, P.J., 460
método de passo múltiplo, EDOs, 636
Decomposição. Ver Decomposição LU
Convergência
de interação de um ponto (ponto fixo), 118-120
Decomposição de Cholesky, 248-249
e regressão, 400
de sistemas não lineares, 135
Decomposição de Crout, 234-236
do método da falsa posição, 110
Decomposição de Doolittle, 234
ÍNDICE REMISSIVO
791
Decomposição em uma única variável, 489
Deslocamento na fase, 440-441
Decomposição LU, 228-248, 400
Desvio padrão normalizado, 542
algoritmo, 234
Desvio padrão, 369
análise de erro, 239-244
Determinantes
decomposição de Cholesky, 248-250
cálculo de, eliminação de Gauss, 201-202
decomposição de Crout, 234-236
escala/por em escala e, 213-214
decomposição de Doolittle, 234
DFP. Algoritmo de Davidos-Flecher-Powell, otimização
eliminação de Gauss como, 230-234
Diagonal
inversão de matrizes, 236-239
dominante, 254
pseudocódigo para, 231, 233, 235
matrizes, 191
Deflação polinomial, 141-143
Diferença dividida finita, 13, 73-77
Deflação progressiva, 143-144
derivadas, aproximação de, 75-76
Deflação regressiva, 143
método da secante, 127
Deflexão de uma placa, 762-763
polinômio interpolador por diferenças divididas de
Dennis, J.E., 364
Derivação e integração numérica, 76-77, 491-574
alta acurácia, 545-548
dados com erros, 550-551
derivação, 553-554. Ver também Derivação
erro, sensibilidade ao, 550-551
extrapolação de Richardson, 548-549
fórmula de integração de Newton-Cotes. Ver
Fórmula de integração de Newton-Cotes
incerteza nos dados, 550
integração, comparação com, 551
prós e contras, 667-668
Derivação gráfica por área igual, 493-495
Derivada, 73-77. Ver também Derivação e integração
numérica
analítica, 499
definição de, 491
erros de arredondamento, 81-82
integração, comparação com, 492-493
polinomial, 140-141
Derivadas direcionais, 311
Derivadas, 491. Ver também Derivação e integração
numérica
direcional, 311
tabela de, 500
Descriminante, 140
Newton, 412-413
Diferença dividida finita segunda, 76-77
Diff. MATLAB, 552
Difusividade térmica, coeficiente de, 706
Dígitos binários (bits), 49, 457
Dinâmica, 761
estática, 761
Direções conjugadas, 309
Direções padrão, 309
Discretização, método dos elementos finitos, 736, 766
em uma dimensão, 741-742
em duas dimensões, 748
Distribuição de fluxo para uma placa aquecida, 711-712
Distribuições normais cumulativas, 542
Divergência. Ver Convergência
Divisão por zero, eliminação de Gauss e, 211
Divisão sintética, 142
DOEXIST, 26
Excel, 33
MATLAB, 37
Domínio de freqüência, 447-451
Domínio do tempo, 447-450
Draper, N.R., 383, 386, 393, 403, 489
Duas dimensões espaciais, equações parabólicas em,
732-735
ÍNDICE REMISSIVO
792
Equação de Manning, 165
E
Equação de Poisson, 754, 890
Economização de Chebyshev, 489
Editor de Visual Basic (VBE), 32
EDO de segunda ordem, 578
EDOs. Ver Equações diferenciais ordinárias
estudo de casos em, 673-679
EDPs. Ver Equações diferencias parciais
Efeitos da escala/mudança de escala, na eliminação de
Gauss, 214-215, 217-220
Eliminição de Gauss, 197, 199-225
algarismos significativos e, 215
Equação de potencia
linearização da, 390-391
regressão linear múltipla, 398
Equação de taxa de crescimento de saturação, 390
Equação de Van der Pool, 658
Equação de Van der Waals, 162-164
Equações algébricas. Ver Sistemas de equações
algébricas lineares
Equações características, 139
armadilhas da, 211-215
Equações corretoras, 598
calculo do determinante, 201-202
Equações de advecção-dispersão, 759
contando as operações, 209-210
Equações de elementos, método sos elementos finitos,
efeito da escala\mudança de escala, 213-214,
218-220
erros de arredondamento, efeito dos, 211
736-740
escolha da função de aproximação, 737-739
Equações de Laplace, 698, 763
ingênua, 205-210
elíptica, 705-707
melhorando as soluções, 215-221
equações de diferença, 707-709
pivotamento, 216-217
Equações de Lorenz, 679
sistemas complexos, 221-222
Equações de Lotka-Volterra, 679
sistemas de equações lineares algébricas, 220-221
Equações de taxas, 578
sistemas de equações não lineares e, 222-224
Equações diferenciais ordinárias (EDOs), 138-140,
sistemas mal condicionados, 211-215
sistemas singulares e, 215
Enganos, 82-83
Engenharia
e leis de conservação, 15-17
três fases da solução de problemas, 3
Enright, W.H., 696
Epilímnio, 473
Epsilon da máquina, 55
Equação de condução do calor, 723-724
método de Crank-Nicolson, 730
método implícito simples, 726-728
unidimensional, 724
673-696
Adams de quarta ordem, 643-646
estudos de casos em, 673-689
método de euler, 587-597
método de Heun, 598-601
método de Milnie, 679
métodos de passo múltiplo. Ver Métodos de passo
múltiplos, EDOs
métodos de Runge-Kutta. Ver Métodos de
Runge-Kutta
otimização e, 679
para sistemas rígidos, 665-667
Equação de Helmholdz, 754
problemas de contorno, 648-653
Equação de Laplace elíptica, 705-707. Ver também
prós e contras, 695-696
Métodos de diferenças finitas
equações de diferença, 707-708
sistemas de, 612-617
solução analítica, 12-14
ÍNDICE REMISSIVO
Equações diferenciais parciais (EDPs), 6, 578
aplicações em engenharia, 758-766
793
distribuição de fluxo para uma placa aquecida,
711-712
bibliotecas e pacotes para, 751-756
equação de diferença de Laplace, 707-708
diferenças finitas. Ver Métodos de diferenças finitas
equação de Laplace, 705-707
elementos finitos. Ver Métodos de elementos finitos
fórmula de Gauss-Legendre de dois pontos, 536-540
equações elípticas. Ver Métodos
fórmulas de Newton-Cotes para, 528-529
de diferenças finitas
equações parabólicas. Ver Métodos
de diferenças finitas
fronteiras irregulares, 714-717
integrais impróprias, 540-542
método de Liebmann, 709-710
hiperbólica, 701
placa aquecida com aresta isolada, 713-714
prós e contras, 771
quadratura de Gauss, 534-540
Equações diferenciais parciais hiperbólicas, 702
Romberg, 530-534
Equações lineares algébricas. Ver também Sistemas de
software para, 720
equações algébricas lineares
estudo de caso em, 264-293
Equações não lineares, 132-136, 222-223
Equações normais
técnicas de solução, 707-712
temperatura de uma placa aquecida com condições
de contorno fixas, 709-710
variáveis secundárias, 711
mínimos quadrados linear geral, 399-400
Erro de formulação, 82-83
regressão linear múltipla, 396-399
Erro de truncamento global, EDOs, 685
regressão linear, 383-384, 396-399
Erro de truncamento local, EDOs, 590-594
regressão polinomial, 393-395
Equações parabólicas, 701, 723-735. Ver também
Métodos de diferenças finitas
método de Euler, 590-594
métodos de passo múltiplo, 630-633
Erro de truncamento, 43, 63-82
aproximações temporais de ordem superior, 726
global, 590
condições de contorno na derivada, 725-726
local, 590, 593
convergência e estabilidade, 725
método de Euler, 590-594
em duas dimensões espaciais, 732-735
métodos de passo múltiplo, 631
equação de condução de calor, 723-724
polinômio interpolador de Newton, 414-419
esquema ADI, 732-735
propagado, 590
esquemas explícito e implícito, 732
Erro do modelo, 83
método de Crank-Nicolson, 730-732
Erro numérico total, 81-82
método implícito simples, 726-729
Erro padrão da estimativa por regressão linear, 384
métodos explícitos, 723-724
métodos unidimensionais, comparação de, 731-732
Equações simultâneas. Ver Sistemas de equações
algébricas lineares
Equações, 699, 705-720. Ver também Equações dos
elementos; Equações parabólicas
múltipla, 398
Erro padrão da estimativa
para a regressão linear, 384
para a regressão polinomial, 394
Erro relativo, 46-49, 79-80
Erro relativo aproximado (*), 43, 46-49
abordagem por volume de controle, 717-720
integração de Romberg, 533
condições de contorno, 712-717
iteração de um único ponto (ponto fixo), 120
794
ÍNDICE REMISSIVO
método da falsa posição, 108
convergência e, equações parabólicas, 725
método de Gauss-Seidel, 250-251
incondicional, 626
método de Heun de início não automático , 683
Estatísticas, simples, 368-371
método de Newton-Raphson, 122
Estimação, 371
para a bisecção, 104-106
Estudo de casos
regressão não linear, 403
em ajuste de curvas, 470-477
Erro relativo verdadeiro (*), 48
em análise de Fourier, 475
Erro residual, 379
em dados espaçados desigualmente, 557-574
Erro. Ver também Critério de parada
em equações algébricas lineares, 264-293
correções, 250, 529-530. Ver também Modificadores
de arredondamento. Ver Erro de arredondamento
de truncamento. Ver Erro de truncamento
equações de. Ver Métodos iterativos, refinamento
em equações de elementos, sistema de elementos
finitos, 766-767
em montagem, método dos elementos finitos,
766-767
formulação de, 82-83
em otimização, 345-357
numérico total, 81-83
em regressão linear, 470-474
padrão. Ver Erro padrão da estimativa
em regressão polinomial, 461-463
propagação de, 77-80
em sistemas massa-mola, 271-272, 766-768
relativo aproximado. Ver Erro relativo aproximado (*)
em splines, 473-474
relativo, 47-48
em um pêndulo oscilante, 686-689
resíduo, 379
no método de Runge-Kuta de quarta ordem,
sensibilidade ao, derivação numérica, 550-551
superposição LU, 239-244
Erros de aproximações e de arredondamento, 43-62,
736, 739
Erros de arredondamento, 46
definido, 43
derivação numérica, 80-82
609, 695
Estudo de casos em EDOs, 673-689
correntes, circuitos elétricos, simulação de, 682-686
modelos predador-presa e caos, 679-681
pêndulo oscilante, 686-689
reatores, resposta transiente de, 673-678
Estudo de casos em raízes de equações, 162-175
do computador, 49-62
análise de vibração, 170-175
efeito na eliminação de Gauss, 211-212
escoamento de canal aberto, 164-168
método de Euler, 590
lei dos gases ideais e não ideais, 162-164
polinômio interpolador de Newton, 415-419
projeto de circuitos elétricos, 168-170
regressão polinomial, 395
Escoamento de canal aberto, raízes de equações, estudo
de casos em, 164-168
Euler, L., 286
Exatidão, 45-46, 88
Excel, 10, 21, 31-35, 55, 96
Espaço de solução viável, 325
análises Toolpack, 461
Espectro de Potencia, aproximação de Fourier, 460, 551
chart wizard, 34
Espectro discreto, 449-450
Editor de Visual Basic, 32. Ver também EVB
Esquema ADI, equações parabólicas, 732-734
equações algébricas lineares e, 256-257
Esquemas implícitos, equações parabólicas, 732
para ajuste de curvas, 460-463
Estabilidade, 79-80, 87, 696
para autovalores, 573
ÍNDICE REMISSIVO
para equações diferenciais ordinárias, 612, 677-678
795
Fórmulas de integração de Newton-Cotes, 504-524
para equações diferenciais parciais, 875-877
de ordem superior, 520-521
para localização de raízes, 152-154
integração com segmentos desiguais, 521-523
para otimização, 333-338
integrais múltiplas, 524-525
raízes de equações com, 152-154
métodos de passo múltiplo, EDOs, 636-640
Exemplo da barra aquecida, método dos elementos
finitos, 740-741, 746
Expansão em série de
MacLaurin, 48
Expressões de teste, 25
Extrapolação de Richardson
para integração aberta, 524
regra do trapézio, 505-514
regras de Simpson. Ver Regras de Simpson
Fórmulas de integração fechada de Adams-Bashforth,
628, 641-642
Forsythe, G.E., 489, 772
derivação, 548-549
Fortran, 38-39, 89 Ver também Algoritmo(s)
integração, 528-532
Freqüência angular, 440
Extrapolação, 425
Freqüência natural, 172
Fronteira irregulares, equações elípticas, 714-717
F
Função de forma, 737-741
Função força externa, 09, 189
Fadeeva, D.K., 755
Fadeeva, V.N., 755
Faires, J.D., 86, 89
Fator de amortecimento, 172
Fatorização. Ver Decomposição LU
Ferziger, J.H., 772
FFT.Ver Transformada rápida de Fourier
Finney, R.L., 81
Fletcher, R., 364.Ver também Algoritimo de BroydenFletcher-Goldfarb-Shanno; Algoritmo de DavidonFletcher-Powell
Fletcher-Reeves (método do gradiente conjugado),
otimização, 320
Fluxogramas
símbolos usados em, 23-26
Função ímpar, 447
Função incremento, 604
Função objetivo, 290
Função par, 446
Função unidimensional, ao longo da direção
gradiente, 317
Funções de penalizações, 332
Funções embutidas, MATLAB, 777
Funções explícitas, 92
Funções implícitas, 92
Funções quadráticas, algoritmos para raízes de,
27-30, 151
Funções transcendentais, 93
Funções, no computador, 30-32
Funções-base, 489
Força efetiva, 559-561, 567, 569
Forma de Hessenberg, 677
Forma de Lagrange do resto da série de Taylor, 64
G
Forma integral do resto da série de Taylor, 63
Gabel, R. A. 460
Forma simétrica, Polinômio de Lagrange, 422
Gauss, C. F., 454
Fórmula de Gauss-Legendre, 623-627
Gear, C. W., 628, 696
de dois pontos, 536-538
Fórmulas de integração aberta de Adams-Bashforth,
639-641
Gerald, C. F., 89, 185, 489
Gill, P. E., 364
Gladwell, J., 900
796
ÍNDICE REMISSIVO
Goal seek, Excel, 152-155
equações algébricas lineares e, 259-261
Goldberg, D. E., 308
equações diferenciais parciais, 754-756
Goldfarb. Ver Algoritmo de Broyden-Fletcher-
para ajuste de curva, 465-467
Goldfarb-Shanno
Gradiente conjugado, 333
método de otimização (Flecther-Reeves), 320
Gradientes, definidos, 311-3122
para autovalores, 751
para equações diferencias ordinárias, 751-753
para otimização, 341-342
raízes de equações com, 158-159
Graus de liberdade, 369
Inclinação máxima, 312-319
GRG. Ver Método da busca gradiente reduzida
Incondicionalmente estável, 626
generalizado
Guest, P. G., 489
Instabilidade dinâmica, 761
Instabilidade estática, 761
Integração aberta, 504
H
Hamming, R. W., 86
Adams-Pashforth, 639-642
fórmulas para, 637-642
Newton-Cotes, 523
Harmônicos, 444
Integração de Romberg, 532-534
Hartley, H. O., 406
Integração definida, 492
Hayt, W. H., 460
Integração fechada, 505
Hessianas, gradientes e , 310-315
de Adams-Moulton, 640-641
Hildebrand, F. B., 696
de Newton-Cotes, 492-494
Hipolímnio, 738
Integração indefinida, 492, 572
Histogramas, 370
Integração, 6-8. Ver também Integrais; Derivação e
Hoffman, J., 84, 726, 772
integração numérica
Holland, J. H., 308
aberta, 505, 524, 696
Householder, A. S., 152, 696
cúbica, 427, 432-435
Huebner, K. H., 772
de equações, 528-543
de fórmulas, 520-521, 636-642
I
definição de, 491
definida, 492
IF\THEN, 24
Excel, 33
MATLAB, 35
IF\THEN\ELSE, 24
Excel, 33
IF\THEN\ELSEIF, 24
Excel, 33
MATLAB, 35
Imprecisão, 46
IMSL, 39, 97
derivação e integração numérica com, 553-554
estimador do intervalo, 371
fechada, 505
funções, 738
imprópia, 540-543
indefinida, 492
interpolação, 366, 378, 426-436
linear, 429-430
média de funções contínuas, 497
polinomial, 409-437
prós e contras, 667-668
quadrática, 429-432
ÍNDICE REMISSIVO
quadratura de Gauss. Ver Fórmulas fechadas de
797
Intervalo bilateral, 371-372
ordem superior para quadratura de Gauss,
Intervalo unilateral, 372
520-521
Intervalos de confiança
regra 1/3 de Simpson, 514-517, 520
estimativa de, 371-376
regra do trapézio. Ver Fórmulas de integração de
na média, 375
Newton-Cotes
regra estrela de Simpson, 519-521
para regressão linear, 401-402
Inversa, 194
segmentos desiguais, 521-523
interpolação, 423-424
solução analítica, 499-500
transformada de Fourier, 450-451
Splines-B, 489
teorema fundamental, 499
Inversão de matrizes, 194-197, 236-239, 400
análise de erro e condicionamento do sistema,
239-245
Integrais imprópias, 540-543
Integrais múltiplas, 524-525
cálculos da resposta a estímulos, 238-239
Integrais. Ver também Integração
e mal condicionamento, 240
de área, 498
normas de vetores e matrizes, 240-242
definida, 492
número de condicionamento da matriz, 242-243
indefinida, 492
resolução de equações lineares usando o
computador, 244
múltipla, 524-525
tabela de, 500
volume, 498
Integral de área, 496
Integral dupla, 56, 60
Integral no Volume, 498, 718
Inteiros, 50-51
Interpolação cúbica, 427, 433-434
derivação de, 433
Interpolação linear, 409-411, 428-429
fórmula, 410
método, 108
Interpolação polinomial, 409, 435
coeficientes da, 423
dados igualmente espaçados, 426
inversa, 424
polinômio interpolador de Newton. Ver Polinômios
interpoladores por diferenças divididas de
Newton
Isaacson, E., 696
Isolando raiz no intervalo, otimização e, 303
Isolando raízes de equações em intervalos, 98-113
aproximações iniciais, 113
buscas incrementais, 113
método da bissecção. Ver Método da bissecção
método da falsa posição. Ver Método da falsa
posição
Iteração de Jacobi, 252
Iteração de ponto fixo simples, 117-121
Iteração de ponto fixo, 116-121, 167-168
abordagem gráfica, 118-120
algoritmo para, 120-121
convergência de, 118-120
simples, 116-120
sistemas não lineares, 133-134
J
polinômios de Lagrange, 409, 419-423
Jacobi, C. G., 676
spline, 426-435
Jacobianos, 135
Interpolação quadrática, 411-413, 429-432
Jordan. Ver também Método de Gauss Jordan
798
ÍNDICE REMISSIVO
K
Linguagens de computador, 31-39
Excel, 31-34. Ver também VBA
Kantorovich, L. V., 287
MATLAB, 35-38
Karp, A. H., 619. Ver também Método RK de
programas de computador, 22. Ver também
Cash-Karp
Keller, H. B., 696
Algoritmo(s);
programas individuais
Kemmerly, J. E., 460
Little, J.N., 35
Kincaid, T., 103, 433, 489
Localização de raízes. Ver também Raízes de equações;
Koopmans, D. C., 287
Raízes de polinômio; Raízes de funções quadráticas
Laço, 25-27
L
Lagrange, J. L., 287
Lanczos, 454
Lapidus, L., 698, 735, 772
Lasdon, L. S., 332
Lawson, C. L., 489
Legendre. Ver também Fórmulas de Gauss-Legendre
Lei de Faraday, 581
Lei de Hook, 170
Lei dos gases ideais, 162-164
Lei dos gases não ideais, 16, 162-164
Leis de conservação
da carga, 17
da energia, 17, 706
da massa, 17, 165, 264
do momento, 10, 17, 165
engenharia e, 15-17
Leis de Fick, 581, 759
Leis de Fourier, 706, 763
com pós-teste, 26
com pré-teste, 26
com teste intermediário, 26
decisão, 26
interrupção, 26
parada, 36
Laço com pós-teste, 25
Laços controlados por contadores, 26
Excel, 33
MATLAB, 35, 37
Laços com teste intermediário, 26
Laços de decisão, 26
Lorenz, E., 679-681
Lotka, A.J., 679
Luenberger, D.G., 364
Luther, H. A., 86, 89, 271, 381, 489, 809, 888, 900
M
Mal condicionamento, 79-80
do calor, 581
eliminação de Gauss e, 211-215
para a condução do calor, 495, 723, 759
inversão e, 240
Leis de Kirchhoff, 92, 682
matriz inversa como medida, 240
Leis de movimento de Newton, 92, 686
número de condicionamento, 80, 242-243
Leis dos Gases, 162-164
regressão polinomial, 395
Lewis, P. A., 460
Manipulação aritmética no computador, 56-62
Linearização, 580
Manutenção, 882
de equações não lineares, 389-393
Massa
de uma equação de potência, 391-392
balanço de, 17, 92, 758-763
e regressão, 389-393, 399
conservação da, 77, 165, 264
ÍNDICE REMISSIVO
799
MathWorks, The, 8
Matrizes de banda, 246
MATLAB, 8, 21, 35-39, 56, 774-779
Matrizes especiais, 246-250
análise de Fourier, 475-476
bibliotecas e pacotes para, 256-261
derivação e integração numérica com, 551-553
Matrizes identidades, 192
equações algébricas lineares e, 257-259
Matrizes simétricas, 221, 246
equações diferenciais ordinárias, 663-667
Matrizes triangular inferiores, 192
equações diferenciais parciais, 753-754
Matrizes triangular superiores, 192
para ajuste de curvas, 463-465
Média
para autovalores, 676, 684-685
aritmética, 368
para otimização, 339-340
intervalos de confiança na, 375-376
polinômios, 157
funções contínuas, 497
raízes de equações, 155-158
Matriz das propriedades dos elementos, 739
Matriz positiva definida, 250
Matriz(es), 190-197. Ver também MATLAB
Método clássico de Runge-Kutta de quarta ordem,
609-610
Método da bissecção, 101-108
algoritmo para, 106
associativa, 192-193
cálculos da função minimizadora, 106-107
aumentada, 196
corretor de Heun, 599
comutativa, 192
critério de parada, 103-108
de banda, 192
estimativa de erro para, 103-106
decomposição de Cholesky e, 249-250
falsa posição, comparação com, 110
diagonal, 192
integração de Romberg, 534
equações algébricas lineares, 195-196
iteração de um ponto (ponto fixo), 116
especial, 246-247
método da falsa posição, 109-110
formulação geral para mínimos quadrados lineares,
método de Gauss-Seidel, 251
399-450
método de Heun de inicio não-automático, 635
identidade, 192
métodos de Newton-Raphson, 122-125
inversão, 194, 196, 236-239, 400-401
regressão não-linear, 495
multiplicação de, 192-194
notação, 190-191
número de condicionamento, 242-243
Método da busca gradiente reduzida
generalizada(GRG), 332
Método da falsa posição, 108-113
quadrada, 191
análise de erro, 109
regras operacionais, 191-195
armadilhas do 110-112
rigidez, 739, 767
comparado com método da secante, 127-129
simétrica, 192
convergência do, 110-111
traço de, 195
critério de parada, 110
transposta de, 195
desvio do, 109
triangular inferior, 192
fórmula para, 108
triangular superior, 192
modificado, 112-113
triangular, 192
Método da falsa posição modificado, 112-113
tri-diagonal, 192, 247-248
Método da potência para autovalores, 585, 663-666
800
ÍNDICE REMISSIVO
intermediário, 665-666
e iteração de Jacobi, 252
maior, 663
pseudo código, 255
mais alto, 663-665
relaxação, 254
mais baixo, 665
Método de Given, 696
menor, 665
Método de Heun de início não automático, 585,
Método da potencia, 390-392
Método da secante, 125-130
algoritmo para, 129
636-637
Método de Heun, 585, 597-601. Ver também Método de
Heun de início não automático
convergência de, 127-128
algoritmo para, 603
falsa posição, comparação com, 127-128
correção do, critério de parada, 599
modificado, 129-130
fórmulas, 598
Método das linhas, 726
Método de Adam de quarta ordem
estabilidade, 645-646
Método de Bairstow, 147-151, 184
Método de Brent, 364
Método de busca aleatória, otimização, 307-308
Método de Crank-Nicolson, equações parabólicas,
730-733
Método de Euler, 14, 584-585, 587-604
algoritmo para, 594-595
análise de erro para, 590-594
erro de arredondamento, 590
erro de truncamento, 594
fórmula para, 140, 587
implícito, 627-628
método de Heun, 597-601
modificações e melhorias, 597-603
regressivo, 626-628
sistemas de EDOs, 613
Método de Euler-Cauchy, 587
método do ponto médio, 601-602
Método de Householder, 696
Método de Jacobi, 696
Método de Jenkins-Traub, 152, 215
Método de Laguerre, 152, 185
Método de Levenber-Marquardt, 406
Método de Libmann, 709-711, 729
Método de MacCormack, 726
Método de Maquardt. Ver também Método de
Levenberg-Marquardt
otimização, 321
Método de Milne, 643-644
Método de Powell, otimização, 310. Ver também
Algoritmo de Davidon-Fletcher-Powell, otimização
Método de Runge-Kuta Fehlberg, 617-623
Método de Runge-Kutta de quarta ordem, 609-610
equações diferenciais ordinárias, 612-613, 678-679
estudo de casos em, 622, 696
método de Runge Kutta Fehlberg, 619
Método dos coeficientes indeterminados, 534-535
Método dos elementos finitos, 736-757
Método de Gauss-Jordan, 223-225, 385-386
abordagem geral, 740
Método de Gauss-Newton, 401-403
de séries de molas, 766-768
algoritmo para, 489
discretização, 741, 748
regressão não linear, 403-406
em duas dimensões, 748-749
Método de Gauss-Seidel, 250-259, 400, 709, 729. Ver
também método de Libmann
em uma dimensão, 740-748
equações de elementos, 736-739
critério de convergência para, 252-254
montagem, 739, 745, 750, 767-768
critério de parada, 250
pós-processamento, 740
dominância diagonal, 254
solução, 739, 747, 751
ÍNDICE REMISSIVO
Método dos resíduos ponderados (MRP)
método dos elementos finitos em uma dimensão,
742-745
Método implícito simples, equações parabólicas,
726-729
Método LR, 772
de Rutishauser, 771
801
algoritmo para, 124-125
análise de erro para, 122-123
armadilhas, 123-124
aspectos computacionais, 124-125
dedução, 122
eliminação de Gauss e, 223
fórmula para, 121
Método polinomial, autovalores, 585, 662-663
para equações simultâneas não lineares, 135-136
Método QR, 573
para raízes múltiplas, 131-132
de Francis, 573
Método RK de Cash-Carp, 619-623
série de Taylor, 121
Métodos de passo múltiplo, EDOs, 585, 628-645
Método RK embutido, 619
Adams de quarta ordem, 644-646
Método shooting, problemas de contorno, 585, 652-654
análise de erro de, 631-634
Método simplex da programação linear, 328-332
controle do tamanho do passo e programas
implementação, 329-332
variáveis de folga, 328
computacionais, 636
dedução, 631-633
Método–inclinação, 682
estabilidade de, 644-646
Método/técnica do ponto médio, 585, 601-603
fórmulas de integração, 636-638
algoritmo para, 603
Métodos abertos
Heun de início não automático, 629-635
método de Milne, 643-644
otimização e, 303
modificadores, 634-635, 642
raízes de equações, 116-136
ordem superior, 642-645
Métodos ascendentes, otimização multidimensional,
306
Métodos de passo único, 584
Métodos de Runge-Kutta adaptativos, 617-623
Métodos avançados
método de divisão do passo na metade, 618
ajuste de curvas, 489
pseudocódigos, 621
geral, 89
Runge-Kutta Fehlberg, 619-620
métodos de gradiente, otimização, 319-320
Métodos de variável métrica, otimização, 321
para raízes de equações, 185
Métodos descendentes, otimização multidimensional,
Métodos de diferença finita, 585, 737
derivadas de ordem superior, aproximações de,
76-77
EDOs(valores de contorno), 653-655
equações do, 699, 705-720
equações parabólicas, 701, 723, 735
Métodos de eliminação, 211-215
Métodos de Newton, otimização, 302-303
Métodos de Newton-Raphson, 121-125, 144, 162-164.
Ver também Método de Gauss-Newton
306
Métodos explícitos, equações parabólicas, 723-725, 732
Métodos gradientes, otimização multidimensional, 306,
310-321
Métodos interativos, 48-49. Ver também Iteração de
ponto fixo, simples
refinamento, 243-244
Métodos não computacionais. Ver também
Métodos/soluções gráficas
modelagem, computadores e análise de erros, 2
ÍNDICE REMISSIVO
802
para sistemas de equações algébricas lineares,
189-190
Métodos não gradientes, otimização multidimensional,
306
Modelos predador-presa e caos, estudo de casos em,
679-682
Modificadores, 634-635, 687-688
Modificadores corretores, 686-688
Métodos numéricos, 12
Molas, series de, 766-768
Métodos Runge-Kuta (RK), 586, 587, 624
Moler, C.B., 35
adaptativo, 617
Momento, 10, 16, 165
clássico de quarta ordem, 609-610
abordagem direta, 742
de Butcher de quinta ordem, 611-612
ajuste ótimo da função à solução, 739
de primeira ordem, 604
condições de contorno, 739
de quarta ordem, 609-610
em duas dimensões, 748-749
de segunda ordem, 605-607
em uma dimensão, 742-745
de terceira ordem, 608-609
estudo de casos em, 766-768
método de Euler. Ver também Método de Euler
montagem, 739
Métodos Runge-Kuta de segunda ordem, 605-606
Montagem, métodos dos elementos finitos
controle do tamanho do passo, 620-621
em duas dimensões, 749-750
de Ralston, 606-607
em uma dimensão, 745-747
método de Heun com um único corretor, 606
equações dos elementos, 739
Métodos unidimensionais
equações parabólicas, comparação de, 732
método dos elementos finitos. Ver também Método
dos elementos finitos
estudo de casos em, 767-768
Moulton. Ver também Fórmulas de integração fechadas
de Adams-Moulton
MRP. Ver também Método dos resíduos ponderados
Métodos/soluções gráficas
eliminação de Gauss, 99-201
N
para derivação, áreas iguais, 493-495
para integração, 493-495
Na, T.Y., 809, 696
para raízes de equações, 98-102, 113, 116-120
Nicolson. Ver também Método de Crank-Nicolson,
progamação linear, 325-327
Minimax, 489
equações parabólicas
Norma da soma da coluna, 241
critério, 381
Norma da soma da linha, 241-242
princípio, 489
Norma de Frobenius, 241
Minimização, 315
cálculos de funções, 106-108
Mínimos quadrados
Norma do máximo módulo, 241
Norma espectral, 241
Norma euclidiana, 241
ajuste, 382-383
Norma uniforme da matiz, 241
regressão, 367, 379-406
Norma uniforme do vetor, 241
Mínimos quadrados linear, 399-402
geral, 376, 399-462
Modelo exponencial, 389
Normalização, representação do número no
computador, 51
Normas de matrizes e vetores, 240-242
ÍNDICE REMISSIVO
803
Normas, vetores e matrizes, 240-242
métodos diretos, 306-310
Nós, 429
métodos do gradiente avançados, 319-321
Notação posicional, 49
métodos não-gradientes, 306
Número de condicionamento, 80, 197
métodos quasi-Newton, 321
da matriz, 242-243
Otimização sem restrições unidimensional, 294-303
Número de manchas solares de Wolf, 475
busca da razão áurea, 295-301
Números complexos, aproximação de Fourier, 447
interpolação quadrática, 301-302
Números de Fibonacci, 296-297
MATLAB para, 339-340
método de Newton, 302-303
Otimização unidimensional, 339-340
O
Otimização, 5, 287-364. Ver também Otimização
Operações aritméticas, 56-57
irrestrita multidimensional; otimização irrestrita
Operações em ponto flutuante, 209-210, 224
unidimensional
Oppenhein, A. V., 460
água de dejeto, tratamento com custo mínimo,
349-353
Ordem de EDPs, 698
Otimização com restrições, 323-344
programação linear. Ver também Programação linear
Otimização de uma única variável, 295
com pacotes, 333-343
custo mínimo, 345-353
de circuitos, transferência de potencia máxima para,
353-356
Otimização do custo mínimo
projeto de um tanque, 345-348
tratamento da água de dejeto, 349-352
Otimização irrestrita
multidimensional, 306-321
unidimensional, 294-303
Otimização multidimensional, 340
Otimização restrita não linear, 332
Excel para, 335-339
Otimização sem restrições multidimensional, 306-322
aproximações por diferenças finitas, 314-315
busca aleatória, 306-308
de uma variável e padrões de busca, 308-310
Hessianas, gradientes e, 310-315
MATLAB para, 340
máxima inclinação ascendente, 315-319
método de Marquardt, 321
método de Newton, 320
método do gradiente conjugado (Fletcher-Reeves),
320
métodos da variável métrica, 321
métodos descendentes, 306
de EDOs, 679
do custo do pára-quedas, 287-290
estudo de casos em, 345-357
Excel para, 333-339
IMSL para, 341-343
MATLAB para, 339-340
multidimensional, 339
projeto de montain bike, 356-357
prós e contras, 363
restrição não linear, 332-333
restrito. Ver também Restrições
transferência de potência máxima para um circuito,
353-356
unidimensional, 339-340
Ótimo multimodal, 294
Overflow, 54
P
Pacotes, software. Ver também Bibliotecas e pacotes
Parâmetros, 725-726
estimativas de, 663
804
ÍNDICE REMISSIVO
Pêndulo oscilante, estudo de caso em, 686-689
Preço sombra, 352
Pequeno número de equações, 199-203, 215-216
Preditores
Período, 439-440
equação, 598-599
Peterson, D. L., 406
Prenter, P. M., 489
Pinder, G. F., 699, 735, 772
Press, W. H., 89, 143, 152, 364, 489
Pivotamento
Primeira derivada por diferença regressiva, 74
coeficientes do, 206
Primeira diferença dividida finita, 73
completo, 216
Primitivação, 500
eliminação de Gauss e, 215-217
Princípio da probabilidade máxima, 383-384
equações para, 206-207
Problemas de dois pontos não lineares, condição de
no lugar, 217
parcial, 197, 215-216
valores do lugar, 49
PL. Ver também Programação linear
Placa aquecida com bordas isoladas, equações elípticas,
712-714
contorno, 651-652
Problemas de propagação, 701
erro de truncamento, 590
Problemas de valor de contorno, 649-655, 740
autovalores, 658-660
geral, 649-655
Plano de freqüência, 447-449
método shooting, 650-652
Polimento de raiz, 143
métodos de diferença finita, 653-655
Polinômios, 94
não linear de dois pontos, 651
MATLAB, 155, 157, 777
Problemas ilimitados, 327
raízes de. Ver também Raízes de polinômios
Problemas lineares versus não lineares, 17
Polinômio interpolador de Lagrange, 378, 409, 419-423
pseudocódigo, 421
Polinômio interpolador por diferenças divididas de
Newton, 378, 409-410
Problemas multidimensionais, definidos, 291
Problemas não lineares, versus lineares, 16
Problemas unidimensionais, definidos, 291
Produtos internos, 61
algoritmo(s) para, 417-419
Produtos, multiplicação de matriz e, 192
dedução do polinômio de Lagrange a partir de, 421
Programação estruturada, 22-30
diferença dividida finita, 413-415
Programação linear (PL), 291, 323-332
erro, 415-419
Excel para, 333-336
forma geral, 413-415
forma padrão, 323-324
linear, 409-410
método simplex, 328-341
quadrático, 411-413
solução gráfica, 325-327
Polinômios ortogonais, 489
Programação modular, 30-31
Pontos extremos, 327
Programação não linear, 291
viáveis, 327
População, 371, 470-474
Precisão, 45-46, 87-88
Programação quadrática, 292
Programação. Ver também Algoritmo(s)
estruturada. Ver também Programação estruturada
do computador, 55-56
fluxogramas. Ver também Fluxograma
dupla, 56, 60
linear. Ver também Programação linear modular
estendida. Ver também Precisão dupla
modular. Ver também Programação modular
ÍNDICE REMISSIVO
pacotes e, 21-22
805
Q
quadrática, 292
Projeto, 16, 168, 290
de circuito elétrico, estudo de casos em, 168-170
de mountain bike, otimização, 356-358
método de, 144-147, 184
Prós e contras, 86-88
ajuste de curvas, 486-487
derivação e integração numérica, 575-576
equações algébricas lineares, 282-283
equações diferenciais ordinárias, 696
equações diferenciais parciais, 771
integração, 575-576
QD (ver também Algoritmo da diferença
do quociente)
Quadratura de Gauss, 534-535, 540
análise de erro para, 230
integração de equações, 534-540
método dos coeficiente indeterminados, 534-535
Quadratura, 495
de Gauss. Ver também Quadratura de Gauss
Quantidade de calor, 557-559
Splines, 473-474
Quebra
otimização, 363-364
comando de, 38
raízes de equações, 184-185
de Laço 26
Pseudocódigo, 23-25. Ver também Algoritmo(s)
decomposição de Cholesky, 250
R
eliminação de Gauss, 217-218
epsilon da máquina, 55
Rabinovitz, P., 86, 89, 152, 234, 400, 460, 489, 696
Gauss-Seidel, 255
Raiz dupla, 130
integração de Romberg, 534
Raízes de equações, 4, 84-185
integração, segmentos desiguais, 521-523
buscas incrementais, 113
inversão de matrizes, 238
com bibliotecas e pacotes, 152-154
método RK de Cash-Karp, 621-622
estudo de caso em, 162-175
multiplicação de matrizes, 193-194
iteração de ponto fixo (um ponto), 116-121
para a busca da seção áurea, 299-300
iteração de um ponto (ponto fixo), 116-121,
para a decomposição de Crout, 236
133-135
para a decomposição LU, 231, 233-234
método da falsa posição para, 108-113
para o método de Muller, 147
método da secante para estimar, 125-130
para resolver EDO por Runge-Kutta adaptativo,
métodos abertos. Ver também Métodos abertos,
621-622
otimização e
pivotamento parcial, 217
métodos avançados para, 185
polinômio de Lagrange, 422
métodos de Newton-Raphson. Ver também Métodos
regra do trapézio, aplicação múltipla, 509-512, 529
de Newton-Raphson
regras de Simpson, 520, 529
métodos gráficos para obter, 98-102, 113, 118-119
regressão múltipla, 396
métodos intervalares. Ver também Intervalar
regressão polinomial, 395
polinômios. Ver também Raízes de polinômios
transformada de Fourier discreta, 452-453
prós e contras, 184-185
transformada rápida de Fourier, 454
raízes múltiplas, 130-132
tri-diagonal, algoritmo de Thomas, 247
sistemas de equações não-lineares, 132-142
806
ÍNDICE REMISSIVO
Raízes de funções quadráticas, algoritmos para, 27-30,
151
Raízes de polinômios, 138-159
linear múltipla, 396-400. Ver também Regressão
linear múltipla
linear. Ver também Regressão linear
calculando com polinômios, 140-143
mínimos quadrados linear geral, 398-400
cálculo e derivação polinomial, 140-141
não-linear, 403-406
com o MATLAB, 155, 157-158
polinomial. Ver também Regressão polinomial
deflação polinomial, 142-143
trigonométrica, 441
método de Bairstow, 147-151
Regressão linear, 376, 379-393
método de Miller, 144-147
ajuste por mínimos quadrados de uma reta, 382-383
polinômios na engenharia e ciência, 138-141
algoritmo para, 386, 389
Raízes múltiplas, 130-132
coeficiente de correlação (<r>), 385
Ramirez, R. W., 452, 469
coeficiente de determinação (*), 385, 394-395
Rao, S.S., 320-321, 332
critério do melhor ajuste, 380-381
Raphson. Ver também Métodos de Newton-Raphson
equações normais, 382
Ratner, M., 912
estudo de casos em, 470-473
Raulston, A., 86, 89, 152, 234, 400, 460, 489, 696
linearização de equações não lineares, 389-393
Razão áurea, 296
Reatores, estudo de casos em resposta transiente de,
673-678
Rede de borboleta, 457
Regra * de Simpson, 514-517
aplicação múltipla, 516-517, 529
Regressão linear múltipla, 376, 396-399
equação de potência, 398-399
equações normais, 396-399
pseudocódigo para equações normais, 398
Regressão não linear, 403-406, 463
Regressão polinomial, 376, 393-396
aplicação única, 512
algoritmo para, 395-396
método de Runge-Kutta, relação com, 707
equações normais, 393
Regra 3/8 (de Simpson), 518-519
erros de arredondamento, 396
Regra da cadeia para derivação, 574
estimativas de erro padrão para, 394
Regra de Boole, 521
estudo de casos em, 461-463
Regra de Cramer, 135
mal condicionamento, 396
Regra do trapézio, 505-513. Ver também Fórmulas de
pseudocódigo para as equações normais, 395
integração de Newton-Cotes
Regula falsi (falsa posição), 108
aplicação única, 507-509
Relaxamento, 254
aplicações múltiplas, 509-511, 529
Repetição, 25
dois segmentos, 525, 610
Representação binária (base dois), 52
segmentos desiguais, 521
Representação de um número em ponto flutuante,
Regras de Simpsom, 513-521
51-56
regra 1/3, 513-518
Representação lógica, 23-30
regra 3/8, 518-519
Representação na base oito, 50
pseudo-código para, 520
Representação no espaço dos estados, 680
Regressão, 366-367, 379-406
linear (simples). Ver também Regressão linear
Representações em base dois (binária), 52
Representações em base oito (octogonal), 50
ÍNDICE REMISSIVO
Resíduos ponderados, método dos, 742-743
807
fórmulas de integração de Romberg, 639-642
modelos matemáticos definidos, 9-10
método de Euler, 590-591
resolução de problemas de engenharia e, 9-15
ordem superior, métodos de Runge-Kutta, 597
Resolvendo equações lineares usando o computador,
244
Respostas transientes, de reatores, estudo de casos em,
673-679
Ressonância, 173
Restrições, 291
polinômio interpolador de Newton, 415-416
propagação de erro, 77-80
resto, 63, 68-70
versão para uma única variável, 77-78
versão para várias variáveis, 78-79, 134, 400
Séries infinitas, 60
limitantes, 326
Shafer, R., 460
não-limitantes, 326
Shampine, L.E., 489, 696
Retas/planos nodais, 737
Revelle, C. S., 323
Reversão de bit, para transformada rápida de Fourier,
458
Shanno. Ver também Algoritmo de Broyden-FletcherGoldfarb-Shanno (BFGS)
Símbolos, usados em fluxograma, 23
Simmons, E.F., 89
Rice, J. R., 89, 772
Simulação de corrente elétrica, EDOs e, 682-686
Rieeves. Ver também Fletcher-Reeves (método do
Sistema sub-especificado, 328
gradiente conjugado)
Rigidez
Sistema tri-diagonal, 197
com o algoritmo de Thomas, 247-248
matriz, 739, 767
Sistemas complexos, eliminação de Gauss e, 220
EDOs e, 625-628
Sistemas de equações algébricas lineares, 4-5, 217-329
RK. Ver também Método de Runge-Kuta
bibliotecas e pacotes para, 256-261
Roberts, R.A., 460
decomposição LU. Ver também Decomposição LU
Runge, 454
eliminação de Gauss. Ver também Eliminação de
Gauss
S
forma matricial de, 226-227
Gauss-Seidel, 250-255
Schnabel, R.B., 364
Scott, M.R., 696
Segunda lei de Newton, 10, 581
Sela, 313
Sensibilidade ao ruído nos dados, 523-525
dados desigualmente espaçados, 522-525
Séries de Fourier, 444-451, 773-774
contínua, 444-449
espectros na reta, 449-451
na forma complexa, 447
Séries de Taylor, 63-82, 89
estabilidade e condicionamento, 79-80
fórmula de Newton-Raphson, 121
matrizes especiais, 246-247
métodos não computacionais para, 217-218
número de condicionamento, 242-243
refinamento iterativo, 243-244
tri-diagonal, 247-248
Sistemas de equações diferenciais ordinárias. Ver
também Equações diferenciais ordinárias
Sistemas de parâmetros distribuídos, 758
Sistemas massa-mola, 271-273
aplicações em engenharia, 766-768
autovalores e autovetores para, 648-649, 653-655
estudo de caso em, 271-273, 766-767
Sistemas não homogêneos, 654
ÍNDICE REMISSIVO
808
Sistemas numéricos, 49-51
Sistemas Rígido, 696
MATLAB para, 669-670
Sistemas singulares
Tanques, otimização do custo mínimo no projeto de,
345-348
Taxa de crescimento máxima possível, 471
Taylor, J.R., 89
funções senoidais, 439-444
Técnica de dizimação na freqüência, 454
integrais, 540-543
Técnica de dizimação no tempo, 454, 458-459
Smith, H., 383, 386, 393, 396, 401, 403, 489
Teorema de Taylor, 63-64
Smith, S., 332
Teorema do Limite Central, 373
Sobre relaxamento simultâneo (SOR), 254
Sobre-relaxamento, 254
Software, 21-40. Ver também Algoritmo(s)
pacotes e bibliotecas. Ver também Bibliotecas e
pacotes
para equações elípticas, 720
programação. Ver também Programação
Soluções básicas viáveis, 330
Soluções caóticas, 681
Solver, Excel, 152-154, 334-339, 348, 351-354, 678
Teorema do valor média para integral, 64
Teorema do valor médio
para a derivada, 69, 120
para a integral, 64
Teoremas fundamentais do cálculo
integral, 514
Teoremas, valor médio da integral, 64
segundo, 64
Termóclina, 473
Soma dos quadrados total, 383
Testando hipótese, 400
SOR. Ver também Sobre-relaxação simultânea
TFD. Ver também Transformada de
Spline(s). Ver também B-Splines
Fourier discreta
estudo de casos em, 473-474
Thomas, G.B., Jr., 89
interpolação, 378, 426-436
Thornton, E.A., 772
MATLAB, 464-465
Trabalho, cálculo do, 563-566
transferência de calor, 473-474
Traço, de matrizes, 195
Splines cúbicos, 427, 432-434
algoritmos para, 435-436
derivação de, 433
Transferência de potência máxima, para um circuito,
353-355
Transformação rápida de Fourier(FFT), 454-460
Splines lineares, 428
algoritmo de Cooley-Tukey, 454
Splines quadráticos, 429-432
Sande-Tukey, 454-458
Stasa, F.L., 772
Transformada de Fourier discreta (TFD), 452-453
Sub-relaxamento, 254
Transformada e integral de Fourier, 450-452
Subrotinas, computador, 30-31
Transposta, de matrizes, 195
Substituição regressiva, 205
Swokowski, E.W., 89
Tratamento de água de dejeto, otimização do custo
mínimo em, 349-353
Traub. Ver também Método de Jenkins-Traub
T
Tabelas
de derivadas, 500
de integrais, 500
Truncamento, 54
Tukey, J. W., 454. Ver também Algoritmo FFT de
Cooley-Tukey, Algoritmo FFT de Sande-Tukey
Twiddle factor, 456
ÍNDICE REMISSIVO
U
809
Viés, 46
Visual Basic para aplicações. Ver também VBA
Underflow (“buraco” no zero), 54
Volterra, Vito, 679. Ver também Equações de LotkaVolterra
V
Valores característicos. Ver também Autovalores
Van Valkenburg, M.E., 460
Variância, 369
Variáveis
básicas, 330
de entrada, 330
de folga, simplex LP, 328
dependentes, 9, 671
independentes, 9, 578
não básicas, 329
W
Wait, R., 772
Wasow, W.R., 772
Watts, H.A., 696
Weatley, P.O., 89, 185, 489
Welch, P.D., 460
Wilkes, J.O., 86, 89, 185, 381, 489, 696, 772
Wilkinson, J.H., 696
Wold, S., 489
secundárias, equações elípticas, 711-712
VBA (Visual Basic para aplicações), 31-34, 355-356
VBE. Ver também Editor de Visual Basic
Vetor linha, 191
Vetores colunas, 191
Vichnevetsky, R., 699, 772
Z
Zero, “buraco no”, 54
Zeros, de funções, 295
Zienkiewich, O.C., 772