Sie sind auf Seite 1von 825

Mtodos Numricos

para Engenharia
Quinta Edio

Steven C. Chapra
Raymond P. Canale

Mtodos Numricos
para Engenharia
QUINTA EDIO

Steven C. Chapra
Berger Chair em Computao e Engenharia
Universidade de Tufts

Raymond P. Canale
Professor Emrito de Engenharia Civil
Universidade de Michigan

Traduo Tcnica
Helena Castro
Professora Doutora do Instituto de Matemtica e
Estatstica da Universidade de So Paulo IMEUSP

Verso impressa
desta obra: 2008

2011

Mtodos Numricos para Engenharia


Traduo da Quinta Edio
ISBN 978-85-86804-87-8
A reproduo total ou parcial deste volume por quaisquer formas ou meios, sem o consentimento, por escrito,
da editora ilegal e configura apropriao 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
So 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, Delegacin Alvaro Obregn
Mxico 01376, D.F., Mxico
Traduo da quinta edio em ingls de Numerical Methods for Engineers, publicada pela McGraw-Hill, uma unidade de
negcios da McGraw-Hill Companies Inc., 1221 Avenue of the Americas, New York, NY, 10020.
2006 by McGraw-Hill Companies, Inc.
Edies publicadas anteriormente sob o ttulo 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 Produo: Guacira Simonelli
Produo Editorial: Nilcia Esposito
Preparao de Texto: Marcos Soel e Maria Alice da Costa
Design de Capa: Ron Bissell
Ilustrao de Capa: Jack Novak/ SuperStock
Diagramao: ERJ Composio Editorial e Artes Grficas Ltda.
MATLABTM uma marca registrada de The MathWorks,Inc.
Dados Internacionais de Catalogao na Publicao (CIP)
(Cmara Brasileira do Livro, SP, Brasil)
C467m

Chapra, Steven C.
Mtodos numricos para engenharia [recurso
eletrnico] / Steven C. Chapra, Raymond P. Canale ;
traduo tcnica: Helena Castro. 5. ed. Dados
eletrnicos. Porto Alegre : AMGH, 2011.
Publicado tambm como livro impresso em 2008.
ISBN 978-85-8055-011-5
1. Engenharia
P. II. Ttulo.

Mtodo numrico. I. Canale, Raymond

CDU 62:51
Catalogao na publicao: Ana Paula M. Magnus CRB 10/2052
A McGraw-Hill tem forte compromisso com a qualidade e procura manter laos estreitos com seus leitores. Nosso principal
objetivo oferecer obras de qualidade a preos justos, e um dos caminhos para atingir essa meta ouvir o que os leitores
tm a dizer. Portanto, se voc tem dvidas, crticas ou sugestes, entre em contato conosco preferencialmente por correio
eletrnico ( mh_brasil@mcgraw-hill.com) e nos ajude a aprimorar nosso trabalho. Teremos prazer em conversar com
voc. Em Portugal use o endereo servico_clientes@mcgraw-hill.com.

Para
Margaret e Gabriel Chapra
Helen e Chester Canale

SUMRIO
PREFCIO xv
VISO GERAL DO LIVRO xviii
SOBRE OS AUTORES xxi

PARTE UM
MODELAGEM,
PT1.1 Motivao 2
COMPUTADORES, E
PT1.2 Fundamentos Matemticos 4
ANLISE DE ERROS 1 PT1.3 Orientao 6
CAPTULO 1
Modelagem Matemtica e Resoluo de Problemas de Engenharia 9
1.1 Um Modelo Matemtico Simples 9
1.2 Leis de Conservao e Engenharia 15
Problemas 18
CAPTULO 2
Programao e Software 21
2.1 Pacotes e Programao 21
2.2 Programao Estruturada 22
2.3 Programao Modular 30
2.4 Excel 31
2.5 MATLAB 35
2.6 Outras Linguagens e Bibliotecas 38
Problemas 39
CAPTULO 3
Aproximaes e Erros de Arredondamento 43
3.1 Algarismos Significativos 41
3.2 Exatido e Preciso 45
3.3 Definies de Erros 46
3.4 Erros de Arredondamento 49
Problemas 62
CAPTULO 4
Erros de Truncamento e Sries de Taylor 63
4.1 A Srie de Taylor 63
4.2 Propagao de Erros 77
4.3 Erro Numrico Total 81
4.4 Enganos, Erros de Formulao e Incerteza nos dados 82
Problemas 83
vii

viii

SUMRIO
EPLOGO: PARTE UM 86
PT1.4 Prs e Contras 86
PT1.5 Relaes e Frmulas Importantes 89
PT1.6 Mtodos Avanados e Referncias Adicionais 89

PARTE DOIS
RAZES DE
EQUAES 92

PT 2.1 Motivao 92
PT 2.2 Fundamentos Matemticos 94
PT 2.3 Orientao 95
CAPTULO 5
Mtodos que Isolam a Raiz em Intervalos 98
5.1 Mtodos Grficos 98
5.2 Mtodo da Biseco 101
5.3 O Mtodo da Falsa Posio 108
5.4 Buscas Incrementais e Determinao de Aproximaes Iniciais 113
Problemas 114
CAPTULO 6
Mtodos Abertos 116
6.1 Iterao de Ponto Fixo Simples 116
6.2 O Mtodo de Newton-Raphson 121
6.3 O Mtodo da Secante 125
6.4 Razes Mltiplas 130
6.5 Sistemas de Equaes No Lineares 132
Problemas 136
CAPTULO 7
Razes de Polinmios 138
7.1 Polinmios na Engenharia e Cincia 138
7.2 Clculos Computacionais com Polinmios 140
7.3 Mtodos Convencionais 143
7.4 O Mtodo de Miller 144
7.5 O Mtodo de Bairstow 147
7.6 Outros Mtodos 152
7.7 Localizao de Razes com Bibliotecas e Pacotes 152
Problemas 160
CAPTULO 8
Estudos de Caso: Razes de Equaes 162
8.1 Leis dos Gases Ideais e No-Ideais (Engenharia Qumica e Bioqumica) 162
8.2 Escoamento de Canal Aberto (Engenharia Civil/Ambiental) 164
8.3 Projeto de um Circuito Eltrico 168
8.4 Anlise de Vibrao (Engenharia Mecnica/Aeroespacial) 170
Problemas 175
EPLOGO: PARTE DOIS 184
PT2.4 Prs e Contras 184
PT2.5 Relaes e Frmulas Importantes 185
PT2.6 Mtodos Avanados e Referncias Adicionais 185

PARTE TRS
EQUAES
ALGBRICAS
LINEARES 188

PT3.1 Motivao 188


PT3.2 Fundamentos Matemticos 190
PT3.3 Orientao 196

SUMRIO
CAPTULO 9
Eliminao de Gauss 199
9.1 Resoluo de um Nmero Pequeno de Equaes 199
9.2 Eliminao de Gauss Ingnua 205
9.3 Armadilhas nos Mtodos de Eliminao 211
9.4 Tcnicas para Melhorar Solues 215
9.5 Sistemas Complexos 221
9.6 Sistemas de Equaes No-Lineares 222
9.7 Gauss-Jordan 223
9.8 Resumo 225
Problemas 225
CAPTULO 10
Decomposio LU e Inverso de Matrizes 228
10.1 Decomposio LU 228
10.2 A Matriz Inversa 236
10.3 Anlise de Erro e Condicionamento do Sistema 239
Problemas 244
CAPTULO 11
Matrizes Especiais e Gauss-Seidel 246
11.1 Matrizes Especiais 246
11.2 Gauss-Seidel 250
11.3 Equaes Algbricas Lineares com Bibliotecas e Pacotes 256
Problemas 262
CAPTULO 12
Estudos de Caso: Equaes Algbricas Lineares 264
12.1 Anlise do Estado Estacionrio de um Sistema de Reatores
(Engenharia Qumica/ Bioengenharia) 264
12.2 Anlise de uma Trelia Estaticamente Determinada
(Engenharia Civil/Ambiental) 267
12.3 Correntes e Voltagens em Circuitos Resistores (Engenharia Eltrica) 269
12.4 Sistemas Massa/Mola (Engenharia Mecnica/Aeroespacial) 271
Problemas 273
EPLOGO: PARTE TRS 282
PT3.4 Prs e Contras 282
PT3.5 Relaes e Frmulas Importantes 283
PT3.6 Mtodos Avanados e Referncias Adicionais 283

PARTE QUATRO
OTIMIZAO 285

PT4.1 Motivao 286


PT4.2 Fundamentos Matemticos 290
PT4.3 Orientao 292
CAPTULO 13
Otimizao Unidimensional sem Restries 294
13.1 Busca da Razo urea 295
13.2 Interpolao Quadrtica 300
13.3 O Mtodo de Newton 302
Problemas 304
CAPTULO 14
Otimizao Multidimensional sem Restries 306
14.1 Mtodos Diretos 306

ix

SUMRIO
14.2 Mtodos Gradiente 310
Problemas 321
CAPTULO 15
Otimizao Restries 323
15.1 Programao Linear 323
15.2 Otimizao com Restries No-lineares 332
15.3 Otimizao com Pacotes 333
Problemas 343
CAPTULO 16
Estudos de Caso: Otimizao 345
16.1 Projeto de Menor Custo de um Tanque (Engenharia Qumica/Bioengenharia) 345
16.2 Tratamento de Baixo Custo para Dejetos Lquidos (Engenharia Civil/Ambiental) 349
16.3 Potncia Mxima Transferida para um Circuito (Engenharia Eltrica) 353
16.4 Projeto de Montain Bike (Engenharia Mecnica/Aeroespacial) 356
Problemas 358
EPLOGO: PARTE QUATRO 363
PT4.4 Prs e Contras 363
PT4.5 Referncias Adicionais 364

PARTE CINCO
AJUSTE DE
CURVAS 366

PT5.1 Motivao 366


PT5.2 Fundamentos Matemticos 368
PT5.3 Orientao 376
CAPTULO 17
Regresso por Mnimos Quadrados 379
17.1 Regresso Linear 379
17.2 Regresso Polinomial 393
17.3 Regresso Linear Mltipla 396
17.4 Mnimos Quadrados Linear Geral 398
17.5 Regresso No Linear 403
Problemas 406
CAPTULO 18
Interpolao 409
18.1 Polinmios Interpoladores por Diferenas Divididas de Newton 409
18.2 Polinmios Interpoladores de Lagrange 419
18.3 Coeficientes de um Polinmio Interpolador 423
18.4 Interpolao Inversa 424
18.5 Comentrios Adicionais 425
18.6 Interpolao por Splines 426
Problemas 436
CAPTULO 19
Aproximao de Fourier 438
19.1
19.2
19.3
19.4
19.5
19.6
19.7

Ajuste de Curvas com Funes Senoidais 439


Srie de Fourier Contnua 444
Domnios de Freqncia e Tempo 447
Integral e Transformada de Fourier 450
Transformada de Fourier Discreta (TFD) 452
Transformada Rpida de Fourier (FFT) 454
O Espectro de Potncia 459

SUMRIO
19.8 Ajuste de Curvas com Bibliotecas e Pacotes 460
Problemas 467
CAPTULO 20
Estudos de Caso: Ajuste de Curvas 470
20.1 Regresso Linear e Modelos Populacionais
(Engenharia Qumica/Bioengenharia) 470
20.2 Uso de Splines para Estimar Transferncia de Calor
(Engenharia Civil/Ambiental) 473
20.3 Anlise de Fourier (Engenharia Eltrica) 475
20.4 Anlise de Dados Experimentais (Engenharia Mecnica/Aeroespacial) 476
Problemas 477
EPLOGO: PARTE CINCO 486
PT5.4 Prs e Contras 486
PT5.5 Relaes e Frmulas Importantes 487
PT5.6 Mtodos Avanados e Referncias Adicionais 489

PARTE SEIS
INTEGRAO
DERIVAO
NUMRICAS 491

PT 6.1 Motivao 491


PT 6.2 Fundamentos Matemticos 499
PT 6.3 Orientao 501
CAPTULO 21
Frmulas de Integrao de Newton-Cotes 504
21.1 A Regra do Trapzio 505
21.2 Regras de Simpson 513
21.3 Integrao com Segmentos Desiguais 521
21.4 Frmulas de Integrao Abertas 524
21.5 Integrais Mltiplas 524
Problemas 526
CAPTULO 22
Integrao de Equaes 528
22.1 Algoritmos de Newton-Cotes para Equaes 528
22.2 Integrao de Romberg 530
22.3 Quadratura de Gauss 534
22.4 Integrais Imprprias 540
Problemas 543
CAPTULO 23
Derivao Numrica 545
23.1 Frmulas de Derivao de Alta Preciso 545
23.2 Extrapolao de Richardson 548
23.3 Derivadas de Dados Desigualmente Espaados 549
23.4 Derivadas e Integrais para Dados com Erros 550
23.5 Integrao e Derivao Numricas com Bibliotecas e Pacotes 551
Problemas 554
CAPTULO 24
Estudos de Caso: Integrao e Derivao Numricas 545
24.1 Integrao para Determinar a Quantidade Total de Calor (Engenharia
Qumica/Bioengenharia) 545
24.2 Fora Efetiva no Mastro de um Veleiro de Corrida
(Engenharia Civil/Ambiental) 559
24.3 Corrente Eficaz por Integrao Numrica (Engenharia Eltrica) 561

xi

xii

SUMRIO
24.4 Integrao Numrica para Calcular o Trabalho
(Engenharia Mecnica/Aeroespacial) 563
Problemas 566
EPLOGO: PARTE SEIS 575
PT6.4 Prs e Contras 575
PT6.5 Relaes e Frmulas Importantes 576
PT6.6 Mtodos Avanados e Referncias Adicionais 576

PARTE SETE
EQUAES
DIFERENCIAIS
ORDINRIAS 578

PT7.1 Motivao 578


PT7.2 Fundamentos Matemticos 582
PT7.3 Orientao 584
CAPTULO 25
Mtodos Runge-Kutta 587
25.1 Mtodo de Euler 588
25.2 Melhorias no Mtodo de Euler 597
25.3 Mtodos de Runge-Kutta 604
25.4 Sistemas de Equaes 612
25.5 Mtodos de Runge-Kutta Adaptativos 617
Problemas 623
CAPTULO 26
Rigidez e Mtodos de Passo Mtiplo 625
26.1 Rigidez 625
26.2 Mtodos de Passo Mltiplo 628
Problemas 646
CAPTULO 27
Problemas de Contorno e de Autovalor 648
27.1 Mtodos Gerais para Problemas de Contorno 649
27.2 Problemas de Autovalor 654
27.3 EDOs e Autovalores com Bibliotecas e Pacotes 664
Problemas 670
CAPTULO 28
Estudos de Caso: Equaes Diferenciais Ordinrias 673
28.1 Usando EDOs para Analisar a Resposta Transiente de um Reator
(Engenharia Qumica/Bioengenharia) 673
28.2 Modelos Predador-Presa e Caos (Engenharia Civil/Ambiental) 788
28.3 Simulando Correntes Transientes para um Circuito Eltrico
(Engenharia Eltrica) 682
28.4 O Pndulo Oscilante (Engenharia Mecnica/Aeroespacial) 686
Problemas 689
EPLOGO: PARTE SETE 695
PT7.4 Prs e Contras 695
PT7.5 Relaes e Frmulas Importantes 696
PT7.6 Mtodos Avanados e Referncias Adicionais 696

PARTE OITO
EQUAES
DIFERENCIAIS
PARCIAIS 699

PT8.1 Motivao 699


PT8.2 Orientao 702

SUMRIO
CAPTULO 29
Diferenas Finitas: Equaes Elpticas 705
29.1 A Equao de Laplace 705
29.2 Tcnicas de Soluo 707
29.3 Condies de Contorno 712
29.4 A Abordagem por Volume de Controle 717
29.5 Software para Resolver Equaes Elpticas 720
Problemas 721
CAPTULO 30
Diferenas Finitas: Equaes Parablicas 722
30.1 A Equao de Conduo do Calor 722
30.2 Mtodos Explcitos 723
30.3 Um Mtodo Implcito Simples 726
30.4 O Mtodo de Crank-Nicolson 730
30.5 Equaes Parablicas em Duas Dimenses Espaciais 732
Problemas 735
CAPTULO 31
Mtodo dos Elementos Finitos 736
31.1 A Abordagem Geral 737
31.2 Aplicao de Elementos Finitos em uma Dimenso Um 740
31.3 Problemas Bidimensionais 748
31.4 Resolvendo EDPs com Bibliotecas e Pacotes 751
Problemas 756
CAPTULO 32
Estudos de Caso: Equaes Diferenciais Parciais 758
32.1 Balano de Massa Unidimensional de um Reator
(Engenharia Qumica/Bioengenharia) 758
32.2 Deflexes em uma Placa (Engenharia Civil/Ambiental) 762
32.3 Problemas de Campo Eletrostticos Bidimensionais (Engenharia Eltrica) 763
32.4 Soluo por Elementos Finitos de uma Srie de Molas
(Engenharia Mecnica/Aeroespacial) 766
Problemas 769
EPLOGO: PARTE OITO 771
PT 8.3 Prs e Contras 771
PT 8.4 Relaes e Frmulas Importantes 771
PT 8.5 Mtodos Avanados e Referncias Adicionais 772
APNDICE A: A SRIE DE FOURIER 773
APNDICE B: INICIAO AO MATLAB 774
BIBLIOGRAFIA 781
NDICE REMISSIVO 785

xiii

PREFCIO
J se passaram 20 anos desde a publicao da primeira edio deste livro. Nesse perodo,
nossa assero de que os mtodos numricos e os computadores figurariam mais proeminentemente nos currculos de engenharia particularmente em seus primeiros anos
se tornou dramaticamente verdadeira. Muitas universidades agora oferecem cursos tanto
em introduo computao quanto de mtodos numricos em seus primeiros trs anos.
Alm disso, muitos de nossos colegas esto integrando problemas orientados para o computador em outros cursos em todos os nveis do currculo. Logo, esta nova edio ainda
est fundamentada na premissa bsica de que preciso oferecer aos estudantes de engenharia uma introduo forte e o mais cedo possvel aos mtodos numricos. Conseqentemente, embora tenhamos expandido nossa cobertura nesta nova edio, tentamos manter muitas das caractersticas que tornaram a primeira edio acessvel a estudantes tanto
do incio quanto do final da graduao. Elas incluem:

Orientao para problemas. Os estudantes de engenharia aprendem melhor


quando motivados por problemas. Isso particularmente verdadeiro para matemtica e computao. Ento, adotamos uma abordagem de uma perspectiva de resoluo de problemas.
Pedagogia Orientada para o Estudante. Desenvolvemos diversas caractersticas para
tornar este livro to amigvel ao estudante quanto possvel. Elas incluem a organizao
geral, o uso das introdues e dos eplogos para consolidar os tpicos principais e o uso
extensivo de exemplos trabalhados e estudos de casos de todas as reas da engenharia.
Tentamos tambm manter nossas explicaes simples e orientadas para a prtica.
Abordagem por Caixas Transparentes. Embora enfatizemos a resoluo de problemas, acreditamos que autolimitante para os engenheiros abordar os algoritmos
numricos como caixas pretas. Assim, inclumos teoria suficiente para permitir que
os usurios entendam os conceitos bsicos por trs dos mtodos. Em particular, enfatizamos a teoria relacionada anlise de erros, as limitaes desses mtodos e os prs
e contras entre os mtodos.
Orientao 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 distino est desaparecendo. Dito isso, este livro ainda enfatiza as visualizaes e os clculos iterativos, que so os marcos dos computadores pessoais.
Capacitao dos Estudantes. Obviamente, introduzimos os estudantes aos recursospadro, prontos para o uso, de pacotes como o Excel e o software MATLAB. Entretanto, tambm mostrado aos estudantes como desenvolver programas simples, bem
estruturados, para estender os recursos bsicos desses ambientes. Esse conhecimento
se transporta para linguagens de programao padro como Visual Basic, Fortran 90
e C/C++. Acreditamos que a fuga da programao de computadores representa um
pouco de uma queda nos currculos de engenharia. O ponto principal que, enquanto
os engenheiros no estiverem satisfeitos em ficar limitados pelas ferramentas, precisaro escrever cdigos. S que agora eles podem ser chamados de macros ou
M-files. Este livro projetado para capacit-los a fazer isso.
xv

xvi

PREFCIO

Alm desses cinco princpios originais, a principal melhoria da quinta edio uma
grande reviso e expanso dos conjuntos de problemas dos finais dos captulos. A maioria dos problemas foi modificada, de modo que fornecem solues numricas diferentes
das edies anteriores. Alm disso, diversos novos problemas foram includos. Como nas
edies anteriores, inclumos tanto problemas matemticos quanto aplicados de todos os
ramos da engenharia. Em todos os casos, nosso propsito fornecer aos estudantes exerccios para verificarem seu entendimento e para ilustrar como os mtodos numricos
podem ajud-los a resolver problemas mais eficientemente.
Como sempre, nossa principal inteno ao escrever este livro fornecer aos estudantes uma slida introduo aos mtodos numricos. Acreditamos que os estudantes
motivados que apreciem os mtodos numricos, a computao e a matemtica iro, no
final, tornar-se melhores engenheiros. Se nosso livro estimular um entusiasmo por esses
assuntos, consideraremos nossos esforos um sucesso.
Agradecimentos. Gostaramos 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 criao desta edio. Como sempre, Beatrice Sussman fez um
excelente trabalho na edio do manuscrito e Michael Ryder fez importantes contribuies durante a produo 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 edies passadas, David Clough (Universidade do Colorado) e Jerry Stedinger (Universidade de Cornell) generosamente compartilharam seu
discernimento e suas sugestes. Sugestes teis tambm foram feitas por Bill Philpot
(Universidade de Cornell), Jim Guilkey (Universidade de Utah), Dong-Il Seo (Universidade Nacional de Chungnam, Coria) e Raymundo Cordero e Karim Muci (ITESM, Mxico). A presente edio tambm se beneficiou das revises e sugestes fornecidas pelos
seguintes colegas:
Ella M. Atkins, University of Maryland
Betty Barr, University of Houston
Florin Bobaru, University of NebraskaLincoln
Ken W. Bosworth, Idaho State University
Anthony Cahill, Texas A&M University
Raymond C. Y. Chin, Indiana UniversityPurdue, 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

PREFCIO

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 sugestes teis das pessoas mencionadas, somos responsveis por quaisquer imprecises ou erros que possam ser detectados nesta edio. Por favor, contate Steve Chapra por e-mail se detectar algum erro.
Finalmente, gostaramos de agradecer a nossa famlia, amigos e estudantes por sua
pacincia e seu apoio permanentes. Em particular, Cyntia Chapra e Claire Canale esto
sempre l, fornecendo compreenso, perspectiva e amor.
Steven C. Chapra
Medford, Massachusetts
steven.chapra@tufts.edu
Raymond P. Canale
Lake Leelanau, Michigan

VISO GERAL DO LIVRO


PT 3.1

PT 3.2
Fundamentos
matemticos

Motivao

PT 3.6
Mtodos
avanados

Para fornecer uma perspectiva dos mtodos numricos,


organizamos o texto em partes e apresentamos
informaes unificadoras nos elementos Motivao,
Fundamentos Matemticos, Orientao e Eplogo.

PT 3.3
Orientao

PARTE 3

9.1
Sistemas
pequenos

9.2
Eliminao de
Gauss ingnua

Equaes
Algbricas
Lineares

PT 3.5
Frmulas
importantes

EPLOGO

9.3
Armadilhas dos
mtodos de
eliminao

CAPTULO 9

9.4
Tcnicas para
melhorar solues

Eliminao
de Gauss

9.5
Sistemas
complexos

PT 3.4
Prs e contras
9.7
Gauss-Jordan

10.1
Decomposio
LU

12.4
Engenharia
mecnica

12.3
Engenharia
eltrica

9.6
Sistemas de
equaes
no-lineares

CAPTULO 12

CAPTULO 10

Estudos de Caso:
Equaes
Algbricas
Lineares

Decomposio LU
e Inverso de
Matrizes

10.2
A matriz
inversa

CAPTULO 11
12.2
Engenharia
civil

10.3
Condicionamento
do sistema

Matrizes Especiais
e Gauss-Seidel
12.1
Engenharia
qumica

11.3
Bibliotecas
e pacotes

11.1
Matrizes
especiais
11.2
GaussSeidel

PROBLEMAS

436

18.6.4 Algoritmo Computacional para Splines Cbicos


O mtodo para calcular splines cbicos delineados na seo anterior ideal para implementao computacional. Lembre-se de que, por algumas manipulaes engenhosas, o
mtodo reduziu o problema resoluo de n 1 equaes simultneas. Um benefcio
adicional da deduo que, como especificado pela Equao (18.37), o sistema de
equaes tridiagonal. Como descrito na Seo 11.1, esto disponveis algoritmos para
resolver tais sistemas de maneira extremamente eficiente. A Figura 18.18 esboa um esquema computacional que incorpora essas caractersticas.
Observe que a rotina na Figura 18.18 retorna um nico valor interpolado, yu, para
um dado valor da varivel independente xu. Essa apenas uma das formas como a interpolao por splines pode ser implementada. Por exemplo, voc poderia querer determinar
os coeficientes uma nica vez e ento fazer muitas interpolaes. Alm disso, a rotina retorna tanto a primeira (dy) quanto a segunda (dy2)derivadas em xu. Embora no seja
necessrio calcular essas quantidades, elas se mostram teis em muitas aplicaes de interpolao por splines.

Todos os captulos contm problemas para casa


novos e revisados. Oitenta por cento dos problemas
so novos ou revisados. No texto, so includos
problemas desafiadores tirados de todas as
disciplinas de engenharia.

PROBLEMAS
18.1 Faa uma estimativa do logaritmo comum de 10 usando interpolao 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 interpolao, calcule o erro relativo percentual baseado no
valor verdadeiro.
18.2 Ajuste um polinmio 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 polinmio interpolador de Newton de 3o grau
usando os dados do Problema 18.1.
18.4 Considere os dados
x
f( )

1,6

2,5

3,2

4,5

14

15

18.9 Use interpolao inversa para determinar o valor de x que corresponde a f (x)  0,85 para os seguintes dados tabulados:
x

f (x)

0,5

0,8

0,9

0,941176

0,961538

7.7 LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES

Observe que os valores na tabela foram gerados com a funo


f (x)  x3(2  x3).
(a) Determine o valor correto analiticamente.
(b) Use interpolao cbica de x em funo de y.
(c) Use interpolao inversa com interpolao quadrtica e a frmula quadrtica.
(d) Use interpolao inversa com interpolao cbica e bisseco.
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 razes de uma
nica equao algbrica ou transcendental. Ele excelente na manipulao e determinao de razes de polinmios.
A funo fzero projetada para localizar uma raiz de uma nica equao. Uma representao simplificada de sua sintaxe
fzero(f,x0,options)

onde f a funo que voc est analisando, x0 a aproximao inicial, e options so os


parmetros de otimizao (estes so mudados usando-se a funo optimset). Se options
for omitido, sero usados valores-padro. Observe que podem ser utilizadas uma ou duas
aproximaes. Se forem usadas duas aproximaes, suposto que elas cerquem uma raiz.
O exemplo a seguir ilustra como fzero pode ser usado.

Sees do texto, bem como problemas para casa,


so dedicados implementao de mtodos
numricos com o Excel da Microsoft e o software
MATLAB do The MathWorks, Inc.

TABELA 7.1 Funes comuns no MATLAB relacionadas com


a localizao de razes e manipulao de
polinmios.

EXEMPLO 7.6

xviii

155

Funo

Descrio

fzero
roots
poly
polyval
polyvalm
residue
polyder
conv
deconv

Raiz de uma nica funo.


Encontra razes de polinmios.
Constri polinmios com razes especificadas.
Calcula valores de polinmios.
Calcula valores de polinmios com argumentos matriciais.
Expanso em fraes parciais (resduos).
Deriva polinmios.
Multiplica polinmios.
Divide polinmios.

Usando o MATLAB para a Localizao de Razes

10.2 A MATRIZ INVERSA

EXEMPLO 10.3

237

Inverso de Matrizes
Enunciado do Problema. Utilize a decomposio 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 decomposio 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 ilustraes passo a passo
de como os mtodos numricos so implementados.

Soluo. A primeira coluna da matriz inversa pode ser determinada efetuando-se o


procedimento de soluo da substituio progressiva com um vetor unitrio (com o 1 na
primeira linha) como vetor do lado direito. Assim, a Equao (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 substituio progressiva para determinar {D}T = 1 0,03333
0,1009. Esse vetor pode ser usado como lado direito na Equao (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 substituio 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 mtodos numricos aos
principais campos da engenharia.

CAPTULO

8
Estudos de Caso:
Razes de Equaes
O propsito deste Captulo usar os procedimentos numricos discutidos nos Captulos
5, 6 e 7 para resolver problemas reais de engenharia. As tcnicas numricas so importantes nas aplicaes prticas porque a engenharia freqentemente encontra problemas
que no podem ser abordados usando-se tcnicas analticas. Por exemplo, modelos
matemticos simples que podem ser resolvidos analiticamente nem sempre so aplicveis
quando problemas reais esto envolvidos. Logo, modelos mais complicados precisam ser
usados. Nesses casos, apropriado implementar uma soluo numrica com o computador. Em outras situaes, problemas de projeto de engenharia exigem solues para as
variveis implcitas em equaes complicadas.
Os estudos de caso a seguir so encontrados rotineiramente nos cursos de graduao
mais avanados e nos de ps-graduao. Alm disso, so representativos dos problemas
tratados profissionalmente. Tais problemas so tirados de quatro ramos importantes da
engenharia: qumica, civil, eltrica e mecnica. Essas aplicaes tambm servem para
ilustrar os prs e contras entre as diversas tcnicas numricas.
A primeira aplicao, tirada da engenharia qumica, fornece um exemplo excelente
de como os mtodos para localizar razes permitem usar frmulas realsticas na prtica da
engenharia. Alm disso, tambm ilustra como a eficincia da tcnica de Newton-Raphson
usada com vantagem quando um grande nmero de localizaes de razes necessrio.
Os problemas de projeto em engenharia seguintes so tirados da engenharia civil,
eltrica e mecnica. A Seo 8.2 usa tanto os mtodos que isolam as razes em intervalos
quanto os mtodos abertos para determinar a profundidade e a velocidade da gua escoando em um canal aberto. A Seo 8.3 mostra como as razes das equaes transcendentais podem ser utilizadas no projeto de um circuito eltrico. As Sees 8.2 e 8.3 tambm ilustram como os mtodos grficos fornecem percepo do processo de localizao
de razes. Finalmente, a Seo 8.4 usa a localizao de razes de polinmios para analisar
a vibrao de um automvel.

8.1 LEIS DOS GASES IDEAIS E NO-IDEAIS (ENGENHARIA


QUMICA E BIOQUMICA)
Fundamentos. A lei dos gases ideais dada por
pV = nRT

(8.1)

Recursos Disponveis no Site


O Online Learning Center (Centro de Aprendizagem Online) no
endereo www.mhhe.com/chapra oferece recursos para o estudante e
para o professor. Esses materiais esto disponveis em ingls e alguns
so 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 (divulgacao_brasil@mcgraw-hill.com). Na Europa, a senha deve ser
obtida junto McGraw-Hill de Portugal (servico_clientes@mcgraw-hill.com).
Todos os softwares utilizados nos recursos on-line foram desenvolvidos pela McGraw-Hill dos EUA.
A McGraw-Hill Interamericana do Brasil no 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 tcnico 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 posio de Louis Berger Chair na Computao 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 Agncia
de Proteo Ambiental e para a Administrao Nacional Atmosfrica e Ocenica 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
aplicaes computacionais avanadas na engenharia ambiental.
Ele recebeu diversos prmios por suas contribuies acadmicas, incluindo a
medalha Rudolph Hering (ASCE) de 1993 e o Prmio de Autor Notvel da MeriamWiley de 1987 (Sociedade Norte-Americana para Educao em Engenharia). Tambm foi
reconhecido como um professor destacado entre o corpo docente tanto da Universidade
A&M do Texas (Prmio Tenneco de 1986) quanto da Universidade do Colorado (Prmio
Hutchinson de 1992).
Raymond P. Canale professor emrito da Universidade de Michigan. Durante sua
carreira de mais de 20 anos na universidade, e ministrou diversos cursos na rea de computadores, mtodos numricos e engenharia ambiental. Tambm dirigiu programas de
pesquisa extensivos na rea de modelagem matemtica e computacional de ecossistemas
aquticos. Ele foi autor ou co-autor de diversos livros e publicou mais de cem artigos e relatrios cientficos. Tambm projetou e desenvolveu software para computadores pessoais para facilitar a educao em engenharia e a soluo de problemas de engenharia. Ele
ganhou o Prmio de Autor Notvel da Meriam-Wiley da Sociedade Norte-Americana
para Educao em Engenharia por seus livros e software e diversos prmios por suas publicaes tcnicas.
O professor Canale est atualmente dedicando suas energias a problemas aplicados, nos quais trabalha com empresas e indstrias de engenharia e agncias governamentais como consultor e perito.

xxi

PT1.1 MOTIVAO

PARTE UM

MODELAGEM,
COMPUTADORES E ANLISE
DE ERROS
PT1.1 MOTIVAO
Os mtodos numricos so tcnicas pelas quais os problemas matemticos so formulados de modo que possam ser resolvidos com operaes aritmticas. Embora existam
muitos tipos de mtodos numricos, eles tm uma caracterstica em comum: invariavelmente envolvem grande nmero de clculos aritmticos tediosos. No nada surpreendente que, com o desenvolvimento de computadores digitais rpidos e eficientes, o papel
dos mtodos numricos na resoluo de problemas de engenharia aumentou dramaticamente nos ltimos anos.
PT1.1.1 Mtodos No-computacionais
Alm de fornecer uma capacidade computacional aumentada, a disponibilidade muito difundida dos computadores (especialmente dos computadores pessoais) e a parceria com
mtodos numricos vm tendo uma influncia significativa na resoluo moderna de
problemas de engenharia. Na era antes do computador, em geral havia trs formas diferentes pelas quais os engenheiros abordavam a soluo de problemas:
1. As solues eram deduzidas para alguns problemas usando-se mtodos analticos ou
exatos. Essas solues eram freqentemente teis e forneciam uma viso excelente do
comportamento de alguns sistemas. Entretanto, as solues analticas podem ser
deduzidas apenas para uma classe limitada de problemas, que incluem os que podem
ser aproximados por modelos lineares e aqueles que tm uma geometria simples e
dimenso baixa. Conseqentemente, as solues analticas tm valor prtico limitado
porque, em sua maioria, os problemas reais so no-lineares e envolvem formas e
processos complexos.
2. As solues grficas eram usadas para caracterizar o comportamento dos sistemas;
em geral, elas tinham a forma de grficos ou nomgrafos. Embora as solues
grficas freqentemente possam ser usadas para resolver problemas complexos, os
resultados no so muito precisos. Alm disso, solues grficas (sem a ajuda de
computadores) so extremamente tediosas e inconvenientes para implementar.
Finalmente, as tcnicas grficas, com freqncia, so limitadas a problemas que
podem ser descritos usando-se trs dimenses ou menos.
3. Calculadoras e regras de clculos eram usadas para implementar os mtodos
numricos manualmente. Embora, em teoria, tais abordagens fossem perfeitamente
adequadas para resolver problemas complexos, na realidade, eram encontradas
muitas dificuldades. Os clculos manuais so lentos e tediosos. Alm disso,
resultados consistentes so esquivos por causa de enganos simples que acontecem
quando tarefas manuais numerosas so realizadas.
Na era pr-computador, uma quantidade significativa de energia era gasta na tcnica
de resoluo propriamente dita, em vez de na definio e interpretao do problema
(Figura PT1.1a). Essa situao lamentvel existia porque muito tempo e trabalho pesado
eram necessrios para obter respostas numricas usando-se as tcnicas pr-computador.
Hoje em dia, os computadores e os mtodos numricos fornecem uma alternativa
para tais clculos complicados. Usando o poder do computador para obter diretamente
solues, possvel abordar esses clculos sem o recurso de hipteses simplificadoras ou
2

PT1.1 MOTIVAO

FORMULAO
As leis fundamentais
eram explicadas
resumidamente

SOLUO

FIGURA PT1.1
H trs fases de resoluo de
problemas de engenharia (a)
na era pr-computador e (b) na
era do computador. O tamanho
das caixas indica o nvel de
nfase direcionada a cada
fase. Os computadores
facilitaram a implementao
da tcnica de resoluo e,
portanto, permitiram mais
nfase nos aspectos criativos
da formulao do problema e
na interpretao dos resultados.

Mtodo elaborado e, em geral,


complicado para tornar os
problemas tratveis

FORMULAO
Exposio profunda da
relao entre o problema
e as leis fundamentais

SOLUO
Mtodo
computacional
fcil de usar

INTERPRETAO

INTERPRETAO

Anlise profunda
limitada pela
soluo demorada

Facilidade de clculos permite o


desenvolvimento de pensamentos
holsticos e da intuio; a
sensibilidade e o comportamento
do sistema podem ser estudados

(a)

(b)

tcnicas para economizar tempo. Embora as solues analticas ainda sejam extremamente valiosas tanto para solues dos problemas quanto para fornecer uma viso geral,
os mtodos numricos representam alternativas que aumentam enormemente os recursos
para confrontar e resolver problemas. Como resultado, mais tempo fica disponvel para
ser usado em habilidades criativas. Portanto, mais nfase pode ser posta na formulao do
problema e na interpretao da soluo e na incorporao do sistema total, ou percepo
holstica (Figura PT1.1b).
PT1.1.2 MTODOS NUMRICOS E PRTICA DA ENGENHARIA
Desde o fim da dcada de 1940, a vasta disponibilidade dos computadores digitais levou
a uma verdadeira exploso no uso e desenvolvimento dos mtodos numricos. Inicialmente, esse crescimento foi um pouco limitado pelo custo do acesso a computadores de
grande porte conseqentemente, muitos engenheiros continuaram a usar a abordagem
analtica simples em uma parte significativa do seu trabalho. claro que a recente
evoluo dos computadores pessoais baratos forneceu pronto acesso a recursos computacionais poderosos. Existem diversas razes adicionais pelas quais se deve estudar mtodos numricos:
1. Os mtodos numricos so ferramentas extremamente poderosas na resoluo de
problemas. Eles so capazes de lidar com um grande nmero de equaes, nolinearidades e geometrias complicadas que no so incomuns na prtica da
engenharia e, em geral, so impossveis de resolver analiticamente. Dessa forma, eles
aumentam enormemente a capacidade de resolver problemas.
2. Durante a carreira, o profissional da engenharia freqentemente ter ocasio de usar
pacotes comercialmente disponveis, ou programas de computador enlatados que
envolvem mtodos numricos. O uso inteligente desses programas depende, com
freqncia, do conhecimento da teoria bsica fundamental dos mtodos.

MODELAGEM, COMPUTADORES E ANLISE DE ERROS

3. Muitos problemas no podem ser abordados utilizando programas enlatados. Se o


engenheiro estiver familiarizado com mtodos numricos e souber programar o
computador, poder projetar seu prprio programa para resolver problemas sem ter de
comprar ou contratar softwares caros.
4. Os mtodos numricos so um veculo 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 mtodos numricos so, na
maior parte, projetados para implementao em computadores, eles se mostram ideais
para esse propsito. Alm disso, so especialmente adequados para ilustrar o poder e
as limitaes dos computadores. Quando se implementam com sucesso mtodos
numricos em um computador e, ento, eles so aplicados para resolver problemas
intratveis de outra forma, tem-se acesso a uma demonstrao dramtica de como os
computadores podem ajudar o desenvolvimento profissional. Ao mesmo tempo,
aprende-se a identificar e a controlar os erros das aproximaes, que so parte
essencial de clculos numricos em grande escala.
5. Os mtodos numricos fornecem um veculo para o profissional reforar seu
entendimento da matemtica. Como uma funo dos mtodos numricos reduzir a
matemtica mais avanada a operaes aritmticas bsicas, eles chegam aos detalhes
prticos de alguns tpicos que, de outra forma, seriam obscuros. Aprimoramento do
entendimento e da percepo pode resultar dessa perspectiva alternativa.

PT1.2 FUNDAMENTOS MATEMTICOS


Todas as partes deste livro usam alguns fundamentos matemticos. Conseqentemente, o
material introdutrio para cada parte inclui uma seo, como a presente seo, sobre fundamentos matemticos. Como a Parte Um propriamente dita devotada reviso de material em matemtica e computadores, esta seo no envolve uma reviso de um tpico
matemtico especfico. Em vez disso, aproveita-se a oportunidade para introduzir o tipo
de assuntos da matemtica cobertos neste livro. Como resumido na Figura PT1.2, esses
assuntos so:
1. Razes de Equaes (Figura PT1.2a). Esses problemas dizem respeito ao valor de
uma varivel ou a um parmetro que satisfaz uma nica equao no-linear. Eles so
especialmente importantes no contexto de projetos de engenharia, em que
freqentemente impossvel resolver explicitamente as equaes para os parmetros
do projeto.
2. Sistemas de Equaes Algbricas Lineares (Figura PT1.2b). Esses problemas so
similares aos das razes de equaes, no sentido de que dizem respeito aos valores
que satisfazem tais equaes. Entretanto, em contraste a satisfazer uma nica
equao, procurado um conjunto de valores que satisfaa simultaneamente um
conjunto de equaes algbricas lineares. Essas equaes aparecem em uma grande
variedade de contextos de problemas e em todas as disciplinas da engenharia. Em
particular, elas se originam na modelagem matemtica de grandes sistemas de
elementos interconectados, como estruturas, circuitos eltricos e redes de fluidos.
Entretanto, tambm so encontradas em outras reas dos mtodos numricos, como
ajustes de curva e equaes diferenciais.
3. Otimizao (Figura PT1.2c). Esses problemas envolvem a determinao de um valor
ou valores de uma varivel independente que corresponde ao melhor valor ou ao
valor timo de uma funo. Portanto, como na Figura PT1.2c, a otimizao envolve
a identificao de mximos e mnimos. Tais problemas ocorrem rotineiramente no
contexto de projetos de engenharia. Eles tambm aparecem em uma variedade de
outros mtodos numricos. A otimizao sem restries tratada tanto em uma
varivel quanto em muitas variveis. Tambm descrita a otimizao restrita, com
nfase particular na programao linear.

PT1.2 FUNDAMENTOS MATEMTICOS

(a) Parte 2: Razes de equaes

f(x)

Resolva f(x) = 0 determinando x.

Raiz
x

(b) Parte 3: Equaes algbricas lineares


x2

Dados os as e os cs, resolva


a11x1 + a12x2 = c1
a21x1 + a22x2 = c2
para determinar os xs.

Soluo

x1

(c) Parte 4: Otimizao


Determine x que d o valor timo de f(x).

f(x)

Mnimo
x

(d) Parte 5: Ajuste de curvas


f(x)

f(x)

Interpolao

Regresso
x

(e) Parte 6: Integrao


I = ab f (x) dx
Encontre a rea sob a curva.

x
f(x)

I
x

( f ) Parte 7: Equaes diferenciais ordinrias

Dada
dy
y

= f (t, y)
dt
t

Inclinao =
f(t i , y i )

resolva, encontrando y como funo de t.


yi + 1 = yi + f (ti , yi ) t

t
ti

(g) Parte 8: Equaes diferenciais parciais

ti + 1

Dada
2u + 2u
= f (x, y)
x2
y2
resolva, encontrando u como funo
de x e y

FIGURA PT1.2
Resumo dos mtodos numricos
cobertos neste livro.

MODELAGEM, COMPUTADORES E ANLISE DE ERROS

4. Ajuste de Curvas (Figura PT1.2d). Freqentemente necessrio ajustar curvas a


conjuntos de dados. As tcnicas desenvolvidas para esse propsito podem ser
divididas em duas categorias gerais: regresso e interpolao. A regresso
empregada quando existe um grau significativo de erro associado aos dados. Os
resultados experimentais so geralmente desse tipo. Para tais situaes, a estratgia
desenvolver uma nica curva que represente a tendncia geral dos dados, sem
necessariamente coincidir com nenhum ponto individual. Em contraste, a
interpolao usada quando o objetivo determinar valores intermedirios entre
dados relativamente livres de erros usualmente, o caso para informaes
tabuladas. Para tais situaes, a estratgia ajustar a curva diretamente pelos pontos
dados e usar essa curva para prever os valores intermedirios.
5. Integrao (Figura PT1.2e). Como descrito, uma interpretao fsica de integrao
numrica a determinao da rea sob a curva. A integrao tem muitas aplicaes
na prtica da engenharia, variando da determinao de centrides de objetos de forma
estranha a clculos de quantidades totais baseados em conjuntos de medidas
discretas. Alm disso, as frmulas de integrao numrica desempenham um papel
importante na soluo de equaes diferenciais.
6. Equaes Diferenciais Ordinrias (Figura PT1.2f). As equaes diferenciais
ordinrias tm um grande significado na prtica da engenharia, e isso ocorre porque
muitas leis fsicas so descritas em termos da taxa de variao de uma quantidade em
vez do valor da quantidade propriamente dita. Os exemplos variam de modelos de
previso populacional (taxa de variao da populao) acelerao de um corpo em
queda livre (taxa de variao da velocidade). Dois tipos de problemas so tratados:
problemas de valor inicial e valor de contorno. Alm disso, o clculo de autovalores
tambm coberto.
7. Equaes Diferenciais Parciais (Figura PT1.2g). As equaes diferenciais parciais
so usadas para caracterizar sistemas de engenharia nos quais o comportamento de
uma quantidade fsica determinado pela sua taxa de variao em relao a duas ou
mais variveis independentes. Os exemplos incluem a distribuio estacionria de
temperaturas em uma chapa aquecida (duas dimenses espaciais) ou a temperatura
dependendo do tempo de uma haste aquecida (tempo e uma dimenso espacial). Duas
abordagens fundamentalmente diferentes so empregadas para resolver equaes
diferenciais parciais numericamente. Neste texto, sero enfatizados os mtodos de
diferena finita, que aproximam a soluo de maneira pontual (Figura PT1.2g).
Entretanto, tambm ser apresentada uma introduo aos mtodos de elementos
finitos, que usam uma abordagem por partes.

PT1.3 ORIENTAO
Alguma orientao pode ser til antes de prosseguir com a introduo aos mtodos
numricos. O que segue deve ser visto como uma viso geral do material na Parte Um.
Alm disso, alguns objetivos foram includos para focalizar os esforos do aluno ao estudar este material.
PT1.3.1 Escopo e Viso Geral
A Figura PT1.3 uma representao esquemtica do material na Parte Um. Esse diagrama foi projetado para fornecer uma viso global desta parte do livro. O sentido de
perspectiva geral crtico no desenvolvimento da intuio nos mtodos numricos.
Quando se l um texto, fcil perder-se nos detalhes tcnicos. 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 tambm serve como uma breve apresentao prvia do material
coberto na Parte Um. O Captulo 1 foi projetado para orientar o estudante nos mtodos
numricos e para fornecer motivao, mostrando como essas tcnicas podem ser usadas
no processo de modelagem da engenharia. O Captulo 2 uma introduo e reviso de
aspectos dos mtodos numricos relacionados com o computador e sugere o nvel de ha-

PT1.3 ORIENTAO

PT 1.1
Motivao

PT 1.2
Fundamentos
matemticos

PT 1.3
Orientao

1.1
Um modelo
matemtico simples

PARTE 1
Modelagem,
Computadores e
Anlise
de Erros

PT 1.6
Mtodos
avanados

PT 1.5
Relao e frmulas
importantes

1.2
Leis de
conservao
e engenharia

CAPTULO 1
Modelagem
Matemtica e
Resoluo de
Problemas de
Engenharia

EPLOGO
PT 1.4
Prs e contras

2.1
Pacotes e
programao
4.4
Enganos, erros
de formulao e
incerteza nos dados

4.3
Erro numrico
total

2.2
Programao
estruturada

CAPTULO 4
Erros de
Truncamento
e Sries de Taylor

CAPTULO 2
Programao
e Software

4.2
Propagao
de erros

2.4
Excel

CAPTULO 3
Aproximaes e
Erros de
Arredondamento

4.1
A srie de
Taylor
3.4
Erros de
arredondamento

3.3
Definio
de erros

2.3
Programao
modular

2.6
Linguagens e
bibliotecas

2.5
MATLAB

3.1
Algarismos
significativos
3.2
Acurcia e
preciso

FIGURA PT1.3
Esquema da organizao do material da Parte Um: Modelagem, Computadores e Anlise de Erros.

bilidades computacionais que necessrio adquirir para aplicar de forma eficiente as informaes que vm a seguir. Os Captulos 3 e 4 dizem respeito ao importante tpico da
anlise de erros, que precisa ser entendido para o uso eficiente dos mtodos numricos.
Alm disso, includo um eplogo, no qual so introduzidos os prs e contras, que tm
um grande significado para a implementao efetiva dos mtodos numricos.
PT1.3.2 Metas e Objetivos
Objetivos de Estudo. Aps completar a Parte Um, o estudante dever estar adequadamente preparado para embarcar em seus estudos sobre os mtodos numricos. Em geral,
deve ter adquirido um entendimento fundamental sobre a importncia dos computadores
e sobre o papel das aproximaes e dos erros na implementao e no desenvolvimento
dos mtodos numricos. Alm dessas metas gerais, deve ter dominado cada um dos objetivos de estudo especficos listados na Tabela PT1.1.

MODELAGEM, COMPUTADORES E ANLISE DE ERROS


TABELA PT1.1 Objetivos de estudo especficos para a Parte Um.
1. Reconhecer a diferena entre solues analtica e numrica.
2. Entender como as leis de conservao so empregadas para desenvolver modelos matemticos do
sistema fsico.
3. Definir projeto por refinamento e modular.
4. Definir as regras que fundamentam a programao estruturada.
5. Ser capaz de compor programas estruturados e modulares em uma linguagem de computao de
alto nvel.
6. Saber como traduzir fluxogramas estruturados e pseudocdigos para cdigos em uma linguagem de
alto nvel.
7. Comear a se familiarizar com todos os pacotes de software que sero usados junto com este texto.
8. Reconhecer a distino entre erros de truncamento e de arredondamento.
9. Entender os conceitos de algarismos significativos, acurcia e preciso.
10. Reconhecer a diferena entre erro relativo verdadeiro t, erro relativo aproximado a, e erro aceitvel
s, e entender como a e s so usados para finalizar um clculo iterativo.
11. Entender como os nmeros so representados em computadores digitais e como essa representao
induz a erros de arredondamento. Em particular, saber a diferena entre preciso simples e estendida.
12. Reconhecer como a aritmtica do computador pode introduzir e ampliar erros de arredondamento
nos clculos. Em particular, analisar o problema do cancelamento na subtrao.
13. Entender como a srie de Taylor e seu resto so empregados para representar funes contnuas.
14. Saber a relao entre as diferenas divididas finitas e as derivadas.
15. Ser capaz de analisar como os erros se propagam por meio das relaes funcionais.
16. Estar familiarizado com os conceitos de estabilidade e condicionamento.
17. Familiarizar-se com os prs e contras delineados no Eplogo da Parte Um.

Objetivos Computacionais. Quando completar a Parte Um, o estudante deve ter


adquirido habilidades computacionais suficientes para desenvolver seu prprio software
para os mtodos numricos neste texto. Deve ser capaz de desenvolver programas de computador bem estruturados e confiveis com base em pseudocdigo, fluxogramas e outras
formas de algoritmos. Tambm deve ter desenvolvido a capacidade de documentar seus
programas de forma que eles possam ser usados efetivamente pelos usurios. Finalmente,
alm dos seus prprios programas, o aluno pode usar pacotes de softwares juntamente com
este livro. Os pacotes como Excel ou The MathWorks, Inc. MATLAB so exemplos de
tais softwares. O estudante deve estar familiarizado com esses pacotes, de forma que possa
us-los confortavelmente para resolver problemas numricos mais adiante neste texto.

CAPTULO

1
Modelagem Matemtica e
Resoluo de Problemas de
Engenharia
O conhecimento e o entendimento so pr-requisitos para a implementao efetiva de
qualquer ferramenta. No importa quo incrvel seja sua caixa de ferramentas, voc ter
dificuldades para consertar um carro se no entender como ele funciona.
Isso particularmente verdade quando se usam computadores para resolver problemas de engenharia. Embora tenham uma utilidade potencial imensa, os computadores so
praticamente inteis sem um entendimento fundamental de como os sistemas da engenharia funcionam.
Esse conhecimento adquirido inicialmente de forma emprica isto , por observao e experincia. Entretanto, embora tal informao adquirida empiricamente seja
essencial, ela apenas metade da histria. Durante anos e anos de observao e experincia, os engenheiros e cientistas notaram que certos aspectos dos seus estudos empricos
ocorrem repetidamente. Tal comportamento geral pode ento ser expresso como leis fundamentais que essencialmente representam o conhecimento acumulado da experincia
passada. Portanto, a resoluo da maioria dos problemas de engenharia usa uma abordagem com as duas vertentes, a do empirismo e a da anlise terica (Figura 1.1).
Deve ser enfatizado que as duas vertentes so intimamente ligadas. Conforme novas
medidas so feitas, as generalizaes podem ser modificadas, ou novas generalizaes
desenvolvidas. Analogamente, as generalizaes podem ter uma forte influncia nas
experincias e observaes. Em particular, as generalizaes podem servir como princpios organizatrios empregados para resumir resultados de observaes e experincias
em uma estrutura coerente e abrangente, a partir das quais so tiradas concluses. Da
perspectiva de resoluo de problemas de engenharia, tal estrutura mais til quando
expressa na forma de um modelo matemtico.
O objetivo primrio deste captulo introduzi-lo modelagem matemtica e ao seu
papel na resoluo de problemas de engenharia. Vamos tambm ilustrar como os mtodos
numricos figuram no processo.

1.1

UM MODELO MATEMTICO SIMPLES


Um modelo matemtico pode ser definido, de forma geral, como uma formulao ou
equao que expressa as caractersticas essenciais de um sistema ou processo fsico em
termos matemticos. Em um sentido muito geral, ele pode ser representado como uma
relao funcional da forma
Varivel
= f
dependente

Variveis
termos
, parmetros,
independentes
forantes


(1.1)

onde a varivel dependente uma caracterstica que usualmente reflete o comportamento


ou estado do sistema; as variveis independentes usualmente so dimenses, como tempo
e espao, ao longo das quais o comportamento do sistema est sendo determinado; os
parmetros refletem propriedades ou composio do sistema; os termos forantes so as
influncias externas agindo sobre o sistema.
9

10

MODELAGEM MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

Definio
do problema

Modelo
matemtico

TEORIA

DADOS

Ferramentas para a resoluo


de problemas: computadores,
estatstica, mtodos
numricos, grficos etc.

Resultados
numricos ou
grficos
Interface social:
planejamento, otimizao,
comunicao,
interao com o pblico etc.

FIGURA 1.1
O processo de resolver
problemas de engenharia.

Implementao

A expresso matemtica real da Equao (1.1) pode variar de uma simples relao
algbrica a um conjunto grande e complicado de equaes diferenciais. Por exemplo,
com base em suas observaes, Newton formulou sua segunda lei do movimento, que
afirma que a taxa de variao no tempo do momento de um corpo igual fora resultante agindo nele. A expresso matemtica, ou modelo, da segunda lei a equao bem
conhecida
F = ma

(1.2)

onde F a fora resultante agindo no corpo (N, ou kg m/s2), m  massa do objeto (kg) e
a a sua acelerao (m/s2).
A segunda lei pode ser reescrita na forma da Equao (1.1) simplesmente dividindo
ambos os lados por m para obter
a=

F
m

(1.3)

onde a a a varivel dependente refletindo o comportamento do sistema, F o termo


forante e m um parmetro representando uma propriedade do sistema. Observe que,
para esse caso simples, no h nenhuma varivel independente, porque no estamos prevendo como a acelerao varia no tempo ou no espao.
A Equao (1.3) tem diversas caractersticas que so tpicas de modelos matemticos
do mundo fsico:
1.
2.

Ela descreve um processo ou sistema natural em termos matemticos.


Ela representa uma idealizao e simplificao da realidade. Isto , o modelo ignora
detalhes desprezveis do processo natural e se concentra nas suas manifestaes
essenciais. Portanto, a segunda lei no inclui os efeitos da relatividade, que so de
importncia mnima quando aplicados a objetos e foras que interagem sobre a ou
perto da superfcie da Terra, com velocidades e em escalas visveis aos humanos.

1.1 UM MODELO MATEMTICO SIMPLES


FU

FD

FIGURA 1.2
Diagrama esquemtico das
foras agindo em um praquedista em queda livre. FD a
fora devida gravidade, para
baixo. FU a fora devida
resistncia do ar, para cima.

3.

11

Finalmente, ela produz resultados que podem ser reproduzidos e, conseqentemente, ser usados para propsitos de previso. Por exemplo, se a fora sobre um objeto
e a massa de um objeto so conhecidas, a Equao (1.3) pode ser usada para calcular
a acelerao.

Por causa de sua forma algbrica simples, a soluo da Equao (1.2) facilmente
obtida. Entretanto, outros modelos matemticos de fenmenos fsicos podem ser
muito mais complexos e, ou no podem ser resolvidos exatamente, ou exigem tcnicas
matemticas mais sofisticadas que a lgebra simples para sua soluo. 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 superfcie da Terra.
Nosso corpo em queda livre ser um pra-quedista (Figura 1.2). Um modelo para esse
caso pode ser deduzido expressando a acelerao como taxa de variao no tempo da
velocidade (dv/dt) e substituindo-a na Equao (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
variao da velocidade igual fora resultante agindo no corpo. Se a fora resultante for
positiva, o objeto ir acelerar. Se for negativa, o objeto vai desacelerar. Se a fora resultante for nula, a velocidade do objeto permanecer em um nvel constante.
A seguir, vamos expressar a fora resultante em termos das variveis e parmetros
mensurveis. Para um corpo em queda livre na vizinhana da Terra (Figura 1.2), a fora
resultante composta de duas foras opostas: a fora gravitacional, para baixo, FD e a
fora da resistncia do ar, para cima, FU :
F = FD + FU

(1.5)

Se associarmos um sinal positivo fora para baixo, a segunda lei pode ser usada
para escrever a fora devida gravidade como
FD = mg

(1.6)

onde g a constante gravitacional, ou a acelerao devida gravidade, que aproximadamente igual a 9,8 m/s2.
A resistncia 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
FU = cv

(1.7)

onde c uma constante de proporcionalidade chamada de coeficiente de arrasto (kg/s).


Portanto, quanto maior a velocidade de queda, maior a fora para cima devida resistncia do ar. O parmetro c representa as propriedades de objetos em queda livre, como a
forma ou a aspereza da superfcie, que afetam a resistncia do ar. No caso presente, c
poderia ser uma funo do tipo de macaco ou da orientao usada pelo pra-quedista durante a queda livre.
A fora resultante a diferena entre a fora para baixo e a fora para cima. Portanto,
as Equaes (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.9)

Na realidade, a relao realmente no-linear e poderia ser mais bem representada por uma relao do tipo
potncia, como FU  cv2. Vamos explorar como tais no-linearidades afetam o modelo em um problema no
final deste captulo.

MODELAGEM MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

12

A Equao (1.9) um modelo que relaciona a acelerao do objeto em queda s


foras agindo nele. Ela uma equao diferencial porque escrita em termos da taxa de
variao diferencial (dv/dt ) da varivel que estamos interessados em prever. Entretanto,
em contraste com a soluo da segunda lei de Newton na Equao (1.3), a soluo exata
da Equao (1.9) para a velocidade de um pra-quedista em queda livre no pode ser
obtida usando manipulao algbrica simples. Em vez disso, tcnicas mais avanadas
como aquelas do clculo devem ser aplicadas para se obter uma soluo exata ou
analtica. Por exemplo, se o pra-quedista estiver inicialmente em repouso (v = 0 em
t = 0), o clculo pode ser usado para resolver a Equao (1.9), fornecendo

gm 
v(t) =
1 e(c/m)t
(1.10)
c
Observe que a Equao (1.10) est escrita na forma geral da Equao (1.1), onde
v(t) a varivel independente, t a varivel independente, c e m so parmetros, e g o
termo forante.
EXEMPLO 1.1

Soluo Analtica para o Problema do Pra-quedista em Queda Livre


Enunciado do Problema. Um pra-quedista de massa 68,1 kg pula de um balo de ar
quente parado. Use a Equao (1.10) para calcular a velocidade anterior abertura do
pra-quedas. O coeficiente de arrasto igual a 12,5 kg/s.
Soluo.

Inserindo os parmetros na Equao (1.10), obtemos





9,8(68,1) 
1 e(12,5/68,1)t = 53,39 1 e0,18355t
v(t) =
12,5

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 pra-quedista acelera rapidamente (Figura 1.3). Uma velocidade de 44,87 m/s (100,4 mi/h) atingida aps 10 s. Observe tambm que, aps 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 fora da gravidade estar em equilbrio com a resistncia do ar. Portanto, a fora
resultante nula e a acelerao deixa de existir.

A Equao (1.10) chamada uma soluo analtica ou exata porque ela satisfaz
exatamente a equao diferencial original. Infelizmente, existem muitos modelos
matemticos que no podem ser resolvidos exatamente. Em muitos desses casos, a nica
alternativa desenvolver uma soluo numrica que aproxime a soluo exata.
Como mencionado previamente, os mtodos numricos so aqueles nos quais os
problemas matemticos so reformulados de forma que possam ser resolvidos por operaes aritmticas. Isso pode ser ilustrado para a segunda lei de Newton, observando que
a taxa de variao 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 MATEMTICO SIMPLES

13

Velocidade terminal

v, m/s

40

20

FIGURA 1.3
A soluo analtica do
problema do pra-quedista em
queda livre, como calculada no
Exemplo 1.1. A velocidade
aumenta com o tempo e se
aproxima assintoticamente da
velocidade terminal.

12

t, s

onde v e t so diferenas 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 clculo, que
v
dv
= lim
t0 t
dt
A Equao (1.11) representa o processo reverso.
A Equao (1.11) chamada de aproximao por diferena dividida finita da
derivada no instante ti . Ela pode ser substituda na Equao (1.9) para fornecer
v(ti+1 ) v(ti )
c
= g v(ti )
ti+1 ti
m
Esta equao 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 diferena finita
para aproximar a primeira
derivada de v com relao a t.

v(ti +1)

(1.12)

Inclinao
verdadeira
dv/dt

v

Inclinao aproximada
v(ti )

v v(ti +1) v(ti )


= t t
i +1
i
t

ti +1

ti
t

MODELAGEM MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

14

Observe que o termo entre colchetes o lado direito da equao diferencial propriamente dita [Equao (1.9)]. Isto , ela fornece um meio de calcular a taxa de variao
ou a inclinao de v. Portanto, a equao diferencial foi transformada em uma equao
que pode ser usada para determinar algebricamente a velocidade em ti+1 usando a inclinao 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 clculo da velocidade a ti+2 , e assim por diante. Portanto, em qualquer instante ao longo
do caminho,
Valor novo  valor velho  inclinao  tamanho do passo
Observe que essa abordagem chamada oficialmente de mtodo de Euler.
EXEMPLO 1.2

Soluo Numrica para o Problema do Pra-quedista em Queda Livre


Enunciado do Problema. Faa os mesmos clculos que no Exemplo 1.1, mas use a
Equao (1.12) para calcular a velocidade. Use um passo de tamanho 2 s para os clculos.
Soluo. No incio dos clculos (ti = 0), a velocidade do pra-quedista zero. Usando essa informao e os valores dos parmetros do Exemplo 1.1, a Equao (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 clculos so repetidos, com o resultado


12,5
v = 19,60 + 9,8
(19,60) 2 = 32,00 m/s
68,1
Continua-se os clculos, de forma anloga, para se obter valores adicionais:
t, s
0
2
4
6
8
10
12


v, m/s
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 soluo


exata. Pode-se ver que o mtodo numrico retrata as caractersticas essenciais da soluo exata. Entretanto, como foram usados segmentos de retas para aproximar uma
funo que se curva continuamente, existe alguma discrepncia entre os dois resultados.
Uma forma de minimizar tais discrepncias seria usar um passo de tamanho menor. Por
exemplo, a aplicao da Equao (1.12) em intervalos de 1 s resulta em um erro menor,
j que os segmentos de retas seguem a soluo verdadeira mais de perto. Fazendo-se os
clculos mo, o esforo associado ao uso de passos cada vez menores tornaria tais
solues numricas no-prticas. Entretanto, com o auxlio do computador, grandes
nmeros de clculos podem ser feitos facilmente. Portanto, pode-se modelar com exatido a velocidade do pra-quedista em queda livre sem ter de resolver a equao diferencial exatamente.

Como no exemplo anterior, para resultados numricos mais acurados, deve-se pagar
o preo computacional. Cada vez que dividirmos o tamanho do passo pela metade, para
obter mais acurcia teremos de fazer o dobro do nmero de clculos. Assim, vemos que

1.2 LEIS DE CONSERVAO E ENGENHARIA

15

Velocidade terminal
Soluo numrica, aproximada

v, m/s

40

Soluo analtica, exata


20

FIGURA 1.5
Comparao das solues
numricas e analticas do
problema do pra-quedista
em queda livre.

12

t, s

h um balanceamento entre a acurcia e o esforo computacional. Tais prs e contras


figuram de forma proeminente nos mtodos numricos e constituem um tema importante
neste livro. Conseqentemente, devotamos o Eplogo da Parte Um a uma introduo a
mais desses prs e contras.

1.2

LEIS DE CONSERVAO E ENGENHARIA


Alm da segunda lei de Newton, existem outros princpios de organizao importantes na
engenharia. Entre os mais importantes deles esto as leis de conservao. Embora elas
formem a base para uma variedade de modelos matemticos complicados e poderosos, as
grandes leis de conservao da cincia e da engenharia so conceitualmente fceis de entender. Todas elas se reduzem a
Variao  aumento  diminuio

(1.13)

Essa precisamente a forma empregada quando se usa a lei de Newton para deduzir o
balano de foras para um pra-quedista em queda livre [Equao (1.8)].
Embora simples, a Equao (1.13) engloba uma das formas mais fundamentais nas
quais as leis de conservao so usadas em engenharia isto , para predizer variaes
com relao ao tempo. D-se Equao (1.13) o nome especial de clculo dependente do
tempo (ou transiente).
Alm de predizer variaes, uma outra forma na qual as leis de conservao so
aplicadas no caso em que no existe a variao. Se a variao for nula, a Equao
(1.13) se torna
Variao  0  aumento  diminuio
ou
Aumento  diminuio

(1.14)

Portanto, se no ocorrer nenhuma variao, o aumento e a diminuio devem estar


balanceados. Esse caso, que tambm possui um nome especial o clculo de estado
estacionrio tem muitas aplicaes em engenharia. Por exemplo, para escoamentos de
fluidos incompressveis e estacionrios em tubos, o escoamento entrando em uma juno
deve ser balanceado pelo escoamento saindo, como em
Escoamento entrando  escoamento saindo

16

MODELAGEM MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

Tubo 2
Escoamento para dentro = 80

Tubo 1
Escoamento para dentro = 100

FIGURA 1.6
Um balano de escoamento
para o escoamento de um fluido
incompressvel e estacionrio na
juno de dois tubos.

Tubo 4
Escoamento para fora = ?

Tubo 3
Escoamento para fora = 120

Para a juno na Figura 1.6, o balano pode ser usado para calcular que o escoamento
saindo do quarto tubo deve ser 60.
Para o pra-quedista em queda livre, as condies estacionrias corresponderiam ao
caso em que a fora resultante fosse nula ou [Equao (1.8) com dv/dt = 0]
mg = cv

(1.15)

Desse modo, no estado estacionrio, as foras para baixo e para cima esto balanceadas e a Equao (1.15) pode ser resolvida para se determinar a velocidade terminal
mg
v=
c
Embora as Equaes (1.13) e (1.14) possam parecer trivialmente simples, elas englobam as duas formas fundamentais nas quais as leis de conservao so empregadas em
engenharia. Assim, elas constituiro uma parte importante de nossos esforos nos captulos subseqentes para ilustrar a conexo entre os mtodos numricos e a engenharia. Nossos veculos primrios para fazer essa conexo so as aplicaes 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 conservao associadas que formaro a base para muitas dessas aplicaes em engenharia. A
maioria das aplicaes em engenharia qumica ser focalizada no balano de massa para
reatores. O balano de massa deduzido da conservao de massa. Ele especifica que a
variao de massa de um produto qumico no reator depende da diferena da quantia de
massa escoando para dentro e da quantia de massa escoando para fora.
As aplicaes tanto em engenharia civil quanto em engenharia mecnica sero focalizadas em modelos desenvolvidos a partir da conservao do momento. Para a engenharia civil, os balanos de fora so utilizados para analisar estruturas como a trelia
simples na Tabela 1.1. Os mesmos princpios so usados nas aplicaes em engenharia
mecnica para analisar o movimento transiente para cima e para baixo ou as vibraes de
um automvel.
Finalmente, as aplicaes em engenharia eltrica usam tanto balano de corrente
quanto de energia para modelar os circuitos eltricos. O balano de corrente, que resulta
da conservao da carga, parecido em essncia com o balano de escoamento
mostrado na Figura 1.6. Da mesma forma como o escoamento deve ser balanceado em
uma juno de tubos, a corrente eltrica deve ser balanceada em uma juno de fios eltricos. O balano de energia especifica que a variao de voltagem ao redor de qualquer lao
de um circuito deve totalizar zero. As aplicaes em engenharia so planejadas para ilustrar como os mtodos numricos so realmente empregados no processo de resoluo de
problemas de engenharia. Assim, elas vo permitir explorar questes prticas (Tabela 1.2)
que aparecem em aplicaes do mundo real. Fazer essas conexes entre as tcnicas
matemticas, como os mtodos numricos, e a prtica da engenharia um passo crtico
para usar seu verdadeiro potencial. Um exame cuidadoso das aplicaes de engenharia
vai ajud-lo a dar esse passo.

1.2 LEIS DE CONSERVAO E ENGENHARIA

17

TABELA 1.1 Dispositivos e tipos de balanos que so comumente usados nas quatro reas principais da engenharia.
Para cada caso, a lei de conservao na qual o balano baseado est especificada.
rea

Dispositivo

Engenharia qumica

Princpio organizacional

Expresso matemtica

Conservao da massa

Balano de massa
Entrada

Reatores

Sada

Sobre um perodo unitrio de tempo


massa = entrada sada
Engenharia civil

Conservao do
momento

Estrutura

Balano de fora:

+ FV
FH

+ FH
FV

Em cada n
 foras horizontais (FH ) = 0
 foras verticais (FV ) = 0
Engenharia mecnica

Mquina

Conservao do
momento

Balano de fora:

Fora para cima


x=0
Fora para baixo

2
m d x2 = fora para baixo fora para cima
dt

Engenharia eltrica

Conservao da carga
+

Balano de corrente:
Para cada n
 corrente (i ) = 0

+ i1

i3
+ i2

Circuito
Conservao da energia

i1R1

Balano de voltagem:

i2R2
i3R3
Em torno de cada lao
 fems  queda de voltagem
por resistores = 0
  iR = 0

TABELA 1.2 Algumas questes prticas que sero exploradas nas aplicaes de engenharia no final de cada parte deste livro.
1. No-linear versus linear. Muito da engenharia clssica depende da linearizao para permitir solues analticas. Embora muitas vezes isso
seja apropriado, pode-se aumentar a percepo ao se examinar os problemas no-lineares.
2. Sistemas grandes versus pequenos. Sem um computador, em geral no possvel examinar sistemas com mais de trs componentes interagindo.
Com computadores e mtodos numricos, sistemas com muitos componentes, mais realistas, podem ser examinados.
3. No-ideal versus ideal. As leis idealizadas abundam em engenharia. Em geral, existem alternativas no-idealizadas que so mais realistas, mas
que exigem mais do ponto de vista computacional. Abordagens numricas apropriadas podem facilitar a aplicao dessas relaes no-ideais.
4. Anlise de sensibilidade. Como esse tipo de anlise bastante complicado, muitos clculos manuais requerem uma grande quantidade de
tempo e esforo para uma implementao bem-sucedida. Algumas vezes, isso desencoraja o analista de implementar os clculos mltiplos que
so necessrios para examinar como o sistema responde sob diferentes condies. Tais anlises de sensibilidade so facilitadas quando os mtodos numricos permitem que o computador assuma toda a carga computacional.
5. Projeto. Em geral, uma tarefa simples determinar o desempenho de um sistema como uma funo de seus parmetros. Normalmente, mais
difcil resolver o problema inverso isto , determinar os parmetros quando exigido especificado. Os mtodos numricos e os computadores
freqentemente permitem que essa tarefa seja implementada de forma eficiente.

MODELAGEM MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

18

PROBLEMAS
1.1 A gua responsvel por aproximadamente 60% do peso
total do corpo. Assumindo que ela pode ser categorizada em seis
regies, as percentagens so como a seguir. O plasma responsvel 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 inacessvel 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 trmica, Cv , do ar seja 0,718 kJ/(kg K). Suponha que o
ar seja um gs ideal a 20 C e 101,325 kPa. Observe que o calor
absorvido pelo ar, Q, est associado massa de ar m, capacidade calorfica e variao de temperatura pela seguinte relao:

Q1,in = 40 m3/s

Q2,out = 20 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 mdio 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 perodo de um dia. O corpo tambm vai
perder 0,2, 1,4, 0,2 e 0,35 L atravs de suor, urina, fezes e pela pele,
respectivamente. Para manter uma condio estacionria, quanta
gua deve ser bebida por dia?
Pele

Q=m

T2
T1

Comida

A massa de ar pode ser obtida da lei dos gases ideais:


PV =

Ar
CORPO

Bebida

m
RT
Mwt

onde P a presso do gs, V o volume do gs, Mwt o peso molecular do gs (para o ar, 28,97 kg/kmol) e R a constante dos gases
ideais [8,314 kPa m3/(kmol K)].
1.3 A seguinte informao est disponvel para uma conta de
banco:

Data

Fezes

Urina

Cv dT = mCv (T2 T1 )

Depsitos

Saques

220,13

327,26

216,80

378,61

450,25

106,80

127,31

350,61

1/5

Balano
1512,33

1/6
1/7
1/8
1/9

Suor

Metabolismo

Figura P1.5
1.6 Para o pra-quedista em queda livre com arrasto linear, considere inicialmente um indivduo de 70 kg e que tenha um coeficiente de arrasto de 12 kg/s. Se um segundo pra-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 clculo para resolver a Equao (1.9) no caso em que a velocidade inicial v(0) no-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 afirmao com relao aos erros nos clculos baseado nos resultados?
1.9 Em vez da relao linear da Equao (1.7), voc poderia escolher modelar a fora para cima no pra-quedista por uma relao de
segundo grau,
FU = c v 2

Use a conservao do dinheiro para calcular o balano em 1/6, 1/7,


1/8 e 1/9. Mostre cada passo dos clculos. Esse um clculo estacionrio ou transiente?
1.4 A vazo em volume atravs de um tubo dada por Q = v A,
onde v a velocidade mdia e A a rea da seo 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 clculo, obtenha a soluo na forma fechada, no caso
em que o pra-quedista est inicialmente em repouso (v = 0
em t = 0).
(b) Repita o clculo numrico do Exemplo 1.2 com a mesma
condio inicial e os mesmos valores dos parmetros. Use um
valor de 0,225 kg/m para c .

PROBLEMAS
1.10 Calcule a velocidade de um pra-quedista em queda livre
usando o mtodo de Euler para o caso em que m = 80 kg e c 
10 kg/s. Faa os clculos de t = 0 at 20 s, com um tamanho de
passo 1 s. Use a condio inicial em que o pra-quedista tem uma
velocidade para cima de 20 m/s em t  0. Em t  10 s, suponha que
o pra-quedas instantaneamente aberto, de forma que o coeficiente de arrasto pula para 50 kg/s.
1.11 No exemplo do pra-quedista em queda livre, assumimos que
a acelerao devida gravidade era uma constante de valor 9,8
m/s2. Embora esta seja uma boa aproximao quando estamos examinando objetos caindo perto da superfcie da Terra, a fora gravitacional decresce quando nos movemos para cima do nvel do mar.
Uma representao mais geral, baseada na lei da gravitao universal de Newton, pode ser escrita como
g(x) = g(0)

R2
(R + x)2

onde g(x) a acelerao da gravidade na altura x (em m) medida


para cima, a partir da superfcie da Terra (m/s2), g(0) a acelerao
da gravidade na superfcie da Terra (
= 9,8 m/s2), e R o raio da
6

Terra (= 6,37 10 m).


(a) Em uma forma similar deduo da Equao (1.9), utilize o
balano de foras para deduzir uma equao diferencial para a
velocidade como funo do tempo que use essa representao
mais completa da gravitao. Entretanto, para tal deduo,
suponha que a velocidade para cima positiva.
(b) Para o caso de o arrasto ser desprezvel, use a regra da cadeia
para expressar a equao diferencial como uma funo da altura em vez do tempo. Lembre-se de que a regra da cadeia
dv
dv dx
=
dt
dx dt
(c) Use o clculo para obter uma soluo na forma fechada, onde
v = v0 em x = 0.
(d) Use o mtodo de Euler para obter uma soluo numrica 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 soluo analtica.
1.12 A quantidade de contaminante radioativo uniformemente distribudo contido em um reator fechado medida pela sua concentrao c (becquerel/litro ou Bq/L). O contaminante diminui a uma
taxa de decaimento proporcional a sua concentrao isto
taxa de decaimento = kc
onde k uma constante, com unidades de dia1. Portanto, de acordo
com a Equao (1.13), o balano de massa para o reator pode ser
escrito como
dc
=
kc
dt

 

variao
diminuio
=
na massa
por decaimento
(a) Use o mtodo de Euler para resolver essa equao de t = 0 at
1 d com k = 0,2 d1 . Use um tamanho de passo t = 0,1. A
concentrao em t = 0 10 Bq/L.
(b) Trace a soluo em um grfico semilog (isto , em c versus t) e
determine a inclinao. Interprete seus resultados.
1.13 Um tanque de armazenamento contm um lquido profundidade y, onde y = 0 quando o tanque est cheio at a metade.
tirado lquido a uma vazo constante Q, para atender demanda. O
contedo reposto a uma taxa senoidal de 3Q sen2(t).

19
y

Figura P1.13
A Equao (1.13) pode ser escrita para esse sistema como

d(Ay)
dx
variao no
volume

= 3Q sen2 (t)


= (escoamento p/ dentro) (escoamento p/ fora)

ou, j que a rea da superfcie, A, constante


dy
Q
Q
= 3 sen2 (t)
dx
A
A
Use o mtodo de Euler para encontrar a profundidade y de t = 0 a
10 d com um tamanho de passo 0,5 d. Os valores do parmetro so
A = 1200 m2 e Q = 500 m3/d. Suponha que a condio inicial seja
y = 0.
1.14 Para o mesmo tanque de armazenamento descrito no Problema
1.13, suponha que o escoamento para fora no seja constante, mas
dependa da profundidade. Nesse caso, a equao diferencial para a
profundidade pode ser escrita como
dy
(1 + y)1.5
Q
= 3 sen2 (t)
dx
A
A
Use o mtodo de Euler para encontrar a profundidade y de t = 0 a
10 d com um tamanho de passo 0,5 d. Os valores do parmetro so
A = 1200 m2, Q = 500 m3/d, e = 300. Suponha que a condio
inicial seja y = 0.
1.15 Suponha que uma gotcula esfrica de lquido evapore a uma
taxa que proporcional rea de sua superfcie.
dV
= k A
dt
onde V o volume (mm3), t o tempo (h), k a taxa de evaporao
(mm/h), e A a rea da superfcie (mm2). Use o mtodo de Euler
para calcular o volume da gotcula de t = 0 a 10 min usando um
tamanho de passo 0,25 min. Suponha que k = 0,1 mm/min e que a
gotcula 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 evaporao.
1.16 A lei do resfriamento de Newton diz que a temperatura de um
corpo varia a uma taxa proporcional diferena 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 xcara de caf originalmente
tenha a temperatura de 68 C. Use o mtodo 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 MATEMTICA E RESOLUO DE PROBLEMAS DE ENGENHARIA

20

1.17 As clulas cancergenas crescem exponencialmente, levando


20 horas para dobrar quando tm um suprimento ilimitado de nutrientes. Entretanto, conforme as clulas comeam a formar um tumor
esfrico slido, sem suprimento de sangue, o crescimento no centro
do tumor se torna limitado e, eventualmente, as clulas comeam a
morrer.
(a) O crescimento exponencial do nmero de clulas N pode ser
expresso como mostrado, onde a taxa de crescimento das
clulas. Para clulas de cncer, 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 equao que descreva a taxa de variao do volume do tumor durante o crescimento exponencial, dado que o
dimetro de uma clula individual de 20 mcrons.
(c) Depois que um tipo particular de tumor passa de 500 mcrons
no dimetro, as clulas no centro do tumor morrem (mas continuam a tomar espao no tumor). Determine quanto tempo
levar para que o tumor passe desse tamanho crtico.

Q3

Q2

Q10

Figura P1.18

Q5

Q4

Q9

Q6

Q8

Q7

1.1 CURRENT 1ST LEVEL HEAD21

CAPTULO

2
Programao e Software
No captulo anterior, usamos a fora resultante para desenvolver um modelo matemtico
para predizer a velocidade de queda de um pra-quedista. Esse modelo tomou a forma de
uma equao diferencial,
dv
c
=g v
dt
m
Aprendemos tambm que a soluo dessa equao pode ser obtida por uma aproximao
numrica simples chamada mtodo de Euler,
vi+1 = vi +

dvi
t
dt

Dadas as condies iniciais, essa equao pode ser implementada repetidamente


para calcular a velocidade como uma funo do tempo. Entretanto, para obter uma boa
acurcia, preciso tomar um grande nmero de passos, o que pode ser extremamente trabalhoso e demorado para implementar manualmente. Mas, com a ajuda de um computador, tais clculos podem ser realizados facilmente.
Portanto, nossa tarefa descobrir como fazer isso. O presente captulo mostrar a
voc como o computador utilizado como ferramenta para obter esse tipo de soluo.

2.1

PACOTES E PROGRAMAO
Hoje, h dois tipos de usurios de software. Por um lado, existem aqueles que usam o que
lhes dado. Isto , eles se limitam aos recursos encontrados no modo de operao padro
do software. Por exemplo, uma proposio direta resolver um sistema de equaes
lineares ou gerar um grfico de valores xy com o software Excel ou o MATLAB. Como
isso envolve, geralmente, um mnimo de esforo, muitos usurios tendem a adotar esse
modo de operao superficial. Ademais, uma vez que os projetistas desses pacotes j se
anteciparam a vrias necessidades dos usurios, muitos problemas importantes podem ser
resolvidos dessa forma.
Mas o que acontece quando surgem problemas que esto alm da capacidade padro
da ferramenta? Infelizmente, agitar as mos e dizer Desculpe, patro, no d pra fazer!
no aceitvel nos crculos 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 razes 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 usurio poderoso aprendendo a escrever Excel
VBA1 macros ou M-files em MATLAB. E o que isso? No passam de programas de
computador que permitem que se estenda o potencial de tais ferramentas. Em razo de os
engenheiros nunca aceitarem ficar limitados por ferramentas, eles faro o que for
necessrio 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 Aplicaes.

21

PROGRAMAO E SOFTWARE

22

para fazer macros e M-files so as mesmas usadas para desenvolver eficientemente programas em linguagens como Fortran 90 ou C.
O objetivo principal do presente captulo mostrar como isso pode ser feito. Entretanto, estamos assumindo que voc j foi exposto aos rudimentos da programao de
computadores. Assim, nossa nfase aqui em aspectos da programao que dizem respeito ao seu uso na soluo de problemas de engenharia.
2.1.1 Programas Computacionais
Programas computacionais so, basicamente, um conjunto de instrues que direcionam
o computador para executar certas tarefas. Uma vez que muitos indivduos escrevem programas para um amplo conjunto de aplicaes, muitas linguagens de computao de alto
nvel, como Fortran 90 e C, tm grandes recursos. Embora alguns engenheiros necessitem
explorar totalmente esses recursos, a maioria necessitar simplesmente da habilidade
necessria para executar clculos numricos orientados para engenharia.
Olhando dessa perspectiva, podemos reduzir a complexidade para um conjunto limitado de tpicos de programao. Estes so:
Representao simples da informao (constantes, variveis e declaraes de tipo).
Representao de informao avanada (estruturas de dados, vetores e registros).
Frmulas matemticas (atribuies, regras de prioridade e funes intrnsecas).
Entrada/sada.
Representao lgica (seqncia, seleo e repetio).
Programao modular (funes e sub-rotinas).
Como estamos assumindo que voc teve uma exposio prvia programao, no
gastaremos muito tempo nas primeiras quatro reas citadas. No mximo, ns as oferecemos na forma de uma lista de verificao que cobre o que necessrio saber para implementar os programas que seguem.
No entanto, dedicaremos algum tempo aos dois ltimos tpicos. Enfatizamos a representao lgica porque ela a rea simples que mais influencia a coerncia de um
algoritmo e sua compreenso. Incluiremos programao modular porque ela tambm
contribui grandemente para a organizao dos programas. Adicionalmente, mdulos
provem um meio para armazenar algoritmos teis em um formato convencional para
aplicaes subseqentes.

2.2

PROGRAMAO ESTRUTURADA
Nos primrdios da computao, os programadores usualmente no prestavam muita
ateno ao fato de o programa ser claro e fcil de entender. Hoje, reconhecido que existem muitos benefcios em escrever um cdigo bem organizado e bem estruturado. Alm
do benefcio bvio de tornar o software mais fcil de ser compartilhado, isso tambm
ajuda a garantir um desenvolvimento de programa mais eficiente.
Portanto, algoritmos bem estruturados so, invariavelmente, fceis de corrigir e testar, resultando em programas que tm um tempo de desenvolvimento e atualizao
menor.
Cientistas da computao tm estudado sistematicamente os fatores e procedimentos
necessrios para desenvolver software de alta qualidade. Essencialmente, programao
estruturada um conjunto de regras que exige disciplina do programador. Embora a programao estruturada seja flexvel o suficiente para permitir considervel criatividade e
expresses pessoais, suas regras impem restries suficientes para conferir ao cdigo resultante grande superioridade, comparada verso no-estruturada. Em particular, o produto final mais elegante e fcil de entender.
A idia central por trs da programao estruturada que qualquer algoritmo
numrico pode ser composto usando-se as trs estruturas de controle fundamentais: seqncia, seleo e repetio. Se nos limitarmos a essas estruturas, o cdigo computacional resultante ser claro e fcil de seguir.

2.2 PROGRAMAO ESTRUTURADA


SMBOLO

NOME

FUNO

Terminal

Representa o incio e o final do programa.

Linhas de fluxo

Representa o fluxo da lgica. Os morros nas flechas horizontais


indicam cruzamento sem que haja conexo com o fluxo vertical.

Processos

Representa clculos ou manipulao de dados.

Entrada/sada

Representa entrada ou sada de dados e informao.

Deciso

Representa uma comparao, questo, ou deciso que determina


caminhos alternativos a serem seguidos.

Juno

Representa a confluncia de linhas de fluxo.

Conector
de pgina

Representa uma quebra que continuada em outra pgina.

Contadores
controladores
de laos

Usado para ciclos que se repetem por um nmero predeterminado


de iteraes.

23

FIGURA 2.1
Smbolos usados nos diagramas de fluxo.

Nos pargrafos seguintes, descreveremos cada uma dessas estruturas. Para manter
essa descrio genrica, empregaremos os fluxogramas e pseudocdigo. Um fluxograma
uma representao grfica visual de um algoritmo, e emprega uma srie de blocos e flechas, cada um dos quais representa uma operao particular ou passos de um algoritmo
(Figura 2.1). As flechas representam a seqncia na qual as operaes so implementadas.
Nem todos os envolvidos em programao de computadores concordam que o fluxograma um esquema produtivo. De fato, alguns programadores experientes no
defendem o fluxograma. Entretanto, achamos que existem trs boas razes para estudlos. Primeiro, eles ainda so usados para expressar e comunicar algoritmos. Segundo,
mesmo que no sejam empregados rotineiramente, existiro ocasies nas quais se
mostraro teis no planejamento, na resoluo, ou comunicando a lgica do seu programa
ou do programa de outra pessoa. Finalmente, e mais importante para o nosso propsito,
eles so uma excelente ferramenta pedaggica. Do ponto de vista do ensino, fluxogramas
so veculos ideais para visualizar algumas das estruturas de controle fundamentais empregadas na programao de computadores.
Uma abordagem alternativa que representa um algoritmo para cobrir a lacuna entre
um fluxograma e o cdigo computacional chamada pseudocdigo, tcnica que utiliza
palavras semelhantes a cdigo no lugar dos smbolos grficos do fluxograma. Adotaremos convenes de estilo para o pseudocdigo neste livro. Palavras reservadas como IF,
DO, INPUT etc. so escritas em letras maisculas, enquanto condies, passos de processamento e tarefas so escritas com letras minsculas. Adicionalmente, os passos de
processamento so identados. Assim, as palavras reservadas formam um sanduche em
torno dos passos para definir visualmente a extenso da estrutura de controle.
Uma vantagem do pseudocdigo que mais fcil desenvolver um programa com
ele que com um fluxograma. O pseudocdigo tambm mais fcil de modificar e compartilhar. Entretanto, por causa da sua forma grfica, fluxogramas s vezes se adaptam
melhor para a visualizao de algoritmos complexos. Neste texto, usaremos fluxogramas
por razes pedaggicas. Pseudocdigos sero o nosso principal veculo para comunicar
algoritmos relacionados a mtodos numricos.
2.2.1 Representao Lgica
Seqncia. A estrutura da seqncia expressa a idia trivial de que, exceto se direcionado
de outra forma, o cdigo computacional implementado uma instruo por vez. Como na
Figura 2.2, a estrutura pode ser expressa genericamente com um fluxograma ou um
pseudocdigo.

24

PROGRAMAO E SOFTWARE

Instruo1

Instruo2

Instruo1
Instruo2
Instruo3
Instruo4

Instruo3

FIGURA 2.2
(a) Fluxograma
(b) Pseudocdigo para a
estrutura-seqncia.

Instruo4

(a) Fluxograma (b) Pseudocdigo

Seleo. Em contraste com a estrutura passo a passo da seqncia, a seleo prov um


meio de separar o fluxo do programa em ramos com base no valor lgico da condio. A
Figura 2.3 mostra as duas formas fundamentais para fazer isso.
A deciso com alternativa nica, ou estrutura IF/THEN (Figura 2.3a), permite um
desvio no fluxo do programa se o valor lgico da condio verdadeiro. Caso seja falso,
nada acontece e o programa vai diretamente para a prxima instruo depois do ENDIF.
A deciso com dupla alternativa, ou estrutura IF/THEN/ELSE (Figura 2.3b), comporta-se
da mesma maneira para a condio verdadeira. No entanto, se a condio falsa, o programa implementa o cdigo entre o ELSE e o ENDIF.
Embora as estruturas IF/THEN e IF/THEN/ELSE sejam suficientes para construir
qualquer algoritmo numrico, duas outras variantes so comumente usadas. Suponha

FIGURA 2.3
Fluxograma e pseudocdigo
para a estrutura de seleo.
(a) Seleo com alternativa
nica (IF/THEN) e
(b) seleo de dupla alternativa
(IF/THEN/ELSE).

Fluxograma

Pseudocdigo

Verdadeiro
Condio
?

Bloco
Verdadeiro

IF condio THEN
Bloco Verdadeiro
ENDIF

(a) Estrutura com alternativa nica (IF/THEN)

Falso

Bloco Falso

Condio?

Verdadeiro

Bloco
Verdadeiro

IF condio THEN
Bloco Verdadeiro
ELSE
Bloco Falso
ENDIF

(b) Estrutura com dupla alternativa (IF/ THEN/ELSE)

2.2 PROGRAMAO ESTRUTURADA

25

que a clusula 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 decises. A primeira
um comando IF, e cada deciso sucessiva um comando ELSEIF. Mergulhando na
cadeia, a primeira condio encontrada que seja verdadeira causar um desvio para o respectivo bloco seguido do encerramento da estrutura. No final da cadeia de condies, se
todas as condies se verificam falsas, um ELSE opcional pode ser includo.
A estrutura CASE uma variante desse tipo de estrutura de deciso. Em vez de testar as condies individualmente, o desvio realizado com base no valor de uma simples
expresso de teste. Dependendo desse valor, diferentes blocos de cdigo podem ser executados. Alm disso, um bloco opcional pode ser implementado se a expresso no assume nenhum dos valores prescritos (CASE ELSE).
Repetio. A repetio prov os meios para executar uma instruo repetidamente. A estrutura resultante, chamada lao, pode ter dois aspectos distintos, de acordo com a
forma como termina.

FIGURA 2.4
Fluxograma e pseudocdigo para seleo suplementar ou desvio condicional. (a) Seleo de mltipla alternativa
(IF/THEN/ELSEIF) e (b) diagrama CASE.

Fluxograma

Falso

Falso

Falso

Verdadeiro
Condio1
?

Verdadeiro

Condio2
?

Bloco1

Verdadeiro
Condio3
?

Bloco4

Pseudocdigo

Bloco2

Bloco3

IF condio1 THEN
Bloco1
ELSEIF condio2
Bloco2
ELSEIF condio3
Bloco3
ELSE
Bloco4
ENDIF

(a) Estrutura multialternativa (IF/THEN/ELSEIF)

Expresso
de teste

Valor1
Bloco1

Valor2
Bloco2

Valor3
Bloco3

Else
Bloco4

SELECT CASE Expresso de Teste


CASE Valor1
Bloco1
CASE Valor2
Block2
CASE Valor3
Bloco3
CASE ELSE
Bloco4
END SELECT

(b) Estrutura CASE (SELECT ou SWITCH)

26

PROGRAMAO E SOFTWARE

O primeiro tipo e o mais bsico o chamado lao de deciso, porque termina de


acordo com o resultado de uma condio lgica. A Figura 2.5 mostra o tipo mais geral de
lao de deciso, a estrutura DOEXIT, tambm chamada lao de interrupo. Essa estrutura se repete at que a condio lgica seja verdadeira.
No necessrio ter dois blocos nessa estrutura. Se o primeiro bloco no includo,
a estrutura chamada de lao com pr-teste, porque o teste lgico feito antes que alguma coisa ocorra. Alternativamente, se o segundo bloco omitido, a estrutura
chamada de lao com ps-teste. Como os dois blocos so includos, o caso geral na Figura
2.5 chamado de lao de teste intermedirio.
Deve-se observar que o lao DOEXIT foi introduzido no Fortran 90 em um esforo
para simplificar decises em ciclos. Essa estrutura de controle um padro na linguagem
de macros do Excel VBA, mas no um padro em C ou MATLAB, os quais usam a estrutura WHILE. Por acreditarmos que o DOEXIT superior, ns o adotamos como a estrutura de repetio padro neste livro. Para assegurar que os nossos algoritmos so diretamente implementveis tanto no MATLAB como no Excel, mostraremos como o lao de
interrupo pode ser simulado com a estrutura WHILE mais adiante neste captulo (ver
Seo 2.5).
O lao de interrupo na Figura 2.5 chamado de lao lgico porque termina com
uma condio lgica. Em contraste, o lao DOFOR (Figura 2.6), controlado por contador, executa um nmero especificado de repeties, ou iteraes.
O lao controlado por contador trabalha da seguinte forma. O ndice (representado por i na Figura 2.6) uma varivel que recebe um valor inicial incio. O programa
ento testa se o ndice inferior ou igual ao valor final, fim. Se for, este executa o
FIGURA 2.5
O lao de interrupo DOEXIT.

Fluxograma

Bloco1

Verdadeiro
Condio?

Pseudocdigo

DO
Bloco1
IF condio EXIT
Bloco2
ENDDO

Falso
Bloco2

FIGURA 2.6
Estrutura controlada por
contador ou DOFOR.

Fluxograma

Verdadeiro

i = incio
i > fim
?
i = i + passo
Falso

Bloco

Pseudocdigo

DOFOR i = incio, fim, passo


Bloco
ENDDO

2.2 PROGRAMAO ESTRUTURADA

27

corpo do lao e retorna para a condio 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 lao e transfere o controle para a linha seguinte ao comando
ENDDO. Note que, para praticamente todas as linguagens de computao, incluindo
as do Excel e MATLAB, se o valor de passo omitido, o computador assume que este
igual a 1.2
Os algoritmos numricos delineados nas pginas seguintes sero desenvolvidos
exclusivamente das estruturas introduzidas pelas Figuras 2.2 a 2.6. O exemplo a seguir
ilustra a abordagem bsica para desenvolver um algoritmo para determinar as razes de
uma equao quadrtica.

EXEMPLO 2.1

Algoritmo para as Razes de uma Equao Quadrtica


Enunciado do Problema. As razes de uma equao quadrtica
ax 2 + bx + c = 0
podem ser determinadas com a frmula quadrtica,

b |b2 4ac|
x1
=
x2
2a

(2.1)

Desenvolva um algoritmo que faa o seguinte:


Passo 1: Pea ao usurio os coeficientes a, b e c.
Passo 2: Implemente a frmula quadrtica, evitando qualquer eventualidade (por exemplo, evitando
diviso por zero e permitindo razes complexas).
Passo 3: Mostre a soluo, isto , os valores de x.
Passo 4: Permita ao usurio a opo de retornar ao passo 1 e repetir o processo.

Soluo. 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 frmula quadrtica infalvel,
independentemente dos valores dos coeficientes (obviamente, isso no 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 no'
INPUT resposta
IF resposta  'no' EXIT
ENDDO

Uma estrutura DOEXIT usada para implementar a frmula quadrtica repetidamente


enquanto a condio falsa. A condio depende do valor da varivel de caracteres, resposta. Se resposta igual a sim, ento os clculos so executados. Caso contrrio, isto
, se resposta = no, o lao termina. Assim, o usurio controla o trmino entrando com
o valor de resposta.

2
Pode ser usado um valor negativo para passo. Nesse caso, o lao termina quando o ndice menor que o
valor final.

28

PROGRAMAO E SOFTWARE

Embora esse algoritmo funcione em certos casos, ele no infalvel. Dependendo


dos valores dos coeficientes, o algoritmo pode no funcionar. Eis o que acontece:
Se a  0, surge imediatamente um problema por causa da diviso por zero. De fato,
uma inspeo mais cuidadosa da Equao (2.1) indica que dois casos podem
acontecer. Isto ,
Se b  0, a equao se reduz equao linear com uma raiz real, c/b.
Se b  0, ento no existe soluo. Isto , o problema trivial.
Se a  0, ocorrem dois casos possveis, dependendo do valor do discriminante,
d  b2  4ac. Isto ,
Se d  0, ento ocorrem duas razes reais.
Se d  0, ocorrem duas razes complexas.
Observe que usamos identao para destacar a estrutura decisria por trs da
matemtica. Essa estrutura se traduz prontamente no conjunto de estruturas
IF/THEN/ELSE acopladas que podem ser inseridas no lugar das instrues sombreadas
no cdigo 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 "Soluo 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 no'
INPUT resposta
IF resposta 'no' EXIT
ENDDO

A abordagem do exemplo anterior pode ser empregada para desenvolver um algoritmo para o problema do pra-quedista. Lembre-se de que, dada a condio inicial para
o tempo e a velocidade, o problema envolve a soluo iterativa da frmula
dvi
vi+1 = vi +
t
(2.2)
dt
Lembre-se tambm de que, se desejarmos atingir uma boa acurcia, precisaremos empregar passos pequenos. Portanto, provavelmente iremos querer aplicar a frmula repetidamente do instante inicial at o instante final. Conseqentemente, um algoritmo para resolver o problema se basear em um lao.

2.2 PROGRAMAO ESTRUTURADA

29

Por exemplo, suponhamos que o clculo 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
Equao (2.2) oito vezes, isto ,
n=

4
=8
0,5

onde n o nmero de iteraes do lao. Como este resultado exato, isto , a razo um
inteiro, podemos controlar o lao base desse algoritmo por um contador. Eis um exemplo
do pseudocdigo:
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, no infalvel. Particularmente,


funcionar somente se o intervalo computacional for divisvel exatamente pelo passo no
tempo.3 Para cobrir esses casos, um lao de deciso pode substituir a rea sombreada
no pseudocdigo 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 lao, usamos uma estrutura IF/THEN para testar se a adio
t + dt nos levar alm do fim do intervalo. Se no, que ser geralmente o caso no incio,
no fazemos nada. Em caso afirmativo, precisaremos reduzir o intervalo fazendo a varivel h igual a tf  t. Procedendo assim, o lao terminar porque a condio t  tf se
tornar verdadeira.
Note que, antes de entrar no lao, atribumos o valor do passo no tempo, dt, a outra
varivel, h. Criamos essa varivel auxiliar de modo que nossa rotina no mude o valor
3

O problema consiste em que os computadores usam uma representao numrica binria para sua matemtica
interna. Conseqentemente, uma aparente diviso exata no retorna um inteiro quando essa diviso implementada no computador. Trataremos desse assunto no Captulo 3.

PROGRAMAO 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 cdigo
ser integrado a um programa maior.
possvel notar que o algoritmo tambm no infalvel. O usurio pode ter errado ao
entrar um tamanho de passo maior que o clculo do intervalo, por exemplo, tf  ti  5 e
dt  20. Assim, voc pode querer incluir a verificao de erro no cdigo para detectar tais
erros e ento permitir que o usurio corrija o engano.

2.3

PROGRAMAO MODULAR
Seria bastante difcil estudar um texto que no tivesse captulos, sees ou pargrafos. Dividir tarefas ou objetivos em partes mais simples uma maneira de torn-los mais fceis
de tratar. Com esse esprito, programas de computador so divididos em subprogramas
menores, ou mdulos, que podem ser desenvolvidos e testados separadamente. Essa abordagem chamada programao modular.
O atributo mais importante dos mdulos que sejam to independentes e autocontidos quanto possvel. Alm disso, eles so tipicamente desevolvidos para desempenhar
uma funo especfica e bem definida, e tm apenas um ponto de entrada e um ponto de
sada. Assim, esses mdulos so usualmente pequenos (geralmente com 50 a 100 instrues de tamanho) e altamente focados.
Nas linguagens-padro de alto nvel, como o Fortran 90 ou C, o elemento principal
de programao usado para representar cada mdulo o procedimento. Um procedimento
uma srie de instrues computacionais que, juntas, desempenham uma dada tarefa.
Dois tipos de procedimento so empregados comumente: funes e sub-rotinas. As
primeiras usualmente retornam um resultado nico, enquanto que as ltimas retornam
vrios resultados.
Alm 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 funes do MATLAB so desevolvidas para receber uma informao,
fazer clculos e retornar um resultado. Logo, pensar modularmente tambm consistente
com a maneira como os programas so implementados em ambientes de software.
A programao modular tem diversas vantagens. O uso de unidades menores e autocontidas torna a lgica subjacente mais fcil de seguir e entender, tanto para o desenvolvedor quanto para o usurio. O desenvolvimento facilitado porque cada mdulo pode ser
feito isoladamente. De fato, para projetos de grande porte, diferentes programadores
podem trabalhar individualmente nas partes. O projeto modular tambm aumenta a facilidade com a qual um programa pode ser testado e corrigido, porque os erros so isolados
mais facilmente. Finalmente, a modificao e a manuteno dos programas so facilitadas,
devido ao fato de que novos mdulos podem ser desenvolvidos para desempenhar tarefas
adicionais e facilmente inseridos em um esquema j coerente e organizado.
Embora todos esses atributos sejam razo suficiente para usar mdulos, a razo mais
importante, relacionada resoluo de problemas numricos em engenharia, que eles
permitem que voc mantenha sua prpria biblioteca de mdulos teis para uso posterior
em outros programas. Esta ser a filosofia deste livro: todos os algoritmos sero apresentados como mdulos.
Tal abordagem ilustrada na Figura 2.7, que mostra uma funo desenvolvida para
implementar o mtodo de Euler. Note que a aplicao dessa funo difere das verses anteriores em como se manipula a entrada/sada. Nas verses anteriores, entrada e sada vinham diretamente do usurio (via atribuies de entrada ou comandos DISPLAY). Na
funo, as entradas so inseridas na FUNCTION via uma lista de argumentos.
Function Euler(dt, ti, tf, yi)

e as sadas so retornadas via uma instruo de atribuio


y = Euler(dt, ti, tf, yi)

Alm disso, observe quo genrica a rotina se tornou. No existe nenhuma referncia s especificidades do problema do pra-quedista. Por exemplo, em vez de chamar a
varivel dependente v de velocidade, um smbolo mais genrico, y, usado na funo.

2.4 EXCEL

FIGURA 2.7
Pseudocdigo para a funo
que resolve a equao
diferencial usando o mtodo
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 no calculada dentro da funo por uma equao explcita outra funo, dy, deve ser invocada para calcul-la, pois poderemos querer usar
essa funo em muitos problemas diferentes, alm de aplic-la para resolver o problema
da velocidade do pra-quedista.

2.4

EXCEL
Excel uma planilha produzida pela Microsoft Inc. Planilhas so um tipo especial de software matemtico que permite ao usurio entrar com linhas e colunas de dados e fazer clculos sobre elas. Assim, so uma verso computadorizada de uma grande folha contbil na
qual clculos extensos e interconectados podem ser mostrados. Todo o clculo atualizado
quando um valor modificado, e por isso planilhas so ideais para o tipo de anlise e se?.
O Excel tem alguns recursos numricos internos, incluindo a resoluo de equaes,
traado de curvas e otimizao. Est tambm includa a VBA como uma linguagem de
macros que pode ser usada para implementar clculos numricos. Finalmente, o Excel
possui vrias ferramentas de visualizao, como grficos e desenhos de superfcies tridimensionais, que servem como um valioso acessrio para a anlise numrica. Nesta seo,
mostraremos como tais recursos podem ser usadas para resolver o problema do praquedista.
Para isso, vamos primeiro preparar uma planilha simples. Como mostrado a seguir,
o primeiro passo envolve a insero de legendas e nmeros nas clulas da planilha.

Problema do Pra-quedista

.
.
.

Antes de escrever um programa macro para calcular o valor numrico, podemos


tornar nosso trabalho subseqente mais fcil associando nomes aos valores dos parmetros. Para isso, selecionamos as clulas A3:B5 (a maneira mais fcil de faz-lo movendo

32

PROGRAMAO E SOFTWARE

o mouse para A3, pressionando o boto esquerdo e arrastando at B5). Em seguida,


vamos ao cabealho e selecionamos, nesta ordem,
Insert Name Create Left column OK

Para constatarmos que tudo funcionou adequadamente, selecionamos a clula B3 e verificamos se um rtulo m aparece na caixa de nomes (localizada do lado esquerdo da
folha logo abaixo da barra de instrues).
Movemos para a clula C8 e inserimos a soluo analtica (Equao 1.9),
=9,8*m/cd*(1-exp(-cd/m*A8))

Quando essa frmula introduzida, o valor 0 aparece em C8. Ento, copiamos a frmula
logo abaixo, na clula C9, e vemos que o valor 16,405 m/s.
Isso que foi dito tpico do uso padro do Excel. Por exemplo, nesse ponto possvel mudar o valor dos parmetros e ver como a soluo analtica muda.
Agora ilustraremos como macros VBA podem ser usadas para estender os recursos
padro. A Figura 2.8 lista o pseudocdigo lado a lado com o cdigo Excel VBA para todas
as estruturas de controle descritas na seo anterior (Figuras 2.2 a 2.6). Observe que, apesar da diferena nos detalhes, a estrutura do pseudocdigo e do cdigo VBA idntica.
Podemos agora usar algumas das construes da Figura 2.8 para escrever uma
macrofuno 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 cdigo se abrir. A seguinte funo VBA pode ser desenvolvida diretamente do pseudocdigo na Figura 2.7. Digite esta funo na janela de edio.
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 pseudocdigo da Figura 2.7 e verifique quo similares
eles so. Observe tambm como expandimos a lista dos argumentos da funo para incluir os parmetros necessrios para o modelo da velocidade do pra-quedista. A velocidade resultante, v, ento devolvida para a planilha via o nome da funo.

Existe uma combinao de teclas Alt-F11 que ainda mais rpida!

2.4 EXCEL

33

Note ainda como inclumos outra funo para calcular a derivada, que pode ser includa no mesmo mdulo digitando-se diretamente a seguir da funo 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)
pseudocdigo e (b) Excel VBA.

(a) Pseudocdigo

(b) Excel VBA

IF/THEN:
IF condio THEN
True bloco
ENDIF

If b <> 0 Then
r1 = c / b
End If

IF/THEN/ELSE:
IF condio 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 condio1 THEN
Bloco1
ELSEIF condio2
Bloco2
ELSEIF condio3
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 Expresso 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 condio EXIT
Bloco2
ENDIF
COUNT-CONTROLLED LOOP:
DOFOR i = incio, 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

PROGRAMAO E SOFTWARE

O passo final retornar planilha e invocar a funo entrando a seguinte frmula na


clula B9:
=Euler(dt,A8,A9,B8,m,cd)

O resultado da integrao numrica, 16,531, aparecer na clula B9.


possvel avaliar o que aconteceu aqui. Quando voc entra com o cdigo da funo
na clula da planilha, os parmetros so repassados para o programa VBA onde o clculo
feito, e o resultado ento enviado para a clula no monitor. De fato, a linguagem VBA
da macro permite que se use o Excel como um mecanismo de entrada e sada. Vrios
benefcios advm desse fato.
Por exemplo, agora que voc preparou os clculos, pode manipul-los. Suponha que
o saltador era muito pesado, digamos, m  100 kg (cerca de 220 libras). Inserir 100 na
clula B3 da planilha atualizar o valor apresentado para 17,438 na clula B9. Mude a
massa de volta para 68,1 kg e o resultado anterior, 16,531, automaticamente reaparecer
na clula B9.
Agora vamos processar um passo adiante preenchendo mais alguns nmeros para
o tempo. Insira os nmeros 4, 6,... 16 nas clulas A10 a A16. Agora copie as frmulas
das clulas B9:C9 para as linhas de 10 a 16. Note que o programa VBA calcula os resultados numricos 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 grfico xy com os resultados, usando-se
o Excel Chart Wizard.
A planilha final mostrada a seguir. Acabamos de criar uma ferramenta interessante
para soluo de problemas. Voc pode fazer anlises de sensibilidade mudando os valores de cada um dos parmetros. Assim que um novo valor for inserido, a computao e
o grfico sero 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 Pra-quedista

.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

a combinao do Excel com a linguagem de programao VBA que verdadeiramente abre um mundo de possibilidades para a soluo de problemas em engenharia. Nos
captulos 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
numricos Cleve Moler e John N. Little. Como o nome diz, MATLAB foi originalmente
desenvolvido como um laboratrio para matrizes. Atualmente, o elemento central do
MATLAB ainda matriz. Manipulaes matemticas de matrizes so muito convenientemente implementadas em ambientes interativos fceis de usar. A essas manipulaes de
matrizes, o MATLAB adicionou diversas funes numricas, clculos simblicos e ferramentas de visualizao. Como conseqncia, a verso corrente representa um ambiente
tcnico computacional quase completo.
O MATLAB possui uma variedade de funes e operadores que permitem implementar convenientemente muitos dos mtodos numricos desenvolvidos neste livro. Tais
mtodos sero descritos em detalhes nos captulos que seguem. Alm disso, programas
podem ser escritos nos chamados M-files, que podem ser usados para implementar clculos numricos. Vamos explorar como isso feito.
Primeiro, voc pode ver que o uso normal do MATLAB est intimamente relacionado programao. Por exemplo, suponha que ns queremos determinar a soluo
analtica para o problema do pra-quedista, o que pode ser obtido com a seguinte srie 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 seqncia de comandos semelhante seqncia de instrues em uma linguagem de programao tpica.
Agora, digamos que voc queira se desviar da estrutura seqencial. Embora existam
algumas maneiras claras de inserir funcionalidades no-seqenciais no modo padro de
comando, a incluso de decises e laos mais bem implementada criando-se um documento MATLAB chamado M-file. Para isso, faa a seguinte seleo na barra de instrues
File New Mfile

e uma nova janela se abrir com o cabealho MATLAB Editor/Debugger. Nessa janela,
voc pode digitar e editar programas MATLAB. Digite o seguinte cdigo:
g=9,8;
m=68,1;
cd=12,5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))

Observe que os comandos so escritos da mesma maneira como seriam escritos na


interface do MATLAB. Salve o programa com o nome analpara. O MATLAB automaticamente agregar a extenso .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 boto 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

PROGRAMAO E SOFTWARE

O problema, agora, que tudo foi configurado para rodar um caso somente. Voc
pode tornar o programa mais flexvel fazendo o usurio acionar mais algumas variveis 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 anlise:
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 usurio pode ento entrar com um valor como 100, e o resultado ser mostrado como
v =
17,3420

Agora est bastante claro como podemos programar uma soluo numrica com um
M-file. Para fazer isso, devemos primeiro entender como MATLAB manipula logicamente as estruturas lgicas e de lao. A Figura 2.9 traz uma lista de pseudocdigos lado a
lado com o cdigo MATLAB para todas as estruturas de controle da seo anterior. Embora as estruturas do pseudocdigo e do cdigo MATLAB sejam muito parecidas, existem algumas pequenas diferenas que devem ser notadas.
Em particular, observe como representamos a estrutura DOEXIT. No lugar do DO,
usamos a instruo WHILE(1). MATLAB interpreta o nmero 1 como correspondendo a
verdadeiro, portanto, essa instruo ser repetida infinitamente da mesma maneira
como a instruo DO. O lao terminar com um comando break. Esse comando transfere
o controle para a instruo seguinte instruo end que finaliza o lao.
Observe tambm que os parmetros do lao controlado por contador so ordenados de forma diferente. Para o pseudocdigo, os parmetros do lao so especificados
como incio, fim, passo. Para o MATLAB, os parmetros so ordenados como
incio:passo:fim.

O seguinte M-file MATLAB pode ser desenvolvido do pseudocdigo 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) Pseudocdigo

FIGURA 2.9
Estruturas de controle
fundamentais em (a)
pseudocdigo e (b) linguagem
de programao MATLAB.

37

(b) MATLAB

IF/THEN:
IF condio THEN
True bloco
ENDIF

if b ~= 0
r1 = c / b;
end

IF/THEN/ELSE:
IF condio THEN
True bloco
ELSE
False bloco
ENDIF

if a < 0
b = sqrt(abs(a));
else
b = sqrt(a);
end

IF/THEN/ELSEIF:
IF condio1 THEN
Bloco1
ELSEIF condio2
Bloco2
ELSEIF condio3
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 Expresso 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 condio 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 executlo, digitando numpara. Isso deve resultar na seguinte sada:
massa (kg): 100
velocidade (m/s):
17,4381

PROGRAMAO E SOFTWARE

38

Como passo final nesse desenvolvimento, vamos tomar o M-file e convert-lo na


funo apropriada, o que resulta no seguinte M-file, baseado no pseudocdigo 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 funo 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 funo 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 combinao do ambiente MATLAB com a linguagem de programao dos


M-file que de fato abre um mundo de possibilidades para a resoluo de problemas de engenharia. No prximo captulo, ilustraremos como isso feito.

2.6

OUTRAS LINGUAGENS E BIBLIOTECAS


Nas sees anteriores, mostramos como desenvolver funes e procedimentos em Excel
e MATLAB para implementar o mtodo de Euler partindo de algoritmos expressos em
pseudocdigo. Voc deve notar que funes similares podem ser escritas em linguagens
de alto nvel como Fortran 90 e C++. Por exemplo, uma funo em Fortran 90 para o
mtodo 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 funo MATLAB. O ponto que, uma vez
tendo desenvolvido um algoritmo bem estruturado na forma de pseudocdigo, ele pode
ser prontamente implementado em uma variedade de ambientes de programao.
Neste livro, nossa abordagem ser a de mun-lo com procedimentos bem estruturados escritos em pseudocdigo. Essa coleo de algoritmos constitui uma biblioteca
numrica que pode ser acessada para implementar tarefas numricas especficas nem diversas ferramentas de software ou linguagens de programao.
Alm dos seus programas, voc deve estar ciente que bibliotecas de programas comerciais tambm trazem procedimentos numricos teis. Por exemplo, a biblioteca Numerical
Recipe inclui uma grande variedade de algoritmos escritos em Fortran e C.5 Tais procedimentos so descritos em livros (por exemplo, Press et al., 1992) e em formato eletrnico.
Para Fortran, o IMSL (International Mathematical and Statistical Library) prov mais de
700 procedimentos cobrindo todas as reas numricas mencionadas neste livro. Em razo
do uso bem difundido do Fortran em engenharia, inclumos aplicaes IMSL neste texto.
PROBLEMAS
2.1 Escreva o pseudocdigo para implementar o fluxograma
mostrado na Figura P2.1. Certifique-se de incluir a identao apropriada para deixar o programa bem claro.

x<5

x 10

T
x=x5

x = 7,5

x=5
x < 50
T

Figura P2.1

2.2 Reescreva o seguinte pseudocdigo usando a identao 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 concentrao de poluentes em um lago registrado em cada carto em uma seqncia de cartes indexados. Um
carto especial marcado com fim dos dados colocado no final
da seqncia. Escreva um algoritmo que determine a soma, a mdia
e o mximo desses valores.
2.4 Escreva um fluxograma estruturado para o Problema 2.3.
2.5 Desenvolva, corrija e documente um programa para determinar
as razes de uma equao quadrtica, ax2  bx  c, em uma linguagem de programao de alto nvel ou uma linguagem de macro

Os procedimentos do Numerical Recipe esto disponveis em livro e em formato eletrnico para Pascal, MS BASIC
e MATLAB. Informaes sobre os produtos Numerical Recipe podem ser encontradas em http://www.nr.com/.

PROGRAMAO E SOFTWARE

40

da sua escolha. Use sub-rotinas para calcular as razes (sejam reais


ou complexas). Faa testes de execuo 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 funo cosseno pode ser calculada pela seguinte srie infinita:
x2
x4
x6
cos x = 1
+

+
2!
4!
6!
Escreva um algoritmo para implementar essa frmula de modo a
calcular e imprimir os valores de cos x assim que cada termo da
srie for acrescentado. Em outras palavras, calcule e imprima a seqncia de valores para
cos x = 1
x2
2!
x2
x4
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 aproximao
% erro =
100%
valor real
cos x = 1

2.10 O mtodo da diviso e mdia, um mtodo antigo para calcular a raiz quadrada de um nmero positivo a, pode ser formulado
como
x + a/x
2
(a) Escreva um pseudocdigo bem estruturado para implementar
esse algoritmo como mostrado na Figura P2.10. Use a identao apropriada para que a estrutura fique clara.
(b) Desenvolva, corrija e documente o programa que implementa
essa equao em uma linguagem de alto nvel ou uma linguagem de macro sua escolha. Estruture seu cdigo como na
Figura P2.10.
x=

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 frmula
AG =

PT MT + PE ME
100%
PT + PE

Passo 10: Imprima o nmero do curso, o nome e a mdia geral.


Passo 11: Termine o programa.
(a) Escreva um pseudocdigo 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; exerccio para casa  95, 90, 87, 100, 92, 77
exame final  92.

tol = 105
x = a/2

Raz quadrada = 0

2.7 Escreva um algoritmo para o Problema 2.6 como (a) um fluxograma estruturado, (b) pseudocdigo.
2.8 Desenvolva, corrija e documente um programa para o Problema 2.6 em uma linguagem de programao de alto nvel ou em
uma linguagem de macro de sua escolha. Empregue funes de biblioteca para o cosseno em seu computador para determinar os valores reais. Faa o programa imprimir as aproximaes da srie e
o erro em cada etapa. Como um teste, faa 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 avaliao consiste em testes, exerccios para
casa e exames:
Passo 1: Entre com o nmero e o nome do curso.
Passo 2: Entre com os fatores de peso para os testes (PT), exerccio
para casa (PE) e para o exame final (PEF).
Passo 3: Entre com a nota dos testes e determine a mdia das notas
dos testes (MT).
Passo 4: Entre com a nota dos exerccios e determine a sua mdia
(AH).
Passo 5: Se o curso tem uma nota final, continue para o Passo 6. Se
no, v para o Passo 9.
Passo 6: Entre com a nota do exame final (EF).
Passo 7: Determine o valor de AG segundo a equao

T
a>0

y = (x + a/x)/2
e = |(y x)/y|
x=y

e < tol
T
Raz quadrada = x

Figura P2.10

2.11 Uma quantidade de dinheiro P investida em uma conta cujos


juros so computados no final do perodo. O valor de retorno R
fornecido por uma taxa de juros i, depois de n perodos, deve ser
determinado pela seguinte frmula:

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 funo devem incluir o investimento inicial P, a taxa de juros i (um valor decimal) e
o nmero de anos n para o qual o valor de retorno deve ser calculado. A sada deve consistir em uma tabela com cabealho e colunas para n e R. Execute o programa para P  $100.000, i  0,06 e
n  5 anos.
2.12 Frmulas econmicas esto disponveis para calcular pagamentos anuais para emprstimos. 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 frmula
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 cabealho e colunas para n e A.
2.13 A temperatura mdia por dia de uma determinada rea pode
ser aproximada pela seguinte funo:
T  Tmdia  (Tmx  Tmdia) cos(
(t  tmx))
onde Tmdia a temperatura mdia anual, Tmx a temperatura mxima, = freqncia de variao anual (= 2/365), e tmx so os
= 205 d). Desenvolva um programa
dias de temperatura mxima (
que calcule a temperatura mdia entre dois dias do ano para uma
cidade particular. Teste o programa para (a) janeiro-fevereiro (t 
0 a 59) em Miami, Flrida (Tmdia  22,1oC; Tmx  28,3oC), e (b)
julho-agosto (t  180 a 242) em Boston, Massachusetts (Tmdia 
10,7oC; Tmx  22,9oC).
2.14 Desenvolva, corrija e teste um programa em uma linguagem
de alto nvel ou em uma linguagem de macro sua escolha para calcular a velocidade de queda de um pra-quedista como mostrado no
Exemplo 1.2. Desenvolva o programa de modo a permitir que o
usurio entre com valores para o coeficiente de arrasto e a massa.
Teste o programa duplicando os resultados do Exemplo 1.2. Repita
os clculos mas use tamanho de passo 1 a 0,5 s. Compare os resultados com a soluo analtica obtida previamente no Exemplo 1.1.
Um menor passo tem resultados melhores ou piores? Explique os
resultados.
2.15 A bubble sort uma tcnica de ordenao ineficiente, porm
fcil de programar. A idia por trs desse algoritmo mover por um
vetor comparando pares adjacentes e trocando os valores se estes
estiverem fora de ordem. Seguindo esse mtodo, para ordenar um
vetor completamente, necessrio repetir os passos muitas vezes.
A cada passo, para uma ordenao 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
necessria. Ento, o vetor estar ordenado. Depois da primeira passada, o maior valor do vetor vai diretamente para o vetor fundo. Conseqentemente, a segunda passada tem de posicionar o penltimo
valor, e assim por diante. Desenvolva um programa para montar um
vetor com 20 nmeros aleatrios e orden-los em ordem decrescente
com o bubble sort (Figura P2.15).
2.16 A Figura P2.16 mostra um tanque cilndrico de base cnica.
Se o nvel de lquido muito baixo na parte cnica, o volume
simplesmente o volume cnico de lquido. Se o nvel de lquido
est no meio da parte cilndrica, o volume total de lquido inclui a
parte cnica preenchida e a parte parcialmente ocupada do cilindro. Escreva uma funo bem estruturada para calcular o volume
do tanque como funo dos valores dados de R e d. Use estruturas
de controle e deciso (como If/Then, ElseIf, Else, EndIf). Desenvolva a funo 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 funo com os dados seguintes:
R

0,5

1,2

3,0

3,1

2R

d
R

Figura P2.16
Figura P2.15
Incio

2.17 Duas distncias so necessrios para especificar a localizao


de um ponto relativamente origem no espao bidimensional
(Figura P2.17):

m=n1

As distncias horizontal e vertical (x, y) em coordenadas cartesianas.


O raio e o ngulo (r, ) em coordenadas polares.
Figura P2.17

troca = falso

i=1

II

i>m

I
y

i=i+1

F
T

No
troca

ai > ai+1

F
ai

avana
ai+1

III
m=m1
fim

troca =
verdadeiro

IV

PROGRAMAO E SOFTWARE

42

relativamente simples calcular as coordenadas cartesianas (x, y)


com base das coordenadas polares (r, ). O inverso no to simples. O raio pode ser calculado pela seguinte frmula:
r=

x 2 + y2

Se as coordenadas estiverem no primeiro e no quarto quadrantes


(isto , x 0), ento uma frmula simples pode ser utilizada,
 
y
= tg
x

1
1
0
1
1
1
0
1
0

0
1
1
1
0
1
1
1
0

A dificuldade surge para os demais casos. A tabela a seguir sintetiza


as possibilidades:
x
<0
<0
<0
=0
=0
=0

>0
<0
=0
>0
<0
=0

tan1(y/x) +
tan1(y/x)

/2
/2
0

(a) Escreva um fluxograma bem estruturado para um procedimento que calcule r e como funo de x e y. Expresse os resultados finais para em graus.
(b) Escreva uma funo bem estruturada baseada no seu fluxograma. Teste seu programa usando-o para preencher a
seguinte tabela:

2.18 Desenvolva uma funo bem estruturada para a qual passada uma nota em valor numrico de 0 a 100 e que retorna uma nota
em caracteres segundo o esquema:
Nota numrica
A
B
C
D
F

Critrios
90 valor numrico 100
80 valor numrico < 90
70 valor numrico < 80
60 valor numrico < 70
valor numrico < 60

2.19 Desenvolva uma funo bem estruturada que determina (a) o


fatorial; (b) o valor mnimo de um vetor; (c) a mdia 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 mximo
valor absoluto da linha, de modo que o elemento mximo em cada
linha seja 1.

CAPTULO

3
3
Aproximaes e
Erros de Arredondamento
Como tantos dos mtodos deste livro so simples na descrio e na aplicao, seria muito
tentador, neste ponto, proceder diretamente ao corpo principal do texto e ensinar a usar
essas tcnicas. Entretanto, entender o conceito de erro to importante para o uso efetivo
dos mtodos numricos que os prximos dois captulos sero devotados a esse tpico.
A importncia do erro foi introduzida na discusso sobre o pra-quedista em queda
livre no Captulo 1, quando a velocidade de um pra-quedista em queda livre foi determinado por mtodos tanto analticos quanto numricos. Embora a tcnica numrica tenha
produzido estimativas que estavam prximas da soluo analtica exata, havia uma discrepncia, ou erro, porque o mtodo numrico envolvia uma aproximao. Na realidade,
tivemos sorte nesse caso, porque estava disponvel uma soluo analtica que permitiu calcular o erro exatamente. Para muitos problemas aplicados de engenharia, no possvel
obter solues analticas. Portanto, no se pode calcular exatamente os erros associados aos
mtodos numricos. Nesses casos, preciso contentar-se com uma aproximao ou estimativa dos erros.
Tais erros so caractersticos da maioria das tcnicas descritas neste livro. Essa afirmao pode, em princpio, parecer contrria ao que normalmente se julga engenharia segura. Os alunos e os engenheiros prticos constantemente tentam limitar os erros em seu
trabalho. Quando se fazem provas ou lies de casa, o erro penalizado, e no recompensado. Na prtica profissional, os erros podem ser custosos e, algumas vezes, catastrficos.
Se uma estrutura ou um mecanismo falha, vidas podem ser perdidas.
A perfeio uma meta louvvel, mas raramente atingida. Por exemplo, embora o
modelo desenvolvido a partir da segunda lei de Newton seja uma aproximao excelente,
ele nunca prediria exatamente, na prtica, a queda do pra-quedista. Uma variedade de fatores, como vento e pequenas variaes na resistncia do ar, causaria desvios do valor previsto. Se esses desvios forem sistematicamente para cima ou para baixo, ento necessrio
desenvolver um novo modelo. Entretanto, se eles forem distribudos aleatoriamente e agrupados bem junto em torno da previso, ento os desvios podero ser considerados
desprezveis, e o modelo, adequado. As aproximaes numricas tambm introduzem
discrepncias similares na anlise. Novamente, a questo : quanto erro est presente nos
clculos, e ele tolervel?
Este captulo e o prximo cobrem os tpicos bsicos relacionados identificao,
quantificao e minimizao desses erros. Neste captulo, informaes gerais referentes
quantificao do erro so revisadas nas primeiras sees. Isto seguido por uma seo
sobre uma das duas principais formas de erro numrico: o erro de arredondamento. O erro
de arredondamento conseqncia do fato de os computadores poderem representar apenas quantidades com nmeros finitos de algoritmos. A seguir, o Captulo 4 trata da outra
forma importante de erro: o erro de truncamento. O erro de truncamento a discrepncia
introduzida pelo fato de que os mtodos numricos podem empregar aproximaes para
representar operaes e quantidades matemticas exatas. Finalmente, sero discutidos
brevemente os erros que no so ligados diretamente com os prprios mtodos numricos
e que incluem enganos, erros na formulao ou no modelo, e incerteza nos dados.

43

APROXIMAES E ERROS DE ARREDONDAMENTO

44

3.1

ALGARISMOS SIGNIFICATIVOS
Este livro trata exaustivamente das aproximaes ligadas com a manipulao dos nmeros.
Conseqentemente, antes de discutir os erros associados aos mtodos numricos, til revisar os conceitos bsicos ligados representao aproximada dos prprios nmeros.
Sempre que se emprega um nmero em um clculo, preciso estar certo de que ele
pode ser usado com confiana. Por exemplo, a Figura 3.1 exibe um velocmetro e um
hodmetro de um automvel. A inspeo visual de um velocmetro indica que o carro est
movendo-se entre 48 e 49 km/h. Como o indicador est mais alto do que o ponto mdio
entre os marcadores de escala, pode-se dizer com segurana que o carro est movendo-se
a aproximadamente 49 km/h. O resultado confivel porque, se dois ou mais indivduos
razoveis lerem essa medida, eles chegaro mesma concluso. 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 confiana. Estimativas do terceiro algarismo (ou algarismos superiores) devem ser vistas como aproximaes. Seria absurdo
afirmar, com base nesse velocmetro, que o automvel est movendo-se a 48,8642138
km/h. Em contraste, o hodmetro 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
perodo de uso. Nesse caso, o stimo algarismo (e os prximos) incerto.
O conceito de um algarismo significativo foi desenvolvido para designar formalmente
a confiabilidade de um valor numrico. Os algarismos significativos de um nmero so
aqueles que podem ser usados com confiana. Eles correspondem ao nmero de algarismos
corretos mais um algarismo estimado. Por exemplo, o velocmetro e o hodmetro na Figura
3.1 fornecem leituras de trs e sete algarismos significativos, respectivamente. Para o velocmetro, os dois algarismos corretos so 48. Convenciona-se tomar o algarismo estimado
como a metade da menor diviso de escala no aparelho de medida. Portanto, a leitura do velocmetro consistiria em trs algarismos significativos: 48,5. De forma similar, o hodmetro
forneceria uma leitura com sete algarismos significativos, ou seja, 87.324,45.
Embora usualmente seja um procedimento imediato avaliar os algarismos significativos de um nmero, alguns casos podem causar confuso. Por exemplo, zeros no so
sempre algarismos significativos porque eles podem ser necessrios apenas para localizar
a vrgula decimal. Os nmeros 0,00001845, 0,0001845 e 0,001845 tm quatro algarismos
significativos. Analogamente, quando zeros direita so usados em nmeros grandes, no
claro quantos, ou se algum, destes zeros so significativos. Por exemplo, o valor nominal
do nmero 45.300 pode ter trs, quatro ou cinco algarismos significativos, dependendo de
os zeros serem conhecidos com confiana. Tais incertezas podem ser resolvidas usando-se
a notao cientfica, onde 4,53  104, 4,530  104, 4,5300  104 designam que o nmero
conhecido com trs, quatro ou cinco algarismos significativos, respectivamente.
FIGURA 3.1
Um velocmetro e um hodmetro de automvel ilustram o conceito de algarismos significativos.

40

60
40

80
100

20

120
4
8 7 3 2 4 5

3.2 ACURCIA E PRECISO

45

O conceito de algarismos significativos tem duas implicaes importantes no estudo


de mtodos numricos:
1.

2.

Como introduzido no problema do pra-quedista em queda livre, os mtodos


numricos fornecem resultados aproximados. necessrio, portanto, desenvolver
critrios para especificar quanta confiana se tem no resultado aproximado. Uma
forma de fazer isso em termos de algarismos significativos. Por exemplo, pode-se
decidir que a aproximao aceitvel se ela for correta at quatro algarismos
significativos.

Embora quantidades como , e ou 7 representem quantidades especficas, elas no


podem ser expressas exatamente por um nmero limitado de algarismos. Por exemplo,
= 3,141592653589793238462643 . . .
ad infinitum. Como os computadores mantm apenas um nmero finito de algarismos
significativos, tais nmeros jamais podem ser representados exatamente. A omisso
dos algarismos significativos remanescentes chamada de erro de arredondamento.

Tanto o erro de arredondamento quanto o uso de algarismos significativos para expressar confiana em um resultado numrico sero explorados em detalhes nas sees
subseqentes. Alm disso, o conceito de algarismos significativos ter relevncia na
definio de acurcia e preciso na prxima seo.

ACURCIA E PRECISO
Os erros associados tanto aos clculos quanto s medidas podem ser caracterizados com
relao a sua acurcia e preciso. A acurcia se refere a quo prximo o valor calculado
ou medido est do valor verdadeiro. A preciso se refere a quo prximos os valores individuais calculados ou medidos esto uns dos outros.
Esses conceitos podem ser ilustrados graficamente usando-se uma analogia da
prtica 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 acurcia e preciso. (a) Inacurado e
impreciso; (b) acurados e impreciso; (c) inacurado e preciso; (d) acurado e preciso.

Aumento da acurcia

Aumento da preciso

3.2

(a)

(b)

(c)

(d)

APROXIMAES E ERROS DE ARREDONDAMENTO

46

dos como previses de uma tcnica numrica, enquanto a mosca representa a verdade.
Inacurcia (tambm chamada vis) definida como um desvio sistemtico da verdade.
Embora os tiros na Figura 3.2c estejam agrupados mais juntos do que aqueles na Figura 3.2a,
os dois casos so igualmente inacurados porque ambos esto centrados no quadrante superior esquerdo do alvo. As imprecises (tambm 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
esto agrupados mais juntos.
Os mtodos numricos deveriam ser suficientemente acurados ou sem vis para satisfazer os requisitos de um problema de engenharia particular. Eles tambm deveriam ser
suficientemente precisos para permitirem projetos adequados de engenharia. Neste livro,
ser usado o termo coletivo erro para representar tanto a inacurcia quanto a impreciso
de predies. Com esses conceitos como base, podem-se discutir os fatores que contribuem para o erro dos clculos numricos.

3.3

DEFINIES DE ERRO
Os erros numricos so causados pelo uso de aproximaes para representar operaes e
quantidades matemticas exatas. Eles incluem erros de truncamento, que resultam quando
so feitas aproximaes para representar procedimentos matemticos exatos, e erros de
arredondamento, que aparecem quando nmeros com uma quantidade limitada de algoritmos significativos so usados para representar nmeros exatos. Para ambos os tipos, a relao entre o resultado exato ou verdadeiro e a aproximao pode ser formulada como
Valor verdadeiro  aproximao  erro

(3.1)

Rearranjando a Equao (3.1), encontra-se que o erro numrico igual discrepncia


entre o valor verdadeiro e a aproximao, ou seja,
Et  valor verdadeiro  aproximao

(3.2)

onde Et usado para designar o valor exato do erro. O subscrito t includo para designar
que esse o erro verdadeiro(true, em ingls) em contraste com outros casos, como ser
descrito em breve, em que uma estimativa aproximada do erro deve ser empregada.
Um defeito dessa definio que ela no leva em conta a ordem de grandeza do
valor que est sendo examinado. Por exemplo, um erro de um centmetro muito mais
significativo quando se mede um rebite do que uma ponte. Uma forma de considerar o
valor das quantidades que esto sendo calculadas normalizar o erro com o valor verdadeiro, como em
Erro relativo fracionrio verdadeiro =

erro verdadeiro
valor verdadeiro

onde, como especificado pela Equao (3.2), erro  valor verdadeiro  aproximao. O
erro relativo tambm 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

Clculo 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 DEFINIES DE ERRO

47

Soluo.
(a) O erro na medida da ponte [Equao (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 [Equao (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 concluso seria que foi feito um trabalho adequado na
medio da ponte, enquanto que a estimativa para o rebite deixa algo a desejar.

Observe que, para as Equaes (3.2) e (3.3), E e tm o subscrito t para indicar que
o erro est normalizado com relao ao valor verdadeiro. No Exemplo 3.1, esse valor foi
fornecido. Entretanto, nas situaes reais, tais informaes raramente esto disponveis.
Para os mtodos numricos, o valor verdadeiro ser conhecido apenas ao se lidar com
funes que podem ser resolvidas analiticamente. Este ser o caso tpico quando se investigar o comportamento terico de uma tcnica particular para sistemas simples. Entretanto,
nas aplicaes do mundo real, obviamente no se conhecer a priori a resposta verdadeira.
Para tais situaes, uma alternativa normalizar o erro usando a melhor estimativa
disponvel do valor verdadeiro, isto , a aproximao propriamente dita, como em
a =

erro aproximado
100%
aproximao

(3.4)

onde o subscrito a significa que o erro foi normalizado por um valor aproximado. Observe tambm que, para aplicaes do mundo real, a Equao (3.2) no pode ser usada
para calcular o termo do erro para a Equao (3.4). Um dos desafios dos mtodos numricos determinar estimativas de erro na ausncia de conhecimento relativo ao valor verdadeiro. Por exemplo, certos mtodos numricos usam uma abordagem iterativa para calcular as respostas. Em tais abordagens, uma aproximao atual feita com base em uma
aproximao prvia. Esse processo realizado repetidamente, ou iterativamente, para se
calcular com sucesso ( o que se espera) aproximaes cada vez melhores. Para tais
casos, o erro freqentemente estimado como a diferena entre as aproximaes prvia e
corrente. Assim, o erro relativo porcentual determinado de acordo com
a =

aproximao atual aproximao prvia


100%
aproximao atual

(3.5)

Essa e outras abordagens para expressar erros sero mais bem discutidas em captulos
subseqentes.
Os sinais nas Equaes (3.2) at (3.5) podem ser tanto positivos quanto negativos.
Se a aproximao for maior do que o valor verdadeiro (ou a aproximao prvia for maior
do que a aproximao atual), o erro negativo; se a aproximao for menor do que o valor
verdadeiro, o erro positivo. Alm disso, para as Equaes (3.3) a (3.5), o denominador
pode ser menor do que zero, o que tambm pode levar a um erro negativo. Freqentemente, ao se realizar clculos, no h preocupao com o sinal do erro, mas interesse em
saber se o valor absoluto porcentual menor que uma tolerncia porcentual pr-especifi-

APROXIMAES E ERROS DE ARREDONDAMENTO

48

cada s . Portanto, em geral, til usar o valor absoluto das Equaes (3.2) at (3.5). Para
tais casos, os clculos so repetidos at que
|a | < s

(3.6)

Se essa relao for vlida, supe-se que o resultado est dentro do nvel aceitvel pr-especificado s . Observe que, no resto deste texto, sero utilizados quase que exclusivamente valores absolutos quando forem usados erros relativos.
Tambm conveniente relacionar esses erros ao nmero de algarismos significativos na aproximao. Pode ser mostrado (Scarborough, 1966) que, se o seguinte critrio
for satisfeito, possvel ter certeza de que o resultado correto at pelo menos n algarismos significativos.

s  (0,5  102n) %

EXEMPLO 3.2

(3.7)

Estimativas de Erros para Mtodos Iterativos


Enunciado do Problema. Em matemtica, as funes, em geral, podem ser representadas por sries infinitas. Por exemplo, a funo 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 seqncia, a aproximao se torna


uma estimativa cada vez melhor do valor verdadeiro de ex. A Equao (E3.2.1) chamada
de expanso em srie de Maclaurin.
Comeando com a verso 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 Equaes (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 critrio de erro pr-especificado s que
garanta trs algarismos significativos.
Soluo. Inicialmente, a Equao (3.7) pode ser usada para determinar o critrio de
erro que garante o resultado correto at pelo menos trs algarismos significativos:
s = (0,5 1023 )% = 0,05%
Portanto, sero adicionados termos srie at que a caia abaixo desse nvel.
A primeira estimativa simplesmente igual Equao (E3.2.1) com um nico
termo. Portanto, a primeira estimativa igual a 1. A segunda estimativa ento 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 [Equao (3.3)]
t =

1,648721 1,5
100% = 9,02%
1,648721

A Equao (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 no menor do que o valor pedido de s, os clculos continuariam com a soma


de um outro termo, x2 / 2!, e repetindo-se os clculos de erro. O processo deve ser continuado at que a < s . Todos os clculos 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 includos, o erro aproximado cai abaixo de s 
0,05% e os clculos param. Entretanto, observe que, em vez de trs algarismos significativos, os resultados so exatos at cinco! Isso acontece porque, nesse caso, tanto a
Equao (3.5) quanto a (3.7) so conservadoras ou seja, garantem que o resultado
pelo menos to bom quanto elas especificaram. Embora, como discutido no Captulo 6,
esse no seja sempre o caso para a Equao (3.5), ser verdade a maior parte das vezes.

Com as definies precedentes como base, possvel avanar para dois tipos de erros
ligados diretamente com os mtodos numricos: 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 mantm apenas um
nmero fixo de algarismos significativos durante
os clculos. Nmeros como , e ou 7 no podem ser expressos por um nmero fixo de
algarismos significativos. Portanto, eles no podem ser representados exatamente por
um computador. Alm disso, como os computadores usam uma representao na base 2,
no podem representar precisamente certos nmeros exatos na base 10. A discrepncia
introduzida por essa omisso de algarismos significativos chamada de erro de
arredondamento.
3.4.1 Representao dos Nmeros no Computador
Os erros numricos de arredondamento esto diretamente relacionados maneira como
os nmeros so armazenados no computador. A unidade fundamental na qual a informao representada chamada de palavra, entidade que consiste em uma seqncia de
dgitos binrios (binary digits), ou bits. Os nmeros so tipicamente armazenados em uma
ou mais palavras. Para entender como isso feito, primeiro necessrio revisar algum
material relacionado aos sistemas numricos.
Sistemas Numricos. Um sistema numrico meramente uma conveno para representar quantidades. Como so 10 dedos na mo e 10 dedos no p, o sistema numrico com
o qual h mais familiaridade o sistema decimal ou o sistema numrico na base 10. A
base o nmero usado como referncia 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 nmeros. Por si s,
esses algarismos so satisfatrios para contar de 0 a 9.
Para quantidades maiores, combinaes desses algarismos bsicos devem ser usadas, com a posio ou o valor do lugar especificando a ordem de grandeza. O algarismo
mais direita em um nmero completo representa um nmero entre 0 e 9. O segundo algarismo a partir da direita representa um mltiplo de 10. O terceiro algarismo a partir da
direita representa um mltiplo de 100 e assim por diante. Por exemplo, no nmero 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 representao visual de como o nmero formulado no
sistema na base 10. Esse tipo de representao chamada notao posicional.

50

APROXIMAES E ERROS DE ARREDONDAMENTO

104 103 102 101 100


8

9
9
0
4
6
8

(a)

27

26

25

24

23

22

21

20


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) binrio (base 2) funcionam. Em (b), o nmero
binrio 10101101 equivalente ao nmero decimal 173.

Como o sistema decimal to familiar, em geral no se percebe que existem alternativas. Por exemplo, se os seres humanos tivessem oito dedos na mo e oito dedos no p,
sem dvida teriam desenvolvido um sistema octogonal ou uma representao 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 lgicas
primrias dos computadores digitais so componentes eltricas ligadas ou desligadas.
Portanto, os nmeros em um computador so representados com um sistema binrio ou
na base 2. Da mesma forma como no sistema decimal, as quantidades podem ser representadas usando-se a notao posicional. Por exemplo, o nmero binrio 11 equivalente
a (1  21 )  (1  20 )  2  1  3 no sistema decimal. A Figura 3.3b ilustra um
exemplo mais complicado.
Representao Inteira. Agora que foi revisado como o nmero na base 10 pode ser
representado na forma binria, simples conceber como os inteiros so representados em
um computador. A abordagem mais direta, chamada de mtodo 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 so usados para armazenar o nmero. Por exemplo, o valor inteiro 173 seria armazenado em um computador de 16 bits, como na Figura 3.4.

FIGURA 3.4
A representao de um inteiro decimal 173 em um computador de 16 bits usando-se o
mtodo do valor com sinal.
1

Nmero
Sinal

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.
Soluo. Dos 16 bits, o primeiro bit representa o sinal. Os restantes 15 bits podem conter nmeros binrios 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 expresso 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. Alm disso, como o zero j foi definido como
0000000000000000, redundante usar o nmero 1000000000000000 para definir um
menos zero. Portanto, ele normalmente usado para representar um nmero negativo
adicional: 32.768, e o intervalo de 32.768 a 32.767.

Observe que esse mtodo descrito do valor com sinal no usado para representar inteiros nos computadores convencionais. Uma abordagem preferida, chamada de
tcnica do complemento de 2, incorpora diretamente o sinal no valor absoluto do
nmero 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 so limitados em sua capacidade de representar inteiros. Isto , os nmeros acima ou abaixo de um intervalo no podem ser representados. Uma limitao mais sria encontrada no armazenamento e na manipulao de
quantidades fracionrias como descrito a seguir.
Representao em Ponto Flutuante. As quantidades fracionrias so representadas
tipicamente em computadores usando-se a forma de ponto flutuante. Nessa abordagem, o
nmero expresso como uma parte fracionria, chamada mantissa ou significando, e uma
parte inteira, chamada de expoente ou caracterstica, como em
m be
onde m a mantissa, b a base do sistema numrico que est sendo usado, e e o expoente. Por exemplo, o nmero 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 nmero em ponto flutuante poderia ser
armazenado em uma palavra. O primeiro bit fica reservado para o sinal; a prxima srie
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. Ento, a quantidade 1/34 seria armazenada como
0,0294  100

FIGURA 3.5
A maneira como um nmero em ponto flutuante armazenado em uma palavra.
Expoente
com sinal
Mantissa
Sinal

APROXIMAES E ERROS DE ARREDONDAMENTO

52

Entretanto, nesse processo, a incluso do zero intil direita da vrgula nas fora a abandonar o algarismo 1 na quinta casa decimal. O nmero pode ser normalizado para se
remover o zero dominante pela multiplicao da mantissa por 10 e pela diminuio do expoente por 1 para fornecer
0,2941  10-1
Assim, manteve-se um algarismo significativo adicional quando o nmero foi armazenado.
A conseqncia da normalizao 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 representao em ponto flutuante permite que tanto fraes quanto nmeros muito
grandes sejam expressos em um computador. Contudo, ela tem algumas desvantagens.
Por exemplo, os nmeros em ponto flutuante ocupam mais espao e levam mais tempo
para processar do que os nmeros inteiros. Mais significativo, porm, que seu uso introduz uma fonte de erros, j que a mantissa mantm apenas um nmero finito de algarismos significativos. Portanto, foi introduzido um erro de arredondamento.

EXEMPLO 3.4

Conjunto Hipottico de Nmeros em Ponto Flutuante


Enunciado do Problema. Crie um conjunto de nmeros hipotticos em ponto flutuante
para uma mquina que armazena informao usando palavras de 7 bits. Use o primeiro bit
para o sinal do nmero, os prximos trs para o sinal e o mdulo do expoente, e os trs ltimos para o mdulo da mantissa (Figura 3.6).
Soluo. O menor nmero positivo possvel mostrado na Figura 3.6. O 0 inicial
indica que a quantidade positiva. O 1 na segunda posio mostra que o expoente tem
um sinal negativo. Os 1 na terceira e na quarta posio do o valor mximo do expoente como sendo
1 21 + 1 20 = 3
Portanto, o expoente ser 3. Finalmente, a mantissa especificada pelo 100 nas ltimas
trs posies, o que coincide com
1  21  0  22  0  23  0,5
Embora uma mantissa menor seja possvel (isto , 000, 001, 010, 011), o valor 100
usado por causa do limite imposto pela normalizao [Equao (3.8)]. Desse modo, o
menor nmero positivo possvel para esse sistema 0,5  23, que igual a 0,0625 no
sistema na base 10. Os prximos nmeros mais altos so obtidos aumentando-se a mantissa, como em

FIGURA 3.6
O menor nmero positivo em ponto flutuante possvel para o Exemplo 3.4.
21 20 21 22 23
0

Sinal do Sinal do
nmero expoente

Mdulo
da mantissa

Mdulo
do expoente

3.4 ERROS DE ARREDONDAMENTO

53

0111101 = (1 21 + 0 22 + 1 23 ) 23 = (0,078125)10
0111110 = (1 21 + 1 22 + 0 23 ) 23 = (0,093750)10
0111111 = (1 21 + 1 22 + 1 23 ) 23 = (0,109375)10
Observe que os equivalentes na base 10 so igualmente espaados, 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 diminuda para o seu menor valor, 100. Portanto, o prximo nmero
0110100 = (1 21 + 0 22 + 0 23 ) 22 = (0,125000)10
Isso ainda representa um salto de 0,125000  0,109375  0,015625. No entanto, agora
quando os nmeros mais altos forem gerados aumentando-se a mantissa, o espaamento
ter um comprimento de 0,03125,
0110101 = (1 21 + 0 22 + 1 23 ) 22 = (0,156250)10
0110110 = (1 21 + 1 22 + 0 23 ) 22 = (0,187500)10
0110111 = (1 21 + 1 22 + 1 23 ) 22 = (0,218750)10
Esse padro repetido conforme quantidades maiores forem representadas at que o
nmero mximo seja atingido,
0011111 = (1 21 + 1 22 + 1 23 ) 23 = (7)10
O conjunto numrico final mostrado graficamente na Figura 3.7.

FIGURA 3.7
O sistema numrico hipottico desenvolvido no Exemplo 3.4. Cada valor indicado por um
trao. Apenas os nmeros positivos so mostrados. Um conjunto idntico tambm se estenderia
na direo negativa.
Truncamento

Arredondamento

x x

x

x x

x/2 x/2

x + x

7
0

Overflow

"Buraco" de underflow
no zero

54

APROXIMAES E ERROS DE ARREDONDAMENTO

A Figura 3.7 mostra diversos aspectos da representao em ponto flutuante que so


significativos com relao 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 nmeros positivos e negativos grandes
que no podem ser representados. Tentativas de usar nmeros fora do intervalo
aceitvel vo resultar no que chamado de um erro de overflow. Entretanto, alm
das quantidades grandes, a representao em ponto flutuante tem a limitao
adicional de que nmeros muito pequenos tambm no podem ser representados.
Isso ilustrado pelo buraco causado pelo underflow entre zero e o primeiro
nmero positivo na Figura 3.7. Deve ser observado que esse buraco se torna maior
por causa da restrio de normalizao da Equao (3.8).
Existe apenas um nmero finito de quantidades que podem ser representadas dentro
do intervalo. Portanto, o grau de preciso limitado. Obviamente, os nmeros irracionais no podem ser representados exatamente. Alm disso, os nmeros racionais
que no coincidem exatamente com muitos valores no conjunto tambm no podem
ser representados precisamente. Os erros introduzidos pela aproximao em ambos os
casos so chamados de erros de quantizao. A aproximao 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 numrico na
base 10 com sete algarismos significativos. Um mtodo de aproximao seria simplesmente omitir ou truncar o oitavo termo e os termos mais altos, como em  
3,141592, com a introduo de um erro associado de [Equao (3.2)].
Et  0,00000065...
Essa tcnica de manter apenas os termos significativos chamada de truncamento
no jargo da computao. Preste ateno para no confundir esse termo com os erros
de truncamento discutidos no Captulo 4. Observe que, para o sistema numrico 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 vis introduzido porque todos os erros so positivos. A deficincia
do truncamento decorre de que termos mais altos na representao decimal completa
no tm impacto na verso aproximada. Por exemplo, no exemplo de , o primeiro
algarismo descartado 6. Portanto, o ltimo dgito mantido deveria ser arredondado
para cima para fornecer 3,141593. Tal arredondamento reduz o erro para
Et  0,00000035...

3.

Conseqentemente, o arredondamento fornece um erro absoluto menor do que o


truncamento. Observe que, para o sistema numrico na base 2 na Figura 3.7,
arredondar significa que qualquer quantidade caindo dentro de um intervalo de
comprimento x ser representada pelo nmero permitido mais prximo. Ento, o
limitante superior do erro para o arredondamento x/2. Adicionalmente, nenhum
vis introduzido porque alguns erros so positivos e alguns so negativos. Alguns
computadores usam arredondamento. Entretanto, isso sobrecarrega a carga computacional e, conseqentemente, muitas mquinas usam simplesmente o truncamento. Essa abordagem justificada pela hiptese de que o nmero de algarismos
significativos suficientemente grande para que o erro de arredondamento resultante seja usualmente desprezvel.
O intervalo entre os nmeros, x, aumenta quando o mdulo dos nmeros cresce.
essa caracterstica, claro, que permite que a representao em ponto flutuante preserve os algarismos significativos. Mas ela tambm significa que o erro de quantizao ser proporcional ao mdulo do nmero que est sendo representado. Para
nmeros 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 mquina, que pode ser calculado como


 = b1t

(3.11)

onde b a base numrica e t o nmero de algarismos significativos na mantissa.


Observe que as desigualdades nas Equaes (3.9) e (3.10) significam que esses so
limitantes para os erros. Isto , eles especificam os piores casos.
EXEMPLO 3.5

psilon da Mquina
Enunciado do Problema. Determine o psilon da mquina e verifique sua efetividade
na caracterizao dos erros do sistema numrico do Exemplo 3.4. Suponha que seja usado
truncamento.
Soluo. O sistema em ponto flutuante hipottico do Exemplo 3.4 usa valores de base
b  2 e o nmero de bits da mantissa t  3. Logo, o psilon da mquina seria, [Equao
(3.11)]
 = 213 = 0,25
Conseqentemente, o erro de quantizao 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 nmeros
igualmente espaados sucessivos (Figura 3.8). Aqueles nmeros 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 mximo 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 Equao (3.9).

FIGURA 3.8
O maior erro de quantizao ocorrer para aqueles valores caindo imediatamente abaixo do
limitante superior do primeiro de uma srie de intervalos igualmente espaados.

epsilon  1
DO
IF (epsilon+1  1)EXIT
epsilon  epsilon/2
END DO
epsilon  2  epsilon

FIGURA 3.9
Um pseudocdigo para
determinar o psilon da
mquina para um computador
binrio.

Maior erro
relativo

A dependncia do mdulo dos erros de quantizao tem algumas aplicaes prticas


nos mtodos numricos. A maioria delas diz respeito operao comumente usada de testar se dois nmeros so iguais. Isso ocorre tanto quando se testa a convergncia de quantidades como tambm 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 so iguais, seria aconselhvel testar se a diferena delas menor do que uma pequena tolerncia aceitvel. Alm disso, tambm deveria ficar evidente que deveriam ser
comparadas diferenas normalizadas em vez de absolutas, particularmente ao se lidar

56

APROXIMAES E ERROS DE ARREDONDAMENTO

com nmeros de mdulo grande. Alm disso, o psilon da mquina pode ser usado na formulao de critrios de parada ou de convergncia. Isso garante que os programas so robustos ou seja, eles no dependem do computador no qual esto sendo implementados.
A Figura 3.9 lista um pseudocdigo para determinar automaticamente o psilon da
mquina de um computador binrio.
Preciso Estendida. Deve-se notar neste ponto que, embora os erros de arredondamento possam ser importantes em contextos tais como testes de convergncia, o nmero
de algarismos significativos implementados na maioria dos computadores permite que a
maior parte dos clculos em engenharia seja feita com preciso mais do que aceitvel. Por
exemplo, o sistema numrico hipottico na Figura 3.7 um exagero grosseiro que foi
usado para propsitos ilustrativos. Os computadores comerciais usam palavras muito
maiores e, conseqentemente, permitem que os nmeros sejam expressos com preciso
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 1038 a 1039.
Reconhecido isso, existem ainda casos nos quais os erros de arredondamento se tornam crticos. Por essa razo, a maior parte dos computadores permite que seja especificada
a preciso estendida. A mais comum delas a dupla preciso, na qual o nmero de palavras
usadas para armazenar um nmero em ponto flutuante dobrado, o que fornece cerca de 15
a 16 algarismos decimais de preciso com um intervalo de aproximadamente 10308 a 10308.
Em muitos casos, o uso de quantidades em dupla preciso diminui enormemente o
efeito dos erros de arredondamento. Entretanto, essas solues tm um custo, pois elas
tambm exigem muito mais memria e tempo de execuo. A diferena no tempo de
execuo para pequenos clculos pode parecer insignificante. Porm, conforme os programas se tornam maiores e mais complicados, o tempo adicional de execuo pode
tornar-se considervel e ter um impacto negativo na eficincia da ferramenta para resolver o problema. Portanto, a preciso estendida no deveria ser usada frivolamente. Em
vez disso, deveria ser utilizada seletivamente onde fornecer um benefcio mximo a um
custo mnimo em termos de tempo e execuo. Nas prximas sees, ser abordado com
mais detalhes como os erros de arredondamento afetam os clculos, o que proporcionar
uma base de entendimento para gui-lo no uso do recurso de dupla preciso.
Antes de prosseguir, preciso observar que alguns pacotes de software comumente
usados (por exemplo, Excel, Mathcad) usualmente utilizam dupla preciso para representar quantidades numricas. Portanto, as pessoas que desenvolveram esses pacotes decidiram que minimizar os erros de arredondamento tinha precedncia sobre qualquer perda
de velocidade causada pelo uso da preciso estendida. Outros, como o MATLAB, permitem que o usurio utilize preciso estendida, se quiser.
3.4.2 Manipulaes Aritmticas de Nmeros no Computador
Paralelamente s limitaes de um sistema numrico no computador, as manipulaes
aritmticas reais envolvendo esses nmeros tambm podem resultar em erros de
arredondamento. Na seo seguinte, inicialmente ser ilustrado como as operaes aritmticas comuns afetam os erros de arredondamento. A seguir, sero investigadas algumas
manipulaes particulares especialmente suscetveis a erros de arredondamento.
Operaes Aritmticas Comuns. Por causa de sua familiaridade, ser usado um sistema numrico na base 10 normalizado para ilustrar os efeitos dos erros de arredondamento em adio, subtrao, multiplicao e diviso simples. Outras bases numricas se
comportariam de uma forma anloga. Para simplificar a discusso, um computador decimal hipottico com uma mantissa de 4 algarismos e um expoente de 1 algarismo ser
empregado, e, alm disso ser usado o truncamento. O arredondamento levaria a erros similares, embora menos dramticos.
1

Observe que apenas 23 bits so realmente usados para armazenar a mantissa. Entretanto, por causa da normalizao, o primeiro bit da mantissa sempre 1 e, portanto, no armazenado. Logo, o primeiro bit junto com
os 23 bits armazenados d um total de 24 bits de preciso para a mantissa.

3.4 ERROS DE ARREDONDAMENTO

57

Quando dois nmeros em ponto flutuante so somados, a mantissa com o nmero 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  101. A vrgula da mantissa do segundo nmero deslocada
para a esquerda um nmero de posies igual diferena dos expoentes [1  (1)  2],
como em
0,4381 101 0,004381 101
Agora, os nmeros 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 nmero que foram transladados para a direita foram essencialmente perdidos nos
clculos.
A subtrao feita de forma idntica 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 no est normalizado e necessrio transladar a vrgula
uma posio para a direita para fornecer 0,9550 101  9,550. Observe que o zero adicionado no final da mantissa no significativo, mas simplesmente um apndice para
preencher um espao vazio criado pela translao. Resultados ainda mais dramticos seriam obtidos quando os nmeros fossem muito prximos, como
0,7642 103
0,7641 103
0,0001 103
que deveria ser convertido para 0,1000 100  0,1000. Logo, nesse caso, trs zeros nosignificativos so adicionados. Isso introduz um erro computacional substancial porque
as manipulaes subseqentes se comportariam como se esses zeros fossem significativos. Como se ver em uma seo posterior, a perda de significado durante a subtrao
de nmeros quase iguais est entre as maiores fontes de erros de arredondamento nos
mtodos numricos.
A multiplicao e a diviso so um pouco mais simples que a adio e a subtrao.
Os expoentes so somados e as mantissas, multiplicadas. Como a multiplicao de duas
mantissas de n algarismos fornecer o resultado com 2 n algarismos, a maior parte dos
computadores tem resultados intermedirios em um registro de comprimento duplo. Por
exemplo,
0,1363 103 0,6423 101 = 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 diviso feita de uma forma parecida, mas as mantissas so divididas e os expoentes so subtrados. A seguir os resultados so normalizados e truncados.
Clculos Grandes. Alguns mtodos necessitam de um nmero extremamente grande
de manipulaes aritmticas para chegarem ao seu resultado final. Alm disso, esses clculos so freqentemente interdependentes. Isto , os ltimos clculos dependem dos
resultados dos primeiros. Conseqentemente, mesmo que os erros de arredondamento individuais sejam pequenos, o efeito cumulativo sobre um grande nmero de clculos pode
ser significativo.

APROXIMAES E ERROS DE ARREDONDAMENTO

58

EXEMPLO 3.6

Nmero Grande de Clculos Interdependentes


Enunciado do Problema. Investigue o efeito do erro de arredondamento em um nmero grande de clculos interdependentes. Desenvolva um programa para somar um
nmero 100.000 vezes. Some o nmero 1 em preciso simples, e 0,00001 em preciso
simples e dupla.
Soluo. A Figura 3.10 mostra um programa em Fortran 90 que faz essa soma. Enquanto a soma em preciso simples de 1 fornece o resultado esperado, a soma de 0,00001
em preciso simples d uma discrepncia grande. Esse erro reduzido significativamente
quando 0,00001 somado em dupla preciso.
Os erros de quantizao so a fonte dessas discrepncias. Como o inteiro 1 pode
ser representado exatamente no computador, ele pode ser somado exatamente. Em
contraste, 0,00001 no pode ser representado exatamente e quantizado por um valor
ligeiramente diferente de seu valor verdadeiro. Embora essa discrepncia muito pequena fosse desprezvel para um clculo pequeno, ela se acumula depois de somas
repetidas. O problema ainda ocorre em dupla preciso, mas atenuado porque o erro
de quantizao muito menor.

FIGURA 3.10
Um programa em Fortran 90
para somar um nmero 105
vezes. O caso da soma do
nmero 1 em preciso simples
e do nmero 105 em
preciso simples e em
preciso 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.e5
x3=1.d5
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,
atpico, no sentido de que todos os erros nas operaes repetidas tm o mesmo sinal. Na
maioria dos casos, os erros em clculos longos alternam os sinais de uma forma aleatria
e, portanto, em geral se cancelam. Entretanto, tambm h exemplos em que tais erros no
se cancelam, mas, na realidade, levam a um resultado final esprio. As sees seguintes
so destinadas a fornecer uma percepo das formas pelas quais isso pode acontecer.
Adicionando um Nmero Grande e um Nmero Pequeno. Suponha que seja somado um nmero pequeno, 0,0010, a um nmero grande, 4.000, usando-se um computa-

3.4 ERROS DE ARREDONDAMENTO

59

dor hipottico com 4 algarismos na mantissa e 1 algarismo no expoente. O nmero 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 no ter sido feita!
Esse tipo de erro pode ocorrer em clculos de uma srie infinita. Os termos iniciais
de tais sries so em geral relativamente grandes em comparao com os termos posteriores. Portanto, depois que uns poucos termos foram somados, a situao a de somar
quantidades muito pequenas a uma quantidade grande.
Uma forma de atenuar esse tipo de erro somar as sries na ordem inversa isto ,
em uma ordem crescente em vez de decrescente. Dessa forma, cada novo termo ser de
valor absoluto comparvel soma acumulada (ver Problema 3.4).
Cancelamento na Subtrao. Esse termo se refere ao erro de arredondamento induzido quando se subtraem dois nmeros em ponto flutuante quase iguais.
Um exemplo comum em que isso pode ocorrer envolve encontrar as razes de uma
equao quadrtica ou uma parbola usando a frmula quadrtica,

x1
b b2 4ac
=
(3.12)
x2
2a
Para os casos nos quais b2  4ac, a diferena no numerador vai ser muito pequena, e a
dupla preciso pode aliviar o problema. Alm disso, uma formulao alternativa pode ser
usada para minimizar o cancelamento na subtrao,
x1
2c
=

x2
b b2 4ac

(3.13)

Uma ilustrao do problema e o uso dessa frmula alternativa so fornecidos no prximo


exemplo.
EXEMPLO 3.7

Cancelamento na Subtrao
Enunciado do Problema. Calcule os valores das razes de uma equao quadrtica
com a  1, b  3000.001 e c  3. Compare os valores calculados com as razes verdadeiras x1  0,001 e x2  3000.
Soluo. A Figura 3.11 mostra um programa em Fortran 90 que calcula as razes x1 e
x2 com base na frmula quadrtica [Equao (3.12)]. Observe que so dadas tanto a verso com preciso simples quanto a com dupla preciso. Enquanto os resultados para x2
so adequados, os erros percentuais relativos para x1 so ruins na verso com preciso
simples, t  2,4%. Esse nvel poderia ser inadequado para muitas aplicaes em problemas de engenharia. Tal resultado particularmente surpreendente, porque se utiliza uma
frmula analtica para obter a soluo!
A perda de significado ocorre na linha de ambos os programas na qual dois nmeros
relativamente grandes so subtrados. Problemas similares no ocorrem quando os mesmos nmeros so somados.
Com base nessa discusso, possvel chegar concluso geral de que a frmula
quadrtica ser suscetvel a cancelamento na subtrao sempre que b2  4ac. Uma forma
de contornar esse problema usar dupla preciso. Uma outra reescrever a frmula
quadrtica no formato da Equao (3.13). Como na sada do programa, ambas as opes
do um erro muito menor porque o cancelamento na subtrao minimizado ou evitado.
Observe que, como no exemplo anterior, muitas vezes o cancelamento na subtrao
pode ser contornado usando uma transformao. Entretanto, o nico remdio geral usar
preciso estendida.

APROXIMAES 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 preciso 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 preciso:'


PRINT '(1x,a10,f20.14)', 'x1 = ', x11
PRINT '(1x,a10,f10.4)', 'x2 = ', x22
PRINT *
PRINT *, 'Frmula modificada para a
primeira raiz:'
x1r = 2. * c / (b + d)
PRINT '(1x,a10,f20.14)', 'x1 = ', x1r
END
OUTPUT:
Resultado em preciso simples:
x1 =
.00097656250000
x2 = 3000.0000
Resultado em dupla preciso:
x1 =
.00100000000771
x2 = 3000.0000
Frmula modificada para a primeira raiz:
x1 =
.00100000000000

FIGURA 3.11
Um programa em Fortran 90 para determinar as razes de uma equao quadrtica.

Borro. O borro ocorre sempre que termos individuais em uma soma so maiores do
que a soma propriamente dita. Como no prximo exemplo, um caso no qual isso acontece
em uma srie com sinais mistos.
EXEMPLO 3.8

Clculo de ex usando Srie Infinita


Enunciado do Problema. A funo exponencial y  ex dada pela srie infinita
y =1+x +

x2
x3
+
+
2
3!

Calcule esta funo para x  10 e x  10 e preste ateno aos problemas dos erros de
arredondamento.
Soluo. A Figura 3.12a fornece um programa em Fortran 90 que usa a srie infinita
para calcular ex. A varivel i o nmero de termos na srie, termo o valor do termo atual
somado srie, e soma o valor acumulado da srie. A varivel teste o valor acumulado
da srie antes de adicionar termo. A soma da srie interrompida quando o computador
no puder detectar a diferena entre teste e soma.
A Figura 3.12b mostra o resultado de rodar o programa para x  10. Observe que
esse caso completamente satisfatrio. O resultado final atingido com 31 termos com o
valor da srie idntico ao valor da funo de biblioteca at 7 algarismos significativos.
A Figura 3.12c mostra resultados similares para x  10. Entretanto, para esse
caso, os resultados calculados pela srie no tm nem o mesmo sinal que o resultado
verdadeiro. Na realidade, o resultado negativo est abrindo uma questo sria, porque
ex nunca pode ser menor do que zero. O problema aqui causado pelos erros de
arredondamento. Observe que vrios dos termos que compem a soma so muito
maiores do que o resultado final da soma. Alm disso, ao contrrio do caso anterior, os
termos individuais variam de sinal. Portanto, na realidade esto sendo somados e subtrados nmeros grandes (cada um com algum pequeno erro) e um grande significado
posto nas diferenas isto , no cancelamento na subtrao. Logo, pode-se ver que o
culpado nesse exemplo do borro , na verdade, o cancelamento na subtrao. Para tais
casos, apropriado procurar alguma outra estratgia computacional por exemplo,

3.4 ERROS DE ARREDONDAMENTO

61

tentar calcular y  e10 como y  (e1)10. Alm de tal reformulao, o nico recurso
geral a preciso estendida.
Produtos Internos. Deve ficar claro da ltima seo que algumas sries infinitas so
particularmente suscetveis a erros de arredondamento. Felizmente, o clculo de sries
no uma das operaes mais comuns nos mtodos numricos. Uma manipulao muito
mais comum o clculo do produto escalar, como em
n


xi yi = x1 y1 + x2 y2 + + xn yn

i=1

FIGURA 3.12
(a) Um programa em Fortran 90 para calcular ex usando uma srie infinita. (b) Clculo de ex. (c) Clculo de ex.
(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
(b) Clculo de e10

x=
10
i
0
1
2
3
4
5

(c) Clculo de e10

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

APROXIMAES E ERROS DE ARREDONDAMENTO

62

Essa operao muito comum, particularmente na soluo de equaes algbricas lineares simultneas. Tais somas so suscetveis a erro de arredondamento. Conseqentemente, em geral desejvel calcul-las com preciso estendida.
Embora as sees anteriores devessem fornecer regras empricas para atenuar o erro
de arredondamento, elas no disponibilizam uma forma direta alm da tentativa e erro para realmente determinar o efeito de tais erros em um clculo. No prximo captulo, ser
introduzida a srie de Taylor, que vai fornecer uma abordagem matemtica para estimar
tais efeitos.
PROBLEMAS
3.1 Converta os seguintes nmeros na base 2 para a base 10:
(a)101101, (b) 101,101 e (c) 0,01101.
3.2 Faa seu prprio programa baseado na Figura 3.9 e use-o para
determinar o psilon da mquina do seu computador.
3.3 De forma parecida quela na Figura 3.9, escreva um programa
curto para determinar o menor nmero, xmin, usado no computador
que voc vai utilizar junto com este livro. Observe que o seu computador ser incapaz de distinguir de forma confivel entre zero e
uma quantidade que seja menor que esse nmero.
3.4 A srie 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 preciso simples para calcular f (n) para
n  10.000, calculando a soma de i  1 a 10.000. A seguir, repita
os clculos, 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 e5 usando as duas abordagens
ex = 1 x +

x2
x3

+
2
3!

e
ex =

1
=
ex

1
1+x +

x
x
+
+
2
3!

e compare com o valor verdadeiro de 6,737947  103. Use 20 termos para calcular cada srie 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 funo em x  0,577?


Tente isso usando aritmtica com 3 e 4 algarismos significativos,
com truncamento.
3.7 (a) Calcule o polinmio
y = x 3 7x 2 + 8x 0,35
em x 1,37. Use aritmtica 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 memria de acesso randmica (RAM) em megabytes
necessria para armazenar uma tabela multidimensional que tem
20  40  120. Essa tabela est em dupla preciso 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
comea em 1.
3.9 Determine o nmero de termos necessrios para aproximar
cos x at 8 algarismos significativos usando a aproximao por
srie de Maclaurin
cos x = 1

x2
x4
x6
x8
+

+

2
4!
6!
8!

Calcule a aproximao usando um valor de x  0,3. Escreva um


programa para determinar o seu resultado.
3.10 Use aritmtica com 5 algarismos significativos com truncamento para determinar as razes da seguinte equao com as
Equaes (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 mquina ser empregado para formular um critrio de parada s para os seus programas? D um
exemplo.

4.1 PACOTES E PROGRAMAO

CAPTULO

63

4
Erros de Truncamento e
Sries de Taylor
Os erros de truncamento so aqueles que resultam do uso de uma aproximao no lugar
de um procedimento matemtico exato. Por exemplo, no Captulo 1 aproximamos a derivada da velocidade de um pra-quedista em queda livre por uma equao de diferenas
divididas da forma [Equao (1.11)]
dv v
v(ti+1 ) v(ti )
=
=
dt
t
ti+1 ti

(4.1)

Um erro de truncamento foi introduzido na soluo numrica porque a equao de diferenas apenas aproxima o valor verdadeiro da derivada (lembre-se da Figura 1.4). Para
obter uma percepo das propriedades de tais erros, ser abordada agora uma formulao
matemtica que amplamente usada nos mtodos numricos para expressar uma funo
de forma aproximada a srie de Taylor.1

4.1

A SRIE DE TAYLOR
O teorema de Taylor (Quadro 4.1) e sua frmula associada, a srie de Taylor, so de
grande valia no estudo dos mtodos numricos. Em essncia, a srie de Taylor fornece um
meio para prever o valor da funo em um ponto em termos do valor da funo e suas derivadas em um outro ponto. Em particular, o teorema afirma que qualquer funo lisa
pode ser aproximada por um polinmio.
Uma maneira til de ganhar intuio sobre a srie de Taylor constru-la termo a
termo. Por exemplo, o primeiro termo na srie
f(xi+1 )
(4.2)
= f(xi )
Essa relao, chamada de aproximao 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, provvel que o novo valor
seja parecido com o anterior.
A Equao (4.2) fornece uma estimativa perfeita se a funo que estiver sendo
aproximada for de fato constante. Entretanto, se a funo variar de alguma forma no intervalo, termos adicionais da srie de Taylor so necessrios para fornecer uma estimativa
melhor. Por exemplo, a aproximao 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 inclinao f (xi) multiplicada pela
distncia entre xi e xi1. Assim, a expresso agora tem a forma de uma reta e capaz de
prever um aumento ou uma diminuio entre xi e xi1.
Embora a Equao (4.3) possa prever uma variao, ela exata apenas para retas ou
1

N.R.T.: O autor no faz distino de nomenclatura entre a srie de Taylor e um polinmio de Taylor. O sentido fica claro a partir do contexto.

63

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

64

Teorema de Taylor

Quadro 4.1
Teorema de Taylor

Se a funo f e suas primeiras n  1 derivadas forem contnuas


em um intervalo contendo a e x, ento o valor da funo 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 mdio para a funo g() vezes o comprimento do intervalo x  a. Como a mdia dever ocorrer entre
os valores mnimo e mximo no intervalo, existe um ponto
x  no qual a funo assume o valor mdio.
O primeiro teorema , na realidade, um caso especial do segundo teorema do valor mdio para integrais.

Segundo Teorema da Mdia para Integrais

(Q4.1.1)

onde o resto Rn definido por


 x
(x t)n (n+1)
Rn =
(t) dt
f
n!
a

Se as funes g e h forem contnuas (logo, integrveis) em um intervalo contendo a e x, e se h no mudar de sinal no intervalo, ento
existe um ponto entre a e x tal que


(Q4.1.2)

onde t uma varivel muda. A Equao (Q4.1.1) chamada de


srie de Taylor ou frmula de Taylor. Se o resto for omitido, o lado
direito da Equao (Q4.1.1) a aproximao em polinmio de Taylor de f (x). Em essncia, o teorema afirma que qualquer funo lisa
pode ser aproximada por um polinmio.
A Equao (Q4.1.2) apenas uma das maneiras, chamada de
forma integral, nas quais o resto pode ser expresso. Uma formulao alternativa pode ser deduzida com base no teorema do valor
mdio para a integral.


g(t)h(t) dt = g( )

h(t) dt

(Q4.1.4)

Portanto, a Equao (Q4.1.3) equivalente Equao (Q4.1.4)


com h(t)  1.
O segundo teorema pode ser aplicado Equao (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) contnua e no muda de sinal. Portanto, se f (n  1)(t) for contnua, ento o teorema do valor mdio
para a integrao vlido e

Primeiro Teorema da Mdia para Integrais


Se uma funo g for contnua (portanto, integrvel) em um intervalo contendo a e x, ento 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 equao conhecida como a forma derivada ou de Lagrange


do resto.

tendncias lineares. Portanto, um termo de segunda ordem adicionado srie para capturar alguma da curvatura que a funo 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 includos para se obter a expanso completa em srie 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 Equao (4.5) uma srie infinita, o sinal de igual substitui o sinal
de aproximao usado nas Equaes (4.2) a (4.4). O resto includo 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 aproximao de ordem n e um valor
de x que est em algum ponto entre xi e xi1. Essa introduo do to importante que
uma seo inteira (Seo 4.1.1) ser dedicada sua deduo. Por agora, suficiente reconhecer que existe um tal valor que fornece uma determinao exata do erro.
Em geral, conveniente simplificar a srie de Taylor definindo um tamanho do
Rn =

4.1 A SRIE DE TAYLOR

65

passo h  xi1  xi e expressando a Equao (4.5) como


f(xi+1 ) = f(xi ) + f  (xi )h +

f (xi ) 2
f (3) (xi ) 3
f (n) (xi ) n
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)

Aproximao de um Polinmio por Srie de Taylor


Enunciado do Problema. Use expanses em sries de Taylor de ordem zero at ordem
quatro para aproximar a funo
f(x) = 0,1x 4 0,15x 3 0,5x 2 0,25x + 1,2
a partir de xi  0 com h  1. Isto , faa uma previso do valor da funo em xi1  1.
Soluo. Como se trata de uma funo conhecida, pode-se calcular valores para f(x)
entre 0 e 1. Os resultados (Figura 4.1) indicam que a funo comea em f (0)  1,2 e ento
se curva para baixo at f (1)  0,2. Logo, o valor verdadeiro que se tenta prever 0,2.
A aproximao em srie de Taylor com n  0 [Equao (4.2)]
f(xi+1 )  1,2
Ento, como na Figura 4.1, a aproximao de ordem zero uma constante. Usando essa
formulao, obtm-se um erro de truncamento [lembre-se da Equao (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 aproximao de primeira ordem [Equao (4.3)]
f(xi+1 )  1,2 0,25h

FIGURA 4.1
A aproximao de f (x) = 0,1x 4 0,15x 3 0,5x 2 0,25x + 1,2 em x = 1 por
expanses em sries 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

f (xi + 1) f (xi) + f (xi)h

f (xi + 1) f (xi) + f (xi)h +

da

0,5

f (xi + 1) f (xi)

de

ir o

f (xi + 1)
0

xi = 0

xi + 1 = 1
h

f (xi) 2
h
2!

66

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

que pode ser usada para calcular f (1)  0,95. Conseqentemente, a aproximao comea
a capturar a trajetria voltada para baixo da funo na forma de uma reta inclinada
(Figura 4.1), o que resulta em uma reduo 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 Equao (4.4),
f(xi+1 )  1,2 0,25h 0,5h 2
e substituindo h  1, f (1)  0,45. A incluso 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 aproximao ainda mais. De fato, a incluso da
terceira e da quarta derivadas resulta exatamente na mesma equao do comeo:
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 polinmio de quarta ordem nula. Conseqentemente,


a expanso em srie 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 expanso em srie de Taylor de ordem n ser exata para um polinmio
de grau n. Para outras funes diferenciveis (portanto, contnuas), como exponenciais e
funes senoidais, um nmero finito de termos no resultar em uma estimativa exata.
Cada termo adicional ir contribuir com alguma melhora, ainda que pequena, para a
aproximao. Esse comportamento ser ilustrado no Exemplo 4.2. Apenas se um nmero
infinito de termos for somado a srie fornecer um valor exato.2
Embora o que foi dito seja verdadeiro, o valor prtico da expanso em srie de Taylor que, na maioria dos casos, a incluso de apenas poucos termos resultar em uma
aproximao que ser suficientemente prxima do valor verdadeiro para fins prticos. A
avaliao de quantos termos so necessrios para ficar suficientemente prximo
baseada no resto da expanso. Lembre-se de que o resto tem a forma geral da Equao
(4.8). Essa relao tem dois grandes defeitos. Primeiro, no conhecido exatamente,
mas simplesmente est em algum lugar entre xi e xi1. Segundo, para se calcular a
Equao (4.8), preciso determinar a (n  1)-sima derivada de f(x). Para fazer isso,
necessrio conhecer f (x). Entretanto, se f (x) fosse conhecida, no seria preciso fazer a
expanso em srie de Taylor no contexto atual!
Apesar desse dilema, a Equao (4.8) ainda til para se ganhar intuio sobre os
erros de truncamento, porque, de fato, h controle sobre o termo h na equao. Em outras palavras, possvel escolher quo longe de x se quer calcular f(x) e controlar o
nmero de termos includos na expanso. Conseqentemente, a Equao (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 potncia. Embora
essa aproximao no tenha nenhuma implicao no valor da derivada que multiplica hn1,
2

N.R.T.: Na verdade, isto s vlido para as funes cujas sries de Taylor convergem para ele, ou seja, para
funes reais analticas. As funes deficirias que ocorrem nas aplicaes, em geral tm essa propriedade.

4.1 A SRIE DE TAYLOR

67

ela extremamente til para julgar o erro comparativo de mtodos numricos baseados em
expanses em sries 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 adio de termos
na srie de Taylor. Em muitos casos, se h for suficientemente pequeno, o primeiro e alguns
outros termos de baixa ordem geralmente do conta de uma percentagem desproporcionalmente alta dos erros. Assim, apenas poucos termos sero necessrios para se obter
uma estimativa adequada. Essa propriedade ilustrada no exemplo a seguir.
EXEMPLO 4.2

Uso da Expanso em Srie de Taylor para Aproximar uma Funo com um


Nmero Infinito de Derivadas
Enunciado do Problema. Use expanses em sries 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.
Soluo. Como visto no Exemplo 4.1, o conhecimento da funo verdadeira significa
que possvel determinar o valor correto de f(/3)  0,5.
A aproximao de ordem 0 [Equao (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 aproximao 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 aproximao 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 incluso 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 polinmio do Exemplo 4.1. Portanto, cada termo adicional resulta em alguma melhora na estimativa. Entretanto, observe
TABELA 4.1 Aproximao em srie de Taylor de f (x) = cos x em xi+1 = /3
usando o ponto base /4. So mostrados os valores para diversas ordens
(n) de aproximao.
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 102
1,51 103
6,08 105
2,44 106

68

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

tambm 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. Conseqentemente, embora a adio de mais termos reduza mais ainda o erro, a melhora se torna desprezvel.
4.1.1 O Resto na Expanso em Srie de Taylor
Antes de ilustrar como a srie de Taylor realmente usada para estimar erros numricos,
preciso explicar por que o argumento foi includo na Equao (4.8). Uma deduo
matemtica apresentada no Quadro 4.1. Agora ser desenvolvida uma exposio alternativa baseada em uma interpretao um pouco mais visual. Ento, esse caso especfico
poder ser estendido formulao mais geral.
Suponha que a expanso em srie de Taylor [Equao(4.7)] seja truncada depois do
termo de ordem zero para se obter
f(xi+1 )
= f(xi )
Uma descrio visual dessa previso de ordem zero mostrada na Figura 4.2. O resto
ou erro dessa previso, que tambm est mostrado na figura, consiste na srie infinita
dos termos truncados:
R0 = f (xi )h +

f (xi ) 2
f (3) (xi ) 3
h +
h +
2!
3!

bvia a inconvenincia de lidar com o resto nessa forma de srie infinita. Uma
simplificao seria truncar o prprio resto, como em
f (xi )h
R0 =
(4.9)
Embora, como afirmado na seo anterior, as derivadas de ordem mais baixa em
geral sejam responsveis por parte maior do resto do que os termos de ordem mais alta,
esse resultado ainda no exato por causa dos termos de segunda ordem e de ordens mais
altas desprezados. Essa inexatido representada pelo smbolo de igualdade aproxi=) usado na Equao (4.9).
mada (
Uma simplificao alternativa que transforma a aproximao em uma equivalncia
baseada em uma observao grfica. Como na Figura 4.3, o teorema do valor mdio
para derivadas afirma que, se uma funo f(x) e sua primeira derivada forem contnuas em
um intervalo da forma xi a xi1, ento existe pelo menos um ponto na funo que tem uma

FIGURA 4.2
Descrio grfica da previso de ordem zero da srie de Taylor e do resto.

f (x)

P re

ta
exa
o

vis

R0

Previso de ordem zero


f (xi)

xi

xi + 1
h

4.1 A SRIE DE TAYLOR

69

inclinao, denotada por f (), que paralela reta ligando f(xi) e f(xi1). O parmetro
designa o valor de x onde essa inclinao ocorre (Figura 4.3). Uma ilustrao fsica desse
teorema que, se voc viajar entre dois pontos com uma dada velocidade mdia, existir
pelo menos um instante durante o percurso no qual voc estar movendo-se na velocidade
mdia.
Usando esse teorema, simples perceber que, como ilustrado pela Figura 4.3, a inclinao f () igual elevao R0 dividida pelo passo h, ou
R0
f ( ) =
h
que pode ser reorganizado para fornecer
R0 = f ( )h

(4.10)

Assim, deduz-se a verso para ordem zero da Equao (4.8). As verses em ordem
superior so meramente uma extenso lgica do raciocnio usado para deduzir a Equao
(4.10). A verso 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 Equao (4.11) exata. Verses similares de ordem superior podem
ser deduzidas a partir da Equao (4.8).
R1 =

4.1.2 Usando a Srie de Taylor para Fazer uma Estimativa do


Erro de Truncamento
Embora a srie de Taylor v ser extremamente til na estimativa dos erros de truncamento
em todo este livro, pode no ser claro para voc como a expanso pode realmente ser aplicada no mtodo numrico. De fato, j fizemos isso no exemplo do pra-quedista em
queda livre. Lembre que o objetivo dos Exemplos 1.1 e 1.2 era prever a velocidade como
uma funo do tempo. Isto , o interesse era determinar v(t). Como especificado pela
Equao (4.5), v(t) pode ser expandida em uma srie 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
Descrio grfica do teorema do valor mdio para derivadas.

f (x)
Inclinao = f ( )

Inclinao =

xi

R0

R0
h

xi + 1
h

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

70

Agora, trunca-se a srie depois do termo da primeira derivada:


v(ti+1 ) = v(ti ) + v  (ti )(ti+1 ti ) + R1

(4.13)

A Equao (4.13) pode ser reescrita como


v  (ti ) =

R1
v(ti+1 ) v(ti )

t t
t t
 i+1 i  i+1 i
Aproximao de
primeira ordem

(4.14)

Erro de
truncamento

A primeira parte da Equao (4.14) exatamente a mesma relao que foi usada para
aproximar a derivada no Exemplo 1.2 [Equao (1.11)]. Entretanto, com a abordagem
com a srie de Taylor, obteve-se agora uma estimativa para o erro de truncamento associado com essa aproximao da derivada. Usando as Equaes (4.6) e (4.14), obtm-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 [Equao (1.11) ou a primeira parte da Equao (4.14)]


tem um erro de truncamento da ordem de ti1  ti. Em outras palavras, o erro na aproximao da derivada deveria ser proporcional ao tamanho do passo. Conseqentemente, 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 No-Linearidade e do Tamanho do Passo na Aproximao


em Srie de Taylor
Enunciado do problema. A Figura 4.4 o grfico da funo
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 funo linear,


e conforme m aumenta, mais curvatura ou no-linearidade introduzida na funo. Use a
srie de Taylor de primeira ordem para aproximar essa funo para vrios valores do expoente m e do tamanho do passo h.
Soluo. A Equao (E4.3.1) pode ser aproximada por uma expanso em srie de Taylor de primeira ordem, como em
f(xi+1 ) = f(xi ) + mxim1 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 aproximao se comporta medida que m aumenta


isto , medida que a funo se torna mais no-linear. Para m  1, o valor real da
funo em x  2 2.
A srie de Taylor fornece
f(2) = 1 + 1(1) = 2
e
R1 = 0

4.1 A SRIE DE TAYLOR

71

f(x)

15

m=

10

m=

m=1

FIGURA 4.4
Grfico da funo f(x) = xm para m = 1, 2, 3 e 4. Observe que a funo se torna mais nolinear medida que m aumenta.

O resto zero porque a segunda derivada e as derivadas de ordem mais alta de uma
funo linear so nulas. Assim, como esperado, a expanso em srie de Taylor de primeira
ordem perfeita quando a funo envolvida for linear.
Para m  2, o valor real f(2)  22  4. A aproximao em srie de Taylor de
primeira ordem
f(2) = 1 + 2(1) = 3
e
R1 = 22 (1)2 + 0 + 0 + = 1
Assim, como a funo uma parbola, a aproximao por uma reta resulta em uma discrepncia. Observe que o resto determinado exatamente.
Para m  3, o valor real f(2)  23  8. A aproximao em srie 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 SRIES DE TAYLOR

Novamente, existe uma discrepncia que pode ser determinada exatamente a partir da
srie de Taylor.
Para m  4, o valor real f(2)  24  16. A aproximao em srie 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 funo se
torna mais no-linear. Alm disso, R1 representa exatamente essa discrepncia, porque a
Equao (E4.3.1) um simples monmio com um nmero finito de derivadas no-nulas.
Isso permite a determinao completa do resto da srie de Taylor.
A seguir, examinaremos a Equao (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 Equao (E4.3.2)
f(x + h) = f(x) + 4xi3 h
Se x  1, f (1)  1 e essa equao pode ser expressa por
f(1 + h) = 1 + 4h
com um resto de
R1 = 6h 2 + 4h 3 + h 4
Isso leva concluso de que a discrepncia ir diminuir conforme h for reduzido. Alm
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 aproximao por polinmio de Taylor de primeira
ordem diminui quando m se aproxima de 1 e quando h diminui. Intuitivamente, isso significa que a srie de Taylor se torna mais precisa quando a funo 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 funo pela reduo de m. Obviamente, a ltima opo, em geral, no est disponvel no mundo real,
porque as funes que analisamos so determinadas tipicamente pelo contexto do problema fsico. Conseqentemente, no h controle de sua falta de linearidade, e o nico recurso reduzir o tamanho do passo ou incluir termos adicionais na expanso em srie de
Taylor.

TABELA 4.2 Comparao do valor exato da funo f(x) = x4 com a aproximao em


srie de Taylor de primeira ordem. Tanto a funo como a aproximao
esto calculadas em x + h, onde x = 1.

Verdadeiro

Aproximao de
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 SRIE DE TAYLOR

73

R1
10

0,1
Inclinao = 2

0,01

0,001

0,1

0,01 h

FIGURA 4.5
Grfico log-log do resto R1 da aproximao em srie de Taylor de primeira ordem da funo
f (x) = x 4 em funo do tamanho do passo h. Uma reta com coeficiente angular 2 tambm
mostrada para indicar que, conforme h decresce, o erro se torna proporcional a h2.

4.1.3 Derivao Numrica


A Equao (4.14) tem uma designao formal nos mtodos numricos ela chamada
uma diferena 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 diferena progressiva e h chamado de tamanho do


passo, isto , o comprimento do intervalo no qual a aproximao feita. Ela chamada
diferena 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 diferena dividida finita.
Essa diferena dividida progressiva apenas uma das muitas que podem ser deduzidas a partir da srie de Taylor para aproximar derivadas numericamente. Por exemplo,
aproximaes com diferenas regressivas e centradas da primeira derivada podem ser deduzidas de forma similar deduo da Equao (4.14). A primeira utiliza valores em xi1
e xi (Figura 4.6b), enquanto a ltima utiliza valores que so igualmente espaados em
torno do ponto no qual a derivada ser estimada (Figura 4.6c). Aproximaes mais acuradas da primeira derivada podem ser deduzidas incluindo-se termos de ordem mais alta
na srie de Taylor. Finalmente, todas essas verses tambm podem ser deduzidas para
derivadas de segunda e terceira ordem ou superiores. A seo a seguir fornece um breve
resumo ilustrando como alguns desses casos so deduzidos.

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

Aproximao da Primeira Derivada por Diferena Regressiva. A srie de Taylor


pode ser expandida regressivamente para calcular um valor anterior com base no valor
atual, como em
f(xi1 ) = f(xi ) f (xi )h +

f (xi ) 2
h
2!

(4.19)

Truncando essa equao depois da primeira derivada e reorganizando, obtm-se


f (xi )
=

f(xi ) f(xi1 )
f1
=
h
h

(4.20)

FIGURA 4.6
Descrio grfica das aproximaes da primeira derivada por diferenas divididas finitas
(a) progressiva, (b) regressiva e (c) centrada.
f (x)

ira
de
da
r
e
av
imao
vad
A pr o x
eri

xi+1

xi

(a)
f (x)
da

ira

pr

ox

im
a
o

a
riv
De

de
da
ver

74

xi

xi 1

(b)
f (x)
ad
riv
De

ira
de
da
r
e
v

Ap

o
a
im
x
o

2h

xi+1

xi 1

(c)

4.1 A SRIE DE TAYLOR

75

onde o erro O(h) e fi conhecido como primeira diferena regressiva. Consulte a


Figura 4.6b para uma representao grfica.
Aproximao da Primeira Derivada por Diferena Centrada. Uma terceira forma
de aproximar a primeira derivada subtrair a Equao (4.19) da expanso em srie de
Taylor progressiva:
f(xi+1 ) = f(xi ) + f (xi )h +

f (xi ) 2
h +
2!

(4.21)

para obter
f(xi+1 ) = f(xi1 ) + 2 f (xi )h +

2 f (3) (xi ) 3
h +
3!

que pode ser reescrita como


f (xi ) =

f(xi+1 ) f(xi1 )
f (3) (xi ) 2

h
2h
6

f (xi ) =

f(xi+1 ) f(xi1 )
O(h 2 )
2h

ou
(4.22)

A Equao (4.22) uma representao da primeira derivada como diferena centrada. Observe que o erro de truncamento da ordem de h2, em contraste com as aproximaes progressiva e regressiva, em que era da ordem de h. Conseqentemente, a anlise
da srie de Taylor fornece a informao prtica de que a diferena centrada uma representao mais acurada da derivada (Figura 4.6c). Por exemplo, se o tamanho do passo
fosse dividido por dois usando-se uma diferena progressiva ou regressiva, aproximadamente o erro de truncamento seria dividido por dois, enquanto que, para a diferena centrada, o erro seria dividido por quatro.

EXEMPLO 4.4

Aproximao de Derivadas por Diferenas Divididas Finitas


Enunciado do Problema. Use aproximaes por diferenas progressiva e regressiva
de O(h) e uma aproximao por diferena 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 clculos 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.
Soluo.

Para h  0,5, a funo pode ser empregada para determinar

xi1 = 0
xi = 0,5
xi+1 = 1,0

f(xi1 ) = 1,2
f(xi ) = 0,925
f(xi+1 ) = 0,2

Esses valores podem ser usados para calcular a diferena dividida progressiva
[Equao (4.17)],
0,2 0,925
f (0,5)
= 1,45
=
0,5

|t | = 58,9%

76

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

a diferena dividida regressiva [Equao (4.20)],


f (0,5)
=

0,925 1,2
= 0,55
0,5

|t | = 39,7%

e a diferena dividida centrada [Equao (4.22)],


0,2 1,2
f (0,5)
= 1,0
=
1,0

|t | = 9,6%

Para h = 0,25,
xi1 = 0,25
xi = 0,5
xi+1 = 0,75

f(xi1 ) = 1,10351563
f(xi ) = 0,925
f(xi+1 ) = 0,63632813

que podem ser usadas para se calcular a diferena dividida progressiva,


0,63632813 0,925
f (0,5)
= 1,155
=
0,25

|t | = 26,5%

a diferena dividida regressiva,


0,925 1,10351563
f (0,5)
= 0,714
=
0,25

|t | = 21,7%

e a diferena dividida centrada,


f (0,5)
=

0,63632813 1,10351563
= 0,934
0,5

|t | = 2,4%

Para ambos os tamanhos do passo, a aproximao por diferena centrada mais acurada que as aproximaes progressiva e regressiva. Alm disso, como previsto pelo teorema
de Taylor, dividir o tamanho do passo por dois aproximadamente divide o erro por dois nas
diferenas progressiva e regressiva e divide o erro por quatro na diferena centrada.

Aproximaes por Diferenas Finitas de Derivadas Superiores. Alm das


primeiras derivadas, a expanso em srie de Taylor pode ser usada para deduzir estimativas numricas das derivadas mais altas. Para fazer isso, escreve-se uma expanso em
srie 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 Equao (4.21) pode ser multiplicada por 2 e subtrada da Equao (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 relao chamada segunda diferena dividida finita progressiva. Manipulaes


similares podem ser usadas para deduzir uma verso regressiva
f (xi ) =

f(xi ) 2 f(xi1 ) + f(xi2 )


+ O(h)
h2

e uma verso centrada


f (xi ) =

f(xi+1 ) 2 f(xi ) + f(xi1 )


+ O(h 2 )
h2

4.2 PROPAGAO DE ERROS

77

Como no caso das aproximaes da primeira derivada, o caso centrado mais acurado.
Observe tambm que a verso centrada pode ser expressa alternativamente por
f(xi ) f(xi1 )
f(xi+1 ) f(xi )

h
h
f (xi )
=
h
Assim, da mesma forma como a derivada segunda uma derivada da derivada, a aproximao pela segunda diferena dividida a diferena de duas diferenas divididas.
O tpico de derivao numrica ser retomado no Captulo 23. Ele foi introduzido
neste ponto porque um exemplo muito bom de por que a srie de Taylor importante
nos mtodos numricos. Alm disso, muitas das frmulas introduzidas nesta seo sero
usadas antes do Captulo 23.

4.2

PROPAGAO DE ERROS
O propsito desta seo estudar como os erros nos nmeros podem propagar-se atravs
de funes matemticas. Por exemplo, ao se multiplicar dois nmeros que tm erros,
gostaramos de fazer uma estimativa do erro do produto.
4.2.1 Funes de uma nica Varivel
Suponha que tenhamos uma funo f(x) que depende de uma nica varivel independente x, e que x seja uma aproximao de x. Ento, gostaramos de estimar o efeito
da discrepncia entre x e x no valor da funo. Isto , gostaramos de estimar
 f(x)
= | f(x) f(x)|

que f(x) desconhecida, j que x desconhecido. PodeO problema de calcular f (x)


for contnua e diferencivel.
se superar essa dificuldade se x estiver prximo de x e f(x)
Se tais condies forem vlidas, a srie de Taylor pode ser usada para calcular f(x) prxi como em
mo de f(x),

x)
+
f(x) = f(x)
+ f (x)(x

FIGURA 4.7
Descrio grfica da
propagao de erro
de primeira ordem.

f (x)
(x x)
2 +
2

f (x)

Erro verdadeiro
f (x)x
Erro estimado

x
x

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

78

Desprezando os termos de grau maior ou igual a dois e reorganizando, obtemos


f(x) f(x)

x)

= f (x)(x
ou

x)

 f(x)
= | f  (x)|(x

(4.25)

= | f (x) f (x)|
representa uma estimativa do erro da funo e x = | x x|

onde f(x)
representa uma estimativa do erro de x. A Equao (4.25) fornece recursos para aproximar o erro em f(x) dadas a derivada da funo e uma estimativa do erro da varivel independente. A Figura 4.7 uma ilustrao grfica da operao.
EXEMPLO 4.5

Propagao de Erro em uma Funo de uma nica Varivel


Enunciado do Problema. Dado um valor de x = 2,5 com um erro de x = 0,01, faa
uma estimativa do erro resultante na funo f (x) = x 3.
Soluo.

Usando a Equao (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 funo pode ser calculada como sendo 15,4382, e se x for 2,51, ela ser 15,8132.
Para este caso, a anlise de erro de primeira ordem fornece uma estimativa bastante prxima do erro verdadeiro.

4.2.2 Funes de Mais de Uma Varivel


A abordagem precedente pode ser generalizada para funes que dependem de mais de
uma varivel independente. Consegue-se isso com a verso para diversas variveis da
srie de Taylor. Por exemplo, se tivemos uma funo de duas variveis independentes u e
v, a srie 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
uv

2 f
2
+ 2 (vi+1 vi ) +
v

(4.26)

onde todas as derivadas parciais so calculadas no ponto base i. Se todos os termos de


segunda ordem e de ordem mais alta forem desconsiderados, a Equao (4.26) pode ser
reescrita como


f
f
 f(u,
v)
= u + v
u
v
onde u e v so estimativas dos erros em u e v, respectivamente.
Para n variveis independentes x 1, x 2, . . . , x n tendo erros x 1, x 2, . . . , xn , vale
a seguinte relao geral:








f


x1 + f x2 + + f xn
 f(x1 , x2 , . . . , xn )
=
(4.27)




x
x
x
1

4.2 PROPAGAO DE ERROS

EXEMPLO 4.6

79

Propagao de Erros em uma Funo de Vrias Variveis


Enunciado do Problema. A deflexo y no topo do mastro de um barco a vela
y=

F L4
8E I

onde F uma carga lateral uniforme (lb/ps), L a altura (ps), E o mdulo de elasticidade (lb/ps2) e I o momento de inrcia (ps4). Faa uma estimativa do erro em y considerando os seguintes dados:
F = 50 lb/ps
L = 30 ps
E = 1,5 108 lb/ps2

 F = 2 lb/ps
 L = 0,1 ps
 E = 0,01 108 lb/ps2

I = 0,06 ps4

 I = 0,0006 ps4

Soluo.

Usando a Equao (4.27) obtm-se








y
y
y







L,
E,
I) =

y
y( F,
F F + L L + E E + I I

ou
F L 3
F L 4
F L 4
L 4
L,
E,
I)
I
 F +
L +
E +
y( F,
=
8 E I
2 E I
8 E 2 I
8 E I2
Substituindo os valores apropriados, obtm-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
ps. A validade dessas estimativas pode ser verificada substituindo-se os valores extremos das variveis na equao para gerar um mnimo 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

Logo, as estimativas de primeira ordem so razoavelmente prximas dos valores


exatos.

A Equao (4.27) pode ser usada para definir relaes de propagao de erros para
operaes matemticas comuns. Os resultados esto resumidos na Tabela 4.3. Recomenda-se a deduo dessas frmulas como exerccios para casa.
4.2.3 Estabilidade e Condicionamento
O condicionamento de um problema matemtico se relaciona com sua sensibilidade a
variaes em seus valores de entrada. Diz-se que um clculo numericamente instvel se
as incertezas dos valores de entrada so brutalmente aumentadas pelo mtodo numrico.
Essas idias podem ser estudadas usando-se a srie de Taylor de primeira ordem
f(x) = f(x)
+ f (x)(x

x)

Essa relao 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 SRIES DE TAYLOR

80

TABELA 4.3 Limitantes estimados dos erros associados


com as operaes matemticas usuais
utilizando nmeros inexatos u e v.
Operao
Adio
Subtrao
Multiplicao
Diviso

Erro Estimado
(u + v)
(
u v)
(u v)
 
 u
v


u + v

u + v
|u|v + |v |u
|u|v + |v |u
|v |2

O erro relativo de x dado por


x x
x
Um nmero de condicionamento pode ser definido como a razo desses erros relativos:
Nmero de condicionamento =

x f (x)
f(x)

(4.28)

O nmero de condicionamento fornece uma medida da extenso pela qual uma incerteza
em x ampliada por f(x). Um valor 1 diz que o erro relativo da funo idntico 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. Funes com valores muito grandes so ditas
mal condicionadas. Qualquer combinao de fatores na Equao (4.28) que aumente o
valor numrico do nmero de condicionamento tender a aumentar as incertezas no clculo de f(x).

EXEMPLO 4.7

Nmero de Condicionamento
Enunciado do Problema. Calcule e interprete o nmero de condicionamento para
f(x) = tgx
f(x) = tgx
Soluo.

 

+ 0,1
2
2
 

para x = + 0,01
2
2

para x =

O nmero de condicionamento calculado como

Nmero de condicionamento =

x(1/

cos2 x)
tgx

Para x = /2 + 0,1(/2),
Nmero de condicionamento =

1,7279(40. 86)
= 11,2
6,314

Logo, a funo mal condicionada. Para x = /2 + 0,01(/2), a situao ainda pior:


Nmero 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 vizinhana de /2, a tangente se aproxima de valores infinitos tanto
positivos quanto negativos.

4.3 ERRO NUMRICO TOTAL

ERRO NUMRICO TOTAL


O erro numrico total a soma dos erros de truncamento e de arredondamento. Em geral,
a nica maneira de minimizar os erros de arredondamento aumentar o nmero de
algarismos significativos do computador. Alm disso, observa-se que os erros de
arredondamento iro aumentar por causa de cancelamentos na subtrao ou de um aumento do nmero de clculos na anlise. Em contraste, o Exemplo 4.4 mostrou que o erro
de truncamento pode ser reduzido diminuindo o tamanho do passo. Como a diminuio
do tamanho do passo pode levar a cancelamentos na subtrao ou a um aumento nos clculos, os erros de truncamento diminuiro enquanto os erros de arredondamento aumentaro. Ento, encara-se o seguinte dilema: a estratgia para diminuir uma componente do
erro total leva a um aumento da outra componente. Em um clculo, pode-se, de modo
concebvel, diminuir o tamanho do passo para minimizar os erros de truncamento, apenas
para descobrir que, fazendo isso, os erros de arredondamento comeam a dominar a
soluo e o erro total cresce! Assim, o remdio se torna problema (Figura 4.8). Um desafio determinar um tamanho de passo apropriado para um clculo particular.
Gostaramos de escolher um tamanho de passo maior para diminuir o nmero de operaes e os erros de arredondamento sem pagar o preo de grandes erros de truncamento.
Se o erro total for como mostrado na Figura 4.8, o desafio identificar o ponto de retorno
diminudo onde os erros de arredondamento comeam a neutralizar as vantagens da reduo do tamanho do passo.
Nos casos reais, entretanto, tais situaes so relativamente incomuns, porque a
maioria dos computadores usa algarismos significativos suficientes para que os erros de
arredondamento no predominem. Entretanto, elas de fato ocorrem algumas vezes e sugerem um tipo de princpio da incerteza numrico que coloca um limite absoluto na
acurcia que pode ser obtida usando um certo mtodo numrico computadorizado.
4.3.1 Controle dos Erros Numricos
Na maioria dos casos prticos, no se sabe o erro exato associado com os mtodos
numricos. A exceo, obviamente, quando se obtm a soluo exata que torna a aproximao numrica desnecessria. Ento, na maior parte das aplicaes da engenharia,
necessrio contentar-se com alguma estimativa do erro nos clculos.

FIGURA 4.8
Uma descrio grfica do balano entre erros de arredondamento e de truncamento que
ocorrem algumas vezes na utilizao de um mtodo numrico. mostrado o ponto de retorno
diminudo, onde o erro de arredondamento comea a neutralizar as vantagens da reduo
do tamanho do passo.

Ponto de
retorno
diminudo
log do erro

4.3

81

Erro

tota
l

to
en
am
c
n
tru
de
o
Err

Erro

de a
rred
ond
am
en t
o

log do tamanho do passo

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

82

No existe uma abordagem geral e sistemtica de obter estimativas dos erros


numricos para todos os problemas. Em muitos casos, as estimativas de erros so
baseadas na experincia e no julgamento do engenheiro.
Embora a anlise de erro seja at certo ponto uma arte, existem diversas diretrizes
prticas de programao que aqui so sugeridas. Primeiro e principalmente, deve-se evitar subtrair dois nmeros 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 subtrao. Se isso no for possvel, ele pode usar
aritmtica com preciso estendida. Alm disso, quando somando ou subtraindo nmeros,
melhor orden-los e trabalhar com os nmeros menores primeiro, pois tal conduta evita
perda de significado.
Alm dessas sugestes computacionais, pode-se tentar prever os erros numricos totais usando formulaes tericas. A srie de Taylor a ferramenta bsica na anlise tanto
dos erros de arredondamento quanto dos de truncamento. Foram apresentados diversos
exemplos neste captulo. A previso do erro numrico total muito complicada, mesmo
para problemas de tamanho moderado, e tende a ser pessimista. Logo, usualmente tentada apenas para tarefas em pequena escala.
A tendncia ir frente com os clculos numricos e tentar estimar a acurcia dos
resultados. Isso, algumas vezes, pode ser feito vendo se os resultados satisfazem alguma
condio ou equao como uma verificao. Ou pode ser possvel substituir os resultados
de volta na equao original para verificar se ela realmente satisfeita.
Finalmente, preciso estar preparado para fazer experincias numricas para aumentar a percepo dos erros numricos e de possveis problemas mal condicionados.
Tais experincias podem envolver a repetio de clculos com tamanho de passo ou
mtodo diferentes e a comparao dos resultados. Pode-se empregar anlise de sensibilidade para ver como a soluo varia quando os parmetros do modelo ou os valores de entrada variam. Pode-se tentar algoritmos numricos diferentes que tm fundamentos tericos distintos, so baseados em estratgias computacionais diferentes ou tm propriedades
de convergncia e caractersticas de estabilidade distintas.
Quando os resultados de clculos numricos so extremamente crticos e podem
provocar a perda de vidas humanas ou ter ramificaes econmicas 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 tpico de preocupao e anlise em todas as sees deste
livro. Essas investigaes sero feitas em sees especficas.

4.4

ENGANOS, ERROS DE FORMULAO E


INCERTEZA NOS DADOS
Embora as fontes de erros a seguir no estejam diretamente ligadas com a maioria dos
mtodos deste livro, elas, algumas vezes, tm grande impacto no sucesso do esforo de
modelagem. Assim, deve-se t-las em mente ao aplicar tcnicas numricas 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 numricos errados podiam s vezes ser atribudos ao
mau funcionamento do prprio computador. Hoje, essa fonte de erro altamente improvvel e a maioria dos enganos deve ser atribuda imperfeio humana.
Os enganos podem ocorrer em qualquer estgio do processo de modelagem
matemtica e podem contribuir para todas as outras componentes do erro. Eles podem ser
evitados apenas por conhecimento profundo dos princpios fundamentais e com o
cuidado com o qual se aborda e projeta a soluo para um problema.
Os enganos so, em geral, desconsiderados na discusso dos mtodos numricos, o
que, sem dvida, decorre do fato de que, por mais que se tente, os erros so em certa medida inevitveis. Entretanto, existe um certo nmero de maneiras pelas quais sua ocor-

PROBLEMAS

83

rncia pode ser minimizada. Em particular, os bons hbitos de programao que foram esboados no Captulo 2 so extremamente teis para diminuir os enganos na programao.
Alm disso, existem formas simples de verificar se um mtodo numrico particular est
funcionando apropriadamente. Por todo o livro sero discutidas maneiras de verificar os
resultados dos clculos numricos.
4.4.2 Erros de Formulao
Os erros de formulao ou do modelo se relacionam com vieses que podem ser atribudos
a modelos matemticos incompletos. Um exemplo de um erro de formulao desprezvel
o fato de a segunda lei de Newton no levar em conta efeitos relativsticos. Isso no
afeta a adequao da soluo do Exemplo 1.1 porque esses erros so mnimos nas escalas
de tempo e espao associadas com o problema do pra-quedista em queda livre.
Contudo, suponha que a resistncia do ar no seja linearmente proporcional velocidade de queda, como na Equao (1.7), mas uma funo do quadrado da velocidade. Se
este fosse o caso, as solues analtica e numrica obtidas no primeiro captulo estariam erradas por causa do erro de formulao. Consideraes adicionais dos erros de formulao
esto includas em algumas das aplicaes em engenharia no restante do livro.
necessrio estar ciente desses problemas e perceber que, ao se trabalhar com um modelo
precariamente concebido, nenhum mtodo numrico fornecer resultados adequados.
4.4.3 Incerteza nos Dados
Erros, algumas vezes, entram em uma anlise por causa de incertezas nos dados fsicos
nos quais um modelo baseado. Por exemplo, suponha que se queira testar o modelo do
pra-quedista em queda livre fazendo com que um indivduo pule repetidas vezes e ento
medindo sua velocidade depois de um intervalo de tempo especificado. Incertezas estariam sem dvida associadas a tais medidas, j que o pra-quedista cairia mais rapidamente durante alguns saltos do que em outros. Esses erros podem exibir tanto falta de
acurcia quanto impreciso. Se os instrumentos consistentemente subestimarem ou
superestimarem a velocidade, o profissional est lidando com um aparelho no-acurado
ou com vis. Por outro lado, se as medidas forem aleatoriamente altas e baixas, trata-se de
uma questo de preciso.
Os erros nas medidas podem ser quantificados resumindo os dados com uma ou mais
estatsticas bem escolhidas que transfiram tanta informao quanto possvel com relao s
caractersticas especficas dos dados. Essas estatsticas descritivas so mais freqentemente
escolhidas para representar (1) a posio do centro da distribuio de dados e (2) o grau de
disperso dos dados. Como tal, elas fornecem uma medida do vis e da impreciso, respectivamente. O tpico de caracterizar as incertezas nos dados ser retomado na Parte Cinco.
Embora seja necessrio estar ciente dos enganos, erros de formulao e incerteza
nos dados, os mtodos numricos usados para construir modelos podem ser estudados,
na maior parte, independentemente de tais erros. Portanto, na maior parte deste livro, a
suposio de que no foram cometidos erros grosseiros, o modelo seguro, e as medidas esto livres de erro. Nessas condies, possvel estudar os erros numricos sem
fatores complicadores.
PROBLEMAS
4.1 A seguinte srie infinita pode ser usada para aproximar ex:
ex = 1 + x +

x2
x3
xn
+
+ +
2
3!
n!

(a) Demonstre que essa expanso em srie de Maclaurin um caso


especial da expanso em srie de Taylor [Equao (4.7)] com
xi  0 e h  x.
(b) Use a srie de Taylor para fazer uma estimativa de f(x)  ex
em xi1  1 para xi  0,2. Use as verses de ordem zero, um,
dois e trs e calcule |t | para cada caso.

4.2 A expanso em srie de Maclaurin para cos x


x2
x4
x6
x8
cos x = 1
+

+

2
4!
6!
8!
Comeando com a verso 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 critrio de erro de at
dois algarismos significativos.

ERROS DE TRUNCAMENTO E SRIES DE TAYLOR

84

4.3 Faa os mesmos clculos do Problema 4.2, mas use a expanso


em srie 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 expanso em srie de Taylor de ordem zero at trs 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 aproximao.
4.5 Use a expanso em srie 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 aproximao. Discuta o significado dos resultados.
4.6 Use aproximaes por diferenas progressiva e regressiva de
O(h) e uma aproximao por diferena centrada de O(h2) para fazer
uma estimativa da primeira derivada da funo 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 expanso em srie de Taylor.
4.7 Use uma aproximao por diferena centrada de O(h2) para
fazer uma estimativa da segunda derivada da funo examinada no
Problema 4.4. Faa o clculo 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 expanso em srie de Taylor.
4.8 Lembre-se de que a velocidade do pra-quedista em queda
livre pode ser calculada por [Equao (1.10)]

gm
v(t) =
1 e(c/m)t
c
Utilize uma anlise 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 radiao de energia H de uma superfcie,
como em

4.13 Use as idias da Seo 4.2 para deduzir as relaes da


Tabela 4.3.
4.14 Demonstre que a Equao (4.4) exata para todos os valores
de x se f (x)  ax2  bx  c.
4.15 A frmula 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 frmula para um crrego 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 preciso apenas de  10%.
Ou seja, voc sabe que a rugosidade de cerca de 0,03 com uma
variao de 0,027 a 0,033 e o declive 0,0003 com uma variao
de 0,00027 a 0,00033. Utilize uma anlise de erro de primeira
ordem para determinar a sensibilidade da previso do escoamento
para cada um desses fatores. Qual deles voc deveria tentar medir
com mais preciso?
4.16 Se |x| < 1, sabido que
1
= 1 + x + x2 + x3 +
1x
Repita o problema 4.2 para esta srie para x  0,1.
4.17 Um mssil deixa o solo com velocidade inicial v0 formando
um ngulo 0 com a vertical, como mostrado na Figura P4.17. A altitude mxima desejada R onde R o raio da Terra. As leis da
mecnica podem ser usadas para mostrar que
,


sen 0 = (1 + ) 1

1+

ve
v0

onde ve a velocidade de escape do mssil. Quer-se disparar o mssil e atingir a velocidade mxima do projeto com uma acurcia de
2%. Determine o intervalo de valores para 0 se ve /v 0  2 e
  0,25.
0

H = Ae T 4
onde H est em watts, A a rea da superfcie (m2), e a emissividade que caracteriza as propriedades de emisso da superfcie (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 ao com A
 0,15 m2, e  0,90 e T  650  20. Compare seus resultados
com o erro exato. Repita os clculos 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 nmero de condicionamento para

(a) f(x) = |x 1| + 1
para x = 1,00001
(b) f(x) = ex
(c) f(x) = x 2 + 1 x
ex 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

Figura P4.17
4.18 Para calcular as coordenadas espaciais de um planeta,
necessrio calcular a funo
f(x) = x 1 0,5 sen x
Tome o ponto-base a  xi  /2 no intervalo [0, ]. Determine a
expanso em srie de Taylor de ordem mais alta que resulta em um

PROBLEMAS
erro mximo de 0,015 no intervalo especificado. O erro igual ao
valor absoluto da diferena entre a funo dada e a expanso em
srie de Taylor especfica. (Sugesto: resolva graficamente.)
4.19 Considere a funo f (x)  x3  2x  4 no intervalo [2, 2]
com h  0,25. Use aproximaes por diferenas finitas progressi-

85
vas, regressivas e centradas para a primeira e a segunda derivadas
de modo a ilustrar graficamente qual aproximao mais acurada.
Faa o grfico de todas as trs aproximaes por diferenas finitas
da primeira derivada junto com a derivada terica, e faa o mesmo
tambm para a segunda derivada.

EPLOGO: PARTE UM

PT1.4 PRS E CONTRAS


Os mtodos numricos so cientficos no sentido que representam tcnicas sistemticas
para resolver problemas matemticos. Entretanto, existe um certo grau de arte, julgamento subjetivo e compromisso associado a seu uso efetivo na engenharia prtica. Em
cada problema, voc pode ser confrontado por diversos mtodos numricos alternativos e
muitos tipos diferentes de computadores. Portanto, a elegncia e a eficincia das diferentes abordagens dos problemas so altamente individualistas e relacionadas com sua
habilidade de escolher sensatamente entre as opes. Infelizmente, como em qualquer
processo intuitivo, os fatores que influenciam essa escolha so difceis de transmitir. Apenas pela experincia essas tcnicas podem ser totalmente compreendidas e aperfeioadas.
Entretanto, como elas desempenham um papel to importante na implementao efetiva
dos mtodos, foi includa esta seo como uma introduo aos prs e contras que voc
deve considerar quando for escolher um mtodo numrico e as ferramentas para implementar esse mtodo. Espera-se que a discusso a seguir influencie sua orientao quando
abordar o material subseqente. Alm disso, espera-se que voc consulte novamente este
material quando for confrontado com escolhas e prs e contras no restante do livro.
1. Tipo de Problema Matemtico. Como delineado anteriormente na Figura PT1.2, diversos tipos de problemas matemticos so discutidos neste livro:
(a) Razes de equaes.
(b) Sistemas de equaes algbricas lineares simultneas.
(c) Otimizao.
(d) Ajuste de curvas.
(e) Integrao numrica.
(f) Equaes diferenciais ordinrias.
(g) Equaes diferenciais parciais.
Os aspectos prticos dos mtodos numricos provavelmente lhe sero introduzidos ao enfrentar um problema em uma das reas citadas. Os mtodos numricos sero necessrios
porque o problema no poder ser resolvido eficientemente usando tcnicas analticas.
Voc deve estar ciente de que suas atividades profissionais iro eventualmente envolver
problemas em todas as reas acima. Assim, o estudo dos mtodos numricos e a escolha
de equipamento de computao automtica deveriam, no mnimo, considerar esses tipos
bsicos de problemas. Problemas mais avanados podem exigir recursos para manipular
reas tais como aproximao funcional, equaes integrais etc. Essas reas tipicamente
exigem maior poder computacional e mtodos avanados, no cobertos neste texto. Outras referncias tais como Carnahan, Luther e Wilkes (1969); Hamming (1973); Ralstone
Rabinowitz (1978) e Burden e Faires (1993) devero ser consultados para problemas
alm do escopo deste livro. Alm disso, no final de cada parte deste texto, vamos incluir
um pequeno resumo e referncias para mtodos avanados para lhe fornecer os caminhos
para prosseguir em outros estudos de mtodos numricos.
86

PT1.4 PRS E CONTRAS

87

2. Tipo, Disponibilidade, Preciso, Custo e Velocidade do Computador. Voc pode ter a


opo 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 mtodo
numrico (incluindo simples papel e lpis). Em geral, no uma questo de recursos
fundamentais, mas sim de custo, convenincia, velocidade, confiana, repetitividade
e preciso. Embora cada uma das ferramentas v continuar a ter utilidade, os avanos
rpidos recentes no desempenho dos computadores pessoais j tiveram um grande impacto na profisso de engenheiro. Esperamos que essa revoluo se espalhe conforme
os avanos tecnolgicos continuem, porque os computadores pessoais oferecem um
excelente compromisso na convenincia, custo, preciso, velocidade e capacidade de
armazenamento. Alm disso, eles podem ser prontamente aplicados maioria dos
problemas de engenharia prticos.
3. Custo do Desenvolvimento de Programas versus Custos de Softwares versus Custo do
Tempo de Execuo. Uma vez que o tipo de problemas matemticos a serem resolvidos tenha sido identificado e que o sistema computacional tenha sido escolhido, ser
adequado considerar os custos de software e tempo de execuo. O desenvolvimento
de programas pode representar um esforo substancial em muitos projetos de engenharia e pode, assim, ter um custo significativo. Com relao a isso, particularmente
importante que voc conhea muito bem os aspectos tericos e prticos dos mtodos
numricos relevantes. Alm disso, voc deveria estar familiarizado com os softwares
desenvolvidos profissionalmente. Softwares de baixo custo esto amplamente
disponveis para a implementao de mtodos numricos que podem ser facilmente
adaptados a uma grande variedade de problemas.
4. Caractersticas do Mtodo Numrico. Quando os custos do hardware e software computacionais so altos, ou quando a disponibilidade do computador for limitada (por
exemplo, em alguns sistemas de uso compartilhado), vantajoso escolher cuidadosamente o mtodo numrico mais adequado situao. Por outro lado, se o problema
ainda estiver no estgio de pesquisa e o acesso e o custo de computao no forem
problema, pode ser mais apropriado escolher um mtodo numrico que funcione sempre, mas que pode no ser o mais eficiente computacionalmente. Os mtodos numricos disponveis para resolver qualquer tipo particular de problema envolvem os tipos
de prs e contras que acabamos de discutir e ainda outros:
(a) Nmero de Aproximaes ou Pontos Iniciais. Alguns dos mtodos numricos
para encontrar razes de equaes ou resolver equaes diferenciais exigem que
o usurio especifique aproximaes ou pontos iniciais. Os mtodos simples em
geral exigem um valor, enquanto os mtodos complicados podem exigir mais de
um valor. A vantagem dos mtodos complicados que so computacionalmente
eficientes pode ser contrabalanada pela necessidade de pontos iniciais mltiplos. Voc deve usar sua experincia e julgamento para avaliar os prs e contras
para cada problema particular.
(b) Taxa de Convergncia. Certos mtodos numricos convergem mais rapidamente
do que outros. Entretanto, essa convergncia mais rpida pode exigir aproximaes iniciais mais refinados e programao mais complexa do que um mtodo
com convergncia mais lenta. Voc deve usar seu julgamento na escolha de um
mtodo. Mais rpido nem sempre melhor.
(c) Estabilidade. Alguns mtodos numricos para encontrar razes de equaes ou
solues para sistemas de equaes 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 mtodos podem ser altamente eficientes quando funcionam.
Portanto, prs e contras emergem novamente. Voc precisa decidir se as necessidades do seu problema justificam o esforo necessrio para aplicar um mtodo
que pode no convergir sempre.
(d) Acurcia e Preciso. Alguns mtodos numricos so simplesmente mais acurados e precisos que outros. Bons exemplos so as diversas equaes disponveis
para integrao numrica. Em geral, o desempenho dos mtodos com baixa

88

EPLOGO: PARTE UM

acurcia pode ser melhorado diminuindo o tamanho do passo ou aumentando o


nmero de aplicaes em um intervalo dado. melhor usar um mtodo com
baixa acurcia com tamanho de passo pequeno ou um mtodo com alta preciso
e com tamanho de passo grande? Essa questo deve ser analisada caso a caso
levando em considerao fatores adicionais tais como custo e facilidade de programao. Alm disso, voc tambm deve se preocupar com erros de arredondamento quando estiver usando aplicaes mltiplas de mtodos de baixa preciso
e quando o nmero de operaes se torna grande. Aqui, o nmero de algarismos
significativos manipulados pelo computador pode ser o fator decisivo.
(e) Abrangncia das Aplicaes. Alguns mtodos numricos podem ser aplicados
apenas a uma classe limitada de problemas ou a problemas que satisfaam certas
restries matemticas. Outros mtodos no so afetados por tais limitaes.
Voc deve avaliar se vale a pena seu esforo para desenvolver programas que
usem tcnicas que so apropriadas apenas para um nmero limitado de problemas. O fato de tais tcnicas serem largamente usadas sugere que elas tm vantagens que em geral sero mais importantes que as desvantagens. Obviamente
esto ocorrendo prs e contras.
(f) Requisitos Especiais. Algumas tcnicas numricas tentam aumentar a acurcia e
a taxa de convergncia usando informaes adicionais ou especiais. Um exemplo
seria usar valores tericos ou estimados dos erros para melhorar a preciso. Entretanto, essas melhorias em geral no so alcanadas sem alguma inconvenincia em termos de custos computacionais adicionais ou aumento na complexidade
do programa.
(g) Esforo de Programao Necessrio. Esforos para melhorar as taxas de convergncia, estabilidade e acurcia podem ser criativos e engenhosos. Quando os
aprimoramentos podem ser feitos sem aumentar a complexidade da programao, eles podem ser considerados elegantes e provavelmente sero imediatamente usados na profisso de engenheiro. Entretanto, se exigirem programas
mais complicados, voc estar se deparando novamente com uma situao de
prs e contras que pode ou no favorecer o novo mtodo.
claro que a discusso acima com relao escolha de mtodos numricos se
reduz discusso de custos e acurcia. Os custos so aqueles envolvidos com tempo
de computao e desenvolvimento de programa. Acurcia adequada uma questo de
julgamento profissional e tica.
5. Comportamento Matemtico da Funo, Equao ou Dados. Na escolha de um
mtodo numrico particular, de um tipo de computador e de software, voc deve considerar a complexidade de sua funo, equao ou dados. Equaes simples e dados
lisos podem ser manipulados adequadamente por algoritmos numricos simples e
computadores baratos. O oposto verdade para equaes complicadas e dados
exibindo descontinuidades.
6. Facilidade de Aplicao (Amigvel ao Usurio?). Alguns mtodos numricos so fceis de aplicar, outros so difceis. Isso pode ser uma considerao na escolha de um
mtodo sobre outro. A mesma idia se aplica em decises relativas a custos de desenvolvimento de programa versus software desenvolvido profissionalmente. Pode exigir um esforo considervel converter um programa difcil em um que seja amigvel
ao usurio. Foram introduzidas maneiras de fazer isso no Captulo 2 e estas sero
elaboradas no transcorrer do livro.
7. Manuteno. Os programas para resolver problemas de engenharia necessitam de
manuteno porque durante a aplicao invariavelmente ocorrem dificuldades.
A manuteno pode exigir mudanas no cdigo do programa ou expanso da documentao. Programas e algoritmos numricos simples so mais fceis de manter.
Os captulos a seguir envolvem o desenvolvimento de diversos tipos de mtodos numricos para vrios tipos de problemas matemticos. Muitos mtodos alternativos sero
dados em cada captulo. Esses diversos mtodos (em vez de um nico mtodo escolhido
pelos autores) sero apresentados porque no existe um nico melhor mtodo. No

PT1.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS

89

existe um melhor mtodo porque existem muitos prs e contras que precisam ser considerados na aplicao do mtodo a problemas prticos. Uma tabela que destaca os prs e
contras envolvidos em cada mtodo ser encontrada no final de cada parte deste livro.
Essa tabela deveria ajud-lo a escolher o procedimento numrico para o contexto de seu
problema particular.

PT1.5 RELAES E FRMULAS IMPORTANTES


A Tabela PT1.2 resume informaes importantes que foram apresentadas na Parte Um.
A tabela pode ser consultada para um acesso rpido a relaes e frmulas importantes.
O eplogo de cada parte deste livro conter tal resumo.

PT1.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS


O eplogo de cada parte deste livro tambm incluir uma seo planejada para facilitar e
encorajar estudos adicionais de mtodos numricos. Esta seo citar outros livros no assunto bem como material relacionado a mtodos avanados.1
Para estender os fundamentos fornecidos na Parte Um, numerosos manuais sobre a
programao de computadores esto disponveis. Seria difcil fazer referncia a todos os
livros excelentes e manuais pertinentes a linguagens e computadores especficos. Alm
disso, voc provavelmente j tem material de sua exposio anterior programao. Entretanto, se esta for sua primeira experincia com computadores, Chapra e Canale (1994)
fornecem uma introduo geral ao BASIC e Fortran. Seu professor e seus colegas tambm devem ser capazes de aconselh-lo com relao a bons livros de referncia para
mquinas e linguagens disponveis em sua escola.
Quanto anlise de erro, qualquer bom livro introdutrio de clculo incluir material suplementar relativo a assuntos tais como expanso em srie de Taylor. Os textos de
Swokowski (1979), Thomas e Finney (1979) e Simmons (1985) fornecem discusses
muito legveis sobre esses assuntos. Alm disso, Taylor (1982) apresenta uma boa introduo anlise 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 discusses abrangentes da maioria dos mtodos numricos, incluindo alguns
mtodos avanados que esto alm do escopo deste livro. Outros livros agradveis no assunto so Gerald e Wheatley (1989); Rice (1983) e Cheney e Kincaid (1985). Alm disso,
Press et al. (1992) inclui cdigos de computador para implementar diversos mtodos.

Aqui, os livros so citados apenas pelos autores; uma bibliografia completa ser fornecida no final deste texto.

90

EPLOGO: PARTE UM
TABELA PT1.2 Resumo das informaes importantes apresentadas na Parte Um.
Definies de Erro
Erro verdadeiro

Et = erro verdadeiro aproximao

Erro relativo porcentual verdadeiro

t =

erro verdadeiro aproximao


valor verdadeiro

aproximao atual aproximao anterior


aproximao atual

Erro relativo porcentual aproximado a =


Critrio de parada

100%
100%

Pare os clculos quando


a < s
onde s o erro relativo porcentual pedido

Srie de Taylor
Expanso em srie 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
Rn =

Resto

f (n+1)( )
(n + 1)!

hn +1

ou
Rn = O(hn +1)
Diferenciao Numrica
Primeira diferena dividida finita
progressiva

f (xi ) =

f (xi +1) f (xi )


h

+ O(h)

(Outras diferenas divididas esto resumidas nos


Captulos 4 e 23)
Propagao de erros
Para n variveis independentes x1, x2, . . . , xn tendo erros x1, x2, . . . , xn, o erro da funo f
pode ser estimado por
f =

f x + f x + . . . + f x
1
2
n
x1
x2
xn

PARTE DOIS

RAZES DE EQUAES
PT2.1 MOTIVAO
Anos atrs, voc aprendeu a usar a frmula quadrtica

b b2 4ac
x=
2a

(PT2.1)

para resolver
f(x) = ax 2 + bx + c = 0

(PT2.2)

Os valores calculados com a Equao (PT 2.1) so chamados de razes da Equao


(PT2.2). Eles representam os valores de x que fazem a Equao (PT2.2) igual a zero.
Logo, pode-se definir uma raiz de uma equao como um valor de x que torna f(x) = 0.
Por essa razo, as razes so s vezes chamadas de zeros da equao.
Embora a frmula quadrtica seja muito cmoda para resolver a Equao (PT2.2),
existem muitas outras funes para as quais as razes no podem ser determinadas to
facilmente. Para esses casos, os mtodos numricos descritos nos Captulos 5, 6 e 7
fornecero maneiras de obter a resposta.
PT2.1.1 Mtodos para Determinar as Razes sem o Computador
Antes do aparecimento dos computadores digitais, existiam diversas maneiras de determinar as razes de equaes algbricas e transcendentais. Em alguns casos, as razes podiam ser obtidas por mtodos diretos, como foi feito com a Equao (PT2.1). Embora
existissem equaes como essa que podiam ser resolvidas diretamente, existiam muitas
outras que no podiam. Por exemplo, mesmo uma funo aparentemente simples como
f(x) = ex x no pode ser resolvida analiticamente. Em tais casos, a nica alternativa
uma tcnica de soluo aproximada.
Um mtodo para obter uma soluo aproximada traar o grfico da funo 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. Tcnicas grficas so discutidas no incio dos Captulos 5 e 6.
Embora os mtodos grficos sejam teis para obter estimativas grosseiras, eles so
limitados por causa de sua falta de preciso. Uma abordagem alternativa usar tentativa e
erro. Essa tcnica consiste em chutar um valor de x e calcular para ver se f(x) zero. Se
no (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 prximo de zero.
Tais mtodos to casuais so obviamente ineficientes e inadequados para as necessidades da prtica da engenharia. As tcnicas descritas na Parte Dois representam alternativas que tambm so aproximadas, mas que empregam estratgias sistemticas para mirar
na raiz verdadeira. Como elaborado nas prximas pginas, a combinao desses mtodos
sistemticos e computadores torna a soluo da maioria dos problemas aplicados de
razes de equaes uma tarefa simples e eficiente.
PT2.1.2 Razes de Equaes e a Prtica da Engenharia
Embora apaream em outros contextos de problemas, as razes das equaes em geral
ocorrem na rea de projetos de engenharia. A Tabela PT2.1 lista diversos princpios fundamentais que so rotineiramente usados no trabalho de projeto. Como introduzido no
Captulo 1, as equaes ou modelos matemticos deduzidos a partir desses princpios so
usados para prever variveis dependentes como funo das variveis independentes,
92

PT2.1 MOTIVAO

93

termos forantes e parmetros. Observe que, em cada caso, as variveis dependentes refletem o estado ou o desempenho do sistema, enquanto os parmetros representam suas
propriedades ou composio.
Um exemplo de tal modelo a equao, deduzida da segunda lei de Newton, usada
no Captulo 1 para a velocidade do pra-quedista:
v=


gm 
1 e(c/m)t
c

(PT2.3)

onde v a varivel dependente, o tempo t a varivel independente, a constante gravitacional g o termo forante e o coeficiente de arrasto c e a massa m so parmetros. Se os
parmetros forem conhecidos, a Equao (PT2.3) pode ser usada para prever a velocidade
do pra-quedista como uma funo do tempo. Tais clculos podem ser feitos diretamente
porque v expressa explicitamente como uma funo 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 pra-quedista de uma dada massa atinja uma certa velocidade em um determinado intervalo de tempo. Embora a Equao (PT2.3) fornea uma representao matemtica da
inter-relao entre as variveis e os parmetros do modelo, ela no pode ser resolvida explicitamente para determinar o coeficiente de arrasto. Tente fazer isso. No h maneira de
reorganizar a equao de forma que c esteja isolado em um lado do sinal de igual. Em tais
casos, dizemos que c est implcito.
Isso representa um dilema real, porque muitos problemas de projeto de engenharia
envolvem especificar as propriedades ou a composio do sistema (como representado
por seus parmetros) para garantir que funcionem da maneira desejada (como represen-

TABELA PT2.1 Princpios fundamentais usados em problemas e projetos


de engenharia.
Princpio
Fundamental

Variveis
Dependentes

Variveis
Independentes

Balano de calor

Temperatura

Tempo e
posio

Balano de massa

Concentrao ou
quantidade de massa

Tempo e
posio

Balano de energia

Intensidade e direo
das foras

Tempo e
posio

Balano de energia

Mudanas nos estados


de energia cintica e
potencial do sistema

Tempo e
posio

Leis de movimento
de Newton

Acelerao, velocidade
ou posio

Tempo e
posio

Leis de Kirchhoff

Correntes e voltagens em
circuitos eltricos

Tempo

Parmetros
Propriedades trmicas
do material e
geometria do
sistema
Comportamento
qumico do material,
coeficientes de
transferncia de
massa e geometria
do sistema
Resistncia do material,
propriedades
estruturais e geometria
do sistema
Propriedades trmicas,
massa do material e
geometria do
sistema
Massa do material,
geometria do sistema
e parmetros
dissipativos tais como
atrito ou arrasto
Propriedades eltricas
de sistema tais como
resistncia,
capacitncia e
indutncia

94

RAZES DE EQUAES

tado por suas variveis). Assim, esses problemas freqentemente exigem a determinao
de parmetros implcitos.
A soluo do dilema fornecida pelos mtodos numricos para razes de equaes.
Para resolver o problema usando mtodos numricos, conveniente reescrever a Equao
(PT2.3). Isso feito subtraindo-se a varivel dependente v de ambos os lados da equao
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 equao. Esse valor tambm representa o coeficiente de arrasto que resolve o problema de engenharia.
A Parte Dois deste livro trata de uma variedade de mtodos numricos e grficos
para a determinao de razes de relaes como a Equao (PT2.4). Essas tcnicas podem
ser aplicadas a problemas de projeto de engenharia que so baseados nos princpios fundamentais delineados na Tabela PT2.1 e tambm a muitos outros problemas confrontados
rotineiramente na prtica da engenharia.

PT2.2 FUNDAMENTOS MATEMTICOS


Para a maioria das reas de assuntos neste livro, em geral existem alguns pr-requisitos
matemticos necessrios para ter sucesso em dominar o tpico. Por exemplo, os conceitos
de estimativa do erro e de expanso em srie de Taylor discutidos nos Captulos 3 e 4 tm
relevncia direta em nossa discusso de razes de equaes. Adicionalmente, antes deste
ponto j mencionamos os termos equaes algbricas e transcendentais. Poderia ser
til definir formalmente esses termos e discutir como eles se relacionam ao escopo desta
parte do livro.
Por definio, uma funo dada por y = f (x) algbrica se ela puder ser expressa
na forma
f n y n + f n1 y n1 + + f 1 y + f 0 = 0

(PT2.5)

onde fi um polinmio de grau n em x. Os polinmios so uma classe simples de funes


algbricas que so representadas em geral por
f n (x) = a0 + a1 x + a2 x 2 + + an x n

(PT2.6)

onde n o grau do polinmio e os as so constantes. Alguns exemplos especficos so


f 2 (x) = 1 2,37x + 7,5x 2

(PT2.7)

f 6 (x) = 5x 2 x 3 + 7x 6

(PT2.8)

Uma funo transcendental uma que no algbrica. Incluem-se as funes trigonomtricas, exponenciais, logartmicas e outras funes menos familiares. Exemplos so
f(x) = ln x 2 1

(PT2.9)

e
f(x) = e0,2x sen(3x 0,5)

(PT2.10)

As razes das equaes podem ser reais ou complexas. Embora existam casos nos quais
as razes complexas de funes no polinomiais sejam de interesse, tais situaes so
menos comuns do que para polinmios. Como conseqncia, os mtodos padro para localizar razes tipicamente se dividem em duas reas de problemas um pouco relacionadas,
mas primariamente distintas:
1. A determinao de razes reais de equaes algbricas e transcendentais. Essas
tcnicas so usualmente desenvolvidas para determinar o valor de uma nica raiz com
base no conhecimento prvio de sua localizao aproximada.

PT2.3 ORIENTAO

95

2. A determinao de todas as razes reais e complexas de polinmios. Esses mtodos


so desenvolvidos especificamente para polinmios. Determinam sistematicamente
todas as razes do polinmio em vez de determinar uma nica raiz real a partir de uma
posio aproximada.
Neste livro discutiremos ambos os casos. Os Captulos 5 e 6 so dedicados
primeira categoria. O Captulo 7 lida com polinmios.

PT2.3 ORIENTAO
Alguma orientao ser til antes de prosseguir para os mtodos numricos para a determinao de razes de equaes. O que segue destinado a lhe dar uma viso geral do material na Parte Dois. Alm disso, foram includos alguns objetivos para lhe ajudar a focalizar
seus esforos quando estudar o material.
PT2.3.1 Escopo e Viso Geral
A Figura PT2.1 uma representao esquemtica da organizao da Parte Dois.
Examine essa figura cuidadosamente, comeando na parte de cima e prosseguindo no
sentido horrio.
Depois dessa introduo, o Captulo 5 dedicado aos mtodos intervalares para
determinar uma raiz. Esses mtodos comeam com a descoberta de um intervalo que
contenha a raiz e depois sistematicamente diminuem a largura do intervalo. Dois mtodos especficos so discutidos: bisseco e falsa posio. Os mtodos grficos so usados para fornecer uma percepo visual das tcnicas. As formulaes de erros so deduzidas para ajud-lo a determinar quanto esforo computacional necessrio para
fazer uma estimativa da raiz at o nvel de preciso pr-especificado.
O Captulo 6 cobre os mtodos abertos. Esses mtodos tambm envolvem iteraes
sistemticas de tentativa e erro, mas no exigem aproximaes iniciais que delimitem a
raiz. Descobriremos que em geral estes mtodos so computacionalmente mais eficientes
do que os mtodos intervalares, mas no funcionam sempre. Os mtodos de iterao de
um ponto, Newton-Raphson e da secante sero descritos. Os mtodos grficos sero usados para fornecer uma percepo geomtrica dos casos nos quais os mtodos abertos no
funcionam. As frmulas so deduzidas para fornecer uma idia de quo rapidamente os
mtodos abertos atingem a raiz. Alm disso, explicada uma abordagem para estender o
mtodo de Newton-Raphson a sistemas de equaes no lineares.
O Captulo 7 dedicado a encontrar as razes de polinmios. Depois da seo de
fundamentos sobre polinmio, o uso dos mtodos convencionais (em particular dos mtodos abertos do Captulo 6) discutido. A seguir, dois mtodos especiais para localizar
razes de polinmios so descritos: os mtodos de Mller e Bairstow. O captulo termina
com informaes relacionadas a encontrar as razes com programas de biblioteca e
pacotes de software.
O Captulo 8 estende os conceitos acima para problemas de engenharia reais. Os
casos de engenharia estudados so usados para ilustrar a fora e as fraquezas de cada
mtodo e para desenvolver a intuio na aplicao das tcnicas na prtica profissional. As
aplicaes tambm destacam os prs e contras (como discutido na Parte Um) associados
a vrios mtodos.
Um eplogo includo no final da Parte Dois. Ele contm uma comparao detalhada
dos mtodos discutidos nos Captulos 5, 6 e 7. Essa comparao inclui uma descrio dos
prs e contras relacionados com o uso adequado de cada tcnica. Essa seo tambm
fornece um resumo de frmulas importantes, juntamente com referncias para alguns
mtodos numricos que esto alm do escopo deste texto.
PT 2.3.2 Metas e Objetivos
Objetivos de Estudo. Depois de completar a Parte Dois, voc deveria ter informao
suficiente para abordar com sucesso uma grande variedade de problemas de engenharia

RAZES DE EQUAES

96

PT 2.1
Motivao

PT 2.6
Mtodos
Avanados e referncias
adicionais

PT 2.2
Fundamentos
matemticos

PT 2.3
Orientao

5.1
Mtodos
grficos

PARTE 2
Razes
de
Equaes

5.2
O mtodo da biseco

5.3
O mtodo da falsa
posio

PT 2.5
Relaes e frmulas
importantes

CAPTULO 5
Mtodos
Intervalares

EPLOGO
PT 2.4
Ps e contras

6.1
Iterao de
ponto fixo simples

8.4
Engenharia
mecnica e
aeroespacial

8.3
Projeto de circuito
eltrico

6.2
O mtodo de
Newton-Raphson

CAPTULO 6
Mtodos
Abertos

CAPTULO 8
Estudos de Casos
Razes de Equao

8.2
Engenharia
civil e ambiental
8.1
Engenharia
qumica e
bioqumica

5.4
Buscas
incrementais

7.7
Bibliotecas
e pacotes

6.4
Razes
mltiplas

CAPTULO 7
Razes
de
Polinmios

7.1
Polinmios na
engenharia e
na cincia

7.6
Outros
mtodos
7.5
O Mtodo de
Bairstow's

6.3
O mtodo
da secante

6.5
Sistemas de equaes
no-lineares

7.2
Clculos
computacionais
com polinmios
7.4
O Mtodo de
Mller's

7.3
Mtodos
convencionais

FIGURA PT2.1
Esquema de organizao do material na Parte Dois: Razes de Equaes.

relacionados com razes de equaes. Em geral, voc deve ter dominado as tcnicas,
aprendido a avaliar sua confiabilidade e ser capaz de escolher o melhor mtodo (ou
mtodos) para qualquer problema particular. Alm dessas metas gerais, os conceitos especficos 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 tcnicas discutidas na Parte Dois. Todos tm utilidade como
ferramentas computacionais.
Pseudocdigos para diversos mtodos tambm so fornecidos diretamente no texto.
Essa informao vai permitir-lhe expandir sua biblioteca de softwares, incluindo programas que so mais eficientes que o mtodo da bisseco. Por exemplo, voc pode querer
ter seu prprio software para as tcnicas da falsa posio, de Newton-Raphson e da secante, que so em geral mais eficientes que o mtodo da bisseco.

PT2.3 ORIENTAO

97

TABELA PT2.2 Objetivos de estudo especficos da Parte Dois.


1. Entender a interpretao grfica de uma raiz.
2. Saber a interpretao grfica do mtodo da falsa posio e por que em geral ele superior ao
mtodo da bisseco.
3. Entender a diferena entre os mtodos intervalares e os mtodos abertos para localizar razes.
4. Entender os conceitos de convergncia e divergncia; usar o mtodo grfico de duas curvas para
fornecer uma descrio visual desses conceitos.
5. Saber por que os mtodos intervalares sempre convergem, enquanto os mtodos abertos podem s
vezes divergir.
6. Perceber que a convergncia dos mtodos abertos mais provvel se a aproximao inicial estiver
prximo da raiz verdadeira.
7. Entender os conceitos de convergncia linear e quadrtica e suas conseqncias na eficincia dos
mtodos de iterao de ponto fixo e de Newton-Raphson.
8. Saber a diferena fundamental entre os mtodos da falsa posio e da secante e como ela se
relaciona com a convergncia.
9. Entender o problema causado pelas razes mltiplas e as modificaes disponveis para abrand-los.
10. Saber como estender a abordagem de Newton-Raphson para uma nica equao para resolver
sistemas de equaes no-lineares.

Finalmente, pacotes como os softwares Excel, MATLAB e bibliotecas de programas tm recursos poderosos para localizar razes. Voc pode usar esta parte do livro para
se familiarizar com esses recursos.

CAPTULO

5
Mtodos Intervalares
Este captulo sobre razes de equaes trata de mtodos que exploram o fato de que uma
funo tipicamente muda de sinal na vizinhana de uma raiz. Essas tcnicas (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 mtodos particulares descritos aqui usam estratgias diferentes para sistematicamente diminuir a largura do intervalo e, portanto, aproximar-se da resposta correta.
Como uma introduo a essas tcnicas, sero discutidos brevemente mtodos grficos para descrever as funes e suas razes. Alm de sua utilidade para fornecer estimativas grosseiras, as tcnicas grficas tambm so teis na visualizao das propriedades das
funes e do comportamento de diversos mtodos numricos.

5.1

MTODOS GRFICOS
Um mtodo simples para obter uma estimativa da raiz da equao f(x) = 0 fazer um grfico da funo 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 aproximao grosseira da raiz.

EXEMPLO 5.1

A Abordagem Grfica
Enunciado do Problema. Use a abordagem grfica para determinar o coeficiente de
arrasto c necessrio para que um pra-quedista de massa m = 68,1 kg tenha uma velocidade de 40 m/s depois de cair em queda livre por t = 10 s. Observao: a acelerao da
gravidade 9,8 m/s2.
Soluo. Esse problema pode ser resolvido determinando-se as razes da Equao
(PT2.4) usando os parmetros 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 e0,146843c 40
c

ou

Pode-se substituir vrios valores de c no lado direito dessa equao 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 MTODOS NUMRICOS

99

f (c)
40

20

f (x)
Raiz
0

12

20 c

(a)
10

f (x)

FIGURA 5.1
A abordagem grfica para determinar as razes de uma equao.
x

(b)
Esses pontos esto marcados na Figura 5.1. A curva resultante cruza o eixo c entre 12 e 16.
Uma inspeo visual do grfico fornece uma estimativa grosseira da raiz de 14,75. A validade da estimativa grfica pode ser verificada pela substituio na Equao (E5.1.1), o
que fornece

f (x)

(c)

f(14,75) =


667,38 
1 e0,146843(14,75) 40 = 0,059
14,75

que est prximo de zero. Isso tambm pode ser verificado pela substituio na Equao
(PT2.4) juntamente com os parmetros 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 prximo da velocidade de queda pedida de 40 m/s.

(d)
FIGURA 5.2
Ilustrao 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 no existiro razes ou
existir um nmero par de
razes no intervalo. As partes
(b) e (d) indicam que, se a
funo tiver sinais diferentes
nas extremidades, existir
um nmero mpar de razes
no intervalo.

As tcnicas grficas tm valor prtico limitado porque no so precisas. Entretanto,


os mtodos grficos podem ser usados para obter estimativas grosseiras das razes. Essas
estimativas so usadas como aproximaes iniciais para os mtodos numricos discutidos
neste e no prximo captulo.
Alm de fornecer estimativas grosseiras para as razes, as interpretaes grficas so
ferramentas importantes para se entender as propriedades das funes e antecipar as armadilhas dos mtodos numricos. Por exemplo, a Figura 5.2 mostra diversas maneiras
pelas quais as razes podem ocorrer (ou no) 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 ) tambm esto de lados opostos do eixo x, mostra
trs razes ocorrendo nesse intervalo. Em geral, se f (xl) e f(xu) tm sinais opostos, existe
um nmero mpar de razes no intervalo. Como indicado pelas Figuras 5.2a e c, se f(xl) e
f (xu) tm ambos o mesmo sinal, ou no existe nenhuma raiz ou existe um nmero par de
razes entre os valores.

MTODOS INTERVALARES

100

f (x)

(a)
f (x)

FIGURA 5.3
Ilustraes de algumas excees aos casos gerais mostrados na
Figura 5.2. (a) Razes mltiplas que ocorrem quando a funo
tangente ao eixo x. Nesse caso, embora as extremidades
tenham sinais opostos, h um nmero par de interseces com
o eixo nesse intervalo. (b) Funes descontnuas nas quais as
extremidades de sinais opostos cercam um nmero par de
razes. Estratgias especiais so necessrias para determinar
as razes nesses casos.

xu

xl
(b)

Essas generalizaes so quase sempre verdadeiras, mas h casos em que elas no


funcionam. Por exemplo, as funes que so tangentes ao eixo x (Figura 5.3a) ou que so
funes descontnuas (Figura 5.3b) podem violar esses princpios. Um exemplo de uma
funo que tangente ao eixo a equao cbica f (x) = (x 2)(x 2)(x 4). Observe
que x = 2 torna dois termos nesse polinmio iguais a zero. Matematicamente, x = 2
chamado de raiz mltipla. No final do Captulo 6, sero apresentadas tcnicas destinadas
a localizar razes mltiplas.
A existncia de casos do tipo mostrados na Figura 5.3 torna difcil desenvolver algoritmos computacionais gerais que garantam a localizao de todas as razes em um intervalo. Entretanto, quando usados junto com abordagens grficas, os mtodos descritos
nas sees seguintes so extremamente teis para resolver problemas de razes de equaes confrontados rotineiramente por engenheiros e matemticos aplicados.

EXEMPLO 5.2

Uso de Grficos Computacionais para Localizar Razes


Enunciado do Problema. Os grficos computacionais podem tornar mais rpidos e
melhores seus esforos para localizar as razes de equaes. A funo
f (x)  sen 10x  cos 3x
tem diversas razes no intervalo de x = 0 a x = 5. Use grficos computacionais para
adquirir uma percepo do comportamento dessa funo.
Soluo. Os pacotes de software como Excel e MATLAB podem ser usados para gerar
grficos. A Figura 5.4a um grfico de f (x) de x = 0 a x = 5. Esse grfico sugere a presena de diversas razes, incluindo uma possvel 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 domnio do grfico 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 grfico mostra
claramente que no existe uma raiz dupla nessa regio e que na realidade existem duas
razes distintas perto de x = 4,23 e de x = 4,26.
Os grficos computacionais tero grande utilidade nos seus estudos de mtodos
numricos. Esse recurso tambm ter muitas outras aplicaes em suas outras disciplinas
e tambm em suas atividades profissionais.

5.2 O MTODO DA BISSECO

101

2,5
X

4
X

(a)

(b)

0,15

0,15
4,2

4,25
X

4,3

(c)
FIGURA 5.4
Uma ampliao progressiva de f (x)  sen 10x  cos 3x pelo computador. Esses recursos grficos interativos permitem
ao analista determinar que existem duas razes distintas entre x  4,2 e x  4,3.

5.2

O MTODO DA BISSECO
Quando aplicou a tcnica grfica 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 contnua no intervalo
de xl a xu e f (xl) e f(xu) tiverem sinais opostos, isto ,
f(xl ) f(xu ) < 0
(5.1)
ento existe pelo menos uma raiz real entre xl e xu.
Os mtodos de busca incrementais tiram vantagem dessa observao localizando um
intervalo no qual a funo muda de sinal. Ento, a posio da mudana de sinal (e, conseqentemente, da raiz) identificada mais precisamente dividindo-se o intervalo em diversos subintervalos. Procura-se em cada um desses subintervalos para localizar a mudana de sinal. O processo repetido e a estimativa da raiz refinada dividindo-se os
subintervalos em incrementos menores. Voltaremos ao tpico geral de buscas incrementais na Seo 5.4.
O mtodo da bisseco, que alternativamente chamado de truncamento binrio, diviso do intervalo na metade, ou mtodo de Bolzano, um tipo de mtodo de busca incremental no qual o intervalo sempre dividido na metade. Se uma funo muda de sinal em
um intervalo, calcula-se o valor da funo em seu ponto mdio. A posio da raiz ento
determinada como sendo o ponto mdio do subintervalo no qual a mudana de sinal ocorre.
Esse processo repetido para obter estimativas refinadas. Um algoritmo simples para os
clculos da bisseco listado na Figura 5.5 e uma descrio grfica do mtodo fornecida
na Figura 5.6. O exemplo a seguir exibe todos os clculos realmente envolvidos no mtodo.

MTODOS INTERVALARES

102

Passo 1: Escolha as aproximaes inferior xl e superior xu para a raiz de modo que a


funo 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
Passo 3: Faa os seguintes clculos para determinar em qual subintervalo a raiz est:
(a) se f (xl)f(xr) < 0, a raiz est no subintervalo inferior. Portanto, faa xu = xr e
volte ao passo 2.
(b) se f (xl)f(xr) > 0, a raiz est no subintervalo superior. Portanto, faa xl = xr e
volte ao passo 2.
(c) se f(xl)f(xr) = 0, a raiz igual a xr; pare os clculos.
FIGURA 5.5

12

16

14

15

FIGURA 5.6
Uma descrio grfica do
mtodo da bisseco. Esse
grfico mostra as primeiras trs
iteraes do Exemplo 5.3.

EXEMPLO 5.3

16

14

Bisseco
Enunciado do Problema. Use bisseco para resolver o mesmo problema tratado
graficamente no Exemplo 5.1.
Soluo. O primeiro passo na bisseco descobrir dois valores para a incgnita (no
problema presente, c) que d valores de f(c) com sinais diferentes. A partir da Figura 5.1,
v-se que a funo muda de sinal entre 12 e 16. Portanto, a estimativa inicial da raiz xr
o ponto mdio 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
funo no extremo inferior e no ponto mdio:
f (12) f (14)  6,067(1,569)  9,517
que maior do que zero e, portanto, no ocorre troca de sinal entre a extremidade inferior
e o ponto mdio. Conseqentemente, a raiz deve estar localizada entre 14 e 16. Logo,

5.2 O MTODO DA BISSECO

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 iterao calculada por
xr =

14 + 15
= 14,5
2

o que representa um erro relativo porcentual de t = 1,9%. O mtodo pode ser repetido
at que o resultado seja suficientemente acurado para satisfazer suas necessidades.

No exemplo anterior, pode-se notar que o erro verdadeiro no decresce com cada iterao. Entretanto, o intervalo no qual a raiz est localizada dividido na metade em cada
passo do processo. Como discutiremos na prxima seo, a largura do intervalo fornece
uma estimativa exata do limitante superior do erro para o mtodo da bisseco.
5.2.1 Critrio de Parada e Estimativa do Erro
Terminamos o Exemplo 5.3 com a afirmao de que se poderia continuar o mtodo para
obter uma estimativa refinada da raiz. Agora preciso desenvolver um critrio objetivo
para decidir quando parar o mtodo.
Uma sugesto inicial poderia ser parar os clculos quando o erro verdadeiro cair
abaixo de algum nvel pr-especificado. Como ilustrao, no Exemplo 5.3, o erro relativo
caiu de 5,3 para 1,9% durante os clculos. A deciso pode ser parar quando o erro cair
abaixo de 0,1%. Essa estratgia falha porque os erros estimados no exemplo foram
baseados no conhecimento da raiz verdadeira da funo o que no seria o caso em
situaes reais, pois no haveria motivo para usar o mtodo se a raiz j fosse conhecida.
Portanto, necessria uma estimativa de erro que no dependa do conhecimento
prvio dessa raiz. Como visto anteriormente na Seo 3.3, um erro relativo porcentual
aproximado a pode ser calculado por [lembre-se da Equao (3.5)]

 novo
x
x velho 
a =  r novo r
(5.2)
 100%
xr
onde xrnovo a raiz da iterao atual e xrvelho a raiz da iterao prvia. O valor absoluto
usado porque, em geral, estamos interessados no mdulo de a em vez de no seu sinal.
Quando a se torna menor do que um critrio de parada pr-especificado s, param-se os
clculos.
EXEMPLO 5.4

Estimativa de Erro para a Bisseco


Enunciado do Problema. Continue o Exemplo 5.3 at que o erro aproximado fique
abaixo do critrio de parada s = 0,5%. Use a Equao (5.2) para calcular os erros.
Soluo. Os resultados das primeiras duas iteraes no Exemplo 5.3 foram 14 e 15. A
substituio desses valores na Equao (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 iteraes:

104

MTODOS INTERVALARES

Iterao

xl

xu

1
2
3
4
5
6

12
14
14
14,5
14,75
14,75

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 iteraes, a finalmente fica abaixo de s = 0,5%, e os clculos podem parar.
Esses resultados esto resumidos na Figura 5.7. A natureza irregular do erro verdadeiro se deve ao fato de que, na bisseco, a raiz verdadeira pode estar em qualquer
lugar dentro do intervalo que a cerca. Os erros verdadeiro e aproximado esto bem distantes quando acontece de o intervalo estar centrado na raiz verdadeira. Eles esto prximos quando a raiz verdadeira est prxima de qualquer das extremidades.

Embora o erro aproximado no fornea uma estimativa exata do erro verdadeiro, a


Figura 5.7 sugere que a captura a tendncia geral para baixo de t . Alm disso, o grfico
mostra a caracterstica extremamente atrativa de que a sempre maior do que t . Logo,
quando a cai abaixo de s , podemos parar os clculos com a confiana de que a raiz conhecida pelo menos to acuradamente quanto o nvel aceitvel pr-especificado.
Embora seja sempre perigoso tirar concluses gerais de um nico exemplo, pode ser
demonstrado que a ser sempre maior do que t para o mtodo da bisseco. Isso ocorre
porque, cada vez que uma raiz aproximada localizada usando a bisseco 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, poderamos fazer a afirmao definitiva de que
xr  14,5  0,5
Como x/2 = xrnovo xrvelho (Figura 5.9), a Equao (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 mtodo da
bisseco. Os erros verdadeiro
e estimado esto mostrados em
funo do nmero de iteraes.

10

Erro relativo percentual

Aproximado

1,0
Verdadeiro

0,1

3
Iteraes

5.2 O MTODO DA BISSECO

105

verdadeira deveria estar fora do intervalo que a cerca, o que, por definio, nunca poderia
ocorrer no mtodo da bisseco. Como ilustrado no exemplo seguinte (Exemplo 5.7), outras
tcnicas de localizar razes no se comportam sempre to bem. Embora a bisseco seja em
geral mais lenta do que outros mtodos, a simplicidade de sua anlise de erro certamente
um aspecto positivo que poderia torn-la atrativa para certas aplicaes de engenharia.
Antes de prosseguir para programas de computador para a bisseco, deve-se observar que as relaes (Figura 5.9)
xrnovo xrvelho =

x u xl
2

e
xl + x u
2
podem ser substitudas na Equao (5.2) para desenvolver uma formulao alternativa
para o erro relativo porcentual


 x u xl 
 100%

a = 
(5.3)
x u + xl 
xrnovo =

Essa equao fornece resultados idnticos Equao (5.2) para a bisseco. Alm
disso, ela permite calcular uma estimativa de erro com base nas aproximaes iniciais
isto , na primeira iterao. Por exemplo, na primeira iterao do Exemplo 5.2, um erro
aproximado pode ser calculado como


 16 12 

 100% = 14,29%
a = 
16 + 12 

FIGURA 5.8
Trs 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 prximo
extremidade. Observe que a
discrepncia entre o valor
verdadeiro e o ponto mdio
do intervalo nunca excede a
metade do comprimento do
intervalo ou x/2.

xl

xr

xr

xu

xu

(a)
xl

(b)
xl

xr

(c)
x /2

x /2

Raiz verdadeira

FIGURA 5.9
Descrio grfica de por que
o erro estimado para a
bisseco (x/2)
equivalente estimativa da
raiz na iterao atual (x rnovo)
menos a raiz estimada na
iterao anterior (x rvelho).

xrnovo xvelho
r

Iterao anterior
xvelho
r
xnovo
r
Iterao atual

x/2

xu

106

MTODOS INTERVALARES

Um outro benefcio do mtodo da bisseco que o nmero de iteraes necessrias


para se chegar a um erro absoluto pode ser calculado a priori isto , antes de comear
as iteraes. Isso pode ser visto reconhecendo-se que, antes de comear a tcnica, o erro
absoluto
E a0 = xu0 xl0 = x 0
onde o sobrescrito indica a iterao. Ento, antes de comear o mtodo, estamos na iterao zero. Depois da primeira iterao, o erro se torna
E a1 =

x 0
2

Como cada iterao sucessiva divide o erro por dois, uma frmula geral relacionando o
erro e o nmero de iteraes, n,
E an =

x 0
2n

Se Ea,d o erro desejado, essa equao 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 frmula. Para o Exemplo 5.4, o intervalo inicial era x0 = 16 12 =
4. Depois de seis iteraes, o erro absoluto era
Ea =

|14,875 14,75|
= 0,0625
2

Pode-se substituir esses valores na Equao (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 aceitvel, a


frmula diz que seis iteraes forneceriam o resultado procurado.
Embora se tenha enfatizado o uso do erro relativo por razes bvias, h casos em que
(em geral, pelo conhecimento do contexto do problema) se poder especificar um erro absoluto. Nesses casos, a bisseco junto com a Equao (5.5) podem fornecer um algoritmo til na localizao das razes. Tais aplicaes sero exploradas nos problemas do
final do captulo.
5.2.2 Algoritmo de Bisseco
O algoritmo na Figura 5.5 pode agora ser expandido para incluir uma verificao do erro
(Figura 5.10). Esse algoritmo usa funes definidas pelo usurio para tornar a localizao
das razes e os clculos da funo mais eficientes. Alm disso, colocado um limite superior no nmero de iteraes. Finalmente, includa uma verificao do erro para evitar
diviso por zero durante o clculo do erro. Em tal situao, a Equao (5.2) se torna infinita. Se isso ocorrer, o programa pula o clculo do erro nessa iterao.
O algoritmo na Figura 5.10 no amigvel ao usurio; ele planejado estritamente
para produzir a resposta correta. No Problema 5.14 no final deste captulo, voc ter a
tarefa de torn-lo mais fcil de usar e entender.
5.2.3 Minimizando o Clculo de Funes
O algoritmo de bisseco na Figura 5.10 muito bom se voc estiver calculando uma
nica raiz para uma funo que seja fcil de calcular. Entretanto, h muitos exemplos em
engenharia nos quais esse no 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 milhes de vezes durante uma nica execuo.

5.2 O MTODO DA BISSECO

FIGURA 5.10
Pseudocdigo para a funo
que implementa a bisseco.

107

FUNCTION Bisseco(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
Bisseco  xr
END Bisseco

Alm disso, no seu sentido mais geral, uma funo de uma nica varivel simplesmente uma entidade que devolve um nico valor para um nico valor que voc tenha inserido. Entendidas nesse sentido, as funes no so sempre frmulas simples como as
equaes de uma linha resolvidas nos exemplos anteriores deste captulo. Por exemplo,
uma funo poderia consistir em muitas linhas de cdigo que poderiam envolver uma
quantidade significativa de tempo de execuo para calcular. E, em alguns casos, a funo
poderia at mesmo representar um programa de computador independente.

FIGURA 5.11
Pseudocdigo para o
subprograma de bisseco que
minimiza o clculo de funes.

FUNCTION Bisseco(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
Bisseco  xr
END Bisseco

MTODOS INTERVALARES

108

Por causa de ambos os fatores, imperativo que os algoritmos numricos minimizem os clculos de funes. Desse ponto de vista, o algoritmo da Figura 5.10 deficiente. Observe, em particular, que ao fazer dois clculos de funo por iterao, ele recalcula uma das funes que havia sido determinada na iterao anterior.
A Figura 5.11 fornece um algoritmo modificado que no tem essa deficincia. Destacamos as linhas que so diferentes das da Figura 5.10. Nesse caso, calculado apenas um
novo valor da funo na estimativa da raiz. Os valores calculados anteriormente so
salvos e meramente transferidos conforme o intervalo diminui. Ento, so feitos n + 1
clculos de funes, em vez de 2n.

5.3

O MTODO DA FALSA POSIO


Embora a bisseco seja uma tcnica perfeitamente vlida para determinar razes, sua
abordagem do tipo fora bruta relativamente ineficiente. A falsa posio uma alternativa baseada na percepo grfica.
Uma deficincia do mtodo da bisseco que, na diviso do intervalo de xl a xu em
metades iguais, no so levados em conta os mdulos de f(xl) e f(xu). Por exemplo, se f (xl)
estiver muito mais prximo de zero do que f(xu), ser provvel que a raiz esteja mais
prxima de xl do que de xu (Figura 5.12). Um mtodo alternativo que explora essa percepo grfica ligar f(xl) e f(xu) por uma reta. A interseco dessa reta com o eixo x representa uma estimativa melhorada da raiz. O fato de a substituio da curva por uma reta
dar uma falsa posio da raiz a origem do nome, mtodo da falsa posio, ou, em
latim, regula falsi. Ele tambm chamado de mtodo da interpolao linear.
Usando tringulos semelhantes (Figura 5.12), a interseco 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 descrio grfica do
mtodo da falsa posio. Os
tringulos semelhantes que
foram usados para deduzir a
frmula do mtodo esto
hachurados.

f(xu )(xl xu )
f(xl ) f(xu )

(5.7)

f (x)

f (xu)

xr
xl
xu
f (xl)

5.3 O MTODO DA FALSA POSIO

Quadro 5.1

Deduo do Mtodo da Falsa Posio

Multiplique a Equao (5.6) em cruz para obter

e ento 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 mtodo da falsa posio. Observe que ela permite o clculo da raiz xr como uma funo das aproximaes inferior xl e superior xu. Ele pode ser colocado em uma forma alternativa expandindo-o:
xr =

xu f(xl )
xl f(xu )
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 Equao (5.7). Essa forma foi usada porque
ela envolve um clculo de funo a menos e uma multiplicao a
menos do que a Equao (Q5.1.1). Alm disso, ela diretamente
comparvel ao mtodo da secante, que ser discutido no Captulo 6.

Essa a frmula da falsa posio. O valor de xr calculado com a Equao (5.7) ento substitui qualquer das duas aproximaes iniciais xl ou xu que fornea um valor da funo
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
idntico ao da bisseco (Figura 5.5), com a diferena de que a Equao (5.7) usada
no passo 2. Alm disso, usado o mesmo critrio de parada [Equao(5.2)] para encerrar
os clculos.
EXEMPLO 5.5

Falsa Posio
Enunciado do Problema. Use o mtodo da falsa posio para determinar a raiz da
mesma equao investigada no Exemplo 5.1 [Equao (E5.1.1)].
Soluo. Como no Exemplo 5.3, comece os clculos com aproximaes xl = 12 e xu = 16.
Primeira iterao:
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 iterao:
f(xl ) f(xr ) = 1,5426
Portanto, a raiz est no primeiro subintervalo e xr se torna a aproximao superior da
prxima iterao, xu = 14,9113:
xl = 12

f(xl ) = 6,0699

xu = 14,9113

f(xu ) = 0,2543

xr = 14,9113

0,2543(12 14,9113)
= 14,7942
6,0669 (0,2543)

que tem erros relativos verdadeiro e aproximado de 0,09 e 0,79%. Iteraes adicionais
podem ser feitas para refinar a estimativa da raiz.

110

MTODOS INTERVALARES

Erro relativo percentual verdadeiro

10

FIGURA 5.13
Comparao dos erros relativos
dos mtodos da bisseco e
da falsa posio.

Bisseco
1

10 1

Falsa posio

10 2

10 3

10 4
0

3
Iteraes

Uma impresso sobre a eficincia relativa dos mtodos da bisseco e falsa posio
pode ser obtida consultando-se a Figura 5.13, em que esto marcados os erros relativos
percentuais verdadeiros para os Exemplos 5.4 e 5.5. Observe como o erro na falsa posio
diminui muito mais rapidamente do que na bisseco por causa do esquema mais eficiente para a localizao da raiz no mtodo da falsa posio.
Lembre que, no mtodo da bisseco, o intervalo entra xl e xu se tornava menor durante
o clculo. O intervalo, definido por x/2 = |xu xl |/2 na primeira iterao, fornece, portanto, uma medida do erro nessa abordagem. Esse no o caso no mtodo da falsa posio
porque uma das aproximaes iniciais pode permanecer fixa durante o clculo enquanto a
outra converge para a raiz. Como ilustrao, no Exemplo 5.6 a aproximao inferior xl permanece em 12 enquanto xu converge para a raiz. Para tais casos, o comprimento do intervalo no se contrai para zero, mas, em vez disso, aproxima-se de um valor constante.
O Exemplo 5.6 sugere que a Equao (5.2) representa um critrio de erro muito conservador. Na realidade, a Equao (5.2) constitui de fato uma aproximao da discrepncia da iterao anterior. Isso ocorre porque, para um caso tal como o Exemplo 5.6, no qual
o mtodo est convergindo rapidamente (por exemplo, o erro est sendo reduzido quase
uma ordem de grandeza por iterao), a raiz da iterao atual xrnovo uma estimativa
muito melhor do valor verdadeiro do que o resultado da iterao prvia xrvelho . Assim, a
quantidade no numerador da Equao (5.2) na realidade representa a discrepncia da iterao anterior. Conseqentemente, podemos estar certos de que o fato de a Equao (5.2)
ser satisfeita garante que a raiz ser conhecida com preciso maior do que a tolerncia
prescrita. Entretanto, como ser descrito na prxima seo, h casos em que o mtodo da
falsa posio converge lentamente. Nesses casos, a Equao (5.2) se torna no-confivel
e um critrio de parada alternativo deve ser deduzido.
5.3.1 Armadilhas do Mtodo da Falsa Posio
Embora o mtodo da falsa posio possa parecer sempre ser o melhor dos mtodos intervalares, h casos em que seu desempenho deficiente. Na realidade, como ocorre no
prximo exemplo, h certos casos nos quais a bisseco fornece resultados superiores.

5.3 O MTODO DA FALSA POSIO

EXEMPLO 5.6

111

Um Caso em que a Bisseco Prefervel Falsa Posio


Enunciado do Problema. Use a bisseco e a falsa posio para localizar a raiz de
f(x) = x 10 1
entre x = 0 e 1,3.
Soluo.

Usando a bisseco, os resultados podem ser resumidos por

Iterao
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 iteraes, o erro verdadeiro foi reduzido para menos de 2%. Na
falsa posio, obtida uma sada muito diferente:
Iterao
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
Grfico de f (x) = x10 1, ilustrando a convergncia lenta do mtodo da falsa posio.

f (x)

10

1.0

112

MTODOS INTERVALARES

Depois de cinco iteraes. o erro verdadeiro diminuiu apenas para cerca de 59%.
Alm disso, observe que a < t . Logo, o erro aproximado enganoso. Pode-se ganhar alguma intuio sobre esses resultados examinando o grfico da funo. Como na Figura 5.14,
a curva viola a hiptese bsica na qual a falsa posio foi baseada isto , se f(xl) est
muito mais prximo de zero do que f(xu), ento a raiz est mais prxima de xl do que de xu
(lembre-se da Figura 5.12). Por causa da forma da funo presente, o contrrio verdadeiro.

O exemplo anterior ilustra que generalizaes abrangentes com relao aos mtodos
de localizao de razes, em geral, no so possveis. Embora um mtodo como a falsa
posio seja quase sempre superior bisseco, invariavelmente h casos que violam
essas concluses gerais. Portanto, alm de se usar a Equao (5.2), os resultados deveriam
sempre ser verificados substituindo a estimativa da raiz na equao original e verificando
se o resultado est prximo a zero. Tal verificao deveria ser incorporada em todos os
programas de computador para a localizao de razes.
O exemplo tambm ilustra uma grande fraqueza do mtodo da falsa posio: ele
unilateral. Ou seja, conforme as iteraes continuam, uma das extremidades do intervalo
ter a tendncia de permanecer fixa. Isso pode levar convergncia insatisfatria, particularmente para funes com curvatura significativa.
5.3.2 Falsa Posio Modificado
Uma forma de abrandar a natureza unilateral da falsa posio fazer o algoritmo detectar quando uma das extremidades est presa. Se isso ocorrer, o valor da funo na
FIGURA 5.15
Pseudocdigo para o mtodo
da falsa posio 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 DETERMINAO DE APROXIMAES INICIAIS

113

extremidade presa pode ser dividido por dois, o que chamado de mtodo da falsa
posio modificado.
O algoritmo na Figura 5.15 implementa essa estratgia. Observe como contadores
so usados para determinar quando uma das extremidades permanece fixa por duas iteraes. Se isso ocorrer, o valor da funo na extremidade presa dividido por dois.
A eficincia desse algoritmo pode ser ilustrada aplicando-o ao Exemplo 5.6. Se um
critrio de parada de 0,01% for usado, os mtodos da bisseco e da falsa posio convergiriam em 14 e 39 iteraes, respectivamente. Em contraste, o mtodo da falsa posio
modificado convergiria em 12 iteraes. Portanto, para esse exemplo, ele um pouco
mais eficiente do que a bisseco e muito superior ao mtodo da falsa posio nomodificado.

5.4

BUSCAS INCREMENTAIS E DETERMINAO DE


APROXIMAES INICIAIS
Alm de verificar uma resposta individual, voc deve determinar se todas as razes
possveis foram localizadas. Como mencionado anteriormente, um grfico da funo,
em geral, muito til como guia nessa tarefa. Uma outra opo incorporar uma
busca incremental no incio do programa de computador. Isso consiste em comear em
uma extremidade da regio de interesse e ento calcular a funo em pequenos incrementos atravs da regio. Quando a funo muda de sinal, assume-se que uma raiz est
dentro do incremento. Os valores de x no incio e no fim do incremento podem, ento,
servir como aproximaes iniciais para uma das tcnicas descritas neste captulo.
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 razes
prximas possam ser perdidas (Figura 5.16). O problema composto com a possvel
existncia de razes mltiplas. Um remdio parcial para tais casos calcular a primeira
derivada da funo f (x) no incio e no fim de cada intervalo. Se a derivada mudar de
sinal, isso sugere que ocorreu um mnimo ou um mximo e que o intervalo deve ser
examinado com mais ateno para se verificar a existncia de uma possvel raiz.
Embora tais modificaes ou o uso de incrementos muito pequenos possam diminuir
o problema, deve ficar claro que mtodos do tipo fora bruta, como a busca incremental,
no so a prova de erros. Seria sensato suplementar tais tcnicas automticas com outras
informaes que forneam uma intuio na localizao das razes. Essas informaes
podem ser encontradas fazendo-se grficos e entendendo o problema fsico do qual a
equao se originou.

FIGURA 5.16
Casos nos quais se podem
perder razes em razo de o
comprimento do incremento do
procedimento de busca ser
grande demais. Observe que a
ltima raiz direita mltipla e
seria perdida
independentemente do
comprimento do incremento.

f (x)

x0

x1

x2

x3

x4

x5

x6

MTODOS INTERVALARES

114

PROBLEMAS
Determine as razes reais de f (x)  0,5x2  2,5x  4,5:
Graficamente.
Usando a frmula quadrtica.
Usando trs iteraes do mtodo da bisseco para determinar
a maior raiz. Use as aproximaes iniciais xl = 5 e xu = 10.
Calcule o erro estimado a e o erro verdadeiro t depois de
cada iterao.
5.2 Determine a raiz real de f(x) = 5x 3 5x 2 + 6x 2:
(a) Graficamente.
(b) Usando o mtodo da bisseco para localizar a raiz. Use as
aproximaes iniciais xl = 0 e xu = 1 e itere at que o erro estimado a fique abaixo de um nvel 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 mtodo da bisseco para determinar a raiz at
s = 10%. Use as aproximaes iniciais xl  0,5 e xu  1,0.
(c) Faa os mesmos clculos que em (b) mas use o mtodo da falsa
posio e s = 0,2 %.
5.4 (a) Determine as razes de f(x) = 12 21x + 18x 2
2,75x 3 graficamente. Alm disso, determine a primeira raiz da
funo pela (b) bisseco e (c) falsa posio. Para (b) e (c), use as
aproximaes iniciais xl = 1 e xu = 0 e um critrio de parada
de 1%.
5.5 Localize a primeira raiz no-trivial de sen x = x 3 , onde x est
em radianos. Use uma tcnica grfica e a bisseco com o intervalo
inicial de 0,5 a 1. Faa os clculos at que a seja menor do que
s = 2%. Faa tambm uma verificao do erro substituindo sua
resposta final na equao original.
5.6 Determine a raiz real positiva de ln (x 4 ) = 0,7 (a) graficamente, (b) usando trs iteraes do mtodo da bisseco, com
aproximaes iniciais xl = 0,5 e xu = 2, e (c) usando trs iteraes
do mtodo da falsa posio, com as mesmas aproximaes iniciais
que em (b).
5.7 Determine a raiz real de f (x) = (0,8 0,3x)/x :
(a) Analiticamente.
(b) Graficamente.
(c) Usando trs iteraes do mtodo da falsa posio e aproximaes iniciais 1 e 3. Calcule o erro aproximado a e o erro
verdadeiro t depois de cada iterao. H algum problema com
o resultado?
5.8 Encontre a raiz quadrada positiva de 18 usando o mtodo da
falsa posio at s = 0,5%. Use aproximaes iniciais xl = 4 e
xu = 5.
 
5.9 Encontre a menor raiz positiva da funo x 2 cos x  = 5 (x
est em radianos) usando o mtodo da falsa posio. Para localizar
a regio na qual esto as razes, inicialmente trace a funo para
valores de x entre 0 e 5. Faa os clculos at que a fique abaixo de
s = 1%. Verifique sua resposta final substituindo-a na funo
original.
5.10 Encontre a raiz real positiva de f(x) = x 4 8x 3 35x 2 +
450x 1001 usando o mtodo da falsa posio. Use aproximaes
iniciais xl = 4,5 e xu = 6 e faa cinco iteraes. Calcule os erros
verdadeiro e aproximado baseado no fato de que a raiz 5,60979.
Use um grfico para explicar seus resultados e faa os clculos at
s = 1,0%.
5.11 Determine a raiz real de x 3,5 = 80 : (a) analiticamente e (b)
pelo mtodo da falsa posio at s = 2,5%. Use aproximaes 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 bisseco para determinar o mximo dessa funo. Use
aproximaes iniciais xl = 0 e xu = 1 e faa iteraes at que o
erro relativo aproximado fique abaixo de 5%.
5.13 A velocidade v do pra-quedista em queda livre dada por

gm 
v=
1 e(c/m)t
c
onde g = 9,8 m/s2 . Para um pra-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 mtodo da falsa posio para determinar m at o nvel de s = 0,1%.
5.14 Uma viga est sob carga como mostrado na Figura P5.14. Use
o mtodo da bisseco para determinar a posio dentro da viga
onde no existe nenhum torque.
100 lb/ps

100 lb

Figura P5.14
5.15 gua est escoando em um canal trapezoidal a uma vazo de
Q = 20 m3/s. A profundidade crtica y para tal canal deve satisfazer
a equao
0=1

Q2
B
g A3c

onde g = 9,81 m/s2, Ac a rea da seo transversal (m2), e B a


largura do canal na superfcie (m). Para esse caso, a largura e a rea
transversal podem ser relacionadas profundidade y por
B =3+y

Ac = 3y +

y2
2

Encontre a profundidade crtica usando (a) o mtodo grfico, (b) a


bisseco e (c) a falsa posio. Para (b) e (c), use aproximaes iniciais de xl = 0,5 e xu = 2,5, e itere at que o erro aproximado
fique abaixo de 1% ou que o nmero de iteraes ultrapasse 10.
Discuta seus resultados.
5.16 Voc est projetando um tanque esfrico (Figura P5.16) para
armazenar a gua para uma pequena vila em uma regio em desenvolvimento. O volume de lquido 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 trs iteraes do mtodo da falsa
posio para determinar sua resposta. Determine o erro relativo
aproximado depois de cada iterao.

Figura P5.16
5.17 O coeficiente de saturao do oxignio dissolvido em gua
fresca pode ser calculado pela equao (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 concentrao de saturao do oxignio 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 equao, a saturao diminui com o aumento da
temperatura. Para guas naturais tpicas em climas temperados, a
equao pode ser usada para determinar a variao da concentrao de oxignio de 14,621 mg/L a 0o C at 6,413 mg/L a 40o C.
Dado um valor da concentrao de oxignio, essa frmula e o
mtodo da bisseco podem ser usados para determinar a temperatura em o C.

(a) Se as aproximaes iniciais forem tomadas como 0 e 40o C,


quantas iteraes da bisseco seriam necessrias para determinar a temperatura at um erro absoluto de 0,05o C?
(b) Desenvolva e teste um programa de bisseco para determinar
T como uma funo de uma dada concentrao de oxignio at
um erro absoluto pr-especificado como em (a). Dadas as
aproximaes 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 bisseco completo, amigvel ao usurio. Entre outras
coisas:
(a) Coloque comentrios de documentao em todo o subprograma
para identificar o que foi planejado para cada seo realizar.
(b) Identifique a entrada e a sada.
(c) Acrescente uma verificao da resposta que substitua a estimativa da raiz na funo original para verificar se o resultado final
est prximo de zero.
(d) Teste o subprograma repetindo os clculos dos Exemplos 5.3 e 5.4.
5.19 Desenvolva um subprograma para o mtodo da bisseco
que minimize clculos de funes, baseado no pseudocdigo da
Figura 5.11. Determine o nmero de clculos de funes (n) para
cada total de iteraes. Teste o programa repetindo o Exemplo 5.6.
5.20 Desenvolva um programa amigvel ao usurio para o mtodo
da falsa posio. A estrutura de seu programa deve ser parecida
com o algoritmo de bisseco esboado na Figura 5.10. Teste seu
programa repetindo o Exemplo 5.5.
5.21 Desenvolva um subprograma para o mtodo da falsa posio
que minimize os clculos de funes de uma forma parecida com a
da Figura 5.11. Determine o nmero de clculos de funes (n) para
cada total de iteraes. Teste o programa repetindo o Exemplo 5.6.
5.22 Desenvolva um programa amigvel ao usurio para o mtodo
da falsa posio modificado, baseado na Figura 5.15. Teste seu programa determinando a raiz da funo descrita no Exemplo 5.6. Faa
diversas execues at que o erro relativo porcentual verdadeiro
fique abaixo de 0,01%. Marque em um grfico os erros relativos
percentuais verdadeiros e aproximados em funo do nmero de iteraes em um papel semilog. Interprete os seus resultados.

CAPTULO

6
Mtodos Abertos
Nos mtodos intervalares do captulo anterior, a raiz era localizada dentro de um intervalo
prescrito por um limitante inferior e um superior. As aplicaes repetidas desses mtodos
sempre resultam em estimativas mais prximas do valor verdadeiro da raiz. Tais mtodos
so ditos convergentes porque se aproximam da verdade medida que os clculos
prosseguem (Figura 6.1a).
Em contraste, os mtodos abertos descritos neste captulo so baseados em frmulas que exigem apenas um nico valor inicial de x ou dois valores iniciais que no delimitam necessariamente a raiz. Como tal, eles algumas vezes divergem ou se afastam da
raiz verdadeira medida que os clculos prosseguem (Figura 6.1b). Entretanto, quando
os mtodos abertos convergem (Figura 6.1c), eles em geral o fazem muito mais rapidamente do que os mtodos intervalares. Iniciaremos nossa discusso das tcnicas abertas
com uma verso simples, que ser til para ilustrar sua forma geral e tambm o conceito
de convergncia.

6.1

ITERAO DE PONTO FIXO SIMPLES


Como mencionado na abertura deste captulo, os mtodos abertos usam uma frmula para
prever a raiz. Tal frmula pode ser deduzida para a iterao de ponto fixo simples (ou,
como tambm chamada, iterao de um ponto, substituies sucessivas ou aproximaes

FIGURA 6.1
Descrio grfica da diferena
fundamental entre os mtodos
(a) intervalares e (b) e (c)
abertos para a localizao de
razes. Em (a), que o mtodo
da bisseco, a raiz est
restrita ao interior do intervalo
definido por xl e xu. Em
contraste, para o mtodo
aberto descrito em (b) e (c),
usada uma frmula para
avanar de xi a xi+1 de forma
iterativa. Assim, o mtodo pode
ou (b) divergir ou (c) convergir
rapidamente, dependendo do
valor da aproximao inicial.

f (x)

f (x)

xi
xl

xu

(a)

xl

xi + 1

(b)

xu
f (x)

xl

xu
xl
xl xu

xu

xi
xi + 1

(c)
116

6.1 ITERAO DE PONTO FIXO SIMPLES

117

sucessivas) reescrevendo a equao f (x)  0 de modo que x esteja isolado no lado esquerdo da equao:
x = g(x)

(6.1)

Pode-se conseguir essa transformao ou por manipulao algbrica ou simplesmente somando x em ambos os lados da equao 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 Equao (6.1) somando x a ambos os
lados para obter
x = sen x + x
A utilidade da Equao (6.1) que ela fornece uma frmula para prever um novo
valor de x em funo de um velho valor de x. Portanto, dada uma aproximao inicial para
a raiz xi, a Equao (6.1) pode ser usada para calcular uma nova estimativa xi1 expressa
pela frmula iterativa
xi+1 = g(xi )

(6.2)

Como com as outras frmulas iterativas deste livro, o erro aproximado para essa equao
pode ser determinado usando-se o estimador de erro [Equao (3.5)]:


 xi+1 xi 
100%
a = 
xi+1 
EXEMPLO 6.1

Iterao de Ponto Fixo Simples


Enunciado do Problema. Use a iterao de ponto fixo simples para localizar a raiz de
f (x)  ex  x.
Soluo.
como

A funo pode ser separada diretamente e expressa na forma da Equao (6.2)

xi+1 = exi
Comeando com uma aproximao inicial x0  0, essa equao 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 iterao traz o valor estimado para mais perto do valor verdadeiro:
0,56714329.

MTODOS ABERTOS

118

6.1.1 Convergncia
Observe que o erro relativo porcentual verdadeiro para cada iterao do Exemplo 6.1
aproximadamente proporcional (por um fator de cerca de 0,5 a 0,6) ao erro da iterao anterior. Essa propriedade, chamada de convergncia linear, caracterstica da iterao de
ponto fixo.
Alm de comentarmos sobre a taxa de convergncia, nesse ponto devemos comentar sobre a possibilidade de convergncia. Os conceitos de convergncia e divergncia podem ser descritos graficamente. Lembre-se de que na Seo 5.1 traamos o
grfico de uma funo para visualizar sua estrutura e seu comportamento (Exemplo 5.1).
Tal abordagem usada na Figura 6.2a para a funo f (x)  ex  x. Uma abordagem grfica alternativa separar a equao em duas componentes, como em
f 1 (x) = f 2 (x)
Ento, as duas equaes
y1 = f 1 (x)

(6.3)

y2 = f 2 (x)

(6.4)

podem ser traadas separadamente (Figura 6.2b). Os valores de x correspondentes s interseces dessas funes representam as razes de f (x)  0.
EXEMPLO 6.2

O Mtodo Grfico das Duas Curvas


Enunciado do Problema. Separe a equao ex  x = 0 em duas partes e determine
suas razes graficamente.
Soluo. Reformule a equao como y1  x e y2  ex. Os seguintes valores podem ser
calculados:
FIGURA 6.2
Dois mtodos grficos
alternativos para determinar as
razes de f (x) = ex x. (a)
Raiz em um ponto onde o
grfico cruza o eixo x; (b) raiz
na interseco das funes
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 ITERAO 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 esto marcados na Figura 6.2b. A interseco 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 mtodo das duas curvas pode agora ser usado para ilustrar a convergncia e a divergncia da iterao de ponto fixo. Primeiro, a Equao (6.1) pode ser reescrita como um
par de equaes y1  x e y2 = g(x). Essas duas equaes podem ento ser traadas separadamente. Como era o caso com as Equaes (6.3) e (6.4), as razes de f (x)  0 correspondem aos valores da abscissa na interseco das duas curvas. A funo y1  x e quatro
formas diferentes para y2 g(x) so mostradas na Figura 6.3.
No primeiro caso (Figura 6.3a), a aproximao 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 so equivalentes
primeira iterao no mtodo do ponto fixo:
x1 = g(x0 )
Portanto, em ambas as equaes e no grfico, um valor inicial x0 usado para se obter
uma estimativa de x1. A prxima iterao consiste em se movimentar para [x1, g(x1)] e
ento para (x2, x2). Essa iterao equivalente equao
x2 = g(x1 )
FIGURA 6.3
Descrio grfica da
convergncia (a) e (b) e
divergncia (c) e (d) da
iterao de ponto fixo simples.
Os grficos (a) e (c) so
chamados padres montonos,
enquanto (b) e (d) so
chamados padres oscilantes
ou espirais. Observe que a
convergncia ocorre quando
g(x)  1.

y
y1 = x

y1 = x
y2 = g(x)

y2 = g(x)

x2 x1

x0

x0

(a)

(b)

y
y2 = g(x)

y2 = g(x)
y1 = x
y1 = x

x0

(c)

x0

(d)

MTODOS ABERTOS

120

Quadro 6.1

Convergncia da Iterao de Ponto Fixo

Do estudo da Figura 6.3, deveria estar claro que a iterao de ponto


fixo converge se, na regio de interesse, |g  (x)| < 1. Em outras
palavras, a convergncia ocorre se o mdulo da inclinao de g(x)
for menor do que a inclinao da reta f(x)  x. Essa observao
pode ser demonstrada teoricamente. Lembre-se de que a equao
iterativa

g(xr ) g(xi ) = (xr xi )g  ( )


onde est em algum lugar entre xi e xr. Esse resultado ento pode
ser substitudo na Equao (Q6.1.1) para fornecer

xi +1 = g(xi )

xr xi +1 = (xr xi )g  ( )

Suponha que a soluo verdadeira seja

(Q6.1.3)

Se o erro verdadeiro para a i-sima iterao for definido por

xr = g(xr )

E t ,i = xr xi

Subtraindo essas equaes obtm-se:

ento a Equao (B6.1.3) torna-se

xr xi +1 = g(xr ) g(xi )

(Q6.1.1)

O teorema do valor mdio para derivadas (lembre-se da Seo


4.1.1) afirma que, se a funo g(x) e sua primeira derivada forem
contnuas sobre um intervalo a x b, ento existe pelo menos
um valor de x = dentro do intervalo tal que
g  ( ) =

um ponto entre a e b que tem uma inclinao, 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 Equao
(Q6.1.1) pode ser expresso como

g(b) g(a)
ba

(Q6.1.2)

O lado direito dessa equao a inclinao da reta ligando g(a) e


g(b). Logo, o teorema do valor mdio afirma que existe pelo menos

E t ,i +1 = g  ( )E t ,i
Conseqentemente, se |g  (x)| < 1, os erros diminuem a cada
iterao. Para |g  (x)| > 1, o erro cresce. Observe tambm que, se a
derivada for positiva, os erros sero positivos e, portanto, a soluo
iterativa ser montona (Figura 6.3a e c). Se a derivada for negativa, os erros oscilaro (Figura 6.3b e d).
Um desdobramento da anlise que ela tambm demonstra
que, quando o mtodo converge, o erro aproximadamente proporcional e inferior ao erro no passo anterior. Por essa razo, a iterao de ponto fixo simples dita linearmente convergente.

A soluo na Figura 6.3a convergente porque as estimativas de x se aproximam da raiz


a cada iterao. O mesmo verdade para a Figura 6.3b. Entretanto, esse no o caso para
as Figuras 6.3c e d, nas quais as iteraes divergem da raiz. Observe que a convergncia
parece ocorrer apenas quando o valor absoluto da inclinao de y2  g(x) menor do que
a inclinao de y1  x, isto , quando |g  (x)| < 1. O Quadro 6.1 fornece uma deduo
terica desse resultado.
6.1.2 Algoritmo para a Iterao de Ponto Fixo
O algoritmo computacional para a iterao de ponto fixo extremamente simples, e consiste em um lao para calcular iterativamente novas estimativas at que o critrio de
parada seja satisfeito. A Figura 6.4 apresenta um pseudocdigo para o algoritmo. Outros

FIGURA 6.4
Pseudocdigo para a iterao
de ponto fixo. Observe que
outros mtodos 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 MTODO DE NEWTON-RAPHSON

121

f (x)
Inclinao = f ' (x i)
f (x i)

f (x i) 0

FIGURA 6.5
Descrio grfica do mtodo
de Newton-Raphson. A
tangente funo em xi [isto ,
f(xi)] prolongada at o eixo
x para fornecer uma estimativa
da raiz em xi+1.

xi+1

xi

xi xi+1

mtodos podem ser programados de forma parecida, sendo a principal mudana a troca da
frmula iterativa que usada para calcular a nova estimativa da raiz.

6.2

O MTODO DE NEWTON-RAPHSON
Talvez a frmula mais amplamente usada para localizar uma raiz seja a equao de Newton-Raphson (Figura 6.5). Se a aproximao 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 mtodo de Newton-Raphson pode ser deduzido com base em sua interpretao
geomtrica (um mtodo alternativo baseado na srie de Taylor descrito no Quadro 6.2).
Como na Figura 6.5, a primeira derivada em x equivalente inclinao:
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 frmula de Newton-Raphson.

EXEMPLO 6.3

Mtodo de Newton-Raphson
Enunciado do Problema. Use o mtodo de Newton-Raphson para fazer uma estimativa
da raiz de f (x)  ex  x, utilizando uma aproximao inicial x0  0.
Soluo.

A primeira derivada da funo pode ser calculada como

f (x) = ex 1
que pode ser substituda junto com a funo original na Equao (6.6) para dar
xi+1 = xi

exi xi
exi 1

MTODOS ABERTOS

122

Comeando com uma aproximao inicial de x0 = 0, essa equao 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
< 108

Assim, a aproximao converge rapidamente para a raiz verdadeira. Observe que o erro
relativo porcentual verdadeiro em cada iterao diminui muito mais rapidamente do que
no mtodo da iterao de ponto fixo simples (compare com o Exemplo 6.1).

6.2.1 Critrio de Parada e Estimativas de Erro


De forma igual aos outros mtodos de localizao de razes, a Equao (3.5) pode ser
usada como critrio de parada. Alm disso, entretanto, a deduo pela srie de Taylor do
mtodo (Quadro 6.2) fornece uma viso terica da taxa de convergncia, expressa por
Ei+1 = O(E i2 ). Assim, o erro deveria ser aproximadamente proporcional ao quadrado do
erro anterior. Em outras palavras, o nmero de algarismos significativos de acurcia
aproximadamente dobra a cada iterao. Esse comportamento ser examinado no prximo exemplo.

Quadro 6.2

Deduo e Anlise de Erro do Mtodo de Newton-Raphson

Alm da deduo geomtrica [Equaes (6.5) e (6.6)], o mtodo de


Newton-Raphson pode ser deduzido a partir da expanso em srie
de Taylor. Essa deduo alternativa til, pois tambm d informao sobre a taxa de convergncia do mtodo.
Lembre-se do Captulo 4 que a expanso em srie 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 xi1. Uma verso


aproximada obtida truncando-se a srie depois do termo da
primeira derivada:

Na interseco com o eixo x, f(xi1) 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 Equao (Q6.2.2) pode ser subtrada da Equao (Q6.2.3)


fornecendo
0 = f  (xi )(xr xi +1 ) +

f  ( )
(xr xi )2
2!

(Q6.2.4)

Agora, perceba que o erro igual discrepncia entre xi1 e o valor


verdadeiro xr, como em
E t ,i +1 = xr xi +1
e a Equao (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 Equao (Q6.2.1) obtm-se

f(xi )
f  (xi )

que idntica Equao (6.6). Portanto, deduzimos a frmula de


Newton-Raphson usando a srie de Taylor.
Alm da deduo, a srie de Taylor tambm pode ser usada
para fazer uma estimativa do erro da frmula, o que se consegue
percebendo que, se a srie de Taylor completa fosse usada, seria
obtido um resultado exato. Nessa situao, xi1  xr, na qual x

0 = f  (xi )E t ,i +1 +

f  ( ) 2
E t ,i
2!

(Q6.2.5)

Se supusermos a convergncia, ambos xi e deveriam eventualmente ser aproximados pela raiz xr e a Equao (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 Equao (Q6.2.6), o erro aproximadamente


proporcional ao quadrado do erro anterior. Isso significa que o
nmero de casas decimais corretas aproximadamente dobra a cada
iterao. Tal comportamento chamado de convergncia quadrtica. O Exemplo 6.4 evidencia essa propriedade.

6.2 O MTODO DE NEWTON-RAPHSON

EXEMPLO 6.4

123

Anlise de Erro do Mtodo de Newton-Raphson


Enunciado do Problema. Como deduzido no Quadro 6.2, o mtodo 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 frmula e veja se ela se aplica aos resultados do Exemplo 6.3.
Soluo.

A primeira derivada de f (x)  ex  x

f  (x) = ex 1
o que pode ser calculado em xr  0,56714329 como f (0,56714329)  1,56714329. A
segunda derivada
f  (x) = ex
o que pode ser calculado como f
(0,56714329)  0,56714329. Esses resultados podem
ser substitudos na equao (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 substitudo na
equao do erro para prever
E t,1
= 0,18095(0,56714329)2 = 0,0582
o que est prximo do erro verdadeiro de 0,6714329. Para a prxima iterao,
E t,2
= 0,18095(0,06714329)2 = 0,0008158
o que tambm se compara favoravelmente com o erro verdadeiro de 0,0008323. Para a
terceira iterao,
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 so mais bem aproximados por xr [lembre-se de
nossa hiptese ao passarmos da Equao (Q6.2.5) para a Equao (Q6.2.6) no Quadro
6.2]. Finalmente,
E t,4
= 0,18095(0,000000125)2 = 2,83 1015
Logo, esse exemplo ilustra que o erro no mtodo de Newton-Raphson para esse caso , de
fato, aproximadamente proporcional (por um fator de 0,18095) ao quadrado do erro da
iterao anterior.

6.2.2 Armadilhas do Mtodo de Newton-Raphson


Embora o mtodo de Newton-Raphson seja em geral muito eficiente, h situaes nas
quais ele tem um desempenho insatisfatrio. Um caso especial razes mltiplas ser
examinado adiante neste captulo. Entretanto, mesmo quando tratando com razes simples, podem aparecer dificuldades, como no prximo exemplo.

EXEMPLO 6.5

Exemplo de uma Funo que Converge Lentamente com Newton-Raphson


Enunciado do Problema. Determine a raiz positiva de f (x)  x10  1 usando o mtodo
de Newton-Raphson e uma aproximao inicial x  0,5.

124

MTODOS ABERTOS

Soluo.

A frmula de Newton-Raphson para esse caso

xi+1 = xi

xi10 1
10xi9

a qual pode ser usada para calcular


Iterao
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 previso fraca, a tcnica est convergindo para a raiz verdadeira
de 1, mas a uma taxa muito lenta.
Alm da convergncia lenta em razo da natureza da funo, 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 inflexo [isto , f  (x) = 0] na vizinhana de uma raiz. Observe que as iteraes comeando em x0 se afastam progressivamente da raiz. A Figura
6.6b ilustra a tendncia da tcnica de Newton-Raphson em oscilar em torno de uma
posio de mximo ou de mnimo. Tais oscilaes podem persistir, ou, como na Figura
6.6b, atingida uma inclinao prxima a zero, em que a soluo mandada para longe da
rea de interesse. A Figura 6.6c mostra como uma aproximao inicial que esteja prxima
de uma raiz pode pular para uma posio longe por diversas razes. Essa tendncia de se
afastar da rea de interesse se d porque foram encontradas inclinaes prximas de zero.
Obviamente, uma inclinao nula [ f  (x) = 0] , na verdade, um desastre porque provoca
diviso por zero na frmula de Newton-Raphson [Equao (6.6)]. Graficamente (ver Figura 6.6d), isso significa que a soluo dispara horizontalmente e nunca atinge o eixo x.
Logo, no existe nenhum critrio de convergncia geral para o Newton-Raphson.
Sua convergncia depende da natureza da funo e da preciso da aproximao inicial. O
nico remdio ter uma aproximao inicial que esteja suficientemente prxima da
raiz. E para algumas funes, nenhuma aproximao funcionar! Boas aproximaes dependem em geral do conhecimento das condies do problema fsico ou dos artifcios tais
como os grficos que fornecem informao sobre o comportamento da soluo. A falta de
um critrio de convergncia geral tambm sugere que um bom software de computador
deveria ser planejado para reconhecer convergncia lenta ou divergncia. A prxima
seo trata de algumas dessas questes.
6.2.3 Algoritmo para o Mtodo de Newton-Raphson
Um algoritmo para o mtodo de Newton-Raphson prontamente obtido substituindo a
Equao (6.6) na frmula de predio [Equao (6.2)] na Figura 6.4. Observe, contudo,
que o programa tambm deve ser modificado para calcular a primeira derivada, o que se
pode conseguir simplesmente pela incluso de uma funo definida pelo usurio.
Alm disso, com base na discusso anterior dos problemas em potencial do mtodo
de Newton-Raphson, o programa seria melhorado pela incorporao de diversas caractersticas adicionais:
1.
2.

Uma rotina de grficos deveria ser includa no programa.


No final dos clculos, a estimativa final da raiz deveria sempre ser substituda na
funo original para calcular se o resultado est prximo a zero. Essa verificao nos
resguarda parcialmente daqueles casos nos quais a convergncia oscilante ou lenta
pode levar a valores pequenos de a enquanto a soluo ainda est longe da raiz.

6.3 O MTODO DA SECANTE

125

f (x)

x1

x2

x0

(a)
f (x)

x0 x2 x4

x3

x1

(b)
f (x)
x2

x1
x0

(c)
f (x)

x0

x1

(d)
FIGURA 6.6
Quatro casos nos quais o mtodo de Newton-Raphson exibe convergncia insatisfatria.

3.

4.

6.3

O programa deveria sempre incluir um limite superior no nmero de iteraes para


se prevenir de solues oscilantes, lentamente convergentes ou divergentes que
poderiam persistir interminavelmente.
O programa deveria alertar o usurio e levar em conta a possibilidade de que f  (x)
possa ser igual a zero a qualquer instante durante os clculos.

O MTODO DA SECANTE
Um problema em potencial na implementao do mtodo de Newton-Raphson o clculo
da derivada. Embora isso no seja inconveniente para polinmios e muitas outras
funes, h certas funes cujas derivadas podem ser extremamente difceis ou inconvenientes para calcular. Nesses casos, a derivada pode ser aproximada por uma diferena dividida regressiva, como em (Figura 6.7)
f(xi1 ) f(xi )
f  (xi )
=
xi1 xi

MTODOS ABERTOS

126

f (x )
f (x i )

f (x i 1)

xi 1

xi

FIGURA 6.7
Descrio grfica do mtodo da secante. Essa tcnica parecida com a tcnica de NewtonRaphson (Figura 6.5) no sentido que uma estimativa da raiz prevista extrapolando-se uma
tangente da funo at o eixo x. Entretanto, o mtodo da secante usa uma diferena em vez
de uma derivada para fazer uma estimativa da inclinao.

Essa aproximao pode ser substituda na Equao (6.6) para fornecer a seguinte equao
iterativa:
xi+1 = xi

f(xi )(xi1 xi )
f(xi1 ) f(xi )

(6.7)

A Equao (6.7) a frmula do mtodo da secante. Observe que a abordagem exige duas
estimativas iniciais de x. Mas, como no exigido que f (x) mude de sinal entre as estimativas, ele no classificado como um mtodo intervalar.
EXEMPLO 6.6

O Mtodo da Secante
Enunciado do Problema. Use o mtodo da secante para fazer uma estimativa da raiz
de f (x)  ex x. Comece com as estimativas iniciais de x1  0 e x0  1,0.
Soluo.

Lembre-se de que a raiz verdadeira 0,56714329....

Primeira iterao:
x1 = 0

f(x1 ) = 1,00000

x0 = 1

f(x0 ) = 0,63212

0,63212(0 1)
x1 = 1
= 0,61270
1 (0,63212)

t = 8,0%

Segunda iterao:
x0 = 1
x1 = 0,61270

f(x0 ) = 0,63212
f(x1 ) = 0,07081

(Observe que ambas as estimativas esto 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 MTODO DA SECANTE

127

Terceira iterao:
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 Diferena entre os Mtodos da Secante e da Falsa Posio


Observe a semelhana entre o mtodo da secante e o mtodo da falsa posio. Por exemplo,
as Equaes (6.7) e (5.7) so idnticas em uma comparao termo a termo. Ambos usam duas
estimativas iniciais para calcular uma aproximao da inclinao da funo que utilizada
para projetar para o eixo x para uma nova estimativa da raiz. Entretanto, uma diferena crtica
entre os mtodos como um dos valores iniciais substitudo pela nova estimativa. Lembrese de que no mtodo da falsa posio a ltima estimativa da raiz substitui qualquer um dos
valores iniciais que fornea o valor da funo com o mesmo sinal que f (xr). Conseqentemente, as duas estimativas sempre delimitam a raiz. Portanto, para todos os propsitos prticos, o mtodo sempre converge porque a raiz mantida dentro do intervalo. Em contraste, o
mtodo da secante substitui os valores em seqncia estrita, com o novo valor xi1 substituindo xi e xi substituindo xi1. Para certos casos, isso pode levar divergncia.
EXEMPLO 6.7

Comparao da Convergncia das Tcnicas da Secante e da Falsa Posio


Enunciado do Problema. Use os mtodos da falsa posio e da secante para fazer uma
estimativa da raiz de f (x)  ln x. Comece os clculos com os valores xl  xi1  0,5 e
xu  xi  5,0.
FIGURA 6.8
Comparao dos mtodos da falsa posio e da secante. As primeiras iteraes (a) e (b)
para ambas as tcnicas so iguais. Entretanto, na segunda iterao (c) e (d), os pontos
usados so diferentes. Como conseqncia, o mtodo da secante pode divergir, como
indicado em (d).
Falsa posio
f (x)

Secante

f (x u )

f (x)

f (x i )

xr

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

f (x l )

(c)

(d)

MTODOS ABERTOS

Soluo. No mtodo da falsa posio, o uso da Equao (5.7) e o critrio de delimitao para substituir as estimativas resultam nas seguintes iteraes:
Iterao

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 esto convergindo para a raiz verdadeira, que igual a 1.
Para o mtodo da secante, usar a Equao (6.7) e o critrio seqencial para substituir
as estimativas resulta em
Iterao

xi1

xi

1
2

0,5
5,0

5,0
1,8546

xi1
1,8546
0,10438

Como na Figura 6.8d, a abordagem divergente.

Embora o mtodo da secante possa ser divergente, quando ele converge, usualmente
o faz a uma taxa mais rpida do que o mtodo da falsa posio. Por exemplo, a Figura 6.9
ilustra a superioridade do mtodo da secante com relao a isso. A inferioridade do
FIGURA 6.9
Comparao dos erros relativos percentuais verdadeiros t para os mtodos para determinar
razes de f (x) = ex x.

10

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
Iteraes

6.3 O MTODO DA SECANTE

129

mtodo da falsa posio resulta de uma extremidade permanecer fixa para continuar a delimitar a raiz. Essa propriedade, que vantajosa do ponto de vista de impedir a divergncia,
uma desvantagem com relao taxa de convergncia; torna a estimativa por diferena
finita uma aproximao menos acurada da derivada.
6.3.2 Algoritmo para o Mtodo da Secante
Como com os outros mtodos abertos, um algoritmo para o mtodo da secante obtido
modificando-se a Figura 6.4 de modo que as duas aproximaes iniciais sejam entradas e
usando-se a Equao (6.7) para calcular a raiz. Alm disso, as opes sugeridas na Seo
6.2.3 para o mtodo de Newton-Raphson tambm podem ser aplicadas com bastante vantagem ao programa da secante.
6.3.3 Mtodo da Secante Modificado
Em vez de usar dois valores arbitrrios para fazer uma estimativa da derivada, uma abordagem alternativa envolve uma pequena perturbao da varivel independente para fazer
uma estimativa de f (x),
f(xi + xi ) f(xi )
f (xi )
=
xi
onde uma pequena frao de perturbao. Essa aproximao pode ser substituda na
Equao (6.6) para fornecer a seguinte equao iterativa:
xi+1 = xi

EXEMPLO 6.8

xi f(xi )
f(xi + xi ) f(xi )

(6.8)

Mtodo da Secante Modificado


Enunciado do Problema. Use o mtodo da secante modificado para fazer uma estimativa da raiz de f (x)  ex  x. Use um valor de 0,01 para e comece com x0 1,0.
Lembre-se de que a raiz verdadeira 0,56714329. . . .
Soluo.
Primeira iterao:
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 iterao:
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 iterao:
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 105 %

A escolha de um valor adequado para no automtica. Se for muito pequeno, o


mtodo pode ser sobrecarregado de erros de arredondamento causados pelo cancelamento

MTODOS ABERTOS

130

da subtrao no denominador da Equao (6.8). Se for grande demais, a tcnica pode


tornar-se ineficiente e mesmo divergente. Entretanto, se escolhido corretamente, ele
fornece uma boa alternativa para os casos nos quais o clculo da derivada difcil e encontrar duas aproximaes iniciais inconveniente.

6.4

RAZES MLTIPLAS
Uma raiz mltipla corresponde a um ponto onde a funo 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 equao tem uma raiz dupla
porque um valor de x torna dois termos na Equao (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 funo toca o eixo, mas no o cruza.
Uma raiz tripla corresponde ao caso no qual um valor de x anula trs termos em uma
equao, como em
f(x) = (x 3)(x 1)(x 1)(x 1)
f (x)
4

Raiz
dupla

0
1

ou, multiplicando os termos, f (x)  x4  6x3 12x2  10x  3. Observe que a descrio
grfica (Figura 6.10b) indica novamente que a funo tangente ao eixo na raiz, mas
que, nesse caso, o eixo cruzado. Em geral, razes com multiplicidade mpar cruzam o
eixo, enquanto as pares no. Por exemplo, a raiz qudrupla na Figura 6.10c no cruza
o eixo.
As razes mltiplas causam algumas dificuldades para muitos dos mtodos numricos descritos na Parte Dois:
1.

(a)
f (x)
4

Raiz
tripla

2.

0
1

(b)
f (x)
4

Raiz
qudrupla

3.

0
1

(c)

FIGURA 6.10
Exemplos de razes mltiplas
que so tangentes ao eixo x.
Observe que a funo no
cruza o eixo em cada lado das
razes de multiplicidade par (a)
e (c), enquanto cruza o eixo
nos casos mpares (b).

O fato de a funo no mudar de sinal em razes de multiplicidade par impede o uso


dos mtodos intervalares confiveis, que foram discutidos no Captulo 5. Portanto,
dos mtodos descritos neste livro, voc est limitado aos mtodos abertos, que
podem divergir.
Um outro problema possvel est relacionado ao fato de que no s f (x) mas tambm
f  (x) vai a zero na raiz. Isso introduz problemas tanto no mtodo de Newton-Raphson quanto no da secante, j que ambos contm a derivada (ou sua estimativa) no denominador de suas respectivas frmulas, o que pode resultar na diviso por zero
quando a soluo converge para muito prximo 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 verificao do zero for includa no programa de computador, os clculos podem
ser parados antes de f  (x) atingir zero.
possvel demonstrar que os mtodos de Newton-Raphson e da secante so linearmente em vez de quadraticamente convergentes para razes mltiplas (Ralston
e Rabinowitz, 1978). Foram propostas modificaes para diminuir esse problema.
Ralston e Rabinowitz (1978) indicaram que uma pequena mudana na formulao
restaura sua convergncia quadrtica, 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 insatisfatria, porque
depende do conhecimento prvio da multiplicidade da raiz.
Uma outra alternativa, tambm sugerida por Ralston e Rabinowitz (1978), definir
uma nova funo u(x), isto , o quociente da funo por sua derivada, como em
u(x) =

f(x)
f  (x)

(6.10)

6.4 RAZES MLTIPLAS

131

possvel mostrar que essa funo tem razes em todas as mesmas posies que a funo
original. Portanto, a Equao (6.10) pode ser substituda na Equao (6.6) para deduzir
uma forma alternativa para o mtodo de Newton-Raphson:
xi+1 = xi

u(xi )
u  (xi )

(6.11)

A equao (6.10) pode ser derivada para fornecer


f  (x) f  (x) f(x) f  (x)
[ f  (x)]2

u  (x) =

(6.12)

As Equaes (6.10) e (6.12) podem ser substitudas na Equao (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)

Mtodo de Newton-Raphson Modificado para Razes Mltiplas


Enunciado do Problema. Use os mtodos padro e modificado de Newton-Raphson
para calcular a raiz mltipla da Equao (6.9), com aproximao inicial x0  0.
Soluo. A primeira derivada da Equao (6.9) f  (x) = 3x 2 10x + 7, e, portanto,
o mtodo padro de Newton-Raphson para esse problema [Equao (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 mtodo converge linearmente para o valor verdadeiro de 1,0.


Para o mtodo modificado, a segunda derivada f  (x) = 6x 10 e a relao iterativa [Equao (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 frmula modificada quadraticamente convergente. Pode-se tambm usar


ambos os mtodos para procurar a raiz simples em x  3. Usando uma aproximao inicial de x0  4, obtm-se os seguintes resultados:

MTODOS ABERTOS

132

Padro

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 107

4
2,636364
2,820225
2,961728
2,998479
2,999998

t (%)
33
12
6,0
1,3
0,051
7,7 105

Portanto, ambos os mtodos convergem rapidamente, com o mtodo padro sendo um


pouco mais eficiente.
Esse exemplo ilustra os prs e contras envolvidos na escolha do mtodo modificado
de Newton-Raphson. Embora ele seja prefervel para razes mltiplas, um pouco menos
eficiente e exige mais esforo computacional do que o mtodo padro para razes simples.
Deve ser observado que uma verso modificada do mtodo da secante adequado
para razes mltiplas tambm pode ser deduzida substituindo-se a Equao (6.10) na
Equao (6.7). A frmula resultante (Ralston e Rabinowitz, 1978)
u(xi )(xi1 xi )
xi+1 = xi
u(xi1 ) u(xi )

6.5

SISTEMAS DE EQUAES NO-LINEARES


At este ponto, concentramo-nos na determinao das razes de uma nica equao. Um
problema relacionado a localizao das razes de um conjunto de equaes simultneas,
f 1 (x1 , x2 , . . . , xn ) = 0
f 2 (x1 , x2 , . . . , xn ) = 0
.
.
.
.
.
.
f n (x1 , x2 , . . . , xn ) = 0

(6.14)

A soluo desse sistema consiste em um conjunto de valores de x que resultam


simultaneamente em igualar todas as equaes a zero.
Na Parte Trs, sero apresentados mtodos para o caso em que todas as equaes
simultneas so lineares isto , elas podem ser expressas na forma geral
f(x) = a1 x1 + a2 x2 + + an xn b = 0

(6.15)

na qual o bs e os as so constantes. Equaes algbricas e transcendentais que no se


ajustam a essa forma so chamadas equaes no-lineares. Por exemplo,
x 2 + x y = 10
e
y + 3x y 2 = 57
so duas equaes no-lineares simultneas com duas incgnitas, x e y. Elas podem ser
expressas na forma da Equao (6.14) como
u(x, y) = x 2 + x y 10 = 0

(6.16a)

v(x, y) = y + 3x y 2 57 = 0

(6.16b)

Portanto, a soluo seriam os valores de x e y que fizessem as funes u(x, y) e v(x, y)


iguais a zero. Em sua maioria, as abordagens para determinar tais solues so extenses
dos mtodos abertos para a resoluo de uma nica equao. Nesta seo, vamos investigar dois deles: iterao de ponto fixo e Newton-Raphson.

6.5 SISTEMAS DE EQUAES NO-LINEARES

133

6.5.1 Iterao de Ponto Fixo


A abordagem por iterao de ponto fixo (Seo 6.1) pode ser modificada para resolver duas equaes no-lineares simultneas. Essa abordagem ser ilustrada no
seguinte exemplo.
EXEMPLO 6.10

Iterao de Ponto Fixo para um Sistema No-Linear


Enunciado do Problema. Use a iterao de ponto fixo para determinar as razes da
Equao (6.16). Observe que um par correto de razes x  2 e y  3. Inicie os clculos
com as aproximaes x  1,5 e y  3,5.
Soluo.

A Equao (6.16a) pode ser reescrita como

xi+1 =

10 xi2
yi

(E6.10.1)

e a Equao (6.16b) pode ser resolvida por


yi+1 = 57 3xi yi2

(E6.10.2)

Observe que os subscritos sero omitidos no restante do exemplo.


Com base nas aproximaes iniciais, a Equao (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 substitudos na Equao (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 iterao:
10 (2,21429)2
= 0,20910
24,37516
y = 57 3(0,20910)(24,37516)2 = 429,709

x=

Obviamente, o mtodo est deteriorando.


Agora, vamos repetir os clculos, mas com as equaes originais escritas em uma
forma diferente. Por exemplo, uma formulao alternativa para a Equao (6.16a)

x = 10 x y
e para a Equao (6.16b)

57 y
y=
3x
Agora os resultados so mais satisfatrios:

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
= 3,04955
y=
3(1,94053)
Logo, a abordagem est convergindo para os valores verdadeiros de x  2 e y  3.

134

MTODOS ABERTOS

O exemplo anterior ilustra a desvantagem mais grave da iterao de ponto fixo


isto , a convergncia freqentemente depende da maneira como as equaes so formuladas. Adicionalmente, mesmo nos casos em que a convergncia possvel, a divergncia
pode ocorrer se as aproximaes iniciais no estiverem suficientemente prximas da
soluo verdadeira. Usando um raciocnio anlogo ao do Quadro 6.1, pode ser demonstrado que condies suficientes para a convergncia no caso de duas equaes so
   
 u   u 
 + <1
x   y 
e

   
 v   v 
 + <1
x  y 

Esses critrios so to restritivos que a iterao de ponto fixo tem utilidade limitada na
soluo de sistemas no-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 mtodo de Newton-Raphson era baseado no uso da derivada (isto ,
da inclinao) de uma funo para fazer uma estimativa de sua interseco com o eixo das
variveis independentes ou seja, a raiz (Figura 6.5). Essa estimativa era baseada na expanso em srie de Taylor (lembre-se do Quadro 6.2),
f(xi+1 ) = f(xi ) + (xi+1 xi ) f  (xi )

(6.17)

onde xi a aproximao inicial da raiz e xi1 o ponto no qual a tangente intercepta o eixo
x. Nessa interseco, f (xi1) por definio igual a zero e a Equao (6.17) pode ser
reorganizada para fornecer
xi+1 = xi

f(xi )
f  (xi )

(6.18)

que a forma para uma nica equao do mtodo de Newton-Raphson.


A forma para vrias equaes deduzida de maneira idntica. Entretanto, uma srie
de Taylor para diversas variveis deve ser usada para representar o fato de que mais de
uma varivel independente contribui para a determinao da raiz. Para o caso de duas variveis, a srie de Taylor de primeira ordem pode ser escrita [lembre-se da Equao
(4.26)] para cada equao no-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 verso para uma nica equao, a estimativa da raiz
corresponde aos valores de x e y nos quais u i+1 e vi+1 so iguais a zero. Para tal situao,
a Equao (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 so conhecidos (eles correspondem ltima


aproximao), as nicas incgnitas so xi+1 e yi+1. Portanto, a Equao (6.20) um conjunto de duas equaes lineares com duas incgnitas [compare com a Equao (6.15)].

6.5 SISTEMAS DE EQUAES NO-LINEARES

135

Conseqentemente, manipulaes algbricas (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 equaes chamado formalmente de determinante da


matriz Jacobiana do sistema.
A Equao (6.21) a verso para duas equaes do mtodo de Newton-Raphson.
Como no exemplo a seguir, ele pode ser usado iterativamente para aproximar as razes de
duas equaes simultneas.
EXEMPLO 6.11

Newton-Raphson para um Sistema No-linear


Enunciado do Problema. Use o mtodo de Newton-Raphson para equaes mltiplas
para determinar as razes da Equao (6.16). Observe que o par correto de razes x  2
e y  3. Inicie os clculos com a aproximao x  1,5 e y  3,5.
Soluo. Determine primeiro as derivadas parciais e calcule-as nas aproximaes 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 iterao


6,5(32,5) 1,5(36,75) = 156,125
Os valores das funes podem ser calculados nas aproximaes 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 substitudos na Equao (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 esto convergindo para os valores verdadeiros x  2 e y  3.
O clculo pode ser repetido at que uma acurcia aceitvel seja obtida.
x = 1,5

Da mesma forma como na iterao de ponto fixo, a abordagem de Newton-Raphson


ir com freqncia divergir se as aproximaes iniciais no estiverem suficientemente
prximas das razes verdadeiras. Enquanto os mtodos grficos podiam ser usados para
se encontrar boas aproximaes para o caso de uma nica equao, nenhum procedimento simples est disponvel para a verso com diversas equaes. Embora existam
algumas abordagens avanadas para se obter primeiras estimativas aceitveis, em geral as
aproximaes iniciais precisam ser obtidas com base na tentativa e erro e no conhecimento do sistema fsico que est sendo modelado.

MTODOS ABERTOS

136

A abordagem de Newton-Raphson para duas equaes pode ser generalizada para


resolver n equaes simultneas. J que a forma mais eficiente para fazer isso envolve a
lgebra de matrizes e a resoluo de equaes lineares simultneas, vamos adiar nossa
discusso da abordagem geral at a Parte Trs.

PROBLEMAS
6.1 Use a iterao
de ponto fixo simples para localizar a raiz de

f (x)  2 sen( x)  x
Use a aproximao 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 mtodo da iterao de ponto fixo (trs iteraes, x0  3).
Observao: certifique-se de desenvolver uma soluo que
convirja para a raiz.
(c) Pelo mtodo de Newton-Raphson (trs iteraes, x0  3).
(d) Pelo mtodo da secante (trs iteraes, x1  3, x0  4).
(e) Pelo mtodo da secante modificado (trs iteraes, x0  3,
 0,01).
Calcule os erros relativos percentuais aproximados para suas
solues.
6.3 Use (a) a iterao de ponto fixo e (b) o mtodo de NewtonRaphson para determinar a raiz de f(x) = x 2 + 1,8x + 2,5
usando x0 = 5. Faa os clculos at que a seja menor do que
s = 0,05%. Faa tambm uma verificao do erro na sua resposta
final.
6.4 Determine as razes reais de f (x)  1  5,5x  4x2  0,5x3:
(a) graficamente e (b) usando o mtodo de Newton-Raphson at
s = 0,01%.
6.5 Use o mtodo de Newton-Raphson para determinar uma raiz
real de f (x)  1  5,5x  4x2  0,5x3 usando aproximaes iniciais (a) 4,52 e (b) 4,54. Discuta e use mtodos grficos e analticos
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 mtodo da secante para um
valor de s correspondente a trs 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 iteraes do mtodo da secante
com aproximaes iniciais (a) xi1  1,0 e xi  3,0; (b) xi1  1,5
e xi  2,5, e (c) xi1  1,5 e xi  2,25 para localizar a raiz. (d) Use
o mtodo grfico para explicar seus resultados.
6.8 Determine a raiz real de x3,5  80, com o mtodo da secante
modificado at s  0,1% usando uma aproximao 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 mtodo de Newton-Raphson (trs iteraes,
xi  3,5).
(c) Usando o mtodo da secante (trs iteraes, xi1  2,5 e
xi  3,5).
(d) Usando o mtodo da secante modificado (trs iteraes,
xi  3,5 e  0,01).
6.10 Determine a menor raiz real de f (x)  8 sen(x)ex  1:
(a) Graficamente.
(b) Usando o mtodo de Newton-Raphson (trs iteraes, xi  0,3).
(c) Usando o mtodo da secante (trs iteraes, xi1  0,5 e xi  0,4).

(d) Usando o mtodo da secante modificado (cinco iteraes,


xi  0,3 e  0,01).
6.11 A funo x3  2x2  4x  8 tem uma raiz dupla em x  2.
Use (a) Newton-Raphson padro [Equao (6.6)], (b) NewtonRaphson modificado [Equao (6.9a)] e (c) Newton-Raphson modificado [Equao (6.13)] para determinar a raiz em x  2. Compare e discuta a taxa de convergncia usando uma aproximao
inicial de x0  1,2.
6.12 Determine as razes das seguintes equaes no-lineares simultneas usando (a) iterao de ponto fixo e (b) o mtodo de
Newton-Raphson:
y = x 2 + x + 0,75
y + 5x y = x 2
Use aproximaes iniciais x  y  1,2 e discuta os resultados.
6.13 Determine as razes das equaes no-lineares simultneas
(x 4)2 + (y 4)2 = 5
x 2 + y 2 = 16
Use uma abordagem grfica para obter suas aproximaes iniciais. Determine estimativas refinadas com o mtodo de NewtonRaphson para duas equaes descrito na Seo 6.5.2.
6.14 Repita o Problema 6.13, agora para
y = x2 + 1
y = 2 cos x
6.15 Um balano 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 parmetros V  1 106m3, Q  1 105 m3/ano,


W  1 106 g/ano e k  0,25 m0,5/g0,5/ano, use o mtodo da secante
modificado para determinar a concentrao estacionria. Use uma
aproximao inicial de c  4 g/m3 e  0,5. Faa trs iteraes e determine o erro porcentual relativo depois da terceira iterao.
6.16 Para o Problema 6.15, a raiz pode ser localizada com a iterao de ponto fixo por


W Qc 2
c=
kV
ou por
c=

W kV c
Q

Apenas um caso convergir para aproximaes iniciais 2  c  6.


Escolha o correto e mostre por que ele sempre funcionar.
6.17 Desenvolva um programa amigvel ao usurio para o mtodo
de Newton-Raphson baseado na Figura 6.4 e na Seo 6.2.3. Testeo repetindo os clculos do Exemplo 6.3.
6.18 Desenvolva um programa amigvel ao usurio para o mtodo
da secante baseado na Figura 6.4 e na Seo 6.2.3. Teste-o
repetindo os clculos do Exemplo 6.6.
6.19 Desenvolva um programa amigvel ao usurio para o mtodo
da secante modificado baseado na Figura 6.4 e na Seo 6.2.3.
Teste-o repetindo os clculos do Exemplo 6.8.

PROBLEMAS
6.20 Desenvolva um programa amigvel ao usurio para o mtodo
de Newton-Raphson para duas equaes baseado na Seo 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 tolerncia de
s  0,01%.
6.22 O mtodo diviso e mdia, um mtodo antigo para aproximar a raiz quadrada de qualquer nmero positivo a, pode ser formulado como
x=

137
mento. O volume de lquido 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 mtodo de Newton-Raphson funo f (x) 
tgh (x2  9) para calcular sua raiz real conhecida em x  3. Use
uma aproximao inicial x0  3,1 e faa um mnimo de quatro iteraes. (b) O mtodo convergiu para sua raiz real? Esboce o grfico, com os resultados para cada iterao identificados.
6.24 O polinmio f (x)  0,0074x4  0,284x3  3,355x2 
12,183x  5 tem uma raiz real entre 15 e 20. Aplique o mtodo de
Newton-Raphson a essa funo usando uma aproximao inicial x0
 16,15. Explique seus resultados.
6.25 Use o mtodo da secante na funo do crculo (x  1)2 
(y  2)2  16 para encontrar uma raiz positiva. Tome sua aproximao inicial como xi  3 e xi1  0,5. Aproxime-se da soluo 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 soluo diverge?
6.26 Voc est projetando um tanque esfrico (Figura P6.26) para
armazenar gua para uma pequena vila em um pas em desenvolvi-

Figura P6.26
Se R  3 m, at qual profundidade o tanque deve ser enchido para
que armazene 30 m3? Use trs iteraes do mtodo de NewtonRaphson para determinar sua resposta. Determine o erro relativo
aproximado depois de cada iterao. Observe que uma aproximao inicial R ser sempre convergente.

CAPTULO

7
Razes de Polinmios
Neste captulo, sero discutidos mtodos para encontrar as razes de equaes polinomiais da forma geral
f n (x) = a0 + a1 x + a2 x 2 + + an x n

(7.1)

onde n o grau do polinmio e os as so coeficientes constantes. Embora os coeficientes


possam ser nmeros complexos, a discusso se limitar aos casos em que eles so reais.
Para tais casos, as razes podem ser reais e/ou complexas.
As razes de tais polinmios seguem estas regras:
1.
2.
3.

Para uma equao de grau n, existem n razes reais ou complexas. Deve-se observar
que essas razes no sero necessariamente distintas.
Se n for mpar, existe pelo menos uma raiz real.
Se existirem razes
complexas, elas existem em pares conjugados (isto , + i e

i) onde i = 1.

Antes de descrever as tcnicas para localizar as razes dos polinmios, sero fornecidos
alguns fundamentos. A primeira seo oferece alguma motivao para o estudo das tcnicas; a segunda trata de algumas manipulaes computacionais fundamentais envolvendo
polinmios.

7.1

POLINMIOS NA ENGENHARIA E NA CINCIA


Os polinmios tm muitas aplicaes na engenharia e na cincia. Por exemplo, eles so
usados amplamente no ajuste de curvas. Entretanto, uma de suas aplicaes mais interessantes e poderosas na caracterizao de sistemas dinmicos e, em particular, dos sistemas lineares. Os exemplos incluem aparelhos mecnicos, estruturas e circuitos eltricos. Sero explorados exemplos especficos por todo o resto deste texto.
Por agora, ser mantida a discusso simples e geral focalizando em um sistema
de segunda ordem simples definido pela seguinte equao diferencial ordinria linear
(ou EDO):
d2 y
dy
+ a1
+ a0 y = F(t)
(7.2)
dt 2
dt
onde y e t so as variveis dependente e independente, respectivamente, os as so coeficientes constantes e F(t) um termo forante. Se entender como essa equao deduzida
a partir de um sistema fsico ajudar a motivar seu estudo de matemtica, voc poderia ler
atentamente o incio da Seo 8.4 antes de continuar.
Alm disso, deve-se observar que a Equao (7.2) pode ser alternativamente expressa como um par de EDOs de primeira ordem definindo uma nova varivel z,
dy
z=
(7.3)
dt
A Equao (7.3) pode ser substituda junto com sua derivada na Equao (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 POLINMIOS NA ENGENHARIA E NA CINCIA

139

dy
=z
dt

(7.5)

De forma anloga, uma EDO linear de ordem n pode sempre ser expressa como um sistema de n EDOs de primeira ordem.
Agora, a soluo ser considerada. O termo forante representa o efeito do mundo
externo no sistema. A soluo homognea ou soluo geral da equao trata do caso no
qual o termo forante igualada a zero,
a2

d2 y
dy
+ a1
+ a0 y = 0
dt 2
dt

(7.6)

Logo, como o nome sugere, a soluo geral de todos os sistemas lineares com termo
forante nulo diz algo muito fundamental sobre o sistema que est sendo simulado isto
, como o sistema responde na ausncia de estmulos externos.
Agora, a soluo geral de todos os sistemas lineares homogneos da forma y = ert.
Se essa funo for derivada e substituda na Equao (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 polinmio chamado de equao caracterstica. As


razes desse polinmio so os valores de r que satisfazem a Equao (7.7). Esses rs so
chamados de valores caractersticos do sistema, ou autovalores.
Logo, aqui est a conexo entre razes de polinmios e engenharia e cincia. O autovalor diz algo fundamental sobre o sistema que se est modelando e encontrar os autovalores envolve encontrar as razes de polinmios. E, enquanto encontrar as razes de uma
equao de segundo grau fcil usando a frmula quadrtica, encontrar razes de sistemas de ordem superior (e, portanto, de polinmios de grau mais alto) difcil (ou impossvel) analiticamente. Logo, a melhor abordagem geral exige mtodos numricos do
tipo descrito neste captulo.

FIGURA 7.1
A soluo geral das EDOs lineares pode ser composta de componentes (a) exponenciais
e (b) senoidais. A combinao das duas formas resulta na funo senoidal amortecida
mostrada em (c).

(a)

(b)

(c)

RAZES DE POLINMIOS

140

Antes de prosseguir para esses mtodos, preciso avanar um pouco mais na anlise
investigando o que valores especficos de autovalores podem implicar no comportamento
de sistemas fsicos. Inicialmente, calculam-se as razes da Equao (7.7) com a frmula
quadrtica,


a12 4a2 a0
a
1
r1
=
r2
a0
Portanto, obtm-se duas razes. Se o discriminante (a12 4a2a0) for positivo, as razes so
reais e a soluo geral pode ser representada por
y = c1 er1 t + c2 er2 t

(7.8)

onde os cs so onstantes que podem ser determinadas a partir das condies iniciais. Esse
o chamado caso superamortecido.
Se o discriminante for nulo, resulta uma nica raiz real e a soluo geral pode ser formulada como
y = (c1 + c2 t)et

(7.9)

Esse o chamado caso criticamente amortecido.


Se o discriminante for negativo, as razes sero nmeros complexos conjugados,
r1
= i
r2
e a soluo geral pode ser formulada como
y = c1 e(+i)t + c2 e(i)t
O comportamento fsico dessa soluo pode ser elucidada usando-se a frmula de Euler
eit = cos t + i sen t
para reformular a soluo geral como (ver Boyce e DiPrima, 1992, para detalhes da deduo)
y = c1 et cos t + c2 et sen t

(7.10)

Esse chamado o caso subamortecido.


As Equaes (7.8), (7.9) e (7.10) expressam as possveis maneiras de sistemas lineares responderem dinamicamente. Os termos exponenciais significam que as solues
podem decair (parte real negativa) ou crescer (parte real positiva) exponencialmente com
o tempo (Figura 7.1a). Os termos senoidais (parte imaginria) significam que a soluo
pode oscilar (Figura 7.1b). Se o autovalor tiver tanto parte real quanto imaginria, as formas exponencial e senoidal so combinadas (Figura 7.1c). Como tal conhecimento um
elemento-chave no entendimento, no projeto e no controle do comportamento de um sistema fsico, os polinmios caractersticos so muito importantes na engenharia e em
muitos ramos da cincia. Ser explorada a dinmica de diversos sistemas em engenharia
nas aplicaes cobertas no Captulo 8.

7.2

CLCULOS COMPUTACIONAIS COM POLINMIOS


Antes de se descrever os mtodos de localizao de razes, sero abordadas algumas
operaes computacionais fundamentais envolvendo polinmios. Elas tm utilidade por
si s, alm de fornecerem suporte na procura das razes.
7.2.1 Clculo e Derivao de Polinmios
Embora seja a forma mais comum, a Equao (7.1) fornece mtodos insatisfatrios para
determinar o valor de um polinmio em um valor de x particular. Por exemplo, calcular
um polinmio de terceiro grau como

7.2 CLCULOS COMPUTACIONAIS COM POLINMIOS

f 3 (x) = a3 x 3 + a2 x 2 + a1 x + a0

141
(7.11)

envolve seis multiplicaes e trs adies. Em geral, para um polinmio de grau n, essa
abordagem exige n(n + 1)/2 multiplicaes e n adies.
Em contraste, uma forma estruturada,
f 3 (x) = ((a3 x + a2 )x + a1 )x + a0

(7.12)

envolve trs multiplicaes e trs adies. Para um polinmio de grau n, essa abordagem
exige n multiplicaes e n adies. Como a forma estruturada minimiza o nmero de operaes, tende a minimizar os erros de arredondamento. Observe que, dependendo de sua
preferncia, a ordem da estrutura pode ser invertida:
f 3 (x) = a0 + x(a1 + x(a2 + xa3 ))

(7.13)

Um pseudocdigo 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 polinmio (definido por seus coeficientes, os as) calculado
em x.
H casos (como no mtodo de Newton-Raphson) em que se pode querer calcular
tanto a funo quanto sua derivada. Esse clculo tambm pode ser naturalmente includo
adicionando-se uma nica linha ao pseudocdigo anterior,
D0FOR j  n, 0, 1
df  df * xp
p  p * xa(j)
END DO

onde df guarda o valor da primeira derivada do polinmio.


7.2.2 Deflao Polinomial
Suponha que voc tenha determinado uma nica raiz de um polinmio de grau n. Se repetir seu procedimento para a localizao de razes, voc poder encontrar a mesma raiz.
Portanto, seria bom remover a raiz encontrada antes de continuar. Esse processo de remoo chamado de deflao polinomial.
Antes de mostrar como isso feito, alguma orientao poderia ser til. Os polinmios
so tipicamente representados na forma da Equao (7.1). Por exemplo, um polinmio 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 no necessariamente a melhor expresso para
entender o comportamento matemtico do polinmio. Por exemplo, o polinmio 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 polinmio. Se fossem completadas as multiplicaes e os termos semelhantes fossem agrupados, seria obtida a Equao (7.14). Entretanto, a forma da Equao (7.15) tem a vantagem de indicar claramente as razes da
funo. Portanto, claro que x = 1, 4, 5, 3 e 2 so todas razes porque cada uma faz
com que um termo individual na Equao (7.15) se anule.

RAZES DE POLINMIOS

142

Agora, suponha que esse polinmio de grau cinco seja dividido por qualquer um de
seus fatores, por exemplo, x + 3. Nesse caso, o resultado ser um polinmio 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 polinmios usando uma
abordagem chamada diviso sinttica1. Diversos algoritmos de computador (baseados
tanto na diviso sinttica quanto em outros mtodos) esto disponveis para fazer a operao. Um esquema simples fornecido pelo seguinte pseudocdigo, que divide um
polinmio de grau n por um fator do tipo monmio 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 monmio corresponder a uma raiz do polinmio, o resto r ser nulo e os coeficientes


do quociente estaro armazenados em a no final do lao.
EXEMPLO 7.1

Deflao Polinomial
Enunciado do Problema. Divida o polinmio de segunda ordem
f(x) = (x 4)(x + 6) = x 2 + 2x 24
pelo fator x 4.
Soluo. Usando a abordagem delineada no pseudocdigo anterior, os parmetros so
n = 2, a0 = 24, a1 = 2, a2 = 1 e t = 4, que podem ser usados para calcular
r = a2 = 1
a2 = 0
O lao ento 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.
Tambm possvel dividir por polinmios de grau mais alto. Como veremos mais
adiante neste captulo, a tarefa mais comum envolve a diviso por um polinmio de grau
dois ou uma parbola. A sub-rotina na Figura 7.2 trata do problema mais geral de dividir
um polinmio a de grau n por um polinmio d de grau m. O resultado um polinmio q
de grau n  m, com um polinmio de grau m  1 como resto.
Como cada raiz calculada conhecida apenas aproximadamente, deve ser observado
que a deflao sensvel 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 MTODOS 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 polinmio a (definido por seus coeficientes) por um polinmio d de
grau menor.

Algumas estratgias gerais podem ser aplicadas para minimizar esse problema. Por
exemplo, o erro de arredondamento afetado pela ordem na qual os termos so calculados. A deflao progressiva se refere ao caso no qual os coeficientes dos novos
polinmios esto em ordem de potncias decrescente de x (isto , do que tem maior grau
para o termo de grau zero). Nesse caso, prefervel dividir pelas razes de menor valor
absoluto primeiro. Reciprocamente, para a deflao regressiva (isto , do que tem
grau zero para o termo de maior grau), prefervel dividir pelas razes de maior valor
absoluto primeiro.
Uma outra forma de reduzir os erros de arredondamento considerar cada estimativa sucessiva da raiz obtida durante a deflao como uma boa primeira aproximao.
Esses arredondamentos podem ser usados como aproximaes iniciais, e as razes determinadas novamente com o polinmio original no-deflacionado. Isso chamado
polimento da raiz.
Finalmente, aparece um problema quando duas razes deflacionadas so suficientemente inacuradas para que ambas convirjam para uma mesma raiz no-deflacionada.
Nesse caso, algum pode ser levado erroneamente a acreditar que o polinmio tenha uma
raiz mltipla (lembre-se da Seo 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

MTODOS CONVENCIONAIS
Agora que cobrimos algum material fundamental sobre polinmios, podemos comear
a descrever os mtodos para localizar suas razes. O primeiro passo bvio seria investigar a viabilidade das abordagens intervalares e dos mtodos abertos descritos nos
Captulos 5 e 6.
A eficcia dessas abordagens depende do fato de o problema que est sendo resolvido envolver ou no razes complexas. Se houver apenas razes reais, qualquer um
dos mtodos descritos anteriormente pode ser utilizado. Entretanto, encontrar boas aproximaes iniciais complica tanto os mtodos intervalares quanto os mtodos abertos, enquanto que os mtodos abertos so suscetveis a divergncia.

RAZES DE POLINMIOS

144

Quando so possveis razes complexas, os mtodos que isolam as razes no podem


ser usados por causa do problema bvio de que o critrio para definir um intervalo que delimite a raiz (isto , onde ocorra mudana de sinal) no se estende para as aproximaes
complexas.
Dos mtodos abertos, o mtodo de Newton-Raphson tradicional forneceria uma
abordagem vivel. Em particular, pode-se desenvolver um cdigo conciso que inclua a
deflao. Se for usada uma linguagem que permita variveis complexas (como o Fortran),
tal algoritmo localizar tanto as razes reais quanto as complexas. Contudo, como se
poderia esperar, ele seria suscetvel a problemas de convergncia. Por essa razo, foram
desenvolvidos mtodos especiais para encontrar as razes reais e complexas de
polinmios. Descreveremos dois deles os mtodos de Mller e de Bairstow na prxima seo. Como voc ver, ambos esto relacionados abordagem com os mtodos
abertos mais convencionais descrita no Captulo 6.

7.4

O MTODO DE MLLER
Lembre-se de que o mtodo da secante obtm uma estimativa da raiz prolongando uma
reta por dois valores da funo at o eixo x (Figura 7.3a). O mtodo de Mller adota uma
abordagem parecida, mas prolonga uma parbola atravs de trs pontos (Figura 7.3b).
O mtodo consiste na determinao dos coeficientes da parbola que passa pelos trs
pontos. Esses coeficientes podem ento ser substitudos na frmula quadrtica para se
obter o ponto no qual a parbola intercepta o eixo x isto , a estimativa da raiz. O
mtodo se torna mais fcil escrevendo-se a equao da parbola em uma forma conveniente,
f 2 (x) = a(x x2 )2 + b(x x2 ) + c

(7.17)

Queremos que essa parbola passe por trs pontos (x0, f(x0)), (x1, f(x1)) e (x2, f(x2)). Os
coeficientes da Equao (7.17) podem ser calculados substituindo cada um dos trs 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 funo para sermos concisos. Como temos trs
equaes, possvel resolver para determinar os trs coeficientes desconhecidos a, b e c.

FIGURA 7.3
Uma comparao de duas
abordagens relacionadas
para localizar razes: (a) o
mtodo da secante e
(b) o mtodo de Mller.

f (x)

Reta
secante

f (x)

Estimativa
da raiz

Parbola

x1
Raiz

x0

x2
Raiz

(a)

x1

x0

Estimativa
da raiz

(b)

7.4 O MTODO DE MLLER

145

J que dois dos termos na Equao (7.20) so nulos, ela pode ser imediatamente resolvida, fornecendo c = f (x2). Logo, o coeficiente c simplesmente igual ao valor da
funo calculada na terceira aproximao, x2. Esse resultado pode ser substitudo nas
Equaes (7.18) e (7.19) para fornecer duas equaes com duas incgnitas:
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 ento usar manipulao algbrica para determinar os coeficientes restantes


a e b. Uma maneira de fazer isso envolve a definio de algumas diferenas,
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 substitudas nas Equaes (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

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

(7.24)

b = ah 1 + 1

(7.25)

c = f(x2 )

(7.26)

Para encontrar a raiz, aplicamos a frmula quadrtica Equao (7.17). No entanto,


por causa do possvel erro de arredondamento, em vez de usar a forma convencional, ser
usada a formulao alternativa [Equao (3.13)] para obter
x3 x2 =

2c

b b2 4ac

(7.27a)

ou, isolando a incgnita x3 no lado esquerdo da igualdade,


x3 = x2 +

2c

b b2 4ac

(7.27b)

Observe que o uso da frmula quadrtica significa que podem ser localizadas tanto razes
reais quanto complexas. Essa uma importante vantagem do mtodo.
Alm disso, a Equao (7.27a) fornece uma forma natural de determinar o erro
aproximado. Como o lado esquerdo representa a diferena 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 Equao (7.27a) que ela fornece duas razes, correspondendo ao termo no denominador. No mtodo de Mller, 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 prxima de x2.
Uma vez que x3 esteja determinada, o processo repetido. Isso traz tona a questo
de qual ponto descartar. Duas estratgias gerais so tipicamente usadas:
1.
2.

Se estiverem sendo localizadas apenas razes reais, escolhemos os dois pontos


originais que estejam mais prximos da nova estimativa da raiz, x3.
Se estiverem sendo calculadas tanto razes reais quanto complexas, usada uma
abordagem seqencial. Isto , da mesma forma que no mtodo da secante, x1, x2 e x3
tomam o lugar de x0, x1 e x2.

RAZES DE POLINMIOS

146

EXEMPLO 7.2

O Mtodo de Mller
Enunciado do Problema. Use o Mtodo de Mller com aproximaes x0, x1 e x2 dadas
por 4,5, 5,5 e 5, respectivamente, para determinar uma raiz da equao
f(x) = x 3 13x 12
Observe que as razes dessa equao so 3, 1 e 4.
Soluo.

Inicialmente, calculada a funo nas aproximaes

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 substitudos nas Equaes (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
Ento, como |62,25 + 31,54451| > |62,25 31,54451|, o sinal positivo usado no denominador da Equao (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 aproximaes so escolhidas; x0 substitudo por x1, x1
substitudo por x2, x2 substitudo por x3. Portanto, para a nova iterao,
x0 = 5,5

x1 = 5

x2 = 3,976487

e os clculos so repetidos. Os resultados, tabulados a seguir, mostram que o mtodo 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 pseudocdigo para implementar o mtodo de Mller para razes reais apresentado na Figura 7.4. Observe que essa rotina est construda de forma a usar como entrada
uma nica aproximao inicial no-nula que ento perturbada para determinar as outras
duas aproximaes. claro que o algoritmo poderia ser programado para acomodar trs
aproximaes. Para linguagens como o Fortran, o cdigo encontrar razes complexas se
as variveis adequadas forem declaradas como complexas.

7.5 O MTODO 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|  |brad| 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 Mller

FIGURA 7.4
Pseudocdigo para o mtodo de Mller.

7.5

O MTODO DE BAIRSTOW
O mtodo de Bairstow uma abordagem iterativa vagamente relacionada a ambos os
mtodos, de Mller e de Newton-Raphson. Antes de se fazer uma descrio matemtica
da tcnica, lembre-se da forma fatorada do polinmio,
f 5 (x) = (x + 1)(x 4)(x 5)(x + 3)(x 2)

(7.28)

Se dividirmos por um fator que no corresponda a uma raiz (por exemplo, x + 6), o
quociente ser um polinmio de quarto grau. Entretanto, nesse caso, resultar um resto
no-nulo.
Com base no exposto, pode-se elaborar um algoritmo para determinar uma raiz de
um polinmio: (1) escolha um valor para a raiz x = t, (2) divida o polinmio pelo fator
x t e (3) determine se existe um resto. Se no 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 desaparea e a raiz seja localizada. Depois de conseguir isso, todo o procedimento pode ser repetido para o quociente, para determinar
uma outra raiz.
O mtodo de Bairstow , de modo geral, baseado nessa abordagem. Conseqentemente,
ele depende do processo matemtico de dividir um polinmio por um fator. Da discusso
sobre deflao de polinmios (Seo 7.2.2), lembre-se de que a diviso sinttica envolve a
diviso de um polinmio por um fator x t. Por exemplo, o polinmio geral [Equao (7.1)]
f n (x) = a0 + a1 x + a2 x 2 + + an x n

(7.29)

148

RAZES DE POLINMIOS

pode ser dividido pelo fator x t para fornecer um segundo polinmio que tem um grau
a menos,
f n1 (x) = b1 + b2 x + b3 x 2 + + bn x n1

(7.30)

com um resto R = b0, onde os coeficientes podem ser calculados pela relao de recorrncia
bn = an
bi = ai + bi+1 t

para i = n 1 a 0

Observe que, se t fosse uma raiz do polinmio original, o resto b0 seria igual a zero.
Para permitir o clculo de razes complexas, o mtodo de Bairstow divide o
polinmio por um fator quadrtico x 2 rx s. Isso feito para a Equao (7.29), o resultado um novo polinmio
f n2 (x) = b2 + b3 x + + bn1 x n3 + bn x n2
com um resto
R = b1 (x r) + b0

(7.31)

Como no caso da diviso sinttica normal, uma relao de recorrncia simples pode ser
usada para fazer a diviso pelo fator quadrtico:
bn = an

(7.32a)

bn1 = an1 + rbn

(7.32b)

bi = ai + rbi+1 + sbi+2

para i = n 2 a 0

(7.32c)

O fator quadrtico introduzido para permitir a determinao de razes complexas.


Isso se relaciona ao fato de que, se os coeficientes do polinmio original forem reais, as
razes complexas ocorrem em pares conjugados. Se x 2 rx s for um divisor exato do
polinmio, as razes podem ser determinadas pela frmula quadrtica. Portanto, o mtodo
se reduz a determinar valores de r e s que tornam o fator quadrtico um divisor exato. Em
outras palavras, procuram-se os valores que tornam o termo do resto igual a zero.
Uma inspeo da Equao (7.31) leva a concluir que, para o resto ser nulo, b0 e b1
precisam ser nulos. Como pouco provvel que nossas aproximaes iniciais dos valores
de r e s levem a esse resultado, devemos determinar uma maneira sistemtica de modificar nossas aproximaes de modo que b0 e b1 se aproximem de zero. Para faz-lo, o
mtodo de Bairstow usa uma estratgia parecida com a abordagem de Newton-Raphson.
Como b0 e b1 so funes tanto de r quanto de s, podem ser expandidos usando-se uma
srie de Taylor, como em [lembre-se da Equao (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 so 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 hiptese
implcita de que r e s so suficientemente pequenos para que os termos de ordem superior sejam desprezveis. Uma outra forma de expressar essa hiptese dizer que as
aproximaes iniciais esto adequadamente prximas dos valores de r e s nas razes.
As variaes, r e s, necessrias para melhorar nossas aproximaes podem ser
estimadas igualando-se a Equao (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 MTODO DE BAIRSTOW

149

Se as derivadas parciais dos bs puderem ser determinadas, elas so um sistema de duas


equaes que podem ser resolvidas simultaneamente para as duas incgnitas, r e s.
Bairstow mostrou que as derivadas parciais podem ser obtidas por uma diviso sinttica
dos bs de um modo anlogo maneira como os prprios bs foram determinados:
cn = bn

(7.36a)

cn1 = bn1 + rcn

(7.36b)

ci = bi + rci+1 + sci+2

para i = n 2 a 1

(7.36c)

onde b0/r = c1, b0/s = b1/r = c2, e b1/s = c3. Portanto, as derivadas parciais
so obtidas por uma diviso sinttica dos bs. A seguir, as derivadas parciais podem ser
substitudas nas Equaes (7.34) e (7.35) junto com os bs para fornecer
c2 r + c3 s = b1
c1 r + c2 s = b0
Essas equaes podem ser resolvidas para determinar r e s, os quais, por sua vez,
podem ser usados para melhorar as aproximaes 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 carem abaixo de um critrio de parada pr-especificado s , os valores das razes podem ser determinados por

r r 2 + 4s
x=
(7.39)
2
Nesse ponto, h trs possibilidades:
1.

2.
3.

EXEMPLO 7.3

O quociente um polinmio de grau maior ou igual a trs. Nesse caso, o mtodo de


Bairstow seria aplicado ao quociente para calcular novos valores de r e s. Os valores
anteriores de r e s podem servir como aproximaes iniciais nessa aplicao.
O quociente um polinmio quadrtico. Nesse caso, as duas razes restantes poderiam ser calculadas diretamente com a Equao (7.39).
O quociente um polinmio de grau um. Nesse caso, a nica raiz restante pode ser
calculada simplesmente por
s
x =
(7.40)
r

Mtodo de Bairstow
Enunciado do Problema. Use o mtodo de Bairstow para determinar as razes do
polinmio
f 5 (x) = x 5 3,5x 4 + 2,75x 3 + 2,125x 2 3,875x + 1,25
Use aproximaes iniciais r = s = 1 e itere at o nvel de s = 1%.
Soluo.

As Equaes (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

RAZES DE POLINMIOS

Logo, as equaes simultneas para r e s que devem ser resolvidas so


4,875r + 10,75s = 10,5
16,375r 4,875s = 11,375
e cuja soluo r = 0,3558 e s = 1,1381. Portanto, nossas aproximaes 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 Equaes (7.37) e (7.38),




 0,3558 
 1,1381 

100% = 55,23%

|
=
|a,r | = 
|
a,s
 0,1381 100% = 824,1%
0,6442 
A seguir, os clculos so repetidos usando-se os valores revistos de r e s. Aplicando as
Equaes (7.32) e (7.36) obtem-se:
b5 = 1

b4 = 4,1442

b3 = 5,5578

b2 = 2,0276

b1 = 1,8013

b0 = 2,1304
c5 = 1
c4 = 4,7884

c3 = 8,7806

c2 = 8,3454

c1 = 4,7874

Portanto, preciso resolver


8,3454r + 8,7806s = 1,8013
4,7874r 8,3454s = 2,1304
e obtm-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 clculos, com o resultado de que aps quatro iteraes o mtodo
converge para os valores r = 0,5 (|a,r | = 0,063%) e s = 0,5 (|a,s | = 0,040%). A
Equao (7.39) pode ento ser usada para calcular as razes como sendo

0,5 (0,5)2 + 4(0,5)
x=
= 0,5, 1,0
2
Nesse ponto, o quociente a equao cbica
f(x) = x 3 4x 2 + 5,25x 2,5
O mtodo de Bairstow pode ser aplicado a esse polinmio usando-se os resultados do
passo anterior, r = 0,5 e s = 0,5, como aproximaes iniciais. Cinco iteraes 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 polinmio de grau um que pode ser resolvido diretamente pela Equao (7.40) para determinar a quinta raiz: 2.

Observe que o cerne do mtodo de Bairstow o clculo dos bs e dos cs usando as


Equaes (7.32) e (7.36). Um dos principais pontos fortes do mtodo a maneira concisa
como essas relaes de recorrncia podem ser programadas.
A Figura 7.5 lista um pseudocdigo para implementar o mtodo de Bairstow. O
cerne do algoritmo consiste no lao para calcular os bs e os cs. Observe tambm que
o cdigo para resolver as equaes simultneas faz uma verificao para prevenir a diviso por zero. Se esse for o caso, os valores de r e s so ligeiramente perturbados e o

7.5 O MTODO DE BAIRSTOW

151

procedimento iniciado novamente. Alm disso, o algoritmo coloca um limitante superior, definido pelo usurio, no nmero mximo de iteraes (MAXIT) e deveria ser
planejado para evitar a diviso por zero ao calcular as estimativas de erros. Finalmente,
o algoritmo necessita das aproximaes iniciais para r e s (rr e ss no cdigo). Se no
houver nenhum conhecimento prvio sobre as razes, elas podem ser igualadas a zero
no programa de chamada.

FIGURA 7.5
(a) Algoritmo para implementar o mtodo de Bairstow, junto com (b) um algoritmo para determinar as razes de um
polinmio quadrtico.
(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(drr) * 100
IF s 0 THEN ea2  ABS(dss) * 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  n2
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 Razes de um Polinmio


Quadrtico

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  r2
r2  r1
i1  SQRT(ABS(disc))2
i2  i1
END IF
END QuadRoot

RAZES DE POLINMIOS

152

7.6

OUTROS MTODOS

SOFTWARE

H outros mtodos disponveis para localizar as razes de polinmios. O mtodo de JenkinsTraub (Jenkins e Traub, 1970) usado comumente em bibliotecas de software como o
IMSL. Ele bastante complicado, e um bom ponto para comear a entend-lo encontrado em Ralston e Rabinowitz (1978).
O mtodo de Laguerre, que aproxima tanto razes reais quanto complexas e tem convergncia cbica, est entre as melhores abordagens. Uma discusso completa pode ser
encontrada em Householder (1970). Alm disso, Press et al. (1992) apresentam um bom
algoritmo para implementar esse mtodo.

7.7

LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES


As bibliotecas e os pacotes de software tm excelentes recursos para localizar razes.
Nesta seo, 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 clula. Ento construmos uma outra clula para
f(x) que obteria seu valor para o x da primeira clula. Voc pode ento variar x na clula at
que a clula de f(x) se aproxime de zero. Esse processo pode ser mais aprimorado usandose os recursos grficos do Excel para obter boas aproximaes iniciais (Figura 7.6).
Embora o Excel de fato facilite a abordagem por tentativa e erro, ele tambm tem
duas ferramentas padro que podem ser usadas na localizao de razes: Goal Seek e
Solver. Ambas as ferramentas podem ser usadas para ajustar sistematicamente as aproximaes iniciais. O Goal Seek usado explicitamente para conduzir uma equao para um
valor (no nosso caso, o zero) variando um nico parmetro.

FIGURA 7.6
Uma planilha construda para determinar a raiz de f(x) = x cos x por tentativa e erro.
O grfico usado para obter uma boa aproximao 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 funo transcendental
f(x) = x cos x

7.7 LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES

153

Soluo. Como na Figura 7.6, a chave para resolver uma nica equao com o Excel
criar uma clula para armazenar o valor em questo da funo e ento considerar o valor
dependente em uma outra clula. Uma vez que isso tenha sido feito, a opo Goal Seek
escolhida no menu de ferramentas (Tools). Nesse ponto, um quadro de dilogo ser
mostrado, pedindo-lhe para impor um valor para uma clula, por meio da mudana de
uma outra clula. Por exemplo, suponha que, como na Figura 7.6, sua aproximao foi inserida na clula A11 e o resultado de sua funo est na clula B11. O quadro de dilogo
do Goal Seek seria preenchido como

Quando a opo OK escolhida, um quadro de mensagem mostra os resultados,

As clulas na planilha tambm 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 vrias clulas simultaneamente e, (2) ao mesmo tempo em que conduz
uma clula-alvo para um valor, ela pode minimizar e maximizar seu valor. O prximo exemplo ilustra como isso pode ser usado para resolver um sistema de equaes
no-lineares.

EXEMPLO 7.5

Usando o Solver do Excel para um Sistema No-linear


Enunciado do Problema. Lembre-se de que na Seo 6.5 obtivemos a soluo do
seguinte conjunto de equaes simultneas
u(x, y) = x 2 + x y 10 = 0
v(x, y) = y + 3x y 2 57 = 0
Observe que o par correto de razes x = 2 e y = 3. Use o Solver para determinar as
razes utilizando aproximaes iniciais x = 1 e y = 3,5.
Soluo. Como mostrado a seguir, duas clulas (B1 e B2) podem ser criadas para armazenar as aproximaes para x e y. Os valores da prpria funo, u(x, y) e v(x, y), podem
ento ser inseridos em duas outras clulas (B3 e B4). Como pode ser visto, as aproximaes iniciais resultam em valores da funo que esto longe de zero.

RAZES DE POLINMIOS

SOFTWARE

154

A seguir, uma outra clula pode ser criada para armazenar uma nica varivel que reflita quo prximas de zero ambas as funes esto. Uma forma de fazer isso somar os
quadrados dos valores das funes; em seguida, o resultado armazenado na clula B6.
Se ambas as funes forem nulas, essa funo tambm deveria ser nula. Alm disso, o uso
do quadrado das funes evita a possibilidade de que ambas as funes pudessem ter o
mesmo valor no-nulo, mas com sinais opostos. Nesse caso, a clula-alvo (B6) seria zero,
mas as razes seriam incorretas.
Uma vez que a planilha seja criada, a opo Solver escolhida do menu Tools.
Nesse ponto, um quadro de dilogos ser mostrado, pedindo-lhe as informaes pertinentes. As clulas pertinentes do quadro de dilogo do Solver seriam preenchidas como

Quando a opo OK for escolhida, um quadro de dilogo ser aberto com um relatrio
sobre o sucesso da operao. No caso presente, o Solver obtm a soluo correta:

Deve-se observar que o Solver pode falhar. Seu sucesso depende (1) do condicionamento do sistema de equaes e/ou (2) da qualidade das aproximaes iniciais. Logo, a
sada bem-sucedida do exemplo anterior no garantida. Apesar disso, consideramos o
Solver suficientemente til para torn-lo uma opo possvel para obter rapidamente
razes em uma ampla variedade de aplicaes em engenharia.

7.7 LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES

155

7.7.2 MATLAB
Como resumido na Tabela 7.1, o software MATLAB capaz de localizar razes de uma
nica equao algbrica ou transcendental. Ele excelente na manipulao e determinao de razes de polinmios.
A funo fzero foi desenvolvida para localizar uma raiz de uma nica equao. Uma
representao simplificada de sua sintaxe
fzero(f,x0,options)

onde f a funo que voc est analisando, x0 a aproximao inicial, e options so os


parmetros de otimizao (estes so mudados usando-se a funo optimset). Se options
for omitido, sero usados valores padro. Observe que podem ser utilizadas uma ou duas
aproximaes. Se forem usadas duas aproximaes, suposto que elas delimitem uma
raiz. O exemplo a seguir ilustra como fzero pode ser usado.
TABELA 7.1 Funes comuns no MATLAB relacionadas com a
localizao de razes e manipulao de polinmios.

EXEMPLO 7.6

Funo

Descrio

fzero
roots
poly
polyval
polyvalm
residue
polyder
conv
deconv

Raiz de uma nica funo.


Encontra razes de polinmios.
Constri polinmios com razes especificadas.
Calcula valores de polinmios.
Calcula valores de polinmios com argumentos matriciais.
Expanso em fraes parciais (resduos).
Deriva polinmios.
Multiplica polinmios.
Divide polinmios.

Usando o MATLAB para a Localizao de Razes


Enunciado do Problema. Use a funo fzero do MATLAB para encontrar as razes de
f (x) = x 10 1
no intervalo entre xl = 0 e xu = 4. Obviamente, ocorrem duas razes, em 1 e 1. Lembre-se
de que, no Exemplo 5.6, usamos o mtodo da falsa posio com aproximaes iniciais de
0 e 1,3 para determinar a raiz positiva.
Soluo. Usando as mesmas condies iniciais do Exemplo 5.6, podemos utilizar o
MATLAB para determinar a raiz, como em
>> x0=[0 1.3];
>> x=fzero(inline('x^101'),x0)
x =
1

De modo anlogo, podemos usar as aproximaes iniciais de 1,3 e 0 para determinar


a raiz negativa,
>> x0=[1.3 0];
>> x=fzero(inline('x^101'),x0)
x =
1

Pode-se utilizar tambm uma nica aproximao. Um caso interessante seria usar
uma aproximao inicial 0,

SOFTWARE

156

RAZES DE POLINMIOS

>> x0=0;
>> x=fzero(inline('x^101'),x0)
x =
1

Assim, para essa aproximao, acontece que o algoritmo subjacente converge para a raiz
negativa.
O uso do optimset pode ser ilustrado utilizando-o para mostrar as prprias iteraes
medida que a soluo progride:
>> x0=0;
>> option=optimset('DISP','ITER');
>> x=fzero(inline('x^101'),x0,option)
Funccount
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.53132e006
1
7.41965e009
1
1.88738e014
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 estratgia usada pelo fzero quando lhe fornecida uma
nica aproximao. Inicialmente, ele procura na vizinhana da aproximao at detectar
uma mudana de sinal. Ento, usa uma combinao de bisseco e interpolao para
procurar a raiz. A interpolao envolve tanto o mtodo da secante quanto a interpolao
quadrtica inversa (lembre-se da Seo 7.4). Deve-se observar que o algoritmo fzero
muito mais complexo do que essa descrio bsica poderia indicar. Voc pode consultar
Press et al. (1992) para detalhes adicionais.

7.7 LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES

EXEMPLO 7.7

157

Usando o MATLAB para Manipular e Determinar as Razes de Polinmios


Enunciado do Problema. Investigue como o MATLAB pode ser usado para manipular e determinar as razes de polinmios. Use a seguinte equao 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 trs razes reais: 0,5, 1,0 e 2, e um par de razes complexas: 1 0.5i.
Soluo. Os polinmios so 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 ento prosseguir para manipular o polinmio. Por exemplo, possvel 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 polinmio quadrtico que tenha razes correspondentes a duas
das razes originais da Equao (E7.7.1): 0,5 e 1. Esse polinmio quadrtico
(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 ento o polinmio original por esse polinmio por meio de


>> [d,e]=deconv(a,b)

com o resultado sendo um quociente (um polinmio de grau trs d) e um resto (e),
d =
1,0000

4,0000

5,2500

2,5000

e =
0

Como o polinmio um divisor perfeito, o polinmio resto tem coeficientes nulos.


Agora, as razes do polinmio quociente podem ser determinadas por
>> roots(d)

com o resultado esperado de que as razes restantes do polinmio original (E7.7.1) so encontradas,
ans =
2,0000
1,0000 + 0,5000i
1,0000 0,5000i

SOFTWARE

158

RAZES DE POLINMIOS

Pode-se agora multiplicar d por b para reencontrar o polinmio original,


>> conv(d,b)
ans =
1,0000
3,5000

2,7500

2,1250

3,8750

1,2500

Finalmente, determinam-se todas as razes do polinmio 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 razes de equaes (Tabela 7.2). Na
discusso presente, vamo-nos concentrar na rotina ZREAL. Essa rotina localiza os zeros
reais de uma funo real usando o mtodo de Mller.
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 razes.
Categoria

Rotina

Capacidade

ZREAL

Encontra os zeros reais de uma funo real usando o


mtodo de Mller.
Encontra um zero de uma funo real que muda de
sinal em um intervalo dado.
Encontra os zeros de uma funo complexa univalorizada usando o mtodo de Mller.

Razes de uma funo

ZBREN
ZANLY

Razes de um sistema de equaes


NEQNF

NEQNJ

NEQBF

NEQBJ

Resolve um sistema de equaes no-lineares usando


um algoritmo hbrido modificado de Powell (uma variao do mtodo de Newton) e uma aproximao
do jacobiano por diferena finita.
Resolve um sistema de equaes no-lineares usando
um algoritmo hbrido modificado de Powell (uma variao do mtodo de Newton) com um jacobiano
fornecido pelo usurio.
Resolve um sistema de equaes no-lineares usando
atualizaes fatoradas da secante e uma aproximao do jacobiano por diferena finita.
Resolve um sistema de equaes no-lineares usando
atualizaes fatoradas da secante com um jacobiano
fornecido pelo usurio.

Razes de polinmios
ZPORC
ZPLRC
ZPOCC

Encontra os zeros de polinmios com coeficientes


reais com o algoritmo de Jenkins-Traub.
Encontra os zeros de polinmios com coeficientes
reais com o mtodo de Laguerre.
Encontra os zeros de polinmios com coeficientes
complexos com o algoritmo de Jenkins-Traub.

7.7 LOCALIZAO DE RAZES COM BIBLIOTECAS E PACOTES

159

onde
F  Funo definida pelo usurio, para a qual os zeros devem ser encontrados.
ERABS  Primeiro critrio de parada, termina se |f(xi)| < ERABS. (Entrada)
ERREL  Segundo critrio de parada; termina se |(xi xi1)/xi| < ERREL.
(Entrada)
EPS  Ver ETA. (Entrada)
ETA  Critrio de disperso para razes mltiplas. (Entrada)
Se o zero, xi, foi calculado e |xi xj | < EPS, onde xj um zero calculado anteriormente, o clculo reiniciado com uma nova aproximao xi + ETA.
NROOT  Nmero de razes a serem encontradas. (Entrada)
IMAX  Nmero mximo de iteraes por zero. (Entrada)
X0  Vetor de comprimento NROOT contendo as aproximaes iniciais. (Entrada)
X  Vetor de comprimento NROOT contendo os zeros calculados. (Sada)
INFO  Vetor inteiro de comprimento NROOT. (Sada)
Contm o nmero de iteraes para encontrar cada raiz.
Observe que a iterao termina quando qualquer um dos critrios de parada for
satisfeito ou quando o nmero mximo de iterao for atingido. A funo F tem a
forma geral
FUNCTION F(X)
REAL F,X
F = ...
END

em que a linha F = onde a funo da varivel 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 funo transcendental
f(x) = x cos x
Soluo. Um exemplo de um programa principal em Fortran 90 e uma funo 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.E5,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

RAZES DE POLINMIOS

160

SOFTWARE

A sada ::
Enter initial guess
0.5
root =
7.390851E01
iterations =
5

PROBLEMAS
7.1 Divida o polinmio f(x) = x 4 7,5x 3 + 14,5x 2 + 3x 20
pelo monmio x 2. verdade que x = 2 uma raiz?
7.2 Divida o polinmio f (x) = x5 5x4 + x3 6x2 7x + 10 pelo
monmio x 2.
7.3 Use o mtodo de Mller 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 mtodo de Mller ou o MATLAB para determinar as
razes 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 mtodo de Bairstow para determinar as razes 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 mtodo de
Mller. Teste-o repetindo o Exemplo 7.2.
7.7 Use o programa desenvolvido no Problema 7.6 para determinar as razes reais do Problema 7.4a. Construa um grfico ( mo
ou com o Excel ou algum outro pacote grfico) para encontrar
aproximaes iniciais adequadas.
7.8 Desenvolva um programa para implementar o mtodo de
Bairstow. Teste-o repetindo o Exemplo 7.3.
7.9 Use o programa desenvolvido no Problema 7.8 para determinar as razes das equaes no Problema 7.5.
7.10 Determine as razes 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 pra-quedista em queda livre dada por

gm 
v=
1 e(c/m)t
c
onde g = 9,8 m/s2. Para um pra-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 razes das equaes no-lineares simultneas
y = x 2 + x + 0,75
y + 5x y = x 2
Use aproximaes iniciais x = y = 1,2 e a ferramenta Solver do
Excel ou uma biblioteca ou um pacote de sua escolha.
7.13 Determine as razes das equaes no-lineares simultneas
(x 4)2 + (y 4)2 = 5
x 2 + y 2 = 16
Use uma abordagem grfica para obter suas aproximaes iniciais.
Determine estimativas refinadas com a ferramenta Solver do Excel
ou uma biblioteca ou um pacote de sua escolha.
7.14 Faa operaes no MATLAB idnticas quelas do Exemplo
7.7 ou use uma biblioteca ou um pacote de sua escolha para encontrar todas as razes do polinmio
f(x) = (x 4)(x + 2)(x 1)(x + 5)(x 7)

Observe que a funo poly pode ser usada para converter as razes
para um polinmio.
7.15 Use o MATLAB ou uma biblioteca ou um pacote de sua escolha para determinar as razes das equaes no Problema 7.5.
7.16 Desenvolva um subprograma para encontrar as razes de um
polinmio usando a rotina IMSL, o ZREAL ou uma biblioteca ou
um pacote de sua escolha. Teste-o determinando as razes das
equaes dos Problemas 7.4 e 7.5.
7.17 Um cilindro circular bidimensional colocado em um escoamento uniforme a alta velocidade. So emitidos vrtices do cilindro
a uma freqncia constante, e sensores de presso na superfcie de
trs do cilindro detectam essa freqncia calculando quo freqentemente a presso varia. Dados trs pontos, use o mtodo de Mller
para encontrar o instante no qual a presso era nula.
Tempo

0,60

0,62

0,64

Presso

20

50

60

7.18 Quando tentamos determinar a acidez de uma soluo de


hidrxido de magnsio em cido clordrico, obtemos a seguinte
equao
A(x) = x 3 + 3,5x 2 40
onde x a concentrao do on hidrnio. Encontre a concentrao
do on hidrnio para uma soluo saturada (acidez nula) usando
dois mtodos diferentes no MATLAB (por exemplo, graficamente
e usando a funo roots).
7.19 Considere o seguinte sistema com trs incgnitas a, u, e v:
u 2 2v 2 = a 2
u+v =2
a 2 2a u = 0
Determine os valores reais das incgnitas usando: (a) o Solver do
Excel e (b) um pacote de software de manipulao simblica.
7.20 Na anlise de sistemas de controle, so desenvolvidas funes
de transferncia que relacionam matematicamente a dinmica da entrada de um sistema com sua sada. Uma funo de transferncia
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 sada do sistema, N(s) a


entrada do sistema e s a transformada de Laplace complexa de
freqncia. Use uma tcnica numrica para encontrar as razes 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 so as razes do numerador e do denominador,
respectivamente.
7.21 Desenvolva uma funo M-file para a bisseco de forma
anloga Figura 5.10. Teste a funo repetindo os clculos dos
Exemplos 5.3 e 5.4.

PROBLEMAS
7.22 Desenvolva uma funo M-file para o mtodo da falsa
posio. A estrutura de sua funo deveria ser anloga ao algoritmo
da bisseco esboado na Figura 5.10. Teste o programa repetindo
o Exemplo 5.5.
7.23 Desenvolva uma funo M-file para o mtodo de NewtonRaphson com base na Figura 6.4 e na Seo 6.2.3. Alm da aproximao inicial, passe a funo e sua derivada como argumentos.
Teste a funo repetindo os clculos do Exemplo 6.3.

161
7.24 Desenvolva uma funo M-file para o mtodo da secante
baseado na Figura 6.4 e na Seo 6.3.2. Alm das duas aproximaes iniciais, passe a funo como um argumento. Teste a
funo repetindo os clculos do Exemplo 6.6.
7.25 Desenvolva uma funo M-file para o mtodo da secante
modificado baseado na Figura 6.4 e na Seo 6.3.2. Alm da
aproximao inicial e da perturbao, passe a funo como um argumento. Teste a funo repetindo os clculos do Exemplo 6.8.

CAPTULO

8
Estudo de Casos:
Razes de Equaes
O propsito deste Captulo usar os procedimentos numricos discutidos nos Captulos
5, 6 e 7 para resolver problemas reais de engenharia. As tcnicas numricas so importantes nas aplicaes prticas porque a engenharia freqentemente encontra problemas
que no podem ser abordados usando-se tcnicas analticas. Por exemplo, modelos
matemticos simples que podem ser resolvidos analiticamente nem sempre so aplicveis
quando problemas reais esto envolvidos. Logo, modelos mais complicados precisam ser
usados. Nesses casos, apropriado implementar uma soluo numrica com o computador. Em outras situaes, problemas de projeto de engenharia exigem solues para as
variveis implcitas em equaes complicadas.
Os estudos de casos a seguir so encontrados rotineiramente nos cursos de graduao
mais avanados e nos de ps-graduao. Alm disso, so representativos dos problemas
tratados profissionalmente. Tais problemas so tirados de quatro ramos importantes da engenharia: qumica, civil, eltrica e mecnica. Essas aplicaes tambm servem para ilustrar os prs e contras entre as diversas tcnicas numricas.
A primeira aplicao, tirada da engenharia qumica, fornece um exemplo excelente
de como os mtodos para localizar razes permitem usar frmulas realsticas na prtica da
engenharia. Alm disso, tambm ilustra como a eficincia da tcnica de Newton-Raphson
usada com vantagem quando um grande nmero de localizaes de razes necessrio.
Os problemas de projeto em engenharia seguintes so tirados da engenharia civil,
eltrica e mecnica. A Seo 8.2 usa tanto os mtodos intervalares quanto os mtodos
abertos para determinar a profundidade e a velocidade da gua escoando em um canal
aberto. A Seo 8.3 mostra como as razes das equaes transcendentais podem ser utilizadas no projeto de um circuito eltrico. As Sees 8.2 e 8.3 tambm ilustram como
os mtodos grficos fornecem percepo do processo de localizao de razes. Finalmente, a Seo 8.4 usa a localizao de razes de polinmios para analisar a vibrao de
um automvel.

8.1

LEIS DOS GASES IDEAIS E NO-IDEAIS


(ENGENHARIA QUMICA/BIOQUMICA)
Fundamentos. A lei dos gases ideais dada por
pV = nRT

(8.1)

onde p a presso absoluta, V o volume, n o nmero de moles, R a constante universal dos gases e T a temperatura absoluta. Embora essa equao seja amplamente
usada pelos engenheiros e cientistas, ela acurada apenas sobre um intervalo limitado de
presso e temperatura. Alm disso, a Equao (8.1) mais apropriada para alguns gases
do que para outros.
Uma equao de estado alternativa para os gases dada por


a
p + 2 (v b) = RT
(8.2)
v
conhecida como equao de van der Waals, onde v = V/n o volume molar e a e b so
constantes empricas que dependem do gs particular.
162

8.1 LEIS DOS GASES IDEAIS E NO-IDEAIS

163

Um projeto de engenharia qumica exige que se faa uma estimativa acurada do volume (v) tanto do dixido de carbono como do oxignio para diversas temperaturas diferentes e diversas combinaes de presso de modo que recipientes de armazenamento
adequados possam ser escolhidos. Tambm de interesse examinar quo bem cada gs
obedece lei dos gases ideais comparando os volumes molares calculados pelas
Equaes (8.1) e (8.2). So fornecidos os seguintes dados:
R = 0,082054 L atm/(mol K)

a = 3,592
dixido de carbono
b = 0,04267

a = 1,360
oxignio
b = 0,03183
As presses de interesse para o projeto so 1, 10 e 100 atm combinadas com temperaturas
de 300, 500 e 700 K.
Soluo. Os volumes molares para ambos os gases so 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 clculos so repetidos para todas as combinaes de temperatura e presso apresentadas na Tabela 8.1.
Os clculos do volume molar a partir da equao de van der Waals podem ser feitos
usando qualquer um dos mtodos numricos para encontrar razes de equaes discutidos
nos Captulos 5, 6 e 7, com


a
f(v) = p + 2 (v b) RT
(8.3)
v
Nesse caso, a derivada de f(v) fcil de determinar e o mtodo de Newton-Raphson
implementado de forma conveniente e eficiente. A derivada de f (v) com relao a v
dada por
f (v) = p

a
2ab
+ 3
2
v
v

(8.4)

O mtodo de Newton-Raphson descrito pela Equao (6.6):


vi+1 = vi

f(vi )
f (vi )

TABELA 8.1 Clculos do volume molar.

Temperatura,
K

Presso,
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),
Dixido de
Oxignio,
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: RAZES DE EQUAES

164

que pode ser utilizada para fazer uma estimativa da raiz. Por exemplo, usando a aproximao inicial 24,6162, o volume molar do dixido de carbono a 300 K e 1 atm calculado como sendo 24,5126 L/mol. Esse resultado foi obtido depois de apenas duas iteraes e tem um a de menos que 0,001%.
Clculos anlogos para todas as combinaes de presso e temperatura para ambos
os gases esto apresentados na Tabela 8.1. V-se que os resultados da lei dos gases ideais
so diferentes daqueles provenientes da equao de van der Waals para ambos os gases,
dependendo dos valores especficos de p e T. Alm disso, como alguns dos resultados so
significativamente diferentes, seus projetos de recipientes de armazenamento seriam bem
diferentes, dependendo de qual equao de estado fosse usada.
Nesse caso, uma equao de estado complicada foi examinada usando o mtodo de
Newton-Raphson. Os resultados diferem significativamente da lei dos gases ideais em diversos casos. Do ponto de vista prtico, o mtodo de Newton-Raphson foi apropriado
para essa aplicao, pois f (v) era fcil de calcular. Portanto, as propriedades de convergncia rpida do mtodo de Newton-Raphson puderam ser exploradas.
Alm de demonstrar seu poder para um nico clculo, o problema de projeto do qual se
est tratando tambm ilustra como o mtodo de Newton-Raphson especialmente atraente
quando so necessrios diversos clculos. Por causa da velocidade dos computadores digitais, as eficincias dos diversos mtodos numricos para a maioria das razes de equaes so
indistinguveis para um nico clculo. Mesmo uma diferena de 1 s entre a abordagem grosseira por bisseco e a eficincia do mtodo de Newton-Raphson no corresponde a uma
perda significativa de tempo quando apenas um clculo est sendo feito. Entretanto, suponha
que milhes de clculos de razes so necessrios para resolver um problema. Nesse caso, a
eficincia do mtodo pode ser um fator decisivo na escolha da tcnica.
Por exemplo, suponha que lhe tenha sido pedido para projetar um sistema de controle computadorizado automtico para um processo de produo qumica. O sistema precisa de estimativas acuradas do volume molar em uma base essencialmente contnua para
fabricar adequadamente o produto final. So instalados medidores que fornecem leituras
instantneas da presso e da temperatura. Os clculos de v devem ser obtidos para uma
variedade de gases usados no processo.
Para tais aplicaes, os mtodos intervalares, como a bisseco ou o mtodo da falsa
posio, seriam, provavelmente, muito lentos. Alm disso, as duas aproximaes iniciais
necessrias nessas abordagens tambm poderiam interpor um atraso crtico no processo.
Essas deficincias tambm so relevantes no mtodo da secante, que, de modo similar,
necessita de duas estimativas iniciais.
Em contraste, o mtodo de Newton-Raphson necessita de apenas uma aproximao
para a raiz. A lei dos gases ideais poderia ser usada para obter essa aproximao no incio
do processo. Ento, supondo que a escala de tempo seja suficientemente pequena para
que a presso e a temperatura no variem muito entre os clculos, a soluo para a raiz anterior serviria como uma boa aproximao para a prxima aplicao. Portanto, a boa
aproximao que, em geral, um pr-requisito para a convergncia do mtodo de NewtonRaphson estaria automaticamente disponvel. Todas essas consideraes favoreceriam
muito a tcnica 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 to diversas
quanto as engenharias estrutural, geotcnica, de transporte, ambiental e de recursos hdricos. As duas ltimas especialidades tratam tanto da poluio quanto do fornecimento da
gua e, portanto, fazem um extenso uso da cincia da mecnica dos fluidos.
Um problema geral est relacionado com o escoamento de gua em canais abertos
como rios e canais. A vazo, que rotineiramente medida na maioria dos principais rios e
crregos, 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 vazo seja uma quantidade til, uma outra questo se relaciona com o que
acontece quando se pe uma vazo especfica em um canal inclinado (Figura 8.1). Na realidade, acontecem duas coisas: a gua atinge uma profundidade especfica H (m) e se
move a uma velocidade especfica 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 questo geral : se for dada a vazo para um canal, como calcular a
profundidade e a velocidade?
Soluo. A relao mais fundamental entre o escoamento e a profundidade a equao
da continuidade:
Q = UAc

(8.5)

onde Ac a rea da seo transversal do canal (m2). Dependendo da forma do canal, a rea
pode ser relacionada com a profundidade por alguma relao funcional. Para o canal retangular descrito na Figura 8.1, Ac = BH. Substituindo essa relao na Equao (8.5),
obtm-se
Q = UBH

(8.6)

onde B a largura (m). Deve-se observar que a equao da continuidade deduzida a partir da conservao da massa (lembre-se da Tabela 1.1).
Agora, embora a Equao (8.6) certamente relacione os parmetros do canal, no
suficiente para responder questo. Supondo que B tenha sido especificado, h uma
equao para duas incgnitas (U e H). Portanto, necessria uma equao adicional. Para
escoamentos uniformes (significando que o escoamento no varia nem no espao nem no
tempo), o engenheiro irlands Robert Manning props a seguinte frmula semi-emprica
(apropriadamente chamada de equao de Manning)
U=

1 2/3 1/2
R S
n

(8.7)

onde n o coeficiente de rugosidade de Manning (um nmero adimensional usado para


parametrizar o atrito no canal), S a inclinao do canal (adimensional, queda em metros
por metro de comprimento) e R o raio hidrulico (m), o qual se relaciona com os
parmetros mais fundamentais por
R=

Ac
P

(8.8)

onde P o permetro molhado (m). Como o nome indica, o permetro molhado o comprimento dos lados e do fundo do canal que esto submersos. Por exemplo, para um canal
retangular, ele definido por
P = B + 2H

(8.9)

Deve-se observar que, do mesmo modo como a equao da continuidade deduzida da


conservao da massa, a equao de Manning uma expresso da conservao do momento. Em particular, ela indica como a velocidade depende da rugosidade, uma manifestao do atrito.

FIGURA 8.1
P
Ac
B
S
H

Q, U

166

ESTUDO DE CASOS: RAZES DE EQUAES

Embora o sistema de equaes no-lineares (8.6 e 8.7) possa ser resolvido simultaneamente (por exemplo, usando a abordagem multidimensional de Newton-Raphson
descrita na Seo 6.5.2), uma abordagem mais simples seria combinar essas equaes. A
Equao (8.7) pode ser substituda na Equao (8.6) para fornecer
Q=

BH 2/3 1/2
R S
n

(8.10)

Ento, o raio hidrulico, Equao (8.8), juntamente com as diversas relaes para o
canal retangular podem ser substitudos,
Q=

S 1/2 (BH )5/3


n (B + 2H )2/3

(8.11)

Portanto, a equao agora contm uma nica incgnita H juntamente com os valores
dados para Q e para os parmetros do canal (n, S e B).
Embora se tenha uma equao com uma incgnita, impossvel resolv-la explicitamente para determinar H. Entretanto, a profundidade pode ser determinada numericamente reformulando-se a equao como um problema de raiz
f(H ) =

S 1/2 (BH )5/3


Q=0
n (B + 2H )2/3

(8.12)

A Equao (8.12) pode ser resolvida prontamente com qualquer um dos mtodos
para localizao de razes descritos nos Captulos 5 e 6. Por exemplo, se Q = 5 m3/s,
B = 20 m, n = 0,03, e S = 0,0002, a equao
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 substituio na Equao (8.13) para fornecer
f(H ) = 0,471405

(20 0,7023)5/3
5 = 7,8 105
(20 + 2 0,7023)2/3

(8.14)

que est bastante prximo de zero.


A outra incgnita, a velocidade, pode agora ser determinada substituindo-se novamente na Equao (8.6),
U=

Q
5
=
= 0,356 m/s
BH
20(0,7023)

(8.15)

Portanto, tivemos sucesso em resolver as equaes, determinando a profundidade e a velocidade.


A seguir, a abordagem se aprofundar um pouco mais nos aspectos numricos desse
problema. Uma questo pertinente seria: como encontrar boas aproximaes iniciais para
o mtodo numrico? A resposta depende do tipo de mtodo.
Para os mtodos intervalares como a bisseco e a falsa posio, uma abordagem
seria determinar se possvel encontrar estimativas inferiores e superiores que sempre
delimitem uma nica raiz. Uma abordagem conservadora seria escolher zero como aproximao inferior. Ento, se for conhecida a mxima profundidade que poderia ocorrer, esse
valor servir como aproximao superior. Por exemplo, todos os rios do mundo,
exceto os maiores, tm menos de 10 m de profundidade. Portanto, pode-se escolher 0 e 10
como limitantes para H.
Se Q > 0 e H = 0, a Equao (8.12) ser sempre negativa para a aproximao inferior. Conforme H aumenta, a Equao (8.12) aumentar monotonamente e eventualmente
se tornar positiva. Portanto, as aproximaes devem delimitar uma nica raiz para a
maioria dos casos confrontados rotineiramente nos rios e crregos naturais.
Agora, uma tcnica como a bisseco encontraria a raiz de forma muito confivel.
Mas qual o preo pago? Usando-se um intervalo to grande e uma tcnica como a bisseco, o nmero de iteraes para atingir a preciso desejada poderia ser computa-

8.2 ESCOAMENTO DE CANAL ABERTO

167

cionalmente excessivo. Por exemplo, se fosse escolhida uma tolerncia de 0,001 m, a


Equao (5.5) poderia ser usada para calcular
n=

log(10/0,001)
= 13,3
log 2

Portanto, seriam necessrias 14 iteraes. Embora isso certamente no seja caro para um
nico clculo, poderia tornar-se exorbitante se fossem feitos muitos clculos como esse.
A alternativa seria estreitar o intervalo inicial (com base no conhecimento especfico do
sistema), mudar para uma tcnica intervalar mais eficiente (como a falsa posio), ou
aceitar uma preciso mais grosseira.
Uma outra forma de obter melhor eficincia seria usar um mtodo aberto como os
mtodos de Newton-Raphson ou da secante. claro que, nesses casos, a questo das
aproximaes iniciais complicada pela questo de convergncia.
Pode-se conseguir alguma intuio sobre essas questes examinando a menos eficiente das abordagens abertas a iterao de ponto fixo. Examinando a Equao (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 argumentao fsica pode ser til. Para a maioria dos
rios e crregos, a largura muito maior do que a profundidade. Portanto, a quantidade B
+ 2H no deve variar muito. De fato, ela deveria ser aproximadamente igual a B. Em
comparao, BH diretamente proporcional a H. Conseqentemente, a Equao (8.16)
deveria convergir mais rapidamente para a raiz. Isso pode ser verificado substituindo as
aproximaes H = 0 e 10 em ambas as equaes. Para a Equao (8.16), os resultados
so 0,6834 e 0,9012, que esto ambos prximos do valor verdadeiro de 0,7023. Em contraste, os resultados para a Equao (8.17) so 10 e 8,178, que esto claramente distantes da raiz.
A superioridade da Equao (8.16) ainda mais confirmada pelos grficos das componentes (lembre-se da Figura 6.3). Como na Figura 8.2, a componente g(H) da Equao
(8.16) quase horizontal. Portanto, ela no s convergir, como o far rapidamente. Em
contraste, a componente g(H) da Equao (8.17) quase vertical, implicando uma divergncia forte e rpida.

FIGURA 8.2
Grficos das componentes
para dois casos de iterao de
ponto fixo, uma que convergir
[(a), Equao (8.16)] e uma
que divergir [(b)
Equao(8.17)].

y
4

y
4

y2 = g(H)

y1 = H

y1 = H

y2 = g(H)
0

(a)

2 H

(b)

2 H

ESTUDO DE CASOS: RAZES DE EQUAES

168

H duas formas prticas de tirar vantagem de tal anlise:


1.

Na eventualidade de um mtodo aberto mais refinado ser usado, a Equao (8.16)


fornece uma maneira de obter uma excelente aproximao inicial. Por exemplo, se
H for escolhido como zero, a Equao (8.12)
se tornar
H0 =

2.

8.3

(Qn/B)3/5
S 3/10

onde H0 seria o valor inicial usado no mtodo de Newton-Raphson ou da secante.


Foi mostrado que a iterao de ponto fixo fornece uma opo vivel para esse problema particular. Por exemplo, usando uma aproximao inicial de H = 0, a
Equao (8.16) atingiria seis dgitos de preciso em quatro iteraes no caso que est
sendo examinado. Uma situao na qual a frmula de ponto fixo poderia vir a calhar
seria em uma aplicao de planilha. Isto , as planilhas so ideais para uma frmula
iterativa convergente que dependa de uma nica clula.

PROJETO DE UM CIRCUITO ELTRICO (ENGENHARIA ELTRICA)


Fundamentos. Os engenheiros eltricos geralmente usam as leis de Kirchhoff para estudar o comportamento estacionrio (que no varia com o tempo) de circuitos eltricos.
Tal comportamento estacionrio ser examinado na Seo 12.3. Um outro problema importante envolve os circuitos que so transientes por natureza e em que ocorrem variaes
temporais sbitas. Tal situao ocorre depois que a chave na Figura 8.3 for fechada. Nesse
caso, ocorrer um perodo de ajuste aps o fechamento da chave, at que um novo estado
estacionrio seja atingido. A durao desse perodo de ajustamento est intimamente ligada s propriedades de armazenamento do capacitor e do indutor. O armazenamento do
circuito ir dissipar o mdulo das oscilaes.
O fluxo de corrente atravs do resistor causa uma queda de voltagem (VR) dada por
VR = iR
onde i a corrente e R a resistncia do resistor. Quando R e i tm unidades de ohms e
ampres, respectivamente, VR tem unidades de volts.
Analogamente, um indutor resiste a variaes na corrente, de modo que a queda de
voltagem VL atravs dele
di
VL = L
dt
onde L a indutncia. Quando L e i tm 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 capacitncia. Quando a carga estiver expressa em unidades de coulombs, a
unidade de C farad.
FIGURA 8.3
Um circuito eltrico. Quando a chave fechada, a corrente sofre uma srie de oscilaes at
que um novo estado estacionrio seja atingido.
Chave
Bateria

V0

Capacitor

Resistor

Indutor

8.3 PROJETO DE UM CIRCUITO ELTRICO

169

A segunda lei de Kirchhoff afirma que a soma algbrica 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 funo do tempo
logo aps 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 equao diferencial ordinria linear de segunda ordem que pode ser resolvida
usando-se os mtodos do clculo (ver Seo 8.4). A soluo dada por

 2
1
R
t

q(t) = q0 eRt/(2L) cos


(8.19)
LC
2L
na qual t = 0, q = q0 = V0C e V0 a voltagem fornecida pela bateria. A Equao (8.19)
descreve a variao no tempo da carga no capacitor. A soluo q(t) est traada na
Figura 8.4.
Um problema de projeto tpico em engenharia eltrica poderia envolver a determinao 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 (qq0 = 0,01) em t = 0,05 s, com L = 5 H e C = 104 F.
Soluo. necessrio resolver a Equao (8.19) para determinar R, com valores conhecidos de q, q0, L e C. Entretanto, deve ser usada uma tcnica de aproximao
numrica, j que R uma varivel implcita na Equao (8.19). O mtodo da bisseco
ser usado para esse propsito. Os outros mtodos discutidos nos Captulos 5 e 6 tambm

Pndulo

FIGURA 8.5
Grfico da Equao (8.20) usada para obter aproximaes iniciais para R que cercam a raiz.

f (R)
0,0
Massa/mola

Corrente

Circuito LC

FIGURA 8.6
Trs exemplos de osciladores
harmnicos. A flecha de duas
pontas ilustra as oscilaes
para cada sistema.

0,2

0,4

0,6

Raiz  325
200

400

ESTUDO DE CASOS: RAZES DE EQUAES

170

so apropriados, embora o mtodo de Newton-Raphson possa ser considerado inconveniente pelo fato de a derivada da Equao (8.19) ser um pouco trabalhosa. Reorganizando
a Equao (8.19),

 2
1
q
R
t
f(R) = eRt/(2L) cos

LC
2L
q0
ou, usando os valores numricos dados,

f(R) = e0,005R cos[ 2000 0,01R 2 (0,05)] 0,01

(8.20)

O exame dessa equao sugere que um intervalo inicial razovel para R de 0 a 400 
(pois 2000 0.01R2 deve ser maior que zero). A Figura 8.5, um grfico da Equao
(8.20), confirma isso. Vinte e uma iteraes do mtodo da bisseco do R = 328,1515 ,
com um erro de menos que 0,0001%.
Portanto, pode-se especificar um resistor com essa resistncia para o circuito
mostrado na Figura 8.6 e esperar atingir um comportamento de dissipao consistente
com as exigncias do problema. Esse problema de projeto no poderia ser resolvido eficientemente sem o uso dos mtodos numricos dos Captulos 5 e 6.

8.4

ANLISE DE VIBRAO
(ENGENHARIA MECNICA/AEROESPACIAL)
Fundamentos. As equaes diferenciais so freqentemente usadas para modelar a vibrao de sistemas em engenharia. Alguns exemplos (Figura 8.6) so um pndulo simples, uma massa em uma mola e um circuito eltrico indutncia-capacitncia (lembre-se
da Seo 8.3). A vibrao desses sistemas pode ser amortecida por algum mecanismo que
absorva energia. Alm disso, a vibrao pode ser livre ou sujeita a alguma perturbao
peridica externa. No ltimo caso, o movimento dito forado. Nesta seo, sero examinadas as vibraes livres e foradas do automvel mostrado na Figura 8.7. A abordagem geral aplicvel a vrios outros problemas de engenharia.
Como mostrado na Figura 8.7, um carro de massa m apoiado por molas e amortecedores. Os amortecedores oferecem uma resistncia ao movimento que proporcional
velocidade vertical (movimento para baixo e para cima). As vibraes livres ocorrem
quando o carro perturbado do equilbrio, como depois de passar por um buraco. Em
qualquer instante depois de atingir o buraco, as foras resultantes agindo em m so a resistncia das molas e a fora de amortecimento dos amortecedores. Essas foras tendem
a fazer com que o carro volte ao seu estado de equilbrio original. De acordo com a lei de
Hooke, a resistncia da mola proporcional constante da mola k e distncia da posio
de equilbrio, x. Portanto,
Fora da mola = kx

FIGURA 8.7
Um carro de massa m.

Amortecedor
Mola
+x
m

8.4 ANLISE DE VIBRAO

171

onde o sinal de menos indica que a fora restauradora age na direo de restaurar a
posio de equilbrio do carro (isto , na direo negativa de x). A fora de amortecimento
do amortecedor dada por
Fora de amortecimento = c

dx
dt

onde c o coeficiente de amortecimento e dxdt a velocidade vertical. O sinal negativo


indica que a fora de amortecimento age na direo oposta da velocidade.
As equaes de movimento para o sistema so dadas pela segunda lei de Newton
(F = ma), a qual para esse problema expressa por
d2x
m

2

dt
 
Massa

acelerao

dx
c
dt 

=
=

fora de amortecimento

(kx)
 

fora da mola

ou
m

d2x
dx
+c
+ kx = 0
2
dt
dt

Observe a similaridade com a Equao (8.18) que foi deduzida na Seo 8.3 para um circuito eltrico.
Supondo que a soluo tenha a forma x(t) = ert, pode-se escrever a equao
caracterstica
mr 2 + cr + k = 0

(8.21)

A incgnita, r, a soluo da equao caracterstica quadrtica que pode ser obtida


tanto analtica quanto numericamente. Em problemas de projetos, primeiro se usa a
soluo analtica para obter uma viso geral da maneira pela qual o movimento do sistema afetado pelos coeficientes do modelo m, k e c. Tambm se usam vrios mtodos numricos para obter solues e verificar a acurcia dos resultados utilizando a
soluo analtica. Finalmente, prepara-se o terreno para problemas mais complexos que
sero descritos mais tarde no texto, para os quais os resultados analticos so difceis ou
impossveis de obter.
A soluo da Equao (8.21) para r dada pela frmula quadrtica

c c2 4mk
r1
=
(8.22)
r2
2m

Observe o significado do mdulo de c comparado com 2 km. Se c > 2 km, r1 e r2


so nmeros reais negativos e a soluo da forma
x(t) = Aer1 t + Ber2 t

(8.23)

onde A e B so constantes a serem determinadas a partir das condies iniciais para x e


dxdt. Tais sistemas
so chamados superamortecidos.

Se c < 2 km, as razes so complexas,


r1
= i
r2
onde


|c2 4mk|
=
2m

e a soluo da forma
x(t) = et (A cos t + B sen t)
Tais sistemas so chamados de subamortecidos.

(8.24)

172

ESTUDO DE CASOS: RAZES DE EQUAES

Finalmente, se c = 2 km, a equao caracterstica tem uma raiz dupla e a soluo


a da forma
x(t) = (A + Bt)et

(8.25)

onde
=

c
2m

Tais sistemas so chamados de criticamente amortecidos.


Em todos os trs casos, x (t) tende a zero quando t tende a infinito. Isso significa que
o carro sempre volta sua posio de equilbrio depois de passar pelo buraco (embora
isso possa parecer pouco provvel em algumas cidades que visitamos!). Esses casos esto
ilustrados na Figura 8.8.
O coeficiente de amortecimento crtico cc o valor de c que torna o radical na
Equao (8.22) igual a zero,

cc = 2 km
ou
cc = 2mp
(8.26)
onde


p=

k
m

(8.27)

A razo ccc chamada de fator de amortecimento, e p chamado de freqncia natural


da vibrao livre no amortecida.
Agora, considere o caso de um carro sujeito a uma fora peridica dada por
P  Pm sen t

ou

d  dm sen t

onde dm = Pmk a deflexo esttica do carro sujeito fora Pm. A equao diferencial
que rege esse caso
m

dx
d2x
+c
+ kx = Pm sen t
dt 2
dt

A soluo geral dessa equao obtida somando-se uma soluo particular soluo
de vibrao livre dada pelas Equaes (8.23) a (8.25). Considere um movimento estacionrio do sistema forado em que o movimento transiente inicial foi totalmente amortecido. Supondo que essa soluo de estado estacionrio tenha a forma
xss (t) = xm sen(t )
pode ser mostrado que
1
xm
xm
=
=
Pm /k
dm
[1 (/ p)2 ]2 + 4(c/cc )2 (/ p)2

FIGURA 8.8
Oscilaes (a)
superamortecidas, (b)
subamortecidas e (c)
criticamente amortecidas.

x(t)
Criticamente
amortecida
Superamortecida

t
Subamortecida

(8.28)

8.4 ANLISE DE VIBRAO

173

A quantidade, xmdm, chamada de fator de aumento da amplitude, depende apenas da


razo do amortecimento real para o amortecimento crtico e da razo da freqncia
forante para a freqncia natural. Observe que, quando a freqncia forante se aproxima de zero, o fator de aumento tende a 1. Alm disso, se o sistema for levemente
amortecido, ou seja, se ccc for pequeno, ento o fator de aumento se torna infinito
quando tende a p. Se o amortecimento for nulo, ento o fator de aumento se torna infinito quando  p e diz-se que o termo forante est em ressonncia com o sistema.
Finalmente, quando p se torna muito grande, o fator de aumento se aproxima de zero.
A Figura 8.9 mostra grficos do fator de aumento como funo 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 freqncias natural e forada bem distantes.
O projeto da suspenso de um carro envolve os prs e contras entre o conforto e a estabilidade em todas as condies de conduo e velocidades. Pediram que voc determinasse a estabilidade de um projeto proposto que tem boas condies 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 pblico esteja satisfeita se as vibraes
livres do carro forem subamortecidas e o primeiro cruzamento com a posio de equilbrio ocorra em 0,05 s. Se, em t = 0, o carro for subitamente deslocado da posio de
equilbrio, x0, e a velocidade for zero (dxdt = 0), a soluo da equao de movimento
dada pela Equao (8.24), com A = x0 e B = x0. Portanto,



t
cos t + sen t
x(t) = x0 e

As condies do projeto so satisfeitas se


x(t) = 0 = cos(0,05) +
ou

k
c2

0 = cos 0,05
m
4m 2

sen(0,05)

k
c2
+
sen 0,05

m 4m2
4km c2
c


(8.29)

Como c e m so dados, o problema de projeto se reduziu a encontrar um valor apropriado


de k que satisfaa a Equao (8.29).
Soluo. Isso pode ser feito usando os mtodos da bisseco, falsa posio ou secante,
pois eles no necessitam do clculo da derivada da Equao (8.29), o que poderia ser considerado um pouco inconveniente nesse problema. A soluo k = 1,397 109, com 12
iteraes do mtodo da bisseco com um intervalo inicial de k = 1 109 a 2 109 a 
0,07305%.

c/cc = 0

0,125
4
0,25

xm /xd

FIGURA 8.9
Grfico do fator de aumento
de amplitude xm/xd [Equao
(8.28)] em funo da
freqncia dividida pela
freqncia natural p para
diversos valores do coeficiente
de amortecimento c dividido
pelo coeficiente de
amortecimento crtico cc.

0,5
2

2
/p

174

ESTUDO DE CASOS: RAZES DE EQUAES

Embora o projeto satisfaa as exigncias de vibrao livre (depois de atingir um buraco), ele tambm deve ser testado sob condies rugosas de estrada. A superfcie da
estrada pode ser aproximada por


2x
d = dm sen
D
onde d a deflexo, dm a deflexo mxima de 0,1 m e D a distncia entre picos, igual
a 20 m. Se a velocidade horizontal do carro for v (m/s), ento a equao global do movimento para o sistema pode ser escrita como


d2x
dx
2v
m 2 +c
+ kx = kdm sen
t
dt
dt
D
onde = 2vD a freqncia forante.
A estabilidade do carro considerada satisfatria se em um estado estacionrio a distncia mxima xm est abaixo de 0,2 m para todas as velocidades de conduo. O fator de
amortecimento calculado de acordo com a Equao (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 satisfaam a Equao (8.28),
1
2=
2
2
[1 (/ p) ] + 4(0,1221)2 (/ p)2

(8.30)

Quando a Equao (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 razes da


Equao (8.31).
Um grfico da Equao (8.31) encontrado na Figura 8.10, e mostra que a Equao
(8.31) tem duas razes positivas que podem ser determinadas pelo mtodo da bisseco.
Em 18 iteraes, obtm-se que o menor valor para p igual a 0,7300, com um erro
estimado de 0,000525%, com aproximaes inferior e superior de 0 e 1. Em 17 iteraes,

FIGURA 8.10
Grfico da Equao (8.31)
indicando duas razes positivas.

f (/p)

/p
0
1

8.4 ANLISE DE VIBRAO

175

encontra-se que o maior valor para p igual a 1,1864, com um erro estimado de
0,00064%, com aproximaes inferior e superior de 1 e 2.
Tambm possvel expressar a Equao (8.30) como um polinmio,
 4
 2

1,9404
+ 0,75
(8.32)
p
p
e usar o software MATLAB para determinar as razes, 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 bisseco. E tambm sugere que, embora superficialmente parea ser uma equao de quarto grau para p, a Equao (8.32) na realidade uma equao quadrtica para (p)2.
O valor da freqncia natural p dado pela Equao (8.27),

1,397 109
= 34,12 s1
p=
1,2 106
As freqncias forantes, para as quais a deflexo mxima 0,2 m, so ento calculadas por
= 0,7300(34,12) = 24,91 s1
= 1,1864(34,12) = 40,48 s1
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 aceitvel para as velocidades comuns de conduo. Nesse ponto, o projetista deve estar ciente de que o projeto no satisfaz as
condies de adequao para velocidades extremamente altas (por exemplo, em corridas).
Esse problema de projeto apresentou um exemplo extremamente simples que permitiu obter alguns resultados analticos que foram usados para avaliar a acurcia dos mtodos numricos para encontrar as razes. Os casos reais podem rapidamente se tornar to
complicados que as solues s so obtidas usando-se mtodos numricos.

PROBLEMAS
Engenharia Qumica/Bioengenharia
8.1 Faa os mesmos clculos que na Seo 8.1, mas para o lcool
etlico (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
possvel, use um software de seu computador para determinar o
volume molar. Caso contrrio, use qualquer um dos mtodos
numricos discutidos nos Captulos 5 e 6 para fazer os clculos.
Justifique sua escolha da tcnica.

8.2 Em engenharia qumica, os reatores tubulares de fluxo pistonado (isto , aqueles nos quais o fluido escoa de uma extremidade
para a outra com mistura mnima ao longo do eixo longitudinal) so
usados com freqncia para converter reagentes em produtos. Foi
determinado que a eficincia da converso 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: RAZES DE EQUAES

176
R=

volume do fluido que volta para a entrada


volume deixando o sistema

K =

Suponha que estamos processando uma substncia qumica A para


gerar um produto B. Para o caso em que A forma B por meio de
uma reao autocatalisadora (isto , na qual um dos produtos age
como um catalisador ou um estmulo para a reao), 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 frao de reagente A que convertida para o produto


B. A taxa de reciclagem tima corresponde ao reator de tamanho
mnimo necessrio para se atingir o nvel desejado de converso.
Use um mtodo numrico para determinar as taxas de reciclagem
necessrias para minimizar o tamanho do reator para uma frao de
converso de XAf  0,95.

Alimentao

Reator tubular de
fluxo pistonado

Produto

Reciclagem

Figura P8.2
Representao esquemtica de um reator tubular de fluxo pistonado
com reciclagem.

8.3 Em um processo de engenharia qumica, vapor de gua (H2O)


aquecido a uma temperatura suficientemente alta para que uma
parte significativa da gua se dissocie, ou se quebre, para formar
oxignio (O2) e hidrognio (H2):
H2 O 
H2 + 12 O2
Se for suposto que essa a nica reao envolvida, a frao molar
x de H2O que se dissocia pode ser representada por

2 pt
x
K =
(P8.3)
1x 2+x
onde K a constante de equilbrio da reao e pt a presso total da
mistura. Se pt  3,5 atm e K  0,04, determine o valor de x que satisfaz a Equao (P8.3).
8.4 A seguinte equao est ligada concentrao de uma substncia qumica em um reator completamente misturado:
c = cin (1 e0,04t ) + c0 e0,04t
Se a concentrao inicial for c0 = 5 e a concentrao do fluxo de
entrada for cin = 12, calcule o tempo necessrio para que c seja
85% de cin .
8.5 Uma reao qumica reversvel
2A + B 
C
pode ser caracterizada pela relao de equilbrio
K =

cc
ca2 cb

onde o smbolo ci representa a concentrao do constituinte i.


Suponha que definamos uma varivel x que represente o nmero de
moles de C que so produzidos. A conservao da massa pode ser
usada para reformular a relao de equilbrio como

(cc,0 + x)
(ca,0 2x)2 (cb,0 x)

onde o subscrito 0 indica a concentrao 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 soluo graficamente. (b) Com base em
(a), resolva para determinar a raiz com aproximaes iniciais
xl = 0 e xu = 20 at s  0,5%. Escolha ou a bisseco ou a falsa
posio para obter a soluo. Justifique sua escolha.
8.6 As seguintes reaes qumicas ocorrem em um sistema
fechado:
2A + B 
C
A+D
C
No equilbrio, elas podem ser caracterizadas por
cc
K1 = 2
ca cb
cc
K2 =
ca cd
onde o smbolo ci representa a concentrao do constituinte i. Se x1
e x2 so o nmero de moles de C que so produzidos por causa da
primeira e da segunda reaes, respectivamente, use uma abordagem parecida com a do Problema 8.5 para reformular a relao
de equilbrio em termos das concentraes iniciais dos constituintes. A seguir, use o mtodo de Newton-Raphson para resolver o
par de equaes no-lineares simultneas para determinar x1 e x2 se
K 1 = 4 104 , K 2 = 3,7 102 , ca,0 = 50, cb,0 = 20, cc,0 = 5 e
cd,0 = 10. Utilize uma abordagem grfica para encontrar suas
aproximaes iniciais.
8.7 A equao de estado de Redlich-Kwong dada por
p=

RT
a

vb
v(v + b) T

onde R a constante universal dos gases [= 0,518 kJ/(kg K)], T a


temperatura absoluta (K), p a presso absoluta (kPa) e v o volume
de um kg de gs (m3 /kg). Os parmetros a e b so calculados por
a = 0,427

R 2 Tc2,5
pc

b = 0,0866R

Tc
pc

onde pc a presso crtica (kPa) e Tc a temperatura crtica (K).


Como engenheiro qumico, foi-lhe pedido para determinar a quantidade de gs 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 presso de 65,000 kPa. Use um mtodo para localizar razes de
sua escolha para calcular v e a seguir determinar a massa de metano
contida no tanque.
8.8 O volume V de lquido em um cilindro horizontal raso de raio r
e comprimento L se relaciona com a profundidade do lquido h por





r h
(r h) 2r h h 2 L
V = r 2 cos1
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 programao ou ferramenta de software que no seja rica em funes trigonomtricas,
o arco-co-seno pode ser calculado por


x

cos1 x = tg1
2
1 x2
8.9 O volume V de lquido em um tanque esfrico de raio r est
relacionado com a profundidade h do lquido 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 esfrico do Problema 8.9, possvel desenvolver as seguintes frmulas de dois pontos fixos:

h 3 + (3V /)
h=
3r
e



V
h = 3 3 r h2

Se r = 1 m e V = 0,75 m3, determine se alguma delas estvel e


o intervalo de aproximaes iniciais para o qual elas so estveis.
8.11 A equao de Ergun, mostrada a seguir, usada para descrever o escoamento de um fluido atravs de um leito compactado.

P a queda de presso, a densidade do fluido, G o a velocidade da massa (vazo em massa dividida pela rea da seo transversal), D p o dimetro das partculas dentro do leito, a viscosidade do fluido, L o comprimento do leito e a frao vazia
do leito.

P D p
1
= 150
+ 1,75
G 2o L 1
(D p G o /)
Dados os valores dos parmetros listados a seguir, encontre a
frao vazia do leito.
Dp G o
= 1000

P D p
= 20
G 2o L
8.12 A queda de presso na seo de um tubo pode ser calculada por

p = f

LV 2
2D

onde
p a queda de presso (Pa), f o fator de atrito, L o comprimento do tubo [m], a densidade (kg/m3 ), V a velocidade
(m/s) e D o dimetro (m). Para escoamentos turbulentos, a equao 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 nmero de Reynolds,
Re =

V D

onde a viscosidade dinmica (N s/m2 ).


(a) Determine
p para uma extenso horizontal de 0,2 m de
comprimento de tubulao submersa lisa, dado que
= 1,23 kg/m3 , = 1,79 105 N s/m2 , D = 0,005 m,
V = 40 m/s e = 0,0015 mm. Use um mtodo numrico para
determinar o fator de atrito. Observe que para os tubos lisos
com Re < 105 , uma boa aproximao inicial pode ser obtida
usando a frmula Blasius, f = 0,316/Re0,25 .
(b) Repita os clculos, agora para um tubo de ao comercial mais
rugoso ( = 0,045 mm).
8.13 O pH da gua muito importante para os engenheiros ambientalistas e qumicos. Ele pode ser relacionado a processos

177
variando de corroso de tubos a chuva cida. O pH est relacionado
com a concentrao de on hidrognio por
pH = log10 [H+ ]
As seguintes cinco equaes governam a concentrao da mistura
de dixido 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 inorgnico total e os Ks
so os coeficientes de equilbrio. As cinco incgnitas so
[CO2 ] para o dixido de carbono, [HCO
3 ] para o bicarbonato,

+
[CO2
3 ] para o carbonato, [H ] para on hidrognio e [OH ] para o
on hidroxila. Determine as cinco incgnitas dado que
Alk = 2 103 , cT = 3 103 , K 1 = 106,3 , K 2 = 1010,3 e
K w = 1014 . Alm disso, calcule o pH da soluo.
8.14 A operao de um reator tubular de fluxo pistonado com densidade constante para a produo de uma substncia por meio de
uma reao enzimtica descrita pela equao a seguir, onde V o
volume do reator, F a taxa de escoamento do reagente C, Cent e
Csada so as concentraes dos reagentes entrando e saindo do
reator, respectivamente, e K e kmx so constantes. Para um reator
com 500 L, com uma concentrao de entrada de Cent = 0,5 M,
uma vazo de entrada de 40 L/s, kmx = 5 103 s1 e K = 0,1
M, encontre a concentrao de C na sada do reator.
 Csada
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
equao para uma oscilao amortecida:
y = 9ekt cos t
onde k = 0,7 e = 4.
(a) Use o mtodo grfico para fazer uma estimativa inicial do
tempo necessrio para que o deslocamento diminua para 3,5.
(b) Use o mtodo de Newton-Raphson para determinar a raiz at
s = 0,01%.
(c) Use o mtodo da secante para determinar a raiz at
s = 0,01%.
8.16 Na engenharia estrutural, a frmula da secante define a fora
por unidade de rea P/A que causa uma tenso m mxima 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 mdulo de elasticidade. Se para uma viga de ao 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 catenrio um cabo que est pendurado entre dois
pontos que no esto na mesma reta vertical. Como descrito na

ESTUDO DE CASOS: RAZES DE EQUAES

178

TB

Figura P8.17

(a) As foras agindo em uma seo


AB de um cabo flexvel pendurado.
A carga uniforme ao longo do cabo
(mas no uniforme por distncia
horizontal x). (b) Um diagrama de
corpo livre da seo AB.

W = ws
TA

y0
x

(a)

Figura P8.17a, ele no est sujeito a nenhuma carga alm do seu


prprio 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 seo AB descrito na Figura P8.17b,
onde TA e TB so as foras de tenso nas extremidades. Com base
nos balanos de fora horizontal e vertical, possvel deduzir a
seguinte equao diferencial para modelar o cabo:

 2
d2 y
w
dy
=
1
+
2
dx
TA
dx
O clculo pode ser usado para resolver essa equao para determinar a altura y do cabo como uma funo da distncia x,


TA
TA
w
y=
x + y0
cosh
w
TA
w
onde o cosseno hiperblico pode ser calculado por
1
cosh x = (e x + ex )
2
Use um mtodo numrico para calcular um valor para o parmetro
T A dados os valores para os parmetros 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 distribuda de forma linearmente crescente. A equao para a
curva elstica 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 bisseco para determinar o ponto de deflexo mxima (isto


, o valor de x onde dy/dx = 0). A seguir, substitua esse valor na
Equao (P8.18) para determinar o valor da deflexo mxima. Use
os seguintes valores dos parmetros nos seus clculos: 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 equao pode ser usada para calcular o
nvel de oxignio c (mg/L) em um rio a jusante de uma descarga
de esgoto:
c = 10 20(e0,15x e0,5x )
onde x a distncia a jusante em quilmetros.
(a) Determine a distncia a jusante onde o nvel de oxignio cai pela
primeira vez at a leitura de 5 mg/L. (Sugesto: est a menos de
2 km da descarga). Determine sua resposta a menos de um erro
de 1%. Observe que nveis de oxignio abaixo de 5 mg/L, em
geral, so prejudiciais a peixes tais como trutas e salmes.
(b) Determine a distncia a jusante na qual o oxignio est em um
mnimo. Qual a concentrao nessa posio?
8.20 A concentrao da bactria poluente c em um lago diminui de
acordo com
c = 75e1,5t + 20e0,075t
Determine o tempo necessrio para que a concentrao de bactria
seja reduzida a 15 usando (a) o mtodo grfico e (b) o mtodo de
Newton-Raphson com aproximao inicial t = 6 e critrio de parada 0,5%. Verifique seu resultado.
8.21 Na engenharia oceanogrfica, a equao para uma onda estacionria em um cais dada por = 16, t = 12, v = 48:

h = h0





2x
2tv
x
sen
cos
+e

Determine o menor valor positivo de x se h = 0,5h 0 .


8.22 Voc comprou uma pea 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 frmula que relaciona o valor atual P, os
pagamentos anuais A, o nmero de anos n e a taxa de juros i

(a)
(x = L, y = 0)
(x = 0, y = 0)
x

(b)

A=P

i(1 + i)n
(1 + i)n 1

8.23 Muitos campos da engenharia necessitam de estimativas acuradas da populao. Por exemplo, os engenheiros de transporte

PROBLEMAS

179
20 kips/ft

150 kip-ft

15 kips

Figura P8.24

podem achar necessrio determinar separadamente a tendncia de


crescimento da populao de uma cidade e do subrbio adjacente.
A populao da rea urbana est diminuindo com o tempo de
acordo com
Pu (t) = Pu,max eku t + Pu,min
enquanto a populao suburbana est crescendo de acordo com
Ps,max
Ps (t) =
1 + [Ps,max /P0 1]eks t
onde Pu,max , ku , Ps,max , P0 e ks so parmetros determinados empiricamente. Determine o tempo e os valores correspondentes de
Pu (t) e Ps (t) quando os subrbios forem 20% maiores que a
cidade. Os valores dos parmetros so Pu,max = 75,000, ku =
0,045/ano, Pu,mn = 100.000 pessoas, Ps,max = 300.000 pessoas,
P0 = 10.000 pessoas, ks = 0,08/ano. Para obter suas solues, use
os mtodos (a) grfico, (b) falsa posio e (c) secante modificado.
8.24 Uma viga apoiada em apenas um ponto carregada como
mostra a Figura P8.24. Usando funes de singularidade, a tenso
ao longo da viga pode ser expressa pela equao:
V (x) = 20[x 01 x 51 ] 15 x 80 57
Por definio, a funo de singularidade pode ser expressa como:


(x a)n quando x > a
x an =
0
quando x a
Use um mtodo numrico para encontrar o(s) ponto(s) onde a tenso 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 mtodo numrico 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 inclinao 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 mtodo numrico para encontrar o(s) ponto(s) onde a inclinao 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 tcnica de localizao de razes para determinar a posio de deslocamento mnimo?
Engenharia Eltrica
8.28 Faa os mesmos clculos que na Seo 8.3 para determinar o
valor C necessrio 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 grfica, (b) bisseco e (c) um software de
localizao de razes tal como o Excel Solver ou a funo fzero
do MATLAB.
8.29 Uma corrente oscilante em um circuito eltrico descrita por
i = 9et cos(2t), onde t est em segundos. Determine todos os
valores t tais que i = 3.
8.30 A resistividade do silcio dopado baseada na carga q de
um eltron, na densidade eletrnica n e na mobilidade do eltron .
A densidade eletrnica dada em termos da densidade da dopagem
N e da densidade de transporte intrnseca n i . A mobilidade do
eltron descrita pela temperatura T, pela temperatura de referncia T0 e pela mobilidade de referncia 0 . As equaes necessrias
para o clculo da resistividade so
1
=
qn
onde
 2,42


T
1
2
2
n=
= 0
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 1019 C, n i = 6,21 109 cm3 e uma resistividade desejada de = 6,5 106 V s cm/C. Use o mtodo (a) da
bisseco e (b) secante modificado.
8.31 Uma carga total Q est uniformemente distribuda ao redor de
um condutor circular de raio a. Uma carga q est localizada a uma
distncia x do centro do anel (Figura P8.31). A fora exercida na
carga pelo anel dada por
1
q Qx
F=
4e0 (x 2 + a 2 )3/2
onde e0 = 8,85 1012 C2 /(N m2 ). Encontre a distncia x onde a
fora 1,25 N se q e Q so 2 105 C para um anel de raio 0,9 m.
Figura P8.31
a
x
q
Q

ESTUDO DE CASOS: RAZES DE EQUAES

180

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 impedncia do sistema como



1
1
1 2
+ C
=
Z
R2
L
onde Z a impedncia () e a freqncia angular. Encontre
a freqncia que resulta em uma impedncia de 75  usando
tanto a bisseco quanto a falsa posio com aproximaes iniciais de 1 e 1.000 para os seguintes parmetros:
R = 225 , C = 0,6 106 F e L = 0,5 H. Determine quantas
interaes de cada tcnica so necessrias para determinar a resposta at s = 0,1%. Use a abordagem grfica para explicar quaisquer dificuldades que apaream.
Engenharia Mecnica e Aeroespacial
8.33 Para o escoamento de fluidos em tubos, o atrito descrito por
um nmero adimensional, o fator de atrito de Fanning f. O fator de
atrito de Fanning depende de diversos parmetros relacionados ao
tamanho do tubo e ao fluido, os quais podem todos ser representados por uma outra quantidade adimensional, o nmero de Reynolds
Re. Uma frmula que prev f dado Re a equao de von Karman,

Determine d dados os seguintes valores dos parmetros:


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 mecnicos, da mesma forma que a maioria
dos outros engenheiros, utilizam a termodinmica freqentemente
nos seus trabalhos. O seguinte polinmio pode ser usado para relacionar o calor especfico a presso nula do ar seco, c p kJ/(kg K),
temperatura (K):
c p = 0,99403 + 1,671 104 T + 9,7215 108 T 2
9,5838 1011 T 3 + 1,9520 1014 T 4
Determine a temperatura que corresponde a um calor especfico de
1,1 kJ/(kg K).
8.36 Os engenheiros aeroespaciais algumas vezes calculam a trajetria de projteis como foguetes. Um problema relacionado trata
da trajetria de uma bola lanada. A trajetria da bola definida
pelas coordenadas (x, y) como mostrado na Figura P8.36. A trajetria 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 distncia do receptor x for 35 m. Observe que a
bola deixa a mo do lanador a uma elevao 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 mtodo grfico para encontrar suas aproximaes iniciais.
y


1
= 4 log10 (Re f ) 0,4
f
Para o escoamento turbulento, os valores tpicos do nmero de
Reynolds esto entre 10.000 e 500.000 e os do fator de atrito
de Fanning esto entre 0,001 e 0,01. Desenvolva uma funo que
use a bisseco para determinar f dado um valor fornecido pelo
usurio de Re entre 2.500 e 1.000.000. Desenvolva a funo para que
ela garanta que o erro absoluto no resultado seja E a,d < 0,000005.
8.34 Os sistemas mecnicos reais podem envolver a deflexo de
molas no-lineares. Na Figura 8.34, uma massa m abandonada a
uma distncia h acima de uma mola no-linear. A fora de resistncia F da mola dada por


F = k1 d + k2 d 3/2
A conservao da energia pode ser usada para mostrar que
0=

1
2k2 d 5/2
+ k1 d 2 mgd mgh
5
2

Figura P8.34

h
h+d
d

(a)

(b)

v0
0
x

Figura P8.36
8.37 A velocidade para cima de um foguete pode ser calculada pela
seguinte frmula:
m0
v = u ln
gt
m 0 qt
onde v a velocidade para cima, u a velocidade na qual o combustvel expelido com relao ao foguete, m0 a massa inicial do
foguete no instante t = 0, q a taxa de consumo de combustvel, e
g a acelerao 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. (Sugesto: 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 Seo 8.4, o ngulo de fase entre a vibrao forada 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 mecnico, voc gostaria de saber se existem


casos em que = /3 1. Use os outros parmetros da seo para
escrever a equao como um problema de razes e determinar .
8.39 Dois fluidos em temperaturas diferentes entram em um misturador e saem mesma temperatura. A capacidade trmica do fluido A dada por
c p = 3,381 + 1,804 102 T 4,300 106 T 2
e a capacidade do fluido B dada por:
c p = 8,592 + 1,290 101 T 4,078 105 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 compresso Rc de
3,0 (a presso de gs na sada trs vezes maior do que a presso
de gs na entrada). Os requisitos de potncia do compressor Hp
podem ser determinados a partir da equao a seguir. Supondo que
os requisitos de potncia do compressor so exatamente iguais a
z RT1 /MW, encontre a eficincia politrpica n do compressor. O
parmetro z a compressibilidade do gs nas condies de operao do compressor, R a constante do gs, T1 a temperatura do
gs na entrada do compressor e MW o peso molecular do gs.

z RT1 n  (n1)/n
HP =
1
R
MW n 1 c

q1 = 109 [(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 tenses tridimensional
dada por

x x x y x z
x y yy yz
x z yz zz
onde os termos da diagonal representam as tenses de compresso
ou dilatao e os termos fora da diagonal representam a tenso de
cisalhamento. Um campo de tenses (em MPa) dado por

10 14 25
14 7 15
25 15 16
Para determinar as tenses principais, necessrio 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 equao
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
2
II = x x yy zz x x yz
yy x2z zz x2y + 2x y x z yz

8.41 Na garrafa trmica mostrada na Figura P8.41, o compartimento mais interno separado do compartimento do meio por
vcuo. Existe uma camada final ao redor da garrafa trmica. 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 transferncia de calor do compartimento interno para a
prxima camada q1 se d apenas por radiao (j que existe vcuo
nesse espao). A transferncia de calor entre a camada do meio e a
camada externa q2 se d por conveco em um pequeno espao. A
transferncia da camada externa para o ar q3 se d por conveco
natural. O fluxo de calor em cada regio da garrafa trmica deve ser
igual isto , q1 = q2 = q3 . Encontre as temperaturas T1 e T2 no
estado estacionrio. T0 450o C e T3  25o C.

I, II, e III so conhecidos como invariantes da tenso. Encontre 1 ,


2 e 3 usando uma tcnica para determinar razes.
8.43 A Figura P8.43 mostra trs reservatrios ligados por tubos
circulares. Os tubos, que so feitos de ferro fundido recoberto por
asfalto ( = 0,0012 m), tm as seguintes caractersticas:

h1
A

h2
1

Q1

h3

Q2
3

Figura P8.41
Q3

Figura P8.43

Tubo
Comprimento, m
Dimetro, m
Escoamento, m3/s

T3

T0
T1

T2

1
1800
0,4
?

2
500
0,25
0,1

3
1400
0,2
?

Se as elevaes da superfcie da gua nos reservatrios A e C so


200 e 172,5 m, respectivamente, determine a elevao no reservatrio B e o escoamento nos tubos 1 e 3. Observe que a viscosidade
cinemtica da gua 1 106 m2 /s e use a equao de Colebrook
para determinar o fator de atrito (lembre-se do Problema 8.12).

ESTUDO DE CASOS: RAZES DE EQUAES

182

8.44 Um fluido bombeado na rede de tubos mostrada na


Figura P8.44. No estado estacionrio, os seguintes balanos de
escoamento precisam ser satisfeitos:
Q1 = Q2 + Q3
Q3 = Q4 + Q5
Q5 = Q6 + Q7
onde Q i o escoamento no tubo i[m3 /s]. Alm disso, as quedas de
presso em torno dos trs laos direita devem ser nulas. A queda
de presso em cada seo de tubo circular pode ser calculada por

P =

16 f L 2
Q
2 2D 5

igual a zero, a espaonave no ir girar em torno de seu centro de


massa G no lanamento. Com essas foras, a espaonave ter uma
fora resultante com componentes tanto na direo vertical quanto
na horizontal. A componente vertical da fora resultante a que
permite que a espaonave seja lanada de sua plataforma de lanamento e que voe verticalmente. A componente horizontal da fora
resultante faz com que a espaonave voe horizontalmente. O torque
resultante agindo na espaonave ser nulo quando for ajustado no
valor adequado. Se esse ngulo no for ajustado adequadamente e
existir algum torque resultante agindo na espaonave, ela tender a
girar em torno de seu centro de massa.

onde
P a queda de presso [Pa], f o fator de atrito (adimensional), L o comprimento do tubo [m], a densidade do fluido
[kg/m3 ] e D o dimetro do tubo (m). Escreva um programa (ou
desenvolva um algoritmo em um pacote de software matemtico)
que lhe permita calcular o escoamento em todas as sees de tubo
dado que Q 1 = 1 m3 /s e = 1,23 kg/m3 . Todos os tubos tm
D = 500 mm e f = 0,005. Os comprimentos dos tubos so
L 3 = L 5 = L 8 = L 9 = 2 m; L 2 = L 4 = L 6 = 4 m e L 7 = 8 m.
Q1

Q3

28
4

Tanque externo

Q5

Foguete auxiliar
slido
Q2

Q4

Q6

Q7

Mdulo
orbital

Q10

Q9

Q8

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 equao de von Karman,

1
= 4 log10 (Re f ) 0,4
f
onde Re o nmero de Reynolds
V D
Re =

onde V a velocidade do fluido no tubo [m/s] e a viscosidade


dinmica (N s/m2 ). Observe que, para um tubo circular,
V = 4Q/ D 2 . Alm disso, suponha que o fluido tem viscosidade
de 1,79 105 N s/m2 .
8.46 O nibus espacial, no lanamento a partir de sua plataforma
de lanamento, tem quatro foras agindo sobre ele, as quais so
mostradas no diagrama de corpo livre (Figura P8.46). O peso combinado dos dois foguetes auxiliares slidos e do tanque de combustvel
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 slidos TB  5,30  106 lb. O empuxo combinado dos trs motores de combustvel lquido do mdulo orbital
TS = 1,125 106 lb.
No lanamento, o empuxo do motor do mdulo orbital est direcionado a um ngulo para fazer com que o torque resultante na
montagem total da espaonave (tanque externo, foguetes auxiliares
slidos e mdulo orbital) seja igual a zero. Com o torque resultante

38
WB

WS

TS
TB

Figura P8.46
(a) Decomponha o empuxo do mdulo orbital TS em suas componentes horizontal e vertical e ento some os torques relativos ao
ponto G, o centro de massa da espaonave. Iguale a equao do
torque resultante a zero. Pode-se agora resolver essa equao
para determinar o valor de necessrio para o lanamento.

PROBLEMAS
(b) Deduza uma equao para o torque resultante agindo na espaonave em termos do ngulo . Trace o grfico do momento
resultante como funo do ngulo sobre um intervalo de 5
radianos a 5 radianos.
(c) Escreva um programa computacional para determinar o ngulo
usando o mtodo de Newton para encontrar a raiz da equao

183
do momento resultante. Escolha uma primeira aproximao
inicial para a raiz de interesse a partir do grfico. Pare suas
iteraes quando o valor de tiver mais que cinco algarismos
significativos.
(d) Repita o programa para um peso mnimo de carga extra no mdulo orbital de W S = 195.000lb.

EPLOGO: PARTE DOIS


PT2.4 PRS E CONTRAS
A Tabela PT2.3 fornece um resumo dos prs e contras envolvidos na determinao de
razes de equaes algbricas e transcendentais. Embora os mtodos grficos sejam demorados, eles fornecem uma visualizao do comportamento da funo e so teis na
identificao de aproximaes iniciais e possveis problemas como razes mltiplas. Portanto, se o tempo permitir, um esboo rpido (ou, melhor ainda, um grfico computadorizado) pode fornecer informaes valiosas relativas ao comportamento da funo.
Os prprios mtodos numricos esto divididos em duas categorias gerais: os mtodos intervalares e os mtodos abertos. Os primeiros exigem duas aproximaes iniciais
que esto uma de cada lado de uma raiz.
Esse fato de delimitar a raiz mantido medida que a soluo prossegue, e portanto,
essas tcnicas so sempre convergentes. Entretanto, paga-se um preo por essa propriedade, j que a taxa de convergncia relativamente lenta.
As tcnicas abertas diferem dos mtodos intervalares no fato de que usam informao em um nico ponto (ou dois valores que no precisam delimitar a raiz para extrapolar para uma nova estimativa da raiz). Tal propriedade uma faca de dois gumes,
TABELA PT2.3 Comparao dos mtodos alternativos para determinar razes de equaes algbricas e transcendentais.
As comparaes so baseadas na experincia geral e no levam em conta o comportamento de
funes especficas.
Mtodo

Aproximaes
Taxa de
Iniciais
Convergncia

Estabilidade

Acurcia

Amplitude de
Aplicao

Esforo de
Programao

Direto
Grfico

Ruim

Limitada
Razes reais

Bisseco
Falsa posio
FP modificado
Iterao de ponto
fixo
Newton-Raphson

2
2
2
1

Lenta
Lenta/mdia
Mdia
Lenta

Sempre
Sempre
Sempre
Possvel divergncia

Boa
Boa
Boa
Boa

Razes reais
Razes reais
Razes reais
Geral

Fcil
Fcil
Fcil
Fcil

Rpida

Possvel divergncia

Boa

Geral

Fcil

Newton-Raphson
modificado

Possvel divergncia

Boa

Geral

Fcil

Secante

Rpida para razes


mltiplas; mdia
para simples
Mdia a rpida

Possvel divergncia

Boa

Geral

Fcil

Mdia a rpida
Mdia a rpida
Rpida

Possvel divergncia
Possvel divergncia
Possvel divergncia

Boa
Boa
Boa

Geral
Polinmios
Polinmios

Fcil
Moderado
Moderado

Secante modificado 1
Mller
2
Bairstow
2

184

Comentrios
Pode levar
mais tempo
do que os
mtodos
numricos

Exige o
clculo de
f(x)
Exige o
clculo de
f (x) e f (x)
As aproximaes
iniciais no
precisam
cercar a
raiz

PT2.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS

185

pois, embora leve a uma convergncia mais rpida, tambm permite que a soluo possa
divergir. Em geral, a convergncia nas tcnicas abertas depende, em parte, da qualidade
da aproximao inicial e da natureza da funo. Quanto mais prxima da raiz verdadeira
a aproximao estiver, mais provvel ser que os mtodos convirjam.
Das tcnicas abertas, o mtodo de Newton-Raphson padro em geral usado por
causa de sua propriedade de convergncia quadrtica. Entretanto, sua maior deficincia
que ele exige que a derivada da funo seja calculada analiticamente. Para algumas
funes, isso no prtico. Nesses casos, o mtodo da secante, que usa uma representao por diferena finita da derivada, fornece uma alternativa vivel. Por causa da aproximao por diferena finita, a taxa de convergncia do mtodo da secante inicialmente
mais lenta do que a do mtodo de Newton-Raphson. Entretanto, medida que a estimativa da raiz refinada, a aproximao por diferena se torna uma representao melhor da
derivada verdadeira e a convergncia acelera rapidamente. A tcnica de Newton-Raphson
modificada pode ser usada para atingir uma convergncia rpida no caso de razes mltiplas. Mas tal tcnica exige a expresso analtica para a primeira e a segunda derivadas.
Todos os mtodos numricos so fceis de programar no computador e gastam um
tempo mnimo para determinar uma nica raiz. Com base nisso, voc poderia concluir
que um mtodo simples como a bisseco seria suficientemente bom para os propsitos
prticos. Isso seria verdade se voc estivesse interessado exclusivamente em determinar
a raiz de uma equao uma nica vez. Entretanto, h muitos casos em engenharia nos
quais muitas localizaes de razes so necessrias e a velocidade se torna importante.
Nesses casos, os mtodos lentos gastam muito tempo e so, portanto, caros. Por outro
lado, os mtodos abertos rpidos podem divergir e os conseqentes atrasos tambm
podem ser caros. Alguns algoritmos computacionais tentam aproveitar as vantagens de
ambas as classes de tcnicas, utilizando inicialmente um mtodo intervalar para se aproximar dela e ento mudando para um mtodo aberto para refinar rapidamente a estimativa. Se uma nica abordagem ou uma combinao for usada, os prs e contras entre a
convergncia e a velocidade esto no cerne da escolha da tcnica de localizao de razes.

PT2.5 RELAES E FRMULAS IMPORTANTES


A Tabela PT2.4 resume informaes importantes que foram apresentadas na Parte Dois.
Ela pode ser consultada para acessar rapidamente relaes e frmulas importantes.

PT2.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS


Os mtodos deste texto se concentraram na determinao de uma nica raiz de uma
equao algbrica ou transcendental com base no conhecimento prvio de sua localizao
aproximada. Alm disso, tambm foram descritos mtodos construdos especificamente
para determinar as razes reais e complexas de polinmios. Referncias adicionais sobre
o assunto so Ralston e Rabinowitz (1978) e Carnahan, Luther e Wilkes (1969).
Alm dos mtodos de Mller e Bairstow, diversas tcnicas esto disponveis para determinar todas as razes de polinmios. Em particular, o algoritmo da diferena do quociente (Henrici, 1964, e Gerald e Wheatley, 1989) determina todas as razes sem aproximaes iniciais. Ralston e Rabinowitz (1978) e Carnahan, Luther e Wilkes (1969) contm
discusses desse mtodo, bem como de outras tcnicas para localizar razes de
polinmios. Como discutido no texto, os mtodos de Jenkins-Traub e Laguerre so amplamente usados.
Em resumo, a discusso anterior tem o objetivo de mostrar um caminho para uma
explorao mais profunda do assunto. Alm disso, todas as referncias citadas fornecem
descries das tcnicas bsicas cobertas na Parte Dois. Ns o encorajamos a consultar
essas fontes alternativas para ampliar seu entendimento dos mtodos numricos para a localizao de razes.1
1

Os livros so citados aqui apenas pelos autores, uma bibliografia completa encontrada no final do texto.

186

EPLOGO: PARTE DOIS

TABELA PT2.4 Resumo das informaes importantes apresentadas na Parte Dois.


Mtodo

Interpretao
Grfica

Formulao

Erros e
Critrio de Parada

Mtodos intervalares:
Bisseco

xl  xu
xr  
2

f (x)

Critrio de parada:

Raiz

Se f(xl)f (xr)  0, xu  xr
f (xl)f (xr)  0, xl  xr

xl

xu

x
x
 
100%

x
novo
r

velho
r

novo
r

L/2
L/4

f (x)
Falsa posio

f (xu)(xl  xu)
xr  xu  
f(xl)  f(xu)

Critrio de parada:

d
or

Se f(xl)f (xr)  0, xu  xr
f(xl)f (xr)  0, xl  xr

xr

x
x
 
100%

x
novo
r

velho
r

novo
r

xl

xu

f (x)
Tangente

Newton-Raphson

Critrio de parada:
x
 x
100%

x
i1

f (xi)
xi1  xi  
f(xi)
xi + 1

xi

f (x)

Secante

i1

Erro: Ei1 

0(Ei2)

Critrio de parada:


100%

f(xi)(xi1  xi)
xi1  xi  
f (xi1)  f (xi)

xi1  xi
i1

xi + 1

xi xi 1

PARTE TRS

EQUAES ALGBRICAS
LINEARES
PT3.1 MOTIVAO
Na Parte Dois, foi determinado o valor de x que satisfaz uma nica equao, f (x) = 0.
Agora, ser abordado o caso de determinar os valores x1, x2, . . . , xn que satisfazem simultaneamente um conjunto de equaes
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 no-lineares. Na Parte Trs, tratamos das
equaes algbricas lineares que tm 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 so coeficientes constantes, os b's so constantes e n o nmero de equaes.
Todas as outras equaes so no-lineares. Os sistemas no-lineares foram discutidos no
Captulo 6 e sero de novo abordados brevemente no Captulo 9.
PT 3.1.1 Mtodos No-computacionais para Resolver Sistemas
de Equaes
Para um nmero pequeno de equaes (n 3), as equaes lineares (e, s vezes, as nolineares) podem ser resolvidas rapidamente por tcnicas simples. Alguns desses mtodos
sero revistos no Captulo 9. Entretanto, para quatro ou mais equaes, as solues se tornam trabalhosas e os computadores devem ser utilizados. Historicamente, a impossibilidade de resolver todos os conjuntos de equaes exceto os menores mo limitou
o alcance de problemas tratados em vrias aplicaes da engenharia.
Antes dos computadores, as tcnicas para resolver equaes algbricas lineares eram
lentas e desconfortveis. Essas abordagens restringem a criatividade, pois os mtodos
so, em geral, difceis de implementar e entender. Conseqentemente, as tcnicas eram,
algumas vezes, superenfatizadas custa de outros aspectos do processo de resoluo do
problema, como a formulao e a interpretao (lembre-se da Figura PT1.1 e da discusso
que a acompanha).
O advento de computadores facilmente acessveis tornou possvel e prtica a resoluo de grandes conjuntos de equaes algbricas lineares simultneas. E, portanto,
voc pode abordar exemplos e problemas mais realistas e complexos. Alm disso, voc
ter mais tempo para testar suas habilidades criativas, pois poder pr mais nfase na formulao do problema e na interpretao da soluo.
188

PT3.1 MOTIVAO

189

PT3.1.2 Equaes Algbricas Lineares e a Prtica da Engenharia


Muitas das equaes fundamentais da engenharia so baseadas em leis de conservao
(lembre-se da Tabela 1.1). Algumas quantidades familiares que se submetem a tais leis
so massa, energia e momento. Em termos matemticos, esses princpios levam a
equaes de continuidade ou de balano que relacionam o comportamento do sistema,
representado por seus nveis ou respostas das quantidades que esto sendo modeladas, s
propriedades ou caractersticas do sistema e aos estmulos externos ou termos forantes
agindo sobre o sistema.
Como um exemplo, o princpio de conservao de massa pode ser usado para formular um modelo para uma srie de reatores qumicos (Figura PT3.1a). Para esse caso, a
quantidade sendo modelada a massa do composto qumico em cada reator. As propriedades do sistema so as caractersticas da reao do composto qumico e o tamanho
dos reatores e as vazes. Os termos forantes so as taxas de alimentao dos compostos
qumicos no sistema.
Na Parte Dois, voc viu como os sistemas com uma nica componente resultam em
uma nica equao que pode ser resolvida usando-se as tcnicas de localizao de razes.
Sistemas com componentes mltiplas resultam em um conjunto de equaes matemticas
acopladas, que devem ser resolvidas simultaneamente. As equaes so acopladas porque
as partes individuais do sistema so influenciadas pelas outras partes. Por exemplo, na
Figura PT3.1a o reator 4 recebe entradas dos reatores 2 e 3. Conseqentemente, sua resposta depende das quantidades dos compostos qumicos nesses outros reatores.
Quando essas dependncias so expressas matematicamente, as equaes resultantes
so, muitas vezes, da forma algbrica linear da Equao (PT3.1). Os x's so 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 as representam tipicamente as propriedades e caractersticas que produzem as interaes entre as componentes.
Por exemplo, os as para a Figura PT3.1a poderiam refletir as vazes em massa entre os
reatores. Finalmente, os bs representam os termos forantes agindo sobre o sistema,
como a taxa de alimentao na Figura PT3.1a. As aplicaes no Captulo 12 fornecem
outros exemplos de tais equaes vindas da prtica da engenharia.

FIGURA PT3.1
Dois tipos de sistemas que podem ser modelados usando equaes algbricas lineares:
(a) sistemas de variveis agrupadas que envolvem componentes finitas acopladas e
(b) sistemas de variveis distribudas que envolvem um contnuo.

x3

Alimentao

x1

x5

x2

x4

(a)

Alimentao

x1

xi1

x1

(b)

xi1

xn

190

EQUAES ALGBRICAS LINEARES

Problemas com vrias componentes do tipo citado surgem de modelos matemticos


de variveis tanto agrupadas (macro) quanto distribudas (micro) (Figura PT3.1). Problemas de variveis agrupadas envolvem componentes finitas acopladas. Os exemplos incluem trelias (Seo 12.2), reatores (Figura PT3.1a e Seo 12.1) e circuitos eltricos
(Seo 12.3). Esses tipos de problemas usam modelos que fornecem pouco ou nenhum
detalhe espacial.
Reciprocamente, problemas de variveis distribudas tentam descrever detalhes espaciais de sistemas em uma base contnua ou semicontnua. A distribuio de compostos
qumicos ao longo do comprimento de um reator retangular alongado (Figura PT3.1b)
um exemplo de um modelo de varivel contnua. As equaes diferenciais deduzidas das
leis de conservao especificam a distribuio das variveis dependentes para tais sistemas. Essas equaes diferenciais podem ser resolvidas numericamente transformando-as
em um sistema equivalente de equaes algbricas simultneas. A soluo de tais conjuntos de equaes representa uma rea de aplicao importante na engenharia para os mtodos nos captulos seguintes. Essas equaes so acopladas, pois as variveis em uma
posio dependem das variveis nas regies adjacentes. Por exemplo, a concentrao no
meio do reator uma funo da concentrao nas regies adjacentes. Exemplos similares
podem ser desenvolvidos para distribuies espaciais de temperatura ou momento. Iremos
tratar de tais problemas quando discutirmos as equaes diferenciais mais adiante no livro.
Alm dos sistemas fsicos, as equaes algbricas lineares simultneas tambm
aparecem em uma variedade de contextos de problemas matemticos. Elas ocorrem
quando exigimos que funes matemticas satisfaam vrias condies simultneas.
Cada condio resulta em uma equao que tem coeficientes conhecidos e variveis indeterminadas. As tcnicas discutidas nesta parte podem ser utilizadas para determinar as
incgnitas quando as equaes forem lineares e algbricas. Algumas tcnicas numricas
amplamente utilizadas baseadas em equaes simultneas so a anlise de regresso
(Captulo 17) e a interpolao por splines (Captulo 18).

PT3.2 FUNDAMENTOS MATEMTICOS


Todas as partes deste livro requerem algum fundamento matemtico. Para a Parte Trs, a
notao e a lgebra matricial so teis, pois fornecem uma forma concisa de representar
e manipular equaes algbricas lineares. Se voc j estiver familiarizado com matrizes,
sinta-se livre para pular para a Seo PT3.3. Para aqueles que no esto familiarizados ou
querem uma reviso, o material a seguir fornece uma breve introduo ao assunto.
PT3.2.1 Notao Matricial
Uma matriz consiste em uma tabela retangular de elementos representados por um nico
smbolo. Como mostrado na Figura PT3.2, [A] a notao 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 nmero da linha no qual o

FIGURA PT3.2
Uma matriz.
Coluna 3

a11
a
21

.
[A] =
.

.
an1

a12

a13

...

a22
.
.
.
an2

a23

...

an3

. . . anm

a1m

a2m
Linha 2

PT3.2 FUNDAMENTOS MATEMTICOS

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 dimenso n
por m (ou n m). Ela chamada de uma matriz n por m.
As matrizes com nmero de linhas n = 1, tais como
[B] = [b1

b2

bm ]

so chamadas vetores linha. Observe que, por simplicidade, o primeiro ndice de cada
elemento foi omitido. Tambm se deve mencionar que, alguma vezes, desejvel empregar uma notao 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 nmero de colunas m = 1, tais como

c1
c2

.

[C] =
.

.
cn
so chamadas de vetores coluna. Por simplicidade, o segundo ndice omitido. Como nos
vetores linha, h ocasies nas quais desejvel empregar uma notao 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 so 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 so particularmente importantes quando resolvemos conjuntos de equaes lineares simultneas. Para tais sistemas, o nmero de equaes (correspondentes s linhas) e o nmero de incgnitas (correspondentes s colunas) devem ser
iguais para que seja possvel uma soluo nica. Conseqentemente, so encontradas
matrizes de coeficientes quadradas quando lidamos com tais sistemas. Alguns tipos especiais de matrizes quadradas so descritas no Quadro PT3.1.
PT3.2.2 Regras de Operaes Matriciais
Agora que foi especificado o que queremos dizer por matriz, pode-se definir certas operaes que governam o seu uso. Duas matrizes n por m so 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 adio de duas matrizes, digamos [A] e [B], feita somando-se os termos correspondentes em cada matriz. Os elementos da matriz resultante [C] so calculados por
ci j = ai j + bi j
para i = 1, 2, . . . , n e j = 1, 2, . . . , m. Analogamente, a subtrao 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 definies que a adio e
a subtrao podem ser efetuadas apenas entre matrizes com as mesmas dimenses.

EQUAES ALGBRICAS LINEARES

192

Quadro PT3.1

Tipos Especiais de Matrizes Quadradas

H algumas formas especiais de matrizes quadradas que so importantes e devem ser observadas:
Uma matriz simtrica aquela em que aij = aji para todos os
is e js. Por exemplo,

5 1 2

[A] = 1 3 7
2 7 8

O smbolo [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 so zero, como em

a11 a12 a13 a14

a22 a23 a24

[A] =

a33 a34
a44

uma matriz 3 por 3 simtrica.


Uma matriz diagonal uma matriz quadrada cujos elementos
fora da diagonal principal so iguais a zero, como em

a11

a22

[A] =

a33
a44
Observe que, quando blocos grandes de elementos so nulos, eles
so deixados em branco.
Uma matriz-identidade uma matriz diagonal na qual todos
os elementos da diagonal principal so iguais a 1, como em

[I ] =

1
1

Uma matriz triangular inferior uma matriz em que todos os


elementos acima da diagonal principal so zero, como em

a11

21 a22
[A] =

a31 a32 a33


a41 a42 a43 a44
Uma matriz de banda
zero, com a possvel exceo
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 adio e a subtrao, so comutativas:


[A] + [B] = [B] + [A]
A adio e a subtrao so tambm associativas, isto ,
([A] + [B]) + [C] = [A] + ([B] + [C])
A multiplicao 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]
so definidos por (ver Quadro PT3.2 para uma forma simples de visualizar a multiplicao de matrizes)
ci j =

n


aik bk j

(PT3.2)

k=1

onde n o nmero de colunas de [A] e o nmero 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 MATEMTICOS

Quadro PT3.2

Um Mtodo Simples para Multiplicar Duas Matrizes

Apesar de a Equao (PT3.2) ser bem apropriada para ser implementada em um computador, ela no a forma mais simples de visualizar o mecanismo de multiplicao de duas matrizes. O que
segue d uma expresso mais concreta operao.
Suponha que queremos multiplicar [X ] por [Y ] para obter
[Z ],

3 1

5 9
[Z ] = [X][Y ] = 8 6
7 2
0 4
Uma forma simples de visualizar o clculo de [Z ] levantar [Y ],
como em

3 1
[X] 8 6
0 4

5 9
7 2
?

193

5 9
7 2

3 1 3 5 + 1 7 = 22
8 6

0 4

22
3 1
8 6 8 5 + 6 7 = 82
0 4

[Y ]

Agora, a resposta [Z ] pode ser calculada no espao 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 Equao (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

Ento, z11 igual a 22. O elemento z21 pode ser calculado de


maneira similar, como em

5 9
7 2

[Z ]

O clculo continua dessa forma, seguindo o alinhamento das


linhas e colunas, fornecendo o resultado

22 29
[Z ] = 82 84
28 8
Observe como esse mtodo simples torna claro por que impossvel multiplicar duas matrizes se o nmero de colunas da
primeira no for igual ao nmero de linhas da segunda. Alm disso,
observe como ele ilustra que a ordem da multiplicao importante (isto , a multiplicao de matrizes no comutativa).

De acordo com essa definio, a multiplicao de matrizes pode ser efetuada apenas
quando a primeira matriz tem tantas colunas quanto o nmero de linhas da segunda matriz. Ento, se [A] uma matriz n por m, [B] pode ser uma matriz m por l. Nesse caso, a
matriz resultante [C] ter dimenso n por l. Entretanto, se [B] fosse uma matriz l por m,
a multiplicao no poderia ser efetuada. A Figura PT3.3 fornece uma forma fcil de verificar quando duas matrizes podem ser multiplicadas.
Se as dimenses das matrizes forem adequadas, a multiplicao de matrizes ser
associativa,
([A][B])[C] = [A]([B][C])

FIGURA PT3.3

[A]n m

[B]m l [C]n l

Dimenses internas
so iguais; a
multiplicao
possvel
Dimenses externas definem
as dimenses do resultado

194

EQUAES ALGBRICAS LINEARES

e distributiva,
[A]([B] + [C]) = [A][B] + [A][C]
ou
([A] + [B])[C] = [A][C] + [B][C]
Porm, em geral, a multiplicao no comutativa:
[A][B] = [B][A]
Isto , a ordem na multiplicao importante.
A Figura PT3.4 mostra um pseudocdigo 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 varivel temporria, soma, o que feito por duas razes. Primeiro, isso um pouco
mais eficiente, pois o computador precisa determinar a posio de ci, j apenas n l vezes
em vez de n l m vezes. Segundo, a preciso da multiplicao pode ser bastante melhorada declarando-se a soma como uma varivel de dupla preciso (lembre-se da discusso de produtos internos na Seo 3.4.2).
Apesar de a multiplicao ser possvel, a diviso de matrizes no uma operao
definida. Porm, se a matriz [A] for quadrada e no 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 multiplicao de uma matriz pela sua inversa o anlogo da diviso, no sentido
de que um nmero dividido por si mesmo igual a 1. Isto , a multiplicao de uma matriz pela sua inversa resulta na matriz identidade (lembre-se do Quadro PT3.1).
A inversa de uma matriz quadrada de dimenso 2 pode ser representada simplesmente por

1
a22 a12
1
[A] =
(PT3.4)
a11
a11 a22 a12 a21 a21
Frmulas semelhantes para matrizes de dimenso maior so muito mais complexas. Algumas sees nos Captulos 10 e 11 sero dedicadas a tcnicas para usar mtodos numricos e o computador para calcular a inversa de tais matrizes.
Duas outras manipulaes de matrizes que tero utilidade na nossa discusso so a
transposta e o trao 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 MATEMTICOS

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 funes 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} =

3
c4
ento
{C}T = c1

c2

c3

c4 

onde o sobrescrito T designa a transposta. Por exemplo, isso pode economizar espao
quando escrevemos um vetor coluna em um texto. Alm disso, a transposta tem inmeras
aplicaes matemticas.
O trao 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 trao ser utilizado na discusso sobre autovalores no Captulo 27.


A ltima manipulao de matrizes que ter utilidade na nossa discusso o aumento.
A matriz aumentada pela adio 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 dimenso 3 por 6:

a11

[A] = a21
a31

a12
a22
a32

a13
a23
a33

1 0 0
0 1 0
0 0 1

Tal expresso tem utilidade quando preciso efetuar um conjunto de operaes idnticas
em duas matrizes. Assim, pode-se efetuar as operaes na matriz aumentada em vez de
faz-lo nas duas matrizes individuais.
PT3.2.3 Representando Equaes Algbricas Lineares na Forma
Matricial
Deve ficar claro que as matrizes fornecem uma notao concisa para representar equaes
lineares simultneas. Por exemplo, a Equao (PT3.1) pode ser expressa por
[A]{X} = {B}

(PT3.5)

196

EQUAES ALGBRICAS 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 

e {X} o vetor coluna n  1 de incgnitas:


{X}T = x1

x2 xn 

Recorde a definio de multiplicao de matrizes [Equao (PT3.2) ou Quadro PT3.2]


para se convencer de que as Equaes (PT3.1) e (PT3.5) so equivalentes. Alm disso,
observe que a Equao (PT3.5) uma multiplicao de matrizes vlida, pois o nmero de
colunas, n, da primeira matriz [A] igual ao nmero de linhas, n, da segunda matriz {X}.
Esta parte do livro dedicada a resolver a Equao (PT3.5), para determinar {X}.
Uma maneira formal de obter a soluo usando lgebra de matrizes multiplicar cada
lado da equao pela inversa de [A] para obter
[A]1 [A]{X} = [A]1 {B}
Como [A]1[A] igual matriz-identidade, a equao se torna
{X} = [A]1 {B}

(PT3.6)

Ento, a equao foi resolvida e {X} foi determinado. Esse um outro exemplo de como
a inversa desempenha um papel na lgebra de matrizes que semelhante diviso. Devemos observar que esse no um mtodo muito eficiente para resolver um sistema de
equaes. Portanto, outras abordagens so empregadas nos algoritmos numricos. Entretanto, como discutido no Captulo 10, a prpria matriz inversa tem grande importncia na
anlise de tais sistemas.
Finalmente, algumas vezes, ser til aumentar [A] com {B}. Por exemplo, se n = 3,
isso resulta na matriz de dimenses 3 por 4:

a11 a12 a13


b1
[A] = a21 a22 a23
b2
(PT3.7)
a31

a32

a33

b3

Expressar as equaes nessa forma til, pois diversas tcnicas para resolver sistemas lineares executam operaes idnticas na linha de coeficientes e na constante correspondente do lado direito da equao. Como mostrado na Equao (PT3.7), pode-se
efetuar a manipulao 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 ORIENTAO
Antes de prosseguir para os mtodos numricos, mais um pouco de orientao pode ser
til. A seo a seguir tem a inteno de fornecer uma viso geral do material discutido na
Parte Trs. Alm disso, formulamos alguns objetivos para ajud-lo a concentrar seus esforos quando estudar este material.
PT3.3.1 Escopo e Viso Geral
A Figura PT3.5 fornece uma viso geral da Parte Trs. O Captulo 9 dedicado tcnica
mais fundamental para resolver sistemas algbricos lineares: eliminao de Gauss. Antes
de uma discusso detalhada dessa tcnica, uma seo preliminar trata dos mtodos simples para resolver sistemas pequenos. Essas tcnicas so apresentadas para fornecer uma

PT3.3 ORIENTAO

197

percepo visual e porque um dos mtodos a eliminao de incgnitas representa a


base da eliminao de Gauss.
Depois do material preliminar, a eliminao de Gauss ingnua discutida.
Comeamos com essa verso simplificada porque ela permite que a tcnica fundamental
seja elaborada, sem detalhes complicados. Ento, nas sees subseqentes, sero discutidos problemas em potencial da abordagem ingnua e apresentadas diversas modificaes
pra minimizar e contornar esses problemas. O foco da discusso ser o processo de permutar linhas, ou o pivotamento parcial.
O Captulo 10 comea ilustrando como a eliminao de Gauss pode ser formulada
como uma decomposio LU. Tais tcnicas de soluo so valiosas para os casos em que
muitos vetores do lado direito precisam sem calculados. mostrado como esse atributo
permite o clculo eficiente da matriz inversa, o que tem tremenda utilidade na prtica da
engenharia. O captulo termina com uma discusso do condicionamento de matrizes. O
nmero de condicionamento apresentado como uma medida da perda de algarismos significativos de acurcia que pode ocorrer ao se resolver matrizes mal condicionadas.

FIGURA PT3.5
Esquema da organizao do material na Parte Trs: Sistemas de Equaes Algbricas Lineares.

PT 3.1
Motivao

PT 3.6
Mtodos
avanados

PT 3.2
Fundamentos
matemticos

PARTE 3

PT 3.3
Orientao

9.1
Sistemas
pequenos

9.2
Eliminao de
Gauss ingnua

Equaes
Algbricas
Lineares

PT 3.5
Frmulas
importantes

EPLOGO

9.3
Armadilhas dos
mtodos de
eliminao

CAPTULO 9

9.4
Tcnicas para
melhorar solues

Eliminao
de Gauss

9.5
Sistemas
complexos

PT 3.4
Prs e contras
9.7
Gauss-Jordan

10.1
Decomposio
LU

12.4
Engenharia
mecnica

12.3
Engenharia
eltrica

9.6
Sistemas de
equaes
no-lineares

CAPTULO 12

CAPTULO 10

Estudos de Caso:
Equaes
Algbricas
Lineares

Decomposio LU
e Inverso de
Matrizes

10.2
A matriz
inversa

CAPTULO 11
12.2
Engenharia
civil

10.3
Condicionamento
do sistema

Matrizes Especiais
e Gauss-Seidel
12.1
Engenharia
qumica

11.3
Bibliotecas
e pacotes

11.1
Matrizes
especiais
11.2
GaussSeidel

198

EQUAES ALGBRICAS LINEARES

O comeo do Captulo 11 se concentra em tipos especiais de sistemas de equaes


que tm ampla gama de aplicaes na engenharia. Em particular, so apresentadas tcnicas eficientes para resolver sistemas tridiagonais. Ento, o resto do captulo se concentra
em uma alternativa para os mtodos de eliminao chamada mtodo de Gauss-Seidel.
Essa tcnica semelhante aos mtodos de aproximao de razes de equaes que foram
discutidos no Captulo 6. Isto , a tcnica envolve escolher uma soluo aproximada e
ento iterar para obter uma estimativa refinada. O captulo termina com informaes relacionadas resoluo de equaes algbricas lineares com pacotes e bibliotecas de software.
O Captulo 12 mostra como os mtodos podem de fato ser aplicados para resolver
problemas. Como em outras partes do livro, as aplicaes so extradas de todos os campos da engenharia.
Finalmente, um eplogo includo no final da Parte Trs. Essa reviso inclui uma
discusso dos prs e contras relevantes para a implementao dos mtodos na prtica da
engenharia. A seo tambm resume as frmulas importantes e os mtodos avanados
relacionados s equaes algbricas lineares. Assim, ela pode ser usada antes dos exames
ou como lembrete depois que voc se formar e precisar voltar s equaes algbricas lineares como profissional.
PT3.3.2 Metas e Objetivos
Objetivos de Estudo. Aps completar a Parte Trs, voc deve ser capaz de resolver problemas envolvendo equaes algbricas lineares e apreciar a aplicao dessas equaes em
vrias reas da engenharia. Deve tentar dominar as diversas tcnicas e avaliar sua confiabilidade. E deve entender os prs e contras envolvidos na escolha do melhor mtodo (ou
mtodos) para qualquer problema particular. Alm desses objetivos gerais, os conceitos especficos listados na Tabela PT3.1 precisam ser assimilados e dominados.
Objetivos Computacionais. Seu objetivo computacional mais importante ser capaz
de resolver um sistema de equaes algbricas lineares e calcular a matriz inversa. Voc
certamente vai querer ter subprogramas desenvolvidos para decomposio LU de matrizes cheias ou tridiagonais. E tambm pode querer ter seu prprio software para implementar o mtodo de Gauss-Seidel.
necessrio saber como usar pacotes para resolver equaes algbricas lineares e
determinar a matriz inversa. E se familiarizar com a forma pela qual os mesmos clculos
podem ser implementados com pacotes populares tais como o Excel ou o MATLAB,
assim como com bibliotecas de software.
TABELA PT3.1 Objetivos especficos de estudo para a Parte Trs.
1. Entender a interpretao grfica dos sistemas mal condicionados e como isso se relaciona com o
determinante.
2. Estar familiarizado com a terminologia: eliminao progressiva, substituio regressiva, equao
piv, coeficiente piv.
3. Entender os problemas provenientes de diviso por zero, erros de arredondamento e mal
condicionamento.
4. Saber calcular o determinante usando a eliminao de Gauss.
5. Entender as vantagens do pivotamento; perceber a diferena entre o pivotamento parcial e o completo.
6. Saber a diferena fundamental entre a eliminao de Gauss e o mtodo de Gauss-Jordan e qual o
mais eficiente.
7. Reconhecer como a eliminao de Gauss pode ser formulada como uma decomposio LU.
8. Saber como incorporar o pivotamento e a inverso de matrizes em um algoritmo de decomposio LU.
9. Saber como interpretar os elementos da matriz inversa no clculo de respostas a estmulos 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 simtricos podem ser decompostos e resolvidos eficientemente.
12. Entender por que o mtodo de Gauss-Seidel particularmente apropriado para sistemas de equaes
grandes e esparsos.
13. Saber como avaliar a dominncia diagonal de um sistema de equaes e como isso se relaciona
com o fato de esse sistema poder ou no ser resolvido pelo mtodo de Gauss-Seidel.
14. Entender o argumento por trs do relaxamento; saber onde sub-relaxamento e sobre-relaxamento so
apropriados.

CAPTULO

9
Eliminao de Gauss
Este captulo trata das equaes algbricas lineares simultneas 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 as so coeficientes constantes e os bs so constantes.
A tcnica descrita neste captulo chamada de eliminao de Gauss, pois envolve
combinar equaes para eliminar variveis. Apesar de ser um dos mtodos mais antigos
para resolver equaes simultneas, mantm-se como um dos algoritmos mais importantes em uso hoje em dia e a base da resoluo de equaes lineares em muitos pacotes
de software populares.

9.1

RESOLUO DE UM NMERO PEQUENO DE EQUAES


Antes de prosseguir para os mtodos computacionais, sero descritos vrios mtodos que so
apropriados para resolver um conjunto pequeno de equaes simultneas (n 3) e que no
exigem um computador: o mtodo grfico, a regra de Cramer e a eliminao de variveis.
9.1.1 O Mtodo Grfico
Uma soluo grfica para duas equaes pode ser obtida esboando-se seus grficos em
coordenadas cartesianas, com um eixo correspondente a x1 e o outro a x2. Como estamos
lidando com sistemas lineares, cada equao uma reta. Isso pode ser facilmente
ilustrado para as equaes na forma geral
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 = b2
Pode-se isolar x2 nas duas equaes:
 
a11
b1
x1 +
x2 =
a12
a12
 
a21
b2
x1 +
x2 =
a22
a22
Assim, as equaes esto agora na forma de equaes de retas: isto , x2  (inclinao)
x1  interseco com o eixo. Essas retas podem ser traadas em coordenadas cartesianas
com x2 como a ordenada e x1 como a abscissa. Os valores de x1 e x2 na interseco das
retas representam a soluo.
199

ELIMINAO DE GAUSS

200

EXEMPLO 9.1

O Mtodo Grfico para Duas Equaes


Enunciado do Problema. Use o mtodo grfico para resolver o sistema
3x1 + 2x2 = 18
x1 + 2x2 = 2
Soluo.

(E9.1.1)
(E9.1.2)

Seja x1 a abscissa. Isole x2 na Equao (E9.1.1):

3
x2 = x1 + 9
2
que, quando traada na Figura 9.1, uma reta que intercepta o eixo x2 em 9 e cuja inclinao 3/2.
Tambm se pode isolar x2 na Equao (E9.1.2):
x2 =

1
x1 + 1
2

que tambm est traada na Figura 9.1. A soluo a interseco das duas retas em
x1 = 4 e x2 = 3. Esses resultados podem ser verificados substituindo esses valores nas
equaes originais, o que leva a
3(4) + 2(3) = 18
(4) + 2(3) = 2
Assim, os resultados coincidem com o lado direito das equaes originais.

FIGURA 9.1
Soluo grfica de um conjunto de duas equaes algbricas lineares simultneas. A interseco
das retas representa a soluo.

x2

8
3x 1

2x 2

18

Soluo: x1  4; x2  3
4

x 1

x2
2

2

x1

Para trs equaes simultneas, cada equao ser representada por um plano em um
sistema de coordenadas tridimensional. O ponto no qual os planos se interceptam ir representar a soluo. Para mais de trs equaes, os mtodos grficos no funcionam e, conseqentemente, tm pouco valor prtico para resolver equaes simultneas. Apesar disso,
s vezes so teis para visualizar propriedades das solues. Por exemplo, a Figura 9.2

9.1 RESOLUO DE UM NMERO PEQUENO DE EQUAES

x2

x2

x2
x2
1 x1 

1

2

1 x1
2

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
Descrio grfica de sistemas singulares e mal condicionados: (a) nenhuma soluo, (b) infinitas solues e (c) sistemas
mal condicionados, nos quais as inclinaes so to prximas que o ponto de interseco difcil de detectar
visualmente.

descreve trs casos que podem ser problemticos quando se resolve um conjunto de
equaes lineares. A Figura 9.2a mostra o caso em que duas equaes representam retas
paralelas. Para tais situaes, no h soluo, pois as retas no se cruzam. A Figura 9.2b
mostra o caso em que as duas retas so coincidentes. Para tais situaes, h um nmero infinito de solues. Ambos os tipos de sistemas so chamados de singulares. Alm desses,
sistemas que esto muito prximos de serem singulares (Figura 9.2c) tambm podem
causar problemas. Esses sistemas so chamados de mal condicionados. Graficamente, isso
corresponde ao fato de que difcil identificar o ponto exato no qual as retas se interceptam. Os sistemas mal condicionados tambm causaro problemas quando forem encontrados durante as solues numricas de equaes lineares, porque so extremamente sensveis a erros de arredondamento (lembre-se da Seo 4.2.3).
9.1.2 Determinantes e a Regra de Cramer
A regra de Cramer outra tcnica de resoluo que mais bem adequada a um pequeno
nmero de equaes. Antes de descrever esse mtodo, ser apresentado brevemente o
conceito de determinante, que usado para implementar a regra de Cramer. Alm disso,
o determinante relevante para avaliar o mal condicionamento de uma matriz.
Determinantes. O determinante pode ser ilustrado para um conjunto de trs equaes:
[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 equao, como em

a11 a12 a13

D =

a21 a22 a23

(9.2)

31 a32 a33
Apesar de o determinante D e a matriz dos coeficientes [A] serem compostos dos mesmos
elementos, so conceitos matemticos completamente diferentes. Por essa razo, so 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 nmero.
Por exemplo, o valor do determinante de segunda ordem

a11 a12

D =

a
a

21

22

ELIMINAO DE GAUSS

202

calculado por
D = a11 a22 a12 a21

(9.3)

Para o caso de terceira ordem [Equao (9.2)], o valor numrico do determinante pode ser
calculado por

a22 a23

a21 a23

a21 a22

D = a11

a12

+ a13

(9.4)
a32 a33

a31 a33

a31 a32

onde os determinantes dois por dois so 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.
Soluo.

Para a Figura 9.1:

3 2

= 3(2) 2(1) = 8
D=

1 2

Para a Figura 9.2a:




1/2 1
1
1

=0
(1) 1
D=

=
1/2 1

2
2
Para a Figura 9.2b:

1/2 1
1

=
D=

(2) 1(1) = 0
1 2

2
Para a Figura 9.2c:




1/2 1
1
2,3

= 0,04
D=

(1) 1
=
2,3/5 1

2
5

No exemplo precedente, os sistemas singulares tm determinantes nulos. Alm


disso, os resultados sugerem que o sistema que quase singular (Figura 9.2c) tem um
determinante prximo de zero. Essas idias sero examinadas mais a fundo na discusso
subseqente de mal condicionamento (Seo 9.3.3).
Regra de Cramer. Essa regra estabelece que cada incgnita em um sistema de
equaes algbricas lineares pode ser expressa como uma frao de dois determinantes,
com denominador D e com o numerador obtido a partir de D trocando-se a coluna de
coeficientes da incgnita em questo pelas constantes b1, b2, . . . , bn. Por exemplo, x1
calculada por

b1 a12 a13

b2 a22 a23

b a
3
32 a33
x1 =
(9.5)
D
EXEMPLO 9.3

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.1 RESOLUO DE UM NMERO PEQUENO DE EQUAES

203

Soluo.

O determinante D pode ser escrito como [Equao (9.2)]

0,3 0,52 1

D =

0,5
1
1,9

0,1 0,3 0,5

Os menores so [Equao (9.3)]

1 1.9

= 1(0,5) 1,9(0,3) = 0,07


A1 =

0,3 0,5

0,5 1,9

= 0,5(0,5) 1,9(0,1) = 0,06


A2 =

0,1 0,5

0,5 1

= 0,5(0,3) 1(0,1) = 0,05


A3 =

0,1 0,3

Esses podem ser usados para calcular o determinante, como em [Equao (9.4)]
D = 0,3(0,07) 0,52(0,06) + 1(0,05) = 0,0022
Aplicando a Equao (9.5), a soluo

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
x3 =
=
= 19,8
0,0022
0,0022

Para mais de trs equaes, a regra de Cramer torna-se impraticvel, pois medida
que o nmero de equaes cresce, os determinantes demoram mais para ser calculados
mo (ou pelo computador). Conseqentemente, so usadas alternativas mais eficientes.
Algumas dessas alternativas so baseadas na ltima tcnica de soluo no-computacional, estudada na prxima seo a eliminao de variveis.
9.1.3 A Eliminao de Variveis
A eliminao de variveis pela combinao de equaes uma abordagem algbrica que
pode ser ilustrada para um conjunto de duas equaes:
a11 x1 + a12 x2 = b1

(9.6)

a21 x1 + a22 x2 = b2

(9.7)

A estratgia bsica multiplicar as equaes por constantes de modo que uma das variveis seja eliminada quando as duas equaes so combinadas. O resultado uma nica
equao que pode ser resolvida determinando a varivel restante. Ento, esse valor pode
ser substitudo em qualquer uma das equaes originais para calcular a outra varivel.
Por exemplo, a Equao (9.6) pode ser multiplicada por a21 e a Equao (9.7) por a11
para fornecer

ELIMINAO 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 Equao (9.8) da Equao (9.9) ir, portanto, eliminar o termo x1 da


equao, 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 Equao (9.10) pode ento ser substituda na Equao (9.6), a qual resolvida por
x1 =

a22 b1 a12 b2
a11 a22 a12 a21

(9.11)

Observe que as Equaes (9.10) e (9.11) seguem diretamente da regra de Cramer, a qual
afirma que

b1 a12

b2 a22

b a a12 b2

= 1 22
x1 =

a11 a12

a11 a22 a12 a21

a
21
22

a11 b1

a21 b2

a b b1 a21

= 11 2
x2 =

a11 a12

a
11 a22 a12 a21

21 a22

EXEMPLO 9.4

Eliminao de Variveis
Enunciado do Problema. Use a eliminao de variveis para resolver (lembre-se do
Exemplo 9.1)
3x1 + 2x2 = 18
x1 + 2x2 = 2
Soluo.

Usando as Equaes (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 soluo grfica ( Figura 9.1).

A eliminao de variveis pode ser estendida a sistemas com mais do que duas ou
trs equaes. Porm, os numerosos clculos necessrios para sistemas maiores tornam
o mtodo extremamente tedioso para ser implementado mo. Mas, como se ver
na prxima seo, a tcnica pode ser formalizada e rapidamente programada para o
computador.

9.2 ELIMINAO DE GAUSS INGNUA

9.2

205

ELIMINAO DE GAUSS INGNUA


Na seo anterior, a eliminao de variveis foi usada para resolver um par de equaes
simultneas. O processo consiste em dois passos:
1.

2.

As equaes so manipuladas para eliminar uma das variveis das equaes. O


resultado desse passo de eliminao foi que se obteve uma equao com uma
varivel.
Conseqentemente, essa equao pode ser resolvida diretamente e o resultado
substitudo regressivamente em uma das equaes originais para determinar a
varivel remanescente.

Essa abordagem bsica pode ser estendida a conjuntos maiores de equaes desenvolvendo-se um esquema sistemtico ou um algoritmo para eliminar variveis e substituir
regressivamente. A eliminao de Gauss o mais bsico desses esquemas.
Esta seo inclui tcnicas sistemticas para eliminao progressiva e substituio regressiva que compem a eliminao de Gauss. Apesar de essas tcnicas serem hipoteticamente adequadas para implementao em computadores, algumas modificaes sero
necessrias para se obter um algoritmo confivel. Em particular, o programa de computador deve evitar a diviso por zero. O mtodo a seguir chamado de eliminao de Gauss
ingnua porque no evita esse problema. Sees subseqentes iro tratar das caractersticas adicionais necessrias para um programa de computador efetivo.
A abordagem planejada para resolver um conjunto arbitrrio de n equaes:
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 soluo de duas equaes, a tcnica para n


equaes consiste em duas fases: a eliminao de variveis e a soluo por meio da
substituio regressiva.
Eliminao Progressiva de Variveis. A primeira fase projetada para reduzir o conjunto de equaes a um sistema triangular superior (Figura 9.3). O passo inicial ser
eliminar a primeira varivel, x1, da segunda at a n-sima equao. Para fazer isso, multiplique a Equao (9.12a) por a21/a11 para obter

FIGURA 9.3
As duas fases da eliminao
de Gauss: eliminao
progressiva e substituio
regressiva. As linhas indicam
o nmero 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
a22 a23
a33

Eliminao
progressiva

b1
b2
b3

x3 = b3/a33
x2 = (b2 a23x3)/a22
x1 = (b1 a12x2 a13x3)/a11

Substituio
regressiva

206

ELIMINAO DE GAUSS

a21 x1 +

a21
a21
a21
a12 x2 + +
a1n xn =
b1
a11
a11
a11

(9.13)

Agora, essa equao pode ser subtrada da Equao (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 equaes seguintes. Por exemplo, a Equao (9.12a)
pode ser multiplicada por a31/a11 e o resultado, subtrado da terceira equao. Repetindo
o procedimento para as equaes restantes, obtm-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 Equao (9.12a) chamada de equao 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 operao de diviso chamada de normalizao. Fazemos essa distino
porque um elemento piv nulo pode interferir na normalizao, j que provoca uma diviso por zero. Voltaremos a esse assunto importante depois de completar a descrio da
eliminao de Gauss ingnua.
Agora, repita o que foi feito para eliminar a segunda varivel das Equaes (9.14c)


/a22
e subtraia o
at (9.14d). Para fazer isso, multiplique a Equao (9.14b) por a32
resultado da Equao (9.14c). Faa uma eliminao semelhante nas equaes 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 equaes piv remanescentes. A ltima coisa a
fazer usar a (n 1)-sima equao para eliminar o termo xn1 da n-sima equao.
Nesse ponto, o sistema ter sido transformado em um sistema triangular superior (lembre-se
do Quadro PT3.1):

9.2 ELIMINAO DE GAUSS INGNUA

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)

.
.
.

(n1)
xn = bn(n1)
ann

(9.15d)

Um pseudocdigo para implementar a eliminao progressiva apresentado na


Figura 9.4a. Observe que trs laos encaixados fornecem uma representao concisa do
processo. O lao exterior move-se para baixo na matriz de uma linha piv para a prxima.
O lao do meio move-se para baixo da linha piv, para cada uma das linhas subseqentes
onde a eliminao efetuada. Finalmente, o lao interior progride ao longo das colunas
para eliminar ou modificar os elementos de uma linha particular.
Substituio Regressiva.
terminar xn:
xn =

A Equao (9.15d) pode agora ser resolvida para de-

bn(n1)

(9.16)

(n1)
ann
Esse resultado pode ser substitudo de volta na (n l)-sima equao para determinar
xn1. O processo, que repetido para determinar os xs remanescentes, pode ser representado pela seguinte frmula:
n

bi(i1)
ai(i1)
xj
j

xi =

j=i+1

aii(i1)

para i = n 1, n 2, . . . , 1

(9.17)

Um pseudocdigo para implementar as Equaes (9.16) e (9.17) apresentado na


Figura 9.4b. Observe a semelhana entre esse pseudocdigo e aquele na Figura PT3.4
para a multiplicao de matrizes. Como na Figura PT3.4, uma varivel temporria, soma,
usada para acumular as somas da Equao (9.17). Isso resulta em uma execuo um
pouco mais rpida do que se as somas fossem acumuladas em bi. Mais importante, permite um aperfeioamento eficiente se a varivel, soma, for declarada em dupla preciso.

FIGURA 9.4
Pseudocdigo para efetuar
(a) eliminao progressiva e (b)
substituio 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

ELIMINAO DE GAUSS

208

EXEMPLO 9.5

Eliminao de Gauss Ingnua


Enunciado do Problema. Use eliminao 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 clculos.


Soluo. A primeira parte do processo a eliminao progressiva. Multiplique a
Equao (E9.5.1) por (0,1)/3 e subtraia o resultado da Equao (E9.5.2) para obter
7,00333x2 0,293333x3 = 19,5617
Ento, multiplique a Equao (E9.5.1) por (0,3)/3 e subtraia da Equao (E9.5.3) para
eliminar x1. Depois dessas operaes, o conjunto de equaes
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 eliminao progressiva, x2 deve ser removida da Equao (E9.5.6). Para
fazer isso, multiplique a Equao (E9.5.5) por 0,190000/7,00333 e subtraia o resultado
da Equao (E9.5.6). Isso elimina x2 da terceira equao 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, possvel resolver essas equaes por substituio regressiva. Primeiro, a


Equao (E9.5.9) pode ser resolvida para determinar
70,0843
x3 =
= 7,0000
(E9.5.10)
10,0120
Esse resultado pode ser substitudo na Equao (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 Equaes (E9.5.10) e (E9.5.11) podem ser substitudas na Equao


(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 so idnticos soluo exata x1 = 3, x2 = 2,5 e x3 = 7. Isso pode ser


verificado substituindo-se os resultados no conjunto original de equaes
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 ELIMINAO DE GAUSS INGNUA

209

9.2.1 Contando Operaes


O tempo de execuo da eliminao de Gauss depende da quantidade de operaes com
ponto flutuante (ou flops) envolvidas no algoritmo. Em computadores modernos usando
co-processadores matemticos, o tempo consumido para efetuar uma adio/subtrao ou
uma multiplicao/diviso mais ou menos o mesmo. Portanto, a contagem dessas operaes fornece informao sobre quais partes do algoritmo consomem mais tempo e sobre
como o tempo de computao cresce medida que o sistema fica maior.
Antes de analisar a eliminao de Gauss ingnua, primeiro preciso definir algumas
quantidades que facilitam a contagem de operaes:
m

c f (i) = c

i=1
m

i=1
m

f (i)

i=1

f (i) + g(i) =

i=1

f (i) +

i=1
m

1 = 1 + 1 + 1 + + 1 = m

g(i)

(9.18a,b)

i=1

1=mk+1

(9.18c,d)

m(m + 1)
m2
=
+ O(m)
2
2

(9.18e)

i=k

i = 1 + 2 + 3 + + m =

i=1
m

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 eliminao de Gauss ingnua (Figura 9.4a) examinado em detalhes. Primeiro, contam-se os flops no estgio de eliminao. Na primeira
passagem pelo lao exterior, k = 1. Ento, os limites no lao do meio so de i = 2 at n.
De acordo com a Equao (9.18d), isso significa que o nmero de iteraes do lao do
meio ser
n

1=n2+1=n1

(9.19)

i=2

Para cada uma dessas iteraes h uma diviso para definir o fator. Ento, o lao interior
executa uma nica multiplicao e subtrao para cada iterao de j = 2 at n. Finalmente, h uma multiplicao e uma subtrao adicionais para determinar o valor do lado
direito. Assim, para cada iterao do lao do meio, o nmero de multiplicaes
1 + [n 2 + 1] + 1 = 1 + n

(9.20)

O total de multiplicaes para a primeira passagem pelo lao exterior , portanto, obtida
pela multiplicao da Equao (9.19) pela Equao (9.20), o que d [n 1](1 + n). De
modo semelhante, o nmero de subtraes calculado como [n 1](n).
Raciocnios semelhantes podem ser usados para estimar os flops para as iteraes
subseqentes do lao exterior. Isso pode ser resumido por

Lao Exterior
k

Lao do Meio
i

Flops
Adio/Subtrao

Flops
Multiplicao/Diviso

1
2

n1

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

ELIMINAO DE GAUSS

Ento, o total de flops de adio/subtrao para a eliminao pode ser calculado por
n1
n1


(n k)(n + 1 k) =
[n(n + 1) k(2n + 1) + k 2 ]
k=1

k=1

ou
n(n + 1)

n1

1 (2n + 1)

n1

k=1

k+

k=1

n1

k2

k=1

Aplicar algumas das relaes da Equao (9.18) resulta em




1 3
n3
3
3
2
2
+ O(n)
[n + O(n)] [n + O(n )] + n + O(n ) =
3
3

(9.21)

Uma anlise parecida para os flops de multiplicao/diviso resulta em




1 3
n3
3
2
3
2
+ O(n 2 )
[n + O(n )] [n + O(n)] + n + O(n ) =
3
3

(9.22)

Somando os resultados, tem-se


2n 3
+ O(n 2 )
3
Assim, o nmero 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 desprezveis. Pode-se ento
concluir, justificadamente, que para n grande, o esforo envolvido na eliminao progressiva converge para 2n 3 /3.
Como apenas um nico lao foi utilizado, a substituio regressiva muito mais simples de ser avaliada. O nmero de flops de adio/subtrao igual a n(n 1)/2. Por
causa da diviso extra anterior ao lao, o nmero de flops de multiplicao/diviso
n(n + 1)/2. Isso pode ser somado para se obter um total de
n 2 + O(n)
Assim, o esforo total na eliminao de Gauss ingnua pode ser representado por
2n 3
2n 3
ncresce

+ O(n 2 ) + n 2 + O(n) quando


+ O(n 2 )
3
3
Eliminao
progressiva

(9.23)

Substituio
regressiva

Duas concluses gerais teis podem ser tiradas dessa anlise:


1.

2.

medida que o sistema fica maior, o tempo de computao cresce bastante. Como
na Tabela 9.1, a quantidade de flops cresce quase trs ordens de grandeza para cada
aumento na ordem de grandeza da dimenso.
A maior parte do esforo vem do passo de eliminao. Assim, os esforos para tornar
o algoritmo mais eficiente devem provavelmente concentrar-se nesse passo.

TABELA 9.1 Nmero de flops para a eliminao de Gauss.

10
100
1000

Eliminao

705
671550
6,67 108

Substituio
Regressiva

Total
de Flops

2n3/3

Percentagem
Devida
Eliminao

100
10000
1 106

805
681550
6,68 108

667
666667
6,67 108

87,58%
98,53%
99,85%

9.3 ARMADILHAS DOS MTODOS DE ELIMINAO

9.3

211

ARMADILHAS DOS MTODOS DE ELIMINAO


Embora existam muitos sistemas de equaes que podem ser resolvidas pela eliminao
de Gauss ingnua, h algumas armadilhas que precisam ser exploradas antes de escrever
um programa de computador geral para implementar o mtodo. Apesar de o material a
seguir se relacionar diretamente ao mtodo de eliminao de Gauss ingnua, a informao relevante tambm para outras tcnicas de eliminao.
9.3.1 Diviso por Zero
A principal razo para que a tcnica anterior seja chamada de ingnua que tanto durante a fase de eliminao quanto durante a de substituio possvel ocorrer uma diviso
por zero. Por exemplo, se for usada a eliminao de Gauss ingnua para resolver
2x2 + 3x3 = 8
4x1 + 6x2 + 7x3 = 3
2x1 + x2 + 6x3 = 5
a normalizao da primeira linha iria envolver a diviso por a11 = 0. Tambm podem surgir problemas quando um coeficiente est muito prximo de zero. A tcnica de pivotamento foi desenvolvida para evitar parcialmente esses problemas. Ela ser descrita
na Seo 9.4.2.
9.3.2 Erros de Arredondamento
Embora a soluo no Exemplo 9.5 estivesse prxima da resposta verdadeira, havia uma
pequena discrepncia no resultado de x3 [Equao (E9.5.10)]. Essa discrepncia, que corresponde a um erro relativo de 0,00043%, decorreu do uso de seis algarismos significativos durante os clculos. Se tivessem sido usados mais algarismos significativos, o
erro no resultado seria ainda mais reduzido. Se tivessem sido usadas fraes em vez de
decimais (e, conseqentemente, fossem evitados erros de arredondamento), as respostas
seriam exatas. De qualquer forma, como os computadores usam apenas um nmero limitado de algarismos significativos (lembre-se da Seo 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 nmero grande de equaes, por causa do fato de que cada resultado depende dos resultados anteriores. Conseqentemente, um erro nas etapas iniciais
tende a se propagar isto , ir causar erros nas etapas subseqentes.
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
equaes so fatores determinantes. Uma regra emprica que os erros de arredondamento podem ser importantes quando se lida com 100 ou mais equaes. 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 prprios coeficientes podem influenciar no fato de tal verificao de erros
garantir ou no um resultado confivel.
9.3.3 Sistemas Mal Condicionados
A adequao da soluo depende do condicionamento do sistema. Na Seo 9.1.1, foi desenvolvida uma descrio grfica do condicionamento do sistema. Como discutido na
Seo 4.2.3, sistemas bem condicionados so aqueles em que uma pequena mudana em
um ou mais coeficientes resulta em uma pequena mudana similar nas solues. Sistemas
mal condicionados so aqueles para os quais pequenas mudanas nos coeficientes resultam em grandes mudanas nas solues. Uma interpretao alternativa do mal condicionamento que uma gama ampla de respostas pode satisfazer aproximadamente as
equaes. Como os erros de arredondamento podem induzir pequenas mudanas nos
coeficientes, essas mudanas artificiais so capazes de conduzir a erros grandes nas
solues nos sistemas mal condicionados, como ilustrado no seguinte exemplo.

ELIMINAO 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 equao levemente modificado para 1,05.
Soluo.

Usando as Equaes (9.10) e (9.11), a soluo

x1 =

2(10) 2(10,4)
=4
1(2) 2(1,1)

x2 =

1(10,4) 1,1(10)
=3
1(2) 2(1,1)

Entretanto, com a pequena variao do coeficiente a21 de 1,1 para 1,05, o resultado muda
de forma dramtica para
x1 =

2(10) 2(10,4)
=8
1(2) 2(1,05)

x2 =

1(10,4) 1,1(10)
=1
1(2) 2(1,05)

Observe que a razo principal para as discrepncias entre os dois resultados que o
denominador representa a diferena de dois nmeros quase iguais. Como ilustrado previamente na Seo 3.4.2, tais diferenas so altamente sensveis a pequenas variaes nos
nmeros manipulados.
Nesse ponto, voc poderia sugerir que a substituio dos resultados nas equaes
originais deveria alert-lo para o problema. Infelizmente, em geral esse no o caso para
sistemas mal condicionados. A substituio dos valores errados x1 = 8 e x2 = 1 nas
Equaes (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 no sejam a soluo verdadeira, a verificao de erro suficientemente prxima para possivelmente lev-lo a concluir, de maneira errnea, que
essa soluo adequada.

Como foi feito anteriormente na seo sobre mtodos grficos, uma representao visual do mal condicionamento pode ser desenvolvida traando-se as Equaes (E9.6.1) e
(E9.6.2) (lembre-se da Figura 9.2). Como as inclinaes das retas so quase iguais, difcil 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 situao escrevendo as duas equaes na forma geral:
a11 x1 + a12 x2 = b1
(9.24)
a21 x1 + a22 x2 = b2

(9.25)

Dividindo a Equao (9.24) por a12 e a Equao (9.25) por a22 e reorganizando, teremos
verses alternativas que esto no formato de retas [x2 = (inclinao) x1 + interseco
com o eixo]:
a11
x1 +
a12
a21
x2 =
x1 +
a22
x2 =

b1
a12
b2
a22

9.3 ARMADILHAS DOS MTODOS DE ELIMINAO

213

Conseqentemente, se as inclinaes 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 equaes [Equao (9.3)], chega-se concluso geral de que um sistema mal condicionado
aquele com determinante prximo de zero. De fato, se o determinante for exatamente
zero, as duas inclinaes sero idnticas, o que implica que o sistema no tem soluo
ou que tem infinitas solues, como no caso dos sistemas singulares esboados nas Figuras 9.2a e 9.2b.
difcil especificar quo perto de zero o determinante deve estar para indicar mal
condicionamento. Isso complicado pelo fato de que o determinante pode ser alterado
pela multiplicao de uma ou mais das equaes por um fator escalar, sem mudar a
soluo. Conseqentemente, 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 equaes multiplicadas por 10.


Soluo.
(a) O determinante das Equaes (E9.7.1) e (E9.7.2), que so bem condicionadas,
D = 3(2) 2(1) = 8
(b) O determinante das Equaes (E9.7.3) e (E9.7.4), que so mal condicionadas,
D = 1(2) 2(1,1) = 0,2
(c) Os resultados de (a) e (b) parecem levar concluso de que sistemas mal condicionados tm determinantes prximos de zero. Porm, suponha que o sistema mal
condicionado em (b) seja multiplicado por 10 dando
10x1 + 20x2 = 100
11x1 + 20x2 = 104
A multiplicao de uma equao por uma constante no tem efeito na sua soluo.
Alm disso, ele ainda mal condicionado. Isso pode ser verificado pelo fato de que a
multiplicao por uma constante no tem efeito na soluo grfica. Porm, o determinante afetado de maneira dramtica:
D = 10(20) 20(11) = 20
No apenas aumentou duas ordens de grandeza, como agora mais que o dobro do
determinante do sistema bem condicionado em (a).

ELIMINAO DE GAUSS

214

Como ilustrado pelo exemplo anterior, o valor dos coeficientes introduz um efeito de
escala que complica a relao entre condicionamento do sistema e o tamanho do determinante. Uma forma de evitar parcialmente essa dificuldade mudar a escala das equaes
de modo que o elemento mximo em qualquer linha seja igual a 1.
EXEMPLO 9.8

Mudando a Escala
Enunciado do Problema. Faa uma mudana de escala nos sistemas de equaes do
Exemplo 9.7 para um valor mximo 1 e calcule novamente seus determinantes.
Soluo.
(a) Para o sistema bem condicionado, a mudana 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

Clculo de Determinantes Usando Eliminao de Gauss

Na Seo 9.1.2, afirmamos que o clculo de determinantes por expanso em menores era pouco prtico para conjuntos grandes de
equaes. Assim, conclumos que a regra de Cramer seria aplicvel
apenas para sistemas pequenos. No entanto, como foi mencionado
na Seo 9.3.3, o determinante tem utilidade na avaliao do condicionamento do sistema. Seria, portanto, til ter um mtodo prtico
para calcul-lo.
Felizmente, a eliminao de Gauss fornece uma forma simples
de fazer isso. O mtodo 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 afirmao pode ser ilustrada para um sistema


3 por 3:

a11 a12 a13

D =

0 a22 a23

0
0 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 eliminao progressiva na eliminao de Gauss resulta em um sistema triangular superior. Como o
valor do determinante no muda no processo de eliminao progressiva, o determinante pode ser calculado simplesmente no fim
desse processo por


(n1)
D = a11 a22
a33
ann

onde os subscritos significam o nmero de vezes que os elementos


foram modificados pelo processo de eliminao. Assim, podemos
aproveitar o esforo que j foi despendido para reduzir o sistema a
uma forma triangular e, de brinde, obter uma estimativa simples do
determinante.
H uma pequena modificao nessa abordagem quando o programa utiliza pivotamento parcial (Seo 9.4.2). Nesse caso, o determinante troca de sinal toda vez que uma linha pivotada. Uma
forma de representar isso modificar a Equao (Q9.1.2):


(n1)
D = a11 a22
a33
ann
(1) p

onde o determinante pode ser calculado por [lembre-se da Equao 9.4]

a22 a23

a12
0 a23
+ a13
0 a22

D = a11

0 a

0 0

0 a33

33

(Q9.1.2)

(Q9.1.3)

onde p indica o nmero de vezes que as linhas foram pivotadas.


Essa modificao pode ser incorporada de modo simples em um
programa; meramente mantenha controle do nmero de pivotamentos que ocorreram durante os clculos e ento use a Equao
(Q9.1.3) para calcular o determinante.

9.4 TCNICAS PARA MELHORAR SOLUES

215

Em uma seo anterior (Seo 9.1.2), foi sugerido que o determinante difcil de calcular para mais do que trs equaes simultneas. Assim sendo, pode parecer que no
fornece um meio prtico de avaliar o condicionamento do sistema. Porm, como se ver
no Quadro 9.1, existe um algoritmo simples que vem da eliminao de Gauss que pode
ser usado para calcular os determinantes.
Alm da abordagem usada no exemplo anterior, h uma variedade de outras formas de avaliar o condicionamento do sistema. Por exemplo, existem mtodos alternativos para normalizar os elementos (ver Stark, 1970). Alm disso, como descrito no
prximo captulo (Seo 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 soluo. Se tais modificaes levarem a resultados drasticamente diferentes, o sistema provavelmente mal
condicionado.
Como se pode ver da discusso precedente, sistemas mal condicionados so problemticos. Felizmente, em sua maior parte as equaes algbricas lineares originrias de
problemas de engenharia so naturalmente bem condicionadas. Alm disso, algumas tcnicas esboadas na Seo 9.4 ajudam a amenizar o problema.
9.3.4 Sistemas Singulares
Na seo anterior, aprendemos que uma forma pela qual um sistema de equaes pode ser
mal condicionado quando duas ou mais equaes so quase iguais. Obviamente, ainda
pior quando duas equaes so idnticas. Em tais casos, perderamos um grau de liberdade, e estaramos tratando do caso impossvel de n 1 equaes com n incgnitas. Tais
casos podem no ser bvios para voc, particularmente ao lidar com um conjunto grande
de equaes. Conseqentemente, 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 idia pode, por sua vez, ser relacionada eliminao de Gauss, reconhecendo-se que, aps a etapa de eliminao, 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 eliminao. Se algum for descoberto, os clculos podem ser
interrompidos imediatamente e uma mensagem mostrada para alertar o usurio. Sero
mostrados detalhes de como isso feito na apresentao de um algoritmo completo para
a eliminao de Gauss mais adiante neste captulo.

9.4

TCNICAS PARA MELHORAR SOLUES


As seguintes tcnicas podem ser incorporadas ao algoritmo da eliminao de Gauss ingnua para evitar algumas das armadilhas discutidas na seo anterior.
9.4.1 Uso de Mais Algarismos Significativos
O remdio mais simples para o mal condicionamento usar mais algarismos significativos nos clculos. Se sua aplicao puder ser estendida para manipular palavras de
tamanho maior, tal recurso vai reduzir bastante o problema. Entretanto, deve-se pagar um
preo na forma de uso elevado de memria e recursos computacionais associado ao uso
de preciso estendida (lembre-se da Seo 3.4.1).
9.4.2 Pivotamento
Como mencionado no comeo da Seo 9.3, problemas bvios ocorrem quando um
elemento piv zero, pois o passo de normalizao leva a uma diviso por zero. Problemas tambm podem surgir quando o elemento piv muito prximo 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, ento podem ocorrer erros de
arredondamento.

ELIMINAO DE GAUSS

216

Assim, antes que cada linha seja normalizada, vantajoso determinar o maior coeficiente disponvel 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 tambm nas colunas, alm de nas linhas, e ento
trocarmos, o processo chamado de pivotamento completo. O pivotamento completo
usado raramente, pois trocar colunas muda a ordem dos xs e, conseqentemente, acrescenta uma complexidade significativa e normalmente injustificada ao programa de computador. O prximo exemplo ilustra as vantagens do pivotamento parcial. Alm de evitar
a diviso por zero, o pivotamento tambm minimiza os erros de arredondamento. Assim,
serve como um remdio parcial para o mal condicionamento.

EXEMPLO 9.9

Pivotamento Parcial
Enunciado do Problema. Use eliminao 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 prximo de
zero. Ento, repita os clculos, mas use pivotamento parcial, trocando a ordem das
equaes. As solues exatas so x1 = 1/3 e x2 = 2/3.
Soluo.

Multiplicando a primeira equao por 1/(0,0003), obtm-se

x1 + 10,000x2 = 6667
o que pode ser usado para eliminar x1 da segunda equao:
9999x2 = 6666
a qual pode ser resolvida por
x2 =

2
3

Esse resultado pode ser substitudo na primeira equao para calcular x1:
x1 =

2,0001 3(2/3)
0,0003

(E9.9.1)

Entretanto, por causa do cancelamento na subtrao, o resultado muito sensvel ao


nmero de algarismos significativos nos clculos:

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 soluo para x1 altamente dependente do nmero de algarismos significativos. Isso ocorre porque, na Equao (E9.9.1), estamos subtraindo dois nmeros
quase iguais. Por outro lado, se as equaes forem resolvidas na ordem inversa, a linha
com elemento piv maior normalizada. As equaes so
1,0000x1 + 1,0000x2 = 1,0000
0,0003x1 + 3,0000x2 = 2,0001

9.4 TCNICAS PARA MELHORAR SOLUES


p k
maior  |ak,k|
DOFOR ii  k1, 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
Pseudocdigo para implementar
o pivotamento parcial.

217

A eliminao e a substituio resultam em x2 = 2/3. Para nmeros diferentes de algarismos significativos, x1 pode ser calculado da primeira equao, como em
x1 =

1 (2/3)
1

(E9.9.2)

Esse caso muito menos sensvel ao nmero de algarismos significativos nos clculos:

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 estratgia com pivotamento muito mais satisfatria.

Os programas de computador com propsitos gerais devem incluir uma estratgia de


pivotamento. A Figura 9.5 fornece um algoritmo simples para implementar tal estratgia.
Observe que o algoritmo consiste em dois laos principais. Depois de armazenar o elemento
piv atual e o nmero da linha nas variveis, maior e p, o primeiro lao 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 so armazenados em maior e p.
Ento o segundo lao troca a linha do piv original com aquela com o maior elemento para
que essa ltima se torne a nova linha piv. Esse pseudocdigo pode ser integrado a um programa baseado nos outros elementos da eliminao de Gauss esboado 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 aps o comeo
do primeiro lao na Figura 9.4a.
Observe que o segundo IF/THEN construdo na Figura 9.5 troca fisicamente as linhas.
Para matrizes maiores, isso pode tornar-se bastante demorado. Conseqentemente, a maioria dos cdigos no troca de fato as linhas, mas mantm um controle das linhas piv armazenando os ndices apropriados em um vetor. Ento, esse vetor fornece uma base para
especificar a ordenao de linhas apropriada durante a eliminao progressiva e a substituio regressiva. Assim, dizemos que as operaes so implementadas no lugar.
9.4.3 Mudando a Escala
Na Seo 9.3.3, foi proposto que a mudana de escala valiosa na padronizao do
tamanho do determinante. Alm dessa aplicao, ela tem utilidade na minimizao de
erros de arredondamento para aqueles casos nos quais algumas equaes do sistema tm
coeficientes muito maiores que as outras. Tais situaes so encontradas freqentemente
na prtica da engenharia quando unidades muito diferentes so usadas na deduo de
equaes simultneas. Por exemplo, em problemas de circuitos eltricos, 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
equao seja consistente, o sistema ser tecnicamente correto e solvel. 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 prximo exemplo.

ELIMINAO 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
Pseudocdigo para implementao da eliminao de Gauss com pivotamento parcial.

EXEMPLO 9.10

Efeito da Mudana de Escala no Pivotamento e nos Erros de Arredondamento


Enunciado do Problema.
(a) Resolva o seguinte conjunto de equaes usando a eliminao de Gauss e a estratgia
de pivotamento:
2x1 + 100.000x2 = 100.000
x1 +
x2 = 2
(b) Repita a soluo depois de mudar a escala das equaes de modo que o maior
coeficiente em cada linha seja 1.
(c) Finalmente, use os coeficientes normalizados para determinar se o pivotamento
necessrio. Entretanto, resolva de fato as equaes com os valores originais dos
coeficientes. Em todos os casos, trabalhe apenas com trs algarismos significativos.
Observe que as respostas corretas so x1 = 1,00002 e x2 = 0,99998 com trs
algarismos significativos, x1 = x2 = 1,00.

9.4 TCNICAS PARA MELHORAR SOLUES

219

Soluo.
(a) Sem mudar a escala, aplica-se a eliminao progressiva e obtm-se
2x1 + 100.000x2 = 100.000
50.000x2 = 50.000
o que pode ser resolvido por substituio 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 equaes originais, obtm-se
0,00002x1 + x2 = 1
x1 + x2 = 2
Portanto, as linhas devem ser pivotadas para pr o maior valor na diagonal.
x1 + x2 = 2
0,00002x1 + x2 = 1
A eliminao d
x1 + x2 = 2
x2 = 1,00
o que pode ser resolvido por
x1 = x2 = 1
Assim, a mudana de escala conduziu resposta correta.
(c) Os coeficientes depois da mudana de escala indicam que o pivotamento
necessrio. Ento, pivotamos, mas mantemos os coeficientes originais obtendo
x2 = 2
x1 +
2x1 + 100.000x2 = 100.000
A eliminao d
x1 +

x2 = 2
100.000x2 = 100.000

o que pode ser resolvido dando a resposta correta: x1 = x2 = 1. Assim, a mudana de


escala foi til para determinar quando o pivotamento necessrio, mas no foi
necessria uma mudana de escala nas prprias equaes para se chegar a uma
resposta correta.

Como no exemplo anterior, a mudana de escala tem utilidade na minimizao de


erros de arredondamento. No entanto, deve ser observado que a prpria mudana de escala tambm leva a erros de arredondamento. Por exemplo, dada a equao
2x1 + 300.000x2 = 1
e usando trs algarismos significativos, a mudana de escala leva a
0,00000667x1 + x2 = 0,00000333

ELIMINAO DE GAUSS

220

Assim, a mudana de escala introduz um erro de arredondamento no primeiro coeficiente


e na constante do lado direito. Por essa razo, s vezes recomendamos que a mudana 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 critrio para
pivotamento, mas os coeficientes originais so mantidos nos clculos da eliminao e
substituio propriamente ditos. Isso envolve prs e contras se o determinante estiver
sendo calculado como parte do programa. Isto , o determinante resultante no estar na
nova escala. Entretanto, como muitas aplicaes da eliminao de Gauss no exigem o
clculo do determinante, essa a abordagem mais comum e ser usada no algoritmo da
prxima seo.
9.4.4 Algoritmo Computacional para a Eliminao 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 eliminao de Gauss. A Figura 9.6 mostra um
algoritmo para uma sub-rotina geral que implemente a eliminao de Gauss.
Observe que o programa inclui mdulos para as trs operaes principais do algoritmo da eliminao de Gauss: eliminao progressiva, substituio regressiva e pivotamento. Alm disso, temos diversos aspectos do cdigo que diferem e so aperfeioamentos dos pseudocdigos das Figuras 9.4 e 9.5. So eles:
No so feitas mudanas de escala nas equaes, mas os valores na nova escala dos
elementos so usados para determinar quando o pivotamento deve ser implementado.
O termo na diagonal monitorado durante a fase de pivotamento para se detectar a
ocorrncia de valores prximos de zero e identificar sistemas singulares. Se o algoritmo
devolver um valor er = 1, uma matriz singular foi detectada e os clculos devem ser
interrompidos. Um valor pequeno para o parmetro tol escolhido pelo usurio, para
detectar ocorrncias prximas de zero.

EXEMPLO 9.11

Soluo de Equaes Algbricas Lineares Usando o Computador


Enunciado do Problema. Um programa de computador para resolver equaes algbricas lineares, como o baseado na Figura 9.6, pode ser usado para resolver o problema
associado ao exemplo do pra-quedista em queda livre discutido no Captulo 1. Suponha
que um time de trs pra-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 tenso em cada seo da
corda e a acelerao do time, dado o seguinte:
Praquedista

Massa, kg

Coeficiente de
Arrasto, kg/s

1
2
3

70
60
40

10
14
17

Soluo. Diagramas de corpo livre foram esboados na Figura 9.8. Somando as foras
na vertical e usando a segunda lei de Newton, tem-se um conjunto de trs equaes lineares simultneas:
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


c2v

c3v

221
R

c1v

m3g

m2g

T
2

m1g
1

FIGURA 9.8
Diagramas de corpo livre para cada um dos trs pra-quedistas em queda livre.

Essas equaes possuem trs incgnitas: a, T e R. Depois de substituir os valores conhecidos, as equaes 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

Esse sistema pode ser resolvido usando seu prprio 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, possvel obter um sistema de equaes complexas

FIGURA 9.7
Trs pra-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 operaes reais por operaes complexas. claro que isso s
possvel para aquelas linguagens, tal como o Fortran, que permitem variveis complexas.
Para linguagens que no permitem a declarao de variveis complexas, possvel
escrever um cdigo para transformar operaes reais em complexas. Contudo, essa no
uma tarefa trivial. Uma alternativa transformar o sistema complexo em outro equivalente envolvendo apenas variveis reais, o que pode ser feito substituindo-se a Equao
(9.28) na Equao (9.27) e igualando as partes reais e imaginrias da equao resultante
para obter

ELIMINAO DE GAUSS

222

[A]{X} [B]{Y } = {U }

(9.29)

[B]{X} + [A]{Y } = {V }

(9.30)

Assim, o sistema de n equaes complexas se transforma em um conjunto de 2n


equaes reais. Isso significa que o espao de armazenamento e o tempo de execuo vo
crescer significativamente. Conseqentemente, h prs e contras relativos a essa opo.
Se voc calcula sistemas complexos raramente, prefervel usar as Equaes (9.29) e
(9.30) por causa de sua convenincia. Por outro lado, se voc os usa muitas vezes e deseja
utilizar uma linguagem que no permite dados do tipo complexo, ento pode valer a pena
o esforo de escrever um programa adaptado para resolver equaes que transforme
operaes reais em complexas.

9.6

SISTEMAS DE EQUAES NO-LINEARES


Lembre-se de que no final do Captulo 6 foi apresentada uma abordagem para resolver
duas equaes no-lineares com duas variveis. Essa abordagem pode ser estendida ao
caso geral de resolver n equaes no-lineares simultneas.
f 1 (x1 , x2 , . . . , xn ) = 0
f 2 (x1 , x2 , . . . , xn ) = 0
.

(9.31)

f n (x1 , x2 , . . . , xn ) = 0
A soluo desse sistema consiste no conjunto dos valores de x para os quais todas as
equaes sejam simultaneamente nulas.
Como descrito na Seo 6.5.2, uma abordagem para resolver tais sistemas se baseia
em uma verso multidimensional do mtodo de Newton-Raphson. Assim, escrita uma
expanso em srie de Taylor para cada equao. Por exemplo, para a k-sima equao,
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 equao ou a varivel e o segundo ndice denota se


o valor ou funo em questo o valor atual (i) ou o valor seguinte (i + 1).
Equaes da forma de (9.32) so escritas para cada uma das equaes no-lineares
originais. Ento, do mesmo modo como foi feito para deduzir a Equao (6.20) da
Equao (6.19), todos os termos fk,i+1 so igualados a zero, como seria o caso na raiz,
e a Equao (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 incgnitas na Equao (9.33) so os termos xk,i+1 do lado direito
da equao. Todas as outras quantidades so localizadas no valor atual (i) e, portanto, so
conhecidas em qualquer iterao. Conseqentemente, o conjunto de equaes genericamente representado pela Equao (9.33) (isto , com k = 1, 2, . . . , n) constitui um conjunto de equaes lineares simultneas, que pode ser resolvido pelos mtodos tratados
nesta parte do livro.

9.7 GAUSS-JORDAN

a11

a12 a13

b1

a21

a22 a23

b2

a31

a32 a33

b3

b(n)1

b(n)2

b(n)3

x1
x2
x3

b(n)1
b(n)2
b(n)3

223

A notao matricial pode ser usada para expressar a Equao (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
Descrio grfica do mtodo
de Gauss-Jordan. Compare
com a Figura 9.3 para observar
as diferenas entre essa tcnica
e a eliminao de Gauss. O
sobrescrito (n) significa que o
elemento do lado direito da
equao 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 funo em i podem ser expressos por


{Fi }T =  f 1,i

f 2,i

f n,i

Usando essas relaes, a Equao (9.33) escrita de forma concisa como


[Z ]{X i+1 } = {Fi } + [Z ]{X i }

(9.35)

A Equao (9.35) pode ser resolvida usando-se uma tcnica como a eliminao de Gauss.
Esse processo pode ser repetido iterativamente para se obter estimativas refinadas, de
forma parecida com o caso das duas equaes tratado na Seo 6.5.2.
Deve-se observar que h dois grandes defeitos nessa abordagem anterior. Primeiro, a
Equao (9.34) , em geral, inconveniente de ser calculada. Assim, variaes do mtodo
de Newton-Raphson foram desenvolvidas para contornar esse problema. Como seria de
esperar, a maioria delas baseada em aproximaes por diferenas finitas das derivadas
parciais que compem [Z].
O segundo defeito do mtodo de Newton-Raphson para equaes mltiplas que, em
geral, so necessrias estimativas excelentes para os valores iniciais para garantir a convergncia. Como esses valores so geralmente difceis de obter, foram desenvolvidas outras abordagens alternativas que so mais lentas do que o mtodo de Newton-Raphson,
mas que tm um comportamento de convergncia melhor. Uma abordagem comum reformular o sistema no-linear como uma nica funo
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 Equao (9.31). Os valores de x que minimizam essa funo tambm representam a soluo do sistema nolinear. Como veremos no Captulo 17, essa reformulao pertence classe de problemas
chamada de regresso no-linear. Assim, poder ser tratada com vrias tcnicas de
otimizao como as que sero descritas mais tarde neste texto (Parte Quatro e especificamente Captulo 14).

9.7

GAUSS-JORDAN
O mtodo de Gauss-Jordan uma variao da eliminao de Gauss. A maior diferena
que, quando uma varivel eliminada no mtodo de Gauss-Jordan, ela eliminada de
todas as outras equaes, no s das posteriores. Alm disso, todas as linhas so norma-

ELIMINAO DE GAUSS

224

lizadas pela diviso pelo seu elemento piv. Ento, o passo de eliminao resulta na matriz identidade e no em uma matriz triangular (Figura 9.9). Conseqentemente, no
necessrio usar a substituio regressiva para obter o resultado. O mtodo mais bem
ilustrado por um exemplo.
EXEMPLO 9.12

Mtodo de Gauss-Jordan
Enunciado do Problema. Use a tcnica 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
Soluo. Primeiro, expresse os coeficientes e as constantes do lado direito da equao
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
Ento, 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 reduo 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 ento 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 equaes 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 soluo obtida no vetor do lado direito. Observe que no foi necessria a
substituio regressiva para se obter a soluo.

PROBLEMAS

225

Todo o material deste captulo relativo a armadilhas e aprimoramentos do mtodo de


eliminao de Gauss tambm se aplica ao mtodo de Gauss-Jordan. Por exemplo, uma estratgia de pivotamento parecida pode ser usada para evitar a diviso por zero e reduzir
erros de arredondamento.
Apesar de a tcnica de Gauss-Jordan e a eliminao de Gauss poderem parecer quase
idnticas, a primeira requer mais trabalho. Usando uma abordagem semelhante da
Seo 9.2.1, pode-se determinar que o nmero de flops de multiplicao/diviso envolvidos no Gauss-Jordan ingnuo
n3
n3
n
n cresce
+ n 2 quando

+ O(n 2 )
2
2
2

(9.37)

Assim, o Gauss-Jordan envolve aproximadamente 50% mais operaes do que a eliminao de Gauss [compare com a Equao (9.23)]. Portanto, a eliminao de Gauss o
mtodo de eliminao simples preferido para se obter solues de equaes algbricas
lineares. Entretanto, uma das razes principais para introduzirmos o mtodo de Gauss-Jordan que ele ainda usado tanto em engenharia quanto em alguns algoritmos numricos.

9.8

RESUMO
Em resumo, devotamos a maior parte deste captulo eliminao de Gauss, o mtodo
mais fundamental para resolver equaes algbricas lineares simultneas. Apesar de ser
uma das tcnicas mais antigas desenvolvidas para esse propsito, , no entanto, um algoritmo extremamente efetivo para se obter solues para muitos problemas da engenharia.
Alm dessa utilidade prtica, este captulo tambm fornece um contexto para a discusso
de questes gerais como arredondamento, mudana de escala e condicionamento. Tambm, foi apresentado brevemente algum material sobre o mtodo de Gauss-Jordan, assim
como sobre sistemas complexos e no-lineares.
As respostas obtidas pela eliminao de Gauss podem ser verificadas por substituio
nas equaes originais. Entretanto, isso nem sempre representa uma verificao confivel
para sistemas mal condicionados. Desse modo, deve ser calculada alguma medida do
condicionamento, tal como o determinante do sistema depois da mudana de escala, se
houver suspeita de erros de arredondamento. Usar pivotamento parcial e mais algarismos
significativos nos clculos so duas opes para diminuir os erros de arredondamento. No
prximo captulo, retornaremos ao tpico de condicionamento do sistema quando discutirmos a matriz inversa.

PROBLEMAS
9.1
(a) Escreva o seguinte conjunto de equaes na forma matricial:
50 = 5x3 + 2x2
10 x1 = x3
3x2 + 8x1 = 20
(b) Escreva a transposta da matriz dos coeficientes.
9.2 Diversas matrizes so definidas a seguir

4 7
4 3 7
[A] = 1 2
[B] = 1 2 7
5 6
2 0 4

3
{C} = 6

1


[D] =

9 4 3 6
2 1 7 5

1
[E] = 7
4

3
[F] =
1

5 8
2 3
0 6

0 1
7 3

G =  7 6 4

Responda s seguintes questes em relao a essas matrizes:


(a) Quais as dimenses 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 operaes:
(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}

ELIMINAO DE GAUSS

226
9.3 Trs matrizes so dadas por

1 6




1 3
2 2
[A] = 3 10
[B] =
[C] =
0,5 2
3 1
7 4
(a) Efetue todas as multiplicaes possveis entre pares dessas
matrizes.
(b) Use o mtodo do Quadro PT3.2 para justificar por que os outros pares no podem ser multiplicados.
(c) Use os resultados de (a) para ilustrar por que a ordem da multiplicao importante.
9.4 Use o mtodo grfico para resolver
4x1 8x2 = 24
x1 + 6x2 = 34
Verifique seus resultados substituindo as solues no sistema.
9.5 Dado o sistema de equaes
1,1x1 + 10x2 = 120
(a)
(b)
(c)
(d)
9.6

2x1 + 17,4x2 = 174


Resolva graficamente e verifique os resultados substituindo-os
nas equaes.
Baseado no resultado grfico, o que voc espera em relao ao
condicionamento do sistema?
Calcule o determinante.
Resolva por eliminao de variveis.
Para o conjunto de equaes
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 xs.
Substitua seus resultados nas equaes originais para verific-los.
Dadas as equaes
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 relao ao condicionamento do sistema?
(d) Resolva por eliminao de variveis.
(e) Resolva novamente com a11 levemente modificado para 0,52.
Interprete seus resultados.
9.8 Dadas as equaes
10x1 + 2x2 x3 = 27
3x1 6x2 + 2x3 = 61,5
x1 + x2 + 5x3 = 21,5
(a) Resolva por eliminao de Gauss ingnua. Mostre todos os
passos dos clculos.
(b) Substitua seus resultados nas equaes originais para verificar
suas respostas.
9.9 Use eliminao 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 equaes originais.
9.10 Dado o sistema de equaes
3x2 + 7x3 = 2
x1 + 2x2 x3 = 3
5x1 2x2 = 2
(a) Calcule o determinante.
(b) Use a regra de Cramer para determinar os xs.
(c) Use eliminao de Gauss com pivotamento parcial para determinar os xs.
(d) Substitua seus resultados nas equaes originais para verificar
suas respostas.
9.11 Dadas as equaes
2x1 6x2 x3 = 38
3x1 x2 + 7x3 = 34
8x1 + x2 2x3 = 20
(a) Resolva por eliminao de Gauss com pivotamento parcial.
Mostre todos os passos dos clculos.
(b) Substitua seus resultados nas equaes originais para verificar
suas respostas.
9.12 Use eliminao de Gauss-Jordan para resolver:
2x1 + x2 x3 = 1
5x1 + 2x2 + 2x3 = 4
3x1 + x2 + x3 = 5
No utilize pivotamento. Substitua seus resultados nas equaes
originais para verificar suas respostas.
9.13 Resolva:
x1 + x2 x3 = 3
6x1 + 2x2 + 2x3 = 2
3x1 + 4x2 + x3 = 1
com (a) eliminao de Gauss ingnua, (b) eliminao de Gauss com
pivotamento parcial e (c) Gauss-Jordan sem pivotamento parcial.
9.14 Efetue os mesmos clculos do Exemplo 9.11, mas use cinco
pra-quedistas com as seguintes caractersticas:
Pra-quedista
1
2
3
4
5

Massa, kg

Coeficiente de
Arrasto, kg/s

55
75
60
75
90

10
12
15
16
10

Os pra-quedistas tm velocidade de 9 m/s.


9.15 Resolva

  

3 + 2i 4
z1
2+i
=
i
1
z2
3
9.16 Desenvolva, debug e teste um programa em linguagem de alto
nvel 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 nvel 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 nvel ou em macro a sua escolha para resolver um sistema
de equaes com eliminao de Gauss e com pivotamento parcial.

227
Use como base o pseudocdigo 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

CAPTULO

10
Decomposio LU e
Inverso de Matrizes
Este captulo trata de uma classe de mtodos de eliminao chamados de tcnicas de decomposio LU. O interesse principal da decomposio LU que o passo de eliminao,
que consome muito tempo, pode ser formulado de modo que envolva apenas operaes
na matriz dos coeficientes, [A]. Assim, ele se adapta bem quelas situaes 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 mtodo de eliminao de Gauss pode ser implementado como uma decomposio LU.
Um motivo para introduzir a decomposio LU que ela fornece uma maneira eficiente de calcular a matriz inversa, a qual tem um grande nmero de aplicaes valiosas
na prtica da engenharia. A decomposio LU tambm fornece um meio de avaliar o
condicionamento do sistema.

10.1

DECOMPOSIO LU
Como descrito no captulo anterior, a eliminao de Gauss projetada para resolver sistemas de equaes algbricas lineares,
[A]{X} = {B}

(10.1)

Embora certamente represente um mtodo seguro de resolver tais sistemas, ele se torna
ineficiente ao se resolver equaes com os mesmos coeficientes [A], mas com diferentes
constantes direita (os bs).
Lembre-se que a eliminao de Gauss envolve dois passos: a eliminao progressiva
e a substituio regressiva (Figura 9.3). Desses, a eliminao progressiva compreende o
maior volume de esforo computacional (lembre-se da Tabela 9.1). Isso particularmente
verdadeiro para grandes sistemas de equaes.
Os mtodos de decomposio LU separam a eliminao da matriz [A], que consome
tempo, das manipulaes do lado direito {B}. Assim, uma vez que [A] tenha sido decomposta, vetores mltiplos direita podem ser calculados de maneira eficiente.
interessante observar que a prpria eliminao de Gauss pode ser escrita como uma
decomposio LU. Antes de mostrar como isso pode ser feito, inicialmente ser fornecida
uma viso matemtica geral da estratgia da decomposio.
10.1.1 Uma Viso Geral da Decomposio LU
Do mesmo modo como no caso da eliminao de Gauss, a decomposio LU requer
pivotamento para se evitar divises por zero. Entretanto, para simplificar a descrio a
seguir, a questo do pivotamento ser adiada at que a abordagem principal seja elaborada. Alm disso, a explicao seguinte est limitada a um conjunto de trs equaes simultneas. Os resultados podem ser estendidos diretamente a sistemas de n dimenses.
A Equao (10.1) pode ser reorganizada como
[A]{X} {B} = 0
228

(10.2)

10.1 DECOMPOSIO LU

229

Suponha que a Equao (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 clculos que ocorrem no primeiro passo da eliminao de Gauss. Ou seja, a eliminao usada para reduzir o sistema a uma forma triangular superior. A Equao (10.3) tambm pode ser escrita em notao matricial e reorganizada para dar
[U ]{X} {D} = 0

(10.4)

Agora, suponha que exista uma matriz triangular inferior com 1s 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 Equao (10.4) for multiplicado esquerda por ela, o resultado seja o primeiro membro da Equao (10.2). Isto ,
[L]{[U ]{X} {D}} = [A]{X} {B}

(10.6)

Se essa equao for vlida para todo {X}, segue das regras de multiplicao de matrizes que
[L][U ] = [A]

(10.7)

[L]{D} = {B}

(10.8)

Uma estratgia de dois passos (ver Figura 10.1) para obter solues pode basear-se
nas Equaes (10.4), (10.7) e (10.8):
1.
2.

Passo da decomposio LU. [A] fatorada ou decomposta em matrizes triangulares inferior [L] e superior [U].
Passo de substituio. [L] e [U] so usadas para determinar a soluo {X} para um
lado direito {B}. Esse passo consiste em duas etapas. Primeiro, a Equao (10.8)
usada para gerar um vetor intermedirio {D} por substituio progressiva. A seguir,
o resultado substitudo na Equao (10.4), que pode ser resolvida por substituio
regressiva, determinando-se {X}.

Agora, vejamos como a eliminao de Gauss pode ser implementada dessa forma.

FIGURA 10.1
Os passos da
decomposio LU.

(a) Decomposio
U

(b) Progressiva
D
Substituio
U

X  D
(c) Regressiva
X

230

DECOMPOSIO LU E INVERSO DE MATRIZES

10.1.2 A Verso da Eliminao de Gauss por Decomposio LU


Embora primeira vista parea no estar relacionada com a decomposio LU, a eliminao de Gauss pode ser usada para decompor [A] em [L] e [U]. Isso pode ser visto facilmente para [U], que um produto direto da eliminao progressiva. Lembre-se que o
passo de eliminao 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 no ser to aparente, a matriz [L] tambm produzida durante essa
etapa. Isso pode ser prontamente ilustrado para um sistema de trs equaes,

   
a11 a12 a13
x1
b1
a21 a22 a23
x2 = b2
a31 a32 a33
x3
b3
A primeira etapa da eliminao de Gauss multiplicar a linha 1 pelo fator [lembre-se da
Equao (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 subtrado 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 manipulaes na matriz
[A]. Claramente, se no se quer modificar a equao, tambm se deve fazer o mesmo com
o lado direito {B}. Mas no h nenhuma razo que obrigue a efetuar essas operaes simultaneamente. Assim, pode-se salvar os f s e manipular {B} depois.
Onde sero armazenados os fatores f21, f31 e f32? Lembre-se que a idia por trs da
eliminao era criar zeros em a21, a31 e a32. Assim, possvel armazenar f21 em a21, f31
em a31 e f32 em a32. Depois da eliminao, 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 decomposio LU de [A],


[A] [L][U ]
onde

a11
0
[U ] =
e

(10.11)

a12

a22

a13

a23


a33

1
f

21
[L] =
f 31

0
1
f 32

0
0
1

O exemplo a seguir confirma que [A] = [L][U ] .

10.1 DECOMPOSIO LU

EXEMPLO 10.1

231

Decomposio LU com Eliminao de Gauss


Enunciado do Problema. Obtenha uma decomposio LU baseada na eliminao de
Gauss efetuada no Exemplo 9.5.
Soluo.

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

Aps a eliminao 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

Conseqentemente, a decomposio 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 multiplicao 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 discrepncias se devem a erros de arredondamento.

A seguir tem-se um pseudocdigo para uma sub-rotina que implemente a fase de decomposio:
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

DECOMPOSIO LU E INVERSO DE MATRIZES

232

Observe que esse algoritmo ingnuo no sentido que o pivotamento no est includo.
Esse recurso ser acrescentado mais tarde, quando ser desenvolvido um algoritmo completo para a decomposio LU.
Depois que a matriz decomposta, pode-se produzir uma soluo para um valor particular do vetor direita {B}, o que feito em duas etapas. Primeiro, uma substituio
progressiva executada, resolvendo-se a Equao (10.8) para {D}. importante reconhecer que isso significa simplesmente efetuar as manipulaes da eliminao em {B}.
Assim, ao final desse passo, o lado direito estar no mesmo estado em que estaria se
tivesse sido efetuada a eliminao progressiva em [A] e {B} simultaneamente.
O passo de substituio progressiva pode ser representado de modo conciso por
di = bi

i1

para i = 2, 3, . . . , n

ai j d j

(10.12)

j=1

O segundo passo, ento, resume-se simplesmente em implementar a substituio regressiva, como na Equao (10.4). Novamente, importante perceber que isso idntico
fase de substituio regressiva da eliminao de Gauss convencional. Assim, de
maneira similar s Equaes (9.16) e (9.17), o passo de substituio regressiva pode ser
representado concisamente por
xn = dn /ann
di
xi =

EXEMPLO 10.2

n

j=i+1

aii

(10.13)

ai j x j
para i = n 1, n 2, . . . , 1

(10.14)

Os Passos de Substituio
Enunciado do Problema. Complete o problema iniciado no Exemplo 10.1, determinando a soluo final por substituio progressiva e regressiva.
Soluo. Como foi dito, o objetivo da substituio progressiva impor as manipulaes
da eliminao, 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 eliminao progressiva da eliminao 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 substituio progressiva implementada aplicando-se a Equao (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 equao,
d1 = 7,85

10.1 DECOMPOSIO LU

233

o que pode ser substitudo na segunda equao para determinar


d2 = 19,3 0,0333333(7.85) = 19,5617
Ambos, d1 e d2, podem ento ser substitudos na terceira equao para dar
d3 = 71,4 0,1(7,85) + 0,02713(19,5617) = 70,0843
Assim,


7,85
{D} = 19,5617
70,0843
que idntico ao lado direito da Equao (E10.2.1).
Esse resultado pode ser substitudo na Equao (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 substituio regressiva (ver Exemplo 9.5 para detalhes) para
determinar a soluo final,


3
{X} =
2,5
7,00003

A seguir tem-se um pseudocdigo para uma sub-rotina que implementa as duas fases
de substituio:
SUB Substitute (a, n, b, x)
'substituio progressiva
DOFOR i  2, n
soma  bi
DOFOR j  1, i  1
soma  soma  ai,j * bj
END DO
bi  soma
END DO
'substituio 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 decomposio LU exige o mesmo nmero de flops de multiplicao/diviso que a eliminao de Gauss. A nica diferena que um pouco menos de esforo gasto na fase de decomposio, j que as operaes no so aplicadas ao lado
direito. Assim, o nmero de flops de multiplicao/diviso envolvidos na fase de decomposio pode ser calculado por
n3
n quando n cresce n 3

+ O(n)
3
3
3

(10.15)

234

DECOMPOSIO LU E INVERSO DE MATRIZES

Reciprocamente, a fase de substituio gasta um pouco mais de esforo. Assim, o


nmero de flops para substituio progressiva e regressiva n2. O esforo total , portanto, idntico ao da eliminao de Gauss
3
n3
n
quando n cresce n
+ n 2
+ O(n 2 )
3
3
3

(10.16)

10.1.3 Algoritmo de Decomposio LU


Um algoritmo para implementar a decomposio LU com base na eliminao de Gauss
descrito na Figura 10.2. Quatro caractersticas desse algoritmo merecem meno:
Os fatores gerados durante a fase de eliminao so armazenados na parte de baixo da
matriz. Isso pode ser feito porque eles so transformados em zeros de qualquer forma
e no so necessrios para a soluo final. O armazenamento economiza espao.
Esse algoritmo mantm as informaes do pivotamento usando um vetor de ordem o.
Isso acelera bastante o algoritmo porque apenas o vetor de ordem (ao contrrio de toda
a linha) pivotado.
As equaes no sofrem mudana de escala, mas valores dos elementos em uma nova
escala so usados para determinar quando o pivotamento deve ser implementado.
O termo diagonal monitorado durante a fase de pivotamento para se detectar
ocorrncias prximas de zero para sinalizar sistemas singulares. Se ele devolver
um valor er = 1, uma matriz singular foi detectada e os clculos devem parar.
O usurio escolhe um pequeno valor para um parmetro tol com a finalidade de
detectar ocorrncias prximas de zero.
10.1.4 Decomposio de Crout
Observe que, para a implementao da decomposio LU na eliminao de Gauss, a
matriz [L] tem 1's na diagonal. Isso formalmente chamado de decomposio de
Doolittle ou fatorao. Uma abordagem alternativa envolve a matriz [U] com 1's na
diagonal, o que chamado de decomposio de Crout. Embora haja algumas diferenas entre essas abordagens (Atkinson, 1978; Ralston e Rabinowitz, 1978), seus desempenhos so comparveis.
A abordagem da decomposio 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
srie de frmulas concisas:
li,1 = ai,1
u1 j =

para i = 1, 2, . . . , n

a1 j
l11

para j = 2, 3, . . . , n

(10.17)
(10.18)

Para j = 2, 3, . . . , n 1
li j = ai j

j1

lik u k j

para i = j, j + 1, . . . , n

(10.19)

k=1

a jk
u jk =

j1

l ji u ik

i=1

para k = j + 1, j + 2, . . . , n

lj j

(10.20)

e
lnn = ann

n1

k=1

lnk u kn

(10.21)

10.1 DECOMPOSIO 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))

SUB Decompose (a, n, tol, o, s, er)

IF dummy  maior THEN


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
soma  soma  ao(i),j * bo(j)

EXIT DO
END IF

END DO

DOFOR i  k  1, n

bo(i)  soma

fator  ao(i),k /ao(k),k

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


END DO

(a)

soma  0
DOFOR j  i  1, n
soma  soma  ao(i),j * xj
END DO

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
Pseudocdigo para um algoritmo da decomposio LU.

(c)

(d)

FIGURA 10.3
Um esquema descrevendo os
clculos envolvidos na
decomposio LU de Crout.

Alm do fato de consistir em uns poucos laos concisos, a abordagem precedente tem
o benefcio de que se pode economizar espao de armazenamento. No h necessidade de
armazenar os 1s na diagonal de [U] ou os zeros na diagonal de [L] ou [U] pois eles so
dados pelo mtodo. Conseqentemente, os valores de [U] podem ser armazenados nos espaos de zeros de [L]. Alm 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 pseudocdigo para executar isso apresentado na Figura 10.4. Observe que a
Equao (10.17) no includa no pseudocdigo porque a primeira coluna de [L] j est
armazenada em [A]. Em vez disso, o algoritmo decorre diretamente das Equaes (10.18)
a (10.21).

DECOMPOSIO LU E INVERSO 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
Pseudocdigo para algoritmo
de decomposio 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 discusso sobre operaes com matrizes (Seo PT3.2.2), foi introduzida a noo de
que, se a matriz [A] for quadrada, existe outra matriz, [A]1, chamada inversa de [A], para
a qual [Equao (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 anlise de engenharia.
10.2.1 Calculando a Inversa
A inversa pode ser calculada coluna a coluna, gerando solues para vetores unitrios
como constantes do lado direito. Por exemplo, se o vetor do lado direito tem 1 na primeira
posio e zeros no resto,
 
1
{b} = 0
0
a soluo resultante ser a primeira coluna da matriz inversa. Analogamente, se um vetor
unitrio 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 clculos com o algoritmo de decomposio LU
descrito no comeo do captulo. Lembre-se que uma das grandes vantagens da decomposio LU que ela fornece uma forma muito eficiente de calcular diversos vetores do
lado direito. Assim, ela ideal para manipular os vrios vetores unitrios necessrios para
calcular a inversa.

10.2 A MATRIZ INVERSA

EXEMPLO 10.3

237

Inverso de Matrizes
Enunciado do Problema. Utilize a decomposio 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 decomposio 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
Soluo. A primeira coluna da matriz inversa pode ser determinada efetuando-se o
procedimento de soluo da substituio progressiva com um vetor unitrio (com o 1 na
primeira linha) como vetor do lado direito. Assim, a Equao (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 substituio progressiva para determinar {D}T = 1 0,03333
0,1009. Esse vetor pode ser usado como lado direito na Equao (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 substituio 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 Equao (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 Equao
(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 substituio 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

DECOMPOSIO LU E INVERSO 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 pseudocdigo para determinar a inversa de uma matriz mostrado na Figura 10.5.


Observe como a sub-rotina de decomposio da Figura 10.2 chamada para executar a
decomposio e ento determinar a inversa, chamando repetidamente o algoritmo de
substituio com vetores unitrios.
O esforo exigido por esse algoritmo calculado simplesmente por
n
n3

+
n(n 2 )
3
3
decomposio + n substituies

4n 3
n

3
3

(10.22)

em que, da Seo 10.1.2, a decomposio definida pela Equao (10.15) e o esforo envolvido na manipulao de cada lado direita envolve n2 flops de multiplicao/diviso.
10.2.2 Clculos de Resposta a Estmulos
Como foi discutido na Seo PT3.1.2, muitos dos sistemas de equaes lineares confrontados na prtica da engenharia so originrios das leis de conservao. A expresso
matemtica dessas leis alguma forma de equao de balano para garantir que uma propriedade particular massa, fora, calor, momento, ou outra seja conservada. Para
um balano de foras em uma estrutura, as propriedades poderiam ser as componentes
horizontais ou verticais das foras agindo sobre cada n da estrutura (ver Seo 12.2).
Para um balano de massas, as propriedades poderiam ser a massa em cada reator do
processo qumico (ver Seo 12.1). Outras reas da engenharia vo dar origem a exemplos semelhantes.
Uma nica equao de balano pode ser escrita para cada parte do sistema, resultando
em um conjunto de equaes que define o comportamento da propriedade para o sistema
inteiro. Essas equaes so inter-relacionadas, ou acopladas, no sentido de que cada
equao pode incluir uma ou mais das variveis das outras equaes. Em muitos casos,
esses sistemas so lineares e, portanto, da forma exata tratada neste captulo:
[A]{X} = {B}

(10.23)

Agora, para equaes de balano, os termos da Equao (10.23) tm uma interpretao fsica definida. Por exemplo, os elementos de {X} so os nveis da propriedade

10.3 ANLISE DE ERRO E CONDICIONAMENTO DO SISTEMA

239

sendo balanceada para cada parte do sistema. Em um balano de foras em uma estrutura,
representam as foras horizontais e verticais em cada membro. Para o balano de massas,
so as massas de cada composto qumico em cada reator. Em qualquer caso, representam
o estado do sistema, ou a resposta que se tenta determinar.
O vetor {B} do lado direito contm aqueles elementos do balano que so independentes do comportamento do sistema isto , que so constantes. Assim, muitas vezes
eles representam as foras externas ou os estmulos que conduzem o sistema.
Finalmente, a matriz [A] dos coeficientes normalmente contm os parmetros que
expressam como as partes do sistema interagem ou so acopladas. Conseqentemente, a
Equao (10.23) pode ser expressa como
[Interaes]{respostas} = {estmulos}
Logo, a Equao (10.23) pode ser vista como uma expresso do modelo matemtico fundamental formulado previamente como uma nica equao no Captulo 1 [lembre-se da
Equao (1.1)]. possvel agora ver que a Equao (10.23) representa uma verso destinada a sistemas acoplados envolvendo vrias variveis dependentes {X}.
Como se sabe deste e dos captulos anteriores, h diversas formas de resolver a
Equao (10.23). No entanto, usar a matriz inversa leva a um resultado particularmente
interessante. A soluo formal pode ser escrita como
{X} = [A]1 {B}
ou (lembrando a definio da multiplicao de matrizes do Quadro PT3.2)
1
1
1
b1 + a12
b2 + a13
b3
x1 = a11
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 prpria matriz inversa, alm de fornecer uma soluo, tem propriedades extremamente teis. Isto , cada um dos seus elementos representa a resposta
de uma parte do sistema a um estmulo unitrio de qualquer outra parte do sistema.
Observe que essas formulaes so lineares e, portanto, valem a superposio e a
proporcionalidade. A superposio significa que, se um sistema est sujeito a diversos estmulos diferentes (os bs), as respostas podem ser calculadas individualmente e os resultados podem ser somados para se obter uma resposta total. A proporcionalidade significa
que a multiplicao do estmulo por uma quantidade faz com que a resposta a esse est1
uma consmulo fique multiplicada pela mesma quantidade. Logo, o coeficiente a11
tante de proporcionalidade que d o valor de x1 que causado pelo nvel unitrio de b1.
Esse resultado independente dos efeitos de b2 e b3 em x1, os quais esto refletidos nos
1
1
e a13
, respectivamente. Portanto, chega-se concluso geral de que o
coeficientes a12
1
elemento ai j da matriz inversa representa o valor de xi causado por uma quantidade
unitria de bj. Usando o exemplo da estrutura, o elemento ai1
j da matriz inversa representaria a fora no membro i decorrente de uma fora externa unitria no n j. Mesmo
para sistemas pequenos, tal comportamento de interaes resposta-estmulo individuais
no seria intuitivamente bvio. Assim, a matriz inversa fornece uma tcnica poderosa
para entender as inter-relaes de partes componentes de sistemas complicados. Esse
poder ser ilustrado nas Sees 12.1 e 12.2.

10.3

ANLISE DE ERRO E CONDICIONAMENTO DO SISTEMA


Alm das aplicaes na engenharia, a inversa tambm fornece formas de discernir se um
sistema mal condicionado. Trs mtodos esto disponveis para esse propsito:
1.

Faa uma mudana 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 vrias ordens de grandeza maiores que 1, provvel
que o sistema seja mal condicionado (ver Quadro 10.1).

DECOMPOSIO LU E INVERSO DE MATRIZES

240

Quadro 10.1

Interpretando os Elementos da Matriz Inversa como uma Medida de Mal


Condicionamento

Um mtodo de determinar o condicionamento do sistema mudar


a escala de [A] , de modo que o maior elemento em cada linha seja
1, e ento calcular [A]1. Se existirem elementos de [A]1 que
sejam vrias ordens de grandeza maiores que 1, provvel que o
sistema seja mal condicionado.
Pode-se ter uma viso melhor dessa abordagem lembrando
que uma forma de verificar se uma soluo aproximada {X}
aceitvel substitu-la na equao 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 resduo entre as constantes do lado direito e os valores


Se {R} for pequeno, conclui-se que
calculados com a soluo { X}.
so adequados. No entanto, suponha que {X}
os valores de { X}
seja a soluo exata, que leva a um resduo 0, como em
{0} = {B} [A]{X}

(Q10.1.2)

Subtraindo a Equao (Q10.1.2) da Equao (Q10.1.1), tem-se





{R} = [A] {X} { X}


Multiplicando ambos os lados dessa equao por [A]1, obtm-se
= [A]1 {R}
{X} { X}
Esse resultado indica por que verificar uma soluo por substituio pode ser enganoso. Para os casos em que elementos de
[A]1 so grandes, uma pequena discrepncia nos resduos {R} do
nos
lado direito poderia corresponder a um grande erro {X} { X}
valores calculados das variveis. Em outras palavras, um resduo
pequeno no garante uma soluo 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 prximo da matriz identidade. Se no, isso indica mal condicionamento.

3.

Inverta a matriz invertida e verifique se o resultado est suficientemente prximo da


matriz de coeficientes original. Caso contrrio, novamente isso pode indicar que o
sistema mal condicionado.

Apesar de esses mtodos poderem indicar mal condicionamento, seria prefervel


obter um nico nmero (como o nmero de condicionamento da Seo 4.2.3) que servisse
como um indicador do problema. As tentativas de formular tal nmero de condicionamento da matriz so baseadas no conceito matemtico de norma.
10.3.1 Normas de Vetores e de Matrizes
Uma norma uma funo a valores reais que fornece uma medida do tamanho ou comprimento de entidades matemticas com muitas componentes, como vetores e matrizes
(ver Quadro 10.2).
Um exemplo simples um vetor no espao euclidiano tridimensional (Figura 10.6),
que pode ser representado como
F = a

c

onde a, b e c so as distncias ao longo dos eixos x, y e z , respectivamente. O comprimento desse vetor isto , a distncia 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 dimenso 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 ANLISE DE ERRO E CONDICIONAMENTO DO SISTEMA

Quadro 10.2

241

Normas de Matrizes

Como explicado nesta Seo, as normas euclidianas podem ser


empregadas para quantificar o tamanho de um vetor,

 n

Xe = 
xi2
i =1

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
|ai j |

1 j n

ou de uma matriz,


n
 n
Ae = 
ai,2 j
i =1 j =1

Para vetores, h alternativas chamadas de p normas que podem ser


representadas genericamente por
1/ p

n

p
|xi |
X p =
i =1

Tambm se percebe que a norma euclidiana e a 2 norma, X2 , so


idnticas para os vetores.
Outros exemplos importantes so
n

X1 =
|xi |

1i n

X = max
| xi | t
1in

j =1

Deve-se observar que, em contraste com os vetores, a 2


norma e a norma euclidiana de uma matriz no so iguais. Enquanto a norma euclidiana Ae pode ser facilmente determinada
pela Equao (10.24), a 2 norma de uma matriz A2 calculada
como
A2 = (mx )1/2

i =1

que representa a norma como a soma dos valores absolutos dos


elementos. Outra o mdulo mximo ou norma uniforme do
vetor,

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 construo semelhante pode ser feita para as linhas, resultando em uma norma da soma das linhas ou norma uniforme da
matriz,
n

A = max
|ai j |

onde mx o maior autovalor de [A]T [A]. No Captulo 27, iremos


aprender mais sobre autovalores. No momento, o ponto importante
que A2 ou norma espectral a norma mnima 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
1in

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

A = max

1in

FIGURA 10.6
Representao grfica de um
vetor F = a b c] no espao
euclidiano.

| ai j |

(10.25)

j=1

y
b
2

a
F

=
e

a
x
c
z

DECOMPOSIO LU E INVERSO 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 tericas no uso de cada uma dessas normas, a escolha
s vezes influenciada por consideraes prticas. 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 Nmero de Condicionamento da Matriz
Agora que j foi apresentado, o conceito de norma pode ser usado para definir
Cond [A] = A A1 

(10.26)

onde Cond [A] chamado nmero de condicionamento da matriz. Observe que, para uma
matriz [A], esse nmero 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 soluo calculada pode ser to grande quanto o
erro relativo da norma dos coeficientes de [A] multiplicado pelo nmero de condicionamento. Por exemplo, se os coeficientes da matriz [A] so conhecidos com uma
preciso de t dgitos (ou seja, erros de arredondamento so da ordem de 10t ), e Cond
[A] = 10c, a soluo [X ] pode ser vlida para apenas t c dgitos (erros de arredondamento 10ct ).

EXEMPLO 10.4

Determinao 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 nmero 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
Soluo. Primeiro, pode-se mudar a escala da matriz de modo que o mximo 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 ANLISE DE ERRO E CONDICIONAMENTO DO SISTEMA

243

A inversa da matriz com mudana de escala pode ser calculada por




9 18
10
[A]1 = 36
96 60
30 90
60
Observe que os elementos dessa matriz so maiores do que os elementos da matriz original. Isso tambm se reflete na sua norma da soma das linhas, que calculada como
 1 
 A  = |36| + |96| + |60| = 192

Logo, o nmero de condicionamento pode ser calculado por


Cond [A] = 2,35(192) = 451,2
O fato de o nmero de condicionamento ser consideravelmente maior do que a
unidade sugere que o sistema mal condicionado. A extenso do mal condicionamento
pode ser quantificada calculando-se c = log 451,2 = 2,65. Os computadores usando representao em ponto flutuante IEEE tm aproximadamente t = log 224 = 7,2 algarismos significativos na base 10 (lembre-se da Seo 3.4.1). Assim, a soluo pode exibir
erros de arredondamento de at 10(2,65-7,2) = 3 105. Observe que tais estimativas
quase sempre superestimam o erro real. No entanto, elas so teis ao alertarem para a possibilidade de que os erros de arredondamento possam ser significativos.

Do ponto de vista prtico, o problema na implementao da Equao (10.26) o


preo computacional exigido para o clculo de A1 . Rice (1983) esboa algumas estratgias possveis para aliviar o problema. Mais do que isso, ele sugere uma forma alternativa de avaliar o condicionamento do sistema: rodar a mesma soluo em dois compiladores diferentes. Como os cdigos resultantes iro provavelmente implementar a
aritmtica de modo diferente, o efeito do mal condicionamento deve ser evidente a partir
de tal experincia. Finalmente, deve-se mencionar que pacotes de software e bibliotecas
como MATLAB e Mathcad tm recursos para calcular convenientemente o condicionamento de uma matriz. Tais recursos sero abordados de novo quando se revisar esses pacotes no fim do Captulo 11.
10.3.3 Refinamento Iterativo
Em alguns casos, os erros de arredondamento podem ser reduzidos pelo procedimento a
seguir. Suponha que algum esteja resolvendo o seguinte conjunto de equaes:
a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 = b2

(10.27)

a31 x1 + a32 x2 + a33 x3 = b3


Por conciso, a discusso ser limitada a esse pequeno sistema (3 3). No entanto, a
abordagem aplicvel, em geral, para conjuntos maiores de equaes lineares.
T = x1 x2 x3 . Essa
Suponha que um vetor soluo aproximado seja dado por { X}
soluo pode ser substituda na Equao (10.27) para dar
a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 = b2
a31 x1 + a32 x2 + a33 x3 = b3

(10.28)

Agora, suponha que a soluo exata {X} se expresse como uma funo da soluo aproximada e de um vetor de fatores de correo {X}, onde
x1 = x1 + x1

DECOMPOSIO LU E INVERSO DE MATRIZES

244

x2 = x2 + x2

(10.29)

x3 = x3 + x3
Se esses resultados forem substitudos na Equao (10.27), ser obtido o seguinte
sistema:
a11 (x1 + x1 ) + a12 (x2 + x2 ) + a13 (x3 + x3 ) = b1
a21 (x1 + x1 ) + a22 (x2 + x2 ) + a23 (x3 + x3 ) = b2

(10.30)

a31 (x1 + x1 ) + a32 (x2 + x2 ) + a33 (x3 + x3 ) = b3


Agora, a Equao (10.28) pode ser subtrada da Equao (10.30) para fornecer
a11 x1 + a12 x2 + a13 x3 = b1 b1 = E 1
a21 x1 + a22 x2 + a23 x3 = b2 b2 = E 2
a31 x1 + a32 x2 + a33 x3 = b3 b3 = E 3

(10.31)

Esse sistema ele prprio um conjunto de equaes lineares simultneas que pode ser resolvido para se obter os fatores de correo. Esses fatores podem ser usados para melhorar a soluo, como especificado na Equao (10.29).
relativamente fcil integrar um procedimento de refinamento iterativo em programas de computador para mtodos de eliminao. O procedimento especialmente efetivo nas abordagens de decomposio LU descritas anteriormente, que so planejadas
para calcular vetores diferentes do lado direito de forma eficiente. Observe que, para
serem efetivos na correo de sistemas mal condicionados, os Es na Equao (10.31)
devem ser expressos em dupla preciso.
PROBLEMAS
10.1 Use as regras de multiplicao de matrizes para mostrar que
as Equaes (10.7) e (10.8) so conseqncias da Equao (10.6).
10.2 (a) Use a eliminao de Gauss ingnua para decompor o
seguinte sistema, de acordo com a descrio dada na Seo 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 obtm [A]. (b) Use a decomposio LU para resolver o sistema. Mostre cada passo dos clculos. (c) Resolva o sistema tambm para um outro vetor do lado direito: {B}T = 12 18 6.
10.3
(a) Resolva o seguinte sistema de equaes por decomposio 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 equaes por decomposio
LU com pivotamento parcial:
2x1 6x2 x3 = 38
3x1 x2 + 7x3 = 34
8x1 + x2 2x3 = 20
10.5 Determine o nmero total de flops como funo do nmero de
equaes n para as fases de (a) decomposio, (b) substituio progressiva e (c) substituio regressiva da verso de decomposio
LU da eliminao de Gauss.

10.6 Use a decomposio LU para determinar a matriz inversa


para o seguinte sistema. No 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 decomposio de Crout em
2x1 6x2 + x3 = 12
x1 + 7x2 x3 = 8
x1 3x2 + 2x3 = 16
Ento, multiplique as matrizes resultantes [L] e [U] para verificar
que se obtm [A].
10.8 O seguinte sistema de equaes projetado para determinar
as concentraes (os cs em g/m3) em uma srie de reatores acoplados como funo 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 soluo.
(c) Determine de quanto o fluxo de entrada de massa no reator 3
deve ser aumentado para induzir um aumento de 10g/m3 na
concentrao do reator 1.
(d) De quanto a concentrao 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 nmero de condicionamento e quantos algarismos suspeitos sero gerados por
essa matriz.
10.12 (a) Determine o nmero de condicionamento do seguinte
sistema, usando a norma da soma das linhas. No 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 preciso sero 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 nmero de condicionamento da matriz com
base na norma da soma das linhas para a matriz de Hilbert 5 5,
com mudana de escala. Quantos algarismos de preciso sero perdidos por causa do mal condicionamento?
10.14 Alm da matriz de Hilbert, h outras matrizes que so inerentemente mal condicionadas. Uma delas a matriz de Vandermonde, que tem a forma:
2

x1 x1 1
2

x2 x2 1
x32

x3

(a) Determine o nmero 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 nmeros de condicionamento espectral e de Frobenius.
10.15 Desenvolva um programa amigvel ao usurio para a decomposio LU com base no pseudocdigo da Figura 10.2.

245
10.16 Desenvolva um programa amigvel ao usurio para a decomposio LU, incluindo o recurso de calcular a matriz inversa.
Use como base as Figuras 10.2. e 10.5.
10.17 Use tcnicas de refinamento iterativo para melhorar x1 = 2,
x2 = 3 e x3 = 8, que so solues aproximadas de
2x1 + 5x2 + x3 = 5
6x1 + 2x2 + x3 = 12
x1 + 2x2 + x3 = 3
10.18 Considere os vetores
A
= 2
i 3
j + a k

B
= b
i +
j 4k

C
= 3
i + c
j + 2k

Sabe-se tambm que


O vetor A
perpendicular a B
e a C.
B
C
= 2. Use qualquer mtodo estudado neste captulo para determinar as incgnitas a, b e c.
10.19 Considere os seguintes vetores:
A
= a
i + b
j + ck

B
= 2
i +
j 4k

C
=
i + 3
j + 2k

onde A
um vetor desconhecido. Se

+ ( A
C)

= (5a + b)
i + (3b 2)c
j + (4c + 1)k

( A
B)
use qualquer mtodo estudado neste captulo para determinar as incgnitas a, b, e c.
10.20 Considere a funo 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 funo f satisfaa:
f (0) = f (2) = 1.
f contnua em todo o intervalo.
a + b = 4.
Deduza e resolva um sistema de equaes algbricas lineares com
uma forma matricial idntica da Equao (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 soluo
de [A]{x} ser outro vetor coluna {b}. Usando qualquer pacote
numrico e a eliminao de Gauss, determine a soluo 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 preciso suficiente na exibio de seus resultados para detectar imprecises.
(b) Repita a parte (a) usando uma matriz de Hilbert 7 7.
(c) Repita a parte (a) usando uma matriz de Hilbert 10 10.

CAPTULO

11
Matrizes Especiais e
Gauss-Seidel
Certas matrizes tm uma estrutura particular que pode ser explorada para desenvolver esquemas eficientes de soluo. A primeira parte deste captulo dedicada a dois desses
tipos de sistemas: as matrizes de banda e as simtricas. Sero descritos mtodos de eliminao eficientes para ambas.
A segunda parte do captulo se volta para uma alternativa aos mtodos de eliminao,
isto , os mtodos iterativos de aproximao. O foco ser no mtodo de Gauss-Seidel, que
emprega aproximaes iniciais e itera o processo para obter estimativas refinadas da
soluo. O mtodo de Gauss-Seidel particularmente bem adaptado para um nmero
grande de equaes. Nesses casos, os mtodos de eliminao podem estar sujeitos a erros
de arredondamento. Como o erro no mtodo de Gauss-Seidel controlado pelo nmero
de iteraes, os erros de arredondamento no so um motivo de preocupao nesse
mtodo. Entretanto, h certos casos para os quais a tcnica de Gauss-Seidel no convergir para a resposta correta. Esses e outros prs e contras entre a eliminao e os mtodos
iterativos sero discutidos nas prximas pginas.

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 exceo de uma faixa centrada na diagonal
principal. Os sistemas de banda so encontrados freqentemente na prtica da engenharia
e na prtica cientfica. Por exemplo, eles ocorrem tipicamente na soluo de equaes
diferenciais. Alm disso, outros mtodos numricos, como os splines cbicos (Seo 18.5),
envolvem a soluo de sistemas de banda.
As dimenses de um sistema de banda podem ser quantificadas por dois parmetros:
a largura da banda LB e metade da largura da banda MLB (Figura 11.1) Esses dois valores
so 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 eliminao de Gauss ou a decomposio LU convencional possam ser empregadas para resolver sistemas de banda, elas so ineficientes, pois, se o pivotamento
no for necessrio, nenhum dos elementos fora da banda mudar de seu valor original
nulo. Ento, espao e tempo desnecessrios seriam desperdiados no armazenamento e na
manipulao desses zeros inteis. Se for previamente conhecido que o pivotamento no
necessrio, podem ser desenvolvidos algoritmos muito eficientes que no envolvem os
elementos nulos fora da banda. J que muitos problemas envolvendo sistemas de banda
no requerem pivotamento, tais algoritmos alternativos, como os descritos a seguir, so as
melhores escolhas.

246

11.1 MATRIZES ESPECIAIS

247
MLB + 1

Di

ag

on

al

MLB

LB

FIGURA 11.1
Parmetros usados para quantificar as dimenses de um sistema de banda. LB e MLB
designam a largura da faixa e a metade dessa largura, respectivamente.
(a) Decomposio
DOFOR k  2, n
ek  ek/fk1
fk  fk  ek  gk1
END DO

(b) Substituio progressiva


DOFOR k  2, n
rk  rk  ek  rk1
END DO

(c) Substituio regressiva


xn  rn /fn
DOFOR k  n  1, 1, 1
xk (rk gk  xk1)/fk
END DO

FIGURA 11.2
Pseudocdigo para
implementar o algoritmo de
Thomas, um mtodo de
decomposio 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)

en1 f n1 gn1
xn1
rn1

en
fn
xn
rn
Observe que trocamos nossa anotao dos coeficientes dos as e bs para es, fs, gs e rs.
Isso foi feito para evitar o armazenamento de grandes quantidades de zeros inteis na matriz quadrada dos as. Essa modificao, que tem o objetivo de economizar espao, vantajosa, pois o algoritmo resultante requer menos memria de computador.
A Figura 11.2 mostra um pseudocdigo para um mtodo eficiente, chamado algoritmo de Thomas, para resolver a Equao (11.1). Da mesma forma como na decomposio LU convencional, o algoritmo consiste em trs passos: decomposio e substituies progressiva e regressiva. Assim, todas as vantagens da decomposio LU, como
o clculo conveniente para diversos vetores do lado direito e o clculo da matriz inversa,
podem ser obtidas pela aplicao adequada desse algoritmo.

Soluo Tridiagonal com o Algoritmo de Thomas


Enunciado do Problema. Resolva o seguinte sistema tridiagonal com o algoritmo
de Thomas.


2,04 1
T1
40,8

T2 0,8
1 2,04 1

1 2,04 1
T
0,8

1 2,04
T4
200,8

248

MATRIZES ESPECIAIS E GAUSS-SEIDEL

Soluo.
e2
f2
e3
f3
e4
f4

Primeiro, a decomposio 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 decomposio LU

1
0,49
1
[A] = [L][U ] =

0,645

1
0,717 1

2,04

1
1,550

1
1,395

1
1,323

Pode-se verificar que isso est correto multiplicando [L][U] para obter [A].
A substituio progressiva implementada por
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 ento ser usado em combinao com a matriz [U] para se efetuar a
substituio regressiva e obter a soluo
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 Decomposio de Cholesky


Do quadro PT3.1, tem-se que uma matriz simtrica 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 matemticos quanto de engenharia. Eles oferecem vantagens computacionais, pois apenas metade do armazenamento necessria e, na maioria dos casos,
preciso apenas a metade do tempo de computao para sua soluo.
Uma das abordagens mais populares envolve a decomposio de Cholesky, algoritmo
baseado no fato de que uma matriz simtrica pode ser decomposta em
[A] = [L][L]T

(11.2)

11.1 MATRIZES ESPECIAIS

249

Isto , os fatores triangulares resultantes so transpostos um do outro.


Os termos da Equao (11.2) podem ser multiplicados e igualados. O resultado expresso de forma simples por relaes de recorrncia. Para a k-sima linha,
aki
lki =
e
lkk

i1


li j l k j

j=1

lii

para i = 1, 2, . . . , k 1



k1


= akk
lk2j

(11.3)

(11.4)

j=1

EXEMPLO 11.2

Decomposio de Cholesky
Enunciado do Problema. Aplique a decomposio de Cholesky matriz simtrica

6 15 55
[A] = 15 55 225
55 225 979
Soluo. Para a primeira linha (k = 1), a Equao (11.3) no se aplica e a Equao
(11.4) usada para calcular

l11 = a11 = 6 = 2,4495


Para a segunda linha (k = 2), a Equao (11.3) d
l21 =

a21
15
=
= 6,1237
l11
2,4495

e a Equao (11.4) fornece




2
= 55 (6,1237)2 = 4,1833
l22 = a22 l21
Para a terceira linha (k = 3), a Equao (11.3) d (i = 1)
l31 =

a31
55
=
= 22,454
l11
2,4495

e (i = 2)
l32 =

a32 l21l31
225 6,1237(22,454)
=
= 20,916
l22
4,1833

e a Equao (11.4) fornece


l33 =



2
2
a33 l31
l32
= 979 (22,454)2 (20,916)2 = 6,1106

Assim, a decomposio de Cholesky fornece

2,4495

[L] = 6,1237 4,1833


22,454 20,916 6,1106
A validade dessa decomposio pode ser verificada substituindo-se a matriz L e sua
transposta na Equao (11.2) para ver se seu produto fornece a matriz original [A]. Isso
deixado como exerccio.

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 pseudocdigo para implementar o algoritmo de decomposio de Cholesky. Deve-se observar que o algoritmo na Figura 11.3 pode resultar em
um erro de execuo se o clculo de akk envolver a extrao da raiz quadrada de um
nmero negativo. Porm, nos casos em que a matriz positiva definida,1 isso nunca vai
ocorrer. Como muitas das matrizes simtricas que surgem na engenharia so, de fato,
positivas definidas, o algoritmo de Cholesky tem vasta aplicao. Outra vantagem de
lidar com matrizes simtricas positivas definidas que pivotamento no necessrio para
evitar a diviso por zero. Assim, possvel implementar o algoritmo da Figura 11.3 sem
a complicao do pivotamento.

FIGURA 11.3
Pseudocdigo para o
algoritmo de decomposio
LU de Cholesky.

GAUSS-SEIDEL
Os mtodos iterativos ou de aproximao fornecem uma alternativa aos mtodos de
eliminao descritos at agora. Tais abordagens so semelhantes s tcnicas desenvolvidas para obter as razes de uma nica equao do Captulo 6. Aquelas abordagens consistiam em escolher um valor e ento usar um mtodo sistemtico para obter uma estimativa
refinada da raiz. Como esta parte do livro trata de um problema similar obter valores
que satisfaam simultaneamente um conjunto de equaes pode-se suspeitar que tais
mtodos de aproximao so teis neste contexto.
O mtodo de Gauss-Seidel o mtodo iterativo mais comumente usado. Suponha que
tenhamos um conjunto de n equaes:
[A]{X} = {B}
Suponha que, para sermos concisos, nos limitemos a um conjunto 3 3 de equaes. Se
os elementos da diagonal forem todos no-nulos, possvel isolar x1 na primeira equao,
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, comea o processo de soluo escolhendo-se aproximaes para os xs. Uma


forma simples de obter aproximaes iniciais supor que elas so todas nulas. Esses
zeros podem ser substitudos na Equao (11.5a), que pode ser usada para calcular um
novo valor para x1 = b1/a11. Ento, substitui-se esse novo valor de x1 junto com a aproximao anterior nula para x3 na Equao (11.5b) para calcular um novo valor para x2. O
processo repetido para a Equao (11.5c) para se calcular uma nova estimativa para x3.
Ento, volta-se para a primeira equao e o procedimento inteiro repetido at que a
soluo convirja para valores suficientemente prximos dos valores verdadeiros. A convergncia pode ser verificada usando-se o critrio [lembre-se da Equao (3.5)]


 x j x j1 
 i

i
|a,i | = 
(11.6)
 100% < s
j


xi
para todo i, onde j e j 1 representam a iterao atual e a anterior.

Uma matriz positiva definida aquela para a qual o produto {X}T[A]{X} maior do que zero para
todo vetor no nulo {X}.

11.2 GAUSS-SEIDEL

EXEMPLO 11.3

251

Mtodo de Gauss-Seidel
Enunciado do Problema. Use o mtodo de Gauss-Seidel para obter a soluo 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 soluo verdadeira x1 = 3, x2 = 2,5 e x3 = 7.
Soluo.

Primeiro, em cada uma das equaes, isole a varivel 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
x1 =

(E11.3.1)
(E11.3.2)
(E11.3.3)

Supondo-se que x2 e x3 so iguais a zero, a Equao (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 substitudo na Equao
(E11.3.2) para calcular
x2 =

19,3 0,1(2,616667) + 0
= 2,794524
7

A primeira iterao completada substituindo-se os valores calculados para x1 e x2 na


Equao (E11.3.3) para obter
x3 =

71,4 0,3(2,616667) + 0,2(2,794524)


= 7,005610
10

Para a segunda iterao, 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 mtodo est, portanto, convergindo para a verdadeira soluo. Iteraes adicionais


podem ser aplicadas para melhorar as respostas. Porm, em um problema real, a resposta
verdadeira no seria conhecida a priori. Conseqentemente, a Equao (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 so |a,2 | = 11,8% e |a,3 | = 0,076%. Observe que,
como no caso em que determinamos razes de uma nica equao, as formulaes como
a Equao (11.6) em geral fornecem uma estimativa conservadora de convergncia.
Assim, quando elas so satisfeitas, garantem que o resultado conhecido pelo menos dentro da tolerncia especificada por s.

252

MATRIZES ESPECIAIS E GAUSS-SEIDEL

medida que cada novo valor de x calculado pelo mtodo de Gauss-Seidel, ele
imediatamente usado na prxima equao para se determinar outro valor de x. Assim, se
a soluo estiver convergindo, a melhor estimativa disponvel ser empregada. Uma
abordagem alternativa, chamada iterao de Jacobi, utiliza uma ttica um pouco diferente. Em vez de usar os ltimos xs disponveis, essa tcnica usa a Equao (11.5) para
calcular um conjunto de novos xs com base no conjunto de antigos xs. Logo, conforme
novos valores so gerados, no so imediatamente usados, mas guardados para a prxima iterao.
A diferena entre o mtodo de Gauss-Seidel e a iterao de Jacobi descrita na
Figura 11.4. Embora haja certos casos para os quais o mtodo de Jacobi til, a utilizao das melhores estimativas disponveis no mtodo de Gauss-Seidel em geral o
torna o preferido.
11.2.1 Critrios de Convergncia para o Mtodo de Gauss-Seidel
Observe que o mtodo de Gauss-Seidel similar tcnica de iterao de ponto fixo simples, que foi usada na Seo 6.1 para determinar razes de uma nica equao. Lembre-se
de que a iterao de ponto fixo simples tem dois problemas fundamentais: (1) s vezes,
no convergente, e (2) quando converge, muitas vezes o faz muito lentamente. O
mtodo de Gauss-Seidel tambm pode exibir essas limitaes.
Os critrios de convergncia podem ser deduzidos lembrando, da Seo 6.5.1, que
condies suficientes para a convergncia de duas equaes no-lineares, u(x, y) e
v(x, y), so
   
 u   u 
 + <1
(11.7a)
x   y 
e

   
 v   v 
 + <1
x  y 

(11.7b)

Esses critrios tambm se aplicam a equaes lineares do tipo que estamos resolvendo com o mtodo de Gauss-Seidel. Por exemplo, no caso de duas equaes simultneas, o algoritmo de Gauss-Seidel [Equao (11.5)] pode ser expresso como
u(x1 , x2 ) =

b1
a12

x2
a11
a11

(11.8a)

FIGURA 11.4
Descrio grfica da diferena entre (a) o mtodo de Gauss-Seidel e (b) a iterao de Jacobi
para resolver equaes algbricas lineares simultneas.
Primeira Iterao
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 Interao

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 equaes podem ser calculadas com respeito a cada uma das
variveis como
u
=0
x1

u
a12
=
x2
a11

e
v
a21
=
x1
a22

v
=0
x2

que podem ser substitudos na Equao (11.7) para fornecer


 
 a12 
 <1
a 
11
e

(11.9a)

 
 a21 
 <1
a 
22

(11.9b)

Em outras palavras, os valores absolutos das inclinaes da Equao (11.8) devem


ser menores do que 1 para garantir a convergncia. Isso mostrado graficamente na
Figura 11.5. A Equao (11.9) pode tambm ser reformulada como
|a11 | > |a12 |
e
|a22 | > |a21 |
Isto , o elemento da diagonal deve ser maior do que o elemento fora da diagonal em cada linha.
A extenso do que foi visto para n equaes imediata e pode ser expressa por
n

|aii | >
|ai, j |
(11.10)
j=1
j= i

FIGURA 11.5
Ilustrao da (a) convergncia e (b) divergncia do mtodo de Gauss-Seidel.
Observe que as mesmas funes so traadas em ambos os casos (u: 11x1 + 13x2 = 286;
v: 11x1 9x2 = 99). Assim, a ordem na qual as equaes so implementadas (como descrito
pela direo da primeira flecha saindo da origem) determina se os clculos convergem.

x2

x2

x1

x1
u

(a)

(b)

254

MATRIZES ESPECIAIS E GAUSS-SEIDEL

Isto , o coeficiente da diagonal em cada equao deve ser maior que a soma dos valores
absolutos dos outros coeficientes na equao. Esse critrio suficiente, mas no
necessrio para a convergncia. Ou seja, embora o mtodo possa s vezes funcionar se a
Equao (11.10) no for satisfeita, a convergncia garantida se essa condio for satisfeita. Os sistemas para os quais a Equao (11.10) satisfeita so chamados diagonal
dominantes. Felizmente, muitos problemas de importncia prtica na engenharia satisfazem tal exigncia.
11.2.2 Aprimoramento da Convergncia Usando Relaxamento
O relaxamento representa uma pequena modificao no mtodo de Gauss-Seidel e foi
criado para melhorar a convergncia. Aps cada novo valor de x ser calculado usando-se
a Equao (11.5), esse valor modificado por uma mdia ponderada dos resultados da
iterao 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 no modificado. No entanto, se a for
atribudo um valor entre 0 e 1, o resultado uma mdia ponderada do resultado atual e do
anterior. Esse tipo de modificao chamado sub-relaxamento e tipicamente usado para
fazer com que um sistema no-convergente passe a convergir, ou para apressar a convergncia amortecendo as oscilaes.
Para valores de entre 1 e 2, peso extra colocado no valor atual. Nesse caso, existe
uma suposio implcita de que o novo valor est movendo-se na direo correta da
soluo 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 modificao,
que chamado sobre-relaxamento, implementado para acelerar a convergncia de um
sistema j convergente. Essa abordagem tambm chamada de sobre-relaxamento simultneo ou sucessivo ou SOR.
A escolha de um valor adequado para depende criticamente do problema tratado e
, muitas vezes, determinada de maneira emprica. Para uma nica soluo de um conjunto de equaes, tal tcnica freqentemente desnecessria. Contudo, se o sistema que
est sendo estudado deve ser resolvido repetidamente, a eficincia introduzida por uma
boa escolha de pode ser extremamente importante. Bons exemplos so os sistemas
muito grandes de equaes diferenciais parciais que aparecem bastante quando se modelam variaes contnuas das variveis (lembre-se dos sistemas distribudos esboados na
Figura PT3.1b). Esse tpico ser retomado na Parte Oito.
11.2.3 Algoritmo para Gauss-Seidel
Um algoritmo para o mtodo de Gauss-Seidel, com relaxamento, descrito na Figura 11.6.
Observe que no garantido que esse algoritmo convirja se as equaes no estiverem em
uma forma diagonal dominante.
O pseudocdigo tem duas caractersticas que merecem meno. Primeiro, h um conjunto inicial de laos encaixados para dividir cada equao por seu elemento diagonal.
Isso reduz o nmero total de operaes no algoritmo. Segundo, observe que a verificao
de erro designada por uma varivel denominada sentinela. Se alguma das equaes tiver
um erro aproximado maior que o critrio de parada (es), ento as iteraes continuam. O
uso da sentinela permite evitar clculos desnecessrios de estimativa de erro quando uma
das equaes excede o critrio.
11.2.4 Contexto de Problemas para o Mtodo de Gauss-Seidel
Alm de evitar os problemas de arredondamento, a tcnica de Gauss-Seidel tem vrias
outras vantagens que a torna particularmente atrativa no contexto de certos problemas de
engenharia. Por exemplo, quando a matriz em questo muito grande e muito esparsa
(isto , a maior parte dos elementos zero), os mtodos de eliminao desperdiam
enorme quantidade de memria 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 ij THEN soma  soma  ai,j*xj
END DO
xi soma
END DO
iter1
DO
sentinela  1
DOFOR i  1,n
old  xi
soma  bi
DOFOR j  1,n
IF ij 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
Pseudocdigo para o mtodo de Gauss-Seidel com relaxamento.

No comeo deste captulo, viu-se como essas limitaes poderiam ser evitadas se a
matriz de coeficientes fosse de banda. Para sistemas que no so de banda, no h
usualmente uma maneira simples de evitar a utilizao de muita memria quando se
utilizam mtodos de eliminao. Como todos os computadores tm uma quantidade
finita de memria, essa ineficincia pode colocar uma limitao no tamanho dos sistemas para os quais os mtodos de eliminao so prticos.
Embora um algoritmo geral como o da Figura 11.6 seja suscetvel s mesmas limitaes, a estrutura das equaes de Gauss-Seidel [Equao (11.5)] permite que programas
concisos sejam desenvolvidos para sistemas especficos. Como apenas os coeficientes
no-nulos precisam ser includos na Equao (11.5), possvel grande economia de
memria de computador. Mesmo que isso signifique um maior investimento inicial no desenvolvimento de software, as vantagens a longo prazo so substanciais quando se lida
com sistemas grandes para os quais muitas simulaes devem ser efetuadas. Tanto sistemas de variveis agregadas quanto aqueles de distribudas podem resultar em matrizes
grandes e esparsas, para as quais o mtodo de Gauss-Seidel til.

MATRIZES ESPECIAIS E GAUSS-SEIDEL

SOFTWARE

256

11.3

EQUAES ALGBRICAS LINEARES COM


BIBLIOTECAS E PACOTES
As bibliotecas e os pacotes de software tm excelentes recursos para resolver sistemas de
equaes algbricas lineares. Antes de descrever tais ferramentas, deve-se mencionar que
as abordagens descritas no Captulo 7 para resolver sistemas no-lineares podem ser aplicadas a sistemas lineares. No entanto, nesta seo o foco ser em abordagens que foram
criadas especialmente para sistemas lineares.
11.3.1 Excel
H duas formas de resolver equaes algbricas lineares com Excel: (1) usando a ferramenta Solver ou (2) usando funes de inverso e multiplicao de matrizes.
Lembre-se de que uma forma de determinar a soluo de equaes algbricas lineares

{X} = [A]1 {B}

(11.12)

O Excel tem funes embutidas tanto para a inverso quanto para a multiplicao de matrizes que podem ser usadas para implementar essa frmula.
EXEMPLO 11.4

Usando o Excel para Resolver Sistemas Lineares


Enunciado do Problema. Lembre-se de que no Captulo 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 soluo desse sistema {X}T = 1 1 1. Use o Excel para obt-la.
Soluo. A planilha eletrnica para resolver esse problema mostrada na Figura 11.7.
Primeiro, a matriz [A] e as constantes {B} do lado direito so digitadas nas clulas da
planilha. Ento, um conjunto de clulas de dimenses apropriadas (no exemplo, 3 3)
selecionado ou clicando e arrastando o mouse ou utilizando as setas do teclado enquanto
se mantm pressionada a tecla shift. Como na Figura 11.7, selecionamos o campo
B5. .D7.

FIGURA 11.7

A seguir, a frmula chamando a funo de inverso de matriz digitada,


=minverse(B1..D3)

11.3 EQUAES ALGBRICAS LINEARES COM BIBLIOTECAS E PACOTES

257

Observe que o argumento o campo que contm os elementos de [A]. As teclas Ctrl e
Shift so 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 frmula 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
soluo, {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 dgitos. Isso foi feito porque o Excel usa dupla preciso para armazenar
valores numricos. Assim, v-se que os erros de arredondamento ocorrem nos ltimos
dois dgitos. Isso implica um nmero 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 no
tem o recurso de calcular um nmero de condicionamento. Na maioria dos casos, principalmente porque ele usa nmeros em dupla preciso, isso no representa um problema.
No entanto, para casos em que se suspeita que o sistema mal condicionado, a determinao do nmero de condicionamento til. O software MATLAB e o IMSL so capazes
de calcular esse nmero.
11.3.2 MATLAB
Como o nome sugere, MATLAB (abreviao para MATriz e LABoratrio) foi criado
para facilitar manipulaes de matrizes. Assim, como seria de esperar, seus recursos
nessa rea so excelentes. Algumas das funes principais do MATLAB, relacionadas a
operaes de matrizes, esto listadas na Tabela 11.1. O seguinte exemplo ilustra um
pouco desses recursos.

TABELA 11.1 Funes do MATLAB para implementar anlise de matrizes e lgebra linear numrica.
Anlise de Matrizes

Equaes Lineares

Funo

Descrio

Funo

Descrio

cond

Nmero de condicionamento da matriz

\ and /

Soluo da equao linear; usa


help slash

norm

Norma da matriz ou do vetor

chol

Fatorizao de Cholesky

rcond

Estimador de condicionamento
recproco LINPACK

lu

Fatores da eliminao de Gauss

rank

Nmero de linhas ou colunas linearmente

inv

Inversa da matriz

independentes
det

Determinante

qr

Decomposio ortogonal-triangular

trace

Soma dos elementos da diagonal

qrdelete

Apaga uma coluna da

null

Espao nulo

qrinsert

Insere uma coluna na fatorizao QR

orth

Ortogonalizao

nnls

Mnimos quadrados no-negativos

rref

Forma reduzida escalonada por linha

pinv
lscov

Pseudo-inversa
Mnimos quadrados na presena de
covarincia conhecida

fatorizao QR

MATRIZES ESPECIAIS E GAUSS-SEIDEL

SOFTWARE

258

EXEMPLO 11.5

Usando o MATLAB para Manipular Equaes Algbricas Lineares


Enunciado do Problema. Explore como o MATLAB pode ser usado para resolver e
analisar equaes algbricas lineares. Use o mesmo sistema do Exemplo 11.4.
Soluo.

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

Ento, determina-se o nmero 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 nmero 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 preciso.
Agora, possvel resolver o sistema de equaes de duas formas diferentes. O mais
direto e eficiente empregar a barra invertida, ou diviso esquerda:
>> X=A\B
X =
1.0000
1.0000
1.0000

Para casos como o nosso, o MATLAB usa a eliminao de Gauss para resolver tais
sistemas.
Como uma alternativa, pode-se implementar a Equao (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 multiplicao matricial. Portanto, consome mais tempo do que usando a barra invertida.

11.3 EQUAES ALGBRICAS LINEARES COM BIBLIOTECAS E PACOTES

259

11.3.3 IMSL
O IMSL tem diversas rotinas para sistemas lineares, inverso de matrizes e clculo de determinantes. A Tabela 11.2 enumera as categorias cobertas.
Como se v na Tabela 11.3, oito rotinas so dedicadas ao caso especfico de matrizes
reais arbitrrias. Nessa discusso, iremos concentrar-nos em duas rotinas: LFCRG
e LFIRG.
A rotina LFCRG efetua uma decomposio LU da matriz [A] e calcula seu nmero 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  Dimenso dominante de A como especificado na declarao de dimenso
dada pelo programa. (Entrada)
FAC  Matriz N N contendo a decomposio LU de A. (Sada)
LDFAC  Dimenso dominante de FAC como especificado na declarao de
dimenso dada pelo programa. (Entrada)
IPVT  Vetor de comprimento N contendo a informao de pivotamento para a
decomposio LU. (Sada)
RCOND  Escalar contendo o recproco do nmero de condicionamento de A.
(Sada)
TABELA 11.2 Categorias de rotinas de IMSL para a soluo de sistemas lineares,
inverso de matrizes e clculo de determinantes.
Matrizes reais arbitrrias
Matrizes complexas arbitrrias
Matrizes triangulares reais
Matrizes triangulares complexas
Matrizes reais positivas definidas
Matrizes reais simtricas
Matrizes complexas hermitianas positivas definidas
Matrizes complexas hermitianas
Matrizes de banda reais em armazenamento de banda
Matrizes de banda reais simtricas positivas definidas em armazenamento de banda
Matrizes de banda complexas em armazenamento de banda
Matrizes de banda complexas simtricas positivas definidas em armazenamento de banda
Solucionador de equaes lineares reais esparsas
Solucionador de equaes lineares complexas esparsas
Solucionador de equaes lineares reais esparsas simtricas positivas definidas
Solucionador de equaes lineares complexas esparsas hermitianas positivas definidas
Matrizes Toeplitz reais em armazenamento Toeplitz
Matrizes Toeplitz complexas em armazenamento Toeplitz
Matrizes complexas circulantes em armazenamento circulante
Mtodos iterativos
Mnimos quadrados lineares e fatorizao de matrizes
Mnimos quadrados, decomposio QR e a inversa generalizada
Fatorizao de Cholesky
Decomposio em valores singulares (SVD)
Apoio matemtico para estatstica

MATRIZES ESPECIAIS E GAUSS-SEIDEL

260

TABELA 11.3 Rotinas IMSL para a soluo de matrizes reais arbitrrias.


Rotina

Capacidade

LSARG
LSLRG
LFCRG
LFTRG
LFSRG
LFIRG
LFDRG
LINRG

Resolve sistemas lineares com alta acurcia


Resolve um sistema linear
Fatora e calcula o nmero de condicionamento
Fatora
Resolve depois de fatorar
Resolve sistemas lineares com alta acurcia depois de fatorar
Calcula o determinante depois de fatorar
Inverte

O LFIRG usa a decomposio LU e um vetor particular do lado direito para gerar


uma soluo de alta acurcia 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  Dimenso dominante de A como especificado na declarao de dimenso
dada pelo programa. (Entrada)
FAC  Matriz N N contendo a decomposio LU de A. (Entrada)
LDFAC  Dimenso dominante de FAC como especificado na declarao de dimenso dada pelo programa. (Entrada)
IPVT  Vetor de comprimento N contendo a informao de pivotamento para a
decomposio 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 soluo do sistema linear. (Sada)
RES  Vetor de comprimento N contendo o vetor residual da soluo refinada. (Sada)
Essas duas rotinas so usadas no seguinte exemplo. Primeiro, o LFCRG chamado
para decompor a matriz e devolver o nmero de condicionamento. Ento, 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 soluo 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 nmero de condicionamento, a matriz inversa e a soluo 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
Soluo. Um exemplo de um programa principal em Fortran 90 usando LFCRG e
LFIRG para resolver esse problema pode ser escrito como

11.3 EQUAES ALGBRICAS 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 decomposio LU; determinar e mostrar o nmero de condicionamento
CALL LFCRG(n,A,lda,factor,ldfac,ipvt,Rcond)
PRINT *, "nmero 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 atravs 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 soluo para B. Mostrar os resultados
PRINT *, "Soluo:"
DO I = 1,n
PRINT *, x(i)
END DO
END PROGRAM

A sada :
Nmero 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

Soluo:
9.999986E-01
1.000010
9.999884E-01

Novamente, o nmero de condicionamento da mesma ordem de grandeza que o


nmero de condicionamento baseado na norma da soma das linhas no Exemplo 10.3
(451,2). Ambos os resultados implicam que entre 2 e 3 dgitos de preciso podem ser perdidos. Isso confirmado pela soluo, na qual se v que os erros de arredondamento ocorrem nos ltimos dois ou trs algarismos.

MATRIZES ESPECIAIS E GAUSS-SEIDEL

262

PROBLEMAS
10x1 + 2x2 x3 = 27

11.1 Efetue os mesmos clculos do Exemplo 11.1, agora para o sistema triangular


0,8 0,4
x1 41
0,4 0,8 0,4 x2 = 25

0,4 0,8
105
x3

3x1 6x2 + 2x3 = 61,5

x1 + x2 + 5x3 = 21,5

11.2 Determine a matriz inversa para o Exemplo 11.1, baseando-se


na decomposio LU e nos vetores unitrios.
11.3 O seguinte sistema tridiagonal deve ser resolvido como parte
de um algoritmo maior (Crank-Nicolson) para resolver equaes
diferenciais parciais:

2,01475
0,020875
0,020875

2,01475
0,020875

0,020875
2,01475
0,020875
0,020875

2,01475

11.11 Use o mtodo de Gauss-Seidel (a) sem relaxamento e (b)


com relaxamento ( = 0,95) para resolver o seguinte sistema com
tolerncia de s = 5%. Se necessrio, reorganize as equaes para
garantir convergncia.
3x1 + x2 + 12x3 = 50
6x1 x2 x3 = 3
6x1 + 9x2 + x3 = 40
11.12 Use o mtodo de Gauss-Seidel (a) sem relaxamento e (b)
com relaxamento ( = 1,2) para resolver o seguinte sistema com
tolerncia de s = 5%. Se necessrio, reorganize as equaes para
garantir a convergncia.
2x1 6x2 x3 = 38


T1

4,175

T4
2,0875
Use o algoritmo de Thomas para obter uma soluo.
11.4 Confirme a validade da decomposio de Cholesky do Exemplo 11.2 substituindo os resultados na Equao (11.2) para verificar
que o produto de [L] por [L]T fornece [A].
11.5 Efetue a decomposio de Cholesky do seguinte sistema
simtrico, mo:


8 20 15 x1 50
20 80 50 x2 = 250

15 50 60
100
x3

11.6 Efetue os mesmos clculos que os do Exemplo 11.2 para o


seguinte sistema simtrico


6 15 55 a0 152,6
15 55 225 a1 = 585,6


2488,8
a2
55 225 979

3x1 x2 + 7x3 = 34
8x1 + x2 2x3 = 20
11.13 Desenhe novamente a Figura 11.5 para o caso em que as inclinaes das equaes forem 1 e 1. Qual o resultado de aplicar
Gauss-Seidel a tal sistema?
11.14 Dos seguintes trs conjuntos de equaes lineares, identifique qual(is) conjunto(s) no pode(m) ser resolvido(s) usando um
mtodo iterativo como o de Gauss-Seidel. Mostre, utilizando qualquer nmero de iteraes, que necessariamente sua soluo no
converge. Enuncie claramente seu critrio de convergncia (como
voc sabe que a soluo no est convergindo).
Conjunto Um

Conjunto Dois

Conjunto Trs

9x + 3y + z = 13

x + y + 6z = 8

3x + 4y + 5z = 6

6x + 8z = 2

x + 5y z = 5

2x + 2y 3z = 3

2x + 5y z = 6

4x + 2y 2z = 4

2y z = 1

Alm de determinar a decomposio de Cholesky, empregue-a para


determinar os as.
11.7 (a) Use o mtodo 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
equaes criado para determinar concentraes (com os cs em
g/m3) em uma srie de reatores acoplados como funo 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 mtodo de Gauss-Seidel at s = 5%.
11.9 Repita o Problema 11.8, mas use iterao de Jacobi.
11.10 Use o mtodo de Gauss-Seidel para resolver o seguinte sistema at que o erro relativo porcentual caia abaixo de s = 5%,

11.15 Use a biblioteca ou pacote de software de sua preferncia


para obter uma soluo, calcular a inversa e determinar o nmero
de condicionamento (sem mudana 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 xs devem ser 1.


11.16 Dado o par de equaes simultneas no-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 equaes.
(b) Usando um intervalo de aproximaes iniciais (x = 6 at 6 e
y = 6 at 6), determine quais aproximaes iniciais resultaro em cada uma das solues.
11.17 Uma companhia de eletrnica 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 trs, trs e uma unidades de cada material, respectivamente,
e cada chip de computador usa duas, uma e trs unidades desses
materiais, respectivamente. Colocando essa informao 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 produo
diferente para cada semana. Por exemplo, em uma semana a quantidade total de materiais disponveis era 960 unidades de cobre, 510
unidades de zinco e 610 unidades de vidro. Determine o sistema de
equaes que modela essa meta de produo e use o Excel e a informao deste captulo sobre a resoluo de sistemas lineares com
o Excel para determinar o nmero de transistores, resistores e chips
de computador fabricados nessa semana.

11.18 Use o software MATLAB para determinar o nmero de


condicionamento espectral para uma matriz de Hilbert de dimenso
10. Quantos dgitos de preciso podem ser perdidos por causa do
mal condicionamento? Determine a soluo 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 variveis devem ser exatamente um. Compare os erros
resultantes com aqueles esperados com base no nmero de condicionamento.
11.19 Repita o Problema 11.18, mas para o caso de uma matriz de
Vandermonde de dimenso 6 (ver Problema 10.14), onde x1 = 4,
x2 = 2, x3 = 7, x4 = 10, x5 = 3 e x6 = 5.
11.20 Na Seo 9.2.1, determinamos o nmero de operaes
necessrias para eliminao de Gauss sem pivotamento parcial.
Faa uma determinao semelhante para o algoritmo de Thomas
(Figura 11.2). Faa um grfico de operaes versus n (de 2 a 20)
para ambas as tcnicas.
11.21 Desenvolva um programa amigvel ao usurio em uma linguagem de macro ou de alto nvel sua escolha para obter uma
soluo 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 amigvel ao usurio em uma linguagem de macro ou de alto nvel sua escolha para a decomposio de Cholesky com base na Figura 11.3. Teste seu programa
repetindo o Exemplo 11.2.
11.23 Desenvolva um programa amigvel ao usurio em uma linguagem de macro ou de alto nvel sua escolha para o mtodo de
Gauss-Seidel com base na Figura 11.6. Teste seu programa
repetindo o Exemplo 11.3.

CAPTULO

12
Estudo de Casos:
Equaes Algbricas Lineares
O propsito deste captulo usar os procedimentos numricos discutidos nos Captulos 9,
10 e 11 para resolver sistemas de equaes algbricas lineares para alguns estudos de casos
da engenharia. Essas tcnicas numricas sistemticas tm importncia prtica, pois os engenheiros freqentemente encontram problemas envolvendo sistemas de equaes que so
muito grandes para serem resolvidos mo. Os algoritmos numricos nessas aplicaes
so particularmente convenientes para serem implementados em computadores pessoais.
A Seo 12.1 mostra como um balano de massas pode ser empregado para modelar
um sistema de reatores. A Seo 12.2 enfatiza de modo especial o uso da inverso de matrizes para determinar as complexas interaes de causa e efeito entre as foras nos membros de uma trelia. A Seo 12.3 um exemplo do uso das leis de Kirchhoff para calcular as correntes e voltagens em um circuito de resistores. Finalmente, a Seo 12.4 uma
ilustrao de como as equaes lineares so empregadas na determinao da configurao estacionria em um sistema massa-mola.

12.1

ANLISE DO ESTADO ESTACIONRIO DE UM SISTEMA DE


REATORES (ENGENHARIA QUMICA/BIOENGENHARIA)
Fundamentos. Um dos princpios de organizao mais importantes na engenharia
qumica a conservao de massa (lembre-se da Tabela 1.1). Em termos quantitativos, o
princpio expresso como um balano 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 perodo finito de tempo, isso pode ser expresso como:
Acumulao = entradas sadas

(12.1)

O balano de massas representa um exerccio de contabilidade para a substncia especfica sendo modelada. Para o perodo do clculo, se as entradas forem maiores do que
as sadas, a massa da substncia dentro do volume cresce. Se as sadas forem maiores do
que as entradas, a massa diminui. Se as entradas forem iguais s sadas, a acumulao
zero, e a massa permanece constante. Para essa condio estvel, ou estacionria, a
Equao (12.1) pode ser expressa como:
Entradas = sadas

(12.2)

FIGURA 12.1
Representao esquemtica do balano de massa.
Volume

Entrada

Sada

Acumulao

264

12.1 ANLISE DO ESTADO ESTACIONRIO DE UM SISTEMA DE REATORES

265

Use a conservao da massa para determinar as concentraes estacionrias de um sistema de reatores acoplados.
Soluo. O balano de massas pode ser usado para resolver problemas de engenharia
expressando as entradas e as sadas em termos de variveis e parmetros mensurveis.
Por exemplo, se estivermos fazendo o balano de massas para uma substncia conservativa (isto , uma que no aumenta nem diminui por causa das transformaes qumicas)
em um reator (Figura 12.2), devemos quantificar a taxa pela qual a massa escoa para dentro do reator atravs dos dois tubos de entrada e para fora do reator atravs do tubo de
sada. Isso pode ser feito tomando-se o produto da vazo em volume Q (em m3/min) pela
concentrao 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 atravs do tubo 1 Q1c1 = (2 m3/min)(25 mg/m3) = 50 mg/min. Ento, 50 mg de
produtos qumicos entram no reator atravs desse tubo por minuto. Analogamente, para o
tubo 2, a taxa de entrada de massa (vazo em massa) pode ser calculada como Q2c2 =
(1,5 m3/min)(10 mg/m3) = 15 mg/min.
Observe que a concentrao que sai do reator atravs do tubo 3 no especificada
pela Figura 12.2, porque j temos informao suficiente para calcul-la com base na conservao de massa. Como o reator est em um estado estacionrio, a Equao (12.2)
vlida e as entradas devem ser balanceadas pelas sadas, como em
Q1c1 + Q2c2 = Q3c3
Substituindo os valores dados nessa equao, temos:
50 + 15 = 3,5c3

FIGURA 12.2
Um reator completamente
misturado, em estado
estacionrio, com dois tubos de
entrada e um tubo de sada.
As vazes Q esto em metros
cbicos por minuto e a
concentrao c est em
miligramas por metro cbico.

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

Q34 = 8

Q31 = 1
Q03 = 8
c03 = 20

Q24 = 1

c3

c4

Q44 = 11

266

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

o que fornece c3 = 18,6 mg/m3. Assim, determinamos a concentrao no terceiro tubo.


No entanto, os clculos levam a um bnus adicional. Como o reator bem misturado
(como representado pelo propulsor na Figura 12.2), a concentrao ser uniforme, ou homognea, em todo o tanque. Desse modo, a concentrao no tubo 3 deve ser idntica
concentrao no reator. Conseqentemente, o balano de massas permitiu calcular a concentrao tanto no reator quanto no tubo de sada. Tal informao de grande utilidade
para engenheiros qumicos e petroqumicos que devem projetar reatores que contm
misturas com uma concentrao especfica.
Como apenas lgebra simples foi usada para determinar a concentrao para um
nico reator na Figura 12.2, talvez no fique bvio onde computadores aparecem em clculos de balano de massa. A Figura 12.3 mostra um problema em que computadores no
apenas so teis como so uma necessidade prtica. Pelo fato de haver cinco reatores
conectados, ou acoplados, cinco equaes simultneas de balano de massa so necessrias para caracterizar o sistema. Para o reator 1, a taxa de entrada de massa
5(10) + Q31c3
e a taxa de sada de massa
Q12c1 + Q15c1
Como o sistema est em um estado estacionrio, as entradas e sadas devem ser iguais:
5(10) + Q31c3 = Q12c1 + Q15c1
ou, substituindo os valores da Figura 12.3,
6c1 c3 = 50
Equaes semelhantes podem ser geradas para os outros reatores:
3c1 + 3c2 = 0
c2 + 9c3 = 160
c2 8c3 + 11c4 2c5 = 0
3c1 c2 + 4c5 = 0
Um mtodo numrico pode ser usado para resolver essas cinco equaes e determinar as cinco concentraes desconhecidas:
{C}T = 11, 51 11, 51 19, 06 17, 00 11, 51
Alm 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 mudana na concentrao no reator i por causa de
uma variao unitria na carga do reator j. Assim, os zeros na coluna 4 indicam que uma
carga no reator 4 no vai ter efeito nos reatores 1, 2, 3 e 5. Isso consistente com a configurao do sistema (Figura 12.3), que mostra que o escoamento para fora do reator 4
no retroalimenta nenhum dos outros reatores. Em contraste, cargas em qualquer dos trs
primeiros reatores iro afetar o sistema inteiro, como indicado pela ausncia de zeros nas
trs primeiras colunas. Tal informao de grande utilidade para os engenheiros que projetam e administram esses sistemas.

12.2 ANLISE DE UMA TRELIA ESTATICAMENTE DETERMINADA

12.2

267

ANLISE DE UMA TRELIA ESTATICAMENTE DETERMINADA


(ENGENHARIA CIVIL/AMBIENTAL)
Fundamentos. Um problema importante em engenharia estrutural o de determinar as
foras e reaes associadas a uma trelia estaticamente determinada. A Figura 12.4
mostra um exemplo de tal trelia.
As foras (F) representam a tenso ou a compresso dos membros da trelia. As
reaes externas (H2, V2 e V3) so foras que caracterizam como a trelia interage com a
superfcie que a suporta. A dobradia no n 2 pode transmitir tanto foras horizontais
quanto verticais superfcie, enquanto o rolete no n 3 transmite apenas foras verticais.
Observe que o efeito da carga externa de 1.000 lb distribudo ao longo dos vrios membros da trelia.
Soluo. Esse tipo de estrutura pode ser descrito por um sistema de equaes lineares
acopladas. Os diagramas de fora de corpo livre so mostrados para cada n na Figura 12.5.
A soma das foras nas direes 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)

Para o n 2,
 FH = 0 = F2 + F1 cos 30 + F2,h + H2

(12.5)

 FV = 0 = F1 sen 30 + F2,v + V2

(12.6)

FIGURA 12.4
Foras em uma trelia
estaticamente determinada.

1000 lb
1
F1

H2

60

30

F3

90

3
F2
V2

V3

FIGURA 12.5
Diagrama de foras de corpo
livre para os ns de uma trelia
estaticamente determinada.

F1,v
1

F1,h

30
60
F1

F3

F1

F3

F2,v
H2

F3,v
60

30

3
F2

F2

F2,h
V2

V3

F3,h

268

ESTUDO DE CASOS: EQUAES ALGBRICAS 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 fora externa horizontal aplicada ao n i (onde uma fora positiva age da esquerda para a direita) e F1,v a fora externa vertical aplicada ao n i (onde uma fora
positiva age para cima). Assim, nesse problema, a fora 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,hs so nulas. Observe que os sentidos das foras internas e das foras de reaes so desconhecidos. A
aplicao apropriada das leis de Newton exige apenas hipteses consistentes sobre o sentido. Se os sentidos forem escolhidos de forma incorreta, as solues sero negativas. Observe tambm que, nesse problema, assumiu-se que as foras em todos os membros so
de tenso e agem de modo a aproximar os ns adjacentes. Ento, uma soluo negativa
corresponde a compresso. Esse problema pode ser escrito como o seguinte sistema de
seis equaes e seis incgnitas:


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

V3
0
0
0 0,866
0
0 1
Observe que, como formulado na Equao (12.9), o pivotamento parcial necessrio
para evitar diviso por elementos diagonais nulos. Empregando-se uma estratgia de pivotamento, o sistema pode ser resolvido usando-se qualquer das tcnicas de eliminao
discutidas nos Captulos 9 ou 10. No entanto, como esse problema um estudo de caso
ideal para demonstrar a utilidade da matriz inversa, a decomposio 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 foras 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 foras externas no tm nenhum efeito na decomposio LU, o mtodo no


precisa ser implementado vrias vezes para se estudar o efeito de diferentes foras externas
na trelia. Em vez disso, tudo o que se tem de fazer efetuar os passos de substituio progressiva e regressiva para cada vetor do lado direito para obter eficientemente vrias solues.
Por exemplo, pode-se estar interessado em estudar o efeito de foras horizontais induzidas
por um vento soprando da esquerda para a direita. Se a fora do vento puder ser idealizada
como duas foras pontuais de 1.000 lb nos ns 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

86
2.000

250

433

0
50

2.000 1.000

1.000

0
50

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 foras externas so nulas, resultando em
F1 = 866
H2 = 2.000

F2 = 1.250
V2 = 433

F3 = 500
V3 = 433

Os resultados indicam que os ventos tm efeitos marcadamente diferentes na estrutura.


Ambos os casos esto descritos na Figura 12.6.
Os elementos individuais da matriz invertida tambm tm utilidade direta para elucidar interaes resposta-estmulo para a estrutura. Cada elemento representa a mudana de
uma das variveis indeterminadas correspondentes a uma variao unitria de um dos es1
indica que a terceira incgnita (F3) vai
tmulos externos. Por exemplo, o elemento a32
mudar 0,866 por causa de uma variao unitria do segundo estmulo 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 so zero indica que certas variveis no so afetadas por al1
guns dos estmulos externos. Por exemplo, a13
= 0 significa que F1 no afetada por mudanas em F2,h. Essa habilidade de isolar interaes tem um grande nmero de aplicaes
na engenharia, incluindo a identificao daqueles componentes que so mais sensveis a
estmulos externos e, como conseqncia, mais suscetveis a falhas. Alm disso, usada
para identificar componentes que podem ser desnecessrios (ver Problema 12.18).
A abordagem anterior se torna particularmente til quando aplicada a estruturas
grandes e complexas. Na prtica de engenharia, pode ser necessrio resolver trelias
com centenas ou mesmo milhares de membros estruturais. As equaes lineares
fornecem uma abordagem poderosa para se ganhar uma viso geral do comportamento
dessas estruturas.

12.3

CORRENTES E VOLTAGENS EM CIRCUITOS DE RESISTORES


(ENGENHARIA ELTRICA)
Fundamentos. Um problema comum na engenharia eltrica envolve a determinao
das correntes e voltagens em vrias posies em circuitos de resistores. Esses problemas
so resolvidos usando-se as regras de Kirchhoff para correntes e voltagens. A regra da
corrente (ou regra do ponto) estabelece que a soma algbrica 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 so consideradas de sinal positivo. A regra


da corrente uma aplicao do princpio de conservao de carga (lembre-se da
Tabela 1.1).

270

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

FIGURA 12.7
Representao esquemtica
(a) da regra de correntes de
Kirchhoff e (b) da lei de Ohm.

A regra da voltagem (ou regra do lao) especifica que a soma algbrica das diferenas
de potencial (isto , variaes de voltagem) em cada lao 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 (fora eletromotriz) das fontes de voltagem e R a resistncia de cada um


dos resistores do lao. Observe que o segundo termo vem da lei de Ohm (Figura 12.7b),
que estabelece que a queda de voltagem atravs de um resistor ideal igual ao produto da
corrente pela resistncia. A regra de voltagem de Kirchhoff uma expresso da lei de conservao de energia.
Soluo. A aplicao dessas regras resulta em um sistema de equaes algbricas lineares simultneas, pois os vrios laos dentro de um circuito so acoplados. Por exemplo, considere o circuito mostrado na Figura 12.8. As correntes associadas a ele so
desconhecidas tanto em mdulo quanto em sentido. Isso no representa grande dificuldade, pois possvel simplesmente escolher um sentido para cada corrente. Se a soluo
resultante das leis de Kirchhoff for negativa, ento o sentido foi escolhido incorretamente.
A Figura 12.9 mostra algumas escolhas de correntes.
Dadas essas hipteses, 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 aplicao da regra de voltagem em cada um dos dois laos 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 equaes algbricas lineares simultneas.

R = 10 

R=5

1
V1 = 200 V

R=5

R = 10 

R = 15 

R = 20 

FIGURA 12.9
Escolha de correntes.
3

i32
i43

i12
i52

i54
5

i65
6

V6 = 0 V

12.4 SISTEMAS MASSA-MOLA


V = 153,85

271
V = 169,23
V = 200

i = 1,5385

V = 146,15

i = 6,1538

V = 123,08

V=0

FIGURA 12.10
A soluo para as correntes e voltagens obtidas usando-se um mtodo de eliminao.

ou, substituindo as resistncias 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 equaes por
seis correntes desconhecidas:


0
1
1
1
0
0
0
i 12

0 1

i 52
0
0
1 1
0

0
i
0
1
0
0
1
32

=
0
0
i 65
0
0
0
1 1

0
i
10 10
0 15 5

54
i 43
5 10
0 20
0
0
200
Embora no seja prtico resolv-lo mo, esse sistema tratado facilmente usando-se um
mtodo de eliminao. Procedendo dessa forma, a soluo
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 interpretao apropriada dos sinais do resultado, as correntes e voltagens


do circuito so mostradas na Figura 12.10. As vantagens de usar algoritmos numricos e
computadores para problemas desse tipo devem ser evidentes.

12.4

SISTEMAS MASSA-MOLA
(ENGENHARIA MECNICA/AEROESPACIAL)
Fundamentos. Sistemas idealizados de massa-mola desempenham um papel importante na mecnica e em outros problemas da engenharia. A Figura 12.11 mostra tal sistema. Assim que so soltas, as massas so puxadas para baixo pela fora da gravidade.
Observe que o deslocamento de cada mola na Figura 12.11b medido em coordenadas
locais relativas sua posio inicial na Figura 12.11a.
Como introduzido no Captulo 1, a segunda lei de Newton pode ser usada em conjunto com o balano de foras para se desenvolver um modelo matemtico do sistema.
Para cada massa, a segunda lei pode ser expressa como
m

d2x
= FD FU
dt 2

(12.13)

Para simplificar as anlises, suponha que todas as molas so idnticas e obedecem lei
de Hooke. Um diagrama de corpo livre para a primeira massa est esquematizado na
Figura 12.12a. A fora para cima simplesmente a expresso direta da lei de Hooke:
FU = kx1

(12.14)

272

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

k
0

m1
k

m1

x1
0

m2
k

m2

m3

x2
0

m3

(a)

x3

(b)

FIGURA 12.11
Um sistema composto por trs massas suspensas verticalmente por uma srie de molas.
(a) O sistema antes de ser solto, isto , antes da extenso ou compresso das molas.
(b) O sistema depois de ser solto. Observe que as posies das massas so dadas em
coordenadas locais com origens em suas posies antes de serem soltas.

A componente para baixo consiste na fora das duas molas juntamente com a ao da
gravidade na massa,
FD = k(x2 x1 ) + k(x2 x1 ) = m 1 g

(12.15)

Observe como a componente de fora das duas molas proporcional ao deslocamento da


segunda massa, x2, corrigido pelo deslocamento da primeira massa, x1.
As Equaes (12.14) e (12.15) podem ser substitudas na Equao (12.13) para dar
m1

d 2 x1
= 2k(x2 x1 ) + m 1 g kx1
dt 2

(12.16)

Desse modo, deduz-se uma equao diferencial ordinria de segunda ordem para descrever o deslocamento da primeira massa com relao ao tempo. No entanto, observe que
a soluo no pode ser obtida, pois o modelo inclui uma segunda varivel dependente, x2.
Conseqentemente, 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 trs 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 Equaes (12.16), (12.17) e (12.18) formam um sistema de trs equaes diferenciais com trs incgnitas. Com as condies iniciais apropriadas, elas podem ser usadas
para determinar o deslocamento das massas como funo do tempo (isto , suas oscilaes). Mtodos numricos de obter tais solues sero discutidos na Parte Sete. No
momento, possvel obter os deslocamentos que ocorrem quando o sistema eventualmente estiver em repouso, isto , no estado estacionrio. Para fazer isso, as derivadas nas
Equaes (12.16), (12.17) e (12.18) so igualadas a zero e obtm-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 } so os vetores coluna das incgnitas X e dos pesos mg, respectivamente.
Soluo. Nesse ponto, os mtodos numricos podem ser usados para se obter uma
soluo. Se m1 = 2 kg, m2 = 3 kg, m3 = 2,5 kg e k = 10 kg/s2, use a decomposio LU
para determinar os deslocamentos e gerar a inversa de [K].
Substituindo os parmetros do modelo, tem-se

30 20
19,6
[K ] = 20 30 10
{W } = 29,4

24,5
10 10
A decomposio 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 ji1 , mostra o deslocamento da massa i decorrente de
uma fora unitria aplicada sobre a massa j. Assim, os valores 0,1 na coluna 1 mostram
que uma carga unitria 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. Ento, a inversa da matriz de rigidez fornece um resumo fundamental de como as
componentes do sistema respondem a foras aplicadas externamente.

PROBLEMAS
Engenharia Qumica/Bioengenharia
12.1 Efetue os mesmos clculos da Seo 12.1, mas troque c01
para 40 e c03 para 10. Mude tambm os seguintes fluxos: Q01 = 6,
Q12 = 4, Q24 = 2 e Q44 = 12.

12.2 Se a entrada no reator 3 na Seo 12.1 for diminuda de 25%,


use a inversa da matriz para calcular a mudana porcentual na concentrao dos reatores 1 e 4.

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

274

12.3 J que o sistema mostrado na Figura 12.3 est no estado estacionrio, o que pode ser dito a respeito dos quatro fluxos: Q01, Q03,
Q44 e Q55?
12.4 Recalcule as concentraes 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 faa


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 conservao de fluxo para recalcular os valores dos outros fluxos.
12.6 A Figura P12.6 mostra trs reatores interligados por tubos.
Como indicado, a taxa de transferncia de produtos qumicos
atravs de cada tubo igual a uma vazo (Q, com unidade de metros cbicos por segundo) multiplicada pela concentrao no reator
do qual o fluxo se origina (c, com unidades em miligramas por
metro cbico). Se o sistema estiver em um estado estacionrio, a
transferncia para dentro de cada reator vai balancear a transferncia para fora. Deduza equaes de balano de massa para os
reatores e resolva as trs equaes lineares algbricas simultneas
para suas concentraes.

12.7 Empregando a mesma abordagem bsica da Seo 12.1, determine a concentrao de cloreto em cada um dos Grandes Lagos
usando a informao mostrada na Figura P12.7.
12.8 O Baixo Rio Colorado consiste em uma srie de quatro reservatrios, como mostrado na Figura P12.8. Os balanos de massas
podem ser escritos para cada reservatrio e o seguinte conjunto de
equaes algbricas lineares simultneas 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

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 so iguais concentrao resultante de cloreto nos lagos Powell, Mead, Mohave e Havasu,
respectivamente.
(a) Use a inverso de matrizes para determinar a concentrao em
cada um dos quatro lagos.
(b) Em quanto deve ser reduzida a carga no lago Powell para que a
concentrao de cloreto no lago Havasu seja 75?
(c) Usando a norma da soma das colunas, calcule o nmero de
condicionamento e quantos algarismos suspeitos sero gerados
ao resolver esse sistema.

Figura P12.6
Trs reatores interligados por tubos.
A taxa de transferncia de massa
atravs de cada tubo igual ao
produto da vazo Q pela
concentrao c do reator do
qual o fluxo se origina.

500 mg/s

Q13c1

Q33c3
3

Q12c1

Q21c2

200 mg/s

Q23c2

Q33
Q13
Q12
Q23
Q21

=
=
=
=
=

120
40
90
60
30

Figura P12.7
Um balano de cloreto para
os Grandes Lagos. As flechas
numeradas so entradas diretas.

180

Superior

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 reao de primeira ordem, irreversvel (ver Seo 28.1)
acontece em quatro reatores bem misturados (Figura P12.10).

Alto
Rio
Colorado

A B
c1

Assim, a taxa na qual A transformado em B pode ser representada como

Lago
Powell

c2

Rab = kV c

Lago
Mead

Os reatores tm diferentes volumes e, como so operados a diferentes temperaturas, cada um tem uma taxa de reao diferente:

c3
Lago
Mohave

c4

Reator

V, L

k, h1

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 extrao em estgios descrito na figura


P12.9. Em tais sistemas, uma corrente contendo uma frao de peso
Yent de um produto qumico entra a partir da esquerda a uma vazo
em massa F1. Simultaneamente, um solvente carregando uma
frao de peso Xent do mesmo produto qumico entra pela direita a
uma vazo F2. Assim, no estgio i, o balano de massas pode ser
representado por
F1 Yi1 + F2 X i+1 = F1 Yi + F2 X i

Determine a concentrao de A e B em cada um dos reatores no estado estacionrio.


12.11 Uma bomba peristltica produz um escoamento unitrio (Q1)
de um fluido altamente viscoso. A rede est descrita na Figura
P12.11. Cada seo de tubo tem os mesmos comprimento e dimetro.
Os balanos de massa e energia mecnica podem ser simplificados
para se obter os escoamentos em cada tubo. Resolva o sistema de
equaes 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)

Em cada estgio, supe-se que foi estabelecido um equilbrio entre


Yi e Xi como em
K =

Xi
Yi

(P12.9b)

onde K chamado de coeficiente de distribuio. Pode-se isolar


os Xi na Equao (P12.9b) e substitu-los na Equao (P12.9a)
para obter:




F2
F2
Yi1 1 +
K Yi +
K Yi+1 = 0
(P12.9c)
F1
F1

12.12 A Figura P12.12 mostra um processo de trocas qumicas


consistindo em uma srie de reatores nos quais um gs escoando da
esquerda para a direita passa sobre um lquido escoando da direita
para a esquerda. A transferncia de um produto qumico do gs para
o lquido se d a uma taxa proporcional diferena de concentraes entre o gs e o lquido em cada reator. No estado estacionrio, um balano de massas para o primeiro reator pode ser escrito para o gs como

Se F1 = 500 kg/h, Yent = 0,1, F2 = 1.000 kg/h, X ent = 0 e K = 4,


determine os valores de Ysada e Xsada se um reator de cinco estgios
for usado. Observe que a Equao (P12.9c) deve ser modificada
para levar em conta as fraes de peso dos fluxos de entrada
quando aplicada ao primeiro e ao ltimo estgio.

Q G cG0 Q G cG1 + D(c L1 cG1 ) = 0


e para o lquido como
Q L c L2 Q L c L1 + D(cG1 c L1 ) = 0

Figura P12.9
Um processo de extrao em estgios.

Vazo = F2

xout

x2
1

yin

x3
2
0

y1

xi
0i

y2

xi + 1

yi 1

xn
n1

yi

Vazo = F1

xn 1

yn 2

xin
0
n

yn 1

yout

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

276
Q32 = 5

600
1200

Qin = 10

cA,in = 1

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 so as vazes do gs e do lquido, respectivamente, e
D a taxa de troca entre gs e lquido. Balanos semelhantes
podem ser escritos para os outros reatores. Determine as concentraes 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 fora de 1.000 lb


foi aplicada para baixo ao n 1, as reaes externas V2 e V3 foram
calculadas. Mas, se os comprimentos dos membros da trelia fossem dados, seria possvel 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 so conhecidas, pode-se trabalhar
ao contrrio para determinar os comprimentos dos membros da trelia. Observe que, como h trs comprimentos desconhecidos e
apenas duas equaes, possvel determinar apenas a relao entre
os comprimentos. Determine essa relao.
12.18 Empregando os mesmos mtodos usados para analisar a
Figura 12.4, determine as foras e as reaes para a trelia mostrada
na Figura P12.18.
500

Engenharia Civil/Ambiental
12.13 Um engenheiro civil envolvido em uma construo precisa
de 4.800, 5.800 e 5.700 m3 de areia, cascalho fino e cascalho
grosso, respectivamente, para terminar a construo. Existem trs
minas de onde esses materiais podem ser obtidos. A composio
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 foras e as reaes na trelia da Figura P12.19.
Determine ainda a inversa da matriz para esse sistema. A fora
exercida pelo membro vertical no membro do meio parece razovel? Por qu?
Figura P12.19

Quantos metros cbicos devem ser minerados de cada mina para


atender as necessidades do engenheiro?
12.14 Efetue os mesmos clculos da Seo 12.2, mas para a trelia
descrita na Figura P12.14.
12.15 Efetue os mesmos clculos da Seo 12.2, mas para a trelia
descrita na Figura P12.15.
12.16 Calcule as foras e as reaes na trelia da Figura 12.4 se
uma fora para baixo de 2.500 kg e uma fora para a direita de
2.000 kg forem aplicadas ao n 1.

60 60

45

5000

45

PROBLEMAS

277
(a) Determine a concentrao no estado estacionrio do monxido
de carbono em cada sala.
(b) Determine qual a percentagem de monxido de carbono na
rea das crianas resultante (i) dos fumantes, (ii) da grelha e
(iii) da entrada de ventilao.
(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 concentrao na rea das crianas.
(d) Como a concentrao na rea das crianas varia se uma tela for
construda de modo que a mistura entre as reas 2 e 4 decresa
para 5 m3/h?
12.21 Uma fora para cima de 20 kN aplicada no topo de um
trip, como descrito na Figura P12.21. Determine as foras nas pernas do trip.
12.22 Uma trelia submetida carga como mostrado na Figura
P12.22. Usando o seguinte conjunto de equaes, determine as dez
incgnitas: AB, BC, AD, BD, CD, DE, CE, Ax, Ay e Ey.

12.20 Como o nome sugere, a poluio do ar de interiores referese contaminao do ar em ambientes fechados, como casas, escritrios, reas de servio, etc. Suponha que voc est projetando
um sistema de ventilao 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 tm fontes de
monxido de carbono da rea dos fumantes e de uma grelha defeituosa, respectivamente. O balano de massa no estado estacionrio pode ser escrito para cada rea. Por exemplo, para a rea
dos fumantes (isto , sala 1), o balano pode ser escrito como
0  Wfumantes  Qaca  Qac1  E13(c3  c1)
(carga)  (entrada)  (sada)  (mistura)
ou, substituindo os parmetros,
225c1 25c3 = 1400
Balanos 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

2
(rea das crianas)

Qa = 200 m3/h
ca = 2 mg/m3

25 m3/h
4
50 m3/h

Vista superior dos ambientes de um


restaurante. As flechas em uma
nica direo representam
escoamento volumtrico de ar,
enquanto as flechas em duplo
sentido representam a mistura por
difuso. As cargas dos fumantes e
da grelha adicionam massa de
monxido de carbono ao sistema,
mas escoamento de ar desprezvel.

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

2,4 m
C

0,6
x

m
0,8

1m

0,

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

278
A x + AD = 0

24 CD (4/5)CE = 0

A y + AB = 0

AD + DE (3/5)BD = 0

74 + BC + (3/5)BD = 0

CD + (4/5)BD = 0

AB (4/5)BD = 0

DE (3/5)CE = 0

BC + (3/5)CE = 0

E y + (4/5)CE = 0

5

0

20 

20 
5
3

15 

5

10 
20 

24 kN

50 

2
B

74 kN

8
5

1
V1 = 120

V2 = 40

Figura P12.25
4m

12.26 Um engenheiro eltrico supervisiona a produo de trs


tipos de componentes eltricos. Trs tipos de material metal,
plstico e borracha so necessrios para a produo. As quantidades necessrias para a produo de cada componente so:
E

A
3m

3m

Metal, g/ por Plstico, g/ por Borracha, g/ por


Componente componente componente
componente

1
2
3

Figura P12.22
Engenharia Eltrica
12.23 Efetue os mesmos clculos da Seo 12.3 para o circuito
descrito na Figura P12.23.
R = 15 

R = 10 

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, plstico e borracha,


respectivamente, estiver disponvel a cada dia, quantos componentes podero 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 

V6 = 0 volts

Figura P12.23

80 V +

15 

R = 30 

R = 35 

12.28 Determine as correntes para o circuito da Figura P12.28.


Figura P12.28

1
V1 = 10 volts

R=8

=7

6

R = 10 

R = 15 
4

+ 50 V

25 

Figura P12.27

12.24 Efetue os mesmos clculos da Seo 12.3 para o circuito


descrito na Figura P12.24.

1,0
1,2
1,5

R=5
5

j2
6

V6 = 150 volts

4

8

Figura P12.24
12.25 Resolva o circuito da Figura P12.25, determinando as correntes em cada fio. Use a eliminao de Gauss com pivotamento.

20 V +

i1

2

i3

5

PROBLEMAS

279

12.29 O sistema de equaes 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 equaes a seguir foi gerado ao se aplicar a lei
de correntes na malha ao circuito da Figura P12.30:

Engenharia Mecnica/Aeroespacial
12.31 Efetue os mesmos clculos da Seo 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 clculos da Seo 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 tm numerosas aplicaes
em toda a engenharia. A Figura P12.33 mostra um arranjo de quatro molas em srie sendo comprimidas por uma fora de 1.500 kg.
No equilbrio, as equaes de balano das foras podem ser deduzidas escrevendo-se as interaes 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 

I1

10 A

20 

25 
100 V +

I4

onde os ks so as constantes elsticas das molas. Se k1 at k4 forem


100, 50, 80 e 200 N/m, respectivamente, calcule os xs.
12.34 Trs blocos so ligados por uma corda sem peso e repousam
em um plano inclinado (Figura P12.34a). Empregar um procedimento similar quele usado na anlise dos pra-quedistas em
queda-livre no Exemplo 9.11 fornece o seguinte conjunto de
equaes simultneas (os diagramas de corpo livre so 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 acelerao a e as tenses T e R nas duas cordas.


12.35 Efetue clculos 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

x4
k4
x3
k3
x2
k2
x1
k1
0

I2

80 V
+

100 

I3

30 

I4

10 A

10

kg

50

kg

ac

el
er

25

o
,a

kg

ESTUDO DE CASOS: EQUAES ALGBRICAS LINEARES

280

45

,9
7
64
=
5

346,48

50  9,8 = 490

17

17

3,
24

3,
24

0,
37

5
0,
37

6,
48
34

34

69

100  9,8 = 980

6,
48

0,
25
2,
96

2,
96
69

692,96

12

17

3,
24

9,
93

(a)

173,24

25  9,8 = 245

(b)

Figura P12.34

onde k1 = k4 = 10 N/m, k2 = k3 = 30 N/m e m 1 = m 2 =


m 3 = m 4 = 2 kg. Escreva as trs equaes na forma matricial:

kg

Atrito = 0,5
Atrito = 0,3

Atrito = 0,2

30

kg

40

kg
50

10

0  [Vetor acelerao]  [matriz k/m] [Vetor de deslocamento x]


Em um instante especfico em que x1 = 0,05 m, x2 = 0,04 m e
x3 = 0,03 m, isso forma uma matriz tridiagonal. Determine a acelerao de cada massa.

60
x1
k1

Figura P12.35

x2
k2

x3
k3

k4

12.36 Efetue os mesmos clculos que no Problema 12.34 para o


sistema mostrado na Figura P12.36 (os ngulos so 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 trs molas da
Figura P12.37. A determinao das equaes de movimento de

Fx = ma, para cada massa, usando seu diagrama de corpo livre,
resulta nas seguintes equaes diferenciais:


 
k1 + k2
k2
x1
x2 = 0
x1 +
m1
m1

 

 
k2
k2 + k3
k3
x1 +
x2
x3 = 0
x2
m2
m2
m2

 

k3
k3 + k4
x2 +
x3 = 0
x3
m3
m3

12.38 Equaes algbricas lineares podem surgir na resoluo de


equaes diferenciais. Por exemplo, a seguinte equao diferencial
origina-se de um balano 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 distncia ao longo do eixo (m), h


o coeficiente de transferncia de calor entre o eixo e o ambiente
(m 2 ) e Ta a temperatura ambiente (C). Essa equao pode ser
transformada em um conjunto de equaes algbricas lineares
usando-se uma aproximao por diferenas finitas divididas para a
segunda derivada (lembre-se da Seo 4.1.3),
d2T
Ti+1 2Ti + Ti1
=
dx 2
x 2
onde Ti designa a temperatura no n i. Essa aproximao pode ser
substituda na Equao (P12.38) para dar
Ti1 + (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 fora de 50 N for exercida no eixo sem massa no ponto
G, quais as foras de tenso nos cabos A e B?
(b) Determine as foras de reao na base do eixo. Chame esse
ponto de P.

Ta = 10
T0 = 40

T5 = 200

x
Ta = 10

x=0

x = 10

Figura P12.40

Figura P12.38
Um eixo uniforme no isolado posicionado entre duas paredes de
temperaturas constantes, mas diferentes. A representao por diferenas
finitas usa quatro ns interiores.

Essa equao pode ser escrita para cada um dos ns interiores do


eixo, resultando em um sistema de equaes tridiagonal. O
primeiro e o ltimo ns nas extremidades do eixo so fixados por
condies de contorno.
(a) Determine uma soluo analtica para a Equao (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 soluo numrica para os mesmos valores dos
parmetros empregados em (a) usando uma soluo por diferenas finitas com quatro ns interiores, como mostrado na
Figura P12.38 (x = 2 m).
12.39 A distribuio estacionria de temperatura em uma placa
aquecida pode ser modelada pela equao de Laplace.
0=

50

2m

N
y

2m

2m
Bola e soquete
B

2T
2T
+
x2
y2

Se a placa for representada por uma srie de ns (Figura P12.39),


pode-se substituir as segundas derivadas por diferenas divididas
finitas centradas, o que resulta em um sistema de equaes algbricas lineares. Use o mtodo de Gauss-Seidel para determinar as temperaturas nos ns na Figura P12.39.
Figura P12.39
25C

100C

100C

25C

T12

T22

T11

T21

75C

75C

0C

0C

2m

1m
A

1m

EPLOGO: PARTE TRS


PT3.4 PRS E CONTRAS
A Tabela PT3.2 fornece um resumo dos prs e contras envolvidos na resoluo simultnea de equaes algbricas lineares. Dois mtodos o mtodo grfico e a regra de
Cramer so limitados a um nmero pequeno ( 3) de equaes e, portanto, tm pouca
utilidade na resoluo de problemas prticos. No entanto, essas tcnicas so ferramentas
didticas teis para entender o comportamento dos sistemas lineares em geral.
Os mtodos numricos propriamente ditos so divididos em duas categorias gerais:
mtodos exatos e mtodos de aproximao. Como o nome indica, os primeiros so desenvolvidos para fornecer respostas exatas. No entanto, como so afetados por erros
de arredondamento, esses mtodos nos levam, s vezes, a resultados imprecisos. A ordem
de grandeza dos erros de arredondamento varia de sistema para sistema e depende de
vrios fatores, os quais incluem a dimenso do sistema, seu condicionamento e se a matriz dos coeficientes esparsa ou cheia. Alm disso, a preciso computacional afetar os
erros de arredondamento.
recomendvel que se use uma estratgia de pivotamento em qualquer programa de
computador que implemente mtodos exatos. A incluso de tal estratgia minimiza erros
de arredondamento e evita problemas como a diviso por zero. Se no houver outros fatores em jogo, os algoritmos baseados no mtodo de decomposio LU so melhores por
causa de sua eficincia e flexibilidade.
Apesar de os mtodos de eliminao 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 memria de computador ser utilizada para armazenar zeros sem significado. Para sistemas de bandas, esto disponveis
tcnicas para implementar mtodos de eliminao, que no armazenam a matriz de coeficientes inteira.
TABELA PT3.2 Comparao das caractersticas de mtodos alternativos para determinar solues simultneas de equaes
algbricas lineares.
Mtodo

Estabilidade

Preciso

Aplicao

Esforo de
Programao

Grfico

Ruim

Limitada

Regra de Cramer

Limitada

Eliminao de Gauss
(com pivotamento
parcial)
Decomposio LU

Geral

Moderado

Geral

Moderado

Gauss-Seidel

Pode no convergir
se no 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

Fcil

282

Comentrios
Pode levar mais tempo do que os
mtodos numricos
exigido esforo computacional
excessivo para mais de
trs equaes

Mtodo de eliminao preferencial;


permite o clculo da matriz
inversa

PT3.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS

283

A tcnica de aproximao descrita neste livro chamada de mtodo de Gauss-Seidel. Ela difere das tcnicas exatas, pois emprega um esquema iterativo para obter estimativas progressivamente mais prximas da soluo. Assim, o efeito de arredondamentos um ponto discutvel no mtodo de Gauss-Seidel, j que podemos continuar as
iteraes enquanto for necessrio at obter a preciso desejada. Alm disso, podem ser
desenvolvidas verses do mtodo de Gauss-Seidel que permitam utilizar eficientemente
as necessidades de armazenamento computacional dos sistemas esparsos. Conseqentemente, a tcnica de Gauss-Seidel de utilidade para sistemas muito grandes de equaes
em que o armazenamento do sistema poderia tornar-se um problema significativo para
as tcnicas exatas.
A desvantagem do mtodo de Gauss-Seidel que ele nem sempre converge, ou, s
vezes, converge lentamente para a soluo verdadeira. Ele estritamente confivel apenas para sistemas diagonal dominantes. No entanto, esto disponveis mtodos de relaxamento que podem, algumas vezes, contrabalanar essas desvantagens. Alm disso, como
muitos conjuntos de equaes algbricas lineares oriundas de sistemas fsicos exibem
dominncia diagonal, o mtodo de Gauss-Seidel de grande utilidade para resolver problemas de engenharia.
Em resumo, vrios fatores podem influenciar sua escolha de uma tcnica para a
soluo de um problema particular envolvendo equaes algbricas lineares. No entanto,
como delineado anteriormente, dois fatores particularmente importantes na determinao
de sua escolha so o tamanho do sistema e quo esparso ele .

PT3.5 RELAES E FRMULAS IMPORTANTES


Todas as partes deste livro incluem uma seo que resume as frmulas importantes. Embora a Parte Trs no lide com frmulas nicas, a Tabela PT3.3 utilizada para resumir
os algoritmos estudados aqui. A tabela fornece uma viso geral que deveria ser til para
rever e esclarecer as principais diferenas entre os mtodos.

PT3.6 MTODOS AVANADOS E REFERNCIAS ADICIONAIS


Referncias gerais sobre a soluo simultnea de equaes 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 tcnicas avanadas esto disponveis para aumentar a economia de tempo
e/ou espao durante a resoluo de equaes algbricas lineares. Muitas delas se concentram em explorar propriedades das equaes, como simetria e matrizes de banda. Em particular, esto disponveis algoritmos para se trabalhar com matrizes esparsas e transform-las em um formato de banda mnimo. Jacobs (1977) e Tewarson (1973) incluem
informaes nessa rea. Uma vez que estejam em um formato de banda mnimo, h uma
variedade de estratgias de soluo eficientes que so empregadas, como a abordagem de
armazenamento de coluna ativa de Bathe e Wilson (1976).
Alm de conjuntos de equaes n n , existem outros sistemas nos quais o nmero
de equaes, m, e o nmero de incgnitas, n, no so iguais. Sistemas em que m  n so
chamados subdeterminados. Em tais casos, pode tanto no existir soluo quanto existir
mais de uma. Sistemas em que m > n so chamados sobredeterminados. Para tais situaes, em geral no existe uma soluo exata. No entanto, muitas vezes possvel desenvolver uma soluo de compromisso, que procura determinar as respostas que esto
mais prximas de satisfazer todas as equaes simultaneamente. Uma abordagem
comum resolver as equaes no sentido dos mnimos quadrados (Lawson e Hanson,
1974; Wilkinson e Reinsch, 1971). De forma alternativa, os mtodos de programao
linear podem ser usados, nos casos em que as equaes so resolvidas em um sentido
timo, minimizando-se alguma funo objetivo (Dantzig, 1963; Luenberger, 1973; e
Rabinowitz, 1968). Essa abordagem descrita em detalhes no Captulo 15.

EPLOGO: PARTE TRS

284

TABELA PT3.3 Resumo das informaes importantes apresentadas na Parte Trs.

Mtodo
Eliminao de
Gauss

Problemas em
Potencial e
Solues

Procedimento
a11
a21
a31

a12
a22
a32

a13
a23
a33

|
|
|

x3  c3a
33
c1
a11 a12 a13 | c1
x2  (c2  a23x3)a22
c2
a22 a23 | c2
x1  (c1  a12x1  a13x3)a11
c3
a
| c3
33

 

Decomposio

Decomposio
LU

a11
a21
a31

a12
a22
a32

 

a13
1
0 0
a23 l21 1 0
a33
l31 l32 1

Substituio regressiva

    
d1
d2 
d3

c1
u11 u12
c2 0
u22
c3
0
0

u13
u23
u33

     

Substituio progressiva

Mtodo de
Gauss-Seidel

x1j  (c1  a12x2j1 a13x3j1)a11


x2j  (c2  a21x1j  a23x3j1)a22
x3j  (c3  a31x1j  a32x2j )a33

Problemas:
Mal condicionamento
Arredondamento
Diviso por zero
Solues:
Maior preciso
Pivotamento parcial

x1
d1
x2  d2
x3
d3

x1
x2
x3

Problemas:
Mal condicionamento
Arredondamento
Diviso por zero
Solues:
Maior preciso
Pivotamento parcial

continue iterativamente at que


x
xx
100%  
j
i

j
i

j1
i

para todos os xis

Problemas:
Divergncia ou
convergncia
lenta
Solues:
Dominncia
diagonal
Relaxamento

PARTE QUATRO

OTIMIZAO
PT4.1 MOTIVAO
A localizao de razes (Parte 2) e a otimizao esto relacionadas no sentido que ambas
envolvem a estimativa e a busca de um ponto na funo. A diferena fundamental entre
os dois tipos de problema ilustrada na Figura PT4.1. A localizao das razes envolve a
busca dos zeros de uma funo ou funes. Em contraste, a otimizao envolve a busca
de um mnimo ou de um mximo.
O ponto timo um ponto no qual a curva achatada. Em termos matemticos, 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 mnimo ou um mximo: se f (x) < 0,
o ponto um mximo; se f (x) > 0, o ponto um mnimo.
Agora, o entendimento da relao entre razes e pontos timos sugere uma possvel estratgia para achar os ltimos. Isto , voc pode derivar a funo e localizar a raiz (ou seja,
o zero) da nova funo. De fato, alguns mtodos de otimizao procuram o ponto timo resolvendo o problema de raiz: f (x) = 0. Deve ser observado que tais buscas so geralmente
complicadas porque f (x) no est disponvel analiticamente. Portanto, algumas vezes so
usadas aproximaes por diferenas finitas para obter uma estimativa da derivada.
Alm de se considerar a otimizao como um problema de determinao de razes,
deve ser observado que a tarefa de localizao de pontos timos auxiliada por algumas
estruturas matemticas adicionais que no so parte da simples determinao de razes.
Isso tende a fazer que a otimizao seja um problema mais abordvel, particularmente
para o caso multidimensional.
PT4.1.1 Mtodos No-computacionais e Histria
Como mencionado, os mtodos do clculo diferencial ainda so utilizados para determinar solues timas. Todos os estudantes de engenharia e cincias lembram-se de como
trabalhar nos problemas de mximos e mnimos determinando a primeira derivada das
funes dos seus cursos de clculo. Bernoulli, Euler, Lagrange e outros assentaram os
fundamentos do clculo das variaes, que trata da minimizao de funes. O mtodo
dos multiplicadores de Lagrange foi desenvolvido para otimizar problemas com restries (ou vinculados), isto , otimizar problemas nos quais as variveis so limitadas de
alguma forma.

FIGURA PT4.1
Uma funo de uma nica varivel ilustrando a diferena entre razes e pontos timos.

f (x)

f (x) = 0
f (x) 0
f (x) = 0

Mximo

Raiz
0
Raiz

Mnimo

286

f (x) = 0
f (x) 0

Raiz

PT4.1 MOTIVAO

287

O primeiro grande avano nas abordagens numricas ocorreu apenas com o desenvolvimento dos computadores digitais depois da Segunda Guerra Mundial. Koopmans no
Reino Unido e Kantorovich, na antiga Unio Sovitica, trabalharam independentemente
no problema geral da distribuio de custo mnimo de suprimentos e produtos. Em 1947,
Dantzig, um aluno de Koopmans, inventou o procedimento simplex para resolver problemas de programao linear. Essa abordagem pavimentou o caminho para outros mtodos
para otimizao restrita por diversos pesquisadores, especialmente Charnes e seus colaboradores. Abordagens para otimizao irrestrita tambm se desenvolveram rapidamente,
seguindo a ampla disponibilidade dos computadores.
PT4.1.2 Otimizao e a Prtica da Engenharia
Muitos dos modelos com os quais lidamos at aqui so modelos descritivos. Isto , foram
desenvolvidos para simular o comportamento de um artefato de engenharia ou sistema.
Em contraste, a otimizao tipicamente lida com a busca pelo melhor resultado, ou com
a soluo tima de um problema. Portanto, no contexto da modelagem, eles so denominados modelos prescritivos, uma vez que podem ser utilizados para prescrever uma linha
de ao ou o melhor projeto.
Os engenheiros devem sempre projetar artefatos e produtos que desempenhem tarefas de forma eficiente. Ao fazer isso, eles esto restritos pelas limitaes do mundo fsico.
Alm disso, devem manter os custos baixos. Portanto, esto sempre confrontando problemas de otimizao que equilibram eficincia e limitaes. Alguns casos comuns esto
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 otimizao em engenharia.

Projeto de uma aeronave com peso mnimo e resistncia mxima.


Trajetria tima de veculos espaciais.
Projeto de estruturas de engenharia civil com custo mnimo.
Projeto de reservatrios de gua como represas para diminuir os danos de enchentes e ao mesmo
tempo fornecendo a mxima potncia hdrica.
Previso do comportamento de estruturas pela minimizao da energia potencial.
Estratgia de corte de material com custo mnimo.
Projeto de bombas e equipamento de transferncia de calor para eficincia mxima.
Maximizao da potncia de sada de redes eltricas e de mquinas, ao mesmo tempo minimizando
a gerao de calor.
Rota mais curta de um caixeiro-viajante visitando vrias cidades em uma viagem de vendas.
Planejamento e escalonamento timos.
Anlise estatstica e modelos com erro mnimo.
Redes de tubulao timas.
Controle de estoque.
Planejamento de manuteno para minimizar custos.
Minimizao de tempo de espera e de tempo ocioso.
Projeto de sistemas de tratamento de dejetos para atingir padres de qualidade de gua com
custo mnimo.

Otimizao do Custo do Pra-Quedas


Enunciado do Problema. Nos captulos precedentes deste livro, foi usado o problema do
pra-quedista em queda livre para ilustrar as reas bsicas de problemas dos mtodos
numricos. Voc deve ter observado que nenhum desses exemplos se concentra no que
acontece depois que o pra-quedas se abre. Neste exemplo ser examinado o caso em que o
pra-quedas se abre e estamos interessados em prever a velocidade de impacto no solo.
Voc um engenheiro que trabalha para uma agncia que planeja fornecer suprimentos, por via area, a refugiados em uma zona de guerra. Os suprimentos devem ser jogados de uma altitude baixa (500 m), de modo que a queda no seja detectada e que os supri-

288

OTIMIZAO

mentos caiam to perto quanto possvel do campo de refugiados. O pra-quedas se abre


imediatamente aps ter sado do avio. Para reduzir os estragos, a velocidade vertical
no impacto deve ser menor que um valor crtico vc = 20 m/s.
O pra-quedas usado para a queda mostrado na Figura PT4.2. A rea da seo transversal do pra-quedas o da semi-esfera,
A = 2r 2

(PT4.1)

O comprimento de cada uma das 16 cordas que conectam o pra-quedas massa est relacionado com o raio do pra-quedas por

 = 2r
(PT4.2)
Voc sabe que a fora de arrasto do pra-quedas uma funo linear da rea da seo
transversal, descrita pela seguinte frmula
c = kc A

(PT4.3)

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)].
Alm 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


nmero total de pacotes.
Finalmente, o custo de cada pra-quedas est relacionado ao tamanho do pra-quedas
de forma no-linear,
Custo por pra-quedas = c0 + c1  + c2 A2

(PT4.4)

onde c0, c1 e c2 so os coeficientes de custo. O termo constante, c0, o preo-base dos


pra-quedas. A relao no-linear entre custo e rea existe porque pra-quedas grandes
so muito mais difceis de construir do que pra-quedas pequenos.
Determine o tamanho (r) e o nmero de pra-quedas (n) que resultam em um custo
mnimo, ao mesmo tempo que satisfazem o requisito de ter uma velocidade de impacto
suficientemente pequena.
Soluo. O objetivo aqui determinar o nmero e o tamanho dos pra-quedas para minimizar o custo do socorro areo. O problema tem restries porque os pacotes devem ter
uma velocidade de impacto menor que o valor crtico.

FIGURA PT4.2
Um pra-quedas aberto.
r

PT4.1 MOTIVAO

289

O custo pode ser calculado multiplicando-se o custo individual de cada pra-quedas


[Eq. (PT4.4)] pelo nmero de pra-quedas (n). Portanto, a funo que voc quer minimizar, formalmente chamada de funo objetivo, escrita como
Minimize C = n(c0 + c1  + c2 A2 )

(PT4.5)

onde C o custo ($) e A e  so calculados pelas Equaes (PT4.1) e (PT4.2), respectivamente.


Em seguida, deve-se especificar as restries. Para esse problema existem duas restries. Primeiro, a velocidade de impacto deve ser menor ou igual velocidade crtica,
v vc

(PT4.6)

Segundo, o nmero de pacotes deve ser um inteiro maior ou igual a 1,


n1

(PT4.7)

onde n um inteiro.
A essa altura, o problema de otimizao est formulado. Como pode ser visto, um
problema no-linear com restries.
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 Captulo 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 acelerao da gravidade (m/s2), m a massa (kg) e t
o tempo (s).
Embora a Equao (1.10) fornea uma relao entre v e t, preciso saber por quanto
tempo a massa cai. Assim, necessria uma relao entre a distncia de queda z e o tempo
de queda t. A distncia de queda pode ser calculada a partir da velocidade na Equao
(1.10) por integrao,
 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 funo, 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 pra-quedas aberto a medida que cai at a terra (z = 0).

600

400

z (m)

200

Impacto
v (m/s)

10
t (s)

15

290

OTIMIZAO

Entretanto, no preciso ter z como funo de t para resolver esse problema. Em vez
disso, necessrio calcular o tempo necessrio para o pacote cair a distncia z0. Assim,
devemos reformular a Equao (PT4.9) como um problema de determinao de razes.
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 Equao (1.10)
e determinar a velocidade de impacto.
Portanto, a especificao final do problema deveria ser
Minimize C = n(c0 + c1  + c2 A2 )

(PT4.11)

sujeito a
v vc

(PT4.12)

n1

(PT4.13)

onde
A = 2r 2

 = 2r

(PT4.14)

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.15)

(PT4.18)

(PT4.19)

Esse problema ser resolvido no Exemplo 15.4 no final do Captulo 15. Por enquanto,
perceba que ele tem a maioria dos elementos fundamentais de outros problemas de
otimizao que voc encontrar rotineiramente na prtica da engenharia. So eles:
O problema envolver uma funo objetivo, a qual representa sua meta.
Existiro algumas variveis de projeto. Tais variveis podem ser nmeros reais ou
podem ser inteiros. No exemplo, elas so r (real) e n (inteiro).
O problema incluir restries que refletem as limitaes sob as quais voc est
trabalhando.
Deve-se salientar mais um ponto antes de prosseguir. Embora, superficialmente,
a funo objetivo e as restries paream ser equaes simples [por exemplo a Equao
(PT4.12)], elas podem de fato ser o topo do iceberg. Isto , elas podem ser fundamentadas por dependncias e modelos complexos. Por exemplo, como no nosso caso, elas
podem envolver outros mtodos numricos [Equao (PT4.18)]. Isso significa que as relaes funcionais que voc estar usando podem, na realidade, representar clculos longos e complicados. Portanto, tcnicas capazes de encontrar uma soluo tima, ao mesmo
tempo que minimizam o nmero de clculos de funo, so extremamente valiosas.

PT4.2 FUNDAMENTOS MATEMTICOS


H diversos conceitos e operaes matemticos que fundamentam a otimizao. Como
eles sero mais relevantes para voc em contexto, a discusso desses pr-requisitos
matemticos ser adiada at que eles sejam de fato necessrios. Por exemplo, os conceitos

PT4.2 FUNDAMENTOS MATEMTICOS

291

f (x)
f (x)

x*

Mnimo f (x)
Mximo f (x)

timo f (x*, y*)


f (x, y)

y*
x

f (x)
x*

(a)

(b)

FIGURA PT4.4
(a) Otimizao unidimensional. A figura tambm ilustra como a minimizao de f (x)
equivalente maximizao de f (x). (b) Otimizao bidimensional. Observe que essa figura
pode ser usada para representar ou a maximizao (os contornos aumentam em elevao at
o mximo, como em uma montanha) ou a minimizao (os contornos decrescem em elevao
at o mnimo, como em um vale).

importantes de gradiente e hessianas sero discutidos no incio do Captulo 14, na otimizao irrestrita em muitas variveis. Por enquanto, nos limitaremos aqui ao tpico mais geral
de como os problemas de otimizao so classificados.
Um problema de otimizao ou programao matemtica 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 funo objetivo, di (x) so restries


expressas por desigualdades, ei (x) so restries expressas por igualdades e ai e bi so
constantes.
Problemas de otimizao podem ser classificados com base na forma de f(x):
Se f(x) e as restries forem lineares, temos a programao linear.
Se f(x) for quadrtica e as restries forem lineares, temos a programao quadrtica.
Se f(x) no for linear ou quadrtica e/ou as restries forem no-lineares, temos a
programao no-linear.
Alm disso, quando as Equaes (PT4.20) e (PT4.21) so includas, temos problemas de
otimizao com restries; caso contrrio, temos problemas de otimizao sem restries.
Observe que, para os problemas com restries, os graus de liberdade so dados por
npm. Geralmente, para obter uma soluo, p + m deve ser n. Se p + m > n, o problema dito super-restrito.
Outra forma de classificar os problemas de otimizao pela dimenso. Isso geralmente feito dividindo-os em problemas unidimensionais e multidimensionais. Como o
nome indica, os problemas unidimensionais envolvem funes que dependem de uma
nica varivel dependente. Como na Figura PT4.4a, a busca, ento, consiste em subir ou
descer picos ou vales. Os problemas multidimensionais envolvem funes que dependem
de duas ou mais variveis dependentes. Seguindo o mesmo esprito, uma otimizao bidimensional pode ser novamente visualizada como buscando picos ou vales (PT4.4b). Entretanto, do mesmo modo como em uma excurso real, no se est restrito a andar em uma
nica direo, em vez disso, a topografia deve ser examinada para se alcanar a meta de
forma eficiente.

292

OTIMIZAO

Finalmente, o processo de busca pelo mximo comparado com a busca pelo mnimo
basicamente idntico, porque o mesmo valor x* tanto minimiza f (x) quanto maximiza
f (x). Essa equivalncia ilustrada graficamente para uma funo unidimensional na
Figura PT4.4a.

PT4.3 ORIENTAO
Alguma orientao seria til antes de prosseguir com os mtodos numricos para otimizao. O que vem a seguir pretende dar uma viso geral de todo o material da Parte Quatro.
Alm disso, alguns objetivos foram includos para ajudar voc a focalizar seus esforos
quando estudar esse material.
PT4.3.1 Escopo e Viso Geral
A Figura PT4.5 uma representao esquemtica da organizao da Parte Quatro. Examine-a cuidadosamente, comeando pelo topo e trabalhando no sentido horrio.
Depois dessa introduo, o Captulo 13 destinado otimizao unidimensional sem
restries. Sero apresentados trs mtodos para encontrar o mnimo ou mximo de uma
funo de uma nica varivel: busca da seo urea, interpolao quadrtica e o mtodo
de Newton. Esses mtodos tambm so relevantes para a otimizao multidimensional.
O Captulo 14 cobre dois tipos de mtodos gerais para resolver problemas de
otimizao multidimensional sem restries. Os mtodos diretos, como busca aleatria,
busca univariante e busca de padres, no requerem o clculo da derivada da funo. Por
outro lado, os mtodos gradiente usam a primeira e, algumas vezes, a segunda derivada
para achar o ponto timo. Este captulo introduz o gradiente e a hessiana, que so representaes multidimensionais da primeira e da segunda derivadas. O mtodo do aclive
ou declive mximo ser ento coberto com algum detalhe. Em seguida, sero descritos
alguns mtodos avanados: gradiente conjugado, mtodo de Newton, mtodo de Marquardt e mtodos quasi-Newton.
O Captulo 15 dedicado otimizao com restries. A programao linear descrita
em detalhes usando tanto a representao grfica quanto o mtodo simplex. Uma anlise detalhada da otimizao no-linear com restries est alm do escopo deste livro, mas ser
fornecida uma viso geral das principais abordagens. Adicionalmente, ser ilustrado como
tais problemas (juntamente com os problemas cobertos nos Captulos 13 e 14) podem ser resolvidos com pacotes e bibliotecas de software como Excel, MATLAB e o IMSL.
O Captulo 16 estende os conceitos citados para problemas reais de engenharia. Aplicaes de engenharia so usadas para ilustrar como problemas de otimizao so formulados e para que se possa vislumbrar das aplicaes tcnicas de soluo usadas na prtica
profissional.
Um eplogo foi includo no final da Parte Quatro. Ele contm uma reviso dos mtodos discutidos nos Captulos 13, 14 e 15. Essa reviso inclui a descrio dos prs e contras associados ao uso de cada uma das tcnicas. Essa seo tambm fornece referncias
de alguns mtodos numricos que esto alm do escopo deste texto.
PT4.3.2 Metas e Objetivos
Objetivos de Estudo. Aps completar a Parte Quatro, o estudante deve estar suficientemente informado para abordar com sucesso uma grande variedade de problemas em engenharia que envolvem otimizao. Em geral, deve ter dominado as tcnicas, aprendido a
avaliar a confiabilidade delas e ser capaz de analisar mtodos alternativos para um problema particular. Alm dessas metas gerais, os conceitos especficos 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 seo urea ou interpolao quadrtica) e uma busca multidimensional (como o mtodo de busca aleatria).
Alm disso, bibliotecas de programa como o IMSL e pacotes de software como o Excel
ou o MATLAB possuem recursos distintos para otimizao. O estudante pode usar esta
parte do livro para se familiarizar com esses recursos.

PT4.3 ORIENTAO

PT 4.1
Motivao

293

PT 4.2
Fundamentos
matemticos

PT 4.3
Orientao

13.1
Busca da
razo urea

PARTE 4
Otimizao

13.2
Interpolao
quadrtica

PT 4.5
Referncias
adicionais

CAPTULO 13
Otimizao
Unidimensional
sem Restries

EPLOGO
PT 4.4
Prs e contras

16.4
Engenharia
mecnica

16.3
Engenharia
eltrica

CAPTULO 14
Otimizao
Multidimensional
sem Restries

CAPTULO 16
Estudos de
Caso:
Otimizao

16.2
Engenharia
civil

15.3
Otimizao
com pacotes

14.1
Mtodos
diretos

14.2
Mtodos
gradiente

CAPTULO 15
Otimizao
com
Restries

16.1
Engenharia
qumica

13.3
O Mtodo de
Newton

15.1
Programao
linear
15.2
Otimizao com
restries no-linear

FIGURA PT4.5
Organizao esquemtica do material na Parte Quatro: Otimizao
TABELA PT4.2 Objetivos de estudo especficos da Parte Quatro.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Entender onde e por que a otimizao ocorre na resoluo de problemas em engenharia.


Entender os elementos essenciais do problema geral de otimizao: funo objetivo, variveis de deciso e restries.
Ser capaz de distinguir entre otimizao linear e no-linear e entre problemas com restries e sem restries.
Ser capaz de definir a razo urea e entender como ela torna a otimizao unidimensional eficiente.
Localizar o ponto timo de uma funo de uma nica varivel com a busca da seo urea, a interpolao quadrtica ou o mtodo de
Newton. Alm disso, reconhecer prs e contras entre essas abordagens, com ateno especial para as aproximaes iniciais e a convergncia.
Ser capaz de escrever um programa e determinar o ponto timo de uma funo de vrias variveis usando busca aleatria.
Entender as idias por trs da busca por padres, das direes conjugadas e do mtodo de Powel.
Ser capaz de definir e calcular o gradiente e a hessiana de uma funo de vrias variveis tanto analiticamente quanto numericamente.
Calcular mo o ponto timo de uma funo de duas variveis usando o mtodo do aclive ou declive mximo.
Entender as idias bsicas por trs do gradiente conjugado e dos mtodos de Newton, Marquardt e quasi-Newton. Em particular, entender
os prs e contras entre as abordagens e reconhecer como cada uma delas melhora o aclive ou declive mximo.
Ser capaz de reconhecer e descrever um problema de programao linear para representar problemas de engenharia aplicveis.
Ser capaz de resolver um problema bidimensional de programao linear com os mtodos grfico e simplex.
Entender as quatro possveis sadas de um problema de programao linear.
Ser capaz de descrever e resolver um problema de otimizao no-linear com restries usando um pacote de software.

CAPTULO

13
Otimizao Unidimensional
sem Restries
Esta seo descrever tcnicas para encontrar o mnimo ou o mximo de uma funo de
uma nica varivel, f (x). Uma imagem til com respeito a isso a montanha-russa
como a funo descrita na Figura 13.1. Lembre-se, da Parte Dois, de que a localizao das
razes era complicada pelo fato de que podiam ocorrer vrias razes para uma nica
funo. Analogamente, podem ocorrer tanto pontos timos locais quanto globais na
otimizao. Tais casos so chamados multimodais. Em quase todos os exemplos, o interesse ser encontrar o maior ou o menor valor global de uma funo. Portanto, preciso
ser cuidadoso para no confundir um resultado local com o ponto timo global.
Distinguir o extremo local do global pode ser um problema muito difcil no caso
geral. Usualmente, h trs maneiras de abordar esse problema. Primeiro, algumas vezes
pode-se obter informaes sobre o comportamento de funes em dimenso baixa graficamente. Segundo, pode-se encontrar pontos timos com base em aproximaes 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), no existe uma maneira prtica de garantir que um
ponto timo global foi localizado. Entretanto, embora sempre se deva prestar ateno a
essas questes, felizmente h numerosos problemas de engenharia nos quais possvel
localizar o timo global sem ambigidades.
Assim como a localizao de razes, a otimizao em uma dimenso pode ser dividida nos mtodos intervalares ou abertos. Como descrito na prxima seo, a busca da
razo urea um exemplo de mtodo intervalar que depende das aproximaes iniciais
que delimitam um nico ponto timo. Em seguida, vem uma abordagem intervalar um
pouco mais sofisticada a interpolao quadrtica.

FIGURA 13.1
Uma funo que se aproxima assintoticamente de zero em mais e menos infinito e tem dois
pontos de mximo e dois de mnimo na vizinhana da origem. Os dois pontos direita
so pontos timos locais, enquanto os dois esquerda so globais.

f (x)

Mximo
global

Mximo
local

x
Mnimo
global

294

Mnimo
local

13.1 BUSCA DA RAZO UREA

295

O ltimo mtodo descrito neste captulo um mtodo aberto baseado na idia de que
o clculo de mnimos e mximos pode ser feito resolvendo-se f (x) = 0. Isso reduz o
problema de otimizao a encontrar as razes de f (x) usando-se tcnicas semelhantes s
descritas na Parte Dois. Ser mostrada uma verso dessa abordagem o mtodo de
Newton.

13.1

BUSCA DA RAZO UREA


Na determinao da raiz de uma nica equao linear, o objetivo era achar o valor de uma
varivel x que fornece um zero da funo f(x). A otimizao em uma nica varivel tem
como objetivo encontrar o valor de x que fornece um extremo, seja ele um mximo ou um
mnimo de f(x).
A busca da razo urea uma simples tcnica de busca, de propsito geral, em uma
nica varivel. Ela similar abordagem da bisseco para localizar razes, vista no
Captulo 5. Lembre-se de que a bisseco dependia da definio de um intervalo, especificado por uma aproximao inferior (xl) e por uma aproximao superior (xu), que delimita uma raiz. A presena de uma raiz entre esses limites era verificada determinando-se
que f(xl) e f(xu) tinham sinais diferentes. A raiz era ento estimada como o ponto mdio
desse intervalo,
xr =

xl + x u
2

O passo final na iterao da bisseco envolvia a determinao de um intervalo menor.


Isso era feito substituindo-se qualquer uma das extremidades xl ou xu cujo valor da funo
tivesse o mesmo sinal que f(xr). Uma vantagem dessa abordagem era que o novo valor xr
substitua uma das extremidades antigas.
Agora, possvel desenvolver uma abordagem parecida para localizar o ponto timo
de uma funo unidimensional. Por simplicidade, o foco ser o problema de achar o mximo. Na discusso sobre o algoritmo computacional, sero descritas as pequenas modificaes necessrias para simular um mnimo.
Como na bisseco, pode-se comear definindo um intervalo que contenha uma
nica resposta. Assim, o intervalo deve conter um nico mximo e, portanto, chamado
unimodal. Pode-se adotar a mesma nomenclatura que para a bisseco, onde xl e xu
definiam as extremidades inferior e superior, respectivamente, de um intervalo. No entanto, em contraste com a bisseco, necessria uma nova estratgia para achar o mximo nesse intervalo. Em vez de usar somente dois valores da funo (o que suficiente
para determinar a mudana de sinal e, conseqentemente, o zero), sero usados trs valores de funo para determinar a ocorrncia do mximo. Assim, deve ser escolhido um
ponto adicional no intervalo. Em seguida, preciso escolher um quarto ponto. Ento, o
teste para o mximo pode ser aplicado para distinguir se o mximo ocorreu entre os trs
primeiros ou entre os trs ltimos pontos.
A chave para tornar a abordagem mais eficiente uma escolha judiciosa dos pontos
intermedirios. Como na bisseco, o objetivo minimizar clculos da funo substituindo os antigos valores por novos valores. O objetivo pode ser alcanado especificando-se
que as duas condies seguintes so satisfeitas (Figura 13.2):
0 = 1 + 2

(13.1)

1
2
=
0
1

(13.2)

A primeira condio 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 razo entre os
comprimentos deve ser igual. A Equao (13.1) pode ser substituda na Equao (13.2),
1
2
=
1 + 2
1

(13.3)

OTIMIZAO UNIDIMENSIONAL SEM RESTRIES

296

f (x)

Mximo

Primeira
iterao
Segunda
iterao

xl

xu x
1

FIGURA 13.2
O passo inicial para o algoritmo de busca da razo urea envolve a escolha de dois pontos
interiores segundo a razo 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

51
1 + 1 4(1)
R=
=
= 0,61803. . .
2
2

(13.6)

Esse valor, que conhecido desde a Antiguidade, chamado de razo urea (ver
Quadro 13.1). Por permitir que os pontos timos sejam encontrados de forma eficiente,
ele o elemento-chave do mtodo da seo urea que estamos desenvolvendo conceitualmente. Agora, vamos desenvolver um algoritmo para implementar essa abordagem
em um computador.

Quadro 13.1

A Razo urea e os Nmeros de Fibonacci

Em muitas culturas, so atribudas qualidades a certos nmeros.


Por exemplo, o Ocidente est familiarizado com o 7 da sorte e a
Sexta-feira 13. Os gregos antigos chamavam o seguinte nmero
de razo urea:

51
= 0,61803 . . .
2
Essa razo era empregada para vrios propsitos, incluindo a determinao do retngulo na Figura 13.3. Essas propores eram consideradas esteticamente agradveis pelos gregos. Entre outras
coisas, muitos dos seus templos seguiam tal forma.
A razo urea est relacionada com uma importante srie
matemtica conhecida como os nmeros de Fibonacci, que so
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
Assim, cada nmero depois dos dois primeiros representa a
soma dos dois precedentes. Essa seqncia aparece em diversas
reas da cincia e da engenharia. No contexto da presente discusso, uma propriedade interessante da seqncia de Fibonacci
est relacionada com a razo de nmeros consecutivos na seqncia; 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 razo entre os nmeros consecutivos se


aproxima da razo urea!

0,61803
1

FIGURA 13.3
O Parthenon, em Atenas, Grcia, foi construdo no sculo
V a.C. As dimenses frontais se encaixam quase exatamente
em um retngulo ureo.

13.1 BUSCA DA RAZO UREA

297

Como mencionado anteriormente e descrito na Figura 13.4, o mtodo comea com


duas aproximaes iniciais, xl e xu, que delimitem um extremo local de f(x). Em seguida,
dois pontos interiores x1 e x2 so escolhidos segundo a razo urea,

51
d=
(xu xl )
2
x 1 = xl + d
x2 = xu d
A funo calculada nesses dois pontos interiores. Podem ocorrer dois resultados:
1.

2.

Se, como no caso da Figura 13.4, f(x1) > f (x2), ento o domnio de x esquerda de
x2, de xl a x2, pode ser eliminado porque no contm o mximo. Nesse caso, x2 se
torna o novo valor de xl para a prxima rodada.
Se f (x2) > f (x1), ento o domnio de x direita de x1 de x1 a xu teria sido eliminado.
Nesse caso, x1 se torna o novo xu para a prxima rodada.

Agora, aqui est o real benefcio do uso da razo urea. Como os valores originais de
x1 e x2 foram escolhidos usando-se a razo urea, no preciso recalcular todos os valores
da funo para a prxima iterao. 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 funo no antigo x1.
Para completar o algoritmo, necessrio apenas determinar o novo x1, o que feito
com a mesma proporcionalidade que antes,

51
x 1 = xl +
(xu xl )
2
Uma abordagem anloga 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 razo urea envolve a escolha de dois pontos
interiores segundo a razo urea. (b) O segundo passo envolve a definio de um novo
intervalo que inclui o ponto timo.

f (x)

Extremo
(mximo)

Eliminar

xl

x1

d
x2

x
d

xu

(a)
f (x)

xl
Antigo x2

x2 x1
Antigo x1

(b)

xu x

OTIMIZAO UNIDIMENSIONAL SEM RESTRIES

298

Conforme as iteraes so repetidas, o intervalo contendo o ponto extremo reduzido rapidamente. De fato, a cada rodada o intervalo reduzido por um fator igual ao
da razo 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 no to bom quanto a reduo conseguida com a bisseco, mas esse um problema mais difcil.
EXEMPLO 13.1

Busca da Seo urea


Enunciado do Problema. Use a busca da seo urea para achar o mximo de
f(x) = 2 sen x

x2
10

no intervalo entre xl = 0 e xu = 4.
Soluo.

Primeiro, a razo urea usada para criar os dois pontos interiores

51
(4 0) = 2,472
d=
2
x1 = 0 + 2,472 = 2,472
x2 = 4 2,472 = 1,528

A funo 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 mximo 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. Alm disso, o valor antigo x2 se torna o novo
x1, isto , x1 = 1,528. Mais ainda, no preciso recalcular f (x1) porque este foi determinado na iterao prvia como f (1,528) = 1,765.
Tudo o que resta fazer calcular a nova razo urea e x2,

51
d=
(2,472 0) = 1,528
2
x2 = 2,4721 1,528 = 0,944
O valor da funo em x2 f(0,994) = 1,531. Como esse valor menor que o valor da
funo em x1, o mximo 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)

xu

f (xu)

1,5279

1,7647

2,4721

0,6300

4,0000 3,1136

2,4721

0,9443

1,5310

1,5279

1,7647

2,4721

0,6300

1,5279

0,9443 1,5310

1,5279

1,7647

1,8885

1,5432

2,4721

0,6300

0,9443

0,9443 1,5310

1,3050

1,7595

1,5279

1,7647

1,8885

1,5432

0,5836

1,3050 1,7595

1,5279

1,7647

1,6656

1,7136

1,8885

1,5432

0,3607

1,3050 1,7595

1,4427

1,7755

1,5279

1,7647

1,6656

1,7136

0,2229

1,3050 1,7595

1,3901

1,7742

1,4427

1,7755

1,5279

1,7647

0,1378

1,3901 1,7742

1,4427

1,7755

1,4752

1,7732

1,5279

1,7647

0,0851

13.1 BUSCA DA RAZO UREA

299

Observe que o mximo corrente destacado para cada iterao. Depois da oitava
iterao, o mximo ocorre em x = 1,4427 com o valor da funo de 1,7755. Portanto, o
resultado est convergindo para o valor verdadeiro 1,7757 em x = 1,4276.
Lembre-se de que, para a bisseco (Seo 5.2.1), pode ser calculado um limite superior exato para o erro a cada iterao. Usando um raciocnio anlogo, um limite superior para a busca da razo urea pode ser deduzido da seguinte forma: uma vez que uma
iterao completada, o ponto timo cair em um de dois intervalos. Se x2 for o valor
timo da funo, ele estar no intervalo inferior (xl, x2, x1). Se x1 for o valor timo da
funo, estar no intervalo superior (x2, x1, xu). Como os pontos interiores so simtricos,
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 distncia mxima 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 distncia mxima 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 mximo. O resultado pode ento
ser normalizado para o valor timo para a iterao, xopt, o que fornece


 x u xl 
 100%

a = (1 R) 
xopt 
Essa estimativa proporciona uma base para o trmino das iteraes.
O pseudocdigo para o algoritmo da busca da razo urea para maximizao
apresentado na Figura 13.5a. As pequenas modificaes para converter o algoritmo
para a minimizao esto listadas na Figura 13.5b. Em ambas as verses, o valor de
x para o ponto timo retornado como o valor da funo (aurea). Alm disso, o valor
de f (x) no ponto timo retornado como a varivel f (x).
Voc deve estar imaginando por que foram enfatizados o nmero reduzido de clculos da funo na busca da razo urea. Naturalmente, para resolver uma nica
otimizao, o ganho em velocidade seria desprezvel. Entretanto, existem dois importantes contextos nos quais a minimizao do nmero de clculos da funo pode ser
importante. So eles:
1.

2.

Muitos clculos. H casos em que o algoritmo de busca da razo urea pode ser
uma parte de um clculo muito maior. Nessa situao, o algoritmo pode ser chamado
muitas vezes. Portanto, manter o clculo da funo em um nmero mnimo pode
trazer grandes dividendos para tais casos.
Clculos demorados. Por razes pedaggicas, foram utilizadas funes simples na
maioria dos exemplos. preciso entender que uma funo pode ser muito complexa
e levar muito tempo para ser calculada. Por exemplo, em uma parte posterior deste
livro, ser descrito como a otimizao pode ser utilizada para estimar os parmetros
de um modelo que consiste em um sistema de equaes diferenciais. Para esses
casos, a funo envolve a integrao do modelo, que consome tempo. Qualquer
mtodo que minimize tais clculos seria vantajoso.

OTIMIZAO UNIDIMENSIONAL SEM RESTRIES

300

FIGURA 13.5
Algoritmo para a busca da
seo 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  xd
f2  f1
f1  f(x1)
ELSE
xu  x1
x1  x2
x2  xud
f1  f2
f2  f(x2)
END IF
iter  iter1
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) Maximizao

IF f1  f2 THEN

IF f1  f2 THEN

IF f1  f2 THEN

(b) Minimizao

INTERPOLAO QUADRTICA
A interpolao quadrtica aproveita-se do fato de que um polinmio de segundo grau freqentemente fornece uma boa aproximao 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 funo
quadrtica ou parbola ligando trs pontos. Ento, se houver trs pontos que conjuntamente
delimitem um ponto timo, pode-se ajustar uma parbola aos trs pontos. possvel,

13.2 INTERPOLAO QUADRTICA

f (x)

Aproximao
quadrtica
do mximo

Mximo
verdadeiro
Funo
verdadeira

FIGURA 13.6
Descrio grfica da
interpolao quadrtica.

x0

x1

301

Funo
quadrtica

x3

x2

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 manipulao algbrica 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 so as aproximaes iniciais e x3 o valor de x que corresponde ao mximo valor da funo quadrtica ajustada s aproximaes.

EXEMPLO 13.2

Interpolao Quadrtica
Enunciado do Problema. Use a interpolao quadrtica para aproximar o ponto de
mximo de
f(x) = 2 sen x

x2
10

com aproximaes iniciais x0 = 0, x1 = 1 e x2 = 4.


Soluo.

Os valores da funo nas trs aproximaes so dados por

x0 = 0
x1 = 1
x2 = 4

f(x0 ) = 0
f(x1 ) = 1,5829
f(x2 ) = 3,1136

o que, substituindo na Equao (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 funo de f(1,5055) = 1,7691.


Em seguida, uma estratgia parecida quela da busca da razo urea pode ser empregada para determinar qual ponto deve ser descartado. Uma vez que o valor da funo para
o novo ponto maior do que para o ponto intermedirio (x1) e o novo valor de x est direita do ponto intermedirio, a aproximao inferior (x0) descartada. Portanto, para a
prxima iterao,
x0 = 1
x1 = 1,5055
x2 = 4

f(x0 ) = 1,5829
f(x1 ) = 1,7691
f(x2 ) = 3,1136

OTIMIZAO UNIDIMENSIONAL SEM RESTRIES

302

o que pode ser substitudo na Equao (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 funo de f(1,4903) = 1,7714.
O processo pode ser repetido, com os resultados tabulados a seguir:
i
1
2
3
4
5

x0
0,0000
1,0000
1,0000
1,0000
1,4256

f (x0)
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